From 431d7233c70cfd92bb469b0f7f379d5bc9728b85 Mon Sep 17 00:00:00 2001 From: Robin Salkeld Date: Fri, 26 May 2023 10:07:00 -0700 Subject: [PATCH 01/68] Start on analysis script --- Source/XUnitExtensions/Lit/LitTestCase.cs | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/Source/XUnitExtensions/Lit/LitTestCase.cs b/Source/XUnitExtensions/Lit/LitTestCase.cs index 9b3e96f66a9..67d6478053c 100644 --- a/Source/XUnitExtensions/Lit/LitTestCase.cs +++ b/Source/XUnitExtensions/Lit/LitTestCase.cs @@ -52,7 +52,20 @@ public static void Run(string filePath, LitTestConfiguration config, ITestOutput }); var testCase = Read(filePath, config); - testCase.Execute(outputHelper); + + if (testCase.commands.Any(NonUniformBackendTestCommand)) { + throw new Exception("NON UNIFORM"); + } + // testCase.Execute(outputHelper); + } + + private static bool NonUniformBackendTestCommand(ILitCommand c) { + String s = c.ToString(); + if (s.Contains("/compile:3") || s.Contains("/compile:4") || s.Contains("build")) { + return true; + } + + return false; } public LitTestCase(string filePath, IEnumerable commands, bool expectFailure) { From 558ca9c6c36921044451bec855c02c872ea954b6 Mon Sep 17 00:00:00 2001 From: Robin Salkeld Date: Fri, 26 May 2023 15:41:07 -0700 Subject: [PATCH 02/68] Progress on conversion logic --- Source/IntegrationTests/LitTests.cs | 16 ++++++- Source/TestDafny/MultiBackendTest.cs | 18 ++++++++ Source/XUnitExtensions/Lit/DiffCommand.cs | 14 +++--- .../Lit/LitCommandWithRedirection.cs | 44 +++++++++---------- Source/XUnitExtensions/Lit/LitTestCase.cs | 42 +++++++----------- 5 files changed, 78 insertions(+), 56 deletions(-) diff --git a/Source/IntegrationTests/LitTests.cs b/Source/IntegrationTests/LitTests.cs index 6390b9fb5c2..4237a342f81 100644 --- a/Source/IntegrationTests/LitTests.cs +++ b/Source/IntegrationTests/LitTests.cs @@ -174,7 +174,21 @@ public LitTests(ITestOutputHelper output) { Excludes = new[] { "**/Inputs/**/*", "**/Output/**/*", "libraries/**/*" })] public void LitTest(string path) { - LitTestCase.Run(path, Config, output); + var testCase = LitTestCase.Read(path, Config); + if (testCase.Commands.Any(NonUniformBackendTestCommand)) { + MultiBackendTest.ConvertToMultiBackendTest(testCase); + throw new Exception("NON UNIFORM"); + } + // testCase.Execute(outputHelper); + } + + private static bool NonUniformBackendTestCommand(ILitCommand c) { + String s = c.ToString(); + if (s.Contains("/compile:3") || s.Contains("/compile:4") || s.Contains("build") || s.Contains("run")) { + return true; + } + + return false; } } diff --git a/Source/TestDafny/MultiBackendTest.cs b/Source/TestDafny/MultiBackendTest.cs index 76c514bec88..445f6dd868f 100644 --- a/Source/TestDafny/MultiBackendTest.cs +++ b/Source/TestDafny/MultiBackendTest.cs @@ -225,6 +225,24 @@ private static bool IsAllowedOutputLine(IExecutableBackend backend, string line) $"Compiler rejected feature '{feature}', which is not an element of its UnsupportedFeatures set"); } + public static LitTestCase ConvertToMultiBackendTest(LitTestCase testCase) { + // The last line should be the standard '// RUN: %diff "%s.expect" "%t"' line + var commandList = testCase.Commands.ToList(); + if (commandList[^1] is not LitCommandWithRedirection { Command: DiffCommand diffCommand }) { + throw new ArgumentException("Last command expected to be %diff"); + } + + var expectFile = diffCommand.ExpectedPath; + var expectContent = File.ReadAllText(expectFile); + + // Partition according to the "\nDafny program verifier did not attempt verification/finished with..." lines + var delimiter = new Regex("\nDafny program verifier[^\n]*"); + var chunks = delimiter.Split(expectContent); + Console.Out.Write(chunks); + + return testCase; + } + private int GenerateCompilerTargetSupportTable(FeaturesOptions featuresOptions) { var dafnyOptions = ParseDafnyOptions(featuresOptions.OtherArgs); if (dafnyOptions == null) { diff --git a/Source/XUnitExtensions/Lit/DiffCommand.cs b/Source/XUnitExtensions/Lit/DiffCommand.cs index 281d1ffb72e..125391674c0 100644 --- a/Source/XUnitExtensions/Lit/DiffCommand.cs +++ b/Source/XUnitExtensions/Lit/DiffCommand.cs @@ -11,12 +11,12 @@ namespace XUnitExtensions.Lit { /// public class DiffCommand : ILitCommand { - private readonly string expectedPath; - private readonly string actualPath; + public string ExpectedPath { get; } + public string ActualPath { get; } private DiffCommand(string expectedPath, string actualPath) { - this.expectedPath = expectedPath; - this.actualPath = actualPath; + ExpectedPath = expectedPath; + ActualPath = actualPath; } public static ILitCommand Parse(string[] args) { @@ -30,14 +30,14 @@ public static ILitCommand Parse(string[] args) { public (int, string, string) Execute(TextReader inputReader, TextWriter outputWriter, TextWriter errorWriter) { - var expected = File.ReadAllText(expectedPath); - var actual = File.ReadAllText(actualPath); + var expected = File.ReadAllText(ExpectedPath); + var actual = File.ReadAllText(ActualPath); var diffMessage = AssertWithDiff.GetDiffMessage(expected, actual); return diffMessage == null ? (0, "", "") : (1, diffMessage, ""); } public override string ToString() { - return $"DiffCommand {expectedPath} {actualPath}"; + return $"DiffCommand {ExpectedPath} {ActualPath}"; } } } \ No newline at end of file diff --git a/Source/XUnitExtensions/Lit/LitCommandWithRedirection.cs b/Source/XUnitExtensions/Lit/LitCommandWithRedirection.cs index 51a39441f97..fe8c37416a1 100644 --- a/Source/XUnitExtensions/Lit/LitCommandWithRedirection.cs +++ b/Source/XUnitExtensions/Lit/LitCommandWithRedirection.cs @@ -63,26 +63,26 @@ ILitCommand CreateCommand() { return new LitCommandWithRedirection(new DelayedLitCommand(CreateCommand), inputFile, outputFile, appendOutput, errorFile); } - private readonly ILitCommand command; - private readonly string? inputFile; - private readonly string? outputFile; - private readonly bool append; - private readonly string? errorFile; + public ILitCommand Command; + public string? InputFile; + public string? OutputFile; + public bool Append; + public string? ErrorFile; public LitCommandWithRedirection(ILitCommand command, string? inputFile, string? outputFile, bool append, string? errorFile) { - this.command = command; - this.inputFile = inputFile; - this.outputFile = outputFile; - this.append = append; - this.errorFile = errorFile; + this.Command = command; + this.InputFile = inputFile; + this.OutputFile = outputFile; + this.Append = append; + this.ErrorFile = errorFile; } public (int, string, string) Execute(TextReader inReader, TextWriter outWriter, TextWriter errWriter) { - var inputReader = inputFile != null ? new StreamReader(inputFile) : inReader; - var outputWriter = outputFile != null ? new StreamWriter(outputFile, append) : outWriter; - var errorWriter = errorFile != null ? new StreamWriter(errorFile, append) : errWriter; - var result = command.Execute(inputReader, outputWriter, errorWriter); + var inputReader = InputFile != null ? new StreamReader(InputFile) : inReader; + var outputWriter = OutputFile != null ? new StreamWriter(OutputFile, Append) : outWriter; + var errorWriter = ErrorFile != null ? new StreamWriter(ErrorFile, Append) : errWriter; + var result = Command.Execute(inputReader, outputWriter, errorWriter); inputReader?.Close(); outputWriter?.Close(); errorWriter?.Close(); @@ -100,18 +100,18 @@ protected static IEnumerable ExpandGlobs(string chunk) { public override string ToString() { var builder = new StringBuilder(); - builder.Append(command); - if (inputFile != null) { + builder.Append(Command); + if (InputFile != null) { builder.Append(" < "); - builder.Append(inputFile); + builder.Append(InputFile); } - if (outputFile != null) { - builder.Append(append ? " >> " : " > "); - builder.Append(outputFile); + if (OutputFile != null) { + builder.Append(Append ? " >> " : " > "); + builder.Append(OutputFile); } - if (errorFile != null) { + if (ErrorFile != null) { builder.Append(" 2> "); - builder.Append(errorFile); + builder.Append(ErrorFile); } return builder.ToString(); } diff --git a/Source/XUnitExtensions/Lit/LitTestCase.cs b/Source/XUnitExtensions/Lit/LitTestCase.cs index 67d6478053c..a040341c629 100644 --- a/Source/XUnitExtensions/Lit/LitTestCase.cs +++ b/Source/XUnitExtensions/Lit/LitTestCase.cs @@ -8,11 +8,11 @@ namespace XUnitExtensions.Lit { public class LitTestCase { - private readonly string filePath; - private readonly IEnumerable commands; - private readonly bool expectFailure; + public string FilePath { get; } + public IEnumerable Commands { get; } + public bool ExpectFailure { get; } - public static LitTestCase Read(string filePath, LitTestConfiguration config) { + private static LitTestCase Parse(string filePath, LitTestConfiguration config) { ILitCommand[] commands = File.ReadAllLines(filePath) .Select(line => ILitCommand.Parse(line, config)) .Where(c => c != null) @@ -34,7 +34,7 @@ public static LitTestCase Read(string filePath, LitTestConfiguration config) { return new LitTestCase(filePath, commands, xfail); } - public static void Run(string filePath, LitTestConfiguration config, ITestOutputHelper outputHelper) { + public static LitTestCase Read(string filePath, LitTestConfiguration config) { string fileName = Path.GetFileName(filePath); string? directory = Path.GetDirectoryName(filePath); if (directory == null) { @@ -51,35 +51,25 @@ public static void Run(string filePath, LitTestConfiguration config, ITestOutput {"%t", Path.Join(fullDirectoryPath, "Output", $"{fileName}.tmp")} }); - var testCase = Read(filePath, config); - - if (testCase.commands.Any(NonUniformBackendTestCommand)) { - throw new Exception("NON UNIFORM"); - } - // testCase.Execute(outputHelper); + return Parse(filePath, config); } - private static bool NonUniformBackendTestCommand(ILitCommand c) { - String s = c.ToString(); - if (s.Contains("/compile:3") || s.Contains("/compile:4") || s.Contains("build")) { - return true; - } - - return false; + public static void Run(string filePath, LitTestConfiguration config, ITestOutputHelper outputHelper) { + Read(filePath, config).Execute(outputHelper); } public LitTestCase(string filePath, IEnumerable commands, bool expectFailure) { - this.filePath = filePath; - this.commands = commands; - this.expectFailure = expectFailure; + this.FilePath = filePath; + this.Commands = commands; + this.ExpectFailure = expectFailure; } public void Execute(ITestOutputHelper outputHelper) { - Directory.CreateDirectory(Path.Join(Path.GetDirectoryName(filePath), "Output")); + Directory.CreateDirectory(Path.Join(Path.GetDirectoryName(FilePath), "Output")); // For debugging. Only printed on failure in case the true cause is buried in an earlier command. List<(string, string)> results = new(); - foreach (var command in commands) { + foreach (var command in Commands) { int exitCode; string output; string error; @@ -92,7 +82,7 @@ public void Execute(ITestOutputHelper outputHelper) { throw new Exception($"Exception thrown while executing command: {command}", e); } - if (expectFailure) { + if (ExpectFailure) { if (exitCode != 0) { throw new SkipException( $"Command returned non-zero exit code ({exitCode}): {command}\nOutput:\n{output + outputWriter}\nError:\n{error + errorWriter}"); @@ -113,8 +103,8 @@ public void Execute(ITestOutputHelper outputHelper) { results.Add((output, error)); } - if (expectFailure) { - throw new Exception($"Test case passed but expected to fail: {filePath}"); + if (ExpectFailure) { + throw new Exception($"Test case passed but expected to fail: {FilePath}"); } } } From 5d0c3988457aba0539ebecfe8f57ca508b242019 Mon Sep 17 00:00:00 2001 From: Robin Salkeld Date: Fri, 26 May 2023 16:33:18 -0700 Subject: [PATCH 03/68] More script --- Source/IntegrationTests/LitTests.cs | 14 +++++++++++--- Source/TestDafny/MultiBackendTest.cs | 22 ++++++++++++++++------ Source/XUnitExtensions/Lit/ILitCommand.cs | 12 ++++++------ 3 files changed, 33 insertions(+), 15 deletions(-) diff --git a/Source/IntegrationTests/LitTests.cs b/Source/IntegrationTests/LitTests.cs index 216d0a72ce0..5e48b5da978 100644 --- a/Source/IntegrationTests/LitTests.cs +++ b/Source/IntegrationTests/LitTests.cs @@ -90,8 +90,11 @@ IEnumerable AddExtraArgs(IEnumerable args, IEnumerable l "%testDafnyForEachCompiler", (args, config) => MainMethodLitCommand.Parse(TestDafnyAssembly, new []{ "for-each-compiler" }.Concat(args), config, InvokeMainMethodsDirectly) }, { - "%server", (args, config) => - MainMethodLitCommand.Parse(DafnyServerAssembly, args, config, InvokeMainMethodsDirectly) + "%server", (args, config) => // TODO + { + var shellArguments = new[] { DafnyServerAssembly.Location }.Concat(args); + return new ShellLitCommand("dotnet", shellArguments, config.PassthroughEnvironmentVariables); + } }, { "%boogie", (args, config) => // TODO new DotnetToolCommand("boogie", @@ -173,11 +176,16 @@ public LitTests(ITestOutputHelper output) { public void LitTest(string path) { var testCase = LitTestCase.Read(path, Config); if (testCase.Commands.Any(NonUniformBackendTestCommand)) { - MultiBackendTest.ConvertToMultiBackendTest(testCase); throw new Exception("NON UNIFORM"); } // testCase.Execute(outputHelper); } + + [Fact] + public void ConversionTest() { + var testCase = LitTestCase.Read("TestFiles/LitTests/LitTest/comp/Arrays.dfy", Config); + MultiBackendTest.ConvertToMultiBackendTest(testCase, Config); + } private static bool NonUniformBackendTestCommand(ILitCommand c) { String s = c.ToString(); diff --git a/Source/TestDafny/MultiBackendTest.cs b/Source/TestDafny/MultiBackendTest.cs index 445f6dd868f..6e13e8f9700 100644 --- a/Source/TestDafny/MultiBackendTest.cs +++ b/Source/TestDafny/MultiBackendTest.cs @@ -225,10 +225,13 @@ private static bool IsAllowedOutputLine(IExecutableBackend backend, string line) $"Compiler rejected feature '{feature}', which is not an element of its UnsupportedFeatures set"); } - public static LitTestCase ConvertToMultiBackendTest(LitTestCase testCase) { + public static void ConvertToMultiBackendTest(LitTestCase testCase, LitTestConfiguration config) { // The last line should be the standard '// RUN: %diff "%s.expect" "%t"' line var commandList = testCase.Commands.ToList(); - if (commandList[^1] is not LitCommandWithRedirection { Command: DiffCommand diffCommand }) { + if (commandList[^1] is not LitCommandWithRedirection { Command: DelayedLitCommand delayedLitCommand }) { + throw new ArgumentException("Last command expected to be %diff"); + } + if (delayedLitCommand.Factory() is not DiffCommand diffCommand) { throw new ArgumentException("Last command expected to be %diff"); } @@ -236,11 +239,18 @@ public static LitTestCase ConvertToMultiBackendTest(LitTestCase testCase) { var expectContent = File.ReadAllText(expectFile); // Partition according to the "\nDafny program verifier did not attempt verification/finished with..." lines - var delimiter = new Regex("\nDafny program verifier[^\n]*"); + var delimiter = new Regex("\nDafny program verifier[^\n]*\n"); var chunks = delimiter.Split(expectContent); - Console.Out.Write(chunks); - - return testCase; + var newExpect = chunks.Where(chunk => !string.IsNullOrWhiteSpace(chunk)).First(); + File.WriteAllText(expectFile, newExpect); + + var testFileLines = File.ReadAllLines(testCase.FilePath); + var newLines = new List { + "// RUN: %testDafnyForEachCompiler \"%s\"", + "" + }; + newLines.AddRange(testFileLines.Where(line => ILitCommand.Parse(line, config) == null)); + File.WriteAllLines(testCase.FilePath, newLines); } private int GenerateCompilerTargetSupportTable(FeaturesOptions featuresOptions) { diff --git a/Source/XUnitExtensions/Lit/ILitCommand.cs b/Source/XUnitExtensions/Lit/ILitCommand.cs index 161ad94544c..7d9db2c0fac 100644 --- a/Source/XUnitExtensions/Lit/ILitCommand.cs +++ b/Source/XUnitExtensions/Lit/ILitCommand.cs @@ -14,26 +14,26 @@ public record Token(string Value, Kind Kind); public enum Kind { Verbatim, MustGlob } - class DelayedLitCommand : ILitCommand { - private readonly Func factory; - private ILitCommand? command; + public class DelayedLitCommand : ILitCommand { + public Func Factory { get; } + public ILitCommand? command; public DelayedLitCommand(Func factory) { - this.factory = factory; + this.Factory = factory; } public (int, string, string) Execute(TextReader inputReader, TextWriter outputWriter, TextWriter errorWriter) { if (command == null) { - command = factory(); + command = Factory(); } return command.Execute(inputReader, outputWriter, errorWriter); } public override string? ToString() { if (command == null) { - command = factory(); + command = Factory(); } return command!.ToString(); } From 597891cfc16845442d1b5fd679496715e6b00d74 Mon Sep 17 00:00:00 2001 From: Robin Salkeld Date: Wed, 31 May 2023 11:44:50 -0700 Subject: [PATCH 04/68] Improve conversion script, fix a Java bug --- .../DafnyCore/Compilers/Java/JavaBackend.cs | 2 +- Source/IntegrationTests/LitTests.cs | 203 +++++++++++++++--- Source/TestDafny/MultiBackendTest.cs | 48 ++--- Source/XUnitExtensions/Lit/ILitCommand.cs | 1 + .../Lit/MainMethodLitCommand.cs | 10 +- .../Lit/NonUniformTestCommand.cs | 21 ++ Source/XUnitExtensions/Lit/ShellLitCommand.cs | 8 +- 7 files changed, 223 insertions(+), 70 deletions(-) create mode 100644 Source/XUnitExtensions/Lit/NonUniformTestCommand.cs diff --git a/Source/DafnyCore/Compilers/Java/JavaBackend.cs b/Source/DafnyCore/Compilers/Java/JavaBackend.cs index 9c60abf63ac..a674579166a 100644 --- a/Source/DafnyCore/Compilers/Java/JavaBackend.cs +++ b/Source/DafnyCore/Compilers/Java/JavaBackend.cs @@ -97,7 +97,7 @@ public override bool CompileTargetProgram(string dafnyProgramName, string target if (Options.SpillTargetCode == 0) { Directory.Delete(targetDirectory, true); } else { - classFiles.ForEach(f => File.Delete(f)); + classFiles.ForEach(f => File.Delete(Path.Join(targetDirectory, f))); } } diff --git a/Source/IntegrationTests/LitTests.cs b/Source/IntegrationTests/LitTests.cs index 5e48b5da978..97b45cde01f 100644 --- a/Source/IntegrationTests/LitTests.cs +++ b/Source/IntegrationTests/LitTests.cs @@ -4,7 +4,10 @@ using System.Linq; using System.Reflection; using System.Runtime.InteropServices; +using System.Text.RegularExpressions; using Microsoft.Dafny; +using Microsoft.Extensions.FileSystemGlobbing; +using Microsoft.Extensions.FileSystemGlobbing.Abstractions; using TestDafny; using Xunit; using Xunit.Abstractions; @@ -22,11 +25,15 @@ public class LitTests { // causes errors when invoking the CLI in the same process on multiple inputs in sequence, much less in parallel. private const bool InvokeMainMethodsDirectly = false; + private const bool ConvertNonUniformTests = false; + private static readonly Assembly DafnyDriverAssembly = typeof(Dafny.Dafny).Assembly; private static readonly Assembly TestDafnyAssembly = typeof(TestDafny.MultiBackendTest).Assembly; private static readonly Assembly DafnyServerAssembly = typeof(Server).Assembly; - private static readonly string RepositoryRoot = Path.GetFullPath("../../../../../"); // Up from Source/IntegrationTests/bin/Debug/net6.0/ + private static readonly string + RepositoryRoot = Path.GetFullPath("../../../../../"); // Up from Source/IntegrationTests/bin/Debug/net6.0/ + private static readonly string[] DefaultBoogieArguments = new[] { "/infer:j", "/proverOpt:O:auto_config=false", @@ -51,10 +58,13 @@ IEnumerable AddExtraArgs(IEnumerable args, IEnumerable l } string[] defaultResolveArgs = new[] { "resolve", "--use-basename-for-filename" }; - string[] defaultVerifyArgs = new[] { "verify", "--use-basename-for-filename", "--cores:2", "--verification-time-limit:300" }; + string[] defaultVerifyArgs = new[] + { "verify", "--use-basename-for-filename", "--cores:2", "--verification-time-limit:300" }; //string[] defaultTranslateArgs = new[] { "translate", "--use-basename-for-filename", "--cores:2", "--verification-time-limit:300" }; - string[] defaultBuildArgs = new[] { "build", "--use-basename-for-filename", "--cores:2", "--verification-time-limit:300" }; - string[] defaultRunArgs = new[] { "run", "--use-basename-for-filename", "--cores:2", "--verification-time-limit:300" }; + string[] defaultBuildArgs = new[] + { "build", "--use-basename-for-filename", "--cores:2", "--verification-time-limit:300" }; + string[] defaultRunArgs = new[] + { "run", "--use-basename-for-filename", "--cores:2", "--verification-time-limit:300" }; var substitutions = new Dictionary { { "%diff", "diff" }, @@ -73,7 +83,7 @@ IEnumerable AddExtraArgs(IEnumerable args, IEnumerable l DafnyCommand(AddExtraArgs(defaultResolveArgs, args), config, InvokeMainMethodsDirectly) }, { "%translate", (args, config) => - DafnyCommand(AddExtraArgs(new[]{"translate"}, args), config, InvokeMainMethodsDirectly) + DafnyCommand(AddExtraArgs(new[] { "translate" }, args), config, InvokeMainMethodsDirectly) }, { "%verify", (args, config) => DafnyCommand(AddExtraArgs(defaultVerifyArgs, args), config, InvokeMainMethodsDirectly) @@ -88,7 +98,8 @@ IEnumerable AddExtraArgs(IEnumerable args, IEnumerable l DafnyCommand(AddExtraArgs(DafnyDriver.DefaultArgumentsForTesting, args), config, InvokeMainMethodsDirectly) }, { "%testDafnyForEachCompiler", (args, config) => - MainMethodLitCommand.Parse(TestDafnyAssembly, new []{ "for-each-compiler" }.Concat(args), config, InvokeMainMethodsDirectly) + MainMethodLitCommand.Parse(TestDafnyAssembly, new[] { "for-each-compiler" }.Concat(args), config, + InvokeMainMethodsDirectly) }, { "%server", (args, config) => // TODO { @@ -157,10 +168,12 @@ IEnumerable AddExtraArgs(IEnumerable args, IEnumerable l Config = new LitTestConfiguration(substitutions, commands, features, DafnyDriver.ReferencedEnvironmentVariables); } - public static ILitCommand DafnyCommand(IEnumerable arguments, LitTestConfiguration config, bool invokeDirectly) { + public static ILitCommand DafnyCommand(IEnumerable arguments, LitTestConfiguration config, + bool invokeDirectly) { return invokeDirectly ? new DafnyDriverLitCommand(arguments, config) - : new ShellLitCommand("dotnet", new[] { DafnyDriverAssembly.Location }.Concat(arguments), config.PassthroughEnvironmentVariables); + : new ShellLitCommand("dotnet", new[] { DafnyDriverAssembly.Location }.Concat(arguments), + config.PassthroughEnvironmentVariables); } private readonly ITestOutputHelper output; @@ -170,49 +183,182 @@ public LitTests(ITestOutputHelper output) { } [FileTheory] - [FileData(Includes = new[] { "**/*.dfy", "**/*.transcript" }, - Excludes = new[] { "**/Inputs/**/*", "**/Output/**/*", "libraries/**/*" - })] + [FileData(Directory = "/Users/salkeldr/Documents/GitHub/dafny/Test/comp", + Includes = new[] { "**/*.dfy", "**/*.transcript" }, + Excludes = new[] { + "**/Inputs/**/*", "**/Output/**/*", "libraries/**/*" + })] public void LitTest(string path) { - var testCase = LitTestCase.Read(path, Config); - if (testCase.Commands.Any(NonUniformBackendTestCommand)) { - throw new Exception("NON UNIFORM"); + if (ConvertNonUniformTests) { + ConvertToMultiBackendTestIfNecessary(path); + } else { + LitTestCase.Run(path, Config, output); } - // testCase.Execute(outputHelper); } - [Fact] - public void ConversionTest() { - var testCase = LitTestCase.Read("TestFiles/LitTests/LitTest/comp/Arrays.dfy", Config); - MultiBackendTest.ConvertToMultiBackendTest(testCase, Config); + private static bool NeedsConverting(LitTestCase testCase) { + var allOtherFileExtensions = DafnyOptions.Default.Plugins.SelectMany(plugin => plugin.GetCompilers(DafnyOptions.Default)) + .SelectMany(compiler => compiler.SupportedExtensions).ToHashSet(); + allOtherFileExtensions.Remove(".dfy"); + + foreach (var command in testCase.Commands) { + var leafCommand = GetLeafCommand(command); + + if (leafCommand is NonUniformTestCommand) { + return false; + } + + if (leafCommand is ShellLitCommand slc) { + if (slc.Arguments.Any(arg => allOtherFileExtensions.Any(ext => + arg.EndsWith(ext) && !arg.EndsWith("Dafny.dll")))) { + return false; + } + if (slc.Arguments.Any(arg => arg is "/compile:3" or "/compile:4" or "run")) { + return true; + } + } + } + + return false; } - private static bool NonUniformBackendTestCommand(ILitCommand c) { - String s = c.ToString(); - if (s.Contains("/compile:3") || s.Contains("/compile:4") || s.Contains("build") || s.Contains("run")) { - return true; + public static void ConvertToMultiBackendTestIfNecessary(string path) { + var testCase = LitTestCase.Read(path, Config); + + if (!NeedsConverting(testCase)) { + return; + } + + // TODO: HACK + var wasLegacyCli = testCase.Commands.Any(c => c.ToString().Contains("/compile")); + + bool IgnoreArgument(string arg, string testFilePath) { + if (arg == testFilePath) { + return true; + } + + if (DafnyDriver.NewDefaultArgumentsForTesting.Contains(arg)) { + return true; + } + if (DafnyDriver.DefaultArgumentsForTesting.Contains(arg)) { + return true; + } + + if (arg is "%dafny" or "%basedafny" or "%args" or "verify" or "run" or "--no-verify" or "/noVerify") { + return true; + } + + if (arg.StartsWith("/compile:") || arg.StartsWith("/compileTarget:")) { + return true; + } + if (arg.StartsWith("--target") || arg.StartsWith("-t:") || arg.StartsWith("-t=")) { + return true; + } + + return false; + } + + var commonExtraOptions = new HashSet(); + var extraOptionsLocked = false; + string? expectFile = null; + foreach (var command in testCase.Commands) { + var leafCommand = GetLeafCommand(command); + if (leafCommand is ShellLitCommand slc) { + // Filter out options we can ignore + var options = slc.Arguments[1..].Where(arg => !IgnoreArgument(arg, testCase.FilePath)); + if (extraOptionsLocked) { + foreach (string arg in options) { + if (!commonExtraOptions.Contains(arg)) { + throw new ArgumentException($"Inconsistent option: {arg}"); + } + } + } else { + foreach (var arg in options) { + commonExtraOptions.Add(arg); + } + if (!slc.Arguments.Any(arg => arg is "verify" or "/compile:0")) { + extraOptionsLocked = true; + } + } + } else if (leafCommand is DiffCommand diffCommand) { + // The last line should be the standard '// RUN: %diff "%s.expect" "%t"' line + expectFile = diffCommand.ExpectedPath; + } else { + throw new ArgumentException($"Unrecognized command type: {command}"); + } + } + + if (expectFile == null) { + throw new ArgumentException($"No %diff command found"); + } + var expectContent = File.ReadAllText(expectFile); + + // Partition according to the "\nDafny program verifier did not attempt verification/finished with..." lines + var delimiter = new Regex("\nDafny program verifier[^\n]*\n"); + var chunks = delimiter.Split(expectContent).Where(chunk => !string.IsNullOrWhiteSpace(chunk)); + var newExpect = chunks.FirstOrDefault(""); + var mismatchedChunk = chunks.Where(chunk => chunk != newExpect).FirstOrDefault(); + if (mismatchedChunk != null) { + throw new ArgumentException($"Not all expected outputs match:\n{AssertWithDiff.GetDiffMessage(newExpect, mismatchedChunk)}"); + } + File.WriteAllText(expectFile, newExpect); + + var testFileLines = File.ReadAllLines(testCase.FilePath); + + var multiBackendCommand = "// RUN: %testDafnyForEachCompiler \"%s\""; + var testDafnyExtraArgs = new SortedSet(); + foreach (var extraOption in commonExtraOptions) { + testDafnyExtraArgs.Add(extraOption switch { + "/unicodeChar:0" => "--unicode-char:false", + "/spillTargetCode:2" => "--spill-translation", + "/optimizeErasableDatatypeWrapper:0" => "--optimize-erasable-datatype-wrapper:false", + _ => extraOption + }); + } + if (wasLegacyCli) { + // Accounting for different defaults + testDafnyExtraArgs.Add("--relax-definite-assignment"); + } + if (testDafnyExtraArgs.Any()) { + multiBackendCommand += " -- " + string.Join(" ", testDafnyExtraArgs); } + + var newLines = new List { + multiBackendCommand, + }; + newLines.AddRange(testFileLines.Where(line => ILitCommand.Parse(line, Config) == null)); + File.WriteAllLines(testCase.FilePath, newLines); + } - return false; + private static ILitCommand GetLeafCommand(ILitCommand command) { + if (command is LitCommandWithRedirection lcwr) { + return GetLeafCommand(lcwr.Command); + } + + if (command is DelayedLitCommand dlc) { + return GetLeafCommand(dlc.Factory()); + } + + return command; } } class DafnyDriverLitCommand : ILitCommand { - private readonly string[] arguments; + public string[] Arguments { get; } public DafnyDriverLitCommand(IEnumerable arguments, LitTestConfiguration config) { - this.arguments = arguments.ToArray(); + this.Arguments = arguments.ToArray(); } public (int, string, string) Execute(TextReader inputReader, TextWriter outputWriter, TextWriter errorWriter) { - var exitCode = DafnyDriver.MainWithWriters(outputWriter, errorWriter, inputReader, arguments); + var exitCode = DafnyDriver.MainWithWriters(outputWriter, errorWriter, inputReader, Arguments); return (exitCode, "", ""); } public override string ToString() { - return $"dafny {string.Join(" ", arguments)}"; + return $"dafny {string.Join(" ", Arguments)}"; } } @@ -231,4 +377,3 @@ public MultiBackendLitCommand(IEnumerable arguments, LitTestConfiguratio } } } - diff --git a/Source/TestDafny/MultiBackendTest.cs b/Source/TestDafny/MultiBackendTest.cs index 6e13e8f9700..22263dbb4c7 100644 --- a/Source/TestDafny/MultiBackendTest.cs +++ b/Source/TestDafny/MultiBackendTest.cs @@ -1,4 +1,5 @@ -using System.Reflection; +using System.CommandLine; +using System.Reflection; using System.Text; using System.Text.RegularExpressions; using CommandLine; @@ -25,7 +26,8 @@ public class ForEachCompilerOptions { [Verb("features", HelpText = "Print the Markdown content documenting feature support for each compiler.")] public class FeaturesOptions { - [Value(1)] public IEnumerable OtherArgs { get; set; } = Array.Empty(); + [Value(1)] + public IEnumerable OtherArgs { get; set; } = Array.Empty(); } public class MultiBackendTest { @@ -77,7 +79,7 @@ private int ForEachCompiler(ForEachCompilerOptions options) { var dafnyArgs = new List() { $"verify", options.TestFile! - }.Concat(options.OtherArgs).ToArray(); + }.Concat(options.OtherArgs.Where(OptionAppliesToVerifyCommand)).ToArray(); output.WriteLine("Verifying..."); @@ -120,6 +122,18 @@ private int ForEachCompiler(ForEachCompilerOptions options) { } } + private bool OptionAppliesToVerifyCommand(string option) { + if (option is "--spill-translation") { + return false; + } + + if (option.StartsWith("--optimize-erasable-datatype-wrapper")) { + return false; + } + + return true; + } + private int RunWithCompiler(ForEachCompilerOptions options, IExecutableBackend backend, string expectedOutput) { output.WriteLine($"Executing on {backend.TargetName}..."); var dafnyArgs = new List() { @@ -225,34 +239,6 @@ private static bool IsAllowedOutputLine(IExecutableBackend backend, string line) $"Compiler rejected feature '{feature}', which is not an element of its UnsupportedFeatures set"); } - public static void ConvertToMultiBackendTest(LitTestCase testCase, LitTestConfiguration config) { - // The last line should be the standard '// RUN: %diff "%s.expect" "%t"' line - var commandList = testCase.Commands.ToList(); - if (commandList[^1] is not LitCommandWithRedirection { Command: DelayedLitCommand delayedLitCommand }) { - throw new ArgumentException("Last command expected to be %diff"); - } - if (delayedLitCommand.Factory() is not DiffCommand diffCommand) { - throw new ArgumentException("Last command expected to be %diff"); - } - - var expectFile = diffCommand.ExpectedPath; - var expectContent = File.ReadAllText(expectFile); - - // Partition according to the "\nDafny program verifier did not attempt verification/finished with..." lines - var delimiter = new Regex("\nDafny program verifier[^\n]*\n"); - var chunks = delimiter.Split(expectContent); - var newExpect = chunks.Where(chunk => !string.IsNullOrWhiteSpace(chunk)).First(); - File.WriteAllText(expectFile, newExpect); - - var testFileLines = File.ReadAllLines(testCase.FilePath); - var newLines = new List { - "// RUN: %testDafnyForEachCompiler \"%s\"", - "" - }; - newLines.AddRange(testFileLines.Where(line => ILitCommand.Parse(line, config) == null)); - File.WriteAllLines(testCase.FilePath, newLines); - } - private int GenerateCompilerTargetSupportTable(FeaturesOptions featuresOptions) { var dafnyOptions = ParseDafnyOptions(featuresOptions.OtherArgs); if (dafnyOptions == null) { diff --git a/Source/XUnitExtensions/Lit/ILitCommand.cs b/Source/XUnitExtensions/Lit/ILitCommand.cs index 7d9db2c0fac..78f656fad23 100644 --- a/Source/XUnitExtensions/Lit/ILitCommand.cs +++ b/Source/XUnitExtensions/Lit/ILitCommand.cs @@ -45,6 +45,7 @@ static ILitCommand() { CommandParsers.Add("RUN:", RunCommand.Parse); CommandParsers.Add("UNSUPPORTED:", UnsupportedCommand.Parse); CommandParsers.Add("XFAIL:", XFailCommand.Parse); + CommandParsers.Add("NONUNIFORM:", NonUniformTestCommand.Parse); } public static ILitCommand? Parse(string line, LitTestConfiguration config) { diff --git a/Source/XUnitExtensions/Lit/MainMethodLitCommand.cs b/Source/XUnitExtensions/Lit/MainMethodLitCommand.cs index c4412cc8bb7..461903a2b59 100644 --- a/Source/XUnitExtensions/Lit/MainMethodLitCommand.cs +++ b/Source/XUnitExtensions/Lit/MainMethodLitCommand.cs @@ -9,11 +9,11 @@ namespace XUnitExtensions.Lit { public class MainMethodLitCommand : ILitCommand { private readonly Assembly assembly; - private readonly string[] arguments; + public string[] Arguments { get; } private MainMethodLitCommand(Assembly assembly, string[] arguments) { this.assembly = assembly; - this.arguments = arguments; + this.Arguments = arguments; } public static ILitCommand Parse(Assembly assembly, IEnumerable arguments, LitTestConfiguration config, bool invokeDirectly) { @@ -33,14 +33,14 @@ public static ILitCommand Parse(Assembly assembly, IEnumerable arguments Console.SetError(errorWriter); } - var result = assembly.EntryPoint!.Invoke(null, new object[] { arguments }); + var result = assembly.EntryPoint!.Invoke(null, new object[] { Arguments }); var exitCode = result == null ? 0 : (int)result; return (exitCode, "", ""); } public ILitCommand ToShellCommand(LitTestConfiguration config) { - var shellArguments = new[] { assembly.Location }.Concat(arguments); + var shellArguments = new[] { assembly.Location }.Concat(Arguments); return new ShellLitCommand("dotnet", shellArguments, config.PassthroughEnvironmentVariables); } @@ -48,7 +48,7 @@ public override string ToString() { var builder = new StringBuilder(); builder.Append(assembly.EntryPoint); builder.Append(' '); - builder.AppendJoin(" ", arguments); + builder.AppendJoin(" ", Arguments); return builder.ToString(); } } diff --git a/Source/XUnitExtensions/Lit/NonUniformTestCommand.cs b/Source/XUnitExtensions/Lit/NonUniformTestCommand.cs new file mode 100644 index 00000000000..b1bc3d38937 --- /dev/null +++ b/Source/XUnitExtensions/Lit/NonUniformTestCommand.cs @@ -0,0 +1,21 @@ +using System; +using System.IO; + +namespace XUnitExtensions.Lit; + +public class NonUniformTestCommand : ILitCommand { + private NonUniformTestCommand(string reason) { + Reason = reason; + } + + public string Reason { get; } + + public static ILitCommand Parse(string line, LitTestConfiguration config) { + return new NonUniformTestCommand(line); + } + + public (int, string, string) Execute(TextReader inputReader, + TextWriter outputWriter, TextWriter errorWriter) { + return (0, "", ""); + } +} \ No newline at end of file diff --git a/Source/XUnitExtensions/Lit/ShellLitCommand.cs b/Source/XUnitExtensions/Lit/ShellLitCommand.cs index c6dbd81136b..bf54dd1e500 100644 --- a/Source/XUnitExtensions/Lit/ShellLitCommand.cs +++ b/Source/XUnitExtensions/Lit/ShellLitCommand.cs @@ -9,12 +9,12 @@ namespace XUnitExtensions.Lit { public class ShellLitCommand : ILitCommand { private string shellCommand; - private string[] arguments; + public string[] Arguments { get; } private string[] passthroughEnvironmentVariables; public ShellLitCommand(string shellCommand, IEnumerable arguments, IEnumerable passthroughEnvironmentVariables) { this.shellCommand = shellCommand; - this.arguments = arguments.ToArray(); + this.Arguments = arguments.ToArray(); this.passthroughEnvironmentVariables = passthroughEnvironmentVariables.ToArray(); } @@ -23,7 +23,7 @@ public ShellLitCommand(string shellCommand, IEnumerable arguments, IEnum using var process = new Process(); process.StartInfo.FileName = shellCommand; - foreach (var argument in arguments) { + foreach (var argument in Arguments) { process.StartInfo.ArgumentList.Add(argument); } @@ -126,7 +126,7 @@ public override string ToString() { var builder = new StringBuilder(); builder.Append(shellCommand); builder.Append(' '); - builder.AppendJoin(" ", arguments); + builder.AppendJoin(" ", Arguments); return builder.ToString(); } } From 1b735fa82214db7af54e8ffec9a801275953ddf4 Mon Sep 17 00:00:00 2001 From: Robin Salkeld Date: Wed, 31 May 2023 16:45:09 -0700 Subject: [PATCH 05/68] Handling more options --- Source/IntegrationTests/LitTests.cs | 15 +++++++++++++-- Source/TestDafny/MultiBackendTest.cs | 8 ++++++++ 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/Source/IntegrationTests/LitTests.cs b/Source/IntegrationTests/LitTests.cs index 97b45cde01f..12433eadffc 100644 --- a/Source/IntegrationTests/LitTests.cs +++ b/Source/IntegrationTests/LitTests.cs @@ -183,14 +183,18 @@ public LitTests(ITestOutputHelper output) { } [FileTheory] - [FileData(Directory = "/Users/salkeldr/Documents/GitHub/dafny/Test/comp", + [FileData( Includes = new[] { "**/*.dfy", "**/*.transcript" }, Excludes = new[] { "**/Inputs/**/*", "**/Output/**/*", "libraries/**/*" })] public void LitTest(string path) { if (ConvertNonUniformTests) { - ConvertToMultiBackendTestIfNecessary(path); + // Need to convert the original source path, + // not the copy in the output directory of this project. + var testPath = path.Replace("TestFiles/LitTests/LitTest", ""); + var sourcePath = Path.Join(Environment.GetEnvironmentVariable("TEST_DIR"), testPath); + ConvertToMultiBackendTestIfNecessary(sourcePath); } else { LitTestCase.Run(path, Config, output); } @@ -254,6 +258,10 @@ bool IgnoreArgument(string arg, string testFilePath) { if (arg.StartsWith("--target") || arg.StartsWith("-t:") || arg.StartsWith("-t=")) { return true; } + // TODO: keep these (by always using them in MultiBackendTest) + if (arg.StartsWith("/print") || arg.StartsWith("/dprint") || arg.StartsWith("/rprint")) { + return true; + } return false; } @@ -310,6 +318,9 @@ bool IgnoreArgument(string arg, string testFilePath) { foreach (var extraOption in commonExtraOptions) { testDafnyExtraArgs.Add(extraOption switch { "/unicodeChar:0" => "--unicode-char:false", + "/unicodeChar:1" => "--unicode-char:true", + "/functionSyntax:3" => "--function-syntax:3", + "/functionSyntax:4" => "--function-syntax:4", "/spillTargetCode:2" => "--spill-translation", "/optimizeErasableDatatypeWrapper:0" => "--optimize-erasable-datatype-wrapper:false", _ => extraOption diff --git a/Source/TestDafny/MultiBackendTest.cs b/Source/TestDafny/MultiBackendTest.cs index 22263dbb4c7..a6172553033 100644 --- a/Source/TestDafny/MultiBackendTest.cs +++ b/Source/TestDafny/MultiBackendTest.cs @@ -76,9 +76,17 @@ private int ForEachCompiler(ForEachCompilerOptions options) { // but this was never meaningful and only added maintenance burden. // Here we only ensure that the exit code is 0. + // We also use --print and --print-bpl to catch bugs with valid but unprintable programs. + // string fileName = Path.GetFileName(options.TestFile!); + // var testDir = Path.GetDirectoryName(options.TestFile!); + // var tmpDPrint = Path.Join(testDir, "Output", $"{fileName}.dprint"); + // var tmpPrint = Path.Join(testDir, "Output", $"{fileName}.print"); + var dafnyArgs = new List() { $"verify", options.TestFile! + // $"--print:{tmpDPrint}", + // $"--print-bpl:{tmpPrint}", }.Concat(options.OtherArgs.Where(OptionAppliesToVerifyCommand)).ToArray(); output.WriteLine("Verifying..."); From 20f704cd5534722862ef5bff97c40fae8d223faa Mon Sep 17 00:00:00 2001 From: Robin Salkeld Date: Wed, 31 May 2023 16:47:03 -0700 Subject: [PATCH 06/68] Marking a couple of intentionally non-uniform tests --- Test/comp/JsModule.dfy | 1 + Test/wishlist/GoModule.dfy | 1 + 2 files changed, 2 insertions(+) diff --git a/Test/comp/JsModule.dfy b/Test/comp/JsModule.dfy index 3bcd223b074..e9f40640f44 100644 --- a/Test/comp/JsModule.dfy +++ b/Test/comp/JsModule.dfy @@ -1,3 +1,4 @@ +// NONUNIFORM: Javascript-specific extern test // RUN: %dafny /compile:3 /unicodeChar:0 "%s" /compileTarget:js > "%t" // note: putting /compileTarget:js after "%s" overrides user-provided option // RUN: %diff "%s.expect" "%t" diff --git a/Test/wishlist/GoModule.dfy b/Test/wishlist/GoModule.dfy index d2e6d0da0db..708d58049ae 100644 --- a/Test/wishlist/GoModule.dfy +++ b/Test/wishlist/GoModule.dfy @@ -1,3 +1,4 @@ +// NONUNIFORM: Go-specific extern test // RUN: %exits-with 3 %dafny /compile:3 /unicodeChar:0 /spillTargetCode:2 "%s" /compileTarget:go 2> "%t" // note: putting /compileTarget:go after "%s" overrides user-provided option // RUN: %OutputCheck --file-to-check "%t" "%s" From 786bd6a62d70e2af210b3e51e8fd22b6a1c60e86 Mon Sep 17 00:00:00 2001 From: Robin Salkeld Date: Thu, 1 Jun 2023 11:04:24 -0700 Subject: [PATCH 07/68] Add support for backend-specific exceptions to MultiBackendTest --- Source/TestDafny/MultiBackendTest.cs | 39 +++++++++++++++++-- .../XUnitExtensions/Lit/OutputCheckCommand.cs | 26 +++++++++---- Test/c++/class.dfy.java.check | 3 ++ 3 files changed, 56 insertions(+), 12 deletions(-) create mode 100644 Test/c++/class.dfy.java.check diff --git a/Source/TestDafny/MultiBackendTest.cs b/Source/TestDafny/MultiBackendTest.cs index a6172553033..5a01050ae95 100644 --- a/Source/TestDafny/MultiBackendTest.cs +++ b/Source/TestDafny/MultiBackendTest.cs @@ -103,7 +103,7 @@ private int ForEachCompiler(ForEachCompilerOptions options) { // Then execute the program for each available compiler. string expectFile = options.TestFile + ".expect"; - var expectedOutput = "\nDafny program verifier did not attempt verification\n" + + var commonExpectedOutput = "\nDafny program verifier did not attempt verification\n" + File.ReadAllText(expectFile); var success = true; @@ -114,7 +114,20 @@ private int ForEachCompiler(ForEachCompilerOptions options) { // Such as empty constructors with ensures clauses, generated from iterators continue; } - var result = RunWithCompiler(options, compiler, expectedOutput); + + // Check for backend-specific exceptions (because of known bugs or inconsistencies) + var expectedOutput = commonExpectedOutput; + string? checkFile = null; + var expectFileForBackend = $"{options.TestFile}.{compiler.TargetId}.expect"; + if (File.Exists(expectFileForBackend)) { + expectedOutput = File.ReadAllText(expectFileForBackend); + } + var checkFileForBackend = $"{options.TestFile}.{compiler.TargetId}.check"; + if (File.Exists(checkFileForBackend)) { + checkFile = checkFileForBackend; + } + + var result = RunWithCompiler(options, compiler, expectedOutput, checkFile); if (result != 0) { success = false; } @@ -142,7 +155,7 @@ private bool OptionAppliesToVerifyCommand(string option) { return true; } - private int RunWithCompiler(ForEachCompilerOptions options, IExecutableBackend backend, string expectedOutput) { + private int RunWithCompiler(ForEachCompilerOptions options, IExecutableBackend backend, string expectedOutput, string? checkFile) { output.WriteLine($"Executing on {backend.TargetName}..."); var dafnyArgs = new List() { "run", @@ -163,11 +176,29 @@ private int RunWithCompiler(ForEachCompilerOptions options, IExecutableBackend b return 1; } - // If we hit errors, check for known unsupported features for this compilation target + // If we hit errors, check for known unsupported features or bugs for this compilation target if (error == "" && OnlyUnsupportedFeaturesErrors(backend, outputString)) { return 0; } + if (checkFile != null) { + var outputLines = new List(); + var reader = new StringReader(outputString); + while (reader.ReadLine() is { } line) { + outputLines.Add(line); + } + var checkDirectives = OutputCheckCommand.ParseCheckFile(checkFile); + var (checkResult, checkOutput, checkError) = OutputCheckCommand.Execute(outputLines, checkDirectives); + if (checkResult != 0) { + output.WriteLine($"OutputCheck on {checkFile} failed:"); + output.WriteLine(checkOutput); + output.WriteLine("Error:"); + output.WriteLine(checkError); + } + + return checkResult; + } + output.WriteLine("Execution failed, for reasons other than known unsupported features. Output:"); output.WriteLine(outputString); output.WriteLine("Error:"); diff --git a/Source/XUnitExtensions/Lit/OutputCheckCommand.cs b/Source/XUnitExtensions/Lit/OutputCheckCommand.cs index 3eba773e5a4..f802adba4a3 100644 --- a/Source/XUnitExtensions/Lit/OutputCheckCommand.cs +++ b/Source/XUnitExtensions/Lit/OutputCheckCommand.cs @@ -19,7 +19,7 @@ public class OutputCheckOptions { public readonly record struct OutputCheckCommand(OutputCheckOptions options) : ILitCommand { - private abstract record CheckDirective(string File, int LineNumber) { + public abstract record CheckDirective(string File, int LineNumber) { private static readonly Dictionary> DirectiveParsers = new(); static CheckDirective() { @@ -185,6 +185,14 @@ public static ILitCommand Parse(IEnumerable args, LitTestConfiguration c return result!; } + public static IList ParseCheckFile(string fileName) { + return File.ReadAllLines(fileName) + .Select((line, index) => CheckDirective.Parse(fileName, index + 1, line)) + .Where(e => e != null).Cast() + .Select(e => e!) + .ToList(); + } + public (int, string, string) Execute(TextReader inputReader, TextWriter outputWriter, TextWriter errorWriter) { if (options.FileToCheck == null) { @@ -197,15 +205,15 @@ public static ILitCommand Parse(IEnumerable args, LitTestConfiguration c return (0, "", ""); } - var checkDirectives = File.ReadAllLines(options.CheckFile!) - .Select((line, index) => CheckDirective.Parse(fileName, index + 1, line)) - .Where(e => e != null).Cast() - .Select(e => e!) - .ToList(); + var checkDirectives = ParseCheckFile(options.CheckFile!); if (!checkDirectives.Any()) { return (1, "", $"ERROR: '{fileName}' does not contain any CHECK directives"); } + return Execute(linesToCheck, checkDirectives); + } + + public static (int, string, string) Execute(IEnumerable linesToCheck, IEnumerable checkDirectives) { IEnumerator lineEnumerator = linesToCheck.GetEnumerator(); IEnumerator? notCheckingEnumerator = null; foreach (var directive in checkDirectives) { @@ -215,22 +223,24 @@ public static ILitCommand Parse(IEnumerable args, LitTestConfiguration c notCheckingEnumerator = new CheckingEnumerator(lineEnumerator, line => { if (pattern.IsMatch(line)) { throw new Exception($"Match found for {directive}: {line}"); - }; + } }); } else if (directive is CheckNotLiteral(var _, var _, var literal)) { notCheckingEnumerator = new CheckingEnumerator(lineEnumerator, line => { if (literal == line.Trim()) { throw new Exception($"Match found for {directive}: {line}"); - }; + } }); } else { var enumerator = notCheckingEnumerator ?? lineEnumerator; if (!directive.FindMatch(enumerator)) { return (1, "", $"ERROR: Could not find a match for {directive}"); } + notCheckingEnumerator = null; } } + if (notCheckingEnumerator != null) { // Traverse the rest of the enumerator to make sure the CHECK-NOT[-L] directive is fully tested. while (notCheckingEnumerator.MoveNext()) { } diff --git a/Test/c++/class.dfy.java.check b/Test/c++/class.dfy.java.check new file mode 100644 index 00000000000..0c4285ee1c2 --- /dev/null +++ b/Test/c++/class.dfy.java.check @@ -0,0 +1,3 @@ +// https://github.com/dafny-lang/dafny/issues/4104 +// CHECK: error: expected +// CHECK-NEXT: public class class { From 987250c6e9b378deb7486a7054f1163d51e800b4 Mon Sep 17 00:00:00 2001 From: Robin Salkeld Date: Thu, 1 Jun 2023 11:24:25 -0700 Subject: [PATCH 08/68] More exceptions --- Source/TestDafny/MultiBackendTest.cs | 7 ++++- Test/c++/const.dfy.java.check | 3 +++ Test/c++/datatypes.dfy.go.check | 2 ++ Test/c++/maps.dfy.cpp.expect | 39 ++++++++++++++++++++++++++++ Test/c++/while.dfy.java.check | 3 +++ 5 files changed, 53 insertions(+), 1 deletion(-) create mode 100644 Test/c++/const.dfy.java.check create mode 100644 Test/c++/datatypes.dfy.go.check create mode 100644 Test/c++/maps.dfy.cpp.expect create mode 100644 Test/c++/while.dfy.java.check diff --git a/Source/TestDafny/MultiBackendTest.cs b/Source/TestDafny/MultiBackendTest.cs index 5a01050ae95..93970dfa90b 100644 --- a/Source/TestDafny/MultiBackendTest.cs +++ b/Source/TestDafny/MultiBackendTest.cs @@ -120,7 +120,8 @@ private int ForEachCompiler(ForEachCompilerOptions options) { string? checkFile = null; var expectFileForBackend = $"{options.TestFile}.{compiler.TargetId}.expect"; if (File.Exists(expectFileForBackend)) { - expectedOutput = File.ReadAllText(expectFileForBackend); + expectedOutput = "\nDafny program verifier did not attempt verification\n" + + File.ReadAllText(expectFileForBackend); } var checkFileForBackend = $"{options.TestFile}.{compiler.TargetId}.check"; if (File.Exists(checkFileForBackend)) { @@ -187,6 +188,10 @@ private int RunWithCompiler(ForEachCompilerOptions options, IExecutableBackend b while (reader.ReadLine() is { } line) { outputLines.Add(line); } + reader = new StringReader(error); + while (reader.ReadLine() is { } line) { + outputLines.Add(line); + } var checkDirectives = OutputCheckCommand.ParseCheckFile(checkFile); var (checkResult, checkOutput, checkError) = OutputCheckCommand.Execute(outputLines, checkDirectives); if (checkResult != 0) { diff --git a/Test/c++/const.dfy.java.check b/Test/c++/const.dfy.java.check new file mode 100644 index 00000000000..6c88db90ff7 --- /dev/null +++ b/Test/c++/const.dfy.java.check @@ -0,0 +1,3 @@ +// https://github.com/dafny-lang/dafny/issues/4104 +// CHECK: error: expected +// CHECK-NEXT: public class const { diff --git a/Test/c++/datatypes.dfy.go.check b/Test/c++/datatypes.dfy.go.check new file mode 100644 index 00000000000..ce7cb820f5c --- /dev/null +++ b/Test/c++/datatypes.dfy.go.check @@ -0,0 +1,2 @@ +// https://github.com/dafny-lang/dafny/issues/4114 +// CHECK: Err \(variable of type bool\) is not a type diff --git a/Test/c++/maps.dfy.cpp.expect b/Test/c++/maps.dfy.cpp.expect new file mode 100644 index 00000000000..80642c23257 --- /dev/null +++ b/Test/c++/maps.dfy.cpp.expect @@ -0,0 +1,39 @@ +Identity: This is expected +ValuesIdentity: This is expected +KeyMembership: This is expected +Value1: This is expected +Value2: This is expected +Update Inequality: This is expected +Update Immutable 1: This is expected +Update Immutable 2: This is expected +Update Result: This is expected +Update Others: This is expected +Keys equal: This is expected +Keys membership 1: This is expected +Keys membership 2: This is expected +Keys membership 3: This is expected +Keys membership 4: This is expected +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy NULL +jack NULL NULL +ronald ronald false +true true true false +jack wendy NULL +jack NULL NULL +ronald ronald false diff --git a/Test/c++/while.dfy.java.check b/Test/c++/while.dfy.java.check new file mode 100644 index 00000000000..55eada010e4 --- /dev/null +++ b/Test/c++/while.dfy.java.check @@ -0,0 +1,3 @@ +// https://github.com/dafny-lang/dafny/issues/4104 +// CHECK: error: expected +// CHECK-NEXT: public class while { From ced635e0a35d1693b10c1af64fbc85e3e72a802b Mon Sep 17 00:00:00 2001 From: Robin Salkeld Date: Thu, 1 Jun 2023 14:09:46 -0700 Subject: [PATCH 09/68] Use environment variables to configure, generate exceptions automatically --- Source/IntegrationTests/LitTests.cs | 182 +++++++++++++++++++++------- 1 file changed, 135 insertions(+), 47 deletions(-) diff --git a/Source/IntegrationTests/LitTests.cs b/Source/IntegrationTests/LitTests.cs index 12433eadffc..288c1e8bc80 100644 --- a/Source/IntegrationTests/LitTests.cs +++ b/Source/IntegrationTests/LitTests.cs @@ -8,6 +8,7 @@ using Microsoft.Dafny; using Microsoft.Extensions.FileSystemGlobbing; using Microsoft.Extensions.FileSystemGlobbing.Abstractions; +using Microsoft.Extensions.Logging.Abstractions; using TestDafny; using Xunit; using Xunit.Abstractions; @@ -20,12 +21,7 @@ namespace IntegrationTests { public class LitTests { - // Change this to true in order to debug the execution of commands like %dafny. - // This is false by default because the main dafny CLI implementation currently has shared static state, which - // causes errors when invoking the CLI in the same process on multiple inputs in sequence, much less in parallel. - private const bool InvokeMainMethodsDirectly = false; - - private const bool ConvertNonUniformTests = false; + private static readonly bool InvokeMainMethodsDirectly; private static readonly Assembly DafnyDriverAssembly = typeof(Dafny.Dafny).Assembly; private static readonly Assembly TestDafnyAssembly = typeof(TestDafny.MultiBackendTest).Assembly; @@ -48,6 +44,11 @@ private static readonly string private static readonly LitTestConfiguration Config; static LitTests() { + // Set this to true in order to debug the execution of commands like %dafny. + // This is false by default because the main dafny CLI implementation currently has shared static state, which + // causes errors when invoking the CLI in the same process on multiple inputs in sequence, much less in parallel. + InvokeMainMethodsDirectly = Environment.GetEnvironmentVariable("DAFNY_INTEGRATION_TEST_IN_PROCESS") == "true"; + // Allow extra arguments to Dafny subprocesses. This can be especially // useful for capturing prover logs. var extraDafnyArguments = @@ -189,14 +190,27 @@ public LitTests(ITestOutputHelper output) { "**/Inputs/**/*", "**/Output/**/*", "libraries/**/*" })] public void LitTest(string path) { - if (ConvertNonUniformTests) { - // Need to convert the original source path, - // not the copy in the output directory of this project. - var testPath = path.Replace("TestFiles/LitTests/LitTest", ""); - var sourcePath = Path.Join(Environment.GetEnvironmentVariable("TEST_DIR"), testPath); - ConvertToMultiBackendTestIfNecessary(sourcePath); - } else { - LitTestCase.Run(path, Config, output); + var testPath = path.Replace("TestFiles/LitTests/LitTest", ""); + var uniformTestingMode = Environment.GetEnvironmentVariable("DAFNY_UNIFORM_BACKEND_TESTING_MODE"); + switch (uniformTestingMode) { + case "convert": + // Need to convert the original source path, + // not the copy in the output directory of this project. + var sourcePath = Path.Join(Environment.GetEnvironmentVariable("DAFNY_INTEGRATION_TEST_DIR"), testPath); + ConvertToMultiBackendTestIfNecessary(sourcePath); + return; + case "check": + var testCase = LitTestCase.Read(path, Config); + if (NeedsConverting(testCase)) { + Assert.Fail($"Non-uniform test case: {testPath}\nConvert to using %testDafnyForEachCompiler or add a '// NON-UNIFORM ' command"); + } + break; + case null: + LitTestCase.Run(path, Config, output); + break; + default: + throw new ArgumentException( + $"Unrecognized value of DAFNY_UNIFORM_BACKEND_TESTING_MODE environment variable: {uniformTestingMode}"); } } @@ -212,13 +226,16 @@ private static bool NeedsConverting(LitTestCase testCase) { return false; } - if (leafCommand is ShellLitCommand slc) { - if (slc.Arguments.Any(arg => allOtherFileExtensions.Any(ext => - arg.EndsWith(ext) && !arg.EndsWith("Dafny.dll")))) { - return false; - } - if (slc.Arguments.Any(arg => arg is "/compile:3" or "/compile:4" or "run")) { - return true; + if (leafCommand is ShellLitCommand or DafnyDriverLitCommand) { + var arguments = GetDafnyArguments(leafCommand); + if (arguments != null) { + if (arguments.Any(arg => allOtherFileExtensions.Any(arg.EndsWith))) { + return false; + } + + if (arguments.Any(arg => arg is "/compile:3" or "/compile:4" or "run")) { + return true; + } } } } @@ -226,7 +243,7 @@ private static bool NeedsConverting(LitTestCase testCase) { return false; } - public static void ConvertToMultiBackendTestIfNecessary(string path) { + private static void ConvertToMultiBackendTestIfNecessary(string path) { var testCase = LitTestCase.Read(path, Config); if (!NeedsConverting(testCase)) { @@ -269,30 +286,45 @@ bool IgnoreArgument(string arg, string testFilePath) { var commonExtraOptions = new HashSet(); var extraOptionsLocked = false; string? expectFile = null; + // null is used here to mean /compile:0 or dafny verify + var backends = new List(); foreach (var command in testCase.Commands) { var leafCommand = GetLeafCommand(command); - if (leafCommand is ShellLitCommand slc) { - // Filter out options we can ignore - var options = slc.Arguments[1..].Where(arg => !IgnoreArgument(arg, testCase.FilePath)); - if (extraOptionsLocked) { - foreach (string arg in options) { - if (!commonExtraOptions.Contains(arg)) { - throw new ArgumentException($"Inconsistent option: {arg}"); - } + switch (leafCommand) { + case ShellLitCommand or DafnyDriverLitCommand: { + var arguments = GetDafnyArguments(leafCommand); + if (arguments == null) { + throw new ArgumentException(); } - } else { - foreach (var arg in options) { - commonExtraOptions.Add(arg); - } - if (!slc.Arguments.Any(arg => arg is "verify" or "/compile:0")) { - extraOptionsLocked = true; + + var backend = GetBackendFromCommand(arguments); + backends.Add(backend); + + // Filter out options we can ignore + var options = arguments.Where(arg => !IgnoreArgument(arg, testCase.FilePath)); + if (extraOptionsLocked) { + foreach (string arg in options) { + if (!commonExtraOptions.Contains(arg)) { + throw new ArgumentException($"Inconsistent option: {arg}"); + } + } + } else { + foreach (var arg in options) { + commonExtraOptions.Add(arg); + } + if (backend != null) { + extraOptionsLocked = true; + } } + + break; } - } else if (leafCommand is DiffCommand diffCommand) { - // The last line should be the standard '// RUN: %diff "%s.expect" "%t"' line - expectFile = diffCommand.ExpectedPath; - } else { - throw new ArgumentException($"Unrecognized command type: {command}"); + case DiffCommand diffCommand: + // The last line should be the standard '// RUN: %diff "%s.expect" "%t"' line + expectFile = diffCommand.ExpectedPath; + break; + default: + throw new ArgumentException($"Unrecognized command type: {command}"); } } @@ -303,13 +335,28 @@ bool IgnoreArgument(string arg, string testFilePath) { // Partition according to the "\nDafny program verifier did not attempt verification/finished with..." lines var delimiter = new Regex("\nDafny program verifier[^\n]*\n"); - var chunks = delimiter.Split(expectContent).Where(chunk => !string.IsNullOrWhiteSpace(chunk)); - var newExpect = chunks.FirstOrDefault(""); - var mismatchedChunk = chunks.Where(chunk => chunk != newExpect).FirstOrDefault(); - if (mismatchedChunk != null) { - throw new ArgumentException($"Not all expected outputs match:\n{AssertWithDiff.GetDiffMessage(newExpect, mismatchedChunk)}"); + var chunks = delimiter.Split(expectContent).Skip(1).ToArray(); + if (chunks.Length != backends.Count) { + throw new ArgumentException(); + } + + string? verifierChunk = null; + string? commonExpectChunk = null; + var exceptions = false; + foreach (var (backend, chunk) in backends.Zip(chunks)) { + if (backend == null) { + verifierChunk = chunk; + } else { + if (commonExpectChunk == null) { + commonExpectChunk = chunk; + } else if (commonExpectChunk != chunk) { + var exceptionPath = $"{path}.{backend}.expect"; + File.WriteAllText(exceptionPath, chunk); + exceptions = true; + } + } } - File.WriteAllText(expectFile, newExpect); + File.WriteAllText(expectFile, commonExpectChunk); var testFileLines = File.ReadAllLines(testCase.FilePath); @@ -338,6 +385,11 @@ bool IgnoreArgument(string arg, string testFilePath) { multiBackendCommand, }; newLines.AddRange(testFileLines.Where(line => ILitCommand.Parse(line, Config) == null)); + if (exceptions) { + // This is by far the most common source of inconsistent output. + newLines.Insert(0, "// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108"); + } + File.WriteAllLines(testCase.FilePath, newLines); } @@ -352,6 +404,42 @@ private static ILitCommand GetLeafCommand(ILitCommand command) { return command; } + + private static IEnumerable? GetDafnyArguments(ILitCommand command) { + switch (command) { + case ShellLitCommand slc: + if (slc.Arguments.Length >= 2 && slc.Arguments[0] == "dotnet" && slc.Arguments[1].EndsWith("Dafny.dll")) { + return slc.Arguments[2..]; + } else { + return null; + } + case DafnyDriverLitCommand ddlc: + return ddlc.Arguments; + default: + return null; + } + } + + private static string? GetBackendFromCommand(IEnumerable arguments) { + + if (arguments.Any(arg => arg is "/compile:0" or "verify")) { + return null; + } + + var patterns = new[] { + new Regex("--target[:=]([^\\s]*)"), + new Regex("-t[:=]([^\\s]*)"), + new Regex("/compileTarget:([^\\s]*)"), + }; + foreach (var pattern in patterns) { + var match = arguments.Select(arg => pattern.Match(arg)).SingleOrDefault(m => m.Success); + if (match != null) { + return match.Groups[1].Value; + } + } + + return "cs"; + } } class DafnyDriverLitCommand : ILitCommand { From a68fc8581d88496b657494102ac73f418e6a79d5 Mon Sep 17 00:00:00 2001 From: Robin Salkeld Date: Thu, 1 Jun 2023 15:02:19 -0700 Subject: [PATCH 10/68] Better error message --- Source/IntegrationTests/LitTests.cs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Source/IntegrationTests/LitTests.cs b/Source/IntegrationTests/LitTests.cs index 288c1e8bc80..a0d1009731e 100644 --- a/Source/IntegrationTests/LitTests.cs +++ b/Source/IntegrationTests/LitTests.cs @@ -298,6 +298,9 @@ bool IgnoreArgument(string arg, string testFilePath) { } var backend = GetBackendFromCommand(arguments); + if (backends.Contains(backend)) { + throw new ArgumentException($"More than one command for the same backend: {backend}"); + } backends.Add(backend); // Filter out options we can ignore From 7949f08ce606605778c6e7f086c1fde40824b562 Mon Sep 17 00:00:00 2001 From: Robin Salkeld Date: Thu, 1 Jun 2023 16:31:37 -0700 Subject: [PATCH 11/68] Handle warnings --- .gitmodules | 3 --- Source/IntegrationTests/LitTests.cs | 20 ++++++++++++-------- Source/TestDafny/MultiBackendTest.cs | 14 ++++++++++++++ 3 files changed, 26 insertions(+), 11 deletions(-) diff --git a/.gitmodules b/.gitmodules index 90ba01b0d54..e69de29bb2d 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +0,0 @@ -[submodule "Test/libraries"] - path = Test/libraries - url = https://github.com/dafny-lang/libraries.git diff --git a/Source/IntegrationTests/LitTests.cs b/Source/IntegrationTests/LitTests.cs index a0d1009731e..299141d38d4 100644 --- a/Source/IntegrationTests/LitTests.cs +++ b/Source/IntegrationTests/LitTests.cs @@ -205,7 +205,7 @@ public void LitTest(string path) { Assert.Fail($"Non-uniform test case: {testPath}\nConvert to using %testDafnyForEachCompiler or add a '// NON-UNIFORM ' command"); } break; - case null: + case null or "": LitTestCase.Run(path, Config, output); break; default: @@ -338,23 +338,27 @@ bool IgnoreArgument(string arg, string testFilePath) { // Partition according to the "\nDafny program verifier did not attempt verification/finished with..." lines var delimiter = new Regex("\nDafny program verifier[^\n]*\n"); + // TODO: why skip(1)? var chunks = delimiter.Split(expectContent).Skip(1).ToArray(); if (chunks.Length != backends.Count) { throw new ArgumentException(); } + string verifierChunk = chunks.First(); + if (!string.IsNullOrWhiteSpace(verifierChunk)) { + var verifierExpectPath = $"{path}.verifier.expect"; + File.WriteAllText(verifierExpectPath, verifierChunk); - string? verifierChunk = null; + } string? commonExpectChunk = null; var exceptions = false; foreach (var (backend, chunk) in backends.Zip(chunks)) { - if (backend == null) { - verifierChunk = chunk; - } else { + if (backend != null) { + var expectedChunk = chunk.Replace(verifierChunk, ""); if (commonExpectChunk == null) { - commonExpectChunk = chunk; - } else if (commonExpectChunk != chunk) { + commonExpectChunk = expectedChunk; + } else if (commonExpectChunk != expectedChunk) { var exceptionPath = $"{path}.{backend}.expect"; - File.WriteAllText(exceptionPath, chunk); + File.WriteAllText(exceptionPath, expectedChunk); exceptions = true; } } diff --git a/Source/TestDafny/MultiBackendTest.cs b/Source/TestDafny/MultiBackendTest.cs index 93970dfa90b..9a20673fa73 100644 --- a/Source/TestDafny/MultiBackendTest.cs +++ b/Source/TestDafny/MultiBackendTest.cs @@ -99,6 +99,20 @@ private int ForEachCompiler(ForEachCompilerOptions options) { output.WriteLine(error); return exitCode; } + var expectFileForVerifier = $"{options.TestFile}.verifier.expect"; + if (File.Exists(expectFileForVerifier)) { + var expectedOutput = File.ReadAllText(expectFileForVerifier); + // Chop off the "Dafny program verifier finished with..." trailer + var trailer = new Regex("\nDafny program verifier[^\n]*\n").Match(outputString); + var actualOutput = outputString.Remove(trailer.Index, trailer.Length); + var diffMessage = AssertWithDiff.GetDiffMessage(expectedOutput, actualOutput); + if (diffMessage == null) { + return 0; + } + + output.WriteLine(diffMessage); + return 1; + } // Then execute the program for each available compiler. From 98fd7430312f9a3363b2031be55fe5af7aa2b3c3 Mon Sep 17 00:00:00 2001 From: Robin Salkeld Date: Thu, 1 Jun 2023 21:23:19 -0700 Subject: [PATCH 12/68] Fix for first chunk --- Source/IntegrationTests/LitTests.cs | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/Source/IntegrationTests/LitTests.cs b/Source/IntegrationTests/LitTests.cs index 299141d38d4..fceee21a44f 100644 --- a/Source/IntegrationTests/LitTests.cs +++ b/Source/IntegrationTests/LitTests.cs @@ -343,17 +343,21 @@ bool IgnoreArgument(string arg, string testFilePath) { if (chunks.Length != backends.Count) { throw new ArgumentException(); } - string verifierChunk = chunks.First(); - if (!string.IsNullOrWhiteSpace(verifierChunk)) { - var verifierExpectPath = $"{path}.verifier.expect"; - File.WriteAllText(verifierExpectPath, verifierChunk); + string? verifierChunk = null; + if (backends.First() == null) { + verifierChunk = chunks.First(); + if (!string.IsNullOrWhiteSpace(verifierChunk)) { + var verifierExpectPath = $"{path}.verifier.expect"; + File.WriteAllText(verifierExpectPath, verifierChunk); + } } + string? commonExpectChunk = null; var exceptions = false; foreach (var (backend, chunk) in backends.Zip(chunks)) { if (backend != null) { - var expectedChunk = chunk.Replace(verifierChunk, ""); + var expectedChunk = string.IsNullOrWhiteSpace(verifierChunk) ? chunk : chunk.Replace(verifierChunk, ""); if (commonExpectChunk == null) { commonExpectChunk = expectedChunk; } else if (commonExpectChunk != expectedChunk) { From 6f4d1c1383b6412e9dd16eaffcb6503c073257b5 Mon Sep 17 00:00:00 2001 From: Robin Salkeld Date: Thu, 1 Jun 2023 21:23:32 -0700 Subject: [PATCH 13/68] Converting all tests --- Test/VerifyThis2015/Problem1.dfy | 3 +- Test/VerifyThis2015/Problem1.dfy.expect | 2 - Test/VerifyThis2015/Problem2.dfy | 3 +- Test/VerifyThis2015/Problem2.dfy.expect | 2 - Test/VerifyThis2015/Problem3.dfy | 3 +- Test/VerifyThis2015/Problem3.dfy.expect | 2 - Test/c++/arrays.dfy | 3 +- Test/c++/arrays.dfy.expect | 2 - Test/c++/bit-vectors.dfy | 3 +- Test/c++/bit-vectors.dfy.expect | 2 - Test/c++/class.dfy | 3 +- Test/c++/class.dfy.expect | 2 - Test/c++/const.dfy | 3 +- Test/c++/const.dfy.expect | 2 - Test/c++/datatypes.dfy | 3 +- Test/c++/datatypes.dfy.expect | 2 - Test/c++/generic.dfy | 3 +- Test/c++/generic.dfy.expect | 2 - Test/c++/hello.dfy | 3 +- Test/c++/hello.dfy.expect | 2 - Test/c++/ints.dfy | 3 +- Test/c++/ints.dfy.expect | 2 - Test/c++/maps.dfy | 3 +- Test/c++/maps.dfy.expect | 2 - Test/c++/recursion.dfy | 3 +- Test/c++/recursion.dfy.expect | 2 - Test/c++/returns.dfy | 3 +- Test/c++/returns.dfy.expect | 2 - Test/c++/seqs.dfy | 3 +- Test/c++/seqs.dfy.expect | 2 - Test/c++/sets.dfy | 3 +- Test/c++/sets.dfy.expect | 2 - Test/c++/while.dfy | 3 +- Test/c++/while.dfy.expect | 2 - Test/comp/Arrays.dfy | 9 +- Test/comp/Arrays.dfy.expect | 396 ------------ Test/comp/Arrays.dfy.go.expect | 96 +++ Test/comp/AsIs-Compile.dfy | 8 +- Test/comp/AsIs-Compile.dfy.expect | 160 ----- Test/comp/AutoInit.dfy | 8 +- Test/comp/AutoInit.dfy.expect | 160 ----- Test/comp/ByMethodCompilation.dfy | 8 +- Test/comp/ByMethodCompilation.dfy.expect | 32 - Test/comp/Calls.dfy | 8 +- Test/comp/Calls.dfy.expect | 40 -- Test/comp/Class.dfy | 8 +- Test/comp/Class.dfy.expect | 72 --- Test/comp/Collections.dfy | 9 +- Test/comp/Collections.dfy.expect | 512 ---------------- Test/comp/Collections.dfy.go.expect | 125 ++++ Test/comp/Collections.dfy.java.expect | 125 ++++ Test/comp/Collections.dfy.js.expect | 125 ++++ Test/comp/Collections.dfy.py.expect | 125 ++++ Test/comp/Comprehensions.dfy | 9 +- Test/comp/Comprehensions.dfy.expect | 260 -------- Test/comp/Comprehensions.dfy.py.expect | 62 ++ Test/comp/ComprehensionsNewSyntax.dfy | 9 +- Test/comp/ComprehensionsNewSyntax.dfy.expect | 148 ----- .../ComprehensionsNewSyntax.dfy.py.expect | 34 ++ Test/comp/CovariantCollections.dfy | 8 +- Test/comp/CovariantCollections.dfy.expect | 220 ------- Test/comp/Datatype.dfy | 9 +- Test/comp/Datatype.dfy.expect | 100 --- Test/comp/Datatype.dfy.java.expect | 22 + Test/comp/Datatype.dfy.py.expect | 22 + Test/comp/DefaultParameters-Compile.dfy | 8 +- .../comp/DefaultParameters-Compile.dfy.expect | 48 -- Test/comp/DowncastClone.dfy | 8 +- Test/comp/DowncastClone.dfy.expect | 40 -- Test/comp/ErasableTypeWrappers.dfy | 8 +- Test/comp/ErasableTypeWrappers.dfy.expect | 84 --- Test/comp/EuclideanDivision.dfy | 8 +- Test/comp/EuclideanDivision.dfy.expect | 36 -- Test/comp/ForLoops-Compilation.dfy | 8 +- Test/comp/ForLoops-Compilation.dfy.expect | 200 ------ Test/comp/ForallNewSyntax.dfy | 8 +- Test/comp/ForallNewSyntax.dfy.expect | 180 ------ Test/comp/Ghosts.dfy | 8 +- Test/comp/Ghosts.dfy.expect | 52 -- Test/comp/Let.dfy | 7 +- Test/comp/Let.dfy.expect | 34 -- Test/comp/MoreAutoInit.dfy | 8 +- Test/comp/MoreAutoInit.dfy.expect | 572 ------------------ Test/comp/NativeNumbers.dfy | 7 +- Test/comp/NativeNumbers.dfy.expect | 256 -------- Test/comp/NestedArrays.dfy | 7 +- Test/comp/NestedArrays.dfy.expect | 16 - Test/comp/Numbers.dfy | 9 +- Test/comp/Numbers.dfy.expect | 456 -------------- Test/comp/Numbers.dfy.go.expect | 111 ++++ Test/comp/Numbers.dfy.py.expect | 111 ++++ Test/comp/Poly.dfy | 9 +- Test/comp/Poly.dfy.expect | 60 -- Test/comp/Poly.dfy.go.expect | 12 + Test/comp/Poly.dfy.py.expect | 12 + Test/comp/Print.dfy | 8 +- Test/comp/Print.dfy.expect | 34 -- Test/comp/Print.dfy.go.expect | 8 + Test/comp/Print.dfy.java.expect | 8 + Test/comp/Print.dfy.js.expect | 8 + Test/comp/StaticMembersOfGenericTypes.dfy | 8 +- .../StaticMembersOfGenericTypes.dfy.expect | 76 --- Test/comp/TailRecursion.dfy | 8 +- Test/comp/TailRecursion.dfy.expect | 76 --- Test/comp/TypeDescriptors.dfy | 8 +- Test/comp/TypeDescriptors.dfy.expect | 152 ----- Test/comp/TypeParams.dfy | 11 +- Test/comp/TypeParams.dfy.expect | 88 --- Test/comp/TypeParams.dfy.go.expect | 19 + Test/comp/TypeParams.dfy.java.expect | 19 + Test/comp/TypeParams.dfy.js.expect | 19 + Test/comp/TypeParams.dfy.py.expect | 19 + Test/comp/UnoptimizedErasableTypeWrappers.dfy | 8 +- ...UnoptimizedErasableTypeWrappers.dfy.expect | 28 - Test/comp/Variance.dfy | 8 +- Test/comp/Variance.dfy.expect | 64 -- Test/comp/Various.dfy | 8 +- Test/comp/Various.dfy.expect | 40 -- Test/comp/firstSteps/0_IKnowThisMuchIs.dfy | 4 +- .../firstSteps/0_IKnowThisMuchIs.dfy.expect | 4 - Test/comp/firstSteps/1_Calls-F.dfy | 4 +- Test/comp/firstSteps/1_Calls-F.dfy.expect | 4 - Test/comp/firstSteps/2_Modules.dfy | 4 +- Test/comp/firstSteps/2_Modules.dfy.expect | 4 - Test/comp/firstSteps/3_Calls-As.dfy | 4 +- Test/comp/firstSteps/3_Calls-As.dfy.expect | 4 - .../4_Calls-FunctionsValues-Class+NT.dfy | 4 +- ..._Calls-FunctionsValues-Class+NT.dfy.expect | 4 - .../firstSteps/5_Calls-FunctionsValues-Dt.dfy | 4 +- .../5_Calls-FunctionsValues-Dt.dfy.expect | 4 - .../firstSteps/6_Calls-VariableCapture.dfy | 4 +- .../6_Calls-VariableCapture.dfy.expect | 4 - Test/comp/firstSteps/7_Arrays.dfy | 4 +- Test/comp/firstSteps/7_Arrays.dfy.expect | 4 - Test/comp/firstSteps/7_Dt_Algebraic.dfy | 6 +- .../firstSteps/7_Dt_Algebraic.dfy.cs.expect | 11 + .../comp/firstSteps/7_Dt_Algebraic.dfy.expect | 17 - Test/dafny0/ArrayElementInitCompile.dfy | 8 +- .../dafny0/ArrayElementInitCompile.dfy.expect | 76 --- Test/dafny0/Bitvectors.dfy | 5 +- Test/dafny0/Bitvectors.dfy.expect | 490 --------------- Test/dafny0/Compilation.dfy | 3 +- Test/dafny0/Compilation.dfy.expect | 2 - Test/dafny0/Constant.dfy | 3 +- Test/dafny0/Constant.dfy.expect | 2 - Test/dafny0/Deprecation.dfy | 3 +- Test/dafny0/Deprecation.dfy.expect | 7 - Test/dafny0/DiscoverBounds.dfy | 3 +- Test/dafny0/DiscoverBounds.dfy.expect | 7 - Test/dafny0/DividedConstructors.dfy | 3 +- Test/dafny0/DividedConstructors.dfy.expect | 186 ------ Test/dafny0/EqualityTypesCompile.dfy | 3 +- Test/dafny0/EqualityTypesCompile.dfy.expect | 2 - Test/dafny0/ForallCompilation.dfy | 3 +- Test/dafny0/ForallCompilation.dfy.expect | 2 - Test/dafny0/ForallCompilationNewSyntax.dfy | 3 +- .../ForallCompilationNewSyntax.dfy.expect | 6 - Test/dafny0/GhostGuards.dfy | 3 +- Test/dafny0/GhostGuards.dfy.expect | 7 - Test/dafny0/GhostITECompilation.dfy | 8 +- Test/dafny0/GhostITECompilation.dfy.expect | 28 - Test/dafny0/InitialValues.dfy | 3 +- Test/dafny0/InitialValues.dfy.expect | 2 - Test/dafny0/MatchBraces.dfy | 5 +- Test/dafny0/MatchBraces.dfy.expect | 133 ---- Test/dafny0/MoForallCompilation.dfy | 3 +- Test/dafny0/MoForallCompilation.dfy.expect | 2 - Test/dafny0/NameclashesCompile.dfy | 3 +- Test/dafny0/NameclashesCompile.dfy.expect | 2 - Test/dafny0/NonZeroInitializationCompile.dfy | 7 +- .../NonZeroInitializationCompile.dfy.expect | 73 --- Test/dafny0/NullComparisonWarnings.dfy | 3 +- Test/dafny0/NullComparisonWarnings.dfy.expect | 13 - Test/dafny0/PrintUTF8.dfy | 3 +- Test/dafny0/PrintUTF8.dfy.expect | 2 - Test/dafny0/RangeCompilation.dfy | 3 +- Test/dafny0/RangeCompilation.dfy.expect | 2 - Test/dafny0/SeqFromArray.dfy | 3 +- Test/dafny0/SeqFromArray.dfy.expect | 2 - Test/dafny0/SharedDestructorsCompile.dfy | 5 +- .../SharedDestructorsCompile.dfy.expect | 17 - Test/dafny0/SiblingImports.dfy | 3 +- Test/dafny0/SiblingImports.dfy.expect | 2 - Test/dafny0/TypeConversionsCompile.dfy | 3 +- Test/dafny0/TypeConversionsCompile.dfy.expect | 225 ------- Test/dafny0/TypeMembers.dfy | 5 +- Test/dafny0/TypeMembers.dfy.expect | 29 - Test/dafny0/TypeMembers.dfy.verifier.expect | 1 + Test/dafny0/Wellfounded.dfy | 3 +- Test/dafny0/Wellfounded.dfy.expect | 4 - Test/dafny2/MinWindowMax.dfy | 3 +- Test/dafny2/MinWindowMax.dfy.expect | 2 - .../SmallestMissingNumber-functional.dfy | 3 +- ...mallestMissingNumber-functional.dfy.expect | 3 - .../SmallestMissingNumber-imperative.dfy | 3 +- ...mallestMissingNumber-imperative.dfy.expect | 2 - Test/dafny2/StoreAndRetrieve.dfy | 7 +- Test/dafny2/StoreAndRetrieve.dfy.expect | 38 -- .../StoreAndRetrieve.dfy.verifier.expect | 5 + Test/dafny2/Z-BirthdayBook.dfy | 3 +- Test/dafny2/Z-BirthdayBook.dfy.expect | 2 - Test/dafny2/pq-intrinsic-extrinsic.dfy | 5 +- Test/dafny2/pq-intrinsic-extrinsic.dfy.expect | 11 - Test/dafny3/Abstemious.dfy | 3 +- Test/dafny3/Abstemious.dfy.expect | 2 - Test/dafny3/CachedContainer.dfy | 7 +- Test/dafny3/CachedContainer.dfy.expect | 78 --- .../CachedContainer.dfy.verifier.expect | 13 + Test/dafny3/Iter.dfy | 3 +- Test/dafny3/Iter.dfy.expect | 2 - Test/dafny4/Ackermann.dfy | 3 +- Test/dafny4/Ackermann.dfy.expect | 4 - Test/dafny4/Bug107.dfy | 3 +- Test/dafny4/Bug107.dfy.expect | 2 - Test/dafny4/Bug108.dfy | 3 +- Test/dafny4/Bug108.dfy.expect | 2 - Test/dafny4/Bug113.dfy | 5 +- Test/dafny4/Bug113.dfy.expect | 2 - Test/dafny4/Bug116.dfy | 3 +- Test/dafny4/Bug116.dfy.expect | 2 - Test/dafny4/Bug140.dfy | 3 +- Test/dafny4/Bug140.dfy.expect | 2 - Test/dafny4/Bug148.dfy | 3 +- Test/dafny4/Bug148.dfy.expect | 2 - Test/dafny4/Bug49.dfy | 3 +- Test/dafny4/Bug49.dfy.expect | 2 - Test/dafny4/Bug60.dfy | 3 +- Test/dafny4/Bug60.dfy.expect | 2 - Test/dafny4/Bug67.dfy | 5 +- Test/dafny4/Bug67.dfy.expect | 2 - Test/dafny4/Bug68.dfy | 5 +- Test/dafny4/Bug68.dfy.expect | 2 - Test/dafny4/Bug89.dfy | 5 +- Test/dafny4/Bug89.dfy.expect | 2 - Test/dafny4/Bug94.dfy | 3 +- Test/dafny4/Bug94.dfy.expect | 2 - Test/dafny4/ClassRefinement.dfy | 7 +- Test/dafny4/ClassRefinement.dfy.expect | 43 -- .../ClassRefinement.dfy.verifier.expect | 6 + Test/dafny4/ExpandedGuardedness.dfy | 3 +- Test/dafny4/ExpandedGuardedness.dfy.expect | 2 - Test/dafny4/FlyingRobots.dfy | 3 +- Test/dafny4/FlyingRobots.dfy.expect | 2 - Test/dafny4/Leq.dfy | 3 +- Test/dafny4/Leq.dfy.expect | 2 - Test/dafny4/McCarthy91.dfy | 3 +- Test/dafny4/McCarthy91.dfy.expect | 2 - Test/dafny4/NatList.dfy | 3 +- Test/dafny4/NatList.dfy.expect | 2 - Test/dafny4/Regression15.dfy | 3 +- Test/dafny4/Regression15.dfy.expect | 2 - Test/dafny4/Regression2.dfy | 3 +- Test/dafny4/Regression2.dfy.expect | 2 - Test/dafny4/Regression3.dfy | 3 +- Test/dafny4/Regression3.dfy.expect | 2 - Test/dafny4/Regression4.dfy | 3 +- Test/dafny4/Regression4.dfy.expect | 2 - Test/dafny4/Regression6.dfy | 3 +- Test/dafny4/Regression6.dfy.expect | 2 - Test/dafny4/Regression7.dfy | 3 +- Test/dafny4/Regression7.dfy.expect | 2 - Test/dafny4/Regression9.dfy | 3 +- Test/dafny4/Regression9.dfy.expect | 2 - Test/dafny4/UnionFind.dfy | 3 +- Test/dafny4/UnionFind.dfy.expect | 2 - Test/dafny4/gcd.dfy | 7 +- Test/dafny4/gcd.dfy.expect | 31 - Test/dafny4/git-issue104.dfy | 8 +- Test/dafny4/git-issue104.dfy.expect | 16 - Test/dafny4/git-issue105.dfy | 3 +- Test/dafny4/git-issue105.dfy.expect | 2 - Test/dafny4/git-issue15.dfy | 3 +- Test/dafny4/git-issue15.dfy.expect | 2 - Test/dafny4/git-issue167.dfy | 3 +- Test/dafny4/git-issue167.dfy.expect | 2 - Test/dafny4/git-issue195.dfy | 3 +- Test/dafny4/git-issue195.dfy.expect | 2 - Test/dafny4/git-issue196.dfy | 3 +- Test/dafny4/git-issue196.dfy.expect | 2 - Test/dafny4/git-issue4.dfy | 3 +- Test/dafny4/git-issue4.dfy.expect | 2 - Test/dafny4/git-issue43.dfy | 3 +- Test/dafny4/git-issue43.dfy.expect | 2 - Test/dafny4/git-issue70.dfy | 3 +- Test/dafny4/git-issue70.dfy.expect | 2 - Test/dafny4/git-issue76.dfy | 5 +- Test/dafny4/git-issue76.dfy.expect | 7 - Test/dafny4/git-issue79.dfy | 3 +- Test/dafny4/git-issue79.dfy.expect | 2 - Test/dafny4/git-issue88.dfy | 3 +- Test/dafny4/git-issue88.dfy.expect | 2 - Test/exceptions/Exceptions1.dfy | 3 +- Test/exceptions/Exceptions1.dfy.expect | 2 - Test/exceptions/Exceptions1Expressions.dfy | 3 +- .../Exceptions1Expressions.dfy.expect | 2 - Test/exports/FIFO.dfy | 3 +- Test/exports/FIFO.dfy.expect | 2 - Test/exports/LIFO.dfy | 3 +- Test/exports/LIFO.dfy.expect | 2 - Test/exports/xrefine2.dfy | 3 +- Test/exports/xrefine2.dfy.expect | 2 - Test/exports/xrefine3.dfy | 3 +- Test/exports/xrefine3.dfy.expect | 2 - Test/git-issues/git-issue-032.dfy | 7 +- Test/git-issues/git-issue-032.dfy.expect | 37 -- .../git-issue-032.dfy.verifier.expect | 3 + Test/git-issues/git-issue-1029.dfy | 3 +- Test/git-issues/git-issue-1029.dfy.expect | 2 - Test/git-issues/git-issue-1093.dfy | 8 +- Test/git-issues/git-issue-1093.dfy.expect | 16 - Test/git-issues/git-issue-1100.dfy | 3 +- Test/git-issues/git-issue-1100.dfy.expect | 2 - Test/git-issues/git-issue-1130.dfy | 3 +- Test/git-issues/git-issue-1130.dfy.expect | 2 - Test/git-issues/git-issue-1150.dfy | 3 +- Test/git-issues/git-issue-1150.dfy.expect | 2 - Test/git-issues/git-issue-1185.dfy | 8 +- Test/git-issues/git-issue-1185.dfy.expect | 13 - .../git-issues/git-issue-1185.dfy.java.expect | 1 + Test/git-issues/git-issue-1514.dfy | 3 +- Test/git-issues/git-issue-1514.dfy.expect | 2 - Test/git-issues/git-issue-1514b.dfy | 3 +- Test/git-issues/git-issue-1514b.dfy.expect | 2 - Test/git-issues/git-issue-1514c.dfy | 5 +- Test/git-issues/git-issue-1514c.dfy.expect | 7 - Test/git-issues/git-issue-1553.dfy | 7 +- Test/git-issues/git-issue-1553.dfy.expect | 10 - Test/git-issues/git-issue-1604b.dfy | 3 +- Test/git-issues/git-issue-1604b.dfy.expect | 2 - Test/git-issues/git-issue-1714.dfy | 3 +- Test/git-issues/git-issue-1714.dfy.expect | 2 - Test/git-issues/git-issue-179.dfy | 8 +- Test/git-issues/git-issue-179.dfy.expect | 22 - Test/git-issues/git-issue-179.dfy.go.expect | 4 + Test/git-issues/git-issue-179.dfy.java.expect | 4 + Test/git-issues/git-issue-179.dfy.js.expect | 4 + Test/git-issues/git-issue-1815a.dfy | 8 +- Test/git-issues/git-issue-1815a.dfy.expect | 16 - Test/git-issues/git-issue-1852.dfy | 5 +- Test/git-issues/git-issue-1852.dfy.expect | 7 - Test/git-issues/git-issue-1903.dfy | 3 +- Test/git-issues/git-issue-1903.dfy.expect | 2 - Test/git-issues/git-issue-1909.dfy | 3 +- Test/git-issues/git-issue-1909.dfy.expect | 2 - Test/git-issues/git-issue-2013.dfy | 8 +- Test/git-issues/git-issue-2013.dfy.expect | 52 -- Test/git-issues/git-issue-2441.dfy | 5 +- Test/git-issues/git-issue-2441.dfy.expect | 6 - Test/git-issues/git-issue-2510.dfy | 3 +- Test/git-issues/git-issue-2510.dfy.expect | 2 - Test/git-issues/git-issue-258.dfy | 8 +- Test/git-issues/git-issue-258.dfy.expect | 73 --- Test/git-issues/git-issue-258.dfy.go.expect | 21 + Test/git-issues/git-issue-258.dfy.js.expect | 21 + Test/git-issues/git-issue-2608.dfy | 3 +- Test/git-issues/git-issue-2608.dfy.expect | 2 - Test/git-issues/git-issue-262.dfy | 7 +- Test/git-issues/git-issue-262.dfy.expect | 18 - Test/git-issues/git-issue-262.dfy.go.expect | 2 + Test/git-issues/git-issue-262.dfy.java.expect | 2 + Test/git-issues/git-issue-262.dfy.js.expect | 6 + Test/git-issues/git-issue-267.dfy | 7 +- Test/git-issues/git-issue-267.dfy.expect | 13 - Test/git-issues/git-issue-2672.dfy | 8 +- Test/git-issues/git-issue-2672.dfy.expect | 44 -- Test/git-issues/git-issue-2726a.dfy | 3 +- Test/git-issues/git-issue-2726a.dfy.expect | 2 - Test/git-issues/git-issue-2733.dfy | 9 +- Test/git-issues/git-issue-2733.dfy.expect | 14 - Test/git-issues/git-issue-2792.dfy | 3 +- Test/git-issues/git-issue-2792.dfy.expect | 2 - Test/git-issues/git-issue-283.dfy | 7 +- Test/git-issues/git-issue-283.dfy.expect | 13 - Test/git-issues/git-issue-283d.dfy | 7 +- Test/git-issues/git-issue-283d.dfy.expect | 10 - Test/git-issues/git-issue-314.dfy | 7 +- Test/git-issues/git-issue-314.dfy.expect | 10 - Test/git-issues/git-issue-332.dfy | 3 +- Test/git-issues/git-issue-332.dfy.expect | 2 - Test/git-issues/git-issue-354.dfy | 7 +- Test/git-issues/git-issue-354.dfy.expect | 22 - Test/git-issues/git-issue-356.dfy | 8 +- Test/git-issues/git-issue-356.dfy.expect | 36 -- Test/git-issues/git-issue-364.dfy | 3 +- Test/git-issues/git-issue-364.dfy.expect | 2 - Test/git-issues/git-issue-374.dfy | 7 +- Test/git-issues/git-issue-374.dfy.expect | 10 - Test/git-issues/git-issue-396.dfy | 6 +- Test/git-issues/git-issue-396.dfy.expect | 11 - Test/git-issues/git-issue-4007.dfy | 5 +- Test/git-issues/git-issue-4007.dfy.expect | 3 - Test/git-issues/git-issue-4012.dfy | 5 +- Test/git-issues/git-issue-4012.dfy.expect | 2 - Test/git-issues/git-issue-425.dfy | 7 +- Test/git-issues/git-issue-425.dfy.expect | 16 - Test/git-issues/git-issue-443.dfy | 3 +- Test/git-issues/git-issue-443.dfy.expect | 2 - Test/git-issues/git-issue-446.dfy | 7 +- Test/git-issues/git-issue-446.dfy.expect | 19 - Test/git-issues/git-issue-446a.dfy | 7 +- Test/git-issues/git-issue-446a.dfy.expect | 19 - Test/git-issues/git-issue-446b.dfy | 7 +- Test/git-issues/git-issue-446b.dfy.expect | 25 - Test/git-issues/git-issue-478-good.dfy | 3 +- Test/git-issues/git-issue-478-good.dfy.expect | 2 - Test/git-issues/git-issue-506.dfy | 6 +- Test/git-issues/git-issue-506.dfy.expect | 26 - Test/git-issues/git-issue-532.dfy | 7 +- Test/git-issues/git-issue-532.dfy.expect | 19 - Test/git-issues/git-issue-549.dfy | 5 +- Test/git-issues/git-issue-549.dfy.expect | 8 - Test/git-issues/git-issue-622$f.dfy | 3 +- Test/git-issues/git-issue-622$f.dfy.expect | 2 - Test/git-issues/git-issue-633.dfy | 7 +- Test/git-issues/git-issue-633.dfy.expect | 10 - Test/git-issues/git-issue-684.dfy | 7 +- Test/git-issues/git-issue-684.dfy.expect | 10 - Test/git-issues/git-issue-686.dfy | 7 +- Test/git-issues/git-issue-686.dfy.expect | 23 - .../git-issue-686.dfy.verifier.expect | 2 + Test/git-issues/git-issue-697.dfy | 3 +- Test/git-issues/git-issue-697.dfy.expect | 2 - Test/git-issues/git-issue-697b.dfy | 3 +- Test/git-issues/git-issue-697b.dfy.expect | 2 - Test/git-issues/git-issue-697d.dfy | 3 +- Test/git-issues/git-issue-697d.dfy.expect | 2 - Test/git-issues/git-issue-697e.dfy | 3 +- Test/git-issues/git-issue-697e.dfy.expect | 2 - Test/git-issues/git-issue-697f.dfy | 3 +- Test/git-issues/git-issue-697f.dfy.expect | 2 - Test/git-issues/git-issue-697g.dfy | 3 +- Test/git-issues/git-issue-697g.dfy.expect | 2 - Test/git-issues/git-issue-698.dfy | 5 +- Test/git-issues/git-issue-698.dfy.expect | 7 - Test/git-issues/git-issue-698b.dfy | 5 +- Test/git-issues/git-issue-698b.dfy.expect | 2 - Test/git-issues/git-issue-701.dfy | 7 +- Test/git-issues/git-issue-701.dfy.expect | 19 - Test/git-issues/git-issue-705.dfy | 7 +- Test/git-issues/git-issue-705.dfy.expect | 13 - Test/git-issues/git-issue-731.dfy | 7 +- Test/git-issues/git-issue-731.dfy.expect | 16 - Test/git-issues/git-issue-731b.dfy | 7 +- Test/git-issues/git-issue-731b.dfy.expect | 13 - Test/git-issues/git-issue-755.dfy | 8 +- Test/git-issues/git-issue-755.dfy.expect | 31 - Test/git-issues/git-issue-755.dfy.go.expect | 7 + Test/git-issues/git-issue-755.dfy.java.expect | 7 + Test/git-issues/git-issue-755.dfy.js.expect | 7 + Test/git-issues/git-issue-784.dfy | 7 +- Test/git-issues/git-issue-784.dfy.expect | 10 - Test/git-issues/git-issue-953.dfy | 8 +- Test/git-issues/git-issue-953.dfy.expect | 36 -- Test/git-issues/github-issue-3343.dfy | 3 +- Test/git-issues/github-issue-3343.dfy.expect | 2 - Test/hofs/Compilation.dfy | 3 +- Test/hofs/Compilation.dfy.expect | 2 - Test/hofs/Examples.dfy | 3 +- Test/hofs/Examples.dfy.expect | 2 - Test/hofs/Fold.dfy | 3 +- Test/hofs/Fold.dfy.expect | 2 - Test/hofs/Folding.dfy | 3 +- Test/hofs/Folding.dfy.expect | 2 - Test/hofs/Renaming.dfy | 3 +- Test/hofs/Renaming.dfy.expect | 2 - Test/hofs/Requires.dfy | 3 +- Test/hofs/Requires.dfy.expect | 2 - Test/hofs/TreeMapSimple.dfy | 3 +- Test/hofs/TreeMapSimple.dfy.expect | 2 - Test/hofs/VectorUpdate.dfy | 3 +- Test/hofs/VectorUpdate.dfy.expect | 2 - Test/hofs/WhileLoop.dfy | 3 +- Test/hofs/WhileLoop.dfy.expect | 2 - Test/irondafny0/optimize0.dfy | 3 +- Test/irondafny0/optimize0.dfy.expect | 2 - Test/metatests/OutputEncoding.dfy | 8 +- Test/metatests/OutputEncoding.dfy.expect | 16 - Test/patterns/OrPatterns.dfy | 3 +- Test/patterns/OrPatterns.dfy.expect | 2 - Test/patterns/PatternMatching.dfy | 5 +- Test/patterns/PatternMatching.dfy.expect | 3 - Test/traits/TraitCompile.dfy | 10 +- Test/traits/TraitCompile.dfy.expect | 256 -------- Test/traits/TraitExample.dfy | 3 +- Test/traits/TraitExample.dfy.expect | 2 - Test/traits/Traits-Fields.dfy | 3 +- Test/traits/Traits-Fields.dfy.expect | 2 - Test/traits/TraitsMultipleInheritance.dfy | 5 +- .../TraitsMultipleInheritance.dfy.expect | 2 - Test/unicodechars/comp/Collections.dfy | 9 +- Test/unicodechars/comp/Collections.dfy.expect | 512 ---------------- .../comp/Collections.dfy.go.expect | 125 ++++ .../comp/Collections.dfy.java.expect | 125 ++++ .../comp/Collections.dfy.js.expect | 125 ++++ .../comp/Collections.dfy.py.expect | 125 ++++ Test/unicodechars/comp/Comprehensions.dfy | 11 +- .../comp/Comprehensions.dfy.expect | 260 -------- .../comp/Comprehensions.dfy.py.expect | 62 ++ Test/unicodechars/comp/NativeNumbers.dfy | 9 +- .../comp/NativeNumbers.dfy.expect | 256 -------- Test/unicodechars/comp/Numbers.dfy | 11 +- Test/unicodechars/comp/Numbers.dfy.expect | 456 -------------- Test/unicodechars/comp/Numbers.dfy.go.expect | 111 ++++ Test/unicodechars/comp/Numbers.dfy.py.expect | 111 ++++ 504 files changed, 2254 insertions(+), 9916 deletions(-) create mode 100644 Test/comp/Arrays.dfy.go.expect create mode 100644 Test/comp/Collections.dfy.go.expect create mode 100644 Test/comp/Collections.dfy.java.expect create mode 100644 Test/comp/Collections.dfy.js.expect create mode 100644 Test/comp/Collections.dfy.py.expect create mode 100644 Test/comp/Comprehensions.dfy.py.expect create mode 100644 Test/comp/ComprehensionsNewSyntax.dfy.py.expect create mode 100644 Test/comp/Datatype.dfy.java.expect create mode 100644 Test/comp/Datatype.dfy.py.expect create mode 100644 Test/comp/Numbers.dfy.go.expect create mode 100644 Test/comp/Numbers.dfy.py.expect create mode 100644 Test/comp/Poly.dfy.go.expect create mode 100644 Test/comp/Poly.dfy.py.expect create mode 100644 Test/comp/Print.dfy.go.expect create mode 100644 Test/comp/Print.dfy.java.expect create mode 100644 Test/comp/Print.dfy.js.expect create mode 100644 Test/comp/TypeParams.dfy.go.expect create mode 100644 Test/comp/TypeParams.dfy.java.expect create mode 100644 Test/comp/TypeParams.dfy.js.expect create mode 100644 Test/comp/TypeParams.dfy.py.expect create mode 100644 Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect create mode 100644 Test/dafny0/TypeMembers.dfy.verifier.expect create mode 100644 Test/dafny2/StoreAndRetrieve.dfy.verifier.expect create mode 100644 Test/dafny3/CachedContainer.dfy.verifier.expect create mode 100644 Test/dafny4/ClassRefinement.dfy.verifier.expect create mode 100644 Test/git-issues/git-issue-032.dfy.verifier.expect create mode 100644 Test/git-issues/git-issue-1185.dfy.java.expect create mode 100644 Test/git-issues/git-issue-179.dfy.go.expect create mode 100644 Test/git-issues/git-issue-179.dfy.java.expect create mode 100644 Test/git-issues/git-issue-179.dfy.js.expect create mode 100644 Test/git-issues/git-issue-258.dfy.go.expect create mode 100644 Test/git-issues/git-issue-258.dfy.js.expect create mode 100644 Test/git-issues/git-issue-262.dfy.go.expect create mode 100644 Test/git-issues/git-issue-262.dfy.java.expect create mode 100644 Test/git-issues/git-issue-262.dfy.js.expect create mode 100644 Test/git-issues/git-issue-686.dfy.verifier.expect create mode 100644 Test/git-issues/git-issue-755.dfy.go.expect create mode 100644 Test/git-issues/git-issue-755.dfy.java.expect create mode 100644 Test/git-issues/git-issue-755.dfy.js.expect create mode 100644 Test/unicodechars/comp/Collections.dfy.go.expect create mode 100644 Test/unicodechars/comp/Collections.dfy.java.expect create mode 100644 Test/unicodechars/comp/Collections.dfy.js.expect create mode 100644 Test/unicodechars/comp/Collections.dfy.py.expect create mode 100644 Test/unicodechars/comp/Comprehensions.dfy.py.expect create mode 100644 Test/unicodechars/comp/Numbers.dfy.go.expect create mode 100644 Test/unicodechars/comp/Numbers.dfy.py.expect diff --git a/Test/VerifyThis2015/Problem1.dfy b/Test/VerifyThis2015/Problem1.dfy index 20bd154ab8d..ab227e1ab85 100644 --- a/Test/VerifyThis2015/Problem1.dfy +++ b/Test/VerifyThis2015/Problem1.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Rustan Leino // 12 April 2015 diff --git a/Test/VerifyThis2015/Problem1.dfy.expect b/Test/VerifyThis2015/Problem1.dfy.expect index 110dd45761d..9e8a46acf90 100644 --- a/Test/VerifyThis2015/Problem1.dfy.expect +++ b/Test/VerifyThis2015/Problem1.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 18 verified, 0 errors true true false diff --git a/Test/VerifyThis2015/Problem2.dfy b/Test/VerifyThis2015/Problem2.dfy index 9f1d6913039..f297b303547 100644 --- a/Test/VerifyThis2015/Problem2.dfy +++ b/Test/VerifyThis2015/Problem2.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Rustan Leino // 13 April 2015, and many subsequent enhancements and revisions diff --git a/Test/VerifyThis2015/Problem2.dfy.expect b/Test/VerifyThis2015/Problem2.dfy.expect index b49c1470365..e69de29bb2d 100644 --- a/Test/VerifyThis2015/Problem2.dfy.expect +++ b/Test/VerifyThis2015/Problem2.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 32 verified, 0 errors diff --git a/Test/VerifyThis2015/Problem3.dfy b/Test/VerifyThis2015/Problem3.dfy index 3be60b5d81a..1348acf0f4d 100644 --- a/Test/VerifyThis2015/Problem3.dfy +++ b/Test/VerifyThis2015/Problem3.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Rustan Leino // 12 April 2015 // VerifyThis 2015 diff --git a/Test/VerifyThis2015/Problem3.dfy.expect b/Test/VerifyThis2015/Problem3.dfy.expect index 4bb1c2c7251..e69de29bb2d 100644 --- a/Test/VerifyThis2015/Problem3.dfy.expect +++ b/Test/VerifyThis2015/Problem3.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 18 verified, 0 errors diff --git a/Test/c++/arrays.dfy b/Test/c++/arrays.dfy index 47140146468..a02b57e5ff8 100644 --- a/Test/c++/arrays.dfy +++ b/Test/c++/arrays.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/arrays.dfy.expect b/Test/c++/arrays.dfy.expect index 552f9355593..2ce9320d8c2 100644 --- a/Test/c++/arrays.dfy.expect +++ b/Test/c++/arrays.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 9 verified, 0 errors 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/c++/bit-vectors.dfy b/Test/c++/bit-vectors.dfy index b7f5d35df07..d27469e4ca5 100644 --- a/Test/c++/bit-vectors.dfy +++ b/Test/c++/bit-vectors.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint64 = i:int | 0 <= i < 0x10000000000000000 diff --git a/Test/c++/bit-vectors.dfy.expect b/Test/c++/bit-vectors.dfy.expect index e327aa2f73b..c491236b12b 100644 --- a/Test/c++/bit-vectors.dfy.expect +++ b/Test/c++/bit-vectors.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 6 verified, 0 errors 084841024 diff --git a/Test/c++/class.dfy b/Test/c++/class.dfy index 8df616b801c..aa26a22f64a 100644 --- a/Test/c++/class.dfy +++ b/Test/c++/class.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/class.dfy.expect b/Test/c++/class.dfy.expect index 93717ecfa9e..80f1587d0a2 100644 --- a/Test/c++/class.dfy.expect +++ b/Test/c++/class.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 16 verified, 0 errors true true false 103 102 102 106 105 105 203 17 0 18 8 9 69 70 diff --git a/Test/c++/const.dfy b/Test/c++/const.dfy index 5ab9a62e0e9..1bfb79f0361 100644 --- a/Test/c++/const.dfy +++ b/Test/c++/const.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false module Holder { const x:bool := false diff --git a/Test/c++/const.dfy.expect b/Test/c++/const.dfy.expect index 823a60a105c..e69de29bb2d 100644 --- a/Test/c++/const.dfy.expect +++ b/Test/c++/const.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 1 verified, 0 errors diff --git a/Test/c++/datatypes.dfy b/Test/c++/datatypes.dfy index 9d077b97575..f56b7907cc3 100644 --- a/Test/c++/datatypes.dfy +++ b/Test/c++/datatypes.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/datatypes.dfy.expect b/Test/c++/datatypes.dfy.expect index efa71b43546..c122f5af791 100644 --- a/Test/c++/datatypes.dfy.expect +++ b/Test/c++/datatypes.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 12 verified, 0 errors Case A: 42 Case B: true This is expected diff --git a/Test/c++/generic.dfy b/Test/c++/generic.dfy index 822824bfa04..d2d2fc74106 100644 --- a/Test/c++/generic.dfy +++ b/Test/c++/generic.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false class Test { var t:T; diff --git a/Test/c++/generic.dfy.expect b/Test/c++/generic.dfy.expect index 00a51f822da..e69de29bb2d 100644 --- a/Test/c++/generic.dfy.expect +++ b/Test/c++/generic.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 3 verified, 0 errors diff --git a/Test/c++/hello.dfy b/Test/c++/hello.dfy index c887337c7e1..523d3152209 100644 --- a/Test/c++/hello.dfy +++ b/Test/c++/hello.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false method Main() { print "Hello world\n"; diff --git a/Test/c++/hello.dfy.expect b/Test/c++/hello.dfy.expect index 87101fec036..802992c4220 100644 --- a/Test/c++/hello.dfy.expect +++ b/Test/c++/hello.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors Hello world diff --git a/Test/c++/ints.dfy b/Test/c++/ints.dfy index cf7ae63e0da..4490a54817a 100644 --- a/Test/c++/ints.dfy +++ b/Test/c++/ints.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype sbyte = i:int | -0x80 <= i < 0x80 newtype byte = i:int | 0 <= i < 0x100 diff --git a/Test/c++/ints.dfy.expect b/Test/c++/ints.dfy.expect index aeabccf73b0..5fcb7b811cb 100644 --- a/Test/c++/ints.dfy.expect +++ b/Test/c++/ints.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 15 verified, 0 errors Result is z = 42 diff --git a/Test/c++/maps.dfy b/Test/c++/maps.dfy index 951d34e96f1..b88ebd56ad5 100644 --- a/Test/c++/maps.dfy +++ b/Test/c++/maps.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/maps.dfy.expect b/Test/c++/maps.dfy.expect index 482aa604356..80642c23257 100644 --- a/Test/c++/maps.dfy.expect +++ b/Test/c++/maps.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 9 verified, 0 errors Identity: This is expected ValuesIdentity: This is expected KeyMembership: This is expected diff --git a/Test/c++/recursion.dfy b/Test/c++/recursion.dfy index e255b8e6b08..36048aab527 100644 --- a/Test/c++/recursion.dfy +++ b/Test/c++/recursion.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/recursion.dfy.expect b/Test/c++/recursion.dfy.expect index 15dbfe2bcd1..1ea14926e89 100644 --- a/Test/c++/recursion.dfy.expect +++ b/Test/c++/recursion.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors x !y 3 diff --git a/Test/c++/returns.dfy b/Test/c++/returns.dfy index 1ad19a8ce83..9e23121d26a 100644 --- a/Test/c++/returns.dfy +++ b/Test/c++/returns.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint64 = i:int | 0 <= i < 0x10000000000000000 diff --git a/Test/c++/returns.dfy.expect b/Test/c++/returns.dfy.expect index 8db105eaba8..48082f72f08 100644 --- a/Test/c++/returns.dfy.expect +++ b/Test/c++/returns.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors 12 diff --git a/Test/c++/seqs.dfy b/Test/c++/seqs.dfy index 6352b0082bd..0b0b0ad4d87 100644 --- a/Test/c++/seqs.dfy +++ b/Test/c++/seqs.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint8 = i:int | 0 <= i < 0x100 newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/seqs.dfy.expect b/Test/c++/seqs.dfy.expect index 23f01695bc9..16f5f9d22ea 100644 --- a/Test/c++/seqs.dfy.expect +++ b/Test/c++/seqs.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 11 verified, 0 errors Head second:2 Trunc first:2 Head trunc: This is expected diff --git a/Test/c++/sets.dfy b/Test/c++/sets.dfy index 5bfb6f80f1e..10e2fe0501d 100644 --- a/Test/c++/sets.dfy +++ b/Test/c++/sets.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/sets.dfy.expect b/Test/c++/sets.dfy.expect index 1c8ede8765e..52a1e67717e 100644 --- a/Test/c++/sets.dfy.expect +++ b/Test/c++/sets.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 8 verified, 0 errors Identity: This is expected ValuesIdentity: This is expected DiffIdentity: This is expected diff --git a/Test/c++/while.dfy b/Test/c++/while.dfy index 40dc4699d11..0c0d7ee98df 100644 --- a/Test/c++/while.dfy +++ b/Test/c++/while.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/while.dfy.expect b/Test/c++/while.dfy.expect index 8dfe872ca51..9a44de1e2a3 100644 --- a/Test/c++/while.dfy.expect +++ b/Test/c++/while.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 2 verified, 0 errors 0 1 2 diff --git a/Test/comp/Arrays.dfy b/Test/comp/Arrays.dfy index 566f052e0a6..acb4225b358 100644 --- a/Test/comp/Arrays.dfy +++ b/Test/comp/Arrays.dfy @@ -1,10 +1,5 @@ -// RUN: %baredafny verify %args --relax-definite-assignment "%s" > "%t" -// RUN: %baredafny run --unicode-char:false --no-verify --target=cs %args "%s" >> "%t" -// RUN: %baredafny run --unicode-char:false --no-verify --target=js %args "%s" >> "%t" -// RUN: %baredafny run --unicode-char:false --no-verify --target=go %args "%s" >> "%t" -// RUN: %baredafny run --unicode-char:false --no-verify --target=java %args "%s" >> "%t" -// RUN: %baredafny run --unicode-char:false --no-verify --target=py %args "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false method LinearSearch(a: array, key: int) returns (n: nat) ensures 0 <= n <= a.Length diff --git a/Test/comp/Arrays.dfy.expect b/Test/comp/Arrays.dfy.expect index 8559e2f3c5c..ef3b884f98a 100644 --- a/Test/comp/Arrays.dfy.expect +++ b/Test/comp/Arrays.dfy.expect @@ -1,399 +1,3 @@ - -Dafny program verifier finished with 89 verified, 0 errors - -Dafny program verifier did not attempt verification -0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 -17 -[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] -[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] -[20, 21, 22] -[0, 1, 2, 3, 4, 5, 6, 7] -[0, 1, 2, 3, 4, 5, 6, 7] -d d d -h e l l o -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -1 0 0 0 0 -0 1 0 0 0 -0 0 1 0 0 -cube dims: 3 0 4 -[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] -It's null -hi hello tjena hej hola -hi hello tjena hej hola -hi hello tjena hej hola -d d d -h e l l o -8 8 8 8 -true true true -1 1 1 1 1 -2 2 2 2 2 -3 3 3 3 3 -4 4 4 4 4 -(d, 8, true, 1, 2, 3, 4) -D D D -0 0 0 0 -false false false -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -(D, 0, false, 0, 0, 0, 0) -8 0 -false 0 null null -8 8 -8 8 -8 8 -8 8 -D D D -D D D -D D D -D D r (D, D, r) -D D r -[19, 18, 9, 8] - true - false - true - false - false - false - true - true - false - true - false - true - true - false -hello there -false false -true true -false false -false false -uninitialized bytes: array[0, 0, 0] -bytes from display: array[7, 8, 9] -bytes from lambda: array[20, 21, 22] -uninitialized 1bytes: array[1, 1, 1] -1bytes from display: array[7, 8, 9] -1bytes from lambda: array[20, 21, 22] -17 19 18 20 -100 200 300 120 38 -hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -DDDDDabcdeabcdeggggg -DDDDDabcdeabcdeggggg -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] -DDDDDDDDDDagggggaggg -0 69 50 -0 69 50 -D k n -false false -true true -false false -false false -true true - -Dafny program verifier did not attempt verification -0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 -17 -[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] -[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] -[20, 21, 22] -[0, 1, 2, 3, 4, 5, 6, 7] -[0, 1, 2, 3, 4, 5, 6, 7] -d d d -h e l l o -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -1 0 0 0 0 -0 1 0 0 0 -0 0 1 0 0 -cube dims: 3 0 4 -[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] -It's null -hi hello tjena hej hola -hi hello tjena hej hola -hi hello tjena hej hola -d d d -h e l l o -8 8 8 8 -true true true -1 1 1 1 1 -2 2 2 2 2 -3 3 3 3 3 -4 4 4 4 4 -(d, 8, true, 1, 2, 3, 4) -D D D -0 0 0 0 -false false false -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -(D, 0, false, 0, 0, 0, 0) -8 0 -false 0 null null -8 8 -8 8 -8 8 -8 8 -D D D -D D D -D D D -D D r (D, D, r) -D D r -[19, 18, 9, 8] - true - false - true - false - false - false - true - true - false - true - false - true - true - false -hello there -false false -true true -false false -false false -uninitialized bytes: array[0, 0, 0] -bytes from display: array[7, 8, 9] -bytes from lambda: array[20, 21, 22] -uninitialized 1bytes: array[1, 1, 1] -1bytes from display: array[7, 8, 9] -1bytes from lambda: array[20, 21, 22] -17 19 18 20 -100 200 300 120 38 -hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -DDDDDabcdeabcdeggggg -DDDDDabcdeabcdeggggg -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] -DDDDDDDDDDagggggaggg -0 69 50 -0 69 50 -D k n -false false -true true -false false -false false -true true - -Dafny program verifier did not attempt verification -0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 -17 -[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] -[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] -[20, 21, 22] -[0, 1, 2, 3, 4, 5, 6, 7] -[0, 1, 2, 3, 4, 5, 6, 7] -d d d -h e l l o -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -1 0 0 0 0 -0 1 0 0 0 -0 0 1 0 0 -cube dims: 3 0 4 -[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] -It's null -hi hello tjena hej hola -hi hello tjena hej hola -hi hello tjena hej hola -d d d -h e l l o -8 8 8 8 -true true true -1 1 1 1 1 -2 2 2 2 2 -3 3 3 3 3 -4 4 4 4 4 -(d, 8, true, 1, 2, 3, 4) -D D D -0 0 0 0 -false false false -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -(D, 0, false, 0, 0, 0, 0) -8 0 -false 0 null null -8 8 -8 8 -8 8 -8 8 -D D D -D D D -D D D -D D r (D, D, r) -D D r -[19, 18, 9, 8] - true - false - true - false - false - false - true - true - false - true - false - true - true - false -hello there -false false -true true -false false -false false -uninitialized bytes: array[0, 0, 0] -bytes from display: array[7, 8, 9] -bytes from lambda: array[20, 21, 22] -uninitialized 1bytes: array[1, 1, 1] -1bytes from display: array[7, 8, 9] -1bytes from lambda: array[20, 21, 22] -17 19 18 20 -100 200 300 120 38 -hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -DDDDDabcdeabcdeggggg -DDDDDabcdeabcdeggggg -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] -[D, D, D, D, D, D, D, D, D, D, a, g, g, g, g, g, a, g, g, g] -0 69 50 -0 69 50 -D k n -false false -true true -false false -false false -true true - -Dafny program verifier did not attempt verification -0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 -17 -[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] -[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] -[20, 21, 22] -[0, 1, 2, 3, 4, 5, 6, 7] -[0, 1, 2, 3, 4, 5, 6, 7] -d d d -h e l l o -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -1 0 0 0 0 -0 1 0 0 0 -0 0 1 0 0 -cube dims: 3 0 4 -[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] -It's null -hi hello tjena hej hola -hi hello tjena hej hola -hi hello tjena hej hola -d d d -h e l l o -8 8 8 8 -true true true -1 1 1 1 1 -2 2 2 2 2 -3 3 3 3 3 -4 4 4 4 4 -(d, 8, true, 1, 2, 3, 4) -D D D -0 0 0 0 -false false false -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -(D, 0, false, 0, 0, 0, 0) -8 0 -false 0 null null -8 8 -8 8 -8 8 -8 8 -D D D -D D D -D D D -D D r (D, D, r) -D D r -[19, 18, 9, 8] - true - false - true - false - false - false - true - true - false - true - false - true - true - false -hello there -false false -true true -false false -false false -uninitialized bytes: array[0, 0, 0] -bytes from display: array[7, 8, 9] -bytes from lambda: array[20, 21, 22] -uninitialized 1bytes: array[1, 1, 1] -1bytes from display: array[7, 8, 9] -1bytes from lambda: array[20, 21, 22] -17 19 18 20 -100 200 300 120 38 -hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -DDDDDabcdeabcdeggggg -DDDDDabcdeabcdeggggg -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] -DDDDDDDDDDagggggaggg -0 69 50 -0 69 50 -D k n -false false -true true -false false -false false -true true - -Dafny program verifier did not attempt verification 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/comp/Arrays.dfy.go.expect b/Test/comp/Arrays.dfy.go.expect new file mode 100644 index 00000000000..1217623d90c --- /dev/null +++ b/Test/comp/Arrays.dfy.go.expect @@ -0,0 +1,96 @@ +0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 +17 +[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] +[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] +[20, 21, 22] +[0, 1, 2, 3, 4, 5, 6, 7] +[0, 1, 2, 3, 4, 5, 6, 7] +d d d +h e l l o +0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 +1 0 0 0 0 +0 1 0 0 0 +0 0 1 0 0 +cube dims: 3 0 4 +[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] +It's null +hi hello tjena hej hola +hi hello tjena hej hola +hi hello tjena hej hola +d d d +h e l l o +8 8 8 8 +true true true +1 1 1 1 1 +2 2 2 2 2 +3 3 3 3 3 +4 4 4 4 4 +(d, 8, true, 1, 2, 3, 4) +D D D +0 0 0 0 +false false false +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +(D, 0, false, 0, 0, 0, 0) +8 0 +false 0 null null +8 8 +8 8 +8 8 +8 8 +D D D +D D D +D D D +D D r (D, D, r) +D D r +[19, 18, 9, 8] + true + false + true + false + false + false + true + true + false + true + false + true + true + false +hello there +false false +true true +false false +false false +uninitialized bytes: array[0, 0, 0] +bytes from display: array[7, 8, 9] +bytes from lambda: array[20, 21, 22] +uninitialized 1bytes: array[1, 1, 1] +1bytes from display: array[7, 8, 9] +1bytes from lambda: array[20, 21, 22] +17 19 18 20 +100 200 300 120 38 +hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +DDDDDabcdeabcdeggggg +DDDDDabcdeabcdeggggg +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] +[D, D, D, D, D, D, D, D, D, D, a, g, g, g, g, g, a, g, g, g] +0 69 50 +0 69 50 +D k n +false false +true true +false false +false false +true true diff --git a/Test/comp/AsIs-Compile.dfy b/Test/comp/AsIs-Compile.dfy index 47084ed7633..319847564e2 100644 --- a/Test/comp/AsIs-Compile.dfy +++ b/Test/comp/AsIs-Compile.dfy @@ -1,10 +1,4 @@ -// RUN: %baredafny verify %args "%s" > "%t" -// RUN: %baredafny run --no-verify -t=cs %args "%s" >> "%t" -// RUN: %baredafny run --no-verify -t=js %args "%s" >> "%t" -// RUN: %baredafny run --no-verify -t=go %args "%s" >> "%t" -// RUN: %baredafny run --no-verify -t=java %args "%s" >> "%t" -// RUN: %baredafny run --no-verify -t=py %args "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" method Main() { var a: A, b: B, c: C, k: K, l: L := new M, new M, new M, new K, new L; diff --git a/Test/comp/AsIs-Compile.dfy.expect b/Test/comp/AsIs-Compile.dfy.expect index 36dfe46e91d..acc78c6e155 100644 --- a/Test/comp/AsIs-Compile.dfy.expect +++ b/Test/comp/AsIs-Compile.dfy.expect @@ -1,163 +1,3 @@ - -Dafny program verifier finished with 6 verified, 0 errors - -Dafny program verifier did not attempt verification -true true true true true -true true true true true -IsComparisons ---- -false true false false - true false false - true false -false false true false - false true false - false false -false false false true - false false true - false true -false true false false - false true false - false false -true true -false true -TestNullIs ---- -true true -true true -true true true true true true -true true true true true true -true true true true true true -true true true true true true -true true -false true -true true true true true true -false true false true false true -true true true true true true -false true false true false true -TestFromTraits ---- -5 -0 -4 -4 -4 -4 - -Dafny program verifier did not attempt verification -true true true true true -true true true true true -IsComparisons ---- -false true false false - true false false - true false -false false true false - false true false - false false -false false false true - false false true - false true -false true false false - false true false - false false -true true -false true -TestNullIs ---- -true true -true true -true true true true true true -true true true true true true -true true true true true true -true true true true true true -true true -false true -true true true true true true -false true false true false true -true true true true true true -false true false true false true -TestFromTraits ---- -5 -0 -4 -4 -4 -4 - -Dafny program verifier did not attempt verification -true true true true true -true true true true true -IsComparisons ---- -false true false false - true false false - true false -false false true false - false true false - false false -false false false true - false false true - false true -false true false false - false true false - false false -true true -false true -TestNullIs ---- -true true -true true -true true true true true true -true true true true true true -true true true true true true -true true true true true true -true true -false true -true true true true true true -false true false true false true -true true true true true true -false true false true false true -TestFromTraits ---- -5 -0 -4 -4 -4 -4 - -Dafny program verifier did not attempt verification -true true true true true -true true true true true -IsComparisons ---- -false true false false - true false false - true false -false false true false - false true false - false false -false false false true - false false true - false true -false true false false - false true false - false false -true true -false true -TestNullIs ---- -true true -true true -true true true true true true -true true true true true true -true true true true true true -true true true true true true -true true -false true -true true true true true true -false true false true false true -true true true true true true -false true false true false true -TestFromTraits ---- -5 -0 -4 -4 -4 -4 - -Dafny program verifier did not attempt verification true true true true true true true true true true IsComparisons ---- diff --git a/Test/comp/AutoInit.dfy b/Test/comp/AutoInit.dfy index b284619a80c..c0e752efa36 100644 --- a/Test/comp/AutoInit.dfy +++ b/Test/comp/AutoInit.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This file tests the compilation of some default values. It also includes some // regression tests for equality, printing, and tuples. diff --git a/Test/comp/AutoInit.dfy.expect b/Test/comp/AutoInit.dfy.expect index c8ed022d09b..a282fc36633 100644 --- a/Test/comp/AutoInit.dfy.expect +++ b/Test/comp/AutoInit.dfy.expect @@ -1,163 +1,3 @@ - -Dafny program verifier finished with 21 verified, 0 errors - -Dafny program verifier did not attempt verification -3 false 0 -false false true -() (0, false, false, []) -(null, 0) (null, 0) true -(null, null, null, 0) (null, null, null, 0) true -true false false true -true false false true -17 -1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or -(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) -1 -ww == null -- yes, as expected -true true true true -true true true -true true true -null null -null null -null null null -null null null -null null null -null null null -null null -null null null -null null null -DatatypeDefaultValues_Compile.EnumDatatype.MakeZero - DatatypeDefaultValues_Compile.IntList.Nil - 0 -DatatypeDefaultValues_Compile.GenericTree.Leaf - DatatypeDefaultValues_Compile.Complicated.ComplA(0, false) - DatatypeDefaultValues_Compile.CellCell.MakeCellCell(0) -null - null -ImportedTypes_mLibrary_Compile.Color.Red(0) and ImportedTypes_mLibrary_Compile.Color.Red(0) -ImportedTypes_mLibrary_Compile.CoColor.Yellow and ImportedTypes_mLibrary_Compile.CoColor.Yellow -ImportedTypes_mLibrary_Compile.MoColor.MoYellow and ImportedTypes_mLibrary_Compile.MoColor.MoYellow -0.0 and 0.0 -13 - -Dafny program verifier did not attempt verification -3 false 0 -false false true -() (0, false, false, []) -(null, 0) (null, 0) true -(null, null, null, 0) (null, null, null, 0) true -true false false true -true false false true -17 -1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or -(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) -1 -ww == null -- yes, as expected -true true true true -true true true -true true true -null null -null null -null null null -null null null -null null null -null null null -null null -null null null -null null null -DatatypeDefaultValues_Compile.EnumDatatype.MakeZero - DatatypeDefaultValues_Compile.IntList.Nil - 0 -DatatypeDefaultValues_Compile.GenericTree.Leaf - DatatypeDefaultValues_Compile.Complicated.ComplA(0, false) - DatatypeDefaultValues_Compile.CellCell.MakeCellCell(0) -null - null -ImportedTypes_mLibrary_Compile.Color.Red(0) and ImportedTypes_mLibrary_Compile.Color.Red(0) -ImportedTypes_mLibrary_Compile.CoColor.Yellow and ImportedTypes_mLibrary_Compile.CoColor.Yellow -ImportedTypes_mLibrary_Compile.MoColor.MoYellow and ImportedTypes_mLibrary_Compile.MoColor.MoYellow -0.0 and 0.0 -13 - -Dafny program verifier did not attempt verification -3 false 0 -false false true -() (0, false, false, []) -(null, 0) (null, 0) true -(null, null, null, 0) (null, null, null, 0) true -true false false true -true false false true -17 -1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or -(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) -1 -ww == null -- yes, as expected -true true true true -true true true -true true true -null null -null null -null null null -null null null -null null null -null null null -null null -null null null -null null null -DatatypeDefaultValues_Compile.EnumDatatype.MakeZero - DatatypeDefaultValues_Compile.IntList.Nil - 0 -DatatypeDefaultValues_Compile.GenericTree.Leaf - DatatypeDefaultValues_Compile.Complicated.ComplA(0, false) - DatatypeDefaultValues_Compile.CellCell.MakeCellCell(0) -null - null -ImportedTypes_mLibrary_Compile.Color.Red(0) and ImportedTypes_mLibrary_Compile.Color.Red(0) -ImportedTypes_mLibrary_Compile.CoColor.Yellow and ImportedTypes_mLibrary_Compile.CoColor.Yellow -ImportedTypes_mLibrary_Compile.MoColor.MoYellow and ImportedTypes_mLibrary_Compile.MoColor.MoYellow -0.0 and 0.0 -13 - -Dafny program verifier did not attempt verification -3 false 0 -false false true -() (0, false, false, []) -(null, 0) (null, 0) true -(null, null, null, 0) (null, null, null, 0) true -true false false true -true false false true -17 -1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or -(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) -1 -ww == null -- yes, as expected -true true true true -true true true -true true true -null null -null null -null null null -null null null -null null null -null null null -null null -null null null -null null null -DatatypeDefaultValues_Compile.EnumDatatype.MakeZero - DatatypeDefaultValues_Compile.IntList.Nil - 0 -DatatypeDefaultValues_Compile.GenericTree.Leaf - DatatypeDefaultValues_Compile.Complicated.ComplA(0, false) - DatatypeDefaultValues_Compile.CellCell.MakeCellCell(0) -null - null -ImportedTypes_mLibrary_Compile.Color.Red(0) and ImportedTypes_mLibrary_Compile.Color.Red(0) -ImportedTypes_mLibrary_Compile.CoColor.Yellow and ImportedTypes_mLibrary_Compile.CoColor.Yellow -ImportedTypes_mLibrary_Compile.MoColor.MoYellow and ImportedTypes_mLibrary_Compile.MoColor.MoYellow -0.0 and 0.0 -13 - -Dafny program verifier did not attempt verification 3 false 0 false false true () (0, false, false, []) diff --git a/Test/comp/ByMethodCompilation.dfy b/Test/comp/ByMethodCompilation.dfy index ea62d84b21e..7432f72f7d4 100644 --- a/Test/comp/ByMethodCompilation.dfy +++ b/Test/comp/ByMethodCompilation.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method Main() { var four := Four(); diff --git a/Test/comp/ByMethodCompilation.dfy.expect b/Test/comp/ByMethodCompilation.dfy.expect index 1519a955b0c..d61780e3fb8 100644 --- a/Test/comp/ByMethodCompilation.dfy.expect +++ b/Test/comp/ByMethodCompilation.dfy.expect @@ -1,35 +1,3 @@ - -Dafny program verifier finished with 13 verified, 0 errors - -Dafny program verifier did not attempt verification -hello -four is 4 -Recursive(7) = 14 -NonCompilableFunction: 4 7 -Sums: 14 3 - -Dafny program verifier did not attempt verification -hello -four is 4 -Recursive(7) = 14 -NonCompilableFunction: 4 7 -Sums: 14 3 - -Dafny program verifier did not attempt verification -hello -four is 4 -Recursive(7) = 14 -NonCompilableFunction: 4 7 -Sums: 14 3 - -Dafny program verifier did not attempt verification -hello -four is 4 -Recursive(7) = 14 -NonCompilableFunction: 4 7 -Sums: 14 3 - -Dafny program verifier did not attempt verification hello four is 4 Recursive(7) = 14 diff --git a/Test/comp/Calls.dfy b/Test/comp/Calls.dfy index 4a4916aea0c..c56bc3e5286 100644 --- a/Test/comp/Calls.dfy +++ b/Test/comp/Calls.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function F(x: int, y: bool): int { x + if y then 2 else 3 diff --git a/Test/comp/Calls.dfy.expect b/Test/comp/Calls.dfy.expect index 3317b8be164..cf4e1bc155b 100644 --- a/Test/comp/Calls.dfy.expect +++ b/Test/comp/Calls.dfy.expect @@ -1,43 +1,3 @@ - -Dafny program verifier finished with 6 verified, 0 errors - -Dafny program verifier did not attempt verification -5 0 0 false 0 false 0 -5 3 5 3 5 3 -5 3 5 3 5 3 -15 -[0, 1, 2, 4] -[0, 2, 4] ---> 5 <-- - -Dafny program verifier did not attempt verification -5 0 0 false 0 false 0 -5 3 5 3 5 3 -5 3 5 3 5 3 -15 -[0, 1, 2, 4] -[0, 2, 4] ---> 5 <-- - -Dafny program verifier did not attempt verification -5 0 0 false 0 false 0 -5 3 5 3 5 3 -5 3 5 3 5 3 -15 -[0, 1, 2, 4] -[0, 2, 4] ---> 5 <-- - -Dafny program verifier did not attempt verification -5 0 0 false 0 false 0 -5 3 5 3 5 3 -5 3 5 3 5 3 -15 -[0, 1, 2, 4] -[0, 2, 4] ---> 5 <-- - -Dafny program verifier did not attempt verification 5 0 0 false 0 false 0 5 3 5 3 5 3 5 3 5 3 5 3 diff --git a/Test/comp/Class.dfy b/Test/comp/Class.dfy index fb994f008e7..23591e43450 100644 --- a/Test/comp/Class.dfy +++ b/Test/comp/Class.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation class MyClass { var a: int diff --git a/Test/comp/Class.dfy.expect b/Test/comp/Class.dfy.expect index ba1482a164b..47e49966664 100644 --- a/Test/comp/Class.dfy.expect +++ b/Test/comp/Class.dfy.expect @@ -1,75 +1,3 @@ - -Dafny program verifier finished with 16 verified, 0 errors - -Dafny program verifier did not attempt verification -true true false -103 103 103 106 106 106 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -0 18 9 70 -0 18 9 70 -0 18 9 70 -70 -hi later -21 4 42 5 1 -TestGhostables -15 -Init called with x=15 -16 - -Dafny program verifier did not attempt verification -true true false -103 103 103 106 106 106 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -0 18 9 70 -0 18 9 70 -0 18 9 70 -70 -hi later -21 4 42 5 1 -TestGhostables -15 -Init called with x=15 -16 - -Dafny program verifier did not attempt verification -true true false -103 103 103 106 106 106 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -0 18 9 70 -0 18 9 70 -0 18 9 70 -70 -hi later -21 4 42 5 1 -TestGhostables -15 -Init called with x=15 -16 - -Dafny program verifier did not attempt verification -true true false -103 103 103 106 106 106 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -0 18 9 70 -0 18 9 70 -0 18 9 70 -70 -hi later -21 4 42 5 1 -TestGhostables -15 -Init called with x=15 -16 - -Dafny program verifier did not attempt verification true true false 103 103 103 106 106 106 203 17 0 18 8 9 69 70 diff --git a/Test/comp/Collections.dfy b/Test/comp/Collections.dfy index 104eb9f90ac..9457e44b170 100644 --- a/Test/comp/Collections.dfy +++ b/Test/comp/Collections.dfy @@ -1,10 +1,5 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false method Main() { Sets(); diff --git a/Test/comp/Collections.dfy.expect b/Test/comp/Collections.dfy.expect index 2361c1a88db..e705d887a7d 100644 --- a/Test/comp/Collections.dfy.expect +++ b/Test/comp/Collections.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 40 verified, 0 errors - -Dafny program verifier did not attempt verification Sets: {} {17, 82} {12, 17} cardinality: 0 2 2 union: {17, 82} {12, 17, 82} @@ -127,511 +123,3 @@ Multiset=== 1 3 |s|=2 |u|=4 1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Yellow := 21, Color.Blue := 30] -keys: {Color.Yellow, Color.Blue} -values: {21, 30} -items: {(Color.Yellow, 21), (Color.Blue, 30)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {21, 30} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/comp/Collections.dfy.go.expect b/Test/comp/Collections.dfy.go.expect new file mode 100644 index 00000000000..309d0c550c4 --- /dev/null +++ b/Test/comp/Collections.dfy.go.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/comp/Collections.dfy.java.expect b/Test/comp/Collections.dfy.java.expect new file mode 100644 index 00000000000..ed929a4d34c --- /dev/null +++ b/Test/comp/Collections.dfy.java.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Yellow := 21, Color.Blue := 30] +keys: {Color.Yellow, Color.Blue} +values: {21, 30} +items: {(Color.Yellow, 21), (Color.Blue, 30)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/comp/Collections.dfy.js.expect b/Test/comp/Collections.dfy.js.expect new file mode 100644 index 00000000000..309d0c550c4 --- /dev/null +++ b/Test/comp/Collections.dfy.js.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/comp/Collections.dfy.py.expect b/Test/comp/Collections.dfy.py.expect new file mode 100644 index 00000000000..61b4217bbaf --- /dev/null +++ b/Test/comp/Collections.dfy.py.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {21, 30} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/comp/Comprehensions.dfy b/Test/comp/Comprehensions.dfy index 29ac368f2c3..73c43b22bfa 100644 --- a/Test/comp/Comprehensions.dfy +++ b/Test/comp/Comprehensions.dfy @@ -1,10 +1,5 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false method Main() { AssignSuchThat(); diff --git a/Test/comp/Comprehensions.dfy.expect b/Test/comp/Comprehensions.dfy.expect index 18159ddde0a..c9703fc9397 100644 --- a/Test/comp/Comprehensions.dfy.expect +++ b/Test/comp/Comprehensions.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 32 verified, 0 errors - -Dafny program verifier did not attempt verification x=13 y=14 x=13 y=14 b=yes true false @@ -64,259 +60,3 @@ true true [137438953474, 137438953475, 137438953476, 137438953477, 137438953479] cdefh cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[14 := 7, 12 := 6, 13 := 6] -map[18 := 14, 17 := 13, 16 := 12] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh diff --git a/Test/comp/Comprehensions.dfy.py.expect b/Test/comp/Comprehensions.dfy.py.expect new file mode 100644 index 00000000000..aeaa31fc0f3 --- /dev/null +++ b/Test/comp/Comprehensions.dfy.py.expect @@ -0,0 +1,62 @@ +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[14 := 7, 12 := 6, 13 := 6] +map[18 := 14, 17 := 13, 16 := 12] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh diff --git a/Test/comp/ComprehensionsNewSyntax.dfy b/Test/comp/ComprehensionsNewSyntax.dfy index a324b622e8a..6cd88aeb4f7 100644 --- a/Test/comp/ComprehensionsNewSyntax.dfy +++ b/Test/comp/ComprehensionsNewSyntax.dfy @@ -1,10 +1,5 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method Main() { Quantifier(); diff --git a/Test/comp/ComprehensionsNewSyntax.dfy.expect b/Test/comp/ComprehensionsNewSyntax.dfy.expect index 408769f4b67..b70314ff87b 100644 --- a/Test/comp/ComprehensionsNewSyntax.dfy.expect +++ b/Test/comp/ComprehensionsNewSyntax.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 10 verified, 0 errors - -Dafny program verifier did not attempt verification true false true false map[12 := 6, 13 := 6, 14 := 7] @@ -36,147 +32,3 @@ false false false false true true true true false false false false true true true true - -Dafny program verifier did not attempt verification -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true - -Dafny program verifier did not attempt verification -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true - -Dafny program verifier did not attempt verification -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true - -Dafny program verifier did not attempt verification -true false -true false -map[14 := 7, 12 := 6, 13 := 6] -map[18 := 14, 17 := 13, 16 := 12] -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true diff --git a/Test/comp/ComprehensionsNewSyntax.dfy.py.expect b/Test/comp/ComprehensionsNewSyntax.dfy.py.expect new file mode 100644 index 00000000000..b19cef0ba0e --- /dev/null +++ b/Test/comp/ComprehensionsNewSyntax.dfy.py.expect @@ -0,0 +1,34 @@ +true false +true false +map[14 := 7, 12 := 6, 13 := 6] +map[18 := 14, 17 := 13, 16 := 12] +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true diff --git a/Test/comp/CovariantCollections.dfy b/Test/comp/CovariantCollections.dfy index 12301df3b09..6dd73ee7fea 100644 --- a/Test/comp/CovariantCollections.dfy +++ b/Test/comp/CovariantCollections.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method Main() { Sequences(); diff --git a/Test/comp/CovariantCollections.dfy.expect b/Test/comp/CovariantCollections.dfy.expect index e029d3abc3b..a9d00f4a65d 100644 --- a/Test/comp/CovariantCollections.dfy.expect +++ b/Test/comp/CovariantCollections.dfy.expect @@ -1,223 +1,3 @@ - -Dafny program verifier finished with 25 verified, 0 errors - -Dafny program verifier did not attempt verification -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17] [12, 17] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - comprehension: {82} - union: {17, 82} {12, 17, 82} - intersection: {} {17} - difference: {} {82} - subset: true false true - proper subset: true false false - membership: false true true -Multisets: {} {17, 17, 82, 82} {12, 17} - cardinality: 0 4 2 - update: {17, 17, 42, 42, 42} {12, 17, 42} - multiplicity: 2 0 20 - union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} - intersection: {} {17, 82, 82} - difference: {} {17, 82, 82} - subset: true false true - proper subset: true false false - membership: false true true -Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} - cardinality: 0 3 2 - update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} - comprehension: {17 := 12, 82 := 12} - Keys: {12, 17, 82} - Values: {17, 82} - eq: false true true - eq: true true true true true true - eq: true true true true true true - eq: true false true false true false - eq: true false true false true false - eq: true true true true true true - eq: true true true true true true -set: {20, 30} -multiset: {20, 30} -seq: [20, 30] -map: {20 := 30, 30 := 20} -true -true -1 1 -1 1 - -Dafny program verifier did not attempt verification -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17] [12, 17] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - comprehension: {82} - union: {17, 82} {12, 17, 82} - intersection: {} {17} - difference: {} {82} - subset: true false true - proper subset: true false false - membership: false true true -Multisets: {} {17, 17, 82, 82} {12, 17} - cardinality: 0 4 2 - update: {17, 17, 42, 42, 42} {12, 17, 42} - multiplicity: 2 0 20 - union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} - intersection: {} {17, 82, 82} - difference: {} {17, 82, 82} - subset: true false true - proper subset: true false false - membership: false true true -Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} - cardinality: 0 3 2 - update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} - comprehension: {17 := 12, 82 := 12} - Keys: {12, 17, 82} - Values: {17, 82} - eq: false true true - eq: true true true true true true - eq: true true true true true true - eq: true false true false true false - eq: true false true false true false - eq: true true true true true true - eq: true true true true true true -set: {20, 30} -multiset: {20, 30} -seq: [20, 30] -map: {20 := 30, 30 := 20} -true -true -1 1 -1 1 - -Dafny program verifier did not attempt verification -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17] [12, 17] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - comprehension: {82} - union: {17, 82} {12, 17, 82} - intersection: {} {17} - difference: {} {82} - subset: true false true - proper subset: true false false - membership: false true true -Multisets: {} {17, 17, 82, 82} {12, 17} - cardinality: 0 4 2 - update: {17, 17, 42, 42, 42} {12, 17, 42} - multiplicity: 2 0 20 - union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} - intersection: {} {17, 82, 82} - difference: {} {17, 82, 82} - subset: true false true - proper subset: true false false - membership: false true true -Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} - cardinality: 0 3 2 - update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} - comprehension: {17 := 12, 82 := 12} - Keys: {12, 17, 82} - Values: {17, 82} - eq: false true true - eq: true true true true true true - eq: true true true true true true - eq: true false true false true false - eq: true false true false true false - eq: true true true true true true - eq: true true true true true true -set: {20, 30} -multiset: {20, 30} -seq: [20, 30] -map: {20 := 30, 30 := 20} -true -true -1 1 -1 1 - -Dafny program verifier did not attempt verification -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17] [12, 17] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - comprehension: {82} - union: {17, 82} {12, 17, 82} - intersection: {} {17} - difference: {} {82} - subset: true false true - proper subset: true false false - membership: false true true -Multisets: {} {17, 17, 82, 82} {12, 17} - cardinality: 0 4 2 - update: {17, 17, 42, 42, 42} {12, 17, 42} - multiplicity: 2 0 20 - union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} - intersection: {} {17, 82, 82} - difference: {} {17, 82, 82} - subset: true false true - proper subset: true false false - membership: false true true -Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} - cardinality: 0 3 2 - update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} - comprehension: {17 := 12, 82 := 12} - Keys: {12, 17, 82} - Values: {17, 82} - eq: false true true - eq: true true true true true true - eq: true true true true true true - eq: true false true false true false - eq: true false true false true false - eq: true true true true true true - eq: true true true true true true -set: {20, 30} -multiset: {20, 30} -seq: [20, 30] -map: {20 := 30, 30 := 20} -true -true -1 1 -1 1 - -Dafny program verifier did not attempt verification Sequences: [] [17, 82, 17, 82] [12, 17] cardinality: 0 4 2 update: [42, 82, 17, 82] [42, 17] diff --git a/Test/comp/Datatype.dfy b/Test/comp/Datatype.dfy index 0f4bab7c469..3b3f0641c1a 100644 --- a/Test/comp/Datatype.dfy +++ b/Test/comp/Datatype.dfy @@ -1,10 +1,5 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation datatype List = Nil | Cons(head: int, tail: List) diff --git a/Test/comp/Datatype.dfy.expect b/Test/comp/Datatype.dfy.expect index 84dceeb16e6..93e37a9562a 100644 --- a/Test/comp/Datatype.dfy.expect +++ b/Test/comp/Datatype.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 12 verified, 0 errors - -Dafny program verifier did not attempt verification List.Nil List.Cons(5, List.Nil) (List.Nil, List.Cons(5, List.Nil)) @@ -24,99 +20,3 @@ Record.Record(58, true) 199 800 801 802 800 801 802 - -Dafny program verifier did not attempt verification -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) -0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) -Stream.Next -Stream.Next -{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} -CoBerry.Hjortron true true false -false -42 'q' hello -1701 -Record.Record(58, true) -199 -800 801 802 -800 801 802 - -Dafny program verifier did not attempt verification -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) -0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) -Stream.Next -Stream.Next -{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} -CoBerry.Hjortron true true false -false -42 'q' hello -1701 -Record.Record(58, true) -199 -800 801 802 -800 801 802 - -Dafny program verifier did not attempt verification -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) -0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) -Stream.Next -Stream.Next -{Berry.Jordgubb, Berry.Smultron, Berry.Hallon} -CoBerry.Hjortron true true false -false -42 'q' hello -1701 -Record.Record(58, true) -199 -800 801 802 -800 801 802 - -Dafny program verifier did not attempt verification -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) -0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) -Stream.Next -Stream.Next -{Berry.Hallon, Berry.Smultron, Berry.Jordgubb} -CoBerry.Hjortron true true false -false -42 'q' hello -1701 -Record.Record(58, true) -199 -800 801 802 -800 801 802 diff --git a/Test/comp/Datatype.dfy.java.expect b/Test/comp/Datatype.dfy.java.expect new file mode 100644 index 00000000000..e5a32fd58bc --- /dev/null +++ b/Test/comp/Datatype.dfy.java.expect @@ -0,0 +1,22 @@ +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) +0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) +Stream.Next +Stream.Next +{Berry.Jordgubb, Berry.Smultron, Berry.Hallon} +CoBerry.Hjortron true true false +false +42 'q' hello +1701 +Record.Record(58, true) +199 +800 801 802 +800 801 802 diff --git a/Test/comp/Datatype.dfy.py.expect b/Test/comp/Datatype.dfy.py.expect new file mode 100644 index 00000000000..0f64b73ba2d --- /dev/null +++ b/Test/comp/Datatype.dfy.py.expect @@ -0,0 +1,22 @@ +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) +0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) +Stream.Next +Stream.Next +{Berry.Hallon, Berry.Smultron, Berry.Jordgubb} +CoBerry.Hjortron true true false +false +42 'q' hello +1701 +Record.Record(58, true) +199 +800 801 802 +800 801 802 diff --git a/Test/comp/DefaultParameters-Compile.dfy b/Test/comp/DefaultParameters-Compile.dfy index 145b8670647..cd6ba1163b1 100644 --- a/Test/comp/DefaultParameters-Compile.dfy +++ b/Test/comp/DefaultParameters-Compile.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method M(x: int := 16) { print x, "\n"; diff --git a/Test/comp/DefaultParameters-Compile.dfy.expect b/Test/comp/DefaultParameters-Compile.dfy.expect index b94739d5be1..b4b87321eb5 100644 --- a/Test/comp/DefaultParameters-Compile.dfy.expect +++ b/Test/comp/DefaultParameters-Compile.dfy.expect @@ -1,51 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification -12 -16 -1 2 -1 3 -10 20 -11 13 -Color.Blue(2, 1) Color.Red(3, 4) -5 5 6 -6 6 7 - -Dafny program verifier did not attempt verification -12 -16 -1 2 -1 3 -10 20 -11 13 -Color.Blue(2, 1) Color.Red(3, 4) -5 5 6 -6 6 7 - -Dafny program verifier did not attempt verification -12 -16 -1 2 -1 3 -10 20 -11 13 -Color.Blue(2, 1) Color.Red(3, 4) -5 5 6 -6 6 7 - -Dafny program verifier did not attempt verification -12 -16 -1 2 -1 3 -10 20 -11 13 -Color.Blue(2, 1) Color.Red(3, 4) -5 5 6 -6 6 7 - -Dafny program verifier did not attempt verification 12 16 1 2 diff --git a/Test/comp/DowncastClone.dfy b/Test/comp/DowncastClone.dfy index b90066da781..cb1f095b3f4 100644 --- a/Test/comp/DowncastClone.dfy +++ b/Test/comp/DowncastClone.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Co<+T> = Co(T) | C datatype ReCo<+T> = ReCo(T) diff --git a/Test/comp/DowncastClone.dfy.expect b/Test/comp/DowncastClone.dfy.expect index 982b36b396c..b0613294f3c 100644 --- a/Test/comp/DowncastClone.dfy.expect +++ b/Test/comp/DowncastClone.dfy.expect @@ -1,43 +1,3 @@ - -Dafny program verifier finished with 7 verified, 0 errors - -Dafny program verifier did not attempt verification -Co.Co(_module.Y) and Co.Co(_module.Y) -_module.Y and _module.Y -_module.Y _module.Y -false and false -false and false -_module.Y and _module.Y -Done - -Dafny program verifier did not attempt verification -Co.Co(_module.Y) and Co.Co(_module.Y) -_module.Y and _module.Y -_module.Y _module.Y -false and false -false and false -_module.Y and _module.Y -Done - -Dafny program verifier did not attempt verification -Co.Co(_module.Y) and Co.Co(_module.Y) -_module.Y and _module.Y -_module.Y _module.Y -false and false -false and false -_module.Y and _module.Y -Done - -Dafny program verifier did not attempt verification -Co.Co(_module.Y) and Co.Co(_module.Y) -_module.Y and _module.Y -_module.Y _module.Y -false and false -false and false -_module.Y and _module.Y -Done - -Dafny program verifier did not attempt verification Co.Co(_module.Y) and Co.Co(_module.Y) _module.Y and _module.Y _module.Y _module.Y diff --git a/Test/comp/ErasableTypeWrappers.dfy b/Test/comp/ErasableTypeWrappers.dfy index d62d3736622..a280099699f 100644 --- a/Test/comp/ErasableTypeWrappers.dfy +++ b/Test/comp/ErasableTypeWrappers.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false datatype SingletonRecord = SingletonRecord(u: int) datatype GhostOrNot = ghost Ghost(a: int, b: int) | Compiled(x: int) diff --git a/Test/comp/ErasableTypeWrappers.dfy.expect b/Test/comp/ErasableTypeWrappers.dfy.expect index 602e30d2075..7dd41a194ac 100644 --- a/Test/comp/ErasableTypeWrappers.dfy.expect +++ b/Test/comp/ErasableTypeWrappers.dfy.expect @@ -1,87 +1,3 @@ - -Dafny program verifier finished with 10 verified, 0 errors - -Dafny program verifier did not attempt verification -62 63 (2, 5) (2, 5) 3 -62 63 5 5 3 -5 5 3 -1062 1063 1005 1005 1003 -true true true -20 20 *20 21 20 -20 20 *20 21 20 -true false -true false true false -true false -0 (0, 0) 0 Color.Pink -13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false - 3.14 2.7 -18.0 18.0 3.0 false -18.0 4.0 true -HasConst.MakeC(4) (4, 4) -4 (4, 4) -OptimizationChecks_Compile.Ints.Ints(5, 7) OptimizationChecks_Compile.Ints.Ints(5, 7) OptimizationChecks_Compile.Ints.AnotherIntsWrapper(OptimizationChecks_Compile.Ints.Ints(5, 7)) - -Dafny program verifier did not attempt verification -62 63 (2, 5) (2, 5) 3 -62 63 5 5 3 -5 5 3 -1062 1063 1005 1005 1003 -true true true -20 20 *20 21 20 -20 20 *20 21 20 -true false -true false true false -true false -0 (0, 0) 0 Color.Pink -13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false - 3.14 2.7 -18.0 18.0 3.0 false -18.0 4.0 true -HasConst.MakeC(4) (4, 4) -4 (4, 4) -OptimizationChecks_Compile.Ints.Ints(5, 7) OptimizationChecks_Compile.Ints.Ints(5, 7) OptimizationChecks_Compile.Ints.AnotherIntsWrapper(OptimizationChecks_Compile.Ints.Ints(5, 7)) - -Dafny program verifier did not attempt verification -62 63 (2, 5) (2, 5) 3 -62 63 5 5 3 -5 5 3 -1062 1063 1005 1005 1003 -true true true -20 20 *20 21 20 -20 20 *20 21 20 -true false -true false true false -true false -0 (0, 0) 0 Color.Pink -13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false - 3.14 2.7 -18.0 18.0 3.0 false -18.0 4.0 true -HasConst.MakeC(4) (4, 4) -4 (4, 4) -OptimizationChecks_Compile.Ints.Ints(5, 7) OptimizationChecks_Compile.Ints.Ints(5, 7) OptimizationChecks_Compile.Ints.AnotherIntsWrapper(OptimizationChecks_Compile.Ints.Ints(5, 7)) - -Dafny program verifier did not attempt verification -62 63 (2, 5) (2, 5) 3 -62 63 5 5 3 -5 5 3 -1062 1063 1005 1005 1003 -true true true -20 20 *20 21 20 -20 20 *20 21 20 -true false -true false true false -true false -0 (0, 0) 0 Color.Pink -13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false - 3.14 2.7 -18.0 18.0 3.0 false -18.0 4.0 true -HasConst.MakeC(4) (4, 4) -4 (4, 4) -OptimizationChecks_Compile.Ints.Ints(5, 7) OptimizationChecks_Compile.Ints.Ints(5, 7) OptimizationChecks_Compile.Ints.AnotherIntsWrapper(OptimizationChecks_Compile.Ints.Ints(5, 7)) - -Dafny program verifier did not attempt verification 62 63 (2, 5) (2, 5) 3 62 63 5 5 3 5 5 3 diff --git a/Test/comp/EuclideanDivision.dfy b/Test/comp/EuclideanDivision.dfy index 7ae1803cad8..1286dcd125b 100644 --- a/Test/comp/EuclideanDivision.dfy +++ b/Test/comp/EuclideanDivision.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Some runtimes (like the one for C#) have three implementations // of Euclidean div/mod: one for `int`, one for `long`, and one diff --git a/Test/comp/EuclideanDivision.dfy.expect b/Test/comp/EuclideanDivision.dfy.expect index b538c9494de..e2585ff8c70 100644 --- a/Test/comp/EuclideanDivision.dfy.expect +++ b/Test/comp/EuclideanDivision.dfy.expect @@ -1,39 +1,3 @@ - -Dafny program verifier finished with 11 verified, 0 errors - -Dafny program verifier did not attempt verification -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 - -Dafny program verifier did not attempt verification -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 - -Dafny program verifier did not attempt verification -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 - -Dafny program verifier did not attempt verification -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 - -Dafny program verifier did not attempt verification 2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 diff --git a/Test/comp/ForLoops-Compilation.dfy b/Test/comp/ForLoops-Compilation.dfy index 97101b82961..b468d21f69f 100644 --- a/Test/comp/ForLoops-Compilation.dfy +++ b/Test/comp/ForLoops-Compilation.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method Main() { TestM(0, 0); diff --git a/Test/comp/ForLoops-Compilation.dfy.expect b/Test/comp/ForLoops-Compilation.dfy.expect index d67a5429fed..97724a714bc 100644 --- a/Test/comp/ForLoops-Compilation.dfy.expect +++ b/Test/comp/ForLoops-Compilation.dfy.expect @@ -1,203 +1,3 @@ - -Dafny program verifier finished with 23 verified, 0 errors - -Dafny program verifier did not attempt verification -0 0 0 0 --2 -2 -2 -2 -0 0 0 0 -145 145 145 145 -0 0 -0 0 -57 57 -0 0 -32385 32385 -0 0 --128 -128 -126 126 -0 0 -0 * 2 == 0 -2 * 0 == 0 -1 * 1 == 1 -6 * 5 == 30 -0 + 3 == 3 -3 + 0 == 3 -4 + 0 == 4 -0 + 0 == 0 -19 + 14 == 33 -4 4 4 -== BC10 == -0 --++--++---- *** -1 --++--++----++-- -2 --++--++----++--++--++--++--++--++--++ *** -3 --++--++----++--++--++--++--++--++--++ *** -4 --++--++----++--++--++--++--++--++--++ *** -5 --++--++----++--++--++--++--++--++--++ *** -6 --++--++----++--++--++--++--++--++--++ *** -7 --++--++----++--++--++--++--++--++--++ *** -8 --++--++----++--++--++--++--++--++--++ *** -9 --++--++----++--++--++--++--++--++--++ *** -== BC11 == -0 ||--++----++-- *** -1 ||--++----++--++-- -2 ||--++----++--++--++--++--++--++--++--++ *** -3 ||--++----++--++--++--++--++--++--++--++ *** -4 ||--++----++--++--++--++--++--++--++--++ *** -5 ||--++----++--++--++--++--++--++--++--++ *** -6 ||--++----++--++--++--++--++--++--++--++ *** -7 ||--++----++--++--++--++--++--++--++--++ *** -8 ||--++----++--++--++--++--++--++--++--++ *** -9 ||--++----++--++--++--++--++--++--++--++ *** -true true true 15 -all good - -Dafny program verifier did not attempt verification -0 0 0 0 --2 -2 -2 -2 -0 0 0 0 -145 145 145 145 -0 0 -0 0 -57 57 -0 0 -32385 32385 -0 0 --128 -128 -126 126 -0 0 -0 * 2 == 0 -2 * 0 == 0 -1 * 1 == 1 -6 * 5 == 30 -0 + 3 == 3 -3 + 0 == 3 -4 + 0 == 4 -0 + 0 == 0 -19 + 14 == 33 -4 4 4 -== BC10 == -0 --++--++---- *** -1 --++--++----++-- -2 --++--++----++--++--++--++--++--++--++ *** -3 --++--++----++--++--++--++--++--++--++ *** -4 --++--++----++--++--++--++--++--++--++ *** -5 --++--++----++--++--++--++--++--++--++ *** -6 --++--++----++--++--++--++--++--++--++ *** -7 --++--++----++--++--++--++--++--++--++ *** -8 --++--++----++--++--++--++--++--++--++ *** -9 --++--++----++--++--++--++--++--++--++ *** -== BC11 == -0 ||--++----++-- *** -1 ||--++----++--++-- -2 ||--++----++--++--++--++--++--++--++--++ *** -3 ||--++----++--++--++--++--++--++--++--++ *** -4 ||--++----++--++--++--++--++--++--++--++ *** -5 ||--++----++--++--++--++--++--++--++--++ *** -6 ||--++----++--++--++--++--++--++--++--++ *** -7 ||--++----++--++--++--++--++--++--++--++ *** -8 ||--++----++--++--++--++--++--++--++--++ *** -9 ||--++----++--++--++--++--++--++--++--++ *** -true true true 15 -all good - -Dafny program verifier did not attempt verification -0 0 0 0 --2 -2 -2 -2 -0 0 0 0 -145 145 145 145 -0 0 -0 0 -57 57 -0 0 -32385 32385 -0 0 --128 -128 -126 126 -0 0 -0 * 2 == 0 -2 * 0 == 0 -1 * 1 == 1 -6 * 5 == 30 -0 + 3 == 3 -3 + 0 == 3 -4 + 0 == 4 -0 + 0 == 0 -19 + 14 == 33 -4 4 4 -== BC10 == -0 --++--++---- *** -1 --++--++----++-- -2 --++--++----++--++--++--++--++--++--++ *** -3 --++--++----++--++--++--++--++--++--++ *** -4 --++--++----++--++--++--++--++--++--++ *** -5 --++--++----++--++--++--++--++--++--++ *** -6 --++--++----++--++--++--++--++--++--++ *** -7 --++--++----++--++--++--++--++--++--++ *** -8 --++--++----++--++--++--++--++--++--++ *** -9 --++--++----++--++--++--++--++--++--++ *** -== BC11 == -0 ||--++----++-- *** -1 ||--++----++--++-- -2 ||--++----++--++--++--++--++--++--++--++ *** -3 ||--++----++--++--++--++--++--++--++--++ *** -4 ||--++----++--++--++--++--++--++--++--++ *** -5 ||--++----++--++--++--++--++--++--++--++ *** -6 ||--++----++--++--++--++--++--++--++--++ *** -7 ||--++----++--++--++--++--++--++--++--++ *** -8 ||--++----++--++--++--++--++--++--++--++ *** -9 ||--++----++--++--++--++--++--++--++--++ *** -true true true 15 -all good - -Dafny program verifier did not attempt verification -0 0 0 0 --2 -2 -2 -2 -0 0 0 0 -145 145 145 145 -0 0 -0 0 -57 57 -0 0 -32385 32385 -0 0 --128 -128 -126 126 -0 0 -0 * 2 == 0 -2 * 0 == 0 -1 * 1 == 1 -6 * 5 == 30 -0 + 3 == 3 -3 + 0 == 3 -4 + 0 == 4 -0 + 0 == 0 -19 + 14 == 33 -4 4 4 -== BC10 == -0 --++--++---- *** -1 --++--++----++-- -2 --++--++----++--++--++--++--++--++--++ *** -3 --++--++----++--++--++--++--++--++--++ *** -4 --++--++----++--++--++--++--++--++--++ *** -5 --++--++----++--++--++--++--++--++--++ *** -6 --++--++----++--++--++--++--++--++--++ *** -7 --++--++----++--++--++--++--++--++--++ *** -8 --++--++----++--++--++--++--++--++--++ *** -9 --++--++----++--++--++--++--++--++--++ *** -== BC11 == -0 ||--++----++-- *** -1 ||--++----++--++-- -2 ||--++----++--++--++--++--++--++--++--++ *** -3 ||--++----++--++--++--++--++--++--++--++ *** -4 ||--++----++--++--++--++--++--++--++--++ *** -5 ||--++----++--++--++--++--++--++--++--++ *** -6 ||--++----++--++--++--++--++--++--++--++ *** -7 ||--++----++--++--++--++--++--++--++--++ *** -8 ||--++----++--++--++--++--++--++--++--++ *** -9 ||--++----++--++--++--++--++--++--++--++ *** -true true true 15 -all good - -Dafny program verifier did not attempt verification 0 0 0 0 -2 -2 -2 -2 0 0 0 0 diff --git a/Test/comp/ForallNewSyntax.dfy b/Test/comp/ForallNewSyntax.dfy index c17bf86830e..85e609b37b3 100644 --- a/Test/comp/ForallNewSyntax.dfy +++ b/Test/comp/ForallNewSyntax.dfy @@ -1,10 +1,4 @@ -// RUN: %baredafny verify %args --relax-definite-assignment --function-syntax:3 --quantifier-syntax:4 "%s" > "%t" -// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:cs "%s" >> "%t" -// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:js "%s" >> "%t" -// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:go "%s" >> "%t" -// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:java "%s" >> "%t" -// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --function-syntax:3 --quantifier-syntax:4 --relax-definite-assignment method Main() { var arrayTests := new ArrayTests(); diff --git a/Test/comp/ForallNewSyntax.dfy.expect b/Test/comp/ForallNewSyntax.dfy.expect index 241ea9ea521..5b33d939607 100644 --- a/Test/comp/ForallNewSyntax.dfy.expect +++ b/Test/comp/ForallNewSyntax.dfy.expect @@ -1,183 +1,3 @@ - -Dafny program verifier finished with 25 verified, 0 errors - -Dafny program verifier did not attempt verification -Arrays: Basic cases -[0, 1, 2, 3, 4] -[0, 1, 2, 3, 4] -[0, 1, 4, 3, 8] - -Arrays: Wrong index -[0, 0, 1, 2, 3] -[0, 0, 1, 2, 3] -[1, 2, 3, 4, 5] - -Arrays: Sequence conversion -[2, 1, 4, 5, 6] -[0, 3, 3, 3, 4] - -Arrays: Index collection -[1, 1, 2, 3, 4] -[1, 1, 2, 3, 4] - -Arrays: Functions -[1, 1, 3, 4, 5] -[1, 1, 3, 4, 5] -[1, 2, 3, 3, 5] -[1, 2, 3, 4, 5] - -Multi-dimensional arrays -[[0, 2, 4], [1, 3, 5], [2, 4, 6]] -[[0, 1, 2], [2, 3, 4], [4, 5, 6]] - -Objects: Basic cases -[(0, 1.0), (0, 2.0), (0, 3.0)] -[(2, 1.0), (2, 2.0), (4, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] - -Objects: Bad field accesses -[(2, 1.0), (3, 2.0), (4, 3.0)] -[(2, 1.0), (2, 2.0), (2, 3.0)] -[(2, 1.0), (3, 2.0), (1, 3.0)] - -Objects: Functions -[(2, 1.0), (4, 2.0), (6, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] -[(3, 1.0), (4, 2.0), (5, 3.0)] - -Dafny program verifier did not attempt verification -Arrays: Basic cases -[0, 1, 2, 3, 4] -[0, 1, 2, 3, 4] -[0, 1, 4, 3, 8] - -Arrays: Wrong index -[0, 0, 1, 2, 3] -[0, 0, 1, 2, 3] -[1, 2, 3, 4, 5] - -Arrays: Sequence conversion -[2, 1, 4, 5, 6] -[0, 3, 3, 3, 4] - -Arrays: Index collection -[1, 1, 2, 3, 4] -[1, 1, 2, 3, 4] - -Arrays: Functions -[1, 1, 3, 4, 5] -[1, 1, 3, 4, 5] -[1, 2, 3, 3, 5] -[1, 2, 3, 4, 5] - -Multi-dimensional arrays -[[0, 2, 4], [1, 3, 5], [2, 4, 6]] -[[0, 1, 2], [2, 3, 4], [4, 5, 6]] - -Objects: Basic cases -[(0, 1.0), (0, 2.0), (0, 3.0)] -[(2, 1.0), (2, 2.0), (4, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] - -Objects: Bad field accesses -[(2, 1.0), (3, 2.0), (4, 3.0)] -[(2, 1.0), (2, 2.0), (2, 3.0)] -[(2, 1.0), (3, 2.0), (1, 3.0)] - -Objects: Functions -[(2, 1.0), (4, 2.0), (6, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] -[(3, 1.0), (4, 2.0), (5, 3.0)] - -Dafny program verifier did not attempt verification -Arrays: Basic cases -[0, 1, 2, 3, 4] -[0, 1, 2, 3, 4] -[0, 1, 4, 3, 8] - -Arrays: Wrong index -[0, 0, 1, 2, 3] -[0, 0, 1, 2, 3] -[1, 2, 3, 4, 5] - -Arrays: Sequence conversion -[2, 1, 4, 5, 6] -[0, 3, 3, 3, 4] - -Arrays: Index collection -[1, 1, 2, 3, 4] -[1, 1, 2, 3, 4] - -Arrays: Functions -[1, 1, 3, 4, 5] -[1, 1, 3, 4, 5] -[1, 2, 3, 3, 5] -[1, 2, 3, 4, 5] - -Multi-dimensional arrays -[[0, 2, 4], [1, 3, 5], [2, 4, 6]] -[[0, 1, 2], [2, 3, 4], [4, 5, 6]] - -Objects: Basic cases -[(0, 1.0), (0, 2.0), (0, 3.0)] -[(2, 1.0), (2, 2.0), (4, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] - -Objects: Bad field accesses -[(2, 1.0), (3, 2.0), (4, 3.0)] -[(2, 1.0), (2, 2.0), (2, 3.0)] -[(2, 1.0), (3, 2.0), (1, 3.0)] - -Objects: Functions -[(2, 1.0), (4, 2.0), (6, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] -[(3, 1.0), (4, 2.0), (5, 3.0)] - -Dafny program verifier did not attempt verification -Arrays: Basic cases -[0, 1, 2, 3, 4] -[0, 1, 2, 3, 4] -[0, 1, 4, 3, 8] - -Arrays: Wrong index -[0, 0, 1, 2, 3] -[0, 0, 1, 2, 3] -[1, 2, 3, 4, 5] - -Arrays: Sequence conversion -[2, 1, 4, 5, 6] -[0, 3, 3, 3, 4] - -Arrays: Index collection -[1, 1, 2, 3, 4] -[1, 1, 2, 3, 4] - -Arrays: Functions -[1, 1, 3, 4, 5] -[1, 1, 3, 4, 5] -[1, 2, 3, 3, 5] -[1, 2, 3, 4, 5] - -Multi-dimensional arrays -[[0, 2, 4], [1, 3, 5], [2, 4, 6]] -[[0, 1, 2], [2, 3, 4], [4, 5, 6]] - -Objects: Basic cases -[(0, 1.0), (0, 2.0), (0, 3.0)] -[(2, 1.0), (2, 2.0), (4, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] - -Objects: Bad field accesses -[(2, 1.0), (3, 2.0), (4, 3.0)] -[(2, 1.0), (2, 2.0), (2, 3.0)] -[(2, 1.0), (3, 2.0), (1, 3.0)] - -Objects: Functions -[(2, 1.0), (4, 2.0), (6, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] -[(3, 1.0), (4, 2.0), (5, 3.0)] - -Dafny program verifier did not attempt verification Arrays: Basic cases [0, 1, 2, 3, 4] [0, 1, 2, 3, 4] diff --git a/Test/comp/Ghosts.dfy b/Test/comp/Ghosts.dfy index 506fe0facb1..8afe8a36d3f 100644 --- a/Test/comp/Ghosts.dfy +++ b/Test/comp/Ghosts.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method M1() returns (x: int) { diff --git a/Test/comp/Ghosts.dfy.expect b/Test/comp/Ghosts.dfy.expect index 430a9c18fc0..d075ea048c1 100644 --- a/Test/comp/Ghosts.dfy.expect +++ b/Test/comp/Ghosts.dfy.expect @@ -1,55 +1,3 @@ - -Dafny program verifier finished with 8 verified, 0 errors - -Dafny program verifier did not attempt verification -hello, M2 -hello, M2 -hello, M3 -hello, M1 -hello, M1 -hello, M1 -hello, M2 -hello, M3 -hello, N0 -hello, N1 - -Dafny program verifier did not attempt verification -hello, M2 -hello, M2 -hello, M3 -hello, M1 -hello, M1 -hello, M1 -hello, M2 -hello, M3 -hello, N0 -hello, N1 - -Dafny program verifier did not attempt verification -hello, M2 -hello, M2 -hello, M3 -hello, M1 -hello, M1 -hello, M1 -hello, M2 -hello, M3 -hello, N0 -hello, N1 - -Dafny program verifier did not attempt verification -hello, M2 -hello, M2 -hello, M3 -hello, M1 -hello, M1 -hello, M1 -hello, M2 -hello, M3 -hello, N0 -hello, N1 - -Dafny program verifier did not attempt verification hello, M2 hello, M2 hello, M3 diff --git a/Test/comp/Let.dfy b/Test/comp/Let.dfy index 64dce8b90e6..2a639009c78 100644 --- a/Test/comp/Let.dfy +++ b/Test/comp/Let.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cs "%s" > "%t" -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method M() returns (x: int) { x := var y := 50; y; // non-top-level let diff --git a/Test/comp/Let.dfy.expect b/Test/comp/Let.dfy.expect index 667abc32458..f05dfc414c1 100644 --- a/Test/comp/Let.dfy.expect +++ b/Test/comp/Let.dfy.expect @@ -1,37 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors -50 58 -Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) -5 7 9 10 12 30 -5 7 -5 7 -12.0 15.0 15.0 15.0 - -Dafny program verifier finished with 5 verified, 0 errors -50 58 -Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) -5 7 9 10 12 30 -5 7 -5 7 -12.0 15.0 15.0 15.0 - -Dafny program verifier finished with 5 verified, 0 errors -50 58 -Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) -5 7 9 10 12 30 -5 7 -5 7 -12.0 15.0 15.0 15.0 - -Dafny program verifier finished with 5 verified, 0 errors -50 58 -Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) -5 7 9 10 12 30 -5 7 -5 7 -12.0 15.0 15.0 15.0 - -Dafny program verifier finished with 5 verified, 0 errors 50 58 Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) 5 7 9 10 12 30 diff --git a/Test/comp/MoreAutoInit.dfy b/Test/comp/MoreAutoInit.dfy index 46bdf7148f1..c72083f1be5 100644 --- a/Test/comp/MoreAutoInit.dfy +++ b/Test/comp/MoreAutoInit.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { Methods.TestStart(); diff --git a/Test/comp/MoreAutoInit.dfy.expect b/Test/comp/MoreAutoInit.dfy.expect index cc1ae3b994a..a3a230fd0f1 100644 --- a/Test/comp/MoreAutoInit.dfy.expect +++ b/Test/comp/MoreAutoInit.dfy.expect @@ -1,575 +1,3 @@ - -Dafny program verifier finished with 38 verified, 0 errors - -Dafny program verifier did not attempt verification -Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -{} - ++ {} -[] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -{2} - ++ {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni - ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni -Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni - ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni -Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni -Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni - ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni - ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni -[] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] - ** [] ++ [] -[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [] - ** [] ++ [] -[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [] -[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] - ++ [Consts_Compile.Uni.Uni] ++ [] - ** [] ++ [] ++ [] -15 -0-0 0.0-0.0 false-false 'D'-'D' 0 -0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 -0-0 0-0 0-0 0-0 1 1 -0.0-0.0 68.0 -null-null null-null null-null null-null -0 -0:0:0 -0-0 -{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] -DefaultValuedExpressions_Compile.Color.Red-DefaultValuedExpressions_Compile.Color.Red DefaultValuedExpressions_Compile.PossibleCell.Nothing-DefaultValuedExpressions_Compile.PossibleCell.Nothing DefaultValuedExpressions_Compile.Cell.LittleCell(0)-DefaultValuedExpressions_Compile.Cell.LittleCell(0) -()-() (0, 0.0)-(0, 0.0) -(DefaultValuedExpressions_Compile.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions_Compile.Color.Red, (0, 0.0), ()) -null-null null-null -0-0 0-0 0-0 3 4 5 -0-0 11 0-0 8 - -Dafny program verifier did not attempt verification -Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -{} - ++ {} -[] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -{2} - ++ {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni - ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni -Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni - ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni -Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni -Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni - ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni - ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni -[] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] - ** [] ++ [] -[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [] - ** [] ++ [] -[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [] -[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] - ++ [Consts_Compile.Uni.Uni] ++ [] - ** [] ++ [] ++ [] -15 -0-0 0.0-0.0 false-false 'D'-'D' 0 -0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 -0-0 0-0 0-0 0-0 1 1 -0.0-0.0 68.0 -null-null null-null null-null null-null -0 -0:0:0 -0-0 -{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] -DefaultValuedExpressions_Compile.Color.Red-DefaultValuedExpressions_Compile.Color.Red DefaultValuedExpressions_Compile.PossibleCell.Nothing-DefaultValuedExpressions_Compile.PossibleCell.Nothing DefaultValuedExpressions_Compile.Cell.LittleCell(0)-DefaultValuedExpressions_Compile.Cell.LittleCell(0) -()-() (0, 0.0)-(0, 0.0) -(DefaultValuedExpressions_Compile.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions_Compile.Color.Red, (0, 0.0), ()) -null-null null-null -0-0 0-0 0-0 3 4 5 -0-0 11 0-0 8 - -Dafny program verifier did not attempt verification -Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -{} - ++ {} -[] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -{2} - ++ {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni - ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni -Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni - ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni -Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni -Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni - ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni - ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni -[] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] - ** [] ++ [] -[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [] - ** [] ++ [] -[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [] -[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] - ++ [Consts_Compile.Uni.Uni] ++ [] - ** [] ++ [] ++ [] -15 -0-0 0.0-0.0 false-false 'D'-'D' 0 -0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 -0-0 0-0 0-0 0-0 1 1 -0.0-0.0 68.0 -null-null null-null null-null null-null -0 -0:0:0 -0-0 -{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] -DefaultValuedExpressions_Compile.Color.Red-DefaultValuedExpressions_Compile.Color.Red DefaultValuedExpressions_Compile.PossibleCell.Nothing-DefaultValuedExpressions_Compile.PossibleCell.Nothing DefaultValuedExpressions_Compile.Cell.LittleCell(0)-DefaultValuedExpressions_Compile.Cell.LittleCell(0) -()-() (0, 0.0)-(0, 0.0) -(DefaultValuedExpressions_Compile.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions_Compile.Color.Red, (0, 0.0), ()) -null-null null-null -0-0 0-0 0-0 3 4 5 -0-0 11 0-0 8 - -Dafny program verifier did not attempt verification -Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -{} - ++ {} -[] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -{2} - ++ {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni - ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni -Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni - ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni -Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni -Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni - ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni - ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni -[] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] - ** [] ++ [] -[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [] - ** [] ++ [] -[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [] -[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] - ++ [Consts_Compile.Uni.Uni] ++ [] - ** [] ++ [] ++ [] -15 -0-0 0.0-0.0 false-false 'D'-'D' 0 -0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 -0-0 0-0 0-0 0-0 1 1 -0.0-0.0 68.0 -null-null null-null null-null null-null -0 -0:0:0 -0-0 -{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] -DefaultValuedExpressions_Compile.Color.Red-DefaultValuedExpressions_Compile.Color.Red DefaultValuedExpressions_Compile.PossibleCell.Nothing-DefaultValuedExpressions_Compile.PossibleCell.Nothing DefaultValuedExpressions_Compile.Cell.LittleCell(0)-DefaultValuedExpressions_Compile.Cell.LittleCell(0) -()-() (0, 0.0)-(0, 0.0) -(DefaultValuedExpressions_Compile.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions_Compile.Color.Red, (0, 0.0), ()) -null-null null-null -0-0 0-0 0-0 3 4 5 -0-0 11 0-0 8 - -Dafny program verifier did not attempt verification Methods_Compile.Uni.Uni ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni diff --git a/Test/comp/NativeNumbers.dfy b/Test/comp/NativeNumbers.dfy index c63d02cf643..e1fadb1c406 100644 --- a/Test/comp/NativeNumbers.dfy +++ b/Test/comp/NativeNumbers.dfy @@ -1,11 +1,6 @@ +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false // Skip JavaScript because JavaScript doesn't have the same native types -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" method Main() { CastTests(); diff --git a/Test/comp/NativeNumbers.dfy.expect b/Test/comp/NativeNumbers.dfy.expect index 2be030252cf..6a9d263fc73 100644 --- a/Test/comp/NativeNumbers.dfy.expect +++ b/Test/comp/NativeNumbers.dfy.expect @@ -1,259 +1,3 @@ - -Dafny program verifier finished with 25 verified, 0 errors - -Dafny program verifier did not attempt verification -Casting: - -Small numbers: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 -5 5 5 5 5 5 5 5 5 -6 6 6 6 6 6 6 6 6 -7 7 7 7 7 7 7 7 7 -8 8 8 8 8 8 8 8 8 - -Large unsigned numbers: -255 255 255 255 255 255 255 255 -65535 65535 65535 65535 65535 65535 -4294967295 4294967295 4294967295 4294967295 -18446744073709551615 18446744073709551615 - -Int to large unsigned: -255 65535 4294967295 18446744073709551615 - -Cast from cardinality operator: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 - -Characters: -C 67 67 67 67 67 67 67 67 67 -0 127 32767 65535 65535 255 65535 65535 65535 - -Defaults: - -0 0 0 0 0 0 0 0 0 - -Byte arithmetic: - -20 30 -10 10 18 - -Short arithmetic: - -20 30 -10 10 18 - -Bitvectors: - -0 3 4 1 - -Comparison to zero: - -int8: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int16: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int32: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int64: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint8: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint16: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint32: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint64: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N - - -Dafny program verifier did not attempt verification -Casting: - -Small numbers: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 -5 5 5 5 5 5 5 5 5 -6 6 6 6 6 6 6 6 6 -7 7 7 7 7 7 7 7 7 -8 8 8 8 8 8 8 8 8 - -Large unsigned numbers: -255 255 255 255 255 255 255 255 -65535 65535 65535 65535 65535 65535 -4294967295 4294967295 4294967295 4294967295 -18446744073709551615 18446744073709551615 - -Int to large unsigned: -255 65535 4294967295 18446744073709551615 - -Cast from cardinality operator: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 - -Characters: -C 67 67 67 67 67 67 67 67 67 -0 127 32767 65535 65535 255 65535 65535 65535 - -Defaults: - -0 0 0 0 0 0 0 0 0 - -Byte arithmetic: - -20 30 -10 10 18 - -Short arithmetic: - -20 30 -10 10 18 - -Bitvectors: - -0 3 4 1 - -Comparison to zero: - -int8: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int16: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int32: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int64: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint8: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint16: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint32: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint64: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N - - -Dafny program verifier did not attempt verification -Casting: - -Small numbers: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 -5 5 5 5 5 5 5 5 5 -6 6 6 6 6 6 6 6 6 -7 7 7 7 7 7 7 7 7 -8 8 8 8 8 8 8 8 8 - -Large unsigned numbers: -255 255 255 255 255 255 255 255 -65535 65535 65535 65535 65535 65535 -4294967295 4294967295 4294967295 4294967295 -18446744073709551615 18446744073709551615 - -Int to large unsigned: -255 65535 4294967295 18446744073709551615 - -Cast from cardinality operator: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 - -Characters: -C 67 67 67 67 67 67 67 67 67 -0 127 32767 65535 65535 255 65535 65535 65535 - -Defaults: - -0 0 0 0 0 0 0 0 0 - -Byte arithmetic: - -20 30 -10 10 18 - -Short arithmetic: - -20 30 -10 10 18 - -Bitvectors: - -0 3 4 1 - -Comparison to zero: - -int8: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int16: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int32: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int64: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint8: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint16: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint32: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint64: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N - - -Dafny program verifier did not attempt verification Casting: Small numbers: diff --git a/Test/comp/NestedArrays.dfy b/Test/comp/NestedArrays.dfy index 0c2b313a32c..39d256f4936 100644 --- a/Test/comp/NestedArrays.dfy +++ b/Test/comp/NestedArrays.dfy @@ -1,9 +1,4 @@ -// RUN: %baredafny verify --relax-definite-assignment %args "%s" > "%t" -// RUN: %baredafny run --no-verify --target=cs %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=js %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=go %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=py %args "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /* Note, compiling to arrays in Java is difficult. In fact, this is currently * broken, see https://github.com/dafny-lang/dafny/issues/3055. Until this gets diff --git a/Test/comp/NestedArrays.dfy.expect b/Test/comp/NestedArrays.dfy.expect index a24d140b9d4..aa47d0d46d4 100644 --- a/Test/comp/NestedArrays.dfy.expect +++ b/Test/comp/NestedArrays.dfy.expect @@ -1,18 +1,2 @@ - -Dafny program verifier finished with 4 verified, 0 errors - -Dafny program verifier did not attempt verification -0 -0 - -Dafny program verifier did not attempt verification -0 -0 - -Dafny program verifier did not attempt verification -0 -0 - -Dafny program verifier did not attempt verification 0 0 diff --git a/Test/comp/Numbers.dfy b/Test/comp/Numbers.dfy index 36bf24dcdb4..c76bc87fdc0 100644 --- a/Test/comp/Numbers.dfy +++ b/Test/comp/Numbers.dfy @@ -1,10 +1,5 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false method Main() { Literals(); diff --git a/Test/comp/Numbers.dfy.expect b/Test/comp/Numbers.dfy.expect index 8d994e1c7c6..7eacf4e709d 100644 --- a/Test/comp/Numbers.dfy.expect +++ b/Test/comp/Numbers.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 59 verified, 0 errors - -Dafny program verifier did not attempt verification 0 0 3 @@ -113,455 +109,3 @@ true false true false false true false true true false true false 20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -g Q 2 -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -(312.0 / 40.0) (1248.0 / 40.0) -(-312.0 / 40.0) (-1248.0 / 40.0) -(-312.0 / 40.0) (1248.0 / 40.0) -(312.0 / 40.0) (-1248.0 / 40.0) -0.0 0.0 0.0 -120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) -123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 (8100.0 / 8100.0) -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -g Q 2 -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -g Q 2 -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -(312.0 / 40.0) (1248.0 / 40.0) -(-312.0 / 40.0) (-1248.0 / 40.0) -(-312.0 / 40.0) (1248.0 / 40.0) -(312.0 / 40.0) (-1248.0 / 40.0) -0.0 0.0 0.0 -120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) -123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 (8100.0 / 8100.0) -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -g Q 2 -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 diff --git a/Test/comp/Numbers.dfy.go.expect b/Test/comp/Numbers.dfy.go.expect new file mode 100644 index 00000000000..ce109553619 --- /dev/null +++ b/Test/comp/Numbers.dfy.go.expect @@ -0,0 +1,111 @@ +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +g Q 2 +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 diff --git a/Test/comp/Numbers.dfy.py.expect b/Test/comp/Numbers.dfy.py.expect new file mode 100644 index 00000000000..ce109553619 --- /dev/null +++ b/Test/comp/Numbers.dfy.py.expect @@ -0,0 +1,111 @@ +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +g Q 2 +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 diff --git a/Test/comp/Poly.dfy b/Test/comp/Poly.dfy index ff25fc16b80..73670903428 100644 --- a/Test/comp/Poly.dfy +++ b/Test/comp/Poly.dfy @@ -1,10 +1,5 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation trait Shape { function Center(): (real, real) reads this diff --git a/Test/comp/Poly.dfy.expect b/Test/comp/Poly.dfy.expect index 4ffff82d5ab..7dc24821586 100644 --- a/Test/comp/Poly.dfy.expect +++ b/Test/comp/Poly.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 15 verified, 0 errors - -Dafny program verifier did not attempt verification Center of square: ((1.0 / 2.0), (1.0 / 2.0)) Center of circle: (1.0, 1.0) Center: ((1.0 / 2.0), (1.0 / 2.0)) @@ -14,59 +10,3 @@ Center: ((1.0 / 2.0), (1.0 / 2.0)) Center: (1.0, 1.0) Center: ((1.0 / 2.0), (1.0 / 2.0)) Center: (1.0, 1.0) - -Dafny program verifier did not attempt verification -Center of square: ((1.0 / 2.0), (1.0 / 2.0)) -Center of circle: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) - -Dafny program verifier did not attempt verification -Center of square: ((1.0 / 2.0), (1.0 / 2.0)) -Center of circle: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) - -Dafny program verifier did not attempt verification -Center of square: (0.5, 0.5) -Center of circle: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) - -Dafny program verifier did not attempt verification -Center of square: (0.5, 0.5) -Center of circle: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) diff --git a/Test/comp/Poly.dfy.go.expect b/Test/comp/Poly.dfy.go.expect new file mode 100644 index 00000000000..88e09c5e6ff --- /dev/null +++ b/Test/comp/Poly.dfy.go.expect @@ -0,0 +1,12 @@ +Center of square: (0.5, 0.5) +Center of circle: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) diff --git a/Test/comp/Poly.dfy.py.expect b/Test/comp/Poly.dfy.py.expect new file mode 100644 index 00000000000..88e09c5e6ff --- /dev/null +++ b/Test/comp/Poly.dfy.py.expect @@ -0,0 +1,12 @@ +Center of square: (0.5, 0.5) +Center of circle: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) diff --git a/Test/comp/Print.dfy b/Test/comp/Print.dfy index 166bae4c351..39f8a447396 100644 --- a/Test/comp/Print.dfy +++ b/Test/comp/Print.dfy @@ -1,9 +1,5 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false // Python salts hashes so they are not deterministic. diff --git a/Test/comp/Print.dfy.expect b/Test/comp/Print.dfy.expect index c2b186af0ec..88ded65afab 100644 --- a/Test/comp/Print.dfy.expect +++ b/Test/comp/Print.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification Strings in collections: [abc, def] [[abc, def]] @@ -10,33 +6,3 @@ Strings in collections: [] [] [aaaaa] - -Dafny program verifier did not attempt verification -Strings in collections: - [abc, def] - [[abc, def]] - {abc, def} - [abc, def] - [] - [] - [aaaaa] - -Dafny program verifier did not attempt verification -Strings in collections: - [abc, def] - [[abc, def]] - {abc, def} - [abc, def] - [] - [] - [aaaaa] - -Dafny program verifier did not attempt verification -Strings in collections: - [abc, def] - [[abc, def]] - {abc, def} - [abc, def] - [] - [] - [aaaaa] diff --git a/Test/comp/Print.dfy.go.expect b/Test/comp/Print.dfy.go.expect new file mode 100644 index 00000000000..7ac90f01b3c --- /dev/null +++ b/Test/comp/Print.dfy.go.expect @@ -0,0 +1,8 @@ +Strings in collections: + [abc, def] + [[abc, def]] + {abc, def} + [abc, def] + [] + [] + [aaaaa] diff --git a/Test/comp/Print.dfy.java.expect b/Test/comp/Print.dfy.java.expect new file mode 100644 index 00000000000..7ac90f01b3c --- /dev/null +++ b/Test/comp/Print.dfy.java.expect @@ -0,0 +1,8 @@ +Strings in collections: + [abc, def] + [[abc, def]] + {abc, def} + [abc, def] + [] + [] + [aaaaa] diff --git a/Test/comp/Print.dfy.js.expect b/Test/comp/Print.dfy.js.expect new file mode 100644 index 00000000000..7ac90f01b3c --- /dev/null +++ b/Test/comp/Print.dfy.js.expect @@ -0,0 +1,8 @@ +Strings in collections: + [abc, def] + [[abc, def]] + {abc, def} + [abc, def] + [] + [] + [aaaaa] diff --git a/Test/comp/StaticMembersOfGenericTypes.dfy b/Test/comp/StaticMembersOfGenericTypes.dfy index 8c402dab951..8a8614d21a5 100644 --- a/Test/comp/StaticMembersOfGenericTypes.dfy +++ b/Test/comp/StaticMembersOfGenericTypes.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { GenericClass(); diff --git a/Test/comp/StaticMembersOfGenericTypes.dfy.expect b/Test/comp/StaticMembersOfGenericTypes.dfy.expect index 54e32b42ee5..196f1295e12 100644 --- a/Test/comp/StaticMembersOfGenericTypes.dfy.expect +++ b/Test/comp/StaticMembersOfGenericTypes.dfy.expect @@ -1,79 +1,3 @@ - -Dafny program verifier finished with 9 verified, 0 errors - -Dafny program verifier did not attempt verification -(0, 1) (true, 2, 3) -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -(2.0, true) (3.0, false) -(2.0, true) (3.0, false) -true false -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -50 3 4 -149 - -Dafny program verifier did not attempt verification -(0, 1) (true, 2, 3) -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -(2.0, true) (3.0, false) -(2.0, true) (3.0, false) -true false -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -50 3 4 -149 - -Dafny program verifier did not attempt verification -(0, 1) (true, 2, 3) -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -(2.0, true) (3.0, false) -(2.0, true) (3.0, false) -true false -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -50 3 4 -149 - -Dafny program verifier did not attempt verification -(0, 1) (true, 2, 3) -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -(2.0, true) (3.0, false) -(2.0, true) (3.0, false) -true false -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -50 3 4 -149 - -Dafny program verifier did not attempt verification (0, 1) (true, 2, 3) 0 25 (20, 21) (20, 21) 23 22 0 25 (20, 21) (20, 21) 23 22 diff --git a/Test/comp/TailRecursion.dfy b/Test/comp/TailRecursion.dfy index 68ba6ee4669..b3631d5eccc 100644 --- a/Test/comp/TailRecursion.dfy +++ b/Test/comp/TailRecursion.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { // In the following, 2_000_000 is too large an argument without tail-calls diff --git a/Test/comp/TailRecursion.dfy.expect b/Test/comp/TailRecursion.dfy.expect index 23c852a41fe..4b9da7e5093 100644 --- a/Test/comp/TailRecursion.dfy.expect +++ b/Test/comp/TailRecursion.dfy.expect @@ -1,79 +1,3 @@ - -Dafny program verifier finished with 28 verified, 0 errors - -Dafny program verifier did not attempt verification -2000000 2000000 -2000000 2000000 -1000000 1000000 -10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 -TriangleNumber(10) = 55 -TriangleNumber_Real(10) = 55.0 -TriangleNumber_ORDINAL(10) = 55 -Factorial(5) = 120 -Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] -UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] -Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 -TheBigSubtract(100) = -12 -TailNat(10) = 50 -17 17 17 -2000000 - -Dafny program verifier did not attempt verification -2000000 2000000 -2000000 2000000 -1000000 1000000 -10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 -TriangleNumber(10) = 55 -TriangleNumber_Real(10) = 55.0 -TriangleNumber_ORDINAL(10) = 55 -Factorial(5) = 120 -Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] -UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] -Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 -TheBigSubtract(100) = -12 -TailNat(10) = 50 -17 17 17 -2000000 - -Dafny program verifier did not attempt verification -2000000 2000000 -2000000 2000000 -1000000 1000000 -10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 -TriangleNumber(10) = 55 -TriangleNumber_Real(10) = 55.0 -TriangleNumber_ORDINAL(10) = 55 -Factorial(5) = 120 -Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] -UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] -Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 -TheBigSubtract(100) = -12 -TailNat(10) = 50 -17 17 17 -2000000 - -Dafny program verifier did not attempt verification -2000000 2000000 -2000000 2000000 -1000000 1000000 -10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 -TriangleNumber(10) = 55 -TriangleNumber_Real(10) = 55.0 -TriangleNumber_ORDINAL(10) = 55 -Factorial(5) = 120 -Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] -UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] -Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 -TheBigSubtract(100) = -12 -TailNat(10) = 50 -17 17 17 -2000000 - -Dafny program verifier did not attempt verification 2000000 2000000 2000000 2000000 1000000 1000000 diff --git a/Test/comp/TypeDescriptors.dfy b/Test/comp/TypeDescriptors.dfy index 636cb3db583..5bedbb900e4 100644 --- a/Test/comp/TypeDescriptors.dfy +++ b/Test/comp/TypeDescriptors.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Method(s: string, g: G) { var zero: G; diff --git a/Test/comp/TypeDescriptors.dfy.expect b/Test/comp/TypeDescriptors.dfy.expect index 9b1e8487bdc..1b09338c83d 100644 --- a/Test/comp/TypeDescriptors.dfy.expect +++ b/Test/comp/TypeDescriptors.dfy.expect @@ -1,155 +1,3 @@ - -Dafny program verifier finished with 11 verified, 0 errors - -Dafny program verifier did not attempt verification -int: 8 0 -bool: true false -char: 'r' 'D' -real: 1.618 0.0 -ORDINAL: 0 -bv0: 0 0 -bv21: 121 0 -bv32: 132 0 -bv191: 191 0 -set: {7} {} -multiset: multiset{7, 7} multiset{} -seq: [7] [] -map: map[2 := 7] map[] -pos: 3 1 -Hundred: 6 0 -HundredOdd: 13 19 -JustOdd: 131 5 -(): () () -(int, real): (2, 3.2) (0, 0.0) -(int, pos): (2, 3) (0, 1) -AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) -Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) -Stream: Stream.More -A=int: 15 0 -B=int: 16 0 -datatype.B=: {14} {} -object?: null -Class?>: null -Trait?>: null -array?: null -array2?: null -int --> bool: null -array? ~> bool: null - -Dafny program verifier did not attempt verification -int: 8 0 -bool: true false -char: 'r' 'D' -real: 1.618 0.0 -ORDINAL: 0 -bv0: 0 0 -bv21: 121 0 -bv32: 132 0 -bv191: 191 0 -set: {7} {} -multiset: multiset{7, 7} multiset{} -seq: [7] [] -map: map[2 := 7] map[] -pos: 3 1 -Hundred: 6 0 -HundredOdd: 13 19 -JustOdd: 131 5 -(): () () -(int, real): (2, 3.2) (0, 0.0) -(int, pos): (2, 3) (0, 1) -AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) -Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) -Stream: Stream.More -A=int: 15 0 -B=int: 16 0 -datatype.B=: {14} {} -object?: null -Class?>: null -Trait?>: null -array?: null -array2?: null -int --> bool: null -array? ~> bool: null - -Dafny program verifier did not attempt verification -int: 8 0 -bool: true false -char: 'r' 'D' -real: 1.618 0.0 -ORDINAL: 0 -bv0: 0 0 -bv21: 121 0 -bv32: 132 0 -bv191: 191 0 -set: {7} {} -multiset: multiset{7, 7} multiset{} -seq: [7] [] -map: map[2 := 7] map[] -pos: 3 1 -Hundred: 6 0 -HundredOdd: 13 19 -JustOdd: 131 5 -(): () () -(int, real): (2, 3.2) (0, 0.0) -(int, pos): (2, 3) (0, 1) -AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) -Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) -Stream: Stream.More -A=int: 15 0 -B=int: 16 0 -datatype.B=: {14} {} -object?: null -Class?>: null -Trait?>: null -array?: null -array2?: null -int --> bool: null -array? ~> bool: null - -Dafny program verifier did not attempt verification -int: 8 0 -bool: true false -char: 'r' 'D' -real: 1.618 0.0 -ORDINAL: 0 -bv0: 0 0 -bv21: 121 0 -bv32: 132 0 -bv191: 191 0 -set: {7} {} -multiset: multiset{7, 7} multiset{} -seq: [7] [] -map: map[2 := 7] map[] -pos: 3 1 -Hundred: 6 0 -HundredOdd: 13 19 -JustOdd: 131 5 -(): () () -(int, real): (2, 3.2) (0, 0.0) -(int, pos): (2, 3) (0, 1) -AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) -Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) -Stream: Stream.More -A=int: 15 0 -B=int: 16 0 -datatype.B=: {14} {} -object?: null -Class?>: null -Trait?>: null -array?: null -array2?: null -int --> bool: null -array? ~> bool: null - -Dafny program verifier did not attempt verification int: 8 0 bool: true false char: 'r' 'D' diff --git a/Test/comp/TypeParams.dfy b/Test/comp/TypeParams.dfy index 11d1b3bac6a..c595881e028 100644 --- a/Test/comp/TypeParams.dfy +++ b/Test/comp/TypeParams.dfy @@ -1,11 +1,6 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" - -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation + datatype Color = Orange | Pink | Teal type Six = x | x <= 6 diff --git a/Test/comp/TypeParams.dfy.expect b/Test/comp/TypeParams.dfy.expect index ac8ef1c58e5..1381a030f65 100644 --- a/Test/comp/TypeParams.dfy.expect +++ b/Test/comp/TypeParams.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 17 verified, 0 errors - -Dafny program verifier did not attempt verification 0 0 0 false Color.Orange 0.0 {} Color.Orange null null null null null {} multiset{} [] map[] {} map[] @@ -21,87 +17,3 @@ System.Func`2[Dafny.BigRational,System.Boolean] System.Func`1[System.Numerics.BigInteger] System.Func`3[_module._IColor,Dafny.ISet`1[System.UInt16],System.UInt32] 0 0 - -Dafny program verifier did not attempt verification -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -function () { return false; } -function () { return _dafny.ZERO; } -function () { return _dafny.ZERO; } -0 0 - -Dafny program verifier did not attempt verification -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -func(dafny.Real) bool -func() dafny.Int -func(main.Color, dafny.Set) uint32 -0 0 - -Dafny program verifier did not attempt verification -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -Function -Function -Function -0 0 - -Dafny program verifier did not attempt verification -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -Function -Function -Function -0 0 diff --git a/Test/comp/TypeParams.dfy.go.expect b/Test/comp/TypeParams.dfy.go.expect new file mode 100644 index 00000000000..e3a8e67d066 --- /dev/null +++ b/Test/comp/TypeParams.dfy.go.expect @@ -0,0 +1,19 @@ +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +func(dafny.Real) bool +func() dafny.Int +func(main.Color, dafny.Set) uint32 +0 0 diff --git a/Test/comp/TypeParams.dfy.java.expect b/Test/comp/TypeParams.dfy.java.expect new file mode 100644 index 00000000000..5f843ba06d1 --- /dev/null +++ b/Test/comp/TypeParams.dfy.java.expect @@ -0,0 +1,19 @@ +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +Function +Function +Function +0 0 diff --git a/Test/comp/TypeParams.dfy.js.expect b/Test/comp/TypeParams.dfy.js.expect new file mode 100644 index 00000000000..865c33ea48b --- /dev/null +++ b/Test/comp/TypeParams.dfy.js.expect @@ -0,0 +1,19 @@ +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +function () { return false; } +function () { return _dafny.ZERO; } +function () { return _dafny.ZERO; } +0 0 diff --git a/Test/comp/TypeParams.dfy.py.expect b/Test/comp/TypeParams.dfy.py.expect new file mode 100644 index 00000000000..5f843ba06d1 --- /dev/null +++ b/Test/comp/TypeParams.dfy.py.expect @@ -0,0 +1,19 @@ +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +Function +Function +Function +0 0 diff --git a/Test/comp/UnoptimizedErasableTypeWrappers.dfy b/Test/comp/UnoptimizedErasableTypeWrappers.dfy index 58f0682ed41..b7911aed9db 100644 --- a/Test/comp/UnoptimizedErasableTypeWrappers.dfy +++ b/Test/comp/UnoptimizedErasableTypeWrappers.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --optimize-erasable-datatype-wrapper:false --relax-definite-assignment --spill-translation datatype SingletonRecord = SingletonRecord(u: int) datatype WithGhost = WithGhost(u: int, ghost v: int) diff --git a/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect b/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect index be1d7190b0f..3371376a52b 100644 --- a/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect +++ b/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect @@ -1,31 +1,3 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification -SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) -() (30) (31) (30, 32) -15 20 -30 31 30 32 - -Dafny program verifier did not attempt verification -SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) -() (30) (31) (30, 32) -15 20 -30 31 30 32 - -Dafny program verifier did not attempt verification -SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) -() (30) (31) (30, 32) -15 20 -30 31 30 32 - -Dafny program verifier did not attempt verification -SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) -() (30) (31) (30, 32) -15 20 -30 31 30 32 - -Dafny program verifier did not attempt verification SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) () (30) (31) (30, 32) 15 20 diff --git a/Test/comp/Variance.dfy b/Test/comp/Variance.dfy index 070019025b0..9d3288848d0 100644 --- a/Test/comp/Variance.dfy +++ b/Test/comp/Variance.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Co<+T> = Co(z: T) { const x: int; diff --git a/Test/comp/Variance.dfy.expect b/Test/comp/Variance.dfy.expect index cf08d82ac07..5bb565b6bb4 100644 --- a/Test/comp/Variance.dfy.expect +++ b/Test/comp/Variance.dfy.expect @@ -1,67 +1,3 @@ - -Dafny program verifier finished with 13 verified, 0 errors - -Dafny program verifier did not attempt verification -Co.Co(_module.Int) and Co.Co(_module.Int) -true0[]0000 -Non.Non(_module.Int) and Non.Non(_module.Int) -true0[]0000 -0 and 0 -_module.Int0[]0000 -CCo.CCo and CCo.CCo -true0[]0000 -CNon.CNon and CNon.CNon -true0[]0000 -CCon.CCon and CCon.CCon -_module.Int0[]0000 -Done - -Dafny program verifier did not attempt verification -Co.Co(_module.Int) and Co.Co(_module.Int) -true0[]0000 -Non.Non(_module.Int) and Non.Non(_module.Int) -true0[]0000 -0 and 0 -_module.Int0[]0000 -CCo.CCo and CCo.CCo -true0[]0000 -CNon.CNon and CNon.CNon -true0[]0000 -CCon.CCon and CCon.CCon -_module.Int0[]0000 -Done - -Dafny program verifier did not attempt verification -Co.Co(_module.Int) and Co.Co(_module.Int) -true0[]0000 -Non.Non(_module.Int) and Non.Non(_module.Int) -true0[]0000 -0 and 0 -_module.Int0[]0000 -CCo.CCo and CCo.CCo -true0[]0000 -CNon.CNon and CNon.CNon -true0[]0000 -CCon.CCon and CCon.CCon -_module.Int0[]0000 -Done - -Dafny program verifier did not attempt verification -Co.Co(_module.Int) and Co.Co(_module.Int) -true0[]0000 -Non.Non(_module.Int) and Non.Non(_module.Int) -true0[]0000 -0 and 0 -_module.Int0[]0000 -CCo.CCo and CCo.CCo -true0[]0000 -CNon.CNon and CNon.CNon -true0[]0000 -CCon.CCon and CCon.CCon -_module.Int0[]0000 -Done - -Dafny program verifier did not attempt verification Co.Co(_module.Int) and Co.Co(_module.Int) true0[]0000 Non.Non(_module.Int) and Non.Non(_module.Int) diff --git a/Test/comp/Various.dfy b/Test/comp/Various.dfy index 1f29c511a83..502801e4c2a 100644 --- a/Test/comp/Various.dfy +++ b/Test/comp/Various.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Match(tp: (nat, nat)) { match tp diff --git a/Test/comp/Various.dfy.expect b/Test/comp/Various.dfy.expect index 502e2d04792..66f013c00f7 100644 --- a/Test/comp/Various.dfy.expect +++ b/Test/comp/Various.dfy.expect @@ -1,43 +1,3 @@ - -Dafny program verifier finished with 4 verified, 0 errors - -Dafny program verifier did not attempt verification -match -1 -Kablammo!! -0 -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] - -Dafny program verifier did not attempt verification -match -1 -Kablammo!! -0 -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] - -Dafny program verifier did not attempt verification -match -1 -Kablammo!! -0 -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] - -Dafny program verifier did not attempt verification -match -1 -Kablammo!! -0 -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] - -Dafny program verifier did not attempt verification match 1 Kablammo!! diff --git a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy index 10fe57dec8f..2cf77360cab 100644 --- a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy +++ b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // An extremely small program intended to be the first target input for // brand new Dafny compilers. Avoids any use of strings (and therefore sequences) diff --git a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect index e1dcaef650b..f32a5804e29 100644 --- a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect +++ b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect @@ -1,5 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification true \ No newline at end of file diff --git a/Test/comp/firstSteps/1_Calls-F.dfy b/Test/comp/firstSteps/1_Calls-F.dfy index 32566f59f3b..4fe5b83e551 100644 --- a/Test/comp/firstSteps/1_Calls-F.dfy +++ b/Test/comp/firstSteps/1_Calls-F.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/1_Calls-F.dfy.expect b/Test/comp/firstSteps/1_Calls-F.dfy.expect index 58e0a68ec1c..7ed6ff82de6 100644 --- a/Test/comp/firstSteps/1_Calls-F.dfy.expect +++ b/Test/comp/firstSteps/1_Calls-F.dfy.expect @@ -1,5 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification 5 diff --git a/Test/comp/firstSteps/2_Modules.dfy b/Test/comp/firstSteps/2_Modules.dfy index 750b8d60c21..d0effcb5a71 100644 --- a/Test/comp/firstSteps/2_Modules.dfy +++ b/Test/comp/firstSteps/2_Modules.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module A { const i: nat := 1 diff --git a/Test/comp/firstSteps/2_Modules.dfy.expect b/Test/comp/firstSteps/2_Modules.dfy.expect index 9a4b57459c7..b85905ec0b9 100644 --- a/Test/comp/firstSteps/2_Modules.dfy.expect +++ b/Test/comp/firstSteps/2_Modules.dfy.expect @@ -1,5 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification 1 2 3 diff --git a/Test/comp/firstSteps/3_Calls-As.dfy b/Test/comp/firstSteps/3_Calls-As.dfy index f22bbdbd3f6..38889421865 100644 --- a/Test/comp/firstSteps/3_Calls-As.dfy +++ b/Test/comp/firstSteps/3_Calls-As.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/3_Calls-As.dfy.expect b/Test/comp/firstSteps/3_Calls-As.dfy.expect index eea6c52592c..a1c59bb761f 100644 --- a/Test/comp/firstSteps/3_Calls-As.dfy.expect +++ b/Test/comp/firstSteps/3_Calls-As.dfy.expect @@ -1,5 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification 0 0 false 0 false 0 diff --git a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy index 89fb669dca0..6a66781ff0d 100644 --- a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy +++ b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect index e7498a27e3e..a8d09f0a6f5 100644 --- a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect +++ b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect @@ -1,6 +1,2 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification 5 3 5 3 5 3 5 3 diff --git a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy index 096523f8956..1175b1eca8f 100644 --- a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy +++ b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect index 8954da2b386..ef3de96e567 100644 --- a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect +++ b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect @@ -1,6 +1,2 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification 5 3 5 3 diff --git a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy index 1fbaebdf4e9..5d970ac4de5 100644 --- a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy +++ b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect index b6ffe78bcbb..4ff62e33956 100644 --- a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect +++ b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 4 verified, 0 errors - -Dafny program verifier did not attempt verification 15 [0, 1, 2, 4] [0, 2, 4] diff --git a/Test/comp/firstSteps/7_Arrays.dfy b/Test/comp/firstSteps/7_Arrays.dfy index 07ddf89594b..d02c942c9bb 100644 --- a/Test/comp/firstSteps/7_Arrays.dfy +++ b/Test/comp/firstSteps/7_Arrays.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Arrays.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/7_Arrays.dfy.expect b/Test/comp/firstSteps/7_Arrays.dfy.expect index 75e824c80bb..fa00285c692 100644 --- a/Test/comp/firstSteps/7_Arrays.dfy.expect +++ b/Test/comp/firstSteps/7_Arrays.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 7 verified, 0 errors - -Dafny program verifier did not attempt verification 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/comp/firstSteps/7_Dt_Algebraic.dfy b/Test/comp/firstSteps/7_Dt_Algebraic.dfy index 991462d8bdf..46a2995b37f 100644 --- a/Test/comp/firstSteps/7_Dt_Algebraic.dfy +++ b/Test/comp/firstSteps/7_Dt_Algebraic.dfy @@ -1,7 +1,5 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Dt.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect new file mode 100644 index 00000000000..ba1b72ea6f7 --- /dev/null +++ b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect @@ -0,0 +1,11 @@ +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} +42 'q' hello +1701 diff --git a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect index ec9b49fe420..e3ff7faba6e 100644 --- a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect +++ b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 7 verified, 0 errors - -Dafny program verifier did not attempt verification List.Nil List.Cons(5, List.Nil) (List.Nil, List.Cons(5, List.Nil)) @@ -13,16 +9,3 @@ List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, Li {Berry.Hallon, Berry.Smultron, Berry.Jordgubb} 42 'q' hello 1701 - -Dafny program verifier did not attempt verification -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} -42 'q' hello -1701 diff --git a/Test/dafny0/ArrayElementInitCompile.dfy b/Test/dafny0/ArrayElementInitCompile.dfy index 7d652486b9e..3714cf0fe8e 100644 --- a/Test/dafny0/ArrayElementInitCompile.dfy +++ b/Test/dafny0/ArrayElementInitCompile.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 /print:"%t.print" /rprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false method Main() { diff --git a/Test/dafny0/ArrayElementInitCompile.dfy.expect b/Test/dafny0/ArrayElementInitCompile.dfy.expect index a5241c75f19..eaa3e759999 100644 --- a/Test/dafny0/ArrayElementInitCompile.dfy.expect +++ b/Test/dafny0/ArrayElementInitCompile.dfy.expect @@ -1,79 +1,3 @@ - -Dafny program verifier finished with 18 verified, 0 errors - -Dafny program verifier did not attempt verification -67 67 67 67 67 67 67 67 -0 1 2 3 -1 2 3 4 -2 3 4 5 -3 4 5 6 -4 5 6 7 -O . O . O . O . O . O . -12 12 12 12 12 12 12 12 12 12 12 12 -D E -y z -4 3 -7 -100 75 98 25 - -looks like this rocks --2 -1 0 1 2 3 4 - -Dafny program verifier did not attempt verification -67 67 67 67 67 67 67 67 -0 1 2 3 -1 2 3 4 -2 3 4 5 -3 4 5 6 -4 5 6 7 -O . O . O . O . O . O . -12 12 12 12 12 12 12 12 12 12 12 12 -D E -y z -4 3 -7 -100 75 98 25 - -looks like this rocks --2 -1 0 1 2 3 4 - -Dafny program verifier did not attempt verification -67 67 67 67 67 67 67 67 -0 1 2 3 -1 2 3 4 -2 3 4 5 -3 4 5 6 -4 5 6 7 -O . O . O . O . O . O . -12 12 12 12 12 12 12 12 12 12 12 12 -D E -y z -4 3 -7 -100 75 98 25 - -looks like this rocks --2 -1 0 1 2 3 4 - -Dafny program verifier did not attempt verification -67 67 67 67 67 67 67 67 -0 1 2 3 -1 2 3 4 -2 3 4 5 -3 4 5 6 -4 5 6 7 -O . O . O . O . O . O . -12 12 12 12 12 12 12 12 12 12 12 12 -D E -y z -4 3 -7 -100 75 98 25 - -looks like this rocks --2 -1 0 1 2 3 4 - -Dafny program verifier did not attempt verification 67 67 67 67 67 67 67 67 0 1 2 3 1 2 3 4 diff --git a/Test/dafny0/Bitvectors.dfy b/Test/dafny0/Bitvectors.dfy index 9dbb798fa4a..7cdeaefb0c1 100644 --- a/Test/dafny0/Bitvectors.dfy +++ b/Test/dafny0/Bitvectors.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /print:"%t.print" /rprint:- /env:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /env:0 method M(a: bv1, b: bv32) returns (c: bv32, d: bv1) { diff --git a/Test/dafny0/Bitvectors.dfy.expect b/Test/dafny0/Bitvectors.dfy.expect index 09b34e5011a..ed1c7328e83 100644 --- a/Test/dafny0/Bitvectors.dfy.expect +++ b/Test/dafny0/Bitvectors.dfy.expect @@ -1,493 +1,3 @@ -// Bitvectors.dfy - -/* -module _System { - /* CALL GRAPH for module _System: - * SCC at height 1: - * RotateLeft - * SCC at height 1: - * RotateRight - * SCC at height 0: - * array - * SCC at height 0: - * nat - * SCC at height 0: - * object - */ - type string(==,0) = seq - - type {:axiom} nat(==,0) = x: int - | 0 <= x - - trait {:compile false} object { } - /*-- non-null type - type {:axiom} object(==) = c: object? | c != null /*special witness*/ - */ - - class {:compile false} array { - var Length: int // immutable - } - /*-- non-null type - type {:axiom} array(==) = c: array? | c != null /*special witness*/ - */ - - type {:compile false} /*_#Func1*/ -T0 ~> +R { - ghost function requires(x0: T0): bool - reads reads(x0) - - ghost function reads(x0: T0): set - reads reads(x0) - } - - type {:compile false} /*_#PartialFunc1*/ -T0 --> +R = f: T0 ~> R - | forall x0: T0 :: f.reads(x0) == {} - /*special witness*/ - - type {:compile false} /*_#TotalFunc1*/ -T0 -> +R = f: T0 --> R - | forall x0: T0 :: f.requires(x0) - /*special witness*/ - - type {:compile false} /*_#Func0*/ () ~> +R { - ghost function requires(): bool - reads reads() - - ghost function reads(): set - reads reads() - } - - type {:compile false} /*_#PartialFunc0*/ () --> +R = f: () ~> R - | f.reads() == {} - /*special witness*/ - - type {:compile false} /*_#TotalFunc0*/ () -> +R = f: () --> R - | f.requires() - /*special witness*/ - - datatype {:compile false} /*_tuple#2*/ (+T0, +T1) = _#Make2(0: T0, 1: T1) - - type bool { } - - type int { } - - type real { - var Floor: int // immutable - } - - type ORDINAL { - var IsLimit: bool // immutable - var IsSucc: bool // immutable - var Offset: int // immutable - var IsNat: bool // immutable - } - - type _bv { - function RotateLeft(w: nat): selftype - - function RotateRight(w: nat): selftype - } - - type map<+T, +U> { - var Keys: set // immutable - var Values: set // immutable - var Items: set<(T, U)> // immutable - } - - type imap<*T, +U> { - var Keys: iset // immutable - var Values: iset // immutable - var Items: iset<(T, U)> // immutable - } - - datatype {:compile false} /*_tuple#0*/ () = _#Make0 -} -// bitvector types in use: bv1 bv32 bv47 bv16 bv0 bv67 bv64 bv53 bv33 bv31 bv15 bv8 bv6 bv2 bv7 bv12 bv3 -*/ - -/* CALL GRAPH for module _module: - * SCC at height 2: - * Main - * SCC at height 1: - * DoArith32 - * SCC at height 1: - * Rotates - * SCC at height 1: - * Shifts - * SCC at height 1: - * TestCompilationTruncations - * SCC at height 0: - * Arithmetic - * SCC at height 0: - * BitwiseOperations - * SCC at height 0: - * Bv0Stuff - * SCC at height 0: - * Handful - * SCC at height 0: - * M - * SCC at height 0: - * M0 - * SCC at height 0: - * M1 - * SCC at height 0: - * M15 - * SCC at height 0: - * M16 - * SCC at height 0: - * M31 - * SCC at height 0: - * M32 - * SCC at height 0: - * M33 - * SCC at height 0: - * M53 - * SCC at height 0: - * M6 - * SCC at height 0: - * M64 - * SCC at height 0: - * M67 - * SCC at height 0: - * M8 - * SCC at height 0: - * P2 - * SCC at height 0: - * PrintRotates - * SCC at height 0: - * PrintShifts - * SCC at height 0: - * SummoTests - * SCC at height 0: - * Unary - */ -newtype Handful = x: int - | 0 <= x < 80 - -method M(a: bv1, b: bv32) - returns (c: bv32, d: bv1) - decreases a, b -{ - c := b; - d := a; - var x: bv32 := 5000; - c := x; - var y: bv32 := 4000; - y := c; -} - -method Main() -{ - var x: bv32 := 4000; - var y: bv32 := 4000; - var z: bv32; - var w: bv32; - if x == y { - z := x; - } else { - w := y; - } - print x, " ", y, " ", z, " ", w, "\n"; - var t: bv47, u: bv47, v: bv47 := BitwiseOperations(); - print t, " ", u, " ", v, "\n"; - DoArith32(); - var unry: bv16 := Unary(5); - print "bv16: 5 - 2 == ", unry, "\n"; - unry := Unary(1); - print "bv16: 1 - 2 == ", unry, "\n"; - SummoTests(); - var zz0: bv0; - var zz1: bv0 := Bv0Stuff(zz0, 0); - print zz0, " ", zz1, "\n"; - print zz0 < zz1, " ", zz0 <= zz1, " ", zz0 >= zz1, " ", zz0 > zz1, "\n"; - TestCompilationTruncations(); - Shifts(); - Rotates(); -} - -method BitwiseOperations() returns (a: bv47, b: bv47, c: bv47) -{ - b, c := 2053, 1099; - a := b & c; - a := a | a | (b & b & c & (a ^ b ^ c) & a); -} - -method Arithmetic(x: bv32, y: bv32) - returns (r: bv32, s: bv32) - ensures r == x + y && s == y - x - decreases x, y -{ - r := x + y; - s := y - x; -} - -method DoArith32() -{ - var r: bv32, s: bv32 := Arithmetic(65, 120); - print r, " ", s, "\n"; - var x: bv32, y: bv32 := 2147483647, 2147483651; - r, s := Arithmetic(x, y); - assert r == 2 && s == 4; - print r, " ", s, "\n"; - assert x < y && x <= y && y >= x && y > x; - print "Comparisons: ", x < y, " ", x <= y, " ", x >= y, " ", x > y, "\n"; -} - -method Unary(x: bv16) returns (y: bv16) - ensures y == x - 2 - decreases x -{ - y := --!-!!--x; - y := !-y; - var F: bv16 := 65535; - calc == { - y; - == - !---!-!!--x; - == - F - ---!-!!--x; - == - { - assert ---!-!!--x == -!-!!--x; - } - F - -!-!!--x; - == - F + !-!!--x; - == - F + F - -!!--x; - == - F + F + !!--x; - == - { - assert !!--x == --x == x; - } - F + F + x; - == - x - 2; - } -} - -method SummoTests() -{ - var a: bv64 := 5; - a := 2 * 2 * 2 * 2 * 2 * a * 2 * 2 * 2 * 2 * 2; - var b: bv64 := a / 512; - assert b == 10; - assert b / 3 == 3 && b / 4 == 2; - assert b % 3 == 1 && b % 4 == 2; - print b / 3, " ", b % 4, "\n"; -} - -method Bv0Stuff(x: bv0, y: bv0) returns (z: bv0) - ensures z == 0 - decreases x, y -{ - z := x + y; - z := x * z - y; - z := (x ^ z) | (y & y); - z := !z + -z; -} - -method TestCompilationTruncations() -{ - M67(-1, 3); - M64(-1, 3); - M53(-1, 3); - M33(-1, 3); - M32(-1, 3); - M31(-1, 3); - M16(-1, 3); - M15(-1, 3); - M8(-1, 3); - M6(-1, 3); - M1(1, 1); - M0(0, 0); - P2(3, 2); -} - -method M67(a: bv67, b: bv67) - decreases a, b -{ - print "bv67: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; -} - -method M64(a: bv64, b: bv64) - decreases a, b -{ - print "bv64: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; -} - -method M53(a: bv53, b: bv53) - decreases a, b -{ - print "bv53: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; -} - -method M33(a: bv33, b: bv33) - decreases a, b -{ - print "bv33: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; -} - -method M32(a: bv32, b: bv32) - decreases a, b -{ - print "bv32: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; -} - -method M31(a: bv31, b: bv31) - decreases a, b -{ - print "bv31: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; -} - -method M16(a: bv16, b: bv16) - decreases a, b -{ - print "bv16: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; -} - -method M15(a: bv15, b: bv15) - decreases a, b -{ - print "bv15: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; -} - -method M8(a: bv8, b: bv8) - decreases a, b -{ - print "bv8: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; -} - -method M6(a: bv6, b: bv6) - decreases a, b -{ - print "bv6: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; -} - -method M1(a: bv1, b: bv1) - decreases a, b -{ - print "bv1: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; -} - -method M0(a: bv0, b: bv0) - decreases a, b -{ - print "bv0: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; -} - -method P2(a: bv2, b: bv2) - requires b != 0 - decreases a, b -{ - print "bv2:\n"; - print " ", a, " + ", b, " == ", a + b, "\n"; - print " ", a, " - ", b, " == ", a - b, "\n"; - print " ", a, " * ", b, " == ", a * b, "\n"; - print " ", a, " / ", b, " == ", a / b, "\n"; - print " ", a, " % ", b, " == ", a % b, "\n"; -} - -method Shifts() -{ - var x: int, h: Handful, b67: bv67, w: bv32, seven: bv7, bb: bv2, noll: bv0; - x, h := 3, 3; - b67, w, seven := 5, 5, 5; - PrintShifts("bv67", b67, 8 * b67, b67 << x as bv7, b67 << h as bv7); - PrintShifts("bv32", w, 8 * w, w << x as bv6, w << h as bv6); - PrintShifts("bv7", seven, 8 * seven, seven << x as bv3, seven << h as bv3); - bb, x, h := 1, 1, 1; - PrintShifts("bv2", bb, 2 * bb, bb << x as bv2, bb << h as bv2); - x, h := 0, 0; - PrintShifts("bv0", noll, 0 * noll, noll << x as bv0, noll << h as bv0); - b67, w, bb, noll := 73786976294838206465, 1, 1, 0; - var One67: bv67 := 1; - PrintShifts("bv67 again", b67 << One67 as bv7, b67 << w as bv7, b67 << bb as bv7, b67 << noll as bv7); - b67, w, bb, noll := 2, 3221225472 + 2000, 1, 0; - var Two32: bv32 := 2; - PrintShifts("bv32 again", w << b67 as bv6, w << Two32 as bv6, w << bb as bv6, w << noll as bv6); - seven, b67, w, bb, noll := 127, 2, 2, 2, 0; - PrintShifts("bv7 again", seven << b67 as bv3, seven << w as bv3, seven << bb as bv3, seven << noll as bv3); - b67, w, bb := 0, 0, 0; - PrintShifts("bv0 again", noll << b67 as bv0, noll << w as bv0, noll << bb as bv0, noll << noll as bv0); -} - -method PrintShifts(s: string, a: T, b: T, c: T, d: T) - decreases s -{ - print "PrintShifts: ", s, ": ", a, " ", b, " ", c, " ", d, "\n"; -} - -method Rotates() -{ - var x: int, w: bv12, seven: bv7, bb: bv2, noll: bv0; - x := 3; - w, seven, noll := 5, 5, 0; - PrintRotates("bv12", w, w.RotateLeft(x).RotateRight(x)); - PrintRotates("bv7", seven, seven.RotateLeft(x).RotateRight(x)); - bb, x := 1, 1; - PrintRotates("bv2", bb, bb.RotateLeft(x).RotateRight(x)); - x := 0; - PrintRotates("bv0", noll, noll.RotateLeft(x).RotateRight(x)); - x := 5; - w, seven := 3072 + 2000, 127; - PrintRotates("bv12 again", w, w.RotateLeft(x).RotateRight(x)); - PrintRotates("bv7 again", seven, seven.RotateLeft(x).RotateRight(x)); -} - -method PrintRotates(s: string, a: T, b: T) - decreases s -{ - print "PrintRotates: ", s, ": ", a, " ", b, "\n"; -} - -Dafny program verifier finished with 11 verified, 0 errors - -Dafny program verifier did not attempt verification -4000 4000 4000 0 -1 2053 1099 -185 55 -2 4 -Comparisons: true true false false -bv16: 5 - 2 == 3 -bv16: 1 - 2 == 65535 -3 2 -0 0 -false true true false -bv67: 147573952589676412927 + 3 == 2 - 3 == 147573952589676412925 !! 3 == ! 147573952589676412924 == 3 -bv64: 18446744073709551615 + 3 == 2 - 3 == 18446744073709551613 !! 3 == ! 18446744073709551612 == 3 -bv53: 9007199254740991 + 3 == 2 - 3 == 9007199254740989 !! 3 == ! 9007199254740988 == 3 -bv33: 8589934591 + 3 == 2 - 3 == 8589934589 !! 3 == ! 8589934588 == 3 -bv32: 4294967295 + 3 == 2 - 3 == 4294967293 !! 3 == ! 4294967292 == 3 -bv31: 2147483647 + 3 == 2 - 3 == 2147483645 !! 3 == ! 2147483644 == 3 -bv16: 65535 + 3 == 2 - 3 == 65533 !! 3 == ! 65532 == 3 -bv15: 32767 + 3 == 2 - 3 == 32765 !! 3 == ! 32764 == 3 -bv8: 255 + 3 == 2 - 3 == 253 !! 3 == ! 252 == 3 -bv6: 63 + 3 == 2 - 3 == 61 !! 3 == ! 60 == 3 -bv1: 1 + 1 == 0 - 1 == 1 !! 1 == ! 0 == 1 -bv0: 0 + 0 == 0 - 0 == 0 !! 0 == ! 0 == 0 -bv2: - 3 + 2 == 1 - 3 - 2 == 1 - 3 * 2 == 2 - 3 / 2 == 1 - 3 % 2 == 1 -PrintShifts: bv67: 5 40 40 40 -PrintShifts: bv32: 5 40 40 40 -PrintShifts: bv7: 5 40 40 40 -PrintShifts: bv2: 1 2 2 2 -PrintShifts: bv0: 0 0 0 0 -PrintShifts: bv67 again: 2 2 2 73786976294838206465 -PrintShifts: bv32 again: 8000 8000 2147487648 3221227472 -PrintShifts: bv7 again: 124 124 124 127 -PrintShifts: bv0 again: 0 0 0 0 -PrintRotates: bv12: 5 5 -PrintRotates: bv7: 5 5 -PrintRotates: bv2: 1 1 -PrintRotates: bv0: 0 0 -PrintRotates: bv12 again: 976 976 -PrintRotates: bv7 again: 127 127 - -Dafny program verifier did not attempt verification 4000 4000 4000 0 1 2053 1099 185 55 diff --git a/Test/dafny0/Compilation.dfy b/Test/dafny0/Compilation.dfy index d43476236c4..4dfbb2d1952 100644 --- a/Test/dafny0/Compilation.dfy +++ b/Test/dafny0/Compilation.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /autoTriggers:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /autoTriggers:0 // The tests in this file are designed to run through the compiler. They contain // program snippets that are tricky to compile or whose compilation once was buggy. diff --git a/Test/dafny0/Compilation.dfy.expect b/Test/dafny0/Compilation.dfy.expect index d0fa1540237..1010a177b6f 100644 --- a/Test/dafny0/Compilation.dfy.expect +++ b/Test/dafny0/Compilation.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 29 verified, 0 errors 400 320 40 diff --git a/Test/dafny0/Constant.dfy b/Test/dafny0/Constant.dfy index f021e7d4482..1fdeedc3335 100644 --- a/Test/dafny0/Constant.dfy +++ b/Test/dafny0/Constant.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment const one:int := 1 const two:int := one * 2 diff --git a/Test/dafny0/Constant.dfy.expect b/Test/dafny0/Constant.dfy.expect index 6099b08c38c..1a7b981715f 100644 --- a/Test/dafny0/Constant.dfy.expect +++ b/Test/dafny0/Constant.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 17 verified, 0 errors one := 1 two := 2 three := 3 diff --git a/Test/dafny0/Deprecation.dfy b/Test/dafny0/Deprecation.dfy index 8c9c688d463..86521043d43 100644 --- a/Test/dafny0/Deprecation.dfy +++ b/Test/dafny0/Deprecation.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This file contains tests for messags about various deprecated features. // As those features go away completely, so can the corresponding tests. diff --git a/Test/dafny0/Deprecation.dfy.expect b/Test/dafny0/Deprecation.dfy.expect index 4ff88d31ade..0dffd975ac7 100644 --- a/Test/dafny0/Deprecation.dfy.expect +++ b/Test/dafny0/Deprecation.dfy.expect @@ -1,8 +1 @@ -Deprecation.dfy(16,13): Warning: constructors no longer need 'this' to be listed in modifies clauses -Deprecation.dfy(23,0): Warning: the old keyword phrase 'inductive predicate' has been renamed to 'least predicate' -Deprecation.dfy(26,0): Warning: the old keyword 'copredicate' has been renamed to the keyword phrase 'greatest predicate' -Deprecation.dfy(29,0): Warning: the old keyword phrase 'inductive lemma' has been renamed to 'least lemma' -Deprecation.dfy(32,0): Warning: the old keyword 'colemma' has been renamed to the keyword phrase 'greatest lemma' - -Dafny program verifier finished with 0 verified, 0 errors yet here we are diff --git a/Test/dafny0/DiscoverBounds.dfy b/Test/dafny0/DiscoverBounds.dfy index 31f9717ee79..18e56158613 100644 --- a/Test/dafny0/DiscoverBounds.dfy +++ b/Test/dafny0/DiscoverBounds.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /print:"%t.print" /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment newtype NT = x | 0 <= x < 100 newtype UT = NT diff --git a/Test/dafny0/DiscoverBounds.dfy.expect b/Test/dafny0/DiscoverBounds.dfy.expect index e43954c7be1..909a58326d0 100644 --- a/Test/dafny0/DiscoverBounds.dfy.expect +++ b/Test/dafny0/DiscoverBounds.dfy.expect @@ -1,10 +1,3 @@ -DiscoverBounds.dfy(32,7): Warning: /!\ No terms found to trigger on. -DiscoverBounds.dfy(33,7): Warning: /!\ No terms found to trigger on. -DiscoverBounds.dfy(34,7): Warning: /!\ No terms found to trigger on. -DiscoverBounds.dfy(35,7): Warning: /!\ No terms found to trigger on. -DiscoverBounds.dfy(36,7): Warning: /!\ No terms found to trigger on. - -Dafny program verifier finished with 7 verified, 0 errors 0 0 -2 diff --git a/Test/dafny0/DividedConstructors.dfy b/Test/dafny0/DividedConstructors.dfy index ff33c97fb26..961661207de 100644 --- a/Test/dafny0/DividedConstructors.dfy +++ b/Test/dafny0/DividedConstructors.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /env:0 /dprint:- "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /env:0 method Main() { var m := new M0.MyClass.Init(20); diff --git a/Test/dafny0/DividedConstructors.dfy.expect b/Test/dafny0/DividedConstructors.dfy.expect index f7412d8d0a1..2dcc1ba6402 100644 --- a/Test/dafny0/DividedConstructors.dfy.expect +++ b/Test/dafny0/DividedConstructors.dfy.expect @@ -1,188 +1,2 @@ -DividedConstructors.dfy(62,9): Warning: the ... refinement feature in statements is deprecated -// DividedConstructors.dfy - - -module M0 { - class MyClass { - var a: nat - const b := 17 - var c: real - - constructor Init(x: nat) - { - this.a := x; - c := 3.14; - new; - a := a + b; - assert c == 3.14; - assert this.a == 17 + x; - } - - constructor (z: real) - ensures c <= 2.0 * z - { - a, c := 50, 2.0 * z; - new; - } - - constructor Make() - ensures 10 <= a - { - new; - a := a + b; - } - - constructor Create() - ensures 30 <= a - { - new; - a := a + 2 * b; - } - } -} - -module M1 refines M0 { - class MyClass ... { - const d := 'D' - var e: char - - constructor Init ... - { - e := 'e'; - new; - e := 'x'; - ...; - assert e == 'x'; - } - - constructor ... - { - e := 'y'; - new; - } - - constructor Make ... - { - new; - e := 'z'; - } - - constructor Create ... - { - e := 'w'; - } - } -} - -module TypeOfThis { - class LinkedList { - ghost var Repr: set> - ghost var Rapr: set> - ghost var S: set - ghost var T: set - - constructor Init() - { - Repr := {this}; - } - - constructor Init'() - { - Rapr := {this}; - } - - constructor Create() - { - S := {this}; - } - - constructor Create'() - { - T := {this}; - } - - constructor Two() - { - new; - var ll: LinkedList? := this; - var o: object? := this; - if - case true => - T := {o}; - case true => - S := {o}; - case true => - Repr := {ll}; - case true => - Rapr := {ll}; - case true => - S := {ll}; - case true => - T := {ll}; - } - - method Mutate() - modifies this - { - Repr := {this}; - Rapr := {this}; - S := {this}; - T := {this}; - } - } -} - -module Regression { - class A { - var b: bool - var y: int - - constructor Make0() - ensures b == false - { - b := false; - } - - constructor Make1() - ensures b == true - { - b := true; - } - - constructor Make2() - { - b := false; - new; - assert !b; - } - - constructor Make3() - ensures b == false && y == 65 - { - b := false; - y := 65; - new; - assert !b; - assert y == 65; - } - - constructor Make4(bb: bool, yy: int) - ensures b == bb && y == yy - { - b, y := bb, yy; - } - } -} -method Main() -{ - var m := new M0.MyClass.Init(20); - print m.a, ", ", m.b, ", ", m.c, "\n"; - var r0 := new Regression.A.Make0(); - var r1 := new Regression.A.Make1(); - assert r0.b != r1.b; - print r0.b, ", ", r1.b, "\n"; -} - -Dafny program verifier finished with 17 verified, 0 errors 37, 17, 3.14 false, true diff --git a/Test/dafny0/EqualityTypesCompile.dfy b/Test/dafny0/EqualityTypesCompile.dfy index de7954710e9..a36d1818c1d 100644 --- a/Test/dafny0/EqualityTypesCompile.dfy +++ b/Test/dafny0/EqualityTypesCompile.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype List = Nil | Cons(A, List) | ICons(int, List) datatype TwoLists = Two(List, List) diff --git a/Test/dafny0/EqualityTypesCompile.dfy.expect b/Test/dafny0/EqualityTypesCompile.dfy.expect index d2f1950e7f7..0246dc39633 100644 --- a/Test/dafny0/EqualityTypesCompile.dfy.expect +++ b/Test/dafny0/EqualityTypesCompile.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors from M: false from N: false from H: false diff --git a/Test/dafny0/ForallCompilation.dfy b/Test/dafny0/ForallCompilation.dfy index 40c381521e8..731ce83015f 100644 --- a/Test/dafny0/ForallCompilation.dfy +++ b/Test/dafny0/ForallCompilation.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" /autoTriggers:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /autoTriggers:0 method Main() { var c := new MyClass; diff --git a/Test/dafny0/ForallCompilation.dfy.expect b/Test/dafny0/ForallCompilation.dfy.expect index 66ffe3665d5..e69de29bb2d 100644 --- a/Test/dafny0/ForallCompilation.dfy.expect +++ b/Test/dafny0/ForallCompilation.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 14 verified, 0 errors diff --git a/Test/dafny0/ForallCompilationNewSyntax.dfy b/Test/dafny0/ForallCompilationNewSyntax.dfy index b7132df78ae..ac354d6338c 100644 --- a/Test/dafny0/ForallCompilationNewSyntax.dfy +++ b/Test/dafny0/ForallCompilationNewSyntax.dfy @@ -1,5 +1,4 @@ -// RUN: %baredafny run %args --relax-definite-assignment --quantifier-syntax:4 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --quantifier-syntax:4 --relax-definite-assignment method Main() { var c := new MyClass; diff --git a/Test/dafny0/ForallCompilationNewSyntax.dfy.expect b/Test/dafny0/ForallCompilationNewSyntax.dfy.expect index 5b7ec4613bb..e69de29bb2d 100644 --- a/Test/dafny0/ForallCompilationNewSyntax.dfy.expect +++ b/Test/dafny0/ForallCompilationNewSyntax.dfy.expect @@ -1,6 +0,0 @@ -ForallCompilationNewSyntax.dfy(26,4): Warning: /!\ No terms found to trigger on. -ForallCompilationNewSyntax.dfy(35,4): Warning: /!\ No terms found to trigger on. -ForallCompilationNewSyntax.dfy(44,4): Warning: /!\ No terms found to trigger on. -ForallCompilationNewSyntax.dfy(64,4): Warning: /!\ No trigger covering all quantified variables found. - -Dafny program verifier finished with 14 verified, 0 errors diff --git a/Test/dafny0/GhostGuards.dfy b/Test/dafny0/GhostGuards.dfy index b17c98662ce..49877792a47 100644 --- a/Test/dafny0/GhostGuards.dfy +++ b/Test/dafny0/GhostGuards.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /printTooltips /rprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Dt = Green | Dog diff --git a/Test/dafny0/GhostGuards.dfy.expect b/Test/dafny0/GhostGuards.dfy.expect index 8bb8a71d69d..e69de29bb2d 100644 --- a/Test/dafny0/GhostGuards.dfy.expect +++ b/Test/dafny0/GhostGuards.dfy.expect @@ -1,7 +0,0 @@ -GhostGuards.dfy(12,9): Info: ghost if -GhostGuards.dfy(18,2): Info: ghost if -GhostGuards.dfy(28,2): Info: ghost while -GhostGuards.dfy(41,2): Info: ghost while -GhostGuards.dfy(54,2): Info: ghost match - -Dafny program verifier finished with 1 verified, 0 errors diff --git a/Test/dafny0/GhostITECompilation.dfy b/Test/dafny0/GhostITECompilation.dfy index d761ddbc6ea..bd7cfa28a95 100644 --- a/Test/dafny0/GhostITECompilation.dfy +++ b/Test/dafny0/GhostITECompilation.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 /functionSyntax:4 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --function-syntax:4 --relax-definite-assignment function F(x: nat, ghost y: nat): nat { diff --git a/Test/dafny0/GhostITECompilation.dfy.expect b/Test/dafny0/GhostITECompilation.dfy.expect index 1ec406bf52c..b4988e5cf11 100644 --- a/Test/dafny0/GhostITECompilation.dfy.expect +++ b/Test/dafny0/GhostITECompilation.dfy.expect @@ -1,31 +1,3 @@ - -Dafny program verifier finished with 6 verified, 0 errors - -Dafny program verifier did not attempt verification -65 -65 -65 -65 - -Dafny program verifier did not attempt verification -65 -65 -65 -65 - -Dafny program verifier did not attempt verification -65 -65 -65 -65 - -Dafny program verifier did not attempt verification -65 -65 -65 -65 - -Dafny program verifier did not attempt verification 65 65 65 diff --git a/Test/dafny0/InitialValues.dfy b/Test/dafny0/InitialValues.dfy index 7dcb05cc9c9..0848d244d71 100644 --- a/Test/dafny0/InitialValues.dfy +++ b/Test/dafny0/InitialValues.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/dafny0/InitialValues.dfy.expect b/Test/dafny0/InitialValues.dfy.expect index ada1b783c16..18903dcc3dd 100644 --- a/Test/dafny0/InitialValues.dfy.expect +++ b/Test/dafny0/InitialValues.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 2 verified, 0 errors r= 0.0 s= 3.4 a= 0.0 b= 3.4 z= 0.0 a==z = true diff --git a/Test/dafny0/MatchBraces.dfy b/Test/dafny0/MatchBraces.dfy index 8324cbd9425..d700bda8c85 100644 --- a/Test/dafny0/MatchBraces.dfy +++ b/Test/dafny0/MatchBraces.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /print:"%t.print" /env:0 /dprint:- "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /env:0 datatype Color = Red | Green | Blue diff --git a/Test/dafny0/MatchBraces.dfy.expect b/Test/dafny0/MatchBraces.dfy.expect index b6129bafcc0..4f89bff47e5 100644 --- a/Test/dafny0/MatchBraces.dfy.expect +++ b/Test/dafny0/MatchBraces.dfy.expect @@ -1,135 +1,2 @@ -// MatchBraces.dfy - -datatype Color = Red | Green | Blue - -method Main() -{ - M(Green, Red); - M(Blue, Blue); -} - -method M(c: Color, d: Color) -{ - var x := match c case Red => 5 case Green => 7 case Blue => 11; - var y := match c case Red => 0.3 case Green => (match d case Red => 0.18 case Green => 0.21 case Blue => 0.98) case Blue => 98.0; - var z := match c case Red => Green case Green => match d { case Red => Red case Green => Blue case Blue => Red } case Blue => Green; - var w := match c { case Red => 2 case Green => 3 case Blue => 4 } + 10; - var t := match c case Red => 0 case Green => match d { case Red => 2 case Green => 2 case Blue => 1 } + (match d case Red => 10 case Green => 8 case Blue => 5) case Blue => match d { case Red => 20 case Green => 20 case Blue => 10 } + match d case Red => 110 case Green => 108 case Blue => 105; - print x, " ", y, " ", z, " ", w, " ", t, "\n"; -} - -ghost function Heat(c: Color): int -{ - match c - case Red => - 10 - case Green => - 12 - case Blue => - 14 -} - -ghost function IceCream(c: Color): int -{ - match c { - case Red => - 0 - case Green => - 4 - case Blue => - 1 - } -} - -ghost function Flowers(c: Color, d: Color): int -{ - match c { - case Red => - match d { - case Red => - 0 - case Green => - 1 - case Blue => - 2 - } - case Green => - match d { case Red => 3 case Green => 3 case Blue => 2 } + 20 - case Blue => - match d { case Red => 9 case Green => 8 case Blue => 7 } + match d case Red => 23 case Green => 29 case Blue => 31 - } -} - -method P(c: Color, d: Color) -{ - var x: int; - match c { - case {:split false} Red => - x := 20; - case {:split false} Green => - case {:split false} Blue => - } - match c - case {:split false} Red => - match d { - case {:split false} Red => - case {:split false} Green => - case {:split false} Blue => - } - case {:split false} Green => - var y := 25; - var z := y + 3; - case {:split false} Blue => - { - var y := 25; - var z := y + 3; - } - match d - case {:split false} Red => - case {:split false} Green => - x := x + 1; - case {:split false} Blue => -} - -lemma HeatIsEven(c: Color) - ensures Heat(c) % 2 == 0 -{ - match c - case {:split false} Red => - assert 10 % 2 == 0; - case {:split false} Green => - assert 12 % 2 == 0; - case {:split false} Blue => -} - -method DegenerateExamples(c: Color) - requires Heat(c) == 10 -{ - match c - case {:split false} Red => - case {:split false} Green => - match c { - } - case {:split false} Blue => - match c -} - -method MoreDegenerateExamples(c: Color) - requires Heat(c) == 10 -{ - if c == Green { - var x: int := match c; - var y: int := match c { }; - var z := match c case Blue => 4; - } -} - -Dafny program verifier finished with 5 verified, 0 errors - -Dafny program verifier did not attempt verification -7 0.18 Color.Red 13 12 -11 98.0 Color.Green 14 115 - -Dafny program verifier did not attempt verification 7 0.18 Color.Red 13 12 11 98.0 Color.Green 14 115 diff --git a/Test/dafny0/MoForallCompilation.dfy b/Test/dafny0/MoForallCompilation.dfy index 835712edbce..af080853463 100644 --- a/Test/dafny0/MoForallCompilation.dfy +++ b/Test/dafny0/MoForallCompilation.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { TestAggregateArrayUpdate(); diff --git a/Test/dafny0/MoForallCompilation.dfy.expect b/Test/dafny0/MoForallCompilation.dfy.expect index c431c74c6aa..7bb606c1528 100644 --- a/Test/dafny0/MoForallCompilation.dfy.expect +++ b/Test/dafny0/MoForallCompilation.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 18 verified, 0 errors -4.0 -3.0 -2.0 -1.0 0.0 1.0 2.0 3.0 7.0 6.0 5.0 4.0 3.0 2.0 1.0 0.0 true true true true true true false false diff --git a/Test/dafny0/NameclashesCompile.dfy b/Test/dafny0/NameclashesCompile.dfy index 4d06065c675..46cae4b2338 100644 --- a/Test/dafny0/NameclashesCompile.dfy +++ b/Test/dafny0/NameclashesCompile.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var r0, r1; diff --git a/Test/dafny0/NameclashesCompile.dfy.expect b/Test/dafny0/NameclashesCompile.dfy.expect index 1434bb632f6..f001bdaeb1e 100644 --- a/Test/dafny0/NameclashesCompile.dfy.expect +++ b/Test/dafny0/NameclashesCompile.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 2 verified, 0 errors 15.0 15.1 94 99 0.8 14.3 14.4 18.9 18.92 diff --git a/Test/dafny0/NonZeroInitializationCompile.dfy b/Test/dafny0/NonZeroInitializationCompile.dfy index 48b61a39369..2fedae6d60d 100644 --- a/Test/dafny0/NonZeroInitializationCompile.dfy +++ b/Test/dafny0/NonZeroInitializationCompile.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment type MyInt = x | 6 <= x witness 6 newtype MyNewInt = x | 6 <= x witness 12 diff --git a/Test/dafny0/NonZeroInitializationCompile.dfy.expect b/Test/dafny0/NonZeroInitializationCompile.dfy.expect index 69539e473c2..2e20350afad 100644 --- a/Test/dafny0/NonZeroInitializationCompile.dfy.expect +++ b/Test/dafny0/NonZeroInitializationCompile.dfy.expect @@ -1,76 +1,3 @@ - -Dafny program verifier finished with 15 verified, 0 errors - -Dafny program verifier did not attempt verification -These are the arbitrary values chosen by the compiler: 6, 12 -short, short': 0, -35 -nes: {57} -f0, f1: (0, false), (29, true) -dt: Dt.Atom(-35) -cl { u: 12, x: 0, r: 3.14, nes: {57} } -cl' { u: 12, x: 0, ': 3.14, nes: {20, 57} } - -x: real :: 0.0 versus 0.0 -ch: char :: 'D' versus 'D' -s: set :: {} versus {} -d: Xt :: AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) versus AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) -y: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) -z: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) - -x: real :: 0.0 versus 0.0 -ch: char :: 'D' versus 'D' -s: set :: {} versus {} -d: Xt :: AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) versus AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) -y: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) -z: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) - -Dafny program verifier did not attempt verification -These are the arbitrary values chosen by the compiler: 6, 12 -short, short': 0, -35 -nes: {57} -f0, f1: (0, false), (29, true) -dt: Dt.Atom(-35) -cl { u: 12, x: 0, r: 3.14, nes: {57} } -cl' { u: 12, x: 0, ': 3.14, nes: {20, 57} } - -x: real :: 0.0 versus 0.0 -ch: char :: 'D' versus 'D' -s: set :: {} versus {} -d: Xt :: AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) versus AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) -y: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) -z: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) - -x: real :: 0.0 versus 0.0 -ch: char :: 'D' versus 'D' -s: set :: {} versus {} -d: Xt :: AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) versus AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) -y: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) -z: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) - -Dafny program verifier did not attempt verification -These are the arbitrary values chosen by the compiler: 6, 12 -short, short': 0, -35 -nes: {57} -f0, f1: (0, false), (29, true) -dt: Dt.Atom(-35) -cl { u: 12, x: 0, r: 3.14, nes: {57} } -cl' { u: 12, x: 0, ': 3.14, nes: {20, 57} } - -x: real :: 0.0 versus 0.0 -ch: char :: 'D' versus 'D' -s: set :: {} versus {} -d: Xt :: AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) versus AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) -y: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) -z: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) - -x: real :: 0.0 versus 0.0 -ch: char :: 'D' versus 'D' -s: set :: {} versus {} -d: Xt :: AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) versus AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) -y: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) -z: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) - -Dafny program verifier did not attempt verification These are the arbitrary values chosen by the compiler: 6, 12 short, short': 0, -35 nes: {57} diff --git a/Test/dafny0/NullComparisonWarnings.dfy b/Test/dafny0/NullComparisonWarnings.dfy index eb9183040bc..35fd5ffb3f4 100644 --- a/Test/dafny0/NullComparisonWarnings.dfy +++ b/Test/dafny0/NullComparisonWarnings.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { print "despite the warnings, the program still compiles\n"; diff --git a/Test/dafny0/NullComparisonWarnings.dfy.expect b/Test/dafny0/NullComparisonWarnings.dfy.expect index d8cf4a9960c..f2b4545fac7 100644 --- a/Test/dafny0/NullComparisonWarnings.dfy.expect +++ b/Test/dafny0/NullComparisonWarnings.dfy.expect @@ -1,14 +1 @@ -NullComparisonWarnings.dfy(27,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(28,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'y' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(29,14): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for field 'next' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(30,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(31,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'y' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(32,14): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for field 'next' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(34,12): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(37,12): Warning: the type of the other operand is a set of non-null elements, so the inclusion test of 'null' will always return 'false' -NullComparisonWarnings.dfy(38,12): Warning: the type of the other operand is a set of non-null elements, so the non-inclusion test of 'null' will always return 'true' -NullComparisonWarnings.dfy(40,41): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'u' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(45,12): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' - -Dafny program verifier finished with 4 verified, 0 errors despite the warnings, the program still compiles diff --git a/Test/dafny0/PrintUTF8.dfy b/Test/dafny0/PrintUTF8.dfy index 5d4e376b19d..eff7baa32a9 100644 --- a/Test/dafny0/PrintUTF8.dfy +++ b/Test/dafny0/PrintUTF8.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { print "Mikaël fixed UTF8\n"; diff --git a/Test/dafny0/PrintUTF8.dfy.expect b/Test/dafny0/PrintUTF8.dfy.expect index 52a23e906cc..818549280d3 100644 --- a/Test/dafny0/PrintUTF8.dfy.expect +++ b/Test/dafny0/PrintUTF8.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors Mikaël fixed UTF8 diff --git a/Test/dafny0/RangeCompilation.dfy b/Test/dafny0/RangeCompilation.dfy index 53a8d6e33e5..3f3e6aed0f8 100644 --- a/Test/dafny0/RangeCompilation.dfy +++ b/Test/dafny0/RangeCompilation.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment newtype Byte = x | 0 <= x < 256 predicate GoodByte(b: Byte) { diff --git a/Test/dafny0/RangeCompilation.dfy.expect b/Test/dafny0/RangeCompilation.dfy.expect index 82fbbb9b698..9e0f9e5f028 100644 --- a/Test/dafny0/RangeCompilation.dfy.expect +++ b/Test/dafny0/RangeCompilation.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 4 verified, 0 errors b=2 i=4 diff --git a/Test/dafny0/SeqFromArray.dfy b/Test/dafny0/SeqFromArray.dfy index 6bab732c906..39f72303d18 100644 --- a/Test/dafny0/SeqFromArray.dfy +++ b/Test/dafny0/SeqFromArray.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // /autoTriggers:1 added to suppress instabilities diff --git a/Test/dafny0/SeqFromArray.dfy.expect b/Test/dafny0/SeqFromArray.dfy.expect index 1981561ca00..e69de29bb2d 100644 --- a/Test/dafny0/SeqFromArray.dfy.expect +++ b/Test/dafny0/SeqFromArray.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 10 verified, 0 errors diff --git a/Test/dafny0/SharedDestructorsCompile.dfy b/Test/dafny0/SharedDestructorsCompile.dfy index 8171cf72404..64d8b245b58 100644 --- a/Test/dafny0/SharedDestructorsCompile.dfy +++ b/Test/dafny0/SharedDestructorsCompile.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Dt = | A(x: int, y: real) diff --git a/Test/dafny0/SharedDestructorsCompile.dfy.expect b/Test/dafny0/SharedDestructorsCompile.dfy.expect index e037db03c40..060d152d77b 100644 --- a/Test/dafny0/SharedDestructorsCompile.dfy.expect +++ b/Test/dafny0/SharedDestructorsCompile.dfy.expect @@ -1,20 +1,3 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification -Dt.A(10, 12.0): x=10 y=12.0 -Dt.B(_module.MyClass, 6): h=_module.MyClass x=6 -Dt.C(3.14): y=3.14 -Dt.C(3.14) -Dt.A(71, 0.1) -Klef.C3(44, 100, 66, 200) -Datte.AA(10, 2) Datte.AA(10, 5) -Datte.BB(false, 12) Datte.BB(false, 6) -Datte.CC(3.2) Datte.CC(3.4) -Datte.DD(100, {7}, 5, 9.0) Datte.DD(30, {7}, 5, 9.0) -Datte.DD(100, {7}, 5, 9.0) Datte.DD(30, {7}, 5, 2.0) - -Dafny program verifier did not attempt verification Dt.A(10, 12.0): x=10 y=12.0 Dt.B(_module.MyClass, 6): h=_module.MyClass x=6 Dt.C(3.14): y=3.14 diff --git a/Test/dafny0/SiblingImports.dfy b/Test/dafny0/SiblingImports.dfy index 3fb01d9d1b8..756e4b253f3 100644 --- a/Test/dafny0/SiblingImports.dfy +++ b/Test/dafny0/SiblingImports.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { ClientA.Test(); diff --git a/Test/dafny0/SiblingImports.dfy.expect b/Test/dafny0/SiblingImports.dfy.expect index ba4df82a925..fb6171563ac 100644 --- a/Test/dafny0/SiblingImports.dfy.expect +++ b/Test/dafny0/SiblingImports.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors ClientA.Inner.Five: 5 ClientB.Inner.Five: 5 ClientC.Inner.Five: 5 diff --git a/Test/dafny0/TypeConversionsCompile.dfy b/Test/dafny0/TypeConversionsCompile.dfy index 066af1b305b..b7d02dd31f3 100644 --- a/Test/dafny0/TypeConversionsCompile.dfy +++ b/Test/dafny0/TypeConversionsCompile.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /env:0 /rprint:- "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /env:0 newtype Handful = x | 0 <= x < 0x8000 // this type turns native newtype Abundance = y | -20 <= y < 0x200_0000_0000 // still fits inside a "long" diff --git a/Test/dafny0/TypeConversionsCompile.dfy.expect b/Test/dafny0/TypeConversionsCompile.dfy.expect index d6b02b34eae..78990cf4a30 100644 --- a/Test/dafny0/TypeConversionsCompile.dfy.expect +++ b/Test/dafny0/TypeConversionsCompile.dfy.expect @@ -1,228 +1,3 @@ -// TypeConversionsCompile.dfy - -/* -module _System { - /* CALL GRAPH for module _System: - * SCC at height 1: - * RotateLeft - * SCC at height 1: - * RotateRight - * SCC at height 0: - * array - * SCC at height 0: - * nat - * SCC at height 0: - * object - */ - type string(==,0) = seq - - type {:axiom} nat(==,0) = x: int - | 0 <= x - - trait {:compile false} object { } - /*-- non-null type - type {:axiom} object(==) = c: object? | c != null /*special witness*/ - */ - - class {:compile false} array { - var Length: int // immutable - } - /*-- non-null type - type {:axiom} array(==) = c: array? | c != null /*special witness*/ - */ - - type {:compile false} /*_#Func1*/ -T0 ~> +R { - ghost function requires(x0: T0): bool - reads reads(x0) - - ghost function reads(x0: T0): set - reads reads(x0) - } - - type {:compile false} /*_#PartialFunc1*/ -T0 --> +R = f: T0 ~> R - | forall x0: T0 :: f.reads(x0) == {} - /*special witness*/ - - type {:compile false} /*_#TotalFunc1*/ -T0 -> +R = f: T0 --> R - | forall x0: T0 :: f.requires(x0) - /*special witness*/ - - type {:compile false} /*_#Func0*/ () ~> +R { - ghost function requires(): bool - reads reads() - - ghost function reads(): set - reads reads() - } - - type {:compile false} /*_#PartialFunc0*/ () --> +R = f: () ~> R - | f.reads() == {} - /*special witness*/ - - type {:compile false} /*_#TotalFunc0*/ () -> +R = f: () --> R - | f.requires() - /*special witness*/ - - datatype {:compile false} /*_tuple#2*/ (+T0, +T1) = _#Make2(0: T0, 1: T1) - - type bool { } - - type int { } - - type real { - var Floor: int // immutable - } - - type ORDINAL { - var IsLimit: bool // immutable - var IsSucc: bool // immutable - var Offset: int // immutable - var IsNat: bool // immutable - } - - type _bv { - function RotateLeft(w: nat): selftype - - function RotateRight(w: nat): selftype - } - - type map<+T, +U> { - var Keys: set // immutable - var Values: set // immutable - var Items: set<(T, U)> // immutable - } - - type imap<*T, +U> { - var Keys: iset // immutable - var Values: iset // immutable - var Items: iset<(T, U)> // immutable - } - - datatype {:compile false} /*_tuple#0*/ () = _#Make0 -} -// bitvector types in use: bv67 bv32 bv7 bv0 bv300 -*/ - -/* CALL GRAPH for module _module: - * SCC at height 2: - * Main - * SCC at height 1: - * Difficult - * SCC at height 1: - * Print - * SCC at height 0: - * Abundance - * SCC at height 0: - * EvenInt - * SCC at height 0: - * Handful - * SCC at height 0: - * OrdinalTests - * SCC at height 0: - * PrintExpected - * SCC at height 0: - * SmallReal - * SCC at height 0: - * int64 - */ -newtype Handful = x: int - | 0 <= x < 32768 - -newtype Abundance = y: int - | -20 <= y < 2199023255552 - -newtype int64 = y: int - | -9223372036854775808 <= y < 9223372036854775808 - -newtype EvenInt = x: int - | x % 2 == 0 - -newtype SmallReal = r: real - | -4.0 <= r < 300.0 - -method Print(x: int, n: nat, r: real, handful: Handful, even: EvenInt, small: SmallReal, b67: bv67, w: bv32, seven: bv7, noll: bv0) - decreases x, n, r, handful, even, small, b67, w, seven, noll -{ - print x, " ", n, " ", r, " ", handful, " ", even, " ", small, " ", b67, " ", w, " ", seven, " ", noll, "\n"; -} - -method PrintExpected(got: T, expected: T) -{ - print "got ", got, ", expected ", expected, "\n"; -} - -method Main() -{ - var x: int, n: nat, r: real := 3, 4, 5.0; - var handful: Handful, even: EvenInt, small: SmallReal := 5, 6, -1.0; - var b67: bv67, w: bv32, seven: bv7, noll: bv0 := 147573952589676412927, 4294967295, 127, 0; - Print(x, n, r, handful, even, small, b67, w, seven, noll); - PrintExpected(x as bv7, 3); - PrintExpected(0 as bv0, 0); - PrintExpected(r as int, 5); - PrintExpected((2.0 * r) as EvenInt, 10); - PrintExpected(x as real, 3.0); - PrintExpected(even as real, 6.0); - PrintExpected((small + 3.0) as Handful, 2); - PrintExpected(noll as Handful, 0); - PrintExpected(noll as SmallReal, 0.0); - PrintExpected(w as real, 4294967295.0); - PrintExpected(seven as real, 127.0); - PrintExpected(noll as bv32, 0); - PrintExpected(noll as bv67, 0); - PrintExpected(seven as bv32, 127); - PrintExpected(seven as bv67, 127); - b67 := 50; - PrintExpected(r as bv67, 5); - PrintExpected(r as bv32, 5); - PrintExpected(w as bv67, 4294967295); - PrintExpected(r as bv7, 5); - PrintExpected(0.0 as bv0, 0); - PrintExpected(handful as bv67, 5); - PrintExpected(handful as bv32, 5); - PrintExpected(handful as bv7, 5); - PrintExpected(handful as int, 5); - PrintExpected(noll as bv32 as bv0, 0); - PrintExpected(noll as bv67 as bv0, 0); - PrintExpected(seven as bv32 as bv7, 127); - PrintExpected(seven as bv67 as bv7, 127); - PrintExpected(handful as real, 5.0); - Difficult(); - var a0: Abundance, a1: Abundance, a2: Abundance, lng: int64; - var s: set := {4.0, 6.3, r, 1000.2}; - var a: array := new char[68]; - handful := 120 as Handful; - a0, a1 := -1 as Abundance, 4 as Abundance; - a2 := 8589934592 as Abundance; - w, lng := 6345789 as bv32, -9223372036854775808 as int64; - print handful, " ", a0, " ", a1, " ", a2, " ", w, " ", lng, "\n"; - x, handful, a0, w := |s|, |s| as Handful, |s| as Abundance, |s| as bv32; - print x, " ", handful, " ", a0, " ", w, "\n"; - x, handful, a0, w := a.Length, a.Length as Handful, a.Length as Abundance, a.Length as bv32; - print x, " ", handful, " ", a0, " ", w, "\n"; - OrdinalTests(); -} - -method Difficult() -{ - if 14 as real as int as bv67 == 14 { - PrintExpected(14 as real as int as bv67 as EvenInt as SmallReal as Handful as bv7 as bv32 as int, 14); - } -} - -method OrdinalTests() -{ - var ord: ORDINAL := 143; - var iord: int := ord as int; - var oord: ORDINAL := iord as ORDINAL; - print "Something about ORDINAL: ", ord, " ", iord, " ", oord, " ", ord + 4, " ", ord - 100, "\n"; - print "ORDINAL and bitvectors: ", 20 as bv32 as ORDINAL, " ", 20 as bv300 as ORDINAL, "\n"; - print ord.IsLimit, " ", ord.Offset, " ", ord.IsNat, "\n"; - ord := 0; - print ord.IsLimit, " ", ord.Offset, " ", ord.IsNat, "\n"; -} - -Dafny program verifier finished with 8 verified, 0 errors 3 4 5.0 5 6 -1.0 147573952589676412927 4294967295 127 0 got 3, expected 3 got 0, expected 0 diff --git a/Test/dafny0/TypeMembers.dfy b/Test/dafny0/TypeMembers.dfy index 2ab57767ad5..f2bea4039c9 100644 --- a/Test/dafny0/TypeMembers.dfy +++ b/Test/dafny0/TypeMembers.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { BasicTests(); diff --git a/Test/dafny0/TypeMembers.dfy.expect b/Test/dafny0/TypeMembers.dfy.expect index 1d406ca85dc..923cb07e841 100644 --- a/Test/dafny0/TypeMembers.dfy.expect +++ b/Test/dafny0/TypeMembers.dfy.expect @@ -1,32 +1,3 @@ -TypeMembers.dfy(117,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect - -Dafny program verifier finished with 29 verified, 0 errors -TypeMembers.dfy(117,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect - -Dafny program verifier did not attempt verification -DaTy.Yes 10 26 -8 11 10 11 10 -35 10 14 -22 22 -9 Dt.Business(false, 5) -76 77 -19 -0 0 -19 82 83 -93 Co.Cobalt -27 27 -18 -11 18 18 22 -15 30 29 -95 11 -162 165 -11 18 18 3 -15 30 29 -95 11 -162 165 -TypeMembers.dfy(117,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect - -Dafny program verifier did not attempt verification DaTy.Yes 10 26 8 11 10 11 10 35 10 14 diff --git a/Test/dafny0/TypeMembers.dfy.verifier.expect b/Test/dafny0/TypeMembers.dfy.verifier.expect new file mode 100644 index 00000000000..7b6aaff62cf --- /dev/null +++ b/Test/dafny0/TypeMembers.dfy.verifier.expect @@ -0,0 +1 @@ +TypeMembers.dfy(117,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect diff --git a/Test/dafny0/Wellfounded.dfy b/Test/dafny0/Wellfounded.dfy index 2ed488974c6..7ec2be06b38 100644 --- a/Test/dafny0/Wellfounded.dfy +++ b/Test/dafny0/Wellfounded.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var d := Int(10); diff --git a/Test/dafny0/Wellfounded.dfy.expect b/Test/dafny0/Wellfounded.dfy.expect index 73d7a1e7ca2..52742a67098 100644 --- a/Test/dafny0/Wellfounded.dfy.expect +++ b/Test/dafny0/Wellfounded.dfy.expect @@ -1,7 +1,3 @@ -Wellfounded.dfy(49,14): Warning: /!\ No terms found to trigger on. -Wellfounded.dfy(77,5): Warning: /!\ No terms found to trigger on. - -Dafny program verifier finished with 3 verified, 0 errors M(d, d) = 10 M(a1, d) = 10 M(a2, d) = 10 diff --git a/Test/dafny2/MinWindowMax.dfy b/Test/dafny2/MinWindowMax.dfy index 71ccb539d7d..32342cdd8b9 100644 --- a/Test/dafny2/MinWindowMax.dfy +++ b/Test/dafny2/MinWindowMax.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Minimum window-max problem. // Rustan Leino diff --git a/Test/dafny2/MinWindowMax.dfy.expect b/Test/dafny2/MinWindowMax.dfy.expect index f6f6e52d9bc..1bb5609994e 100644 --- a/Test/dafny2/MinWindowMax.dfy.expect +++ b/Test/dafny2/MinWindowMax.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 12 verified, 0 errors Window size 1: min window-max is -5 Window size 2: min window-max is 2 Window size 3: min window-max is 3 diff --git a/Test/dafny2/SmallestMissingNumber-functional.dfy b/Test/dafny2/SmallestMissingNumber-functional.dfy index 047475c2680..a1544efab5f 100644 --- a/Test/dafny2/SmallestMissingNumber-functional.dfy +++ b/Test/dafny2/SmallestMissingNumber-functional.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Smallest missing number problem, functional version without duplicates. // A purely functional solution to the programming problem in Richard Bird's diff --git a/Test/dafny2/SmallestMissingNumber-functional.dfy.expect b/Test/dafny2/SmallestMissingNumber-functional.dfy.expect index 208b183ee3e..5d75da8ddd3 100644 --- a/Test/dafny2/SmallestMissingNumber-functional.dfy.expect +++ b/Test/dafny2/SmallestMissingNumber-functional.dfy.expect @@ -1,4 +1 @@ -SmallestMissingNumber-functional.dfy(213,11): Warning: /!\ No terms found to trigger on. - -Dafny program verifier finished with 21 verified, 0 errors 0 1 4 5 diff --git a/Test/dafny2/SmallestMissingNumber-imperative.dfy b/Test/dafny2/SmallestMissingNumber-imperative.dfy index b8539481a54..314bf4e464c 100644 --- a/Test/dafny2/SmallestMissingNumber-imperative.dfy +++ b/Test/dafny2/SmallestMissingNumber-imperative.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Smallest missing number. // An imperative solution to the programming problem in Richard Bird's diff --git a/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect b/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect index bc4a868fdff..cfb25913041 100644 --- a/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect +++ b/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 8 verified, 0 errors 0 1 5 diff --git a/Test/dafny2/StoreAndRetrieve.dfy b/Test/dafny2/StoreAndRetrieve.dfy index 85bf9a992be..048aefc49e2 100644 --- a/Test/dafny2/StoreAndRetrieve.dfy +++ b/Test/dafny2/StoreAndRetrieve.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This file shows an example program that uses both refinement and :autocontracts // specify a class that stores a set of things that can be retrieved using a query. diff --git a/Test/dafny2/StoreAndRetrieve.dfy.expect b/Test/dafny2/StoreAndRetrieve.dfy.expect index 1d7d71d5202..030f5bfab39 100644 --- a/Test/dafny2/StoreAndRetrieve.dfy.expect +++ b/Test/dafny2/StoreAndRetrieve.dfy.expect @@ -1,39 +1 @@ -StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier finished with 19 verified, 0 errors -StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -20.3 -StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -20.3 -StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -20.3 -StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification 20.3 diff --git a/Test/dafny2/StoreAndRetrieve.dfy.verifier.expect b/Test/dafny2/StoreAndRetrieve.dfy.verifier.expect new file mode 100644 index 00000000000..7727ed0c4f5 --- /dev/null +++ b/Test/dafny2/StoreAndRetrieve.dfy.verifier.expect @@ -0,0 +1,5 @@ +StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny2/Z-BirthdayBook.dfy b/Test/dafny2/Z-BirthdayBook.dfy index d9580e7cca2..10fc159b1a3 100644 --- a/Test/dafny2/Z-BirthdayBook.dfy +++ b/Test/dafny2/Z-BirthdayBook.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // The birthday book example from the Z Reference Manual // Rustan Leino, 22 Feb 2018 diff --git a/Test/dafny2/Z-BirthdayBook.dfy.expect b/Test/dafny2/Z-BirthdayBook.dfy.expect index 31762ddd5b4..c6f2230e21a 100644 --- a/Test/dafny2/Z-BirthdayBook.dfy.expect +++ b/Test/dafny2/Z-BirthdayBook.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 21 verified, 0 errors Send cards to: {['M', 'i', 'k', 'e'], ['S', 'u', 's', 'a', 'n']} diff --git a/Test/dafny2/pq-intrinsic-extrinsic.dfy b/Test/dafny2/pq-intrinsic-extrinsic.dfy index c797c92445d..588c2f9e2b1 100644 --- a/Test/dafny2/pq-intrinsic-extrinsic.dfy +++ b/Test/dafny2/pq-intrinsic-extrinsic.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This file contains several versions of a priority queue implemented by Braun trees: // diff --git a/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect b/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect index bc2608f44b7..5c90c26e0eb 100644 --- a/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect +++ b/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect @@ -1,14 +1,3 @@ - -Dafny program verifier finished with 32 verified, 0 errors - -Dafny program verifier did not attempt verification -PriorityQueue_extrinsic: 3 -PriorityQueue_layered: 3 -PriorityQueue_intrinsic: 3 -PriorityQueue_on_intrinsic: 3 -PriorityQueue_direct: 3 - -Dafny program verifier did not attempt verification PriorityQueue_extrinsic: 3 PriorityQueue_layered: 3 PriorityQueue_intrinsic: 3 diff --git a/Test/dafny3/Abstemious.dfy b/Test/dafny3/Abstemious.dfy index 263c1f1fb00..62d891f950f 100644 --- a/Test/dafny3/Abstemious.dfy +++ b/Test/dafny3/Abstemious.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Examples from https://www.haskell.org/tutorial/functions.html diff --git a/Test/dafny3/Abstemious.dfy.expect b/Test/dafny3/Abstemious.dfy.expect index 96f109b0b58..3511a04a840 100644 --- a/Test/dafny3/Abstemious.dfy.expect +++ b/Test/dafny3/Abstemious.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 19 verified, 0 errors ones(): 1 1 1 1 1 1 1 ... from(3): 3 4 5 6 7 8 9 ... Map(plus1, ones()): 2 2 2 2 2 2 2 ... diff --git a/Test/dafny3/CachedContainer.dfy b/Test/dafny3/CachedContainer.dfy index 77c3e45897f..e36e76d6851 100644 --- a/Test/dafny3/CachedContainer.dfy +++ b/Test/dafny3/CachedContainer.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This file contains an example chain of module refinements, starting from a // simple interface M0 to an implementation M3. Module Client.Test() is diff --git a/Test/dafny3/CachedContainer.dfy.expect b/Test/dafny3/CachedContainer.dfy.expect index 08f4fb30b0a..ed2a587c3f1 100644 --- a/Test/dafny3/CachedContainer.dfy.expect +++ b/Test/dafny3/CachedContainer.dfy.expect @@ -1,79 +1 @@ -CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier finished with 29 verified, 0 errors -CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -false true false true -CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -false true false true -CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -false true false true -CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification false true false true diff --git a/Test/dafny3/CachedContainer.dfy.verifier.expect b/Test/dafny3/CachedContainer.dfy.verifier.expect new file mode 100644 index 00000000000..dce146911e0 --- /dev/null +++ b/Test/dafny3/CachedContainer.dfy.verifier.expect @@ -0,0 +1,13 @@ +CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny3/Iter.dfy b/Test/dafny3/Iter.dfy index 81431f2c64b..46befa24dd8 100644 --- a/Test/dafny3/Iter.dfy +++ b/Test/dafny3/Iter.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class List { ghost var Contents: seq diff --git a/Test/dafny3/Iter.dfy.expect b/Test/dafny3/Iter.dfy.expect index 69d7373d5d5..0ed11070541 100644 --- a/Test/dafny3/Iter.dfy.expect +++ b/Test/dafny3/Iter.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 12 verified, 0 errors 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 98 0 2 4 6 8 10 12 14 diff --git a/Test/dafny4/Ackermann.dfy b/Test/dafny4/Ackermann.dfy index 27968070e9b..a4ef351c96b 100644 --- a/Test/dafny4/Ackermann.dfy +++ b/Test/dafny4/Ackermann.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Rustan Leino, 8 Sep 2015. // This file proves that the Ackermann function is monotonic in each argument diff --git a/Test/dafny4/Ackermann.dfy.expect b/Test/dafny4/Ackermann.dfy.expect index c995dac9c9a..43d9513ef4b 100644 --- a/Test/dafny4/Ackermann.dfy.expect +++ b/Test/dafny4/Ackermann.dfy.expect @@ -1,5 +1 @@ -Ackermann.dfy(163,4): Warning: /!\ No terms found to trigger on. -Ackermann.dfy(181,4): Warning: /!\ No terms found to trigger on. - -Dafny program verifier finished with 14 verified, 0 errors Ack(3, 4) = 125 diff --git a/Test/dafny4/Bug107.dfy b/Test/dafny4/Bug107.dfy index e417fc90a53..b7ab69c9a8d 100644 --- a/Test/dafny4/Bug107.dfy +++ b/Test/dafny4/Bug107.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/dafny4/Bug107.dfy.expect b/Test/dafny4/Bug107.dfy.expect index ad79213a18c..62f9457511f 100644 --- a/Test/dafny4/Bug107.dfy.expect +++ b/Test/dafny4/Bug107.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors 6 \ No newline at end of file diff --git a/Test/dafny4/Bug108.dfy b/Test/dafny4/Bug108.dfy index c64ec32a340..8228fe44f87 100644 --- a/Test/dafny4/Bug108.dfy +++ b/Test/dafny4/Bug108.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var A := map[0 := 1]; diff --git a/Test/dafny4/Bug108.dfy.expect b/Test/dafny4/Bug108.dfy.expect index c1c63f6c5c1..0777a01b26d 100644 --- a/Test/dafny4/Bug108.dfy.expect +++ b/Test/dafny4/Bug108.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 1 verified, 0 errors map[0 := 1] map[0 := 1] diff --git a/Test/dafny4/Bug113.dfy b/Test/dafny4/Bug113.dfy index 23c759540cd..0bec0c1ce31 100644 --- a/Test/dafny4/Bug113.dfy +++ b/Test/dafny4/Bug113.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype D = D(q:int, r:int, s:int, t:int) @@ -7,4 +6,4 @@ method Main() { print D(10, 20, 30, 40); print "\n"; -} \ No newline at end of file +} diff --git a/Test/dafny4/Bug113.dfy.expect b/Test/dafny4/Bug113.dfy.expect index 3ea1396ad00..e2eeff32e9a 100644 --- a/Test/dafny4/Bug113.dfy.expect +++ b/Test/dafny4/Bug113.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors D.D(10, 20, 30, 40) diff --git a/Test/dafny4/Bug116.dfy b/Test/dafny4/Bug116.dfy index e29da0f609d..501b74c74d5 100644 --- a/Test/dafny4/Bug116.dfy +++ b/Test/dafny4/Bug116.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // test various compiler-target keywords diff --git a/Test/dafny4/Bug116.dfy.expect b/Test/dafny4/Bug116.dfy.expect index 21aa85d71f0..93102ef3120 100644 --- a/Test/dafny4/Bug116.dfy.expect +++ b/Test/dafny4/Bug116.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors struct.S byte.arguments enum_Compile.goto.switch enum_Compile.goto.switch 20 + 20 == 40 diff --git a/Test/dafny4/Bug140.dfy b/Test/dafny4/Bug140.dfy index 47779c99efa..4c0cd511d20 100644 --- a/Test/dafny4/Bug140.dfy +++ b/Test/dafny4/Bug140.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class Node { ghost var List: seq diff --git a/Test/dafny4/Bug140.dfy.expect b/Test/dafny4/Bug140.dfy.expect index bad48de4d6b..a40ee1166fb 100644 --- a/Test/dafny4/Bug140.dfy.expect +++ b/Test/dafny4/Bug140.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 8 verified, 0 errors 1 2 diff --git a/Test/dafny4/Bug148.dfy b/Test/dafny4/Bug148.dfy index da1ebf99447..f31cef2cdc8 100644 --- a/Test/dafny4/Bug148.dfy +++ b/Test/dafny4/Bug148.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/dafny4/Bug148.dfy.expect b/Test/dafny4/Bug148.dfy.expect index 79d02517ceb..9ed6ca4768b 100644 --- a/Test/dafny4/Bug148.dfy.expect +++ b/Test/dafny4/Bug148.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 0 verified, 0 errors true false true diff --git a/Test/dafny4/Bug49.dfy b/Test/dafny4/Bug49.dfy index 68722830422..868f4a3964b 100644 --- a/Test/dafny4/Bug49.dfy +++ b/Test/dafny4/Bug49.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/dafny4/Bug49.dfy.expect b/Test/dafny4/Bug49.dfy.expect index 4e02a08bbee..800c2bd15ba 100644 --- a/Test/dafny4/Bug49.dfy.expect +++ b/Test/dafny4/Bug49.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 13 verified, 0 errors 6 6 5 diff --git a/Test/dafny4/Bug60.dfy b/Test/dafny4/Bug60.dfy index 0aa9209269d..f4585753f5f 100644 --- a/Test/dafny4/Bug60.dfy +++ b/Test/dafny4/Bug60.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This method can be used to test compilation. method Main() diff --git a/Test/dafny4/Bug60.dfy.expect b/Test/dafny4/Bug60.dfy.expect index 49740e95682..fd56dc3fcbc 100644 --- a/Test/dafny4/Bug60.dfy.expect +++ b/Test/dafny4/Bug60.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 0 verified, 0 errors ({2, 3}, map[2 := 20, 3 := 30]) (2, 2) {2, 3} diff --git a/Test/dafny4/Bug67.dfy b/Test/dafny4/Bug67.dfy index 731018a293b..f01d4239a75 100644 --- a/Test/dafny4/Bug67.dfy +++ b/Test/dafny4/Bug67.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype d = D(m:seq) @@ -8,4 +7,4 @@ method Main() assert D([10, 20]) == D([10, 20]); // succeeds print [10, 20] == [10, 20], "\n"; // prints True print D([10, 20]) == D([10, 20]); // prints False -} \ No newline at end of file +} diff --git a/Test/dafny4/Bug67.dfy.expect b/Test/dafny4/Bug67.dfy.expect index c716cab3144..0be5d980da4 100644 --- a/Test/dafny4/Bug67.dfy.expect +++ b/Test/dafny4/Bug67.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 1 verified, 0 errors true true \ No newline at end of file diff --git a/Test/dafny4/Bug68.dfy b/Test/dafny4/Bug68.dfy index a211206acba..bf50015f90c 100644 --- a/Test/dafny4/Bug68.dfy +++ b/Test/dafny4/Bug68.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method M1() { @@ -62,4 +61,4 @@ method Main() M3(); M3'(); M4(); -} \ No newline at end of file +} diff --git a/Test/dafny4/Bug68.dfy.expect b/Test/dafny4/Bug68.dfy.expect index f4ef534187d..814ccfee2df 100644 --- a/Test/dafny4/Bug68.dfy.expect +++ b/Test/dafny4/Bug68.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 8 verified, 0 errors true true true diff --git a/Test/dafny4/Bug89.dfy b/Test/dafny4/Bug89.dfy index a7abf93a4d2..300594dcdea 100644 --- a/Test/dafny4/Bug89.dfy +++ b/Test/dafny4/Bug89.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method F() returns(x:int) ensures x == 6; @@ -12,4 +11,4 @@ method Main() { var x := F(); print x; -} \ No newline at end of file +} diff --git a/Test/dafny4/Bug89.dfy.expect b/Test/dafny4/Bug89.dfy.expect index ed41c274352..62f9457511f 100644 --- a/Test/dafny4/Bug89.dfy.expect +++ b/Test/dafny4/Bug89.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors 6 \ No newline at end of file diff --git a/Test/dafny4/Bug94.dfy b/Test/dafny4/Bug94.dfy index be931445654..c41458539fc 100644 --- a/Test/dafny4/Bug94.dfy +++ b/Test/dafny4/Bug94.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment ghost function foo() : (int, int) { diff --git a/Test/dafny4/Bug94.dfy.expect b/Test/dafny4/Bug94.dfy.expect index ab0cfbb2d9e..3f10ffe7a4c 100644 --- a/Test/dafny4/Bug94.dfy.expect +++ b/Test/dafny4/Bug94.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors 15 \ No newline at end of file diff --git a/Test/dafny4/ClassRefinement.dfy b/Test/dafny4/ClassRefinement.dfy index 320749ec197..3d5fd1006eb 100644 --- a/Test/dafny4/ClassRefinement.dfy +++ b/Test/dafny4/ClassRefinement.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment abstract module M0 { class Counter { diff --git a/Test/dafny4/ClassRefinement.dfy.expect b/Test/dafny4/ClassRefinement.dfy.expect index f456b6777f3..cba3471eb57 100644 --- a/Test/dafny4/ClassRefinement.dfy.expect +++ b/Test/dafny4/ClassRefinement.dfy.expect @@ -1,44 +1 @@ -ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated -ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier finished with 11 verified, 0 errors -ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated -ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -2 1 -ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated -ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -2 1 -ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated -ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -2 1 -ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated -ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification 2 1 diff --git a/Test/dafny4/ClassRefinement.dfy.verifier.expect b/Test/dafny4/ClassRefinement.dfy.verifier.expect new file mode 100644 index 00000000000..85d37d75847 --- /dev/null +++ b/Test/dafny4/ClassRefinement.dfy.verifier.expect @@ -0,0 +1,6 @@ +ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated +ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny4/ExpandedGuardedness.dfy b/Test/dafny4/ExpandedGuardedness.dfy index 5cd7828f932..af620ec40e8 100644 --- a/Test/dafny4/ExpandedGuardedness.dfy +++ b/Test/dafny4/ExpandedGuardedness.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/dafny4/ExpandedGuardedness.dfy.expect b/Test/dafny4/ExpandedGuardedness.dfy.expect index d05670701e0..e0f3b041a66 100644 --- a/Test/dafny4/ExpandedGuardedness.dfy.expect +++ b/Test/dafny4/ExpandedGuardedness.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 12 verified, 0 errors Up 19 20 21 22 23 Up2 19 20 21 22 23 UpIf 19 20 22 24 26 diff --git a/Test/dafny4/FlyingRobots.dfy b/Test/dafny4/FlyingRobots.dfy index 41223cca1aa..f14a2a467cd 100644 --- a/Test/dafny4/FlyingRobots.dfy +++ b/Test/dafny4/FlyingRobots.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // The flying robots examples from an F* tutorial. It demonstrates how to specify // mutable data structures in the heap. diff --git a/Test/dafny4/FlyingRobots.dfy.expect b/Test/dafny4/FlyingRobots.dfy.expect index 5ed0d97333e..e69de29bb2d 100644 --- a/Test/dafny4/FlyingRobots.dfy.expect +++ b/Test/dafny4/FlyingRobots.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 31 verified, 0 errors diff --git a/Test/dafny4/Leq.dfy b/Test/dafny4/Leq.dfy index fac12757ba0..fdbc1078ca3 100644 --- a/Test/dafny4/Leq.dfy +++ b/Test/dafny4/Leq.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Rustan Leino, 22 Sep 2015. // This file considers two definitions of Leq on naturals+infinity. One diff --git a/Test/dafny4/Leq.dfy.expect b/Test/dafny4/Leq.dfy.expect index 15301952c57..e69de29bb2d 100644 --- a/Test/dafny4/Leq.dfy.expect +++ b/Test/dafny4/Leq.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 16 verified, 0 errors diff --git a/Test/dafny4/McCarthy91.dfy b/Test/dafny4/McCarthy91.dfy index 466d30328cc..428f11eb269 100644 --- a/Test/dafny4/McCarthy91.dfy +++ b/Test/dafny4/McCarthy91.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // The usual recursive method for computing McCarthy's 91 function method Main() { diff --git a/Test/dafny4/McCarthy91.dfy.expect b/Test/dafny4/McCarthy91.dfy.expect index b63f7a0b03b..1511cff2c81 100644 --- a/Test/dafny4/McCarthy91.dfy.expect +++ b/Test/dafny4/McCarthy91.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors M(3) = 91 M(99) = 91 M(100) = 91 diff --git a/Test/dafny4/NatList.dfy b/Test/dafny4/NatList.dfy index 567fd461259..5a1b0358eaf 100644 --- a/Test/dafny4/NatList.dfy +++ b/Test/dafny4/NatList.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This file tests some programs where "nat" is a type parameter to // a datatype. diff --git a/Test/dafny4/NatList.dfy.expect b/Test/dafny4/NatList.dfy.expect index 2ceb3169787..5382a29cb9f 100644 --- a/Test/dafny4/NatList.dfy.expect +++ b/Test/dafny4/NatList.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 11 verified, 0 errors ns = List.Cons(4, List.Cons(10, List.Nil)) Sum(ns) = 14 ns' = List.Cons(20, List.Nil) diff --git a/Test/dafny4/Regression15.dfy b/Test/dafny4/Regression15.dfy index 37f31ba7e90..5ecb5ee4e2b 100644 --- a/Test/dafny4/Regression15.dfy +++ b/Test/dafny4/Regression15.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var b; diff --git a/Test/dafny4/Regression15.dfy.expect b/Test/dafny4/Regression15.dfy.expect index 584190727b9..4cf7b8a8eb1 100644 --- a/Test/dafny4/Regression15.dfy.expect +++ b/Test/dafny4/Regression15.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 3 verified, 0 errors false true true diff --git a/Test/dafny4/Regression2.dfy b/Test/dafny4/Regression2.dfy index 213bf265401..0d28285e74c 100644 --- a/Test/dafny4/Regression2.dfy +++ b/Test/dafny4/Regression2.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module NativeTypes { newtype uint64 = int diff --git a/Test/dafny4/Regression2.dfy.expect b/Test/dafny4/Regression2.dfy.expect index 3f8ac383f86..8a739fb435a 100644 --- a/Test/dafny4/Regression2.dfy.expect +++ b/Test/dafny4/Regression2.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors true true true diff --git a/Test/dafny4/Regression3.dfy b/Test/dafny4/Regression3.dfy index adaa0d2763d..fc60fad3cb1 100644 --- a/Test/dafny4/Regression3.dfy +++ b/Test/dafny4/Regression3.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/dafny4/Regression3.dfy.expect b/Test/dafny4/Regression3.dfy.expect index 841338987c7..1223bf9ffaf 100644 --- a/Test/dafny4/Regression3.dfy.expect +++ b/Test/dafny4/Regression3.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 3 verified, 0 errors 55 Trunc( -3.0 ) = -3 (expected -3) Trunc( -2.8 ) = -3 (expected -3) diff --git a/Test/dafny4/Regression4.dfy b/Test/dafny4/Regression4.dfy index 5f881a5083f..e4bc4cbef85 100644 --- a/Test/dafny4/Regression4.dfy +++ b/Test/dafny4/Regression4.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { } diff --git a/Test/dafny4/Regression4.dfy.expect b/Test/dafny4/Regression4.dfy.expect index ba00363fc08..e69de29bb2d 100644 --- a/Test/dafny4/Regression4.dfy.expect +++ b/Test/dafny4/Regression4.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 4 verified, 0 errors diff --git a/Test/dafny4/Regression6.dfy b/Test/dafny4/Regression6.dfy index f1551d3ef2d..b589ec0ce7d 100644 --- a/Test/dafny4/Regression6.dfy +++ b/Test/dafny4/Regression6.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function Sum(a: array, lo: int, hi: int): int requires 0 <= lo <= hi <= a.Length diff --git a/Test/dafny4/Regression6.dfy.expect b/Test/dafny4/Regression6.dfy.expect index 17464f29e0b..54573bead10 100644 --- a/Test/dafny4/Regression6.dfy.expect +++ b/Test/dafny4/Regression6.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors 0 1028 0 diff --git a/Test/dafny4/Regression7.dfy b/Test/dafny4/Regression7.dfy index 8ce421a62f3..ef3ca5eea44 100644 --- a/Test/dafny4/Regression7.dfy +++ b/Test/dafny4/Regression7.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /rprint:"%t.rprint" /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module ListLibrary { datatype List = Nil | Cons(head: B, tail: List) diff --git a/Test/dafny4/Regression7.dfy.expect b/Test/dafny4/Regression7.dfy.expect index 19e63b05225..70b01f973a0 100644 --- a/Test/dafny4/Regression7.dfy.expect +++ b/Test/dafny4/Regression7.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors ListLibrary_Compile.List.Cons(28.0, ListLibrary_Compile.List.Nil) diff --git a/Test/dafny4/Regression9.dfy b/Test/dafny4/Regression9.dfy index d9e44547252..086007a3ef8 100644 --- a/Test/dafny4/Regression9.dfy +++ b/Test/dafny4/Regression9.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Some tests for the type inference that was revamped // to better support subset types. diff --git a/Test/dafny4/Regression9.dfy.expect b/Test/dafny4/Regression9.dfy.expect index 5a26eaeabfb..2183b22cfa9 100644 --- a/Test/dafny4/Regression9.dfy.expect +++ b/Test/dafny4/Regression9.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors 'D''D''D' diff --git a/Test/dafny4/UnionFind.dfy b/Test/dafny4/UnionFind.dfy index d578ab81bf8..b68bcb0de0f 100644 --- a/Test/dafny4/UnionFind.dfy +++ b/Test/dafny4/UnionFind.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Rustan Leino, Nov 2015 // Module M0 gives the high-level specification of the UnionFind data structure diff --git a/Test/dafny4/UnionFind.dfy.expect b/Test/dafny4/UnionFind.dfy.expect index 961b161b8dc..1cb72129e49 100644 --- a/Test/dafny4/UnionFind.dfy.expect +++ b/Test/dafny4/UnionFind.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 63 verified, 0 errors false true true false true true diff --git a/Test/dafny4/gcd.dfy b/Test/dafny4/gcd.dfy index 384e338435f..fa92223fa49 100644 --- a/Test/dafny4/gcd.dfy +++ b/Test/dafny4/gcd.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation // A text describing this file is found in a Dafny Power User note: http://leino.science/papers/krml279.html diff --git a/Test/dafny4/gcd.dfy.expect b/Test/dafny4/gcd.dfy.expect index ecbe2b6f64a..c17551a37a4 100644 --- a/Test/dafny4/gcd.dfy.expect +++ b/Test/dafny4/gcd.dfy.expect @@ -1,34 +1,3 @@ - -Dafny program verifier finished with 19 verified, 0 errors - -Dafny program verifier did not attempt verification -15 gcd 9 = 3 -14 gcd 22 = 2 -371 gcd 1 = 1 -1 gcd 2 = 1 -1 gcd 1 = 1 -13 gcd 13 = 13 -60 gcd 60 = 60 - -Dafny program verifier did not attempt verification -15 gcd 9 = 3 -14 gcd 22 = 2 -371 gcd 1 = 1 -1 gcd 2 = 1 -1 gcd 1 = 1 -13 gcd 13 = 13 -60 gcd 60 = 60 - -Dafny program verifier did not attempt verification -15 gcd 9 = 3 -14 gcd 22 = 2 -371 gcd 1 = 1 -1 gcd 2 = 1 -1 gcd 1 = 1 -13 gcd 13 = 13 -60 gcd 60 = 60 - -Dafny program verifier did not attempt verification 15 gcd 9 = 3 14 gcd 22 = 2 371 gcd 1 = 1 diff --git a/Test/dafny4/git-issue104.dfy b/Test/dafny4/git-issue104.dfy index 86683a2ed88..b05ec4de1cc 100644 --- a/Test/dafny4/git-issue104.dfy +++ b/Test/dafny4/git-issue104.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment predicate bug(a: array) reads a diff --git a/Test/dafny4/git-issue104.dfy.expect b/Test/dafny4/git-issue104.dfy.expect index f572edb2471..836a5934c8f 100644 --- a/Test/dafny4/git-issue104.dfy.expect +++ b/Test/dafny4/git-issue104.dfy.expect @@ -1,17 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification -true false - -Dafny program verifier did not attempt verification -true false - -Dafny program verifier did not attempt verification -true false - -Dafny program verifier did not attempt verification -true false - -Dafny program verifier did not attempt verification true false diff --git a/Test/dafny4/git-issue105.dfy b/Test/dafny4/git-issue105.dfy index 09cfce29a6e..4cff2330cba 100644 --- a/Test/dafny4/git-issue105.dfy +++ b/Test/dafny4/git-issue105.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method lol() returns (c: int) { diff --git a/Test/dafny4/git-issue105.dfy.expect b/Test/dafny4/git-issue105.dfy.expect index 012f5b99379..e69de29bb2d 100644 --- a/Test/dafny4/git-issue105.dfy.expect +++ b/Test/dafny4/git-issue105.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/dafny4/git-issue15.dfy b/Test/dafny4/git-issue15.dfy index 96905286209..7c77a67ccf9 100755 --- a/Test/dafny4/git-issue15.dfy +++ b/Test/dafny4/git-issue15.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype obj = Obj(fooBar:map) datatype foo = Foo diff --git a/Test/dafny4/git-issue15.dfy.expect b/Test/dafny4/git-issue15.dfy.expect index e52de78d0b1..00750edc07d 100755 --- a/Test/dafny4/git-issue15.dfy.expect +++ b/Test/dafny4/git-issue15.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors 3 diff --git a/Test/dafny4/git-issue167.dfy b/Test/dafny4/git-issue167.dfy index d02943dc42d..d98d425c345 100644 --- a/Test/dafny4/git-issue167.dfy +++ b/Test/dafny4/git-issue167.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { LetTest(); diff --git a/Test/dafny4/git-issue167.dfy.expect b/Test/dafny4/git-issue167.dfy.expect index 0a230fe846e..8c5e1ed8df7 100644 --- a/Test/dafny4/git-issue167.dfy.expect +++ b/Test/dafny4/git-issue167.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 4 verified, 0 errors 30 {6, 7} {['M', 'i', 'l', 'l', 'a'], ['A', 'l', 'f', 'o', 'n', 's']} diff --git a/Test/dafny4/git-issue195.dfy b/Test/dafny4/git-issue195.dfy index ac4b1306ac6..fccdc5461c8 100644 --- a/Test/dafny4/git-issue195.dfy +++ b/Test/dafny4/git-issue195.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Block = Block(prevBlockHash:Hash, txs:seq, proof:VProof) diff --git a/Test/dafny4/git-issue195.dfy.expect b/Test/dafny4/git-issue195.dfy.expect index 30692fdef2a..638bfb50b2d 100644 --- a/Test/dafny4/git-issue195.dfy.expect +++ b/Test/dafny4/git-issue195.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 4 verified, 0 errors true true true true true diff --git a/Test/dafny4/git-issue196.dfy b/Test/dafny4/git-issue196.dfy index 64eb0e9123f..056687ab1a5 100644 --- a/Test/dafny4/git-issue196.dfy +++ b/Test/dafny4/git-issue196.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class A { var a: array> diff --git a/Test/dafny4/git-issue196.dfy.expect b/Test/dafny4/git-issue196.dfy.expect index a333f982b8f..ee25a2c5027 100644 --- a/Test/dafny4/git-issue196.dfy.expect +++ b/Test/dafny4/git-issue196.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 9 verified, 0 errors 42 42 42 5000 5000 5000 5000 5000 diff --git a/Test/dafny4/git-issue4.dfy b/Test/dafny4/git-issue4.dfy index b19cf3ce6df..b17a545e219 100644 --- a/Test/dafny4/git-issue4.dfy +++ b/Test/dafny4/git-issue4.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function IntToChar(i:int):char requires 0 <= i < 10 diff --git a/Test/dafny4/git-issue4.dfy.expect b/Test/dafny4/git-issue4.dfy.expect index 33af1e040b7..24e24eb63cc 100644 --- a/Test/dafny4/git-issue4.dfy.expect +++ b/Test/dafny4/git-issue4.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors '8' 8 '8' 56 56 diff --git a/Test/dafny4/git-issue43.dfy b/Test/dafny4/git-issue43.dfy index edf056a1a91..d320d7761bc 100644 --- a/Test/dafny4/git-issue43.dfy +++ b/Test/dafny4/git-issue43.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class System { } diff --git a/Test/dafny4/git-issue43.dfy.expect b/Test/dafny4/git-issue43.dfy.expect index 012f5b99379..e69de29bb2d 100644 --- a/Test/dafny4/git-issue43.dfy.expect +++ b/Test/dafny4/git-issue43.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/dafny4/git-issue70.dfy b/Test/dafny4/git-issue70.dfy index c8db7c9618d..3a3a01e0af7 100644 --- a/Test/dafny4/git-issue70.dfy +++ b/Test/dafny4/git-issue70.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/dafny4/git-issue70.dfy.expect b/Test/dafny4/git-issue70.dfy.expect index 526e9a5b349..36ede89b639 100644 --- a/Test/dafny4/git-issue70.dfy.expect +++ b/Test/dafny4/git-issue70.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 3 verified, 0 errors map test {4, 6} {5, 7} diff --git a/Test/dafny4/git-issue76.dfy b/Test/dafny4/git-issue76.dfy index 708ee911b24..85613dba2f2 100644 --- a/Test/dafny4/git-issue76.dfy +++ b/Test/dafny4/git-issue76.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { M0(); diff --git a/Test/dafny4/git-issue76.dfy.expect b/Test/dafny4/git-issue76.dfy.expect index 546da03a267..0cfbf08886f 100644 --- a/Test/dafny4/git-issue76.dfy.expect +++ b/Test/dafny4/git-issue76.dfy.expect @@ -1,8 +1 @@ - -Dafny program verifier finished with 7 verified, 0 errors - -Dafny program verifier did not attempt verification -2 - -Dafny program verifier did not attempt verification 2 diff --git a/Test/dafny4/git-issue79.dfy b/Test/dafny4/git-issue79.dfy index 046a7c5e375..f3fb17b8531 100644 --- a/Test/dafny4/git-issue79.dfy +++ b/Test/dafny4/git-issue79.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype EInt = Int(val: int) | Unknown type Pair = (string, EInt) diff --git a/Test/dafny4/git-issue79.dfy.expect b/Test/dafny4/git-issue79.dfy.expect index 012f5b99379..e69de29bb2d 100644 --- a/Test/dafny4/git-issue79.dfy.expect +++ b/Test/dafny4/git-issue79.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/dafny4/git-issue88.dfy b/Test/dafny4/git-issue88.dfy index 1c188333783..83c0b4a8ef9 100644 --- a/Test/dafny4/git-issue88.dfy +++ b/Test/dafny4/git-issue88.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment type Grid = array2 diff --git a/Test/dafny4/git-issue88.dfy.expect b/Test/dafny4/git-issue88.dfy.expect index 00a51f822da..e69de29bb2d 100644 --- a/Test/dafny4/git-issue88.dfy.expect +++ b/Test/dafny4/git-issue88.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 3 verified, 0 errors diff --git a/Test/exceptions/Exceptions1.dfy b/Test/exceptions/Exceptions1.dfy index 11bb2f7923d..4ffd3291f2f 100644 --- a/Test/exceptions/Exceptions1.dfy +++ b/Test/exceptions/Exceptions1.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" /rprint:"%t.rprint" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "./NatOutcome.dfy" include "./VoidOutcome.dfy" diff --git a/Test/exceptions/Exceptions1.dfy.expect b/Test/exceptions/Exceptions1.dfy.expect index e61be2a11ad..c87eb938c55 100644 --- a/Test/exceptions/Exceptions1.dfy.expect +++ b/Test/exceptions/Exceptions1.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 7 verified, 0 errors true_true_true_88_42_33_Success=100 ___VoidSuccess true_true_false_88_42_Failure diff --git a/Test/exceptions/Exceptions1Expressions.dfy b/Test/exceptions/Exceptions1Expressions.dfy index c0f3c67cd39..a57e5b78c7e 100644 --- a/Test/exceptions/Exceptions1Expressions.dfy +++ b/Test/exceptions/Exceptions1Expressions.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" /rprint:"%t.rprint" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "./NatOutcomeDt.dfy" include "./VoidOutcomeDt.dfy" diff --git a/Test/exceptions/Exceptions1Expressions.dfy.expect b/Test/exceptions/Exceptions1Expressions.dfy.expect index 3da30f30d36..3f1b38ab150 100644 --- a/Test/exceptions/Exceptions1Expressions.dfy.expect +++ b/Test/exceptions/Exceptions1Expressions.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors true_true_true_Success=100 VoidSuccess true_true_false_Failure diff --git a/Test/exports/FIFO.dfy b/Test/exports/FIFO.dfy index 173e412eaa9..95a8d25510c 100644 --- a/Test/exports/FIFO.dfy +++ b/Test/exports/FIFO.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "Queue.dfyi" diff --git a/Test/exports/FIFO.dfy.expect b/Test/exports/FIFO.dfy.expect index 8350309cc2a..4539bbf2d22 100644 --- a/Test/exports/FIFO.dfy.expect +++ b/Test/exports/FIFO.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors 0 1 2 diff --git a/Test/exports/LIFO.dfy b/Test/exports/LIFO.dfy index ea691935620..513dd457c3f 100644 --- a/Test/exports/LIFO.dfy +++ b/Test/exports/LIFO.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "Queue.dfyi" diff --git a/Test/exports/LIFO.dfy.expect b/Test/exports/LIFO.dfy.expect index 48aa7787d09..ae136939b64 100644 --- a/Test/exports/LIFO.dfy.expect +++ b/Test/exports/LIFO.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors 2 1 0 diff --git a/Test/exports/xrefine2.dfy b/Test/exports/xrefine2.dfy index ad46ff8822e..815563c55a1 100644 --- a/Test/exports/xrefine2.dfy +++ b/Test/exports/xrefine2.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module ProtocolImpl { diff --git a/Test/exports/xrefine2.dfy.expect b/Test/exports/xrefine2.dfy.expect index 34e1b357779..858dbd09862 100644 --- a/Test/exports/xrefine2.dfy.expect +++ b/Test/exports/xrefine2.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 4 verified, 0 errors HI.foo(h1) => true HI.foo(h2) => true PI.orange(1) => 2 diff --git a/Test/exports/xrefine3.dfy b/Test/exports/xrefine3.dfy index 2ec21a5affe..09fc6053dbe 100644 --- a/Test/exports/xrefine3.dfy +++ b/Test/exports/xrefine3.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module AlphaImpl { diff --git a/Test/exports/xrefine3.dfy.expect b/Test/exports/xrefine3.dfy.expect index 488ab11c36a..ae50cef0985 100644 --- a/Test/exports/xrefine3.dfy.expect +++ b/Test/exports/xrefine3.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors o hai! diff --git a/Test/git-issues/git-issue-032.dfy b/Test/git-issues/git-issue-032.dfy index bde5b2f2a69..d7dd61440a7 100644 --- a/Test/git-issues/git-issue-032.dfy +++ b/Test/git-issues/git-issue-032.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/git-issues/git-issue-032.dfy.expect b/Test/git-issues/git-issue-032.dfy.expect index 91c285009c1..2a64997c6f7 100644 --- a/Test/git-issues/git-issue-032.dfy.expect +++ b/Test/git-issues/git-issue-032.dfy.expect @@ -1,40 +1,3 @@ -git-issue-032.dfy(18,35): Warning: this branch is redundant -git-issue-032.dfy(27,34): Warning: this branch is redundant -git-issue-032.dfy(28,35): Warning: this branch is redundant - -Dafny program verifier finished with 1 verified, 0 errors -git-issue-032.dfy(18,35): Warning: this branch is redundant -git-issue-032.dfy(27,34): Warning: this branch is redundant -git-issue-032.dfy(28,35): Warning: this branch is redundant - -Dafny program verifier did not attempt verification -OK3 -OK -OKOK -00 -git-issue-032.dfy(18,35): Warning: this branch is redundant -git-issue-032.dfy(27,34): Warning: this branch is redundant -git-issue-032.dfy(28,35): Warning: this branch is redundant - -Dafny program verifier did not attempt verification -OK3 -OK -OKOK -00 -git-issue-032.dfy(18,35): Warning: this branch is redundant -git-issue-032.dfy(27,34): Warning: this branch is redundant -git-issue-032.dfy(28,35): Warning: this branch is redundant - -Dafny program verifier did not attempt verification -OK3 -OK -OKOK -00 -git-issue-032.dfy(18,35): Warning: this branch is redundant -git-issue-032.dfy(27,34): Warning: this branch is redundant -git-issue-032.dfy(28,35): Warning: this branch is redundant - -Dafny program verifier did not attempt verification OK3 OK OKOK diff --git a/Test/git-issues/git-issue-032.dfy.verifier.expect b/Test/git-issues/git-issue-032.dfy.verifier.expect new file mode 100644 index 00000000000..885d7bff92c --- /dev/null +++ b/Test/git-issues/git-issue-032.dfy.verifier.expect @@ -0,0 +1,3 @@ +git-issue-032.dfy(18,35): Warning: this branch is redundant +git-issue-032.dfy(27,34): Warning: this branch is redundant +git-issue-032.dfy(28,35): Warning: this branch is redundant diff --git a/Test/git-issues/git-issue-1029.dfy b/Test/git-issues/git-issue-1029.dfy index a310a99c169..7e1e7a31cf2 100644 --- a/Test/git-issues/git-issue-1029.dfy +++ b/Test/git-issues/git-issue-1029.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module ValueType { export S diff --git a/Test/git-issues/git-issue-1029.dfy.expect b/Test/git-issues/git-issue-1029.dfy.expect index 075fcd93aed..f603f618f29 100644 --- a/Test/git-issues/git-issue-1029.dfy.expect +++ b/Test/git-issues/git-issue-1029.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors [true, true, false] UI_Compile.Op2.GetOps([true, true, false], [true, true, false]) diff --git a/Test/git-issues/git-issue-1093.dfy b/Test/git-issues/git-issue-1093.dfy index 9365397496f..97797296680 100644 --- a/Test/git-issues/git-issue-1093.dfy +++ b/Test/git-issues/git-issue-1093.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { UnusedLabel(); diff --git a/Test/git-issues/git-issue-1093.dfy.expect b/Test/git-issues/git-issue-1093.dfy.expect index 0cadf5e4199..f599e28b8ab 100644 --- a/Test/git-issues/git-issue-1093.dfy.expect +++ b/Test/git-issues/git-issue-1093.dfy.expect @@ -1,17 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification -10 - -Dafny program verifier did not attempt verification -10 - -Dafny program verifier did not attempt verification -10 - -Dafny program verifier did not attempt verification -10 - -Dafny program verifier did not attempt verification 10 diff --git a/Test/git-issues/git-issue-1100.dfy b/Test/git-issues/git-issue-1100.dfy index 533d7688731..2c4bb564136 100644 --- a/Test/git-issues/git-issue-1100.dfy +++ b/Test/git-issues/git-issue-1100.dfy @@ -1,4 +1,3 @@ -// RUN: %dafny /compile:3 /unicodeChar:0 /compileTarget:cpp %S/../c++/arrays.dfy > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false /Users/salkeldr/Documents/GitHub/dafny/Test/git-issues/../c++/arrays.dfy // Test compilation of a file in another directory diff --git a/Test/git-issues/git-issue-1100.dfy.expect b/Test/git-issues/git-issue-1100.dfy.expect index 552f9355593..2ce9320d8c2 100644 --- a/Test/git-issues/git-issue-1100.dfy.expect +++ b/Test/git-issues/git-issue-1100.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 9 verified, 0 errors 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/git-issues/git-issue-1130.dfy b/Test/git-issues/git-issue-1130.dfy index 5b7fc5068e2..f1f5ad5a54b 100644 --- a/Test/git-issues/git-issue-1130.dfy +++ b/Test/git-issues/git-issue-1130.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var a := new Issue.Foo(); diff --git a/Test/git-issues/git-issue-1130.dfy.expect b/Test/git-issues/git-issue-1130.dfy.expect index 6c3dd07b1f1..de97a6dc4ca 100644 --- a/Test/git-issues/git-issue-1130.dfy.expect +++ b/Test/git-issues/git-issue-1130.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 13 verified, 0 errors 012 diff --git a/Test/git-issues/git-issue-1150.dfy b/Test/git-issues/git-issue-1150.dfy index 9731b0c23d0..ed21174bc45 100644 --- a/Test/git-issues/git-issue-1150.dfy +++ b/Test/git-issues/git-issue-1150.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Foo = Foo(x: nat) { diff --git a/Test/git-issues/git-issue-1150.dfy.expect b/Test/git-issues/git-issue-1150.dfy.expect index fb4be1897cf..f34d8df4a11 100644 --- a/Test/git-issues/git-issue-1150.dfy.expect +++ b/Test/git-issues/git-issue-1150.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 1 verified, 0 errors Foo.Foo(2) true Foo.Foo(5) false diff --git a/Test/git-issues/git-issue-1185.dfy b/Test/git-issues/git-issue-1185.dfy index 32c340b0736..c7ad72134d1 100644 --- a/Test/git-issues/git-issue-1185.dfy +++ b/Test/git-issues/git-issue-1185.dfy @@ -1,9 +1,5 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment predicate P(s: set) requires s != {} diff --git a/Test/git-issues/git-issue-1185.dfy.expect b/Test/git-issues/git-issue-1185.dfy.expect index 90ab58a1f5a..525ce875525 100644 --- a/Test/git-issues/git-issue-1185.dfy.expect +++ b/Test/git-issues/git-issue-1185.dfy.expect @@ -1,14 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification -{12, 20} true 6 - -Dafny program verifier did not attempt verification -{20, 12} true 6 - -Dafny program verifier did not attempt verification -{12, 20} true 6 - -Dafny program verifier did not attempt verification {12, 20} true 6 diff --git a/Test/git-issues/git-issue-1185.dfy.java.expect b/Test/git-issues/git-issue-1185.dfy.java.expect new file mode 100644 index 00000000000..8ba669ad273 --- /dev/null +++ b/Test/git-issues/git-issue-1185.dfy.java.expect @@ -0,0 +1 @@ +{20, 12} true 6 diff --git a/Test/git-issues/git-issue-1514.dfy b/Test/git-issues/git-issue-1514.dfy index 74b75478609..816eadce69b 100644 --- a/Test/git-issues/git-issue-1514.dfy +++ b/Test/git-issues/git-issue-1514.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "Wrappers.dfy" import opened Wrappers diff --git a/Test/git-issues/git-issue-1514.dfy.expect b/Test/git-issues/git-issue-1514.dfy.expect index 2f22d47cee8..b5754e20373 100644 --- a/Test/git-issues/git-issue-1514.dfy.expect +++ b/Test/git-issues/git-issue-1514.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-1514b.dfy b/Test/git-issues/git-issue-1514b.dfy index 1d8cd122d28..050a4a71760 100644 --- a/Test/git-issues/git-issue-1514b.dfy +++ b/Test/git-issues/git-issue-1514b.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "Wrappers.dfy" import opened Wrappers diff --git a/Test/git-issues/git-issue-1514b.dfy.expect b/Test/git-issues/git-issue-1514b.dfy.expect index 2f22d47cee8..b5754e20373 100644 --- a/Test/git-issues/git-issue-1514b.dfy.expect +++ b/Test/git-issues/git-issue-1514b.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-1514c.dfy b/Test/git-issues/git-issue-1514c.dfy index d9df7d108c1..578316f217c 100644 --- a/Test/git-issues/git-issue-1514c.dfy +++ b/Test/git-issues/git-issue-1514c.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "Wrappers.dfy" import opened Wrappers diff --git a/Test/git-issues/git-issue-1514c.dfy.expect b/Test/git-issues/git-issue-1514c.dfy.expect index 694254c28aa..9766475a418 100644 --- a/Test/git-issues/git-issue-1514c.dfy.expect +++ b/Test/git-issues/git-issue-1514c.dfy.expect @@ -1,8 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification -ok - -Dafny program verifier did not attempt verification ok diff --git a/Test/git-issues/git-issue-1553.dfy b/Test/git-issues/git-issue-1553.dfy index 6267018c92d..81cbef7aa7e 100644 --- a/Test/git-issues/git-issue-1553.dfy +++ b/Test/git-issues/git-issue-1553.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { } method Test() { diff --git a/Test/git-issues/git-issue-1553.dfy.expect b/Test/git-issues/git-issue-1553.dfy.expect index 65d3b5d6635..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-1553.dfy.expect +++ b/Test/git-issues/git-issue-1553.dfy.expect @@ -1,10 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-1604b.dfy b/Test/git-issues/git-issue-1604b.dfy index 497ee5017d5..c00b95102f4 100644 --- a/Test/git-issues/git-issue-1604b.dfy +++ b/Test/git-issues/git-issue-1604b.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /errorLimit:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /errorLimit:0 // Double constraints. Will this still work? diff --git a/Test/git-issues/git-issue-1604b.dfy.expect b/Test/git-issues/git-issue-1604b.dfy.expect index 93d7203e654..b5754e20373 100644 --- a/Test/git-issues/git-issue-1604b.dfy.expect +++ b/Test/git-issues/git-issue-1604b.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 5 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-1714.dfy b/Test/git-issues/git-issue-1714.dfy index a210d47c9ee..741f1d180fc 100644 --- a/Test/git-issues/git-issue-1714.dfy +++ b/Test/git-issues/git-issue-1714.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait Base {} class Derived extends Base { var n: int; constructor() { n := 0; } } diff --git a/Test/git-issues/git-issue-1714.dfy.expect b/Test/git-issues/git-issue-1714.dfy.expect index 67dd7d95642..88039063d09 100644 --- a/Test/git-issues/git-issue-1714.dfy.expect +++ b/Test/git-issues/git-issue-1714.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors (b as Derived).n == 0 diff --git a/Test/git-issues/git-issue-179.dfy b/Test/git-issues/git-issue-179.dfy index 283a04f1a68..d37d3048490 100644 --- a/Test/git-issues/git-issue-179.dfy +++ b/Test/git-issues/git-issue-179.dfy @@ -1,9 +1,5 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var mp: map; diff --git a/Test/git-issues/git-issue-179.dfy.expect b/Test/git-issues/git-issue-179.dfy.expect index 3f922ac5bd4..97cb7aa6c7a 100644 --- a/Test/git-issues/git-issue-179.dfy.expect +++ b/Test/git-issues/git-issue-179.dfy.expect @@ -1,26 +1,4 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification {(3, false), (4, true), (5, false)} {3, 4, 5} {false, true} true false true false - -Dafny program verifier did not attempt verification -{(5, false), (4, true), (3, false)} -{5, 4, 3} -{false, true} -true false true false - -Dafny program verifier did not attempt verification -{(5, false), (4, true), (3, false)} -{5, 4, 3} -{false, true} -true false true false - -Dafny program verifier did not attempt verification -{(5, false), (3, false), (4, true)} -{3, 4, 5} -{false, true} -true false true false diff --git a/Test/git-issues/git-issue-179.dfy.go.expect b/Test/git-issues/git-issue-179.dfy.go.expect new file mode 100644 index 00000000000..3b6c1b2603f --- /dev/null +++ b/Test/git-issues/git-issue-179.dfy.go.expect @@ -0,0 +1,4 @@ +{(5, false), (4, true), (3, false)} +{5, 4, 3} +{false, true} +true false true false diff --git a/Test/git-issues/git-issue-179.dfy.java.expect b/Test/git-issues/git-issue-179.dfy.java.expect new file mode 100644 index 00000000000..ebe17288dfd --- /dev/null +++ b/Test/git-issues/git-issue-179.dfy.java.expect @@ -0,0 +1,4 @@ +{(5, false), (3, false), (4, true)} +{3, 4, 5} +{false, true} +true false true false diff --git a/Test/git-issues/git-issue-179.dfy.js.expect b/Test/git-issues/git-issue-179.dfy.js.expect new file mode 100644 index 00000000000..3b6c1b2603f --- /dev/null +++ b/Test/git-issues/git-issue-179.dfy.js.expect @@ -0,0 +1,4 @@ +{(5, false), (4, true), (3, false)} +{5, 4, 3} +{false, true} +true false true false diff --git a/Test/git-issues/git-issue-1815a.dfy b/Test/git-issues/git-issue-1815a.dfy index 91fb7a32aa6..72d55a1cb4f 100644 --- a/Test/git-issues/git-issue-1815a.dfy +++ b/Test/git-issues/git-issue-1815a.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Dt<+U> = Dt(x: U, i: int) diff --git a/Test/git-issues/git-issue-1815a.dfy.expect b/Test/git-issues/git-issue-1815a.dfy.expect index 7b2651302d9..19f86f493ab 100644 --- a/Test/git-issues/git-issue-1815a.dfy.expect +++ b/Test/git-issues/git-issue-1815a.dfy.expect @@ -1,17 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification -done - -Dafny program verifier did not attempt verification -done - -Dafny program verifier did not attempt verification -done - -Dafny program verifier did not attempt verification -done - -Dafny program verifier did not attempt verification done diff --git a/Test/git-issues/git-issue-1852.dfy b/Test/git-issues/git-issue-1852.dfy index 516835e8ea8..046f3fca1fc 100644 --- a/Test/git-issues/git-issue-1852.dfy +++ b/Test/git-issues/git-issue-1852.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module A { export diff --git a/Test/git-issues/git-issue-1852.dfy.expect b/Test/git-issues/git-issue-1852.dfy.expect index e9cd0ea2e07..299a71f3fe4 100644 --- a/Test/git-issues/git-issue-1852.dfy.expect +++ b/Test/git-issues/git-issue-1852.dfy.expect @@ -1,8 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification -5 5 - -Dafny program verifier did not attempt verification 5 5 diff --git a/Test/git-issues/git-issue-1903.dfy b/Test/git-issues/git-issue-1903.dfy index 7edb2a46c61..60ee1c121ab 100644 --- a/Test/git-issues/git-issue-1903.dfy +++ b/Test/git-issues/git-issue-1903.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method g(x : seq := []) { diff --git a/Test/git-issues/git-issue-1903.dfy.expect b/Test/git-issues/git-issue-1903.dfy.expect index 3170fb0c7f2..84cc8d360f9 100644 --- a/Test/git-issues/git-issue-1903.dfy.expect +++ b/Test/git-issues/git-issue-1903.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors worked! diff --git a/Test/git-issues/git-issue-1909.dfy b/Test/git-issues/git-issue-1909.dfy index 7fb5b3b8c48..83d9ec1d785 100644 --- a/Test/git-issues/git-issue-1909.dfy +++ b/Test/git-issues/git-issue-1909.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype ABC = ABC(nameonly a: int, nameonly b: int, nameonly c: int) diff --git a/Test/git-issues/git-issue-1909.dfy.expect b/Test/git-issues/git-issue-1909.dfy.expect index b4eb7e7774e..ab6f7d69d36 100644 --- a/Test/git-issues/git-issue-1909.dfy.expect +++ b/Test/git-issues/git-issue-1909.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors ABC.ABC(19, 21, 23) ABC.ABC(19, 42, 23) ABC.ABC(100, 42, 90) diff --git a/Test/git-issues/git-issue-2013.dfy b/Test/git-issues/git-issue-2013.dfy index d1d3e15880e..1f3962988ee 100644 --- a/Test/git-issues/git-issue-2013.dfy +++ b/Test/git-issues/git-issue-2013.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/git-issues/git-issue-2013.dfy.expect b/Test/git-issues/git-issue-2013.dfy.expect index bbf7e59b073..2cf9744efb3 100644 --- a/Test/git-issues/git-issue-2013.dfy.expect +++ b/Test/git-issues/git-issue-2013.dfy.expect @@ -1,55 +1,3 @@ - -Dafny program verifier finished with 12 verified, 0 errors - -Dafny program verifier did not attempt verification -16 -16 -12 30 30 -Result.Success(8) Result.Failure(_module.MyClassException) -{100} {100} {100} -{MoreTests_Compile.C} {MoreTests_Compile.C} {MoreTests_Compile.C} -100 100 100 -MoreTests_Compile.C MoreTests_Compile.C MoreTests_Compile.C -Conveyance_Compile.NonVariantResult.NVSuccess(Conveyance_Compile.Car) Conveyance_Compile.CovariantResult.CVSuccess(Conveyance_Compile.Car) -Regression_mM_Compile.Stream.Next - -Dafny program verifier did not attempt verification -16 -16 -12 30 30 -Result.Success(8) Result.Failure(_module.MyClassException) -{100} {100} {100} -{MoreTests_Compile.C} {MoreTests_Compile.C} {MoreTests_Compile.C} -100 100 100 -MoreTests_Compile.C MoreTests_Compile.C MoreTests_Compile.C -Conveyance_Compile.NonVariantResult.NVSuccess(Conveyance_Compile.Car) Conveyance_Compile.CovariantResult.CVSuccess(Conveyance_Compile.Car) -Regression_mM_Compile.Stream.Next - -Dafny program verifier did not attempt verification -16 -16 -12 30 30 -Result.Success(8) Result.Failure(_module.MyClassException) -{100} {100} {100} -{MoreTests_Compile.C} {MoreTests_Compile.C} {MoreTests_Compile.C} -100 100 100 -MoreTests_Compile.C MoreTests_Compile.C MoreTests_Compile.C -Conveyance_Compile.NonVariantResult.NVSuccess(Conveyance_Compile.Car) Conveyance_Compile.CovariantResult.CVSuccess(Conveyance_Compile.Car) -Regression_mM_Compile.Stream.Next - -Dafny program verifier did not attempt verification -16 -16 -12 30 30 -Result.Success(8) Result.Failure(_module.MyClassException) -{100} {100} {100} -{MoreTests_Compile.C} {MoreTests_Compile.C} {MoreTests_Compile.C} -100 100 100 -MoreTests_Compile.C MoreTests_Compile.C MoreTests_Compile.C -Conveyance_Compile.NonVariantResult.NVSuccess(Conveyance_Compile.Car) Conveyance_Compile.CovariantResult.CVSuccess(Conveyance_Compile.Car) -Regression_mM_Compile.Stream.Next - -Dafny program verifier did not attempt verification 16 16 12 30 30 diff --git a/Test/git-issues/git-issue-2441.dfy b/Test/git-issues/git-issue-2441.dfy index bc9c8721ee2..4179ecc87bc 100644 --- a/Test/git-issues/git-issue-2441.dfy +++ b/Test/git-issues/git-issue-2441.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype A = A(B: B) datatype B = X diff --git a/Test/git-issues/git-issue-2441.dfy.expect b/Test/git-issues/git-issue-2441.dfy.expect index 0c3f603d584..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-2441.dfy.expect +++ b/Test/git-issues/git-issue-2441.dfy.expect @@ -1,6 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-2510.dfy b/Test/git-issues/git-issue-2510.dfy index 22ef8e47058..11ee2877bb3 100644 --- a/Test/git-issues/git-issue-2510.dfy +++ b/Test/git-issues/git-issue-2510.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:4 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /// Check that the compiler accepts `:- assume {:axiom} …`. diff --git a/Test/git-issues/git-issue-2510.dfy.expect b/Test/git-issues/git-issue-2510.dfy.expect index b341a39a78d..56a6051ca2b 100644 --- a/Test/git-issues/git-issue-2510.dfy.expect +++ b/Test/git-issues/git-issue-2510.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors 1 \ No newline at end of file diff --git a/Test/git-issues/git-issue-258.dfy b/Test/git-issues/git-issue-258.dfy index dbc437cebbc..97820c26461 100644 --- a/Test/git-issues/git-issue-258.dfy +++ b/Test/git-issues/git-issue-258.dfy @@ -1,9 +1,5 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /compile:3 /unicodeChar:0 /spillTargetCode:3 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /compile:3 /unicodeChar:0 /spillTargetCode:3 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /compile:3 /unicodeChar:0 /spillTargetCode:3 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /compile:3 /unicodeChar:0 /spillTargetCode:3 /compileTarget:go "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false /spillTargetCode:3 method pr(s: seq) { print s, "\n"; diff --git a/Test/git-issues/git-issue-258.dfy.expect b/Test/git-issues/git-issue-258.dfy.expect index 8cf196174b8..31b98032806 100644 --- a/Test/git-issues/git-issue-258.dfy.expect +++ b/Test/git-issues/git-issue-258.dfy.expect @@ -1,83 +1,10 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier finished with 1 verified, 0 errors -hi -hi - - -HI! -hi - -HI! - -[23, 45] -[23, 45] -[] -[] -abcabc -abcabc -abcdef -abcdef - - -[1, 2, 3, 4] -[1, 2, 3, 4] - -Dafny program verifier finished with 1 verified, 0 errors -hi -hi - - -HI! -hi - -HI! - -[23, 45] -[23, 45] -[] -[] -abcabc -abcabc -abcdef -abcdef - - -[1, 2, 3, 4] -[1, 2, 3, 4] - -Dafny program verifier finished with 1 verified, 0 errors hi hi HI! hi -[] -HI! - -[23, 45] -[23, 45] -[] -[] -abcabc -abcabc -abcdef -abcdef - - -[1, 2, 3, 4] -[1, 2, 3, 4] - -Dafny program verifier finished with 1 verified, 0 errors -hi -hi - -HI! -hi -[] HI! [23, 45] diff --git a/Test/git-issues/git-issue-258.dfy.go.expect b/Test/git-issues/git-issue-258.dfy.go.expect new file mode 100644 index 00000000000..2745afdf6e1 --- /dev/null +++ b/Test/git-issues/git-issue-258.dfy.go.expect @@ -0,0 +1,21 @@ +hi +hi + + +HI! +hi +[] +HI! + +[23, 45] +[23, 45] +[] +[] +abcabc +abcabc +abcdef +abcdef + + +[1, 2, 3, 4] +[1, 2, 3, 4] diff --git a/Test/git-issues/git-issue-258.dfy.js.expect b/Test/git-issues/git-issue-258.dfy.js.expect new file mode 100644 index 00000000000..2745afdf6e1 --- /dev/null +++ b/Test/git-issues/git-issue-258.dfy.js.expect @@ -0,0 +1,21 @@ +hi +hi + + +HI! +hi +[] +HI! + +[23, 45] +[23, 45] +[] +[] +abcabc +abcabc +abcdef +abcdef + + +[1, 2, 3, 4] +[1, 2, 3, 4] diff --git a/Test/git-issues/git-issue-2608.dfy b/Test/git-issues/git-issue-2608.dfy index 459c9ffbf94..c606177f94f 100644 --- a/Test/git-issues/git-issue-2608.dfy +++ b/Test/git-issues/git-issue-2608.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /compileTarget:js "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method GetNext(i: int) returns (j: int, possible: bool) { if i == 1 { diff --git a/Test/git-issues/git-issue-2608.dfy.expect b/Test/git-issues/git-issue-2608.dfy.expect index dce7ba1814a..d9ed583f710 100644 --- a/Test/git-issues/git-issue-2608.dfy.expect +++ b/Test/git-issues/git-issue-2608.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors 82411246231944714271214 \ No newline at end of file diff --git a/Test/git-issues/git-issue-262.dfy b/Test/git-issues/git-issue-262.dfy index 2c00ad94a39..22d9a31b2fe 100644 --- a/Test/git-issues/git-issue-262.dfy +++ b/Test/git-issues/git-issue-262.dfy @@ -1,8 +1,5 @@ -// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" -// RUN: %dafny /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function tst(x: nat): nat { x + 1 diff --git a/Test/git-issues/git-issue-262.dfy.expect b/Test/git-issues/git-issue-262.dfy.expect index 76af42cd4a3..41d8cd55158 100644 --- a/Test/git-issues/git-issue-262.dfy.expect +++ b/Test/git-issues/git-issue-262.dfy.expect @@ -1,20 +1,2 @@ - -Dafny program verifier finished with 2 verified, 0 errors System.Func`2[System.Numerics.BigInteger,System.Numerics.BigInteger] System.Func`2[System.Numerics.BigInteger,System.Numerics.BigInteger] - -Dafny program verifier finished with 2 verified, 0 errors -tst(x) { - return (x).plus(_dafny.ONE); - } -tst(x) { - return (x).plus(_dafny.ONE); - } - -Dafny program verifier finished with 2 verified, 0 errors -func(dafny.Int) dafny.Int -func(dafny.Int) dafny.Int - -Dafny program verifier finished with 2 verified, 0 errors -Function -Function diff --git a/Test/git-issues/git-issue-262.dfy.go.expect b/Test/git-issues/git-issue-262.dfy.go.expect new file mode 100644 index 00000000000..578754c176c --- /dev/null +++ b/Test/git-issues/git-issue-262.dfy.go.expect @@ -0,0 +1,2 @@ +func(dafny.Int) dafny.Int +func(dafny.Int) dafny.Int diff --git a/Test/git-issues/git-issue-262.dfy.java.expect b/Test/git-issues/git-issue-262.dfy.java.expect new file mode 100644 index 00000000000..aa5478ef8c9 --- /dev/null +++ b/Test/git-issues/git-issue-262.dfy.java.expect @@ -0,0 +1,2 @@ +Function +Function diff --git a/Test/git-issues/git-issue-262.dfy.js.expect b/Test/git-issues/git-issue-262.dfy.js.expect new file mode 100644 index 00000000000..e181ef2fef8 --- /dev/null +++ b/Test/git-issues/git-issue-262.dfy.js.expect @@ -0,0 +1,6 @@ +tst(x) { + return (x).plus(_dafny.ONE); + } +tst(x) { + return (x).plus(_dafny.ONE); + } diff --git a/Test/git-issues/git-issue-267.dfy b/Test/git-issues/git-issue-267.dfy index cef2fcc6c17..2b0b3281589 100644 --- a/Test/git-issues/git-issue-267.dfy +++ b/Test/git-issues/git-issue-267.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var c := 1; diff --git a/Test/git-issues/git-issue-267.dfy.expect b/Test/git-issues/git-issue-267.dfy.expect index d71aef2f440..cd7da05e3d2 100644 --- a/Test/git-issues/git-issue-267.dfy.expect +++ b/Test/git-issues/git-issue-267.dfy.expect @@ -1,14 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification -210 - -Dafny program verifier did not attempt verification -210 - -Dafny program verifier did not attempt verification -210 - -Dafny program verifier did not attempt verification 210 diff --git a/Test/git-issues/git-issue-2672.dfy b/Test/git-issues/git-issue-2672.dfy index 338299ee8b7..52c5b9c638c 100644 --- a/Test/git-issues/git-issue-2672.dfy +++ b/Test/git-issues/git-issue-2672.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment newtype sreal = r: real | r > -4 as real newtype sint = r: int | r > -4 as int diff --git a/Test/git-issues/git-issue-2672.dfy.expect b/Test/git-issues/git-issue-2672.dfy.expect index c9c3244b6f4..43440a83d53 100644 --- a/Test/git-issues/git-issue-2672.dfy.expect +++ b/Test/git-issues/git-issue-2672.dfy.expect @@ -1,47 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors - -Dafny program verifier did not attempt verification -true true true true true true true true true true -false false false false false false false false false false -false false false false false false false false false false -true true true true true true true true true true -true true true true true true true true true true -false false false false false false false false false false -true true true -false false false - -Dafny program verifier did not attempt verification -true true true true true true true true true true -false false false false false false false false false false -false false false false false false false false false false -true true true true true true true true true true -true true true true true true true true true true -false false false false false false false false false false -true true true -false false false - -Dafny program verifier did not attempt verification -true true true true true true true true true true -false false false false false false false false false false -false false false false false false false false false false -true true true true true true true true true true -true true true true true true true true true true -false false false false false false false false false false -true true true -false false false - -Dafny program verifier did not attempt verification -true true true true true true true true true true -false false false false false false false false false false -false false false false false false false false false false -true true true true true true true true true true -true true true true true true true true true true -false false false false false false false false false false -true true true -false false false - -Dafny program verifier did not attempt verification true true true true true true true true true true false false false false false false false false false false false false false false false false false false false false diff --git a/Test/git-issues/git-issue-2726a.dfy b/Test/git-issues/git-issue-2726a.dfy index 641fefbbdc4..a43d5dd0107 100644 --- a/Test/git-issues/git-issue-2726a.dfy +++ b/Test/git-issues/git-issue-2726a.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /compileTarget:cs "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment const digits := ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"] diff --git a/Test/git-issues/git-issue-2726a.dfy.expect b/Test/git-issues/git-issue-2726a.dfy.expect index 6985935c88c..8e1bedb2a64 100644 --- a/Test/git-issues/git-issue-2726a.dfy.expect +++ b/Test/git-issues/git-issue-2726a.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors 4 42 422 diff --git a/Test/git-issues/git-issue-2733.dfy b/Test/git-issues/git-issue-2733.dfy index 232eab3cc74..65bc2b991fd 100644 --- a/Test/git-issues/git-issue-2733.dfy +++ b/Test/git-issues/git-issue-2733.dfy @@ -1,11 +1,4 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cpp "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false method Main() { print "XYZ"; // Checks that no extra newline is added to the output diff --git a/Test/git-issues/git-issue-2733.dfy.expect b/Test/git-issues/git-issue-2733.dfy.expect index b139e2f3d58..77bf25132db 100644 --- a/Test/git-issues/git-issue-2733.dfy.expect +++ b/Test/git-issues/git-issue-2733.dfy.expect @@ -1,15 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification -XYZ -Dafny program verifier did not attempt verification -XYZ -Dafny program verifier did not attempt verification -XYZ -Dafny program verifier did not attempt verification -XYZ -Dafny program verifier did not attempt verification -XYZ -Dafny program verifier did not attempt verification XYZ \ No newline at end of file diff --git a/Test/git-issues/git-issue-2792.dfy b/Test/git-issues/git-issue-2792.dfy index 89e736667c0..d2fb9db2055 100644 --- a/Test/git-issues/git-issue-2792.dfy +++ b/Test/git-issues/git-issue-2792.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /compileTarget:java "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Wrapper = Wrapper(s: seq) { diff --git a/Test/git-issues/git-issue-2792.dfy.expect b/Test/git-issues/git-issue-2792.dfy.expect index c1e603c58fe..ca1683c3020 100644 --- a/Test/git-issues/git-issue-2792.dfy.expect +++ b/Test/git-issues/git-issue-2792.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors [] Wrapper2.Wrapper2([], 2792) diff --git a/Test/git-issues/git-issue-283.dfy b/Test/git-issues/git-issue-283.dfy index c7c10f4aea3..1ca6d48d32c 100644 --- a/Test/git-issues/git-issue-283.dfy +++ b/Test/git-issues/git-issue-283.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Result = | Success(value: T) diff --git a/Test/git-issues/git-issue-283.dfy.expect b/Test/git-issues/git-issue-283.dfy.expect index 2adb114b8a0..a965a70ed4e 100644 --- a/Test/git-issues/git-issue-283.dfy.expect +++ b/Test/git-issues/git-issue-283.dfy.expect @@ -1,14 +1 @@ - -Dafny program verifier finished with 9 verified, 0 errors - -Dafny program verifier did not attempt verification -Done - -Dafny program verifier did not attempt verification -Done - -Dafny program verifier did not attempt verification -Done - -Dafny program verifier did not attempt verification Done diff --git a/Test/git-issues/git-issue-283d.dfy b/Test/git-issues/git-issue-283d.dfy index 54ee58fb456..46c1056d5e1 100644 --- a/Test/git-issues/git-issue-283d.dfy +++ b/Test/git-issues/git-issue-283d.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Foo = R(v: int) diff --git a/Test/git-issues/git-issue-283d.dfy.expect b/Test/git-issues/git-issue-283d.dfy.expect index 8da23be5c8c..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-283d.dfy.expect +++ b/Test/git-issues/git-issue-283d.dfy.expect @@ -1,10 +0,0 @@ - -Dafny program verifier finished with 4 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-314.dfy b/Test/git-issues/git-issue-314.dfy index 5e3e93ca654..a7fc06564a5 100644 --- a/Test/git-issues/git-issue-314.dfy +++ b/Test/git-issues/git-issue-314.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype S = S(G: array) datatype T = T(F: array, ghost Repr: set) diff --git a/Test/git-issues/git-issue-314.dfy.expect b/Test/git-issues/git-issue-314.dfy.expect index f02fc57989a..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-314.dfy.expect +++ b/Test/git-issues/git-issue-314.dfy.expect @@ -1,10 +0,0 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-332.dfy b/Test/git-issues/git-issue-332.dfy index ca2b08f3e8d..5166441405d 100644 --- a/Test/git-issues/git-issue-332.dfy +++ b/Test/git-issues/git-issue-332.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var foo := new B.Foo(15); diff --git a/Test/git-issues/git-issue-332.dfy.expect b/Test/git-issues/git-issue-332.dfy.expect index 57cad39addf..209e3ef4b62 100644 --- a/Test/git-issues/git-issue-332.dfy.expect +++ b/Test/git-issues/git-issue-332.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 6 verified, 0 errors 20 diff --git a/Test/git-issues/git-issue-354.dfy b/Test/git-issues/git-issue-354.dfy index 5938c2f71ae..c3d63021209 100644 --- a/Test/git-issues/git-issue-354.dfy +++ b/Test/git-issues/git-issue-354.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class C { static const u: X diff --git a/Test/git-issues/git-issue-354.dfy.expect b/Test/git-issues/git-issue-354.dfy.expect index cb5ae21dc46..4368562357f 100644 --- a/Test/git-issues/git-issue-354.dfy.expect +++ b/Test/git-issues/git-issue-354.dfy.expect @@ -1,25 +1,3 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification -0 -0 -0.0 -false - -Dafny program verifier did not attempt verification -0 -0 -0.0 -false - -Dafny program verifier did not attempt verification -0 -0 -0.0 -false - -Dafny program verifier did not attempt verification 0 0 0.0 diff --git a/Test/git-issues/git-issue-356.dfy b/Test/git-issues/git-issue-356.dfy index f5c34b0803b..2d497c0531c 100644 --- a/Test/git-issues/git-issue-356.dfy +++ b/Test/git-issues/git-issue-356.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false module M { type Tx = i: int | 0 <= i <= 100 diff --git a/Test/git-issues/git-issue-356.dfy.expect b/Test/git-issues/git-issue-356.dfy.expect index cff4ed233e1..9d984ec4ef4 100644 --- a/Test/git-issues/git-issue-356.dfy.expect +++ b/Test/git-issues/git-issue-356.dfy.expect @@ -1,39 +1,3 @@ - -Dafny program verifier finished with 25 verified, 0 errors - -Dafny program verifier did not attempt verification -a d 57005 * * -Z 90 90.0 90 90 -* 42 42.0 42 42 -F 70 70.0 70 70 -# 35 35.0 35 35 -END - -Dafny program verifier did not attempt verification -a d 57005 * * -Z 90 90.0 90 90 -* 42 42.0 42 42 -F 70 70.0 70 70 -# 35 35.0 35 35 -END - -Dafny program verifier did not attempt verification -a d 57005 * * -Z 90 90.0 90 90 -* 42 42.0 42 42 -F 70 70.0 70 70 -# 35 35.0 35 35 -END - -Dafny program verifier did not attempt verification -a d 57005 * * -Z 90 90.0 90 90 -* 42 42.0 42 42 -F 70 70.0 70 70 -# 35 35.0 35 35 -END - -Dafny program verifier did not attempt verification a d 57005 * * Z 90 90.0 90 90 * 42 42.0 42 42 diff --git a/Test/git-issues/git-issue-364.dfy b/Test/git-issues/git-issue-364.dfy index 0fdedc7d9c0..68c75931746 100644 --- a/Test/git-issues/git-issue-364.dfy +++ b/Test/git-issues/git-issue-364.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype NatOutcome = | Success(value: nat) diff --git a/Test/git-issues/git-issue-364.dfy.expect b/Test/git-issues/git-issue-364.dfy.expect index 1368349d437..38478c6c688 100644 --- a/Test/git-issues/git-issue-364.dfy.expect +++ b/Test/git-issues/git-issue-364.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 4 verified, 0 errors NatOutcome.Success(55) false 55 12 0 NatOutcome.Failure("it could be worse") true NatOutcome.Failure("it could be worse") diff --git a/Test/git-issues/git-issue-374.dfy b/Test/git-issues/git-issue-374.dfy index 4c031b7d3ff..15b56ec6396 100644 --- a/Test/git-issues/git-issue-374.dfy +++ b/Test/git-issues/git-issue-374.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class C { constructor(ghost x: int) diff --git a/Test/git-issues/git-issue-374.dfy.expect b/Test/git-issues/git-issue-374.dfy.expect index f02fc57989a..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-374.dfy.expect +++ b/Test/git-issues/git-issue-374.dfy.expect @@ -1,10 +0,0 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-396.dfy b/Test/git-issues/git-issue-396.dfy index 2ab68e51e12..7866d3d0498 100644 --- a/Test/git-issues/git-issue-396.dfy +++ b/Test/git-issues/git-issue-396.dfy @@ -1,8 +1,4 @@ -// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" -// RUN: %dafny /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Foo = Bar(value: int) diff --git a/Test/git-issues/git-issue-396.dfy.expect b/Test/git-issues/git-issue-396.dfy.expect index 3dd340d3178..dee79f10940 100644 --- a/Test/git-issues/git-issue-396.dfy.expect +++ b/Test/git-issues/git-issue-396.dfy.expect @@ -1,12 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors -114 - -Dafny program verifier finished with 1 verified, 0 errors -114 - -Dafny program verifier finished with 1 verified, 0 errors -114 - -Dafny program verifier finished with 1 verified, 0 errors 114 diff --git a/Test/git-issues/git-issue-4007.dfy b/Test/git-issues/git-issue-4007.dfy index e4c25b82bb8..5a279e7b8e6 100644 --- a/Test/git-issues/git-issue-4007.dfy +++ b/Test/git-issues/git-issue-4007.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:4 /compileTarget:py "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var a := 0; @@ -7,4 +6,4 @@ method Main() { a := a + 1; } print a, "\n"; -} \ No newline at end of file +} diff --git a/Test/git-issues/git-issue-4007.dfy.expect b/Test/git-issues/git-issue-4007.dfy.expect index 3ce6919d35b..00750edc07d 100644 --- a/Test/git-issues/git-issue-4007.dfy.expect +++ b/Test/git-issues/git-issue-4007.dfy.expect @@ -1,4 +1 @@ -git-issue-4007.dfy(6,20): Warning: /!\ No terms found to trigger on. - -Dafny program verifier finished with 1 verified, 0 errors 3 diff --git a/Test/git-issues/git-issue-4012.dfy b/Test/git-issues/git-issue-4012.dfy index e065393a211..5360c0e935b 100644 --- a/Test/git-issues/git-issue-4012.dfy +++ b/Test/git-issues/git-issue-4012.dfy @@ -1,8 +1,7 @@ -// RUN: %dafny /compile:4 /compileTarget:py "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var x: multiset := multiset{}; x := x[1 := 18446744073709551616]; print |x|, "\n"; -} \ No newline at end of file +} diff --git a/Test/git-issues/git-issue-4012.dfy.expect b/Test/git-issues/git-issue-4012.dfy.expect index 230fbdbd384..ab69b99fab4 100644 --- a/Test/git-issues/git-issue-4012.dfy.expect +++ b/Test/git-issues/git-issue-4012.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors 18446744073709551616 diff --git a/Test/git-issues/git-issue-425.dfy b/Test/git-issues/git-issue-425.dfy index 4e555daaed0..122a10e4fbb 100644 --- a/Test/git-issues/git-issue-425.dfy +++ b/Test/git-issues/git-issue-425.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method M() returns (x: int, ghost y: int) { return 42, 43; diff --git a/Test/git-issues/git-issue-425.dfy.expect b/Test/git-issues/git-issue-425.dfy.expect index c2284013d9e..daaac9e3030 100644 --- a/Test/git-issues/git-issue-425.dfy.expect +++ b/Test/git-issues/git-issue-425.dfy.expect @@ -1,18 +1,2 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification -42 -42 - -Dafny program verifier did not attempt verification -42 -42 - -Dafny program verifier did not attempt verification -42 -42 - -Dafny program verifier did not attempt verification 42 42 diff --git a/Test/git-issues/git-issue-443.dfy b/Test/git-issues/git-issue-443.dfy index e8745b5ddda..6702e37484f 100644 --- a/Test/git-issues/git-issue-443.dfy +++ b/Test/git-issues/git-issue-443.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { print F(), " ", G(802.11), "\n"; // 12 15 diff --git a/Test/git-issues/git-issue-443.dfy.expect b/Test/git-issues/git-issue-443.dfy.expect index 10af01216da..0b64712fdcf 100644 --- a/Test/git-issues/git-issue-443.dfy.expect +++ b/Test/git-issues/git-issue-443.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors 12 15 diff --git a/Test/git-issues/git-issue-446.dfy b/Test/git-issues/git-issue-446.dfy index 44c62ce573d..17bf6f219f6 100644 --- a/Test/git-issues/git-issue-446.dfy +++ b/Test/git-issues/git-issue-446.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Result = Success(value: T) | Failure(error: string) { diff --git a/Test/git-issues/git-issue-446.dfy.expect b/Test/git-issues/git-issue-446.dfy.expect index 18195d22344..8165c2056d0 100644 --- a/Test/git-issues/git-issue-446.dfy.expect +++ b/Test/git-issues/git-issue-446.dfy.expect @@ -1,22 +1,3 @@ - -Dafny program verifier finished with 9 verified, 0 errors - -Dafny program verifier did not attempt verification -true -2 -true 42 -End - -Dafny program verifier did not attempt verification -true -2 -true 42 -End - -Dafny program verifier did not attempt verification -true -2 -true 42 -End - -Dafny program verifier did not attempt verification true -2 true 42 End diff --git a/Test/git-issues/git-issue-446a.dfy b/Test/git-issues/git-issue-446a.dfy index b5f9ca11555..692ab269277 100644 --- a/Test/git-issues/git-issue-446a.dfy +++ b/Test/git-issues/git-issue-446a.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Result = Success(value: T) | Failure(error: string) { diff --git a/Test/git-issues/git-issue-446a.dfy.expect b/Test/git-issues/git-issue-446a.dfy.expect index fbf9ee6f31d..9897e1c3f56 100644 --- a/Test/git-issues/git-issue-446a.dfy.expect +++ b/Test/git-issues/git-issue-446a.dfy.expect @@ -1,22 +1,3 @@ - -Dafny program verifier finished with 9 verified, 0 errors - -Dafny program verifier did not attempt verification -OK -true OK -true -2 End - -Dafny program verifier did not attempt verification -OK -true OK -true -2 End - -Dafny program verifier did not attempt verification -OK -true OK -true -2 End - -Dafny program verifier did not attempt verification OK true OK true -2 End diff --git a/Test/git-issues/git-issue-446b.dfy b/Test/git-issues/git-issue-446b.dfy index d919798afa8..8b7b6288b2d 100644 --- a/Test/git-issues/git-issue-446b.dfy +++ b/Test/git-issues/git-issue-446b.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Result = Success(value: T) | Failure(error: string) { diff --git a/Test/git-issues/git-issue-446b.dfy.expect b/Test/git-issues/git-issue-446b.dfy.expect index 0e99363fdb9..36fdd8ba47b 100644 --- a/Test/git-issues/git-issue-446b.dfy.expect +++ b/Test/git-issues/git-issue-446b.dfy.expect @@ -1,28 +1,3 @@ - -Dafny program verifier finished with 10 verified, 0 errors - -Dafny program verifier did not attempt verification -OK -true OK -true -2 -true 100 -End - -Dafny program verifier did not attempt verification -OK -true OK -true -2 -true 100 -End - -Dafny program verifier did not attempt verification -OK -true OK -true -2 -true 100 -End - -Dafny program verifier did not attempt verification OK true OK true -2 diff --git a/Test/git-issues/git-issue-478-good.dfy b/Test/git-issues/git-issue-478-good.dfy index b3fab26a312..9abce41e97c 100644 --- a/Test/git-issues/git-issue-478-good.dfy +++ b/Test/git-issues/git-issue-478-good.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // By first defining import LibA and then defining a module LibA, // the latter used to generate: diff --git a/Test/git-issues/git-issue-478-good.dfy.expect b/Test/git-issues/git-issue-478-good.dfy.expect index 17aea610943..6807b84eba5 100644 --- a/Test/git-issues/git-issue-478-good.dfy.expect +++ b/Test/git-issues/git-issue-478-good.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors hello hello hi diff --git a/Test/git-issues/git-issue-506.dfy b/Test/git-issues/git-issue-506.dfy index 8cef74e1d48..b6b4eea4b96 100644 --- a/Test/git-issues/git-issue-506.dfy +++ b/Test/git-issues/git-issue-506.dfy @@ -1,8 +1,4 @@ -// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" -// RUN: %dafny /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/git-issues/git-issue-506.dfy.expect b/Test/git-issues/git-issue-506.dfy.expect index e2bb6d644d9..ef2606ec5dc 100644 --- a/Test/git-issues/git-issue-506.dfy.expect +++ b/Test/git-issues/git-issue-506.dfy.expect @@ -1,29 +1,3 @@ - -Dafny program verifier finished with 2 verified, 0 errors -7 301 -8 391 -2 2 -4 5 -6 7 -2 3 7 0 - -Dafny program verifier finished with 2 verified, 0 errors -7 301 -8 391 -2 2 -4 5 -6 7 -2 3 7 0 - -Dafny program verifier finished with 2 verified, 0 errors -7 301 -8 391 -2 2 -4 5 -6 7 -2 3 7 0 - -Dafny program verifier finished with 2 verified, 0 errors 7 301 8 391 2 2 diff --git a/Test/git-issues/git-issue-532.dfy b/Test/git-issues/git-issue-532.dfy index 3d511dbb4c8..2a2b5aaaf2e 100644 --- a/Test/git-issues/git-issue-532.dfy +++ b/Test/git-issues/git-issue-532.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment predicate SuppressNoTriggerWarning(x: X) { true } diff --git a/Test/git-issues/git-issue-532.dfy.expect b/Test/git-issues/git-issue-532.dfy.expect index 1bd9e82cc5a..0f3ef3de427 100644 --- a/Test/git-issues/git-issue-532.dfy.expect +++ b/Test/git-issues/git-issue-532.dfy.expect @@ -1,22 +1,3 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification -t.x=5 The given Tr is a C, and c.y=6 -t.x=100 The given Tr is not a C -t.x=5 The given Tr is a C, and c.y=16 - -Dafny program verifier did not attempt verification -t.x=5 The given Tr is a C, and c.y=6 -t.x=100 The given Tr is not a C -t.x=5 The given Tr is a C, and c.y=16 - -Dafny program verifier did not attempt verification -t.x=5 The given Tr is a C, and c.y=6 -t.x=100 The given Tr is not a C -t.x=5 The given Tr is a C, and c.y=16 - -Dafny program verifier did not attempt verification t.x=5 The given Tr is a C, and c.y=6 t.x=100 The given Tr is not a C t.x=5 The given Tr is a C, and c.y=16 diff --git a/Test/git-issues/git-issue-549.dfy b/Test/git-issues/git-issue-549.dfy index 2e5ab322f23..d362a0bd039 100644 --- a/Test/git-issues/git-issue-549.dfy +++ b/Test/git-issues/git-issue-549.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait T { function bar(): bv8 diff --git a/Test/git-issues/git-issue-549.dfy.expect b/Test/git-issues/git-issue-549.dfy.expect index 3ae509fee5e..6e0790e778e 100644 --- a/Test/git-issues/git-issue-549.dfy.expect +++ b/Test/git-issues/git-issue-549.dfy.expect @@ -1,10 +1,2 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification -bar() = 1 -bar() = 1 - -Dafny program verifier did not attempt verification bar() = 1 bar() = 1 diff --git a/Test/git-issues/git-issue-622$f.dfy b/Test/git-issues/git-issue-622$f.dfy index fe4fdf38e03..f0f15dd9f8c 100644 --- a/Test/git-issues/git-issue-622$f.dfy +++ b/Test/git-issues/git-issue-622$f.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /compileTarget:java /spillTargetCode:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /spillTargetCode:3 method Main() { } diff --git a/Test/git-issues/git-issue-622$f.dfy.expect b/Test/git-issues/git-issue-622$f.dfy.expect index 012f5b99379..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-622$f.dfy.expect +++ b/Test/git-issues/git-issue-622$f.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/git-issues/git-issue-633.dfy b/Test/git-issues/git-issue-633.dfy index 5d9b5aecf58..3e4153b69c4 100644 --- a/Test/git-issues/git-issue-633.dfy +++ b/Test/git-issues/git-issue-633.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" %S/git-issue-633A.dfy > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs /spillTargetCode:3 "%s" %S/git-issue-633A.dfy >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js /spillTargetCode:3 "%s" %S/git-issue-633A.dfy >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go /spillTargetCode:3 "%s" %S/git-issue-633A.dfy >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java /spillTargetCode:3 "%s" %S/git-issue-633A.dfy >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /spillTargetCode:3 /Users/salkeldr/Documents/GitHub/dafny/Test/git-issues/git-issue-633A.dfy method m() { print "OK\n"; diff --git a/Test/git-issues/git-issue-633.dfy.expect b/Test/git-issues/git-issue-633.dfy.expect index f02fc57989a..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-633.dfy.expect +++ b/Test/git-issues/git-issue-633.dfy.expect @@ -1,10 +0,0 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-684.dfy b/Test/git-issues/git-issue-684.dfy index b1fbd7ab036..4c2b0a8fa02 100644 --- a/Test/git-issues/git-issue-684.dfy +++ b/Test/git-issues/git-issue-684.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Level1 = Level1(u:int) datatype Level2 = Level2(u:int, l:Level1) diff --git a/Test/git-issues/git-issue-684.dfy.expect b/Test/git-issues/git-issue-684.dfy.expect index 65d3b5d6635..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-684.dfy.expect +++ b/Test/git-issues/git-issue-684.dfy.expect @@ -1,10 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-686.dfy b/Test/git-issues/git-issue-686.dfy index bbc975200c8..9845ce2b027 100644 --- a/Test/git-issues/git-issue-686.dfy +++ b/Test/git-issues/git-issue-686.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Color = Blue | Red diff --git a/Test/git-issues/git-issue-686.dfy.expect b/Test/git-issues/git-issue-686.dfy.expect index f30b0581688..c12f8e66df2 100644 --- a/Test/git-issues/git-issue-686.dfy.expect +++ b/Test/git-issues/git-issue-686.dfy.expect @@ -1,24 +1 @@ -git-issue-686.dfy(13,2): Warning: this branch is redundant -git-issue-686.dfy(21,2): Warning: this branch is redundant - -Dafny program verifier finished with 1 verified, 0 errors -git-issue-686.dfy(13,2): Warning: this branch is redundant -git-issue-686.dfy(21,2): Warning: this branch is redundant - -Dafny program verifier did not attempt verification -6 0 -git-issue-686.dfy(13,2): Warning: this branch is redundant -git-issue-686.dfy(21,2): Warning: this branch is redundant - -Dafny program verifier did not attempt verification -6 0 -git-issue-686.dfy(13,2): Warning: this branch is redundant -git-issue-686.dfy(21,2): Warning: this branch is redundant - -Dafny program verifier did not attempt verification -6 0 -git-issue-686.dfy(13,2): Warning: this branch is redundant -git-issue-686.dfy(21,2): Warning: this branch is redundant - -Dafny program verifier did not attempt verification 6 0 diff --git a/Test/git-issues/git-issue-686.dfy.verifier.expect b/Test/git-issues/git-issue-686.dfy.verifier.expect new file mode 100644 index 00000000000..5b8c694a4bc --- /dev/null +++ b/Test/git-issues/git-issue-686.dfy.verifier.expect @@ -0,0 +1,2 @@ +git-issue-686.dfy(13,2): Warning: this branch is redundant +git-issue-686.dfy(21,2): Warning: this branch is redundant diff --git a/Test/git-issues/git-issue-697.dfy b/Test/git-issues/git-issue-697.dfy index 095c1a02399..23cce66dee7 100644 --- a/Test/git-issues/git-issue-697.dfy +++ b/Test/git-issues/git-issue-697.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Cell = Cell(x: int) type EvenCell = c: Cell | c.x % 2 == 0 witness Cell(0) diff --git a/Test/git-issues/git-issue-697.dfy.expect b/Test/git-issues/git-issue-697.dfy.expect index 188a72ebc36..f32a5804e29 100644 --- a/Test/git-issues/git-issue-697.dfy.expect +++ b/Test/git-issues/git-issue-697.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-697b.dfy b/Test/git-issues/git-issue-697b.dfy index cfdd3fd0821..cdb054d8d78 100644 --- a/Test/git-issues/git-issue-697b.dfy +++ b/Test/git-issues/git-issue-697b.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Cell = Cell(x: int) type EvenCell = c: Cell | c.x % 2 == 0 witness Cell(0) diff --git a/Test/git-issues/git-issue-697b.dfy.expect b/Test/git-issues/git-issue-697b.dfy.expect index b355409912b..9c777ac6a0f 100644 --- a/Test/git-issues/git-issue-697b.dfy.expect +++ b/Test/git-issues/git-issue-697b.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors false 2 diff --git a/Test/git-issues/git-issue-697d.dfy b/Test/git-issues/git-issue-697d.dfy index 71a262fc985..8b65c2da4f7 100644 --- a/Test/git-issues/git-issue-697d.dfy +++ b/Test/git-issues/git-issue-697d.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function nonGhostPredicate(x: int): bool { x % 2 == 0 diff --git a/Test/git-issues/git-issue-697d.dfy.expect b/Test/git-issues/git-issue-697d.dfy.expect index 48fb59aeae5..f32a5804e29 100644 --- a/Test/git-issues/git-issue-697d.dfy.expect +++ b/Test/git-issues/git-issue-697d.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 4 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-697e.dfy b/Test/git-issues/git-issue-697e.dfy index e4500bfab28..310851abf9a 100644 --- a/Test/git-issues/git-issue-697e.dfy +++ b/Test/git-issues/git-issue-697e.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Cell = Cell(x: int) type EvenCell = c: Cell | c.x % 2 == 0 witness Cell(0) diff --git a/Test/git-issues/git-issue-697e.dfy.expect b/Test/git-issues/git-issue-697e.dfy.expect index 00a51f822da..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-697e.dfy.expect +++ b/Test/git-issues/git-issue-697e.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 3 verified, 0 errors diff --git a/Test/git-issues/git-issue-697f.dfy b/Test/git-issues/git-issue-697f.dfy index 92d1cec2ed8..acb8810dfbf 100644 --- a/Test/git-issues/git-issue-697f.dfy +++ b/Test/git-issues/git-issue-697f.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment ghost function ghostPredicate(x: int): bool { x % 2 == 0 diff --git a/Test/git-issues/git-issue-697f.dfy.expect b/Test/git-issues/git-issue-697f.dfy.expect index 3e2cf8d0f69..b5754e20373 100644 --- a/Test/git-issues/git-issue-697f.dfy.expect +++ b/Test/git-issues/git-issue-697f.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 4 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-697g.dfy b/Test/git-issues/git-issue-697g.dfy index c3b7581ff61..7b30de7f3a0 100644 --- a/Test/git-issues/git-issue-697g.dfy +++ b/Test/git-issues/git-issue-697g.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function returnNat(c: nat): int { diff --git a/Test/git-issues/git-issue-697g.dfy.expect b/Test/git-issues/git-issue-697g.dfy.expect index d9157fa820a..f32a5804e29 100644 --- a/Test/git-issues/git-issue-697g.dfy.expect +++ b/Test/git-issues/git-issue-697g.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-698.dfy b/Test/git-issues/git-issue-698.dfy index b15295c9b46..7b7a9ca15b8 100644 --- a/Test/git-issues/git-issue-698.dfy +++ b/Test/git-issues/git-issue-698.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment type Small = x: int | 0 <= x < 100 && x != 3 diff --git a/Test/git-issues/git-issue-698.dfy.expect b/Test/git-issues/git-issue-698.dfy.expect index 7f965a65d2e..27ba77ddaf6 100644 --- a/Test/git-issues/git-issue-698.dfy.expect +++ b/Test/git-issues/git-issue-698.dfy.expect @@ -1,8 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification -true - -Dafny program verifier did not attempt verification true diff --git a/Test/git-issues/git-issue-698b.dfy b/Test/git-issues/git-issue-698b.dfy index 1d4a92456e6..dbdbc3b36d3 100644 --- a/Test/git-issues/git-issue-698b.dfy +++ b/Test/git-issues/git-issue-698b.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment type Small = x: int | 0 <= x < 100 && x != 3 @@ -13,4 +12,4 @@ method Main() { var b := !exists n: Small :: F(n) != 100; assert b; print b; -} \ No newline at end of file +} diff --git a/Test/git-issues/git-issue-698b.dfy.expect b/Test/git-issues/git-issue-698b.dfy.expect index 188a72ebc36..f32a5804e29 100644 --- a/Test/git-issues/git-issue-698b.dfy.expect +++ b/Test/git-issues/git-issue-698b.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-701.dfy b/Test/git-issues/git-issue-701.dfy index af19f0d89e2..38984df4ecf 100644 --- a/Test/git-issues/git-issue-701.dfy +++ b/Test/git-issues/git-issue-701.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var ca := new ClassA; diff --git a/Test/git-issues/git-issue-701.dfy.expect b/Test/git-issues/git-issue-701.dfy.expect index 4d20966e641..5198c09cbb1 100644 --- a/Test/git-issues/git-issue-701.dfy.expect +++ b/Test/git-issues/git-issue-701.dfy.expect @@ -1,22 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification -0 0 0 -[] [] [] -C.Nothing C.Nothing C.Nothing - -Dafny program verifier did not attempt verification -0 0 0 -[] [] [] -C.Nothing C.Nothing C.Nothing - -Dafny program verifier did not attempt verification -0 0 0 -[] [] [] -C.Nothing C.Nothing C.Nothing - -Dafny program verifier did not attempt verification 0 0 0 [] [] [] C.Nothing C.Nothing C.Nothing diff --git a/Test/git-issues/git-issue-705.dfy b/Test/git-issues/git-issue-705.dfy index d4b806800c2..5b2fa1bac01 100644 --- a/Test/git-issues/git-issue-705.dfy +++ b/Test/git-issues/git-issue-705.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs /spillTargetCode:3 "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js /spillTargetCode:3 "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go /spillTargetCode:3 "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java /spillTargetCode:3 "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /spillTargetCode:3 datatype MyDataType = AAA { function toString(): int { 222 } diff --git a/Test/git-issues/git-issue-705.dfy.expect b/Test/git-issues/git-issue-705.dfy.expect index 02cf409667a..79a1eee7c74 100644 --- a/Test/git-issues/git-issue-705.dfy.expect +++ b/Test/git-issues/git-issue-705.dfy.expect @@ -1,14 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification -MyDataType.AAA 222 - -Dafny program verifier did not attempt verification -MyDataType.AAA 222 - -Dafny program verifier did not attempt verification -MyDataType.AAA 222 - -Dafny program verifier did not attempt verification MyDataType.AAA 222 diff --git a/Test/git-issues/git-issue-731.dfy b/Test/git-issues/git-issue-731.dfy index 05d02fea1af..348d40fecea 100644 --- a/Test/git-issues/git-issue-731.dfy +++ b/Test/git-issues/git-issue-731.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait Trait { const y: Y diff --git a/Test/git-issues/git-issue-731.dfy.expect b/Test/git-issues/git-issue-731.dfy.expect index 69b2e6af648..7554a44901e 100644 --- a/Test/git-issues/git-issue-731.dfy.expect +++ b/Test/git-issues/git-issue-731.dfy.expect @@ -1,18 +1,2 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification -0 0 0 42 -0 0 0 9 - -Dafny program verifier did not attempt verification -0 0 0 42 -0 0 0 9 - -Dafny program verifier did not attempt verification -0 0 0 42 -0 0 0 9 - -Dafny program verifier did not attempt verification 0 0 0 42 0 0 0 9 diff --git a/Test/git-issues/git-issue-731b.dfy b/Test/git-issues/git-issue-731b.dfy index a77dbd6323b..2a0507839a2 100644 --- a/Test/git-issues/git-issue-731b.dfy +++ b/Test/git-issues/git-issue-731b.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Testing issue#731 when the class in question has type parameters diff --git a/Test/git-issues/git-issue-731b.dfy.expect b/Test/git-issues/git-issue-731b.dfy.expect index 97e6c041920..dd3226d2b73 100644 --- a/Test/git-issues/git-issue-731b.dfy.expect +++ b/Test/git-issues/git-issue-731b.dfy.expect @@ -1,14 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification -0 42 - -Dafny program verifier did not attempt verification -0 42 - -Dafny program verifier did not attempt verification -0 42 - -Dafny program verifier did not attempt verification 0 42 diff --git a/Test/git-issues/git-issue-755.dfy b/Test/git-issues/git-issue-755.dfy index 25fb3e6a485..2227a486a21 100644 --- a/Test/git-issues/git-issue-755.dfy +++ b/Test/git-issues/git-issue-755.dfy @@ -1,9 +1,5 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var s := { 1,9,3,7,5}; diff --git a/Test/git-issues/git-issue-755.dfy.expect b/Test/git-issues/git-issue-755.dfy.expect index c930da26922..9182de3a24a 100644 --- a/Test/git-issues/git-issue-755.dfy.expect +++ b/Test/git-issues/git-issue-755.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors - -Dafny program verifier did not attempt verification 1 3 5 @@ -9,30 +5,3 @@ Dafny program verifier did not attempt verification 9 1 3 3 5 - -Dafny program verifier did not attempt verification -1 -9 -3 -7 -5 -1 3 -3 5 - -Dafny program verifier did not attempt verification -1 -9 -3 -7 -5 -1 3 -3 5 - -Dafny program verifier did not attempt verification -1 -3 -5 -7 -9 -3 5 -1 3 diff --git a/Test/git-issues/git-issue-755.dfy.go.expect b/Test/git-issues/git-issue-755.dfy.go.expect new file mode 100644 index 00000000000..f41e86c7579 --- /dev/null +++ b/Test/git-issues/git-issue-755.dfy.go.expect @@ -0,0 +1,7 @@ +1 +9 +3 +7 +5 +1 3 +3 5 diff --git a/Test/git-issues/git-issue-755.dfy.java.expect b/Test/git-issues/git-issue-755.dfy.java.expect new file mode 100644 index 00000000000..f4407f49a6f --- /dev/null +++ b/Test/git-issues/git-issue-755.dfy.java.expect @@ -0,0 +1,7 @@ +1 +3 +5 +7 +9 +3 5 +1 3 diff --git a/Test/git-issues/git-issue-755.dfy.js.expect b/Test/git-issues/git-issue-755.dfy.js.expect new file mode 100644 index 00000000000..f41e86c7579 --- /dev/null +++ b/Test/git-issues/git-issue-755.dfy.js.expect @@ -0,0 +1,7 @@ +1 +9 +3 +7 +5 +1 3 +3 5 diff --git a/Test/git-issues/git-issue-784.dfy b/Test/git-issues/git-issue-784.dfy index 78b83f01064..5f6cf59465c 100644 --- a/Test/git-issues/git-issue-784.dfy +++ b/Test/git-issues/git-issue-784.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype List = Nil | Cons(T, List) { function App(ys: List): List { diff --git a/Test/git-issues/git-issue-784.dfy.expect b/Test/git-issues/git-issue-784.dfy.expect index 8da23be5c8c..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-784.dfy.expect +++ b/Test/git-issues/git-issue-784.dfy.expect @@ -1,10 +0,0 @@ - -Dafny program verifier finished with 4 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-953.dfy b/Test/git-issues/git-issue-953.dfy index 0e9e0198b90..1032ad45a3a 100644 --- a/Test/git-issues/git-issue-953.dfy +++ b/Test/git-issues/git-issue-953.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module P { datatype T_ = T() // the underscore in this name once caused a problem in Java compilation diff --git a/Test/git-issues/git-issue-953.dfy.expect b/Test/git-issues/git-issue-953.dfy.expect index b731ec2edbe..d992760e80b 100644 --- a/Test/git-issues/git-issue-953.dfy.expect +++ b/Test/git-issues/git-issue-953.dfy.expect @@ -1,39 +1,3 @@ - -Dafny program verifier finished with 6 verified, 0 errors - -Dafny program verifier did not attempt verification -C_Compile.T_.T -P_Compile.T_.T -OtherNamesWithSpecialCharacters_q___Compile.A?_.A?_ OtherNamesWithSpecialCharacters_q___Compile.B?_.B?_ -17 17 0 0 -C2_Compile.C.C(10, 11) -9 - -Dafny program verifier did not attempt verification -C_Compile.T_.T -P_Compile.T_.T -OtherNamesWithSpecialCharacters_q___Compile.A?_.A?_ OtherNamesWithSpecialCharacters_q___Compile.B?_.B?_ -17 17 0 0 -C2_Compile.C.C(10, 11) -9 - -Dafny program verifier did not attempt verification -C_Compile.T_.T -P_Compile.T_.T -OtherNamesWithSpecialCharacters_q___Compile.A?_.A?_ OtherNamesWithSpecialCharacters_q___Compile.B?_.B?_ -17 17 0 0 -C2_Compile.C.C(10, 11) -9 - -Dafny program verifier did not attempt verification -C_Compile.T_.T -P_Compile.T_.T -OtherNamesWithSpecialCharacters_q___Compile.A?_.A?_ OtherNamesWithSpecialCharacters_q___Compile.B?_.B?_ -17 17 0 0 -C2_Compile.C.C(10, 11) -9 - -Dafny program verifier did not attempt verification C_Compile.T_.T P_Compile.T_.T OtherNamesWithSpecialCharacters_q___Compile.A?_.A?_ OtherNamesWithSpecialCharacters_q___Compile.B?_.B?_ diff --git a/Test/git-issues/github-issue-3343.dfy b/Test/git-issues/github-issue-3343.dfy index 517a11d7fc1..d518b2a1a41 100644 --- a/Test/git-issues/github-issue-3343.dfy +++ b/Test/git-issues/github-issue-3343.dfy @@ -1,5 +1,4 @@ -// RUN: %baredafny run "%s" -t:java > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" method Bug() { var zero := 0; var a := new int[zero] []; diff --git a/Test/git-issues/github-issue-3343.dfy.expect b/Test/git-issues/github-issue-3343.dfy.expect index 823a60a105c..e69de29bb2d 100644 --- a/Test/git-issues/github-issue-3343.dfy.expect +++ b/Test/git-issues/github-issue-3343.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 1 verified, 0 errors diff --git a/Test/hofs/Compilation.dfy b/Test/hofs/Compilation.dfy index 99fd0a36506..7e9c674b495 100644 --- a/Test/hofs/Compilation.dfy +++ b/Test/hofs/Compilation.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class Ref { var val : A diff --git a/Test/hofs/Compilation.dfy.expect b/Test/hofs/Compilation.dfy.expect index 760fafc6189..6b7187d2557 100644 --- a/Test/hofs/Compilation.dfy.expect +++ b/Test/hofs/Compilation.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 2 verified, 0 errors 1 = 1 3 = 3 3 = 3 diff --git a/Test/hofs/Examples.dfy b/Test/hofs/Examples.dfy index 6b857f7f86b..8555f35882c 100644 --- a/Test/hofs/Examples.dfy +++ b/Test/hofs/Examples.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function Apply(f: A ~> B, x: A): B reads f.reads(x); diff --git a/Test/hofs/Examples.dfy.expect b/Test/hofs/Examples.dfy.expect index 851aaf58286..e69de29bb2d 100644 --- a/Test/hofs/Examples.dfy.expect +++ b/Test/hofs/Examples.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 7 verified, 0 errors diff --git a/Test/hofs/Fold.dfy b/Test/hofs/Fold.dfy index 336f9121b52..96ddb01591f 100644 --- a/Test/hofs/Fold.dfy +++ b/Test/hofs/Fold.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype List = Nil | Cons(A,List) diff --git a/Test/hofs/Fold.dfy.expect b/Test/hofs/Fold.dfy.expect index 144ffab92db..3abcc310618 100644 --- a/Test/hofs/Fold.dfy.expect +++ b/Test/hofs/Fold.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors 3 = 3 diff --git a/Test/hofs/Folding.dfy b/Test/hofs/Folding.dfy index a300ea03b63..ef1dcee80bb 100644 --- a/Test/hofs/Folding.dfy +++ b/Test/hofs/Folding.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /induction:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /induction:3 // Specifications and proofs involving foldr (inspired by Liquid Haskell) and foldl // Rustan Leino diff --git a/Test/hofs/Folding.dfy.expect b/Test/hofs/Folding.dfy.expect index c4384266dfb..326af12dd76 100644 --- a/Test/hofs/Folding.dfy.expect +++ b/Test/hofs/Folding.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 21 verified, 0 errors xs = List.Cons(57, List.Cons(100, List.Cons(-34, List.Cons(1, List.Cons(8, List.Nil))))) foldr = 264 foldl = 264 diff --git a/Test/hofs/Renaming.dfy b/Test/hofs/Renaming.dfy index 20922d5dabb..f4fb538c6bf 100644 --- a/Test/hofs/Renaming.dfy +++ b/Test/hofs/Renaming.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function OnId(f : (bool -> bool) -> int) : int reads f.reads(x => x); diff --git a/Test/hofs/Renaming.dfy.expect b/Test/hofs/Renaming.dfy.expect index e2b6636dbe4..13a954d9043 100644 --- a/Test/hofs/Renaming.dfy.expect +++ b/Test/hofs/Renaming.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 4 verified, 0 errors 10 11 diff --git a/Test/hofs/Requires.dfy b/Test/hofs/Requires.dfy index 4abc63d6c21..8691624ebc5 100644 --- a/Test/hofs/Requires.dfy +++ b/Test/hofs/Requires.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/hofs/Requires.dfy.expect b/Test/hofs/Requires.dfy.expect index 1981561ca00..e69de29bb2d 100644 --- a/Test/hofs/Requires.dfy.expect +++ b/Test/hofs/Requires.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 10 verified, 0 errors diff --git a/Test/hofs/TreeMapSimple.dfy b/Test/hofs/TreeMapSimple.dfy index d93aea46403..b7baf6eb8d7 100644 --- a/Test/hofs/TreeMapSimple.dfy +++ b/Test/hofs/TreeMapSimple.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { TestY(); diff --git a/Test/hofs/TreeMapSimple.dfy.expect b/Test/hofs/TreeMapSimple.dfy.expect index 9224d605f7e..be0317f1016 100644 --- a/Test/hofs/TreeMapSimple.dfy.expect +++ b/Test/hofs/TreeMapSimple.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 11 verified, 0 errors Tree.Branch(100, List.Cons(Tree.Branch(50, List.Nil), List.Nil)) Tree.Branch(100, List.Cons(Tree.Branch(50, List.Nil), List.Nil)) diff --git a/Test/hofs/VectorUpdate.dfy b/Test/hofs/VectorUpdate.dfy index 848ed585ca6..70c0de3084e 100644 --- a/Test/hofs/VectorUpdate.dfy +++ b/Test/hofs/VectorUpdate.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // this is a rather verbose version of the VectorUpdate method method VectorUpdate(N: int, a : array, f : (int,A) ~> A) diff --git a/Test/hofs/VectorUpdate.dfy.expect b/Test/hofs/VectorUpdate.dfy.expect index b8fae39eab8..7645f125857 100644 --- a/Test/hofs/VectorUpdate.dfy.expect +++ b/Test/hofs/VectorUpdate.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 8 verified, 0 errors 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 100, 50, 33, 25, 20, 16, 14, 12, 11, 10 diff --git a/Test/hofs/WhileLoop.dfy b/Test/hofs/WhileLoop.dfy index 4af9fbd841b..914f47f4522 100644 --- a/Test/hofs/WhileLoop.dfy +++ b/Test/hofs/WhileLoop.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class Ref { var val: A diff --git a/Test/hofs/WhileLoop.dfy.expect b/Test/hofs/WhileLoop.dfy.expect index 234ac298c9b..83083b451e1 100644 --- a/Test/hofs/WhileLoop.dfy.expect +++ b/Test/hofs/WhileLoop.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 4 verified, 0 errors 22 22 22 diff --git a/Test/irondafny0/optimize0.dfy b/Test/irondafny0/optimize0.dfy index c4b8b2122ca..218c9820626 100644 --- a/Test/irondafny0/optimize0.dfy +++ b/Test/irondafny0/optimize0.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /optimize /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /optimize // See https://github.com/dafny-lang/dafny/issues/508 method Main() { diff --git a/Test/irondafny0/optimize0.dfy.expect b/Test/irondafny0/optimize0.dfy.expect index 4e37c19c360..0d5c8e51c8b 100644 --- a/Test/irondafny0/optimize0.dfy.expect +++ b/Test/irondafny0/optimize0.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors o hai! \ No newline at end of file diff --git a/Test/metatests/OutputEncoding.dfy b/Test/metatests/OutputEncoding.dfy index 68c390ac811..59fa53bf298 100644 --- a/Test/metatests/OutputEncoding.dfy +++ b/Test/metatests/OutputEncoding.dfy @@ -1,10 +1,4 @@ -// RUN: %baredafny verify %args "%s" > "%t" -// RUN: %baredafny run --no-verify --target=cs %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=js %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=go %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=py %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=java %args "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" method Main() { // This works fine in all languages because € is a single UTF-16 code unit. diff --git a/Test/metatests/OutputEncoding.dfy.expect b/Test/metatests/OutputEncoding.dfy.expect index a37241376f3..b25a57298f1 100644 --- a/Test/metatests/OutputEncoding.dfy.expect +++ b/Test/metatests/OutputEncoding.dfy.expect @@ -1,17 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification -Euro sign: € - -Dafny program verifier did not attempt verification -Euro sign: € - -Dafny program verifier did not attempt verification -Euro sign: € - -Dafny program verifier did not attempt verification -Euro sign: € - -Dafny program verifier did not attempt verification Euro sign: € diff --git a/Test/patterns/OrPatterns.dfy b/Test/patterns/OrPatterns.dfy index 4f2610c9379..6385bd55c93 100644 --- a/Test/patterns/OrPatterns.dfy +++ b/Test/patterns/OrPatterns.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /rprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Enum = One | Two | Three { predicate Even() { diff --git a/Test/patterns/OrPatterns.dfy.expect b/Test/patterns/OrPatterns.dfy.expect index a6fce7c4a13..d86bac9de59 100644 --- a/Test/patterns/OrPatterns.dfy.expect +++ b/Test/patterns/OrPatterns.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 11 verified, 0 errors OK diff --git a/Test/patterns/PatternMatching.dfy b/Test/patterns/PatternMatching.dfy index 477126c066a..e8a73b856e4 100644 --- a/Test/patterns/PatternMatching.dfy +++ b/Test/patterns/PatternMatching.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /* * This file contains a collection of tests for features modified or introduced in PR 458 @@ -222,4 +221,4 @@ method Main() { var r5 := MultipleNestedMatch(A(0), t4, bb); print "Testing MultipleNestedMatch: ", r0, r1, r2, r3, r4, r5, ", should return 012345\n"; -} \ No newline at end of file +} diff --git a/Test/patterns/PatternMatching.dfy.expect b/Test/patterns/PatternMatching.dfy.expect index 2970273cbfc..b4415971ca5 100644 --- a/Test/patterns/PatternMatching.dfy.expect +++ b/Test/patterns/PatternMatching.dfy.expect @@ -1,6 +1,3 @@ -PatternMatching.dfy(102,4): Warning: this branch is redundant - -Dafny program verifier finished with 9 verified, 0 errors NestingTest([6]) = 6, should return 6 NestedVariableTest([2::3::4::5::6]) = 0, should return 0 ConstantTest([3::4::5::6]) = 2, should return 2 diff --git a/Test/traits/TraitCompile.dfy b/Test/traits/TraitCompile.dfy index 03cf3746c6f..6e9b925fbc5 100644 --- a/Test/traits/TraitCompile.dfy +++ b/Test/traits/TraitCompile.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait TT { @@ -820,4 +814,4 @@ module RedeclaringMembers { true } } -} \ No newline at end of file +} diff --git a/Test/traits/TraitCompile.dfy.expect b/Test/traits/TraitCompile.dfy.expect index 8257b754de2..b70a9b09d2e 100644 --- a/Test/traits/TraitCompile.dfy.expect +++ b/Test/traits/TraitCompile.dfy.expect @@ -1,259 +1,3 @@ - -Dafny program verifier finished with 75 verified, 0 errors - -Dafny program verifier did not attempt verification -y=120 -x=12 -d=800 -a5=407 -t=1212 -z=30 -z'=30 -w=30 -d=1000 -a5=507 -t=1512 -t=1512 -t=1515 -This is OtherModule.P(7.0) -From OtherModule.Y: 7 and true -This is OtherModule.P(7.0) -From OtherModule.X: 7 and true -c.f= 15 j.f= 15 -c.f= 18 j.f= 18 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -x=126 -5.2 9 false -true true true true -false false false false -true true true true -false false false false -5.2 5.2 -1.2 1.2 -1.2 1.2 -15 30 -15 30 -15 30 -0 (0, 0) 0 -8 -0 0 0 0 0 0 0 0 0 0 0 0 -13 13 13 13 13 13 13 13 13 13 13 13 -14 14 14 14 14 14 14 14 14 14 14 14 -15 15 15 15 15 15 15 15 15 15 15 15 -16 16 16 16 16 16 16 16 16 16 16 16 -17 17 17 17 17 17 17 17 17 17 17 17 -18 18 18 18 18 18 18 18 18 18 18 18 -19 19 19 19 19 19 19 19 19 19 19 19 -20 20 20 20 20 20 20 20 20 20 20 20 -21 21 21 21 21 21 21 21 21 21 21 21 -22 22 22 22 22 22 22 22 22 22 22 22 -23 23 23 23 23 23 23 23 23 23 23 23 -24 24 24 24 24 24 24 24 24 24 24 24 -f(4) = 7 -f(4) = 7 -g(4) = 7 -g(4) = 7 -41 15 26 -true true -true true -true true -true true -true true true -true true true - -Dafny program verifier did not attempt verification -y=120 -x=12 -d=800 -a5=407 -t=1212 -z=30 -z'=30 -w=30 -d=1000 -a5=507 -t=1512 -t=1512 -t=1515 -This is OtherModule.P(7.0) -From OtherModule.Y: 7 and true -This is OtherModule.P(7.0) -From OtherModule.X: 7 and true -c.f= 15 j.f= 15 -c.f= 18 j.f= 18 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -x=126 -5.2 9 false -true true true true -false false false false -true true true true -false false false false -5.2 5.2 -1.2 1.2 -1.2 1.2 -15 30 -15 30 -15 30 -0 (0, 0) 0 -8 -0 0 0 0 0 0 0 0 0 0 0 0 -13 13 13 13 13 13 13 13 13 13 13 13 -14 14 14 14 14 14 14 14 14 14 14 14 -15 15 15 15 15 15 15 15 15 15 15 15 -16 16 16 16 16 16 16 16 16 16 16 16 -17 17 17 17 17 17 17 17 17 17 17 17 -18 18 18 18 18 18 18 18 18 18 18 18 -19 19 19 19 19 19 19 19 19 19 19 19 -20 20 20 20 20 20 20 20 20 20 20 20 -21 21 21 21 21 21 21 21 21 21 21 21 -22 22 22 22 22 22 22 22 22 22 22 22 -23 23 23 23 23 23 23 23 23 23 23 23 -24 24 24 24 24 24 24 24 24 24 24 24 -f(4) = 7 -f(4) = 7 -g(4) = 7 -g(4) = 7 -41 15 26 -true true -true true -true true -true true -true true true -true true true - -Dafny program verifier did not attempt verification -y=120 -x=12 -d=800 -a5=407 -t=1212 -z=30 -z'=30 -w=30 -d=1000 -a5=507 -t=1512 -t=1512 -t=1515 -This is OtherModule.P(7.0) -From OtherModule.Y: 7 and true -This is OtherModule.P(7.0) -From OtherModule.X: 7 and true -c.f= 15 j.f= 15 -c.f= 18 j.f= 18 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -x=126 -5.2 9 false -true true true true -false false false false -true true true true -false false false false -5.2 5.2 -1.2 1.2 -1.2 1.2 -15 30 -15 30 -15 30 -0 (0, 0) 0 -8 -0 0 0 0 0 0 0 0 0 0 0 0 -13 13 13 13 13 13 13 13 13 13 13 13 -14 14 14 14 14 14 14 14 14 14 14 14 -15 15 15 15 15 15 15 15 15 15 15 15 -16 16 16 16 16 16 16 16 16 16 16 16 -17 17 17 17 17 17 17 17 17 17 17 17 -18 18 18 18 18 18 18 18 18 18 18 18 -19 19 19 19 19 19 19 19 19 19 19 19 -20 20 20 20 20 20 20 20 20 20 20 20 -21 21 21 21 21 21 21 21 21 21 21 21 -22 22 22 22 22 22 22 22 22 22 22 22 -23 23 23 23 23 23 23 23 23 23 23 23 -24 24 24 24 24 24 24 24 24 24 24 24 -f(4) = 7 -f(4) = 7 -g(4) = 7 -g(4) = 7 -41 15 26 -true true -true true -true true -true true -true true true -true true true - -Dafny program verifier did not attempt verification -y=120 -x=12 -d=800 -a5=407 -t=1212 -z=30 -z'=30 -w=30 -d=1000 -a5=507 -t=1512 -t=1512 -t=1515 -This is OtherModule.P(7.0) -From OtherModule.Y: 7 and true -This is OtherModule.P(7.0) -From OtherModule.X: 7 and true -c.f= 15 j.f= 15 -c.f= 18 j.f= 18 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -x=126 -5.2 9 false -true true true true -false false false false -true true true true -false false false false -5.2 5.2 -1.2 1.2 -1.2 1.2 -15 30 -15 30 -15 30 -0 (0, 0) 0 -8 -0 0 0 0 0 0 0 0 0 0 0 0 -13 13 13 13 13 13 13 13 13 13 13 13 -14 14 14 14 14 14 14 14 14 14 14 14 -15 15 15 15 15 15 15 15 15 15 15 15 -16 16 16 16 16 16 16 16 16 16 16 16 -17 17 17 17 17 17 17 17 17 17 17 17 -18 18 18 18 18 18 18 18 18 18 18 18 -19 19 19 19 19 19 19 19 19 19 19 19 -20 20 20 20 20 20 20 20 20 20 20 20 -21 21 21 21 21 21 21 21 21 21 21 21 -22 22 22 22 22 22 22 22 22 22 22 22 -23 23 23 23 23 23 23 23 23 23 23 23 -24 24 24 24 24 24 24 24 24 24 24 24 -f(4) = 7 -f(4) = 7 -g(4) = 7 -g(4) = 7 -41 15 26 -true true -true true -true true -true true -true true true -true true true - -Dafny program verifier did not attempt verification y=120 x=12 d=800 diff --git a/Test/traits/TraitExample.dfy b/Test/traits/TraitExample.dfy index d6afb4ce70b..54c5cbbec6f 100644 --- a/Test/traits/TraitExample.dfy +++ b/Test/traits/TraitExample.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait Automobile { ghost var Repr: set diff --git a/Test/traits/TraitExample.dfy.expect b/Test/traits/TraitExample.dfy.expect index c1b4ac93962..b9783e62141 100644 --- a/Test/traits/TraitExample.dfy.expect +++ b/Test/traits/TraitExample.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 29 verified, 0 errors Fiat: 6 Volvo: 20 Catacar: 26 diff --git a/Test/traits/Traits-Fields.dfy b/Test/traits/Traits-Fields.dfy index 4176761d8ae..d371b5de375 100644 --- a/Test/traits/Traits-Fields.dfy +++ b/Test/traits/Traits-Fields.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait J { diff --git a/Test/traits/Traits-Fields.dfy.expect b/Test/traits/Traits-Fields.dfy.expect index cc460fc52f4..c39bd8b5d5d 100644 --- a/Test/traits/Traits-Fields.dfy.expect +++ b/Test/traits/Traits-Fields.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 2 verified, 0 errors j.x = 9 c.x = 9 diff --git a/Test/traits/TraitsMultipleInheritance.dfy b/Test/traits/TraitsMultipleInheritance.dfy index 2e2103e6c1f..384d6b9f9ed 100644 --- a/Test/traits/TraitsMultipleInheritance.dfy +++ b/Test/traits/TraitsMultipleInheritance.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait J1{ var x: int; @@ -27,4 +26,4 @@ method Main() print "j1.x + j2.y = " , j1.x + j2.y, "\n"; assert c.x + c.y == j1.x + j2.y; -} \ No newline at end of file +} diff --git a/Test/traits/TraitsMultipleInheritance.dfy.expect b/Test/traits/TraitsMultipleInheritance.dfy.expect index ad1a1011a25..b116b2d070d 100644 --- a/Test/traits/TraitsMultipleInheritance.dfy.expect +++ b/Test/traits/TraitsMultipleInheritance.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 1 verified, 0 errors c.x + c.y = 30 j1.x + j2.y = 30 diff --git a/Test/unicodechars/comp/Collections.dfy b/Test/unicodechars/comp/Collections.dfy index fb3e451eb83..34f1a1e2180 100644 --- a/Test/unicodechars/comp/Collections.dfy +++ b/Test/unicodechars/comp/Collections.dfy @@ -1,8 +1,3 @@ -// RUN: %dafny /compile:0 /verifyAllModules /unicodeChar:1 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:true /verifyAllModules include "../../comp/Collections.dfy" diff --git a/Test/unicodechars/comp/Collections.dfy.expect b/Test/unicodechars/comp/Collections.dfy.expect index 70586502b0d..89f08b08d75 100644 --- a/Test/unicodechars/comp/Collections.dfy.expect +++ b/Test/unicodechars/comp/Collections.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 40 verified, 0 errors - -Dafny program verifier did not attempt verification Sets: {} {17, 82} {12, 17} cardinality: 0 2 2 union: {17, 82} {12, 17, 82} @@ -127,511 +123,3 @@ Multiset=== 1 3 |s|=2 |u|=4 1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Yellow := 21, Color.Blue := 30] -keys: {Color.Yellow, Color.Blue} -values: {21, 30} -items: {(Color.Yellow, 21), (Color.Blue, 30)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {21, 30} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.go.expect b/Test/unicodechars/comp/Collections.dfy.go.expect new file mode 100644 index 00000000000..2fc0f3b7093 --- /dev/null +++ b/Test/unicodechars/comp/Collections.dfy.go.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.java.expect b/Test/unicodechars/comp/Collections.dfy.java.expect new file mode 100644 index 00000000000..39975cadfc4 --- /dev/null +++ b/Test/unicodechars/comp/Collections.dfy.java.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Yellow := 21, Color.Blue := 30] +keys: {Color.Yellow, Color.Blue} +values: {21, 30} +items: {(Color.Yellow, 21), (Color.Blue, 30)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.js.expect b/Test/unicodechars/comp/Collections.dfy.js.expect new file mode 100644 index 00000000000..2fc0f3b7093 --- /dev/null +++ b/Test/unicodechars/comp/Collections.dfy.js.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.py.expect b/Test/unicodechars/comp/Collections.dfy.py.expect new file mode 100644 index 00000000000..e4e346dede0 --- /dev/null +++ b/Test/unicodechars/comp/Collections.dfy.py.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {21, 30} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/unicodechars/comp/Comprehensions.dfy b/Test/unicodechars/comp/Comprehensions.dfy index 274f8d3a150..7ce8835997f 100644 --- a/Test/unicodechars/comp/Comprehensions.dfy +++ b/Test/unicodechars/comp/Comprehensions.dfy @@ -1,8 +1,3 @@ -// RUN: %dafny /compile:0 /unicodeChar:1 /verifyAllModules "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" -include "../../comp/Comprehensions.dfy" \ No newline at end of file +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:true /verifyAllModules +include "../../comp/Comprehensions.dfy" diff --git a/Test/unicodechars/comp/Comprehensions.dfy.expect b/Test/unicodechars/comp/Comprehensions.dfy.expect index 18159ddde0a..c9703fc9397 100644 --- a/Test/unicodechars/comp/Comprehensions.dfy.expect +++ b/Test/unicodechars/comp/Comprehensions.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 32 verified, 0 errors - -Dafny program verifier did not attempt verification x=13 y=14 x=13 y=14 b=yes true false @@ -64,259 +60,3 @@ true true [137438953474, 137438953475, 137438953476, 137438953477, 137438953479] cdefh cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[14 := 7, 12 := 6, 13 := 6] -map[18 := 14, 17 := 13, 16 := 12] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh diff --git a/Test/unicodechars/comp/Comprehensions.dfy.py.expect b/Test/unicodechars/comp/Comprehensions.dfy.py.expect new file mode 100644 index 00000000000..aeaa31fc0f3 --- /dev/null +++ b/Test/unicodechars/comp/Comprehensions.dfy.py.expect @@ -0,0 +1,62 @@ +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[14 := 7, 12 := 6, 13 := 6] +map[18 := 14, 17 := 13, 16 := 12] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh diff --git a/Test/unicodechars/comp/NativeNumbers.dfy b/Test/unicodechars/comp/NativeNumbers.dfy index 764b4b3b384..2dae43b062d 100644 --- a/Test/unicodechars/comp/NativeNumbers.dfy +++ b/Test/unicodechars/comp/NativeNumbers.dfy @@ -1,9 +1,4 @@ +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:true /verifyAllModules // Skip JavaScript because JavaScript doesn't have the same native types -// RUN: %dafny /compile:0 /verifyAllModules /unicodeChar:1 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" -include "../../comp/NativeNumbers.dfy" \ No newline at end of file +include "../../comp/NativeNumbers.dfy" diff --git a/Test/unicodechars/comp/NativeNumbers.dfy.expect b/Test/unicodechars/comp/NativeNumbers.dfy.expect index b0fc6754f84..354d931a151 100644 --- a/Test/unicodechars/comp/NativeNumbers.dfy.expect +++ b/Test/unicodechars/comp/NativeNumbers.dfy.expect @@ -1,259 +1,3 @@ - -Dafny program verifier finished with 25 verified, 0 errors - -Dafny program verifier did not attempt verification -Casting: - -Small numbers: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 -5 5 5 5 5 5 5 5 5 -6 6 6 6 6 6 6 6 6 -7 7 7 7 7 7 7 7 7 -8 8 8 8 8 8 8 8 8 - -Large unsigned numbers: -255 255 255 255 255 255 255 255 -65535 65535 65535 65535 65535 65535 -4294967295 4294967295 4294967295 4294967295 -18446744073709551615 18446744073709551615 - -Int to large unsigned: -255 65535 4294967295 18446744073709551615 - -Cast from cardinality operator: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 - -Characters: -'C' 67 67 67 67 67 67 67 67 67 -0 127 32767 65535 65535 255 65535 65535 65535 - -Defaults: - -0 0 0 0 0 0 0 0 0 - -Byte arithmetic: - -20 30 -10 10 18 - -Short arithmetic: - -20 30 -10 10 18 - -Bitvectors: - -0 3 4 1 - -Comparison to zero: - -int8: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int16: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int32: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int64: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint8: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint16: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint32: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint64: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N - - -Dafny program verifier did not attempt verification -Casting: - -Small numbers: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 -5 5 5 5 5 5 5 5 5 -6 6 6 6 6 6 6 6 6 -7 7 7 7 7 7 7 7 7 -8 8 8 8 8 8 8 8 8 - -Large unsigned numbers: -255 255 255 255 255 255 255 255 -65535 65535 65535 65535 65535 65535 -4294967295 4294967295 4294967295 4294967295 -18446744073709551615 18446744073709551615 - -Int to large unsigned: -255 65535 4294967295 18446744073709551615 - -Cast from cardinality operator: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 - -Characters: -'C' 67 67 67 67 67 67 67 67 67 -0 127 32767 65535 65535 255 65535 65535 65535 - -Defaults: - -0 0 0 0 0 0 0 0 0 - -Byte arithmetic: - -20 30 -10 10 18 - -Short arithmetic: - -20 30 -10 10 18 - -Bitvectors: - -0 3 4 1 - -Comparison to zero: - -int8: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int16: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int32: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int64: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint8: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint16: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint32: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint64: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N - - -Dafny program verifier did not attempt verification -Casting: - -Small numbers: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 -5 5 5 5 5 5 5 5 5 -6 6 6 6 6 6 6 6 6 -7 7 7 7 7 7 7 7 7 -8 8 8 8 8 8 8 8 8 - -Large unsigned numbers: -255 255 255 255 255 255 255 255 -65535 65535 65535 65535 65535 65535 -4294967295 4294967295 4294967295 4294967295 -18446744073709551615 18446744073709551615 - -Int to large unsigned: -255 65535 4294967295 18446744073709551615 - -Cast from cardinality operator: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 - -Characters: -'C' 67 67 67 67 67 67 67 67 67 -0 127 32767 65535 65535 255 65535 65535 65535 - -Defaults: - -0 0 0 0 0 0 0 0 0 - -Byte arithmetic: - -20 30 -10 10 18 - -Short arithmetic: - -20 30 -10 10 18 - -Bitvectors: - -0 3 4 1 - -Comparison to zero: - -int8: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int16: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int32: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int64: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint8: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint16: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint32: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint64: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N - - -Dafny program verifier did not attempt verification Casting: Small numbers: diff --git a/Test/unicodechars/comp/Numbers.dfy b/Test/unicodechars/comp/Numbers.dfy index 2c9170fe4d7..dfeeb19dc38 100644 --- a/Test/unicodechars/comp/Numbers.dfy +++ b/Test/unicodechars/comp/Numbers.dfy @@ -1,8 +1,3 @@ -// RUN: %dafny /compile:0 /verifyAllModules /unicodeChar:1 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" -include "../../comp/Numbers.dfy" \ No newline at end of file +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:true /verifyAllModules +include "../../comp/Numbers.dfy" diff --git a/Test/unicodechars/comp/Numbers.dfy.expect b/Test/unicodechars/comp/Numbers.dfy.expect index 6fa2f59f340..cce193e1cce 100644 --- a/Test/unicodechars/comp/Numbers.dfy.expect +++ b/Test/unicodechars/comp/Numbers.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 59 verified, 0 errors - -Dafny program verifier did not attempt verification 0 0 3 @@ -113,455 +109,3 @@ true false true false false true false true true false true false 20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -'g' 'Q' '2' -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -(312.0 / 40.0) (1248.0 / 40.0) -(-312.0 / 40.0) (-1248.0 / 40.0) -(-312.0 / 40.0) (1248.0 / 40.0) -(312.0 / 40.0) (-1248.0 / 40.0) -0.0 0.0 0.0 -120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) -123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 (8100.0 / 8100.0) -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -'g' 'Q' '2' -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -'g' 'Q' '2' -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -(312.0 / 40.0) (1248.0 / 40.0) -(-312.0 / 40.0) (-1248.0 / 40.0) -(-312.0 / 40.0) (1248.0 / 40.0) -(312.0 / 40.0) (-1248.0 / 40.0) -0.0 0.0 0.0 -120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) -123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 (8100.0 / 8100.0) -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -'g' 'Q' '2' -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 diff --git a/Test/unicodechars/comp/Numbers.dfy.go.expect b/Test/unicodechars/comp/Numbers.dfy.go.expect new file mode 100644 index 00000000000..95d8ac259c7 --- /dev/null +++ b/Test/unicodechars/comp/Numbers.dfy.go.expect @@ -0,0 +1,111 @@ +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +'g' 'Q' '2' +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 diff --git a/Test/unicodechars/comp/Numbers.dfy.py.expect b/Test/unicodechars/comp/Numbers.dfy.py.expect new file mode 100644 index 00000000000..95d8ac259c7 --- /dev/null +++ b/Test/unicodechars/comp/Numbers.dfy.py.expect @@ -0,0 +1,111 @@ +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +'g' 'Q' '2' +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 From aa45d59c7ba80714474a22294174064a2395a5b6 Mon Sep 17 00:00:00 2001 From: Robin Salkeld Date: Thu, 1 Jun 2023 21:25:45 -0700 Subject: [PATCH 14/68] Revert "Converting all tests" This reverts commit 6f4d1c1383b6412e9dd16eaffcb6503c073257b5. --- Test/VerifyThis2015/Problem1.dfy | 3 +- Test/VerifyThis2015/Problem1.dfy.expect | 2 + Test/VerifyThis2015/Problem2.dfy | 3 +- Test/VerifyThis2015/Problem2.dfy.expect | 2 + Test/VerifyThis2015/Problem3.dfy | 3 +- Test/VerifyThis2015/Problem3.dfy.expect | 2 + Test/c++/arrays.dfy | 3 +- Test/c++/arrays.dfy.expect | 2 + Test/c++/bit-vectors.dfy | 3 +- Test/c++/bit-vectors.dfy.expect | 2 + Test/c++/class.dfy | 3 +- Test/c++/class.dfy.expect | 2 + Test/c++/const.dfy | 3 +- Test/c++/const.dfy.expect | 2 + Test/c++/datatypes.dfy | 3 +- Test/c++/datatypes.dfy.expect | 2 + Test/c++/generic.dfy | 3 +- Test/c++/generic.dfy.expect | 2 + Test/c++/hello.dfy | 3 +- Test/c++/hello.dfy.expect | 2 + Test/c++/ints.dfy | 3 +- Test/c++/ints.dfy.expect | 2 + Test/c++/maps.dfy | 3 +- Test/c++/maps.dfy.expect | 2 + Test/c++/recursion.dfy | 3 +- Test/c++/recursion.dfy.expect | 2 + Test/c++/returns.dfy | 3 +- Test/c++/returns.dfy.expect | 2 + Test/c++/seqs.dfy | 3 +- Test/c++/seqs.dfy.expect | 2 + Test/c++/sets.dfy | 3 +- Test/c++/sets.dfy.expect | 2 + Test/c++/while.dfy | 3 +- Test/c++/while.dfy.expect | 2 + Test/comp/Arrays.dfy | 9 +- Test/comp/Arrays.dfy.expect | 396 ++++++++++++ Test/comp/Arrays.dfy.go.expect | 96 --- Test/comp/AsIs-Compile.dfy | 8 +- Test/comp/AsIs-Compile.dfy.expect | 160 +++++ Test/comp/AutoInit.dfy | 8 +- Test/comp/AutoInit.dfy.expect | 160 +++++ Test/comp/ByMethodCompilation.dfy | 8 +- Test/comp/ByMethodCompilation.dfy.expect | 32 + Test/comp/Calls.dfy | 8 +- Test/comp/Calls.dfy.expect | 40 ++ Test/comp/Class.dfy | 8 +- Test/comp/Class.dfy.expect | 72 +++ Test/comp/Collections.dfy | 9 +- Test/comp/Collections.dfy.expect | 512 ++++++++++++++++ Test/comp/Collections.dfy.go.expect | 125 ---- Test/comp/Collections.dfy.java.expect | 125 ---- Test/comp/Collections.dfy.js.expect | 125 ---- Test/comp/Collections.dfy.py.expect | 125 ---- Test/comp/Comprehensions.dfy | 9 +- Test/comp/Comprehensions.dfy.expect | 260 ++++++++ Test/comp/Comprehensions.dfy.py.expect | 62 -- Test/comp/ComprehensionsNewSyntax.dfy | 9 +- Test/comp/ComprehensionsNewSyntax.dfy.expect | 148 +++++ .../ComprehensionsNewSyntax.dfy.py.expect | 34 -- Test/comp/CovariantCollections.dfy | 8 +- Test/comp/CovariantCollections.dfy.expect | 220 +++++++ Test/comp/Datatype.dfy | 9 +- Test/comp/Datatype.dfy.expect | 100 +++ Test/comp/Datatype.dfy.java.expect | 22 - Test/comp/Datatype.dfy.py.expect | 22 - Test/comp/DefaultParameters-Compile.dfy | 8 +- .../comp/DefaultParameters-Compile.dfy.expect | 48 ++ Test/comp/DowncastClone.dfy | 8 +- Test/comp/DowncastClone.dfy.expect | 40 ++ Test/comp/ErasableTypeWrappers.dfy | 8 +- Test/comp/ErasableTypeWrappers.dfy.expect | 84 +++ Test/comp/EuclideanDivision.dfy | 8 +- Test/comp/EuclideanDivision.dfy.expect | 36 ++ Test/comp/ForLoops-Compilation.dfy | 8 +- Test/comp/ForLoops-Compilation.dfy.expect | 200 ++++++ Test/comp/ForallNewSyntax.dfy | 8 +- Test/comp/ForallNewSyntax.dfy.expect | 180 ++++++ Test/comp/Ghosts.dfy | 8 +- Test/comp/Ghosts.dfy.expect | 52 ++ Test/comp/Let.dfy | 7 +- Test/comp/Let.dfy.expect | 34 ++ Test/comp/MoreAutoInit.dfy | 8 +- Test/comp/MoreAutoInit.dfy.expect | 572 ++++++++++++++++++ Test/comp/NativeNumbers.dfy | 7 +- Test/comp/NativeNumbers.dfy.expect | 256 ++++++++ Test/comp/NestedArrays.dfy | 7 +- Test/comp/NestedArrays.dfy.expect | 16 + Test/comp/Numbers.dfy | 9 +- Test/comp/Numbers.dfy.expect | 456 ++++++++++++++ Test/comp/Numbers.dfy.go.expect | 111 ---- Test/comp/Numbers.dfy.py.expect | 111 ---- Test/comp/Poly.dfy | 9 +- Test/comp/Poly.dfy.expect | 60 ++ Test/comp/Poly.dfy.go.expect | 12 - Test/comp/Poly.dfy.py.expect | 12 - Test/comp/Print.dfy | 8 +- Test/comp/Print.dfy.expect | 34 ++ Test/comp/Print.dfy.go.expect | 8 - Test/comp/Print.dfy.java.expect | 8 - Test/comp/Print.dfy.js.expect | 8 - Test/comp/StaticMembersOfGenericTypes.dfy | 8 +- .../StaticMembersOfGenericTypes.dfy.expect | 76 +++ Test/comp/TailRecursion.dfy | 8 +- Test/comp/TailRecursion.dfy.expect | 76 +++ Test/comp/TypeDescriptors.dfy | 8 +- Test/comp/TypeDescriptors.dfy.expect | 152 +++++ Test/comp/TypeParams.dfy | 11 +- Test/comp/TypeParams.dfy.expect | 88 +++ Test/comp/TypeParams.dfy.go.expect | 19 - Test/comp/TypeParams.dfy.java.expect | 19 - Test/comp/TypeParams.dfy.js.expect | 19 - Test/comp/TypeParams.dfy.py.expect | 19 - Test/comp/UnoptimizedErasableTypeWrappers.dfy | 8 +- ...UnoptimizedErasableTypeWrappers.dfy.expect | 28 + Test/comp/Variance.dfy | 8 +- Test/comp/Variance.dfy.expect | 64 ++ Test/comp/Various.dfy | 8 +- Test/comp/Various.dfy.expect | 40 ++ Test/comp/firstSteps/0_IKnowThisMuchIs.dfy | 4 +- .../firstSteps/0_IKnowThisMuchIs.dfy.expect | 4 + Test/comp/firstSteps/1_Calls-F.dfy | 4 +- Test/comp/firstSteps/1_Calls-F.dfy.expect | 4 + Test/comp/firstSteps/2_Modules.dfy | 4 +- Test/comp/firstSteps/2_Modules.dfy.expect | 4 + Test/comp/firstSteps/3_Calls-As.dfy | 4 +- Test/comp/firstSteps/3_Calls-As.dfy.expect | 4 + .../4_Calls-FunctionsValues-Class+NT.dfy | 4 +- ..._Calls-FunctionsValues-Class+NT.dfy.expect | 4 + .../firstSteps/5_Calls-FunctionsValues-Dt.dfy | 4 +- .../5_Calls-FunctionsValues-Dt.dfy.expect | 4 + .../firstSteps/6_Calls-VariableCapture.dfy | 4 +- .../6_Calls-VariableCapture.dfy.expect | 4 + Test/comp/firstSteps/7_Arrays.dfy | 4 +- Test/comp/firstSteps/7_Arrays.dfy.expect | 4 + Test/comp/firstSteps/7_Dt_Algebraic.dfy | 6 +- .../firstSteps/7_Dt_Algebraic.dfy.cs.expect | 11 - .../comp/firstSteps/7_Dt_Algebraic.dfy.expect | 17 + Test/dafny0/ArrayElementInitCompile.dfy | 8 +- .../dafny0/ArrayElementInitCompile.dfy.expect | 76 +++ Test/dafny0/Bitvectors.dfy | 5 +- Test/dafny0/Bitvectors.dfy.expect | 490 +++++++++++++++ Test/dafny0/Compilation.dfy | 3 +- Test/dafny0/Compilation.dfy.expect | 2 + Test/dafny0/Constant.dfy | 3 +- Test/dafny0/Constant.dfy.expect | 2 + Test/dafny0/Deprecation.dfy | 3 +- Test/dafny0/Deprecation.dfy.expect | 7 + Test/dafny0/DiscoverBounds.dfy | 3 +- Test/dafny0/DiscoverBounds.dfy.expect | 7 + Test/dafny0/DividedConstructors.dfy | 3 +- Test/dafny0/DividedConstructors.dfy.expect | 186 ++++++ Test/dafny0/EqualityTypesCompile.dfy | 3 +- Test/dafny0/EqualityTypesCompile.dfy.expect | 2 + Test/dafny0/ForallCompilation.dfy | 3 +- Test/dafny0/ForallCompilation.dfy.expect | 2 + Test/dafny0/ForallCompilationNewSyntax.dfy | 3 +- .../ForallCompilationNewSyntax.dfy.expect | 6 + Test/dafny0/GhostGuards.dfy | 3 +- Test/dafny0/GhostGuards.dfy.expect | 7 + Test/dafny0/GhostITECompilation.dfy | 8 +- Test/dafny0/GhostITECompilation.dfy.expect | 28 + Test/dafny0/InitialValues.dfy | 3 +- Test/dafny0/InitialValues.dfy.expect | 2 + Test/dafny0/MatchBraces.dfy | 5 +- Test/dafny0/MatchBraces.dfy.expect | 133 ++++ Test/dafny0/MoForallCompilation.dfy | 3 +- Test/dafny0/MoForallCompilation.dfy.expect | 2 + Test/dafny0/NameclashesCompile.dfy | 3 +- Test/dafny0/NameclashesCompile.dfy.expect | 2 + Test/dafny0/NonZeroInitializationCompile.dfy | 7 +- .../NonZeroInitializationCompile.dfy.expect | 73 +++ Test/dafny0/NullComparisonWarnings.dfy | 3 +- Test/dafny0/NullComparisonWarnings.dfy.expect | 13 + Test/dafny0/PrintUTF8.dfy | 3 +- Test/dafny0/PrintUTF8.dfy.expect | 2 + Test/dafny0/RangeCompilation.dfy | 3 +- Test/dafny0/RangeCompilation.dfy.expect | 2 + Test/dafny0/SeqFromArray.dfy | 3 +- Test/dafny0/SeqFromArray.dfy.expect | 2 + Test/dafny0/SharedDestructorsCompile.dfy | 5 +- .../SharedDestructorsCompile.dfy.expect | 17 + Test/dafny0/SiblingImports.dfy | 3 +- Test/dafny0/SiblingImports.dfy.expect | 2 + Test/dafny0/TypeConversionsCompile.dfy | 3 +- Test/dafny0/TypeConversionsCompile.dfy.expect | 225 +++++++ Test/dafny0/TypeMembers.dfy | 5 +- Test/dafny0/TypeMembers.dfy.expect | 29 + Test/dafny0/TypeMembers.dfy.verifier.expect | 1 - Test/dafny0/Wellfounded.dfy | 3 +- Test/dafny0/Wellfounded.dfy.expect | 4 + Test/dafny2/MinWindowMax.dfy | 3 +- Test/dafny2/MinWindowMax.dfy.expect | 2 + .../SmallestMissingNumber-functional.dfy | 3 +- ...mallestMissingNumber-functional.dfy.expect | 3 + .../SmallestMissingNumber-imperative.dfy | 3 +- ...mallestMissingNumber-imperative.dfy.expect | 2 + Test/dafny2/StoreAndRetrieve.dfy | 7 +- Test/dafny2/StoreAndRetrieve.dfy.expect | 38 ++ .../StoreAndRetrieve.dfy.verifier.expect | 5 - Test/dafny2/Z-BirthdayBook.dfy | 3 +- Test/dafny2/Z-BirthdayBook.dfy.expect | 2 + Test/dafny2/pq-intrinsic-extrinsic.dfy | 5 +- Test/dafny2/pq-intrinsic-extrinsic.dfy.expect | 11 + Test/dafny3/Abstemious.dfy | 3 +- Test/dafny3/Abstemious.dfy.expect | 2 + Test/dafny3/CachedContainer.dfy | 7 +- Test/dafny3/CachedContainer.dfy.expect | 78 +++ .../CachedContainer.dfy.verifier.expect | 13 - Test/dafny3/Iter.dfy | 3 +- Test/dafny3/Iter.dfy.expect | 2 + Test/dafny4/Ackermann.dfy | 3 +- Test/dafny4/Ackermann.dfy.expect | 4 + Test/dafny4/Bug107.dfy | 3 +- Test/dafny4/Bug107.dfy.expect | 2 + Test/dafny4/Bug108.dfy | 3 +- Test/dafny4/Bug108.dfy.expect | 2 + Test/dafny4/Bug113.dfy | 5 +- Test/dafny4/Bug113.dfy.expect | 2 + Test/dafny4/Bug116.dfy | 3 +- Test/dafny4/Bug116.dfy.expect | 2 + Test/dafny4/Bug140.dfy | 3 +- Test/dafny4/Bug140.dfy.expect | 2 + Test/dafny4/Bug148.dfy | 3 +- Test/dafny4/Bug148.dfy.expect | 2 + Test/dafny4/Bug49.dfy | 3 +- Test/dafny4/Bug49.dfy.expect | 2 + Test/dafny4/Bug60.dfy | 3 +- Test/dafny4/Bug60.dfy.expect | 2 + Test/dafny4/Bug67.dfy | 5 +- Test/dafny4/Bug67.dfy.expect | 2 + Test/dafny4/Bug68.dfy | 5 +- Test/dafny4/Bug68.dfy.expect | 2 + Test/dafny4/Bug89.dfy | 5 +- Test/dafny4/Bug89.dfy.expect | 2 + Test/dafny4/Bug94.dfy | 3 +- Test/dafny4/Bug94.dfy.expect | 2 + Test/dafny4/ClassRefinement.dfy | 7 +- Test/dafny4/ClassRefinement.dfy.expect | 43 ++ .../ClassRefinement.dfy.verifier.expect | 6 - Test/dafny4/ExpandedGuardedness.dfy | 3 +- Test/dafny4/ExpandedGuardedness.dfy.expect | 2 + Test/dafny4/FlyingRobots.dfy | 3 +- Test/dafny4/FlyingRobots.dfy.expect | 2 + Test/dafny4/Leq.dfy | 3 +- Test/dafny4/Leq.dfy.expect | 2 + Test/dafny4/McCarthy91.dfy | 3 +- Test/dafny4/McCarthy91.dfy.expect | 2 + Test/dafny4/NatList.dfy | 3 +- Test/dafny4/NatList.dfy.expect | 2 + Test/dafny4/Regression15.dfy | 3 +- Test/dafny4/Regression15.dfy.expect | 2 + Test/dafny4/Regression2.dfy | 3 +- Test/dafny4/Regression2.dfy.expect | 2 + Test/dafny4/Regression3.dfy | 3 +- Test/dafny4/Regression3.dfy.expect | 2 + Test/dafny4/Regression4.dfy | 3 +- Test/dafny4/Regression4.dfy.expect | 2 + Test/dafny4/Regression6.dfy | 3 +- Test/dafny4/Regression6.dfy.expect | 2 + Test/dafny4/Regression7.dfy | 3 +- Test/dafny4/Regression7.dfy.expect | 2 + Test/dafny4/Regression9.dfy | 3 +- Test/dafny4/Regression9.dfy.expect | 2 + Test/dafny4/UnionFind.dfy | 3 +- Test/dafny4/UnionFind.dfy.expect | 2 + Test/dafny4/gcd.dfy | 7 +- Test/dafny4/gcd.dfy.expect | 31 + Test/dafny4/git-issue104.dfy | 8 +- Test/dafny4/git-issue104.dfy.expect | 16 + Test/dafny4/git-issue105.dfy | 3 +- Test/dafny4/git-issue105.dfy.expect | 2 + Test/dafny4/git-issue15.dfy | 3 +- Test/dafny4/git-issue15.dfy.expect | 2 + Test/dafny4/git-issue167.dfy | 3 +- Test/dafny4/git-issue167.dfy.expect | 2 + Test/dafny4/git-issue195.dfy | 3 +- Test/dafny4/git-issue195.dfy.expect | 2 + Test/dafny4/git-issue196.dfy | 3 +- Test/dafny4/git-issue196.dfy.expect | 2 + Test/dafny4/git-issue4.dfy | 3 +- Test/dafny4/git-issue4.dfy.expect | 2 + Test/dafny4/git-issue43.dfy | 3 +- Test/dafny4/git-issue43.dfy.expect | 2 + Test/dafny4/git-issue70.dfy | 3 +- Test/dafny4/git-issue70.dfy.expect | 2 + Test/dafny4/git-issue76.dfy | 5 +- Test/dafny4/git-issue76.dfy.expect | 7 + Test/dafny4/git-issue79.dfy | 3 +- Test/dafny4/git-issue79.dfy.expect | 2 + Test/dafny4/git-issue88.dfy | 3 +- Test/dafny4/git-issue88.dfy.expect | 2 + Test/exceptions/Exceptions1.dfy | 3 +- Test/exceptions/Exceptions1.dfy.expect | 2 + Test/exceptions/Exceptions1Expressions.dfy | 3 +- .../Exceptions1Expressions.dfy.expect | 2 + Test/exports/FIFO.dfy | 3 +- Test/exports/FIFO.dfy.expect | 2 + Test/exports/LIFO.dfy | 3 +- Test/exports/LIFO.dfy.expect | 2 + Test/exports/xrefine2.dfy | 3 +- Test/exports/xrefine2.dfy.expect | 2 + Test/exports/xrefine3.dfy | 3 +- Test/exports/xrefine3.dfy.expect | 2 + Test/git-issues/git-issue-032.dfy | 7 +- Test/git-issues/git-issue-032.dfy.expect | 37 ++ .../git-issue-032.dfy.verifier.expect | 3 - Test/git-issues/git-issue-1029.dfy | 3 +- Test/git-issues/git-issue-1029.dfy.expect | 2 + Test/git-issues/git-issue-1093.dfy | 8 +- Test/git-issues/git-issue-1093.dfy.expect | 16 + Test/git-issues/git-issue-1100.dfy | 3 +- Test/git-issues/git-issue-1100.dfy.expect | 2 + Test/git-issues/git-issue-1130.dfy | 3 +- Test/git-issues/git-issue-1130.dfy.expect | 2 + Test/git-issues/git-issue-1150.dfy | 3 +- Test/git-issues/git-issue-1150.dfy.expect | 2 + Test/git-issues/git-issue-1185.dfy | 8 +- Test/git-issues/git-issue-1185.dfy.expect | 13 + .../git-issues/git-issue-1185.dfy.java.expect | 1 - Test/git-issues/git-issue-1514.dfy | 3 +- Test/git-issues/git-issue-1514.dfy.expect | 2 + Test/git-issues/git-issue-1514b.dfy | 3 +- Test/git-issues/git-issue-1514b.dfy.expect | 2 + Test/git-issues/git-issue-1514c.dfy | 5 +- Test/git-issues/git-issue-1514c.dfy.expect | 7 + Test/git-issues/git-issue-1553.dfy | 7 +- Test/git-issues/git-issue-1553.dfy.expect | 10 + Test/git-issues/git-issue-1604b.dfy | 3 +- Test/git-issues/git-issue-1604b.dfy.expect | 2 + Test/git-issues/git-issue-1714.dfy | 3 +- Test/git-issues/git-issue-1714.dfy.expect | 2 + Test/git-issues/git-issue-179.dfy | 8 +- Test/git-issues/git-issue-179.dfy.expect | 22 + Test/git-issues/git-issue-179.dfy.go.expect | 4 - Test/git-issues/git-issue-179.dfy.java.expect | 4 - Test/git-issues/git-issue-179.dfy.js.expect | 4 - Test/git-issues/git-issue-1815a.dfy | 8 +- Test/git-issues/git-issue-1815a.dfy.expect | 16 + Test/git-issues/git-issue-1852.dfy | 5 +- Test/git-issues/git-issue-1852.dfy.expect | 7 + Test/git-issues/git-issue-1903.dfy | 3 +- Test/git-issues/git-issue-1903.dfy.expect | 2 + Test/git-issues/git-issue-1909.dfy | 3 +- Test/git-issues/git-issue-1909.dfy.expect | 2 + Test/git-issues/git-issue-2013.dfy | 8 +- Test/git-issues/git-issue-2013.dfy.expect | 52 ++ Test/git-issues/git-issue-2441.dfy | 5 +- Test/git-issues/git-issue-2441.dfy.expect | 6 + Test/git-issues/git-issue-2510.dfy | 3 +- Test/git-issues/git-issue-2510.dfy.expect | 2 + Test/git-issues/git-issue-258.dfy | 8 +- Test/git-issues/git-issue-258.dfy.expect | 73 +++ Test/git-issues/git-issue-258.dfy.go.expect | 21 - Test/git-issues/git-issue-258.dfy.js.expect | 21 - Test/git-issues/git-issue-2608.dfy | 3 +- Test/git-issues/git-issue-2608.dfy.expect | 2 + Test/git-issues/git-issue-262.dfy | 7 +- Test/git-issues/git-issue-262.dfy.expect | 18 + Test/git-issues/git-issue-262.dfy.go.expect | 2 - Test/git-issues/git-issue-262.dfy.java.expect | 2 - Test/git-issues/git-issue-262.dfy.js.expect | 6 - Test/git-issues/git-issue-267.dfy | 7 +- Test/git-issues/git-issue-267.dfy.expect | 13 + Test/git-issues/git-issue-2672.dfy | 8 +- Test/git-issues/git-issue-2672.dfy.expect | 44 ++ Test/git-issues/git-issue-2726a.dfy | 3 +- Test/git-issues/git-issue-2726a.dfy.expect | 2 + Test/git-issues/git-issue-2733.dfy | 9 +- Test/git-issues/git-issue-2733.dfy.expect | 14 + Test/git-issues/git-issue-2792.dfy | 3 +- Test/git-issues/git-issue-2792.dfy.expect | 2 + Test/git-issues/git-issue-283.dfy | 7 +- Test/git-issues/git-issue-283.dfy.expect | 13 + Test/git-issues/git-issue-283d.dfy | 7 +- Test/git-issues/git-issue-283d.dfy.expect | 10 + Test/git-issues/git-issue-314.dfy | 7 +- Test/git-issues/git-issue-314.dfy.expect | 10 + Test/git-issues/git-issue-332.dfy | 3 +- Test/git-issues/git-issue-332.dfy.expect | 2 + Test/git-issues/git-issue-354.dfy | 7 +- Test/git-issues/git-issue-354.dfy.expect | 22 + Test/git-issues/git-issue-356.dfy | 8 +- Test/git-issues/git-issue-356.dfy.expect | 36 ++ Test/git-issues/git-issue-364.dfy | 3 +- Test/git-issues/git-issue-364.dfy.expect | 2 + Test/git-issues/git-issue-374.dfy | 7 +- Test/git-issues/git-issue-374.dfy.expect | 10 + Test/git-issues/git-issue-396.dfy | 6 +- Test/git-issues/git-issue-396.dfy.expect | 11 + Test/git-issues/git-issue-4007.dfy | 5 +- Test/git-issues/git-issue-4007.dfy.expect | 3 + Test/git-issues/git-issue-4012.dfy | 5 +- Test/git-issues/git-issue-4012.dfy.expect | 2 + Test/git-issues/git-issue-425.dfy | 7 +- Test/git-issues/git-issue-425.dfy.expect | 16 + Test/git-issues/git-issue-443.dfy | 3 +- Test/git-issues/git-issue-443.dfy.expect | 2 + Test/git-issues/git-issue-446.dfy | 7 +- Test/git-issues/git-issue-446.dfy.expect | 19 + Test/git-issues/git-issue-446a.dfy | 7 +- Test/git-issues/git-issue-446a.dfy.expect | 19 + Test/git-issues/git-issue-446b.dfy | 7 +- Test/git-issues/git-issue-446b.dfy.expect | 25 + Test/git-issues/git-issue-478-good.dfy | 3 +- Test/git-issues/git-issue-478-good.dfy.expect | 2 + Test/git-issues/git-issue-506.dfy | 6 +- Test/git-issues/git-issue-506.dfy.expect | 26 + Test/git-issues/git-issue-532.dfy | 7 +- Test/git-issues/git-issue-532.dfy.expect | 19 + Test/git-issues/git-issue-549.dfy | 5 +- Test/git-issues/git-issue-549.dfy.expect | 8 + Test/git-issues/git-issue-622$f.dfy | 3 +- Test/git-issues/git-issue-622$f.dfy.expect | 2 + Test/git-issues/git-issue-633.dfy | 7 +- Test/git-issues/git-issue-633.dfy.expect | 10 + Test/git-issues/git-issue-684.dfy | 7 +- Test/git-issues/git-issue-684.dfy.expect | 10 + Test/git-issues/git-issue-686.dfy | 7 +- Test/git-issues/git-issue-686.dfy.expect | 23 + .../git-issue-686.dfy.verifier.expect | 2 - Test/git-issues/git-issue-697.dfy | 3 +- Test/git-issues/git-issue-697.dfy.expect | 2 + Test/git-issues/git-issue-697b.dfy | 3 +- Test/git-issues/git-issue-697b.dfy.expect | 2 + Test/git-issues/git-issue-697d.dfy | 3 +- Test/git-issues/git-issue-697d.dfy.expect | 2 + Test/git-issues/git-issue-697e.dfy | 3 +- Test/git-issues/git-issue-697e.dfy.expect | 2 + Test/git-issues/git-issue-697f.dfy | 3 +- Test/git-issues/git-issue-697f.dfy.expect | 2 + Test/git-issues/git-issue-697g.dfy | 3 +- Test/git-issues/git-issue-697g.dfy.expect | 2 + Test/git-issues/git-issue-698.dfy | 5 +- Test/git-issues/git-issue-698.dfy.expect | 7 + Test/git-issues/git-issue-698b.dfy | 5 +- Test/git-issues/git-issue-698b.dfy.expect | 2 + Test/git-issues/git-issue-701.dfy | 7 +- Test/git-issues/git-issue-701.dfy.expect | 19 + Test/git-issues/git-issue-705.dfy | 7 +- Test/git-issues/git-issue-705.dfy.expect | 13 + Test/git-issues/git-issue-731.dfy | 7 +- Test/git-issues/git-issue-731.dfy.expect | 16 + Test/git-issues/git-issue-731b.dfy | 7 +- Test/git-issues/git-issue-731b.dfy.expect | 13 + Test/git-issues/git-issue-755.dfy | 8 +- Test/git-issues/git-issue-755.dfy.expect | 31 + Test/git-issues/git-issue-755.dfy.go.expect | 7 - Test/git-issues/git-issue-755.dfy.java.expect | 7 - Test/git-issues/git-issue-755.dfy.js.expect | 7 - Test/git-issues/git-issue-784.dfy | 7 +- Test/git-issues/git-issue-784.dfy.expect | 10 + Test/git-issues/git-issue-953.dfy | 8 +- Test/git-issues/git-issue-953.dfy.expect | 36 ++ Test/git-issues/github-issue-3343.dfy | 3 +- Test/git-issues/github-issue-3343.dfy.expect | 2 + Test/hofs/Compilation.dfy | 3 +- Test/hofs/Compilation.dfy.expect | 2 + Test/hofs/Examples.dfy | 3 +- Test/hofs/Examples.dfy.expect | 2 + Test/hofs/Fold.dfy | 3 +- Test/hofs/Fold.dfy.expect | 2 + Test/hofs/Folding.dfy | 3 +- Test/hofs/Folding.dfy.expect | 2 + Test/hofs/Renaming.dfy | 3 +- Test/hofs/Renaming.dfy.expect | 2 + Test/hofs/Requires.dfy | 3 +- Test/hofs/Requires.dfy.expect | 2 + Test/hofs/TreeMapSimple.dfy | 3 +- Test/hofs/TreeMapSimple.dfy.expect | 2 + Test/hofs/VectorUpdate.dfy | 3 +- Test/hofs/VectorUpdate.dfy.expect | 2 + Test/hofs/WhileLoop.dfy | 3 +- Test/hofs/WhileLoop.dfy.expect | 2 + Test/irondafny0/optimize0.dfy | 3 +- Test/irondafny0/optimize0.dfy.expect | 2 + Test/metatests/OutputEncoding.dfy | 8 +- Test/metatests/OutputEncoding.dfy.expect | 16 + Test/patterns/OrPatterns.dfy | 3 +- Test/patterns/OrPatterns.dfy.expect | 2 + Test/patterns/PatternMatching.dfy | 5 +- Test/patterns/PatternMatching.dfy.expect | 3 + Test/traits/TraitCompile.dfy | 10 +- Test/traits/TraitCompile.dfy.expect | 256 ++++++++ Test/traits/TraitExample.dfy | 3 +- Test/traits/TraitExample.dfy.expect | 2 + Test/traits/Traits-Fields.dfy | 3 +- Test/traits/Traits-Fields.dfy.expect | 2 + Test/traits/TraitsMultipleInheritance.dfy | 5 +- .../TraitsMultipleInheritance.dfy.expect | 2 + Test/unicodechars/comp/Collections.dfy | 9 +- Test/unicodechars/comp/Collections.dfy.expect | 512 ++++++++++++++++ .../comp/Collections.dfy.go.expect | 125 ---- .../comp/Collections.dfy.java.expect | 125 ---- .../comp/Collections.dfy.js.expect | 125 ---- .../comp/Collections.dfy.py.expect | 125 ---- Test/unicodechars/comp/Comprehensions.dfy | 11 +- .../comp/Comprehensions.dfy.expect | 260 ++++++++ .../comp/Comprehensions.dfy.py.expect | 62 -- Test/unicodechars/comp/NativeNumbers.dfy | 9 +- .../comp/NativeNumbers.dfy.expect | 256 ++++++++ Test/unicodechars/comp/Numbers.dfy | 11 +- Test/unicodechars/comp/Numbers.dfy.expect | 456 ++++++++++++++ Test/unicodechars/comp/Numbers.dfy.go.expect | 111 ---- Test/unicodechars/comp/Numbers.dfy.py.expect | 111 ---- 504 files changed, 9916 insertions(+), 2254 deletions(-) delete mode 100644 Test/comp/Arrays.dfy.go.expect delete mode 100644 Test/comp/Collections.dfy.go.expect delete mode 100644 Test/comp/Collections.dfy.java.expect delete mode 100644 Test/comp/Collections.dfy.js.expect delete mode 100644 Test/comp/Collections.dfy.py.expect delete mode 100644 Test/comp/Comprehensions.dfy.py.expect delete mode 100644 Test/comp/ComprehensionsNewSyntax.dfy.py.expect delete mode 100644 Test/comp/Datatype.dfy.java.expect delete mode 100644 Test/comp/Datatype.dfy.py.expect delete mode 100644 Test/comp/Numbers.dfy.go.expect delete mode 100644 Test/comp/Numbers.dfy.py.expect delete mode 100644 Test/comp/Poly.dfy.go.expect delete mode 100644 Test/comp/Poly.dfy.py.expect delete mode 100644 Test/comp/Print.dfy.go.expect delete mode 100644 Test/comp/Print.dfy.java.expect delete mode 100644 Test/comp/Print.dfy.js.expect delete mode 100644 Test/comp/TypeParams.dfy.go.expect delete mode 100644 Test/comp/TypeParams.dfy.java.expect delete mode 100644 Test/comp/TypeParams.dfy.js.expect delete mode 100644 Test/comp/TypeParams.dfy.py.expect delete mode 100644 Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect delete mode 100644 Test/dafny0/TypeMembers.dfy.verifier.expect delete mode 100644 Test/dafny2/StoreAndRetrieve.dfy.verifier.expect delete mode 100644 Test/dafny3/CachedContainer.dfy.verifier.expect delete mode 100644 Test/dafny4/ClassRefinement.dfy.verifier.expect delete mode 100644 Test/git-issues/git-issue-032.dfy.verifier.expect delete mode 100644 Test/git-issues/git-issue-1185.dfy.java.expect delete mode 100644 Test/git-issues/git-issue-179.dfy.go.expect delete mode 100644 Test/git-issues/git-issue-179.dfy.java.expect delete mode 100644 Test/git-issues/git-issue-179.dfy.js.expect delete mode 100644 Test/git-issues/git-issue-258.dfy.go.expect delete mode 100644 Test/git-issues/git-issue-258.dfy.js.expect delete mode 100644 Test/git-issues/git-issue-262.dfy.go.expect delete mode 100644 Test/git-issues/git-issue-262.dfy.java.expect delete mode 100644 Test/git-issues/git-issue-262.dfy.js.expect delete mode 100644 Test/git-issues/git-issue-686.dfy.verifier.expect delete mode 100644 Test/git-issues/git-issue-755.dfy.go.expect delete mode 100644 Test/git-issues/git-issue-755.dfy.java.expect delete mode 100644 Test/git-issues/git-issue-755.dfy.js.expect delete mode 100644 Test/unicodechars/comp/Collections.dfy.go.expect delete mode 100644 Test/unicodechars/comp/Collections.dfy.java.expect delete mode 100644 Test/unicodechars/comp/Collections.dfy.js.expect delete mode 100644 Test/unicodechars/comp/Collections.dfy.py.expect delete mode 100644 Test/unicodechars/comp/Comprehensions.dfy.py.expect delete mode 100644 Test/unicodechars/comp/Numbers.dfy.go.expect delete mode 100644 Test/unicodechars/comp/Numbers.dfy.py.expect diff --git a/Test/VerifyThis2015/Problem1.dfy b/Test/VerifyThis2015/Problem1.dfy index ab227e1ab85..20bd154ab8d 100644 --- a/Test/VerifyThis2015/Problem1.dfy +++ b/Test/VerifyThis2015/Problem1.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Rustan Leino // 12 April 2015 diff --git a/Test/VerifyThis2015/Problem1.dfy.expect b/Test/VerifyThis2015/Problem1.dfy.expect index 9e8a46acf90..110dd45761d 100644 --- a/Test/VerifyThis2015/Problem1.dfy.expect +++ b/Test/VerifyThis2015/Problem1.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 18 verified, 0 errors true true false diff --git a/Test/VerifyThis2015/Problem2.dfy b/Test/VerifyThis2015/Problem2.dfy index f297b303547..9f1d6913039 100644 --- a/Test/VerifyThis2015/Problem2.dfy +++ b/Test/VerifyThis2015/Problem2.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Rustan Leino // 13 April 2015, and many subsequent enhancements and revisions diff --git a/Test/VerifyThis2015/Problem2.dfy.expect b/Test/VerifyThis2015/Problem2.dfy.expect index e69de29bb2d..b49c1470365 100644 --- a/Test/VerifyThis2015/Problem2.dfy.expect +++ b/Test/VerifyThis2015/Problem2.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 32 verified, 0 errors diff --git a/Test/VerifyThis2015/Problem3.dfy b/Test/VerifyThis2015/Problem3.dfy index 1348acf0f4d..3be60b5d81a 100644 --- a/Test/VerifyThis2015/Problem3.dfy +++ b/Test/VerifyThis2015/Problem3.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Rustan Leino // 12 April 2015 // VerifyThis 2015 diff --git a/Test/VerifyThis2015/Problem3.dfy.expect b/Test/VerifyThis2015/Problem3.dfy.expect index e69de29bb2d..4bb1c2c7251 100644 --- a/Test/VerifyThis2015/Problem3.dfy.expect +++ b/Test/VerifyThis2015/Problem3.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 18 verified, 0 errors diff --git a/Test/c++/arrays.dfy b/Test/c++/arrays.dfy index a02b57e5ff8..47140146468 100644 --- a/Test/c++/arrays.dfy +++ b/Test/c++/arrays.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/arrays.dfy.expect b/Test/c++/arrays.dfy.expect index 2ce9320d8c2..552f9355593 100644 --- a/Test/c++/arrays.dfy.expect +++ b/Test/c++/arrays.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 9 verified, 0 errors 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/c++/bit-vectors.dfy b/Test/c++/bit-vectors.dfy index d27469e4ca5..b7f5d35df07 100644 --- a/Test/c++/bit-vectors.dfy +++ b/Test/c++/bit-vectors.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint64 = i:int | 0 <= i < 0x10000000000000000 diff --git a/Test/c++/bit-vectors.dfy.expect b/Test/c++/bit-vectors.dfy.expect index c491236b12b..e327aa2f73b 100644 --- a/Test/c++/bit-vectors.dfy.expect +++ b/Test/c++/bit-vectors.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 6 verified, 0 errors 084841024 diff --git a/Test/c++/class.dfy b/Test/c++/class.dfy index aa26a22f64a..8df616b801c 100644 --- a/Test/c++/class.dfy +++ b/Test/c++/class.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/class.dfy.expect b/Test/c++/class.dfy.expect index 80f1587d0a2..93717ecfa9e 100644 --- a/Test/c++/class.dfy.expect +++ b/Test/c++/class.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 16 verified, 0 errors true true false 103 102 102 106 105 105 203 17 0 18 8 9 69 70 diff --git a/Test/c++/const.dfy b/Test/c++/const.dfy index 1bfb79f0361..5ab9a62e0e9 100644 --- a/Test/c++/const.dfy +++ b/Test/c++/const.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" module Holder { const x:bool := false diff --git a/Test/c++/const.dfy.expect b/Test/c++/const.dfy.expect index e69de29bb2d..823a60a105c 100644 --- a/Test/c++/const.dfy.expect +++ b/Test/c++/const.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 1 verified, 0 errors diff --git a/Test/c++/datatypes.dfy b/Test/c++/datatypes.dfy index f56b7907cc3..9d077b97575 100644 --- a/Test/c++/datatypes.dfy +++ b/Test/c++/datatypes.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/datatypes.dfy.expect b/Test/c++/datatypes.dfy.expect index c122f5af791..efa71b43546 100644 --- a/Test/c++/datatypes.dfy.expect +++ b/Test/c++/datatypes.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 12 verified, 0 errors Case A: 42 Case B: true This is expected diff --git a/Test/c++/generic.dfy b/Test/c++/generic.dfy index d2d2fc74106..822824bfa04 100644 --- a/Test/c++/generic.dfy +++ b/Test/c++/generic.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" class Test { var t:T; diff --git a/Test/c++/generic.dfy.expect b/Test/c++/generic.dfy.expect index e69de29bb2d..00a51f822da 100644 --- a/Test/c++/generic.dfy.expect +++ b/Test/c++/generic.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 3 verified, 0 errors diff --git a/Test/c++/hello.dfy b/Test/c++/hello.dfy index 523d3152209..c887337c7e1 100644 --- a/Test/c++/hello.dfy +++ b/Test/c++/hello.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { print "Hello world\n"; diff --git a/Test/c++/hello.dfy.expect b/Test/c++/hello.dfy.expect index 802992c4220..87101fec036 100644 --- a/Test/c++/hello.dfy.expect +++ b/Test/c++/hello.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 0 verified, 0 errors Hello world diff --git a/Test/c++/ints.dfy b/Test/c++/ints.dfy index 4490a54817a..cf7ae63e0da 100644 --- a/Test/c++/ints.dfy +++ b/Test/c++/ints.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype sbyte = i:int | -0x80 <= i < 0x80 newtype byte = i:int | 0 <= i < 0x100 diff --git a/Test/c++/ints.dfy.expect b/Test/c++/ints.dfy.expect index 5fcb7b811cb..aeabccf73b0 100644 --- a/Test/c++/ints.dfy.expect +++ b/Test/c++/ints.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 15 verified, 0 errors Result is z = 42 diff --git a/Test/c++/maps.dfy b/Test/c++/maps.dfy index b88ebd56ad5..951d34e96f1 100644 --- a/Test/c++/maps.dfy +++ b/Test/c++/maps.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/maps.dfy.expect b/Test/c++/maps.dfy.expect index 80642c23257..482aa604356 100644 --- a/Test/c++/maps.dfy.expect +++ b/Test/c++/maps.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 9 verified, 0 errors Identity: This is expected ValuesIdentity: This is expected KeyMembership: This is expected diff --git a/Test/c++/recursion.dfy b/Test/c++/recursion.dfy index 36048aab527..e255b8e6b08 100644 --- a/Test/c++/recursion.dfy +++ b/Test/c++/recursion.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/recursion.dfy.expect b/Test/c++/recursion.dfy.expect index 1ea14926e89..15dbfe2bcd1 100644 --- a/Test/c++/recursion.dfy.expect +++ b/Test/c++/recursion.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 5 verified, 0 errors x !y 3 diff --git a/Test/c++/returns.dfy b/Test/c++/returns.dfy index 9e23121d26a..1ad19a8ce83 100644 --- a/Test/c++/returns.dfy +++ b/Test/c++/returns.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint64 = i:int | 0 <= i < 0x10000000000000000 diff --git a/Test/c++/returns.dfy.expect b/Test/c++/returns.dfy.expect index 48082f72f08..8db105eaba8 100644 --- a/Test/c++/returns.dfy.expect +++ b/Test/c++/returns.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors 12 diff --git a/Test/c++/seqs.dfy b/Test/c++/seqs.dfy index 0b0b0ad4d87..6352b0082bd 100644 --- a/Test/c++/seqs.dfy +++ b/Test/c++/seqs.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint8 = i:int | 0 <= i < 0x100 newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/seqs.dfy.expect b/Test/c++/seqs.dfy.expect index 16f5f9d22ea..23f01695bc9 100644 --- a/Test/c++/seqs.dfy.expect +++ b/Test/c++/seqs.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 11 verified, 0 errors Head second:2 Trunc first:2 Head trunc: This is expected diff --git a/Test/c++/sets.dfy b/Test/c++/sets.dfy index 10e2fe0501d..5bfb6f80f1e 100644 --- a/Test/c++/sets.dfy +++ b/Test/c++/sets.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/sets.dfy.expect b/Test/c++/sets.dfy.expect index 52a1e67717e..1c8ede8765e 100644 --- a/Test/c++/sets.dfy.expect +++ b/Test/c++/sets.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 8 verified, 0 errors Identity: This is expected ValuesIdentity: This is expected DiffIdentity: This is expected diff --git a/Test/c++/while.dfy b/Test/c++/while.dfy index 0c0d7ee98df..40dc4699d11 100644 --- a/Test/c++/while.dfy +++ b/Test/c++/while.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/while.dfy.expect b/Test/c++/while.dfy.expect index 9a44de1e2a3..8dfe872ca51 100644 --- a/Test/c++/while.dfy.expect +++ b/Test/c++/while.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 2 verified, 0 errors 0 1 2 diff --git a/Test/comp/Arrays.dfy b/Test/comp/Arrays.dfy index acb4225b358..566f052e0a6 100644 --- a/Test/comp/Arrays.dfy +++ b/Test/comp/Arrays.dfy @@ -1,5 +1,10 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false +// RUN: %baredafny verify %args --relax-definite-assignment "%s" > "%t" +// RUN: %baredafny run --unicode-char:false --no-verify --target=cs %args "%s" >> "%t" +// RUN: %baredafny run --unicode-char:false --no-verify --target=js %args "%s" >> "%t" +// RUN: %baredafny run --unicode-char:false --no-verify --target=go %args "%s" >> "%t" +// RUN: %baredafny run --unicode-char:false --no-verify --target=java %args "%s" >> "%t" +// RUN: %baredafny run --unicode-char:false --no-verify --target=py %args "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method LinearSearch(a: array, key: int) returns (n: nat) ensures 0 <= n <= a.Length diff --git a/Test/comp/Arrays.dfy.expect b/Test/comp/Arrays.dfy.expect index ef3b884f98a..8559e2f3c5c 100644 --- a/Test/comp/Arrays.dfy.expect +++ b/Test/comp/Arrays.dfy.expect @@ -1,3 +1,399 @@ + +Dafny program verifier finished with 89 verified, 0 errors + +Dafny program verifier did not attempt verification +0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 +17 +[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] +[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] +[20, 21, 22] +[0, 1, 2, 3, 4, 5, 6, 7] +[0, 1, 2, 3, 4, 5, 6, 7] +d d d +h e l l o +0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 +1 0 0 0 0 +0 1 0 0 0 +0 0 1 0 0 +cube dims: 3 0 4 +[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] +It's null +hi hello tjena hej hola +hi hello tjena hej hola +hi hello tjena hej hola +d d d +h e l l o +8 8 8 8 +true true true +1 1 1 1 1 +2 2 2 2 2 +3 3 3 3 3 +4 4 4 4 4 +(d, 8, true, 1, 2, 3, 4) +D D D +0 0 0 0 +false false false +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +(D, 0, false, 0, 0, 0, 0) +8 0 +false 0 null null +8 8 +8 8 +8 8 +8 8 +D D D +D D D +D D D +D D r (D, D, r) +D D r +[19, 18, 9, 8] + true + false + true + false + false + false + true + true + false + true + false + true + true + false +hello there +false false +true true +false false +false false +uninitialized bytes: array[0, 0, 0] +bytes from display: array[7, 8, 9] +bytes from lambda: array[20, 21, 22] +uninitialized 1bytes: array[1, 1, 1] +1bytes from display: array[7, 8, 9] +1bytes from lambda: array[20, 21, 22] +17 19 18 20 +100 200 300 120 38 +hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +DDDDDabcdeabcdeggggg +DDDDDabcdeabcdeggggg +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] +DDDDDDDDDDagggggaggg +0 69 50 +0 69 50 +D k n +false false +true true +false false +false false +true true + +Dafny program verifier did not attempt verification +0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 +17 +[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] +[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] +[20, 21, 22] +[0, 1, 2, 3, 4, 5, 6, 7] +[0, 1, 2, 3, 4, 5, 6, 7] +d d d +h e l l o +0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 +1 0 0 0 0 +0 1 0 0 0 +0 0 1 0 0 +cube dims: 3 0 4 +[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] +It's null +hi hello tjena hej hola +hi hello tjena hej hola +hi hello tjena hej hola +d d d +h e l l o +8 8 8 8 +true true true +1 1 1 1 1 +2 2 2 2 2 +3 3 3 3 3 +4 4 4 4 4 +(d, 8, true, 1, 2, 3, 4) +D D D +0 0 0 0 +false false false +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +(D, 0, false, 0, 0, 0, 0) +8 0 +false 0 null null +8 8 +8 8 +8 8 +8 8 +D D D +D D D +D D D +D D r (D, D, r) +D D r +[19, 18, 9, 8] + true + false + true + false + false + false + true + true + false + true + false + true + true + false +hello there +false false +true true +false false +false false +uninitialized bytes: array[0, 0, 0] +bytes from display: array[7, 8, 9] +bytes from lambda: array[20, 21, 22] +uninitialized 1bytes: array[1, 1, 1] +1bytes from display: array[7, 8, 9] +1bytes from lambda: array[20, 21, 22] +17 19 18 20 +100 200 300 120 38 +hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +DDDDDabcdeabcdeggggg +DDDDDabcdeabcdeggggg +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] +DDDDDDDDDDagggggaggg +0 69 50 +0 69 50 +D k n +false false +true true +false false +false false +true true + +Dafny program verifier did not attempt verification +0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 +17 +[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] +[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] +[20, 21, 22] +[0, 1, 2, 3, 4, 5, 6, 7] +[0, 1, 2, 3, 4, 5, 6, 7] +d d d +h e l l o +0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 +1 0 0 0 0 +0 1 0 0 0 +0 0 1 0 0 +cube dims: 3 0 4 +[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] +It's null +hi hello tjena hej hola +hi hello tjena hej hola +hi hello tjena hej hola +d d d +h e l l o +8 8 8 8 +true true true +1 1 1 1 1 +2 2 2 2 2 +3 3 3 3 3 +4 4 4 4 4 +(d, 8, true, 1, 2, 3, 4) +D D D +0 0 0 0 +false false false +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +(D, 0, false, 0, 0, 0, 0) +8 0 +false 0 null null +8 8 +8 8 +8 8 +8 8 +D D D +D D D +D D D +D D r (D, D, r) +D D r +[19, 18, 9, 8] + true + false + true + false + false + false + true + true + false + true + false + true + true + false +hello there +false false +true true +false false +false false +uninitialized bytes: array[0, 0, 0] +bytes from display: array[7, 8, 9] +bytes from lambda: array[20, 21, 22] +uninitialized 1bytes: array[1, 1, 1] +1bytes from display: array[7, 8, 9] +1bytes from lambda: array[20, 21, 22] +17 19 18 20 +100 200 300 120 38 +hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +DDDDDabcdeabcdeggggg +DDDDDabcdeabcdeggggg +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] +[D, D, D, D, D, D, D, D, D, D, a, g, g, g, g, g, a, g, g, g] +0 69 50 +0 69 50 +D k n +false false +true true +false false +false false +true true + +Dafny program verifier did not attempt verification +0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 +17 +[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] +[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] +[20, 21, 22] +[0, 1, 2, 3, 4, 5, 6, 7] +[0, 1, 2, 3, 4, 5, 6, 7] +d d d +h e l l o +0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 +1 0 0 0 0 +0 1 0 0 0 +0 0 1 0 0 +cube dims: 3 0 4 +[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] +It's null +hi hello tjena hej hola +hi hello tjena hej hola +hi hello tjena hej hola +d d d +h e l l o +8 8 8 8 +true true true +1 1 1 1 1 +2 2 2 2 2 +3 3 3 3 3 +4 4 4 4 4 +(d, 8, true, 1, 2, 3, 4) +D D D +0 0 0 0 +false false false +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +(D, 0, false, 0, 0, 0, 0) +8 0 +false 0 null null +8 8 +8 8 +8 8 +8 8 +D D D +D D D +D D D +D D r (D, D, r) +D D r +[19, 18, 9, 8] + true + false + true + false + false + false + true + true + false + true + false + true + true + false +hello there +false false +true true +false false +false false +uninitialized bytes: array[0, 0, 0] +bytes from display: array[7, 8, 9] +bytes from lambda: array[20, 21, 22] +uninitialized 1bytes: array[1, 1, 1] +1bytes from display: array[7, 8, 9] +1bytes from lambda: array[20, 21, 22] +17 19 18 20 +100 200 300 120 38 +hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +DDDDDabcdeabcdeggggg +DDDDDabcdeabcdeggggg +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] +DDDDDDDDDDagggggaggg +0 69 50 +0 69 50 +D k n +false false +true true +false false +false false +true true + +Dafny program verifier did not attempt verification 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/comp/Arrays.dfy.go.expect b/Test/comp/Arrays.dfy.go.expect deleted file mode 100644 index 1217623d90c..00000000000 --- a/Test/comp/Arrays.dfy.go.expect +++ /dev/null @@ -1,96 +0,0 @@ -0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 -17 -[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] -[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] -[20, 21, 22] -[0, 1, 2, 3, 4, 5, 6, 7] -[0, 1, 2, 3, 4, 5, 6, 7] -d d d -h e l l o -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -1 0 0 0 0 -0 1 0 0 0 -0 0 1 0 0 -cube dims: 3 0 4 -[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] -It's null -hi hello tjena hej hola -hi hello tjena hej hola -hi hello tjena hej hola -d d d -h e l l o -8 8 8 8 -true true true -1 1 1 1 1 -2 2 2 2 2 -3 3 3 3 3 -4 4 4 4 4 -(d, 8, true, 1, 2, 3, 4) -D D D -0 0 0 0 -false false false -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -(D, 0, false, 0, 0, 0, 0) -8 0 -false 0 null null -8 8 -8 8 -8 8 -8 8 -D D D -D D D -D D D -D D r (D, D, r) -D D r -[19, 18, 9, 8] - true - false - true - false - false - false - true - true - false - true - false - true - true - false -hello there -false false -true true -false false -false false -uninitialized bytes: array[0, 0, 0] -bytes from display: array[7, 8, 9] -bytes from lambda: array[20, 21, 22] -uninitialized 1bytes: array[1, 1, 1] -1bytes from display: array[7, 8, 9] -1bytes from lambda: array[20, 21, 22] -17 19 18 20 -100 200 300 120 38 -hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -DDDDDabcdeabcdeggggg -DDDDDabcdeabcdeggggg -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] -[D, D, D, D, D, D, D, D, D, D, a, g, g, g, g, g, a, g, g, g] -0 69 50 -0 69 50 -D k n -false false -true true -false false -false false -true true diff --git a/Test/comp/AsIs-Compile.dfy b/Test/comp/AsIs-Compile.dfy index 319847564e2..47084ed7633 100644 --- a/Test/comp/AsIs-Compile.dfy +++ b/Test/comp/AsIs-Compile.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" +// RUN: %baredafny verify %args "%s" > "%t" +// RUN: %baredafny run --no-verify -t=cs %args "%s" >> "%t" +// RUN: %baredafny run --no-verify -t=js %args "%s" >> "%t" +// RUN: %baredafny run --no-verify -t=go %args "%s" >> "%t" +// RUN: %baredafny run --no-verify -t=java %args "%s" >> "%t" +// RUN: %baredafny run --no-verify -t=py %args "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var a: A, b: B, c: C, k: K, l: L := new M, new M, new M, new K, new L; diff --git a/Test/comp/AsIs-Compile.dfy.expect b/Test/comp/AsIs-Compile.dfy.expect index acc78c6e155..36dfe46e91d 100644 --- a/Test/comp/AsIs-Compile.dfy.expect +++ b/Test/comp/AsIs-Compile.dfy.expect @@ -1,3 +1,163 @@ + +Dafny program verifier finished with 6 verified, 0 errors + +Dafny program verifier did not attempt verification +true true true true true +true true true true true +IsComparisons ---- +false true false false + true false false + true false +false false true false + false true false + false false +false false false true + false false true + false true +false true false false + false true false + false false +true true +false true +TestNullIs ---- +true true +true true +true true true true true true +true true true true true true +true true true true true true +true true true true true true +true true +false true +true true true true true true +false true false true false true +true true true true true true +false true false true false true +TestFromTraits ---- +5 +0 +4 +4 +4 +4 + +Dafny program verifier did not attempt verification +true true true true true +true true true true true +IsComparisons ---- +false true false false + true false false + true false +false false true false + false true false + false false +false false false true + false false true + false true +false true false false + false true false + false false +true true +false true +TestNullIs ---- +true true +true true +true true true true true true +true true true true true true +true true true true true true +true true true true true true +true true +false true +true true true true true true +false true false true false true +true true true true true true +false true false true false true +TestFromTraits ---- +5 +0 +4 +4 +4 +4 + +Dafny program verifier did not attempt verification +true true true true true +true true true true true +IsComparisons ---- +false true false false + true false false + true false +false false true false + false true false + false false +false false false true + false false true + false true +false true false false + false true false + false false +true true +false true +TestNullIs ---- +true true +true true +true true true true true true +true true true true true true +true true true true true true +true true true true true true +true true +false true +true true true true true true +false true false true false true +true true true true true true +false true false true false true +TestFromTraits ---- +5 +0 +4 +4 +4 +4 + +Dafny program verifier did not attempt verification +true true true true true +true true true true true +IsComparisons ---- +false true false false + true false false + true false +false false true false + false true false + false false +false false false true + false false true + false true +false true false false + false true false + false false +true true +false true +TestNullIs ---- +true true +true true +true true true true true true +true true true true true true +true true true true true true +true true true true true true +true true +false true +true true true true true true +false true false true false true +true true true true true true +false true false true false true +TestFromTraits ---- +5 +0 +4 +4 +4 +4 + +Dafny program verifier did not attempt verification true true true true true true true true true true IsComparisons ---- diff --git a/Test/comp/AutoInit.dfy b/Test/comp/AutoInit.dfy index c0e752efa36..b284619a80c 100644 --- a/Test/comp/AutoInit.dfy +++ b/Test/comp/AutoInit.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // This file tests the compilation of some default values. It also includes some // regression tests for equality, printing, and tuples. diff --git a/Test/comp/AutoInit.dfy.expect b/Test/comp/AutoInit.dfy.expect index a282fc36633..c8ed022d09b 100644 --- a/Test/comp/AutoInit.dfy.expect +++ b/Test/comp/AutoInit.dfy.expect @@ -1,3 +1,163 @@ + +Dafny program verifier finished with 21 verified, 0 errors + +Dafny program verifier did not attempt verification +3 false 0 +false false true +() (0, false, false, []) +(null, 0) (null, 0) true +(null, null, null, 0) (null, null, null, 0) true +true false false true +true false false true +17 +1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or +(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) +1 +ww == null -- yes, as expected +true true true true +true true true +true true true +null null +null null +null null null +null null null +null null null +null null null +null null +null null null +null null null +DatatypeDefaultValues_Compile.EnumDatatype.MakeZero + DatatypeDefaultValues_Compile.IntList.Nil + 0 +DatatypeDefaultValues_Compile.GenericTree.Leaf + DatatypeDefaultValues_Compile.Complicated.ComplA(0, false) + DatatypeDefaultValues_Compile.CellCell.MakeCellCell(0) +null + null +ImportedTypes_mLibrary_Compile.Color.Red(0) and ImportedTypes_mLibrary_Compile.Color.Red(0) +ImportedTypes_mLibrary_Compile.CoColor.Yellow and ImportedTypes_mLibrary_Compile.CoColor.Yellow +ImportedTypes_mLibrary_Compile.MoColor.MoYellow and ImportedTypes_mLibrary_Compile.MoColor.MoYellow +0.0 and 0.0 +13 + +Dafny program verifier did not attempt verification +3 false 0 +false false true +() (0, false, false, []) +(null, 0) (null, 0) true +(null, null, null, 0) (null, null, null, 0) true +true false false true +true false false true +17 +1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or +(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) +1 +ww == null -- yes, as expected +true true true true +true true true +true true true +null null +null null +null null null +null null null +null null null +null null null +null null +null null null +null null null +DatatypeDefaultValues_Compile.EnumDatatype.MakeZero + DatatypeDefaultValues_Compile.IntList.Nil + 0 +DatatypeDefaultValues_Compile.GenericTree.Leaf + DatatypeDefaultValues_Compile.Complicated.ComplA(0, false) + DatatypeDefaultValues_Compile.CellCell.MakeCellCell(0) +null + null +ImportedTypes_mLibrary_Compile.Color.Red(0) and ImportedTypes_mLibrary_Compile.Color.Red(0) +ImportedTypes_mLibrary_Compile.CoColor.Yellow and ImportedTypes_mLibrary_Compile.CoColor.Yellow +ImportedTypes_mLibrary_Compile.MoColor.MoYellow and ImportedTypes_mLibrary_Compile.MoColor.MoYellow +0.0 and 0.0 +13 + +Dafny program verifier did not attempt verification +3 false 0 +false false true +() (0, false, false, []) +(null, 0) (null, 0) true +(null, null, null, 0) (null, null, null, 0) true +true false false true +true false false true +17 +1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or +(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) +1 +ww == null -- yes, as expected +true true true true +true true true +true true true +null null +null null +null null null +null null null +null null null +null null null +null null +null null null +null null null +DatatypeDefaultValues_Compile.EnumDatatype.MakeZero + DatatypeDefaultValues_Compile.IntList.Nil + 0 +DatatypeDefaultValues_Compile.GenericTree.Leaf + DatatypeDefaultValues_Compile.Complicated.ComplA(0, false) + DatatypeDefaultValues_Compile.CellCell.MakeCellCell(0) +null + null +ImportedTypes_mLibrary_Compile.Color.Red(0) and ImportedTypes_mLibrary_Compile.Color.Red(0) +ImportedTypes_mLibrary_Compile.CoColor.Yellow and ImportedTypes_mLibrary_Compile.CoColor.Yellow +ImportedTypes_mLibrary_Compile.MoColor.MoYellow and ImportedTypes_mLibrary_Compile.MoColor.MoYellow +0.0 and 0.0 +13 + +Dafny program verifier did not attempt verification +3 false 0 +false false true +() (0, false, false, []) +(null, 0) (null, 0) true +(null, null, null, 0) (null, null, null, 0) true +true false false true +true false false true +17 +1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or +(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) +1 +ww == null -- yes, as expected +true true true true +true true true +true true true +null null +null null +null null null +null null null +null null null +null null null +null null +null null null +null null null +DatatypeDefaultValues_Compile.EnumDatatype.MakeZero + DatatypeDefaultValues_Compile.IntList.Nil + 0 +DatatypeDefaultValues_Compile.GenericTree.Leaf + DatatypeDefaultValues_Compile.Complicated.ComplA(0, false) + DatatypeDefaultValues_Compile.CellCell.MakeCellCell(0) +null + null +ImportedTypes_mLibrary_Compile.Color.Red(0) and ImportedTypes_mLibrary_Compile.Color.Red(0) +ImportedTypes_mLibrary_Compile.CoColor.Yellow and ImportedTypes_mLibrary_Compile.CoColor.Yellow +ImportedTypes_mLibrary_Compile.MoColor.MoYellow and ImportedTypes_mLibrary_Compile.MoColor.MoYellow +0.0 and 0.0 +13 + +Dafny program verifier did not attempt verification 3 false 0 false false true () (0, false, false, []) diff --git a/Test/comp/ByMethodCompilation.dfy b/Test/comp/ByMethodCompilation.dfy index 7432f72f7d4..ea62d84b21e 100644 --- a/Test/comp/ByMethodCompilation.dfy +++ b/Test/comp/ByMethodCompilation.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var four := Four(); diff --git a/Test/comp/ByMethodCompilation.dfy.expect b/Test/comp/ByMethodCompilation.dfy.expect index d61780e3fb8..1519a955b0c 100644 --- a/Test/comp/ByMethodCompilation.dfy.expect +++ b/Test/comp/ByMethodCompilation.dfy.expect @@ -1,3 +1,35 @@ + +Dafny program verifier finished with 13 verified, 0 errors + +Dafny program verifier did not attempt verification +hello +four is 4 +Recursive(7) = 14 +NonCompilableFunction: 4 7 +Sums: 14 3 + +Dafny program verifier did not attempt verification +hello +four is 4 +Recursive(7) = 14 +NonCompilableFunction: 4 7 +Sums: 14 3 + +Dafny program verifier did not attempt verification +hello +four is 4 +Recursive(7) = 14 +NonCompilableFunction: 4 7 +Sums: 14 3 + +Dafny program verifier did not attempt verification +hello +four is 4 +Recursive(7) = 14 +NonCompilableFunction: 4 7 +Sums: 14 3 + +Dafny program verifier did not attempt verification hello four is 4 Recursive(7) = 14 diff --git a/Test/comp/Calls.dfy b/Test/comp/Calls.dfy index c56bc3e5286..4a4916aea0c 100644 --- a/Test/comp/Calls.dfy +++ b/Test/comp/Calls.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" function F(x: int, y: bool): int { x + if y then 2 else 3 diff --git a/Test/comp/Calls.dfy.expect b/Test/comp/Calls.dfy.expect index cf4e1bc155b..3317b8be164 100644 --- a/Test/comp/Calls.dfy.expect +++ b/Test/comp/Calls.dfy.expect @@ -1,3 +1,43 @@ + +Dafny program verifier finished with 6 verified, 0 errors + +Dafny program verifier did not attempt verification +5 0 0 false 0 false 0 +5 3 5 3 5 3 +5 3 5 3 5 3 +15 +[0, 1, 2, 4] +[0, 2, 4] +--> 5 <-- + +Dafny program verifier did not attempt verification +5 0 0 false 0 false 0 +5 3 5 3 5 3 +5 3 5 3 5 3 +15 +[0, 1, 2, 4] +[0, 2, 4] +--> 5 <-- + +Dafny program verifier did not attempt verification +5 0 0 false 0 false 0 +5 3 5 3 5 3 +5 3 5 3 5 3 +15 +[0, 1, 2, 4] +[0, 2, 4] +--> 5 <-- + +Dafny program verifier did not attempt verification +5 0 0 false 0 false 0 +5 3 5 3 5 3 +5 3 5 3 5 3 +15 +[0, 1, 2, 4] +[0, 2, 4] +--> 5 <-- + +Dafny program verifier did not attempt verification 5 0 0 false 0 false 0 5 3 5 3 5 3 5 3 5 3 5 3 diff --git a/Test/comp/Class.dfy b/Test/comp/Class.dfy index 23591e43450..fb994f008e7 100644 --- a/Test/comp/Class.dfy +++ b/Test/comp/Class.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" class MyClass { var a: int diff --git a/Test/comp/Class.dfy.expect b/Test/comp/Class.dfy.expect index 47e49966664..ba1482a164b 100644 --- a/Test/comp/Class.dfy.expect +++ b/Test/comp/Class.dfy.expect @@ -1,3 +1,75 @@ + +Dafny program verifier finished with 16 verified, 0 errors + +Dafny program verifier did not attempt verification +true true false +103 103 103 106 106 106 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +0 18 9 70 +0 18 9 70 +0 18 9 70 +70 +hi later +21 4 42 5 1 +TestGhostables +15 +Init called with x=15 +16 + +Dafny program verifier did not attempt verification +true true false +103 103 103 106 106 106 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +0 18 9 70 +0 18 9 70 +0 18 9 70 +70 +hi later +21 4 42 5 1 +TestGhostables +15 +Init called with x=15 +16 + +Dafny program verifier did not attempt verification +true true false +103 103 103 106 106 106 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +0 18 9 70 +0 18 9 70 +0 18 9 70 +70 +hi later +21 4 42 5 1 +TestGhostables +15 +Init called with x=15 +16 + +Dafny program verifier did not attempt verification +true true false +103 103 103 106 106 106 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +0 18 9 70 +0 18 9 70 +0 18 9 70 +70 +hi later +21 4 42 5 1 +TestGhostables +15 +Init called with x=15 +16 + +Dafny program verifier did not attempt verification true true false 103 103 103 106 106 106 203 17 0 18 8 9 69 70 diff --git a/Test/comp/Collections.dfy b/Test/comp/Collections.dfy index 9457e44b170..104eb9f90ac 100644 --- a/Test/comp/Collections.dfy +++ b/Test/comp/Collections.dfy @@ -1,5 +1,10 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { Sets(); diff --git a/Test/comp/Collections.dfy.expect b/Test/comp/Collections.dfy.expect index e705d887a7d..2361c1a88db 100644 --- a/Test/comp/Collections.dfy.expect +++ b/Test/comp/Collections.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 40 verified, 0 errors + +Dafny program verifier did not attempt verification Sets: {} {17, 82} {12, 17} cardinality: 0 2 2 union: {17, 82} {12, 17, 82} @@ -123,3 +127,511 @@ Multiset=== 1 3 |s|=2 |u|=4 1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Yellow := 21, Color.Blue := 30] +keys: {Color.Yellow, Color.Blue} +values: {21, 30} +items: {(Color.Yellow, 21), (Color.Blue, 30)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {21, 30} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/comp/Collections.dfy.go.expect b/Test/comp/Collections.dfy.go.expect deleted file mode 100644 index 309d0c550c4..00000000000 --- a/Test/comp/Collections.dfy.go.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/comp/Collections.dfy.java.expect b/Test/comp/Collections.dfy.java.expect deleted file mode 100644 index ed929a4d34c..00000000000 --- a/Test/comp/Collections.dfy.java.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Yellow := 21, Color.Blue := 30] -keys: {Color.Yellow, Color.Blue} -values: {21, 30} -items: {(Color.Yellow, 21), (Color.Blue, 30)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/comp/Collections.dfy.js.expect b/Test/comp/Collections.dfy.js.expect deleted file mode 100644 index 309d0c550c4..00000000000 --- a/Test/comp/Collections.dfy.js.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/comp/Collections.dfy.py.expect b/Test/comp/Collections.dfy.py.expect deleted file mode 100644 index 61b4217bbaf..00000000000 --- a/Test/comp/Collections.dfy.py.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {21, 30} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/comp/Comprehensions.dfy b/Test/comp/Comprehensions.dfy index 73c43b22bfa..29ac368f2c3 100644 --- a/Test/comp/Comprehensions.dfy +++ b/Test/comp/Comprehensions.dfy @@ -1,5 +1,10 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { AssignSuchThat(); diff --git a/Test/comp/Comprehensions.dfy.expect b/Test/comp/Comprehensions.dfy.expect index c9703fc9397..18159ddde0a 100644 --- a/Test/comp/Comprehensions.dfy.expect +++ b/Test/comp/Comprehensions.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 32 verified, 0 errors + +Dafny program verifier did not attempt verification x=13 y=14 x=13 y=14 b=yes true false @@ -60,3 +64,259 @@ true true [137438953474, 137438953475, 137438953476, 137438953477, 137438953479] cdefh cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[14 := 7, 12 := 6, 13 := 6] +map[18 := 14, 17 := 13, 16 := 12] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh diff --git a/Test/comp/Comprehensions.dfy.py.expect b/Test/comp/Comprehensions.dfy.py.expect deleted file mode 100644 index aeaa31fc0f3..00000000000 --- a/Test/comp/Comprehensions.dfy.py.expect +++ /dev/null @@ -1,62 +0,0 @@ -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[14 := 7, 12 := 6, 13 := 6] -map[18 := 14, 17 := 13, 16 := 12] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh diff --git a/Test/comp/ComprehensionsNewSyntax.dfy b/Test/comp/ComprehensionsNewSyntax.dfy index 6cd88aeb4f7..a324b622e8a 100644 --- a/Test/comp/ComprehensionsNewSyntax.dfy +++ b/Test/comp/ComprehensionsNewSyntax.dfy @@ -1,5 +1,10 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { Quantifier(); diff --git a/Test/comp/ComprehensionsNewSyntax.dfy.expect b/Test/comp/ComprehensionsNewSyntax.dfy.expect index b70314ff87b..408769f4b67 100644 --- a/Test/comp/ComprehensionsNewSyntax.dfy.expect +++ b/Test/comp/ComprehensionsNewSyntax.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 10 verified, 0 errors + +Dafny program verifier did not attempt verification true false true false map[12 := 6, 13 := 6, 14 := 7] @@ -32,3 +36,147 @@ false false false false true true true true false false false false true true true true + +Dafny program verifier did not attempt verification +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true + +Dafny program verifier did not attempt verification +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true + +Dafny program verifier did not attempt verification +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true + +Dafny program verifier did not attempt verification +true false +true false +map[14 := 7, 12 := 6, 13 := 6] +map[18 := 14, 17 := 13, 16 := 12] +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true diff --git a/Test/comp/ComprehensionsNewSyntax.dfy.py.expect b/Test/comp/ComprehensionsNewSyntax.dfy.py.expect deleted file mode 100644 index b19cef0ba0e..00000000000 --- a/Test/comp/ComprehensionsNewSyntax.dfy.py.expect +++ /dev/null @@ -1,34 +0,0 @@ -true false -true false -map[14 := 7, 12 := 6, 13 := 6] -map[18 := 14, 17 := 13, 16 := 12] -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true diff --git a/Test/comp/CovariantCollections.dfy b/Test/comp/CovariantCollections.dfy index 6dd73ee7fea..12301df3b09 100644 --- a/Test/comp/CovariantCollections.dfy +++ b/Test/comp/CovariantCollections.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { Sequences(); diff --git a/Test/comp/CovariantCollections.dfy.expect b/Test/comp/CovariantCollections.dfy.expect index a9d00f4a65d..e029d3abc3b 100644 --- a/Test/comp/CovariantCollections.dfy.expect +++ b/Test/comp/CovariantCollections.dfy.expect @@ -1,3 +1,223 @@ + +Dafny program verifier finished with 25 verified, 0 errors + +Dafny program verifier did not attempt verification +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17] [12, 17] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + comprehension: {82} + union: {17, 82} {12, 17, 82} + intersection: {} {17} + difference: {} {82} + subset: true false true + proper subset: true false false + membership: false true true +Multisets: {} {17, 17, 82, 82} {12, 17} + cardinality: 0 4 2 + update: {17, 17, 42, 42, 42} {12, 17, 42} + multiplicity: 2 0 20 + union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} + intersection: {} {17, 82, 82} + difference: {} {17, 82, 82} + subset: true false true + proper subset: true false false + membership: false true true +Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} + cardinality: 0 3 2 + update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} + comprehension: {17 := 12, 82 := 12} + Keys: {12, 17, 82} + Values: {17, 82} + eq: false true true + eq: true true true true true true + eq: true true true true true true + eq: true false true false true false + eq: true false true false true false + eq: true true true true true true + eq: true true true true true true +set: {20, 30} +multiset: {20, 30} +seq: [20, 30] +map: {20 := 30, 30 := 20} +true +true +1 1 +1 1 + +Dafny program verifier did not attempt verification +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17] [12, 17] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + comprehension: {82} + union: {17, 82} {12, 17, 82} + intersection: {} {17} + difference: {} {82} + subset: true false true + proper subset: true false false + membership: false true true +Multisets: {} {17, 17, 82, 82} {12, 17} + cardinality: 0 4 2 + update: {17, 17, 42, 42, 42} {12, 17, 42} + multiplicity: 2 0 20 + union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} + intersection: {} {17, 82, 82} + difference: {} {17, 82, 82} + subset: true false true + proper subset: true false false + membership: false true true +Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} + cardinality: 0 3 2 + update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} + comprehension: {17 := 12, 82 := 12} + Keys: {12, 17, 82} + Values: {17, 82} + eq: false true true + eq: true true true true true true + eq: true true true true true true + eq: true false true false true false + eq: true false true false true false + eq: true true true true true true + eq: true true true true true true +set: {20, 30} +multiset: {20, 30} +seq: [20, 30] +map: {20 := 30, 30 := 20} +true +true +1 1 +1 1 + +Dafny program verifier did not attempt verification +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17] [12, 17] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + comprehension: {82} + union: {17, 82} {12, 17, 82} + intersection: {} {17} + difference: {} {82} + subset: true false true + proper subset: true false false + membership: false true true +Multisets: {} {17, 17, 82, 82} {12, 17} + cardinality: 0 4 2 + update: {17, 17, 42, 42, 42} {12, 17, 42} + multiplicity: 2 0 20 + union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} + intersection: {} {17, 82, 82} + difference: {} {17, 82, 82} + subset: true false true + proper subset: true false false + membership: false true true +Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} + cardinality: 0 3 2 + update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} + comprehension: {17 := 12, 82 := 12} + Keys: {12, 17, 82} + Values: {17, 82} + eq: false true true + eq: true true true true true true + eq: true true true true true true + eq: true false true false true false + eq: true false true false true false + eq: true true true true true true + eq: true true true true true true +set: {20, 30} +multiset: {20, 30} +seq: [20, 30] +map: {20 := 30, 30 := 20} +true +true +1 1 +1 1 + +Dafny program verifier did not attempt verification +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17] [12, 17] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + comprehension: {82} + union: {17, 82} {12, 17, 82} + intersection: {} {17} + difference: {} {82} + subset: true false true + proper subset: true false false + membership: false true true +Multisets: {} {17, 17, 82, 82} {12, 17} + cardinality: 0 4 2 + update: {17, 17, 42, 42, 42} {12, 17, 42} + multiplicity: 2 0 20 + union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} + intersection: {} {17, 82, 82} + difference: {} {17, 82, 82} + subset: true false true + proper subset: true false false + membership: false true true +Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} + cardinality: 0 3 2 + update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} + comprehension: {17 := 12, 82 := 12} + Keys: {12, 17, 82} + Values: {17, 82} + eq: false true true + eq: true true true true true true + eq: true true true true true true + eq: true false true false true false + eq: true false true false true false + eq: true true true true true true + eq: true true true true true true +set: {20, 30} +multiset: {20, 30} +seq: [20, 30] +map: {20 := 30, 30 := 20} +true +true +1 1 +1 1 + +Dafny program verifier did not attempt verification Sequences: [] [17, 82, 17, 82] [12, 17] cardinality: 0 4 2 update: [42, 82, 17, 82] [42, 17] diff --git a/Test/comp/Datatype.dfy b/Test/comp/Datatype.dfy index 3b3f0641c1a..0f4bab7c469 100644 --- a/Test/comp/Datatype.dfy +++ b/Test/comp/Datatype.dfy @@ -1,5 +1,10 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype List = Nil | Cons(head: int, tail: List) diff --git a/Test/comp/Datatype.dfy.expect b/Test/comp/Datatype.dfy.expect index 93e37a9562a..84dceeb16e6 100644 --- a/Test/comp/Datatype.dfy.expect +++ b/Test/comp/Datatype.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 12 verified, 0 errors + +Dafny program verifier did not attempt verification List.Nil List.Cons(5, List.Nil) (List.Nil, List.Cons(5, List.Nil)) @@ -20,3 +24,99 @@ Record.Record(58, true) 199 800 801 802 800 801 802 + +Dafny program verifier did not attempt verification +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) +0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) +Stream.Next +Stream.Next +{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} +CoBerry.Hjortron true true false +false +42 'q' hello +1701 +Record.Record(58, true) +199 +800 801 802 +800 801 802 + +Dafny program verifier did not attempt verification +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) +0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) +Stream.Next +Stream.Next +{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} +CoBerry.Hjortron true true false +false +42 'q' hello +1701 +Record.Record(58, true) +199 +800 801 802 +800 801 802 + +Dafny program verifier did not attempt verification +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) +0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) +Stream.Next +Stream.Next +{Berry.Jordgubb, Berry.Smultron, Berry.Hallon} +CoBerry.Hjortron true true false +false +42 'q' hello +1701 +Record.Record(58, true) +199 +800 801 802 +800 801 802 + +Dafny program verifier did not attempt verification +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) +0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) +Stream.Next +Stream.Next +{Berry.Hallon, Berry.Smultron, Berry.Jordgubb} +CoBerry.Hjortron true true false +false +42 'q' hello +1701 +Record.Record(58, true) +199 +800 801 802 +800 801 802 diff --git a/Test/comp/Datatype.dfy.java.expect b/Test/comp/Datatype.dfy.java.expect deleted file mode 100644 index e5a32fd58bc..00000000000 --- a/Test/comp/Datatype.dfy.java.expect +++ /dev/null @@ -1,22 +0,0 @@ -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) -0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) -Stream.Next -Stream.Next -{Berry.Jordgubb, Berry.Smultron, Berry.Hallon} -CoBerry.Hjortron true true false -false -42 'q' hello -1701 -Record.Record(58, true) -199 -800 801 802 -800 801 802 diff --git a/Test/comp/Datatype.dfy.py.expect b/Test/comp/Datatype.dfy.py.expect deleted file mode 100644 index 0f64b73ba2d..00000000000 --- a/Test/comp/Datatype.dfy.py.expect +++ /dev/null @@ -1,22 +0,0 @@ -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) -0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) -Stream.Next -Stream.Next -{Berry.Hallon, Berry.Smultron, Berry.Jordgubb} -CoBerry.Hjortron true true false -false -42 'q' hello -1701 -Record.Record(58, true) -199 -800 801 802 -800 801 802 diff --git a/Test/comp/DefaultParameters-Compile.dfy b/Test/comp/DefaultParameters-Compile.dfy index cd6ba1163b1..145b8670647 100644 --- a/Test/comp/DefaultParameters-Compile.dfy +++ b/Test/comp/DefaultParameters-Compile.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method M(x: int := 16) { print x, "\n"; diff --git a/Test/comp/DefaultParameters-Compile.dfy.expect b/Test/comp/DefaultParameters-Compile.dfy.expect index b4b87321eb5..b94739d5be1 100644 --- a/Test/comp/DefaultParameters-Compile.dfy.expect +++ b/Test/comp/DefaultParameters-Compile.dfy.expect @@ -1,3 +1,51 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification +12 +16 +1 2 +1 3 +10 20 +11 13 +Color.Blue(2, 1) Color.Red(3, 4) +5 5 6 +6 6 7 + +Dafny program verifier did not attempt verification +12 +16 +1 2 +1 3 +10 20 +11 13 +Color.Blue(2, 1) Color.Red(3, 4) +5 5 6 +6 6 7 + +Dafny program verifier did not attempt verification +12 +16 +1 2 +1 3 +10 20 +11 13 +Color.Blue(2, 1) Color.Red(3, 4) +5 5 6 +6 6 7 + +Dafny program verifier did not attempt verification +12 +16 +1 2 +1 3 +10 20 +11 13 +Color.Blue(2, 1) Color.Red(3, 4) +5 5 6 +6 6 7 + +Dafny program verifier did not attempt verification 12 16 1 2 diff --git a/Test/comp/DowncastClone.dfy b/Test/comp/DowncastClone.dfy index cb1f095b3f4..b90066da781 100644 --- a/Test/comp/DowncastClone.dfy +++ b/Test/comp/DowncastClone.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Co<+T> = Co(T) | C datatype ReCo<+T> = ReCo(T) diff --git a/Test/comp/DowncastClone.dfy.expect b/Test/comp/DowncastClone.dfy.expect index b0613294f3c..982b36b396c 100644 --- a/Test/comp/DowncastClone.dfy.expect +++ b/Test/comp/DowncastClone.dfy.expect @@ -1,3 +1,43 @@ + +Dafny program verifier finished with 7 verified, 0 errors + +Dafny program verifier did not attempt verification +Co.Co(_module.Y) and Co.Co(_module.Y) +_module.Y and _module.Y +_module.Y _module.Y +false and false +false and false +_module.Y and _module.Y +Done + +Dafny program verifier did not attempt verification +Co.Co(_module.Y) and Co.Co(_module.Y) +_module.Y and _module.Y +_module.Y _module.Y +false and false +false and false +_module.Y and _module.Y +Done + +Dafny program verifier did not attempt verification +Co.Co(_module.Y) and Co.Co(_module.Y) +_module.Y and _module.Y +_module.Y _module.Y +false and false +false and false +_module.Y and _module.Y +Done + +Dafny program verifier did not attempt verification +Co.Co(_module.Y) and Co.Co(_module.Y) +_module.Y and _module.Y +_module.Y _module.Y +false and false +false and false +_module.Y and _module.Y +Done + +Dafny program verifier did not attempt verification Co.Co(_module.Y) and Co.Co(_module.Y) _module.Y and _module.Y _module.Y _module.Y diff --git a/Test/comp/ErasableTypeWrappers.dfy b/Test/comp/ErasableTypeWrappers.dfy index a280099699f..d62d3736622 100644 --- a/Test/comp/ErasableTypeWrappers.dfy +++ b/Test/comp/ErasableTypeWrappers.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype SingletonRecord = SingletonRecord(u: int) datatype GhostOrNot = ghost Ghost(a: int, b: int) | Compiled(x: int) diff --git a/Test/comp/ErasableTypeWrappers.dfy.expect b/Test/comp/ErasableTypeWrappers.dfy.expect index 7dd41a194ac..602e30d2075 100644 --- a/Test/comp/ErasableTypeWrappers.dfy.expect +++ b/Test/comp/ErasableTypeWrappers.dfy.expect @@ -1,3 +1,87 @@ + +Dafny program verifier finished with 10 verified, 0 errors + +Dafny program verifier did not attempt verification +62 63 (2, 5) (2, 5) 3 +62 63 5 5 3 +5 5 3 +1062 1063 1005 1005 1003 +true true true +20 20 *20 21 20 +20 20 *20 21 20 +true false +true false true false +true false +0 (0, 0) 0 Color.Pink +13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false + 3.14 2.7 +18.0 18.0 3.0 false +18.0 4.0 true +HasConst.MakeC(4) (4, 4) +4 (4, 4) +OptimizationChecks_Compile.Ints.Ints(5, 7) OptimizationChecks_Compile.Ints.Ints(5, 7) OptimizationChecks_Compile.Ints.AnotherIntsWrapper(OptimizationChecks_Compile.Ints.Ints(5, 7)) + +Dafny program verifier did not attempt verification +62 63 (2, 5) (2, 5) 3 +62 63 5 5 3 +5 5 3 +1062 1063 1005 1005 1003 +true true true +20 20 *20 21 20 +20 20 *20 21 20 +true false +true false true false +true false +0 (0, 0) 0 Color.Pink +13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false + 3.14 2.7 +18.0 18.0 3.0 false +18.0 4.0 true +HasConst.MakeC(4) (4, 4) +4 (4, 4) +OptimizationChecks_Compile.Ints.Ints(5, 7) OptimizationChecks_Compile.Ints.Ints(5, 7) OptimizationChecks_Compile.Ints.AnotherIntsWrapper(OptimizationChecks_Compile.Ints.Ints(5, 7)) + +Dafny program verifier did not attempt verification +62 63 (2, 5) (2, 5) 3 +62 63 5 5 3 +5 5 3 +1062 1063 1005 1005 1003 +true true true +20 20 *20 21 20 +20 20 *20 21 20 +true false +true false true false +true false +0 (0, 0) 0 Color.Pink +13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false + 3.14 2.7 +18.0 18.0 3.0 false +18.0 4.0 true +HasConst.MakeC(4) (4, 4) +4 (4, 4) +OptimizationChecks_Compile.Ints.Ints(5, 7) OptimizationChecks_Compile.Ints.Ints(5, 7) OptimizationChecks_Compile.Ints.AnotherIntsWrapper(OptimizationChecks_Compile.Ints.Ints(5, 7)) + +Dafny program verifier did not attempt verification +62 63 (2, 5) (2, 5) 3 +62 63 5 5 3 +5 5 3 +1062 1063 1005 1005 1003 +true true true +20 20 *20 21 20 +20 20 *20 21 20 +true false +true false true false +true false +0 (0, 0) 0 Color.Pink +13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false + 3.14 2.7 +18.0 18.0 3.0 false +18.0 4.0 true +HasConst.MakeC(4) (4, 4) +4 (4, 4) +OptimizationChecks_Compile.Ints.Ints(5, 7) OptimizationChecks_Compile.Ints.Ints(5, 7) OptimizationChecks_Compile.Ints.AnotherIntsWrapper(OptimizationChecks_Compile.Ints.Ints(5, 7)) + +Dafny program verifier did not attempt verification 62 63 (2, 5) (2, 5) 3 62 63 5 5 3 5 5 3 diff --git a/Test/comp/EuclideanDivision.dfy b/Test/comp/EuclideanDivision.dfy index 1286dcd125b..7ae1803cad8 100644 --- a/Test/comp/EuclideanDivision.dfy +++ b/Test/comp/EuclideanDivision.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // Some runtimes (like the one for C#) have three implementations // of Euclidean div/mod: one for `int`, one for `long`, and one diff --git a/Test/comp/EuclideanDivision.dfy.expect b/Test/comp/EuclideanDivision.dfy.expect index e2585ff8c70..b538c9494de 100644 --- a/Test/comp/EuclideanDivision.dfy.expect +++ b/Test/comp/EuclideanDivision.dfy.expect @@ -1,3 +1,39 @@ + +Dafny program verifier finished with 11 verified, 0 errors + +Dafny program verifier did not attempt verification +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 + +Dafny program verifier did not attempt verification +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 + +Dafny program verifier did not attempt verification +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 + +Dafny program verifier did not attempt verification +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 + +Dafny program verifier did not attempt verification 2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 diff --git a/Test/comp/ForLoops-Compilation.dfy b/Test/comp/ForLoops-Compilation.dfy index b468d21f69f..97101b82961 100644 --- a/Test/comp/ForLoops-Compilation.dfy +++ b/Test/comp/ForLoops-Compilation.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { TestM(0, 0); diff --git a/Test/comp/ForLoops-Compilation.dfy.expect b/Test/comp/ForLoops-Compilation.dfy.expect index 97724a714bc..d67a5429fed 100644 --- a/Test/comp/ForLoops-Compilation.dfy.expect +++ b/Test/comp/ForLoops-Compilation.dfy.expect @@ -1,3 +1,203 @@ + +Dafny program verifier finished with 23 verified, 0 errors + +Dafny program verifier did not attempt verification +0 0 0 0 +-2 -2 -2 -2 +0 0 0 0 +145 145 145 145 +0 0 +0 0 +57 57 +0 0 +32385 32385 +0 0 +-128 -128 +126 126 +0 0 +0 * 2 == 0 +2 * 0 == 0 +1 * 1 == 1 +6 * 5 == 30 +0 + 3 == 3 +3 + 0 == 3 +4 + 0 == 4 +0 + 0 == 0 +19 + 14 == 33 +4 4 4 +== BC10 == +0 --++--++---- *** +1 --++--++----++-- +2 --++--++----++--++--++--++--++--++--++ *** +3 --++--++----++--++--++--++--++--++--++ *** +4 --++--++----++--++--++--++--++--++--++ *** +5 --++--++----++--++--++--++--++--++--++ *** +6 --++--++----++--++--++--++--++--++--++ *** +7 --++--++----++--++--++--++--++--++--++ *** +8 --++--++----++--++--++--++--++--++--++ *** +9 --++--++----++--++--++--++--++--++--++ *** +== BC11 == +0 ||--++----++-- *** +1 ||--++----++--++-- +2 ||--++----++--++--++--++--++--++--++--++ *** +3 ||--++----++--++--++--++--++--++--++--++ *** +4 ||--++----++--++--++--++--++--++--++--++ *** +5 ||--++----++--++--++--++--++--++--++--++ *** +6 ||--++----++--++--++--++--++--++--++--++ *** +7 ||--++----++--++--++--++--++--++--++--++ *** +8 ||--++----++--++--++--++--++--++--++--++ *** +9 ||--++----++--++--++--++--++--++--++--++ *** +true true true 15 +all good + +Dafny program verifier did not attempt verification +0 0 0 0 +-2 -2 -2 -2 +0 0 0 0 +145 145 145 145 +0 0 +0 0 +57 57 +0 0 +32385 32385 +0 0 +-128 -128 +126 126 +0 0 +0 * 2 == 0 +2 * 0 == 0 +1 * 1 == 1 +6 * 5 == 30 +0 + 3 == 3 +3 + 0 == 3 +4 + 0 == 4 +0 + 0 == 0 +19 + 14 == 33 +4 4 4 +== BC10 == +0 --++--++---- *** +1 --++--++----++-- +2 --++--++----++--++--++--++--++--++--++ *** +3 --++--++----++--++--++--++--++--++--++ *** +4 --++--++----++--++--++--++--++--++--++ *** +5 --++--++----++--++--++--++--++--++--++ *** +6 --++--++----++--++--++--++--++--++--++ *** +7 --++--++----++--++--++--++--++--++--++ *** +8 --++--++----++--++--++--++--++--++--++ *** +9 --++--++----++--++--++--++--++--++--++ *** +== BC11 == +0 ||--++----++-- *** +1 ||--++----++--++-- +2 ||--++----++--++--++--++--++--++--++--++ *** +3 ||--++----++--++--++--++--++--++--++--++ *** +4 ||--++----++--++--++--++--++--++--++--++ *** +5 ||--++----++--++--++--++--++--++--++--++ *** +6 ||--++----++--++--++--++--++--++--++--++ *** +7 ||--++----++--++--++--++--++--++--++--++ *** +8 ||--++----++--++--++--++--++--++--++--++ *** +9 ||--++----++--++--++--++--++--++--++--++ *** +true true true 15 +all good + +Dafny program verifier did not attempt verification +0 0 0 0 +-2 -2 -2 -2 +0 0 0 0 +145 145 145 145 +0 0 +0 0 +57 57 +0 0 +32385 32385 +0 0 +-128 -128 +126 126 +0 0 +0 * 2 == 0 +2 * 0 == 0 +1 * 1 == 1 +6 * 5 == 30 +0 + 3 == 3 +3 + 0 == 3 +4 + 0 == 4 +0 + 0 == 0 +19 + 14 == 33 +4 4 4 +== BC10 == +0 --++--++---- *** +1 --++--++----++-- +2 --++--++----++--++--++--++--++--++--++ *** +3 --++--++----++--++--++--++--++--++--++ *** +4 --++--++----++--++--++--++--++--++--++ *** +5 --++--++----++--++--++--++--++--++--++ *** +6 --++--++----++--++--++--++--++--++--++ *** +7 --++--++----++--++--++--++--++--++--++ *** +8 --++--++----++--++--++--++--++--++--++ *** +9 --++--++----++--++--++--++--++--++--++ *** +== BC11 == +0 ||--++----++-- *** +1 ||--++----++--++-- +2 ||--++----++--++--++--++--++--++--++--++ *** +3 ||--++----++--++--++--++--++--++--++--++ *** +4 ||--++----++--++--++--++--++--++--++--++ *** +5 ||--++----++--++--++--++--++--++--++--++ *** +6 ||--++----++--++--++--++--++--++--++--++ *** +7 ||--++----++--++--++--++--++--++--++--++ *** +8 ||--++----++--++--++--++--++--++--++--++ *** +9 ||--++----++--++--++--++--++--++--++--++ *** +true true true 15 +all good + +Dafny program verifier did not attempt verification +0 0 0 0 +-2 -2 -2 -2 +0 0 0 0 +145 145 145 145 +0 0 +0 0 +57 57 +0 0 +32385 32385 +0 0 +-128 -128 +126 126 +0 0 +0 * 2 == 0 +2 * 0 == 0 +1 * 1 == 1 +6 * 5 == 30 +0 + 3 == 3 +3 + 0 == 3 +4 + 0 == 4 +0 + 0 == 0 +19 + 14 == 33 +4 4 4 +== BC10 == +0 --++--++---- *** +1 --++--++----++-- +2 --++--++----++--++--++--++--++--++--++ *** +3 --++--++----++--++--++--++--++--++--++ *** +4 --++--++----++--++--++--++--++--++--++ *** +5 --++--++----++--++--++--++--++--++--++ *** +6 --++--++----++--++--++--++--++--++--++ *** +7 --++--++----++--++--++--++--++--++--++ *** +8 --++--++----++--++--++--++--++--++--++ *** +9 --++--++----++--++--++--++--++--++--++ *** +== BC11 == +0 ||--++----++-- *** +1 ||--++----++--++-- +2 ||--++----++--++--++--++--++--++--++--++ *** +3 ||--++----++--++--++--++--++--++--++--++ *** +4 ||--++----++--++--++--++--++--++--++--++ *** +5 ||--++----++--++--++--++--++--++--++--++ *** +6 ||--++----++--++--++--++--++--++--++--++ *** +7 ||--++----++--++--++--++--++--++--++--++ *** +8 ||--++----++--++--++--++--++--++--++--++ *** +9 ||--++----++--++--++--++--++--++--++--++ *** +true true true 15 +all good + +Dafny program verifier did not attempt verification 0 0 0 0 -2 -2 -2 -2 0 0 0 0 diff --git a/Test/comp/ForallNewSyntax.dfy b/Test/comp/ForallNewSyntax.dfy index 85e609b37b3..c17bf86830e 100644 --- a/Test/comp/ForallNewSyntax.dfy +++ b/Test/comp/ForallNewSyntax.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --function-syntax:3 --quantifier-syntax:4 --relax-definite-assignment +// RUN: %baredafny verify %args --relax-definite-assignment --function-syntax:3 --quantifier-syntax:4 "%s" > "%t" +// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:cs "%s" >> "%t" +// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:js "%s" >> "%t" +// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:go "%s" >> "%t" +// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:java "%s" >> "%t" +// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var arrayTests := new ArrayTests(); diff --git a/Test/comp/ForallNewSyntax.dfy.expect b/Test/comp/ForallNewSyntax.dfy.expect index 5b33d939607..241ea9ea521 100644 --- a/Test/comp/ForallNewSyntax.dfy.expect +++ b/Test/comp/ForallNewSyntax.dfy.expect @@ -1,3 +1,183 @@ + +Dafny program verifier finished with 25 verified, 0 errors + +Dafny program verifier did not attempt verification +Arrays: Basic cases +[0, 1, 2, 3, 4] +[0, 1, 2, 3, 4] +[0, 1, 4, 3, 8] + +Arrays: Wrong index +[0, 0, 1, 2, 3] +[0, 0, 1, 2, 3] +[1, 2, 3, 4, 5] + +Arrays: Sequence conversion +[2, 1, 4, 5, 6] +[0, 3, 3, 3, 4] + +Arrays: Index collection +[1, 1, 2, 3, 4] +[1, 1, 2, 3, 4] + +Arrays: Functions +[1, 1, 3, 4, 5] +[1, 1, 3, 4, 5] +[1, 2, 3, 3, 5] +[1, 2, 3, 4, 5] + +Multi-dimensional arrays +[[0, 2, 4], [1, 3, 5], [2, 4, 6]] +[[0, 1, 2], [2, 3, 4], [4, 5, 6]] + +Objects: Basic cases +[(0, 1.0), (0, 2.0), (0, 3.0)] +[(2, 1.0), (2, 2.0), (4, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] + +Objects: Bad field accesses +[(2, 1.0), (3, 2.0), (4, 3.0)] +[(2, 1.0), (2, 2.0), (2, 3.0)] +[(2, 1.0), (3, 2.0), (1, 3.0)] + +Objects: Functions +[(2, 1.0), (4, 2.0), (6, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] +[(3, 1.0), (4, 2.0), (5, 3.0)] + +Dafny program verifier did not attempt verification +Arrays: Basic cases +[0, 1, 2, 3, 4] +[0, 1, 2, 3, 4] +[0, 1, 4, 3, 8] + +Arrays: Wrong index +[0, 0, 1, 2, 3] +[0, 0, 1, 2, 3] +[1, 2, 3, 4, 5] + +Arrays: Sequence conversion +[2, 1, 4, 5, 6] +[0, 3, 3, 3, 4] + +Arrays: Index collection +[1, 1, 2, 3, 4] +[1, 1, 2, 3, 4] + +Arrays: Functions +[1, 1, 3, 4, 5] +[1, 1, 3, 4, 5] +[1, 2, 3, 3, 5] +[1, 2, 3, 4, 5] + +Multi-dimensional arrays +[[0, 2, 4], [1, 3, 5], [2, 4, 6]] +[[0, 1, 2], [2, 3, 4], [4, 5, 6]] + +Objects: Basic cases +[(0, 1.0), (0, 2.0), (0, 3.0)] +[(2, 1.0), (2, 2.0), (4, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] + +Objects: Bad field accesses +[(2, 1.0), (3, 2.0), (4, 3.0)] +[(2, 1.0), (2, 2.0), (2, 3.0)] +[(2, 1.0), (3, 2.0), (1, 3.0)] + +Objects: Functions +[(2, 1.0), (4, 2.0), (6, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] +[(3, 1.0), (4, 2.0), (5, 3.0)] + +Dafny program verifier did not attempt verification +Arrays: Basic cases +[0, 1, 2, 3, 4] +[0, 1, 2, 3, 4] +[0, 1, 4, 3, 8] + +Arrays: Wrong index +[0, 0, 1, 2, 3] +[0, 0, 1, 2, 3] +[1, 2, 3, 4, 5] + +Arrays: Sequence conversion +[2, 1, 4, 5, 6] +[0, 3, 3, 3, 4] + +Arrays: Index collection +[1, 1, 2, 3, 4] +[1, 1, 2, 3, 4] + +Arrays: Functions +[1, 1, 3, 4, 5] +[1, 1, 3, 4, 5] +[1, 2, 3, 3, 5] +[1, 2, 3, 4, 5] + +Multi-dimensional arrays +[[0, 2, 4], [1, 3, 5], [2, 4, 6]] +[[0, 1, 2], [2, 3, 4], [4, 5, 6]] + +Objects: Basic cases +[(0, 1.0), (0, 2.0), (0, 3.0)] +[(2, 1.0), (2, 2.0), (4, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] + +Objects: Bad field accesses +[(2, 1.0), (3, 2.0), (4, 3.0)] +[(2, 1.0), (2, 2.0), (2, 3.0)] +[(2, 1.0), (3, 2.0), (1, 3.0)] + +Objects: Functions +[(2, 1.0), (4, 2.0), (6, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] +[(3, 1.0), (4, 2.0), (5, 3.0)] + +Dafny program verifier did not attempt verification +Arrays: Basic cases +[0, 1, 2, 3, 4] +[0, 1, 2, 3, 4] +[0, 1, 4, 3, 8] + +Arrays: Wrong index +[0, 0, 1, 2, 3] +[0, 0, 1, 2, 3] +[1, 2, 3, 4, 5] + +Arrays: Sequence conversion +[2, 1, 4, 5, 6] +[0, 3, 3, 3, 4] + +Arrays: Index collection +[1, 1, 2, 3, 4] +[1, 1, 2, 3, 4] + +Arrays: Functions +[1, 1, 3, 4, 5] +[1, 1, 3, 4, 5] +[1, 2, 3, 3, 5] +[1, 2, 3, 4, 5] + +Multi-dimensional arrays +[[0, 2, 4], [1, 3, 5], [2, 4, 6]] +[[0, 1, 2], [2, 3, 4], [4, 5, 6]] + +Objects: Basic cases +[(0, 1.0), (0, 2.0), (0, 3.0)] +[(2, 1.0), (2, 2.0), (4, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] + +Objects: Bad field accesses +[(2, 1.0), (3, 2.0), (4, 3.0)] +[(2, 1.0), (2, 2.0), (2, 3.0)] +[(2, 1.0), (3, 2.0), (1, 3.0)] + +Objects: Functions +[(2, 1.0), (4, 2.0), (6, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] +[(3, 1.0), (4, 2.0), (5, 3.0)] + +Dafny program verifier did not attempt verification Arrays: Basic cases [0, 1, 2, 3, 4] [0, 1, 2, 3, 4] diff --git a/Test/comp/Ghosts.dfy b/Test/comp/Ghosts.dfy index 8afe8a36d3f..506fe0facb1 100644 --- a/Test/comp/Ghosts.dfy +++ b/Test/comp/Ghosts.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method M1() returns (x: int) { diff --git a/Test/comp/Ghosts.dfy.expect b/Test/comp/Ghosts.dfy.expect index d075ea048c1..430a9c18fc0 100644 --- a/Test/comp/Ghosts.dfy.expect +++ b/Test/comp/Ghosts.dfy.expect @@ -1,3 +1,55 @@ + +Dafny program verifier finished with 8 verified, 0 errors + +Dafny program verifier did not attempt verification +hello, M2 +hello, M2 +hello, M3 +hello, M1 +hello, M1 +hello, M1 +hello, M2 +hello, M3 +hello, N0 +hello, N1 + +Dafny program verifier did not attempt verification +hello, M2 +hello, M2 +hello, M3 +hello, M1 +hello, M1 +hello, M1 +hello, M2 +hello, M3 +hello, N0 +hello, N1 + +Dafny program verifier did not attempt verification +hello, M2 +hello, M2 +hello, M3 +hello, M1 +hello, M1 +hello, M1 +hello, M2 +hello, M3 +hello, N0 +hello, N1 + +Dafny program verifier did not attempt verification +hello, M2 +hello, M2 +hello, M3 +hello, M1 +hello, M1 +hello, M1 +hello, M2 +hello, M3 +hello, N0 +hello, N1 + +Dafny program verifier did not attempt verification hello, M2 hello, M2 hello, M3 diff --git a/Test/comp/Let.dfy b/Test/comp/Let.dfy index 2a639009c78..64dce8b90e6 100644 --- a/Test/comp/Let.dfy +++ b/Test/comp/Let.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cs "%s" > "%t" +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method M() returns (x: int) { x := var y := 50; y; // non-top-level let diff --git a/Test/comp/Let.dfy.expect b/Test/comp/Let.dfy.expect index f05dfc414c1..667abc32458 100644 --- a/Test/comp/Let.dfy.expect +++ b/Test/comp/Let.dfy.expect @@ -1,3 +1,37 @@ + +Dafny program verifier finished with 5 verified, 0 errors +50 58 +Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) +5 7 9 10 12 30 +5 7 +5 7 +12.0 15.0 15.0 15.0 + +Dafny program verifier finished with 5 verified, 0 errors +50 58 +Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) +5 7 9 10 12 30 +5 7 +5 7 +12.0 15.0 15.0 15.0 + +Dafny program verifier finished with 5 verified, 0 errors +50 58 +Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) +5 7 9 10 12 30 +5 7 +5 7 +12.0 15.0 15.0 15.0 + +Dafny program verifier finished with 5 verified, 0 errors +50 58 +Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) +5 7 9 10 12 30 +5 7 +5 7 +12.0 15.0 15.0 15.0 + +Dafny program verifier finished with 5 verified, 0 errors 50 58 Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) 5 7 9 10 12 30 diff --git a/Test/comp/MoreAutoInit.dfy b/Test/comp/MoreAutoInit.dfy index c72083f1be5..46bdf7148f1 100644 --- a/Test/comp/MoreAutoInit.dfy +++ b/Test/comp/MoreAutoInit.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { Methods.TestStart(); diff --git a/Test/comp/MoreAutoInit.dfy.expect b/Test/comp/MoreAutoInit.dfy.expect index a3a230fd0f1..cc1ae3b994a 100644 --- a/Test/comp/MoreAutoInit.dfy.expect +++ b/Test/comp/MoreAutoInit.dfy.expect @@ -1,3 +1,575 @@ + +Dafny program verifier finished with 38 verified, 0 errors + +Dafny program verifier did not attempt verification +Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +{} + ++ {} +[] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +{2} + ++ {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni + ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni +Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni + ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni +Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni +Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni + ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni + ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni +[] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] + ** [] ++ [] +[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [] + ** [] ++ [] +[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [] +[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] + ++ [Consts_Compile.Uni.Uni] ++ [] + ** [] ++ [] ++ [] +15 +0-0 0.0-0.0 false-false 'D'-'D' 0 +0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 +0-0 0-0 0-0 0-0 1 1 +0.0-0.0 68.0 +null-null null-null null-null null-null +0 +0:0:0 +0-0 +{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] +DefaultValuedExpressions_Compile.Color.Red-DefaultValuedExpressions_Compile.Color.Red DefaultValuedExpressions_Compile.PossibleCell.Nothing-DefaultValuedExpressions_Compile.PossibleCell.Nothing DefaultValuedExpressions_Compile.Cell.LittleCell(0)-DefaultValuedExpressions_Compile.Cell.LittleCell(0) +()-() (0, 0.0)-(0, 0.0) +(DefaultValuedExpressions_Compile.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions_Compile.Color.Red, (0, 0.0), ()) +null-null null-null +0-0 0-0 0-0 3 4 5 +0-0 11 0-0 8 + +Dafny program verifier did not attempt verification +Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +{} + ++ {} +[] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +{2} + ++ {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni + ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni +Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni + ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni +Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni +Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni + ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni + ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni +[] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] + ** [] ++ [] +[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [] + ** [] ++ [] +[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [] +[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] + ++ [Consts_Compile.Uni.Uni] ++ [] + ** [] ++ [] ++ [] +15 +0-0 0.0-0.0 false-false 'D'-'D' 0 +0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 +0-0 0-0 0-0 0-0 1 1 +0.0-0.0 68.0 +null-null null-null null-null null-null +0 +0:0:0 +0-0 +{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] +DefaultValuedExpressions_Compile.Color.Red-DefaultValuedExpressions_Compile.Color.Red DefaultValuedExpressions_Compile.PossibleCell.Nothing-DefaultValuedExpressions_Compile.PossibleCell.Nothing DefaultValuedExpressions_Compile.Cell.LittleCell(0)-DefaultValuedExpressions_Compile.Cell.LittleCell(0) +()-() (0, 0.0)-(0, 0.0) +(DefaultValuedExpressions_Compile.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions_Compile.Color.Red, (0, 0.0), ()) +null-null null-null +0-0 0-0 0-0 3 4 5 +0-0 11 0-0 8 + +Dafny program verifier did not attempt verification +Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +{} + ++ {} +[] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +{2} + ++ {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni + ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni +Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni + ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni +Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni +Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni + ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni + ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni +[] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] + ** [] ++ [] +[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [] + ** [] ++ [] +[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [] +[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] + ++ [Consts_Compile.Uni.Uni] ++ [] + ** [] ++ [] ++ [] +15 +0-0 0.0-0.0 false-false 'D'-'D' 0 +0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 +0-0 0-0 0-0 0-0 1 1 +0.0-0.0 68.0 +null-null null-null null-null null-null +0 +0:0:0 +0-0 +{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] +DefaultValuedExpressions_Compile.Color.Red-DefaultValuedExpressions_Compile.Color.Red DefaultValuedExpressions_Compile.PossibleCell.Nothing-DefaultValuedExpressions_Compile.PossibleCell.Nothing DefaultValuedExpressions_Compile.Cell.LittleCell(0)-DefaultValuedExpressions_Compile.Cell.LittleCell(0) +()-() (0, 0.0)-(0, 0.0) +(DefaultValuedExpressions_Compile.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions_Compile.Color.Red, (0, 0.0), ()) +null-null null-null +0-0 0-0 0-0 3 4 5 +0-0 11 0-0 8 + +Dafny program verifier did not attempt verification +Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +{} + ++ {} +[] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +{2} + ++ {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni + ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni +Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni + ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni +Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni +Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni + ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni + ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni +[] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] + ** [] ++ [] +[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [] + ** [] ++ [] +[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [] +[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] + ++ [Consts_Compile.Uni.Uni] ++ [] + ** [] ++ [] ++ [] +15 +0-0 0.0-0.0 false-false 'D'-'D' 0 +0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 +0-0 0-0 0-0 0-0 1 1 +0.0-0.0 68.0 +null-null null-null null-null null-null +0 +0:0:0 +0-0 +{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] +DefaultValuedExpressions_Compile.Color.Red-DefaultValuedExpressions_Compile.Color.Red DefaultValuedExpressions_Compile.PossibleCell.Nothing-DefaultValuedExpressions_Compile.PossibleCell.Nothing DefaultValuedExpressions_Compile.Cell.LittleCell(0)-DefaultValuedExpressions_Compile.Cell.LittleCell(0) +()-() (0, 0.0)-(0, 0.0) +(DefaultValuedExpressions_Compile.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions_Compile.Color.Red, (0, 0.0), ()) +null-null null-null +0-0 0-0 0-0 3 4 5 +0-0 11 0-0 8 + +Dafny program verifier did not attempt verification Methods_Compile.Uni.Uni ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni diff --git a/Test/comp/NativeNumbers.dfy b/Test/comp/NativeNumbers.dfy index e1fadb1c406..c63d02cf643 100644 --- a/Test/comp/NativeNumbers.dfy +++ b/Test/comp/NativeNumbers.dfy @@ -1,6 +1,11 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false // Skip JavaScript because JavaScript doesn't have the same native types +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { CastTests(); diff --git a/Test/comp/NativeNumbers.dfy.expect b/Test/comp/NativeNumbers.dfy.expect index 6a9d263fc73..2be030252cf 100644 --- a/Test/comp/NativeNumbers.dfy.expect +++ b/Test/comp/NativeNumbers.dfy.expect @@ -1,3 +1,259 @@ + +Dafny program verifier finished with 25 verified, 0 errors + +Dafny program verifier did not attempt verification +Casting: + +Small numbers: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 +5 5 5 5 5 5 5 5 5 +6 6 6 6 6 6 6 6 6 +7 7 7 7 7 7 7 7 7 +8 8 8 8 8 8 8 8 8 + +Large unsigned numbers: +255 255 255 255 255 255 255 255 +65535 65535 65535 65535 65535 65535 +4294967295 4294967295 4294967295 4294967295 +18446744073709551615 18446744073709551615 + +Int to large unsigned: +255 65535 4294967295 18446744073709551615 + +Cast from cardinality operator: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 + +Characters: +C 67 67 67 67 67 67 67 67 67 +0 127 32767 65535 65535 255 65535 65535 65535 + +Defaults: + +0 0 0 0 0 0 0 0 0 + +Byte arithmetic: + +20 30 +10 10 18 + +Short arithmetic: + +20 30 +10 10 18 + +Bitvectors: + +0 3 4 1 + +Comparison to zero: + +int8: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int16: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int32: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int64: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint8: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint16: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint32: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint64: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N + + +Dafny program verifier did not attempt verification +Casting: + +Small numbers: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 +5 5 5 5 5 5 5 5 5 +6 6 6 6 6 6 6 6 6 +7 7 7 7 7 7 7 7 7 +8 8 8 8 8 8 8 8 8 + +Large unsigned numbers: +255 255 255 255 255 255 255 255 +65535 65535 65535 65535 65535 65535 +4294967295 4294967295 4294967295 4294967295 +18446744073709551615 18446744073709551615 + +Int to large unsigned: +255 65535 4294967295 18446744073709551615 + +Cast from cardinality operator: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 + +Characters: +C 67 67 67 67 67 67 67 67 67 +0 127 32767 65535 65535 255 65535 65535 65535 + +Defaults: + +0 0 0 0 0 0 0 0 0 + +Byte arithmetic: + +20 30 +10 10 18 + +Short arithmetic: + +20 30 +10 10 18 + +Bitvectors: + +0 3 4 1 + +Comparison to zero: + +int8: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int16: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int32: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int64: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint8: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint16: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint32: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint64: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N + + +Dafny program verifier did not attempt verification +Casting: + +Small numbers: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 +5 5 5 5 5 5 5 5 5 +6 6 6 6 6 6 6 6 6 +7 7 7 7 7 7 7 7 7 +8 8 8 8 8 8 8 8 8 + +Large unsigned numbers: +255 255 255 255 255 255 255 255 +65535 65535 65535 65535 65535 65535 +4294967295 4294967295 4294967295 4294967295 +18446744073709551615 18446744073709551615 + +Int to large unsigned: +255 65535 4294967295 18446744073709551615 + +Cast from cardinality operator: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 + +Characters: +C 67 67 67 67 67 67 67 67 67 +0 127 32767 65535 65535 255 65535 65535 65535 + +Defaults: + +0 0 0 0 0 0 0 0 0 + +Byte arithmetic: + +20 30 +10 10 18 + +Short arithmetic: + +20 30 +10 10 18 + +Bitvectors: + +0 3 4 1 + +Comparison to zero: + +int8: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int16: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int32: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int64: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint8: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint16: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint32: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint64: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N + + +Dafny program verifier did not attempt verification Casting: Small numbers: diff --git a/Test/comp/NestedArrays.dfy b/Test/comp/NestedArrays.dfy index 39d256f4936..0c2b313a32c 100644 --- a/Test/comp/NestedArrays.dfy +++ b/Test/comp/NestedArrays.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %baredafny verify --relax-definite-assignment %args "%s" > "%t" +// RUN: %baredafny run --no-verify --target=cs %args "%s" >> "%t" +// RUN: %baredafny run --no-verify --target=js %args "%s" >> "%t" +// RUN: %baredafny run --no-verify --target=go %args "%s" >> "%t" +// RUN: %baredafny run --no-verify --target=py %args "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" /* Note, compiling to arrays in Java is difficult. In fact, this is currently * broken, see https://github.com/dafny-lang/dafny/issues/3055. Until this gets diff --git a/Test/comp/NestedArrays.dfy.expect b/Test/comp/NestedArrays.dfy.expect index aa47d0d46d4..a24d140b9d4 100644 --- a/Test/comp/NestedArrays.dfy.expect +++ b/Test/comp/NestedArrays.dfy.expect @@ -1,2 +1,18 @@ + +Dafny program verifier finished with 4 verified, 0 errors + +Dafny program verifier did not attempt verification +0 +0 + +Dafny program verifier did not attempt verification +0 +0 + +Dafny program verifier did not attempt verification +0 +0 + +Dafny program verifier did not attempt verification 0 0 diff --git a/Test/comp/Numbers.dfy b/Test/comp/Numbers.dfy index c76bc87fdc0..36bf24dcdb4 100644 --- a/Test/comp/Numbers.dfy +++ b/Test/comp/Numbers.dfy @@ -1,5 +1,10 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { Literals(); diff --git a/Test/comp/Numbers.dfy.expect b/Test/comp/Numbers.dfy.expect index 7eacf4e709d..8d994e1c7c6 100644 --- a/Test/comp/Numbers.dfy.expect +++ b/Test/comp/Numbers.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 59 verified, 0 errors + +Dafny program verifier did not attempt verification 0 0 3 @@ -109,3 +113,455 @@ true false true false false true false true true false true false 20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +g Q 2 +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +(312.0 / 40.0) (1248.0 / 40.0) +(-312.0 / 40.0) (-1248.0 / 40.0) +(-312.0 / 40.0) (1248.0 / 40.0) +(312.0 / 40.0) (-1248.0 / 40.0) +0.0 0.0 0.0 +120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) +123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 (8100.0 / 8100.0) +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +g Q 2 +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +g Q 2 +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +(312.0 / 40.0) (1248.0 / 40.0) +(-312.0 / 40.0) (-1248.0 / 40.0) +(-312.0 / 40.0) (1248.0 / 40.0) +(312.0 / 40.0) (-1248.0 / 40.0) +0.0 0.0 0.0 +120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) +123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 (8100.0 / 8100.0) +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +g Q 2 +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 diff --git a/Test/comp/Numbers.dfy.go.expect b/Test/comp/Numbers.dfy.go.expect deleted file mode 100644 index ce109553619..00000000000 --- a/Test/comp/Numbers.dfy.go.expect +++ /dev/null @@ -1,111 +0,0 @@ -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -g Q 2 -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 diff --git a/Test/comp/Numbers.dfy.py.expect b/Test/comp/Numbers.dfy.py.expect deleted file mode 100644 index ce109553619..00000000000 --- a/Test/comp/Numbers.dfy.py.expect +++ /dev/null @@ -1,111 +0,0 @@ -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -g Q 2 -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 diff --git a/Test/comp/Poly.dfy b/Test/comp/Poly.dfy index 73670903428..ff25fc16b80 100644 --- a/Test/comp/Poly.dfy +++ b/Test/comp/Poly.dfy @@ -1,5 +1,10 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" trait Shape { function Center(): (real, real) reads this diff --git a/Test/comp/Poly.dfy.expect b/Test/comp/Poly.dfy.expect index 7dc24821586..4ffff82d5ab 100644 --- a/Test/comp/Poly.dfy.expect +++ b/Test/comp/Poly.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 15 verified, 0 errors + +Dafny program verifier did not attempt verification Center of square: ((1.0 / 2.0), (1.0 / 2.0)) Center of circle: (1.0, 1.0) Center: ((1.0 / 2.0), (1.0 / 2.0)) @@ -10,3 +14,59 @@ Center: ((1.0 / 2.0), (1.0 / 2.0)) Center: (1.0, 1.0) Center: ((1.0 / 2.0), (1.0 / 2.0)) Center: (1.0, 1.0) + +Dafny program verifier did not attempt verification +Center of square: ((1.0 / 2.0), (1.0 / 2.0)) +Center of circle: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) + +Dafny program verifier did not attempt verification +Center of square: ((1.0 / 2.0), (1.0 / 2.0)) +Center of circle: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) + +Dafny program verifier did not attempt verification +Center of square: (0.5, 0.5) +Center of circle: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) + +Dafny program verifier did not attempt verification +Center of square: (0.5, 0.5) +Center of circle: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) diff --git a/Test/comp/Poly.dfy.go.expect b/Test/comp/Poly.dfy.go.expect deleted file mode 100644 index 88e09c5e6ff..00000000000 --- a/Test/comp/Poly.dfy.go.expect +++ /dev/null @@ -1,12 +0,0 @@ -Center of square: (0.5, 0.5) -Center of circle: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) diff --git a/Test/comp/Poly.dfy.py.expect b/Test/comp/Poly.dfy.py.expect deleted file mode 100644 index 88e09c5e6ff..00000000000 --- a/Test/comp/Poly.dfy.py.expect +++ /dev/null @@ -1,12 +0,0 @@ -Center of square: (0.5, 0.5) -Center of circle: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) diff --git a/Test/comp/Print.dfy b/Test/comp/Print.dfy index 39f8a447396..166bae4c351 100644 --- a/Test/comp/Print.dfy +++ b/Test/comp/Print.dfy @@ -1,5 +1,9 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // Python salts hashes so they are not deterministic. diff --git a/Test/comp/Print.dfy.expect b/Test/comp/Print.dfy.expect index 88ded65afab..c2b186af0ec 100644 --- a/Test/comp/Print.dfy.expect +++ b/Test/comp/Print.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification Strings in collections: [abc, def] [[abc, def]] @@ -6,3 +10,33 @@ Strings in collections: [] [] [aaaaa] + +Dafny program verifier did not attempt verification +Strings in collections: + [abc, def] + [[abc, def]] + {abc, def} + [abc, def] + [] + [] + [aaaaa] + +Dafny program verifier did not attempt verification +Strings in collections: + [abc, def] + [[abc, def]] + {abc, def} + [abc, def] + [] + [] + [aaaaa] + +Dafny program verifier did not attempt verification +Strings in collections: + [abc, def] + [[abc, def]] + {abc, def} + [abc, def] + [] + [] + [aaaaa] diff --git a/Test/comp/Print.dfy.go.expect b/Test/comp/Print.dfy.go.expect deleted file mode 100644 index 7ac90f01b3c..00000000000 --- a/Test/comp/Print.dfy.go.expect +++ /dev/null @@ -1,8 +0,0 @@ -Strings in collections: - [abc, def] - [[abc, def]] - {abc, def} - [abc, def] - [] - [] - [aaaaa] diff --git a/Test/comp/Print.dfy.java.expect b/Test/comp/Print.dfy.java.expect deleted file mode 100644 index 7ac90f01b3c..00000000000 --- a/Test/comp/Print.dfy.java.expect +++ /dev/null @@ -1,8 +0,0 @@ -Strings in collections: - [abc, def] - [[abc, def]] - {abc, def} - [abc, def] - [] - [] - [aaaaa] diff --git a/Test/comp/Print.dfy.js.expect b/Test/comp/Print.dfy.js.expect deleted file mode 100644 index 7ac90f01b3c..00000000000 --- a/Test/comp/Print.dfy.js.expect +++ /dev/null @@ -1,8 +0,0 @@ -Strings in collections: - [abc, def] - [[abc, def]] - {abc, def} - [abc, def] - [] - [] - [aaaaa] diff --git a/Test/comp/StaticMembersOfGenericTypes.dfy b/Test/comp/StaticMembersOfGenericTypes.dfy index 8a8614d21a5..8c402dab951 100644 --- a/Test/comp/StaticMembersOfGenericTypes.dfy +++ b/Test/comp/StaticMembersOfGenericTypes.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { GenericClass(); diff --git a/Test/comp/StaticMembersOfGenericTypes.dfy.expect b/Test/comp/StaticMembersOfGenericTypes.dfy.expect index 196f1295e12..54e32b42ee5 100644 --- a/Test/comp/StaticMembersOfGenericTypes.dfy.expect +++ b/Test/comp/StaticMembersOfGenericTypes.dfy.expect @@ -1,3 +1,79 @@ + +Dafny program verifier finished with 9 verified, 0 errors + +Dafny program verifier did not attempt verification +(0, 1) (true, 2, 3) +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +(2.0, true) (3.0, false) +(2.0, true) (3.0, false) +true false +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +50 3 4 +149 + +Dafny program verifier did not attempt verification +(0, 1) (true, 2, 3) +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +(2.0, true) (3.0, false) +(2.0, true) (3.0, false) +true false +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +50 3 4 +149 + +Dafny program verifier did not attempt verification +(0, 1) (true, 2, 3) +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +(2.0, true) (3.0, false) +(2.0, true) (3.0, false) +true false +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +50 3 4 +149 + +Dafny program verifier did not attempt verification +(0, 1) (true, 2, 3) +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +(2.0, true) (3.0, false) +(2.0, true) (3.0, false) +true false +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +50 3 4 +149 + +Dafny program verifier did not attempt verification (0, 1) (true, 2, 3) 0 25 (20, 21) (20, 21) 23 22 0 25 (20, 21) (20, 21) 23 22 diff --git a/Test/comp/TailRecursion.dfy b/Test/comp/TailRecursion.dfy index b3631d5eccc..68ba6ee4669 100644 --- a/Test/comp/TailRecursion.dfy +++ b/Test/comp/TailRecursion.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { // In the following, 2_000_000 is too large an argument without tail-calls diff --git a/Test/comp/TailRecursion.dfy.expect b/Test/comp/TailRecursion.dfy.expect index 4b9da7e5093..23c852a41fe 100644 --- a/Test/comp/TailRecursion.dfy.expect +++ b/Test/comp/TailRecursion.dfy.expect @@ -1,3 +1,79 @@ + +Dafny program verifier finished with 28 verified, 0 errors + +Dafny program verifier did not attempt verification +2000000 2000000 +2000000 2000000 +1000000 1000000 +10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 +TriangleNumber(10) = 55 +TriangleNumber_Real(10) = 55.0 +TriangleNumber_ORDINAL(10) = 55 +Factorial(5) = 120 +Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] +UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] +Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 +TheBigSubtract(100) = -12 +TailNat(10) = 50 +17 17 17 +2000000 + +Dafny program verifier did not attempt verification +2000000 2000000 +2000000 2000000 +1000000 1000000 +10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 +TriangleNumber(10) = 55 +TriangleNumber_Real(10) = 55.0 +TriangleNumber_ORDINAL(10) = 55 +Factorial(5) = 120 +Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] +UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] +Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 +TheBigSubtract(100) = -12 +TailNat(10) = 50 +17 17 17 +2000000 + +Dafny program verifier did not attempt verification +2000000 2000000 +2000000 2000000 +1000000 1000000 +10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 +TriangleNumber(10) = 55 +TriangleNumber_Real(10) = 55.0 +TriangleNumber_ORDINAL(10) = 55 +Factorial(5) = 120 +Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] +UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] +Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 +TheBigSubtract(100) = -12 +TailNat(10) = 50 +17 17 17 +2000000 + +Dafny program verifier did not attempt verification +2000000 2000000 +2000000 2000000 +1000000 1000000 +10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 +TriangleNumber(10) = 55 +TriangleNumber_Real(10) = 55.0 +TriangleNumber_ORDINAL(10) = 55 +Factorial(5) = 120 +Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] +UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] +Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 +TheBigSubtract(100) = -12 +TailNat(10) = 50 +17 17 17 +2000000 + +Dafny program verifier did not attempt verification 2000000 2000000 2000000 2000000 1000000 1000000 diff --git a/Test/comp/TypeDescriptors.dfy b/Test/comp/TypeDescriptors.dfy index 5bedbb900e4..636cb3db583 100644 --- a/Test/comp/TypeDescriptors.dfy +++ b/Test/comp/TypeDescriptors.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Method(s: string, g: G) { var zero: G; diff --git a/Test/comp/TypeDescriptors.dfy.expect b/Test/comp/TypeDescriptors.dfy.expect index 1b09338c83d..9b1e8487bdc 100644 --- a/Test/comp/TypeDescriptors.dfy.expect +++ b/Test/comp/TypeDescriptors.dfy.expect @@ -1,3 +1,155 @@ + +Dafny program verifier finished with 11 verified, 0 errors + +Dafny program verifier did not attempt verification +int: 8 0 +bool: true false +char: 'r' 'D' +real: 1.618 0.0 +ORDINAL: 0 +bv0: 0 0 +bv21: 121 0 +bv32: 132 0 +bv191: 191 0 +set: {7} {} +multiset: multiset{7, 7} multiset{} +seq: [7] [] +map: map[2 := 7] map[] +pos: 3 1 +Hundred: 6 0 +HundredOdd: 13 19 +JustOdd: 131 5 +(): () () +(int, real): (2, 3.2) (0, 0.0) +(int, pos): (2, 3) (0, 1) +AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) +Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) +Stream: Stream.More +A=int: 15 0 +B=int: 16 0 +datatype.B=: {14} {} +object?: null +Class?>: null +Trait?>: null +array?: null +array2?: null +int --> bool: null +array? ~> bool: null + +Dafny program verifier did not attempt verification +int: 8 0 +bool: true false +char: 'r' 'D' +real: 1.618 0.0 +ORDINAL: 0 +bv0: 0 0 +bv21: 121 0 +bv32: 132 0 +bv191: 191 0 +set: {7} {} +multiset: multiset{7, 7} multiset{} +seq: [7] [] +map: map[2 := 7] map[] +pos: 3 1 +Hundred: 6 0 +HundredOdd: 13 19 +JustOdd: 131 5 +(): () () +(int, real): (2, 3.2) (0, 0.0) +(int, pos): (2, 3) (0, 1) +AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) +Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) +Stream: Stream.More +A=int: 15 0 +B=int: 16 0 +datatype.B=: {14} {} +object?: null +Class?>: null +Trait?>: null +array?: null +array2?: null +int --> bool: null +array? ~> bool: null + +Dafny program verifier did not attempt verification +int: 8 0 +bool: true false +char: 'r' 'D' +real: 1.618 0.0 +ORDINAL: 0 +bv0: 0 0 +bv21: 121 0 +bv32: 132 0 +bv191: 191 0 +set: {7} {} +multiset: multiset{7, 7} multiset{} +seq: [7] [] +map: map[2 := 7] map[] +pos: 3 1 +Hundred: 6 0 +HundredOdd: 13 19 +JustOdd: 131 5 +(): () () +(int, real): (2, 3.2) (0, 0.0) +(int, pos): (2, 3) (0, 1) +AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) +Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) +Stream: Stream.More +A=int: 15 0 +B=int: 16 0 +datatype.B=: {14} {} +object?: null +Class?>: null +Trait?>: null +array?: null +array2?: null +int --> bool: null +array? ~> bool: null + +Dafny program verifier did not attempt verification +int: 8 0 +bool: true false +char: 'r' 'D' +real: 1.618 0.0 +ORDINAL: 0 +bv0: 0 0 +bv21: 121 0 +bv32: 132 0 +bv191: 191 0 +set: {7} {} +multiset: multiset{7, 7} multiset{} +seq: [7] [] +map: map[2 := 7] map[] +pos: 3 1 +Hundred: 6 0 +HundredOdd: 13 19 +JustOdd: 131 5 +(): () () +(int, real): (2, 3.2) (0, 0.0) +(int, pos): (2, 3) (0, 1) +AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) +Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) +Stream: Stream.More +A=int: 15 0 +B=int: 16 0 +datatype.B=: {14} {} +object?: null +Class?>: null +Trait?>: null +array?: null +array2?: null +int --> bool: null +array? ~> bool: null + +Dafny program verifier did not attempt verification int: 8 0 bool: true false char: 'r' 'D' diff --git a/Test/comp/TypeParams.dfy b/Test/comp/TypeParams.dfy index c595881e028..11d1b3bac6a 100644 --- a/Test/comp/TypeParams.dfy +++ b/Test/comp/TypeParams.dfy @@ -1,6 +1,11 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation - +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" + +// RUN: %diff "%s.expect" "%t" datatype Color = Orange | Pink | Teal type Six = x | x <= 6 diff --git a/Test/comp/TypeParams.dfy.expect b/Test/comp/TypeParams.dfy.expect index 1381a030f65..ac8ef1c58e5 100644 --- a/Test/comp/TypeParams.dfy.expect +++ b/Test/comp/TypeParams.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 17 verified, 0 errors + +Dafny program verifier did not attempt verification 0 0 0 false Color.Orange 0.0 {} Color.Orange null null null null null {} multiset{} [] map[] {} map[] @@ -17,3 +21,87 @@ System.Func`2[Dafny.BigRational,System.Boolean] System.Func`1[System.Numerics.BigInteger] System.Func`3[_module._IColor,Dafny.ISet`1[System.UInt16],System.UInt32] 0 0 + +Dafny program verifier did not attempt verification +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +function () { return false; } +function () { return _dafny.ZERO; } +function () { return _dafny.ZERO; } +0 0 + +Dafny program verifier did not attempt verification +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +func(dafny.Real) bool +func() dafny.Int +func(main.Color, dafny.Set) uint32 +0 0 + +Dafny program verifier did not attempt verification +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +Function +Function +Function +0 0 + +Dafny program verifier did not attempt verification +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +Function +Function +Function +0 0 diff --git a/Test/comp/TypeParams.dfy.go.expect b/Test/comp/TypeParams.dfy.go.expect deleted file mode 100644 index e3a8e67d066..00000000000 --- a/Test/comp/TypeParams.dfy.go.expect +++ /dev/null @@ -1,19 +0,0 @@ -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -func(dafny.Real) bool -func() dafny.Int -func(main.Color, dafny.Set) uint32 -0 0 diff --git a/Test/comp/TypeParams.dfy.java.expect b/Test/comp/TypeParams.dfy.java.expect deleted file mode 100644 index 5f843ba06d1..00000000000 --- a/Test/comp/TypeParams.dfy.java.expect +++ /dev/null @@ -1,19 +0,0 @@ -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -Function -Function -Function -0 0 diff --git a/Test/comp/TypeParams.dfy.js.expect b/Test/comp/TypeParams.dfy.js.expect deleted file mode 100644 index 865c33ea48b..00000000000 --- a/Test/comp/TypeParams.dfy.js.expect +++ /dev/null @@ -1,19 +0,0 @@ -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -function () { return false; } -function () { return _dafny.ZERO; } -function () { return _dafny.ZERO; } -0 0 diff --git a/Test/comp/TypeParams.dfy.py.expect b/Test/comp/TypeParams.dfy.py.expect deleted file mode 100644 index 5f843ba06d1..00000000000 --- a/Test/comp/TypeParams.dfy.py.expect +++ /dev/null @@ -1,19 +0,0 @@ -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -Function -Function -Function -0 0 diff --git a/Test/comp/UnoptimizedErasableTypeWrappers.dfy b/Test/comp/UnoptimizedErasableTypeWrappers.dfy index b7911aed9db..58f0682ed41 100644 --- a/Test/comp/UnoptimizedErasableTypeWrappers.dfy +++ b/Test/comp/UnoptimizedErasableTypeWrappers.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --optimize-erasable-datatype-wrapper:false --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype SingletonRecord = SingletonRecord(u: int) datatype WithGhost = WithGhost(u: int, ghost v: int) diff --git a/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect b/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect index 3371376a52b..be1d7190b0f 100644 --- a/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect +++ b/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect @@ -1,3 +1,31 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification +SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) +() (30) (31) (30, 32) +15 20 +30 31 30 32 + +Dafny program verifier did not attempt verification +SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) +() (30) (31) (30, 32) +15 20 +30 31 30 32 + +Dafny program verifier did not attempt verification +SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) +() (30) (31) (30, 32) +15 20 +30 31 30 32 + +Dafny program verifier did not attempt verification +SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) +() (30) (31) (30, 32) +15 20 +30 31 30 32 + +Dafny program verifier did not attempt verification SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) () (30) (31) (30, 32) 15 20 diff --git a/Test/comp/Variance.dfy b/Test/comp/Variance.dfy index 9d3288848d0..070019025b0 100644 --- a/Test/comp/Variance.dfy +++ b/Test/comp/Variance.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Co<+T> = Co(z: T) { const x: int; diff --git a/Test/comp/Variance.dfy.expect b/Test/comp/Variance.dfy.expect index 5bb565b6bb4..cf08d82ac07 100644 --- a/Test/comp/Variance.dfy.expect +++ b/Test/comp/Variance.dfy.expect @@ -1,3 +1,67 @@ + +Dafny program verifier finished with 13 verified, 0 errors + +Dafny program verifier did not attempt verification +Co.Co(_module.Int) and Co.Co(_module.Int) +true0[]0000 +Non.Non(_module.Int) and Non.Non(_module.Int) +true0[]0000 +0 and 0 +_module.Int0[]0000 +CCo.CCo and CCo.CCo +true0[]0000 +CNon.CNon and CNon.CNon +true0[]0000 +CCon.CCon and CCon.CCon +_module.Int0[]0000 +Done + +Dafny program verifier did not attempt verification +Co.Co(_module.Int) and Co.Co(_module.Int) +true0[]0000 +Non.Non(_module.Int) and Non.Non(_module.Int) +true0[]0000 +0 and 0 +_module.Int0[]0000 +CCo.CCo and CCo.CCo +true0[]0000 +CNon.CNon and CNon.CNon +true0[]0000 +CCon.CCon and CCon.CCon +_module.Int0[]0000 +Done + +Dafny program verifier did not attempt verification +Co.Co(_module.Int) and Co.Co(_module.Int) +true0[]0000 +Non.Non(_module.Int) and Non.Non(_module.Int) +true0[]0000 +0 and 0 +_module.Int0[]0000 +CCo.CCo and CCo.CCo +true0[]0000 +CNon.CNon and CNon.CNon +true0[]0000 +CCon.CCon and CCon.CCon +_module.Int0[]0000 +Done + +Dafny program verifier did not attempt verification +Co.Co(_module.Int) and Co.Co(_module.Int) +true0[]0000 +Non.Non(_module.Int) and Non.Non(_module.Int) +true0[]0000 +0 and 0 +_module.Int0[]0000 +CCo.CCo and CCo.CCo +true0[]0000 +CNon.CNon and CNon.CNon +true0[]0000 +CCon.CCon and CCon.CCon +_module.Int0[]0000 +Done + +Dafny program verifier did not attempt verification Co.Co(_module.Int) and Co.Co(_module.Int) true0[]0000 Non.Non(_module.Int) and Non.Non(_module.Int) diff --git a/Test/comp/Various.dfy b/Test/comp/Various.dfy index 502801e4c2a..1f29c511a83 100644 --- a/Test/comp/Various.dfy +++ b/Test/comp/Various.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Match(tp: (nat, nat)) { match tp diff --git a/Test/comp/Various.dfy.expect b/Test/comp/Various.dfy.expect index 66f013c00f7..502e2d04792 100644 --- a/Test/comp/Various.dfy.expect +++ b/Test/comp/Various.dfy.expect @@ -1,3 +1,43 @@ + +Dafny program verifier finished with 4 verified, 0 errors + +Dafny program verifier did not attempt verification +match +1 +Kablammo!! +0 +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] + +Dafny program verifier did not attempt verification +match +1 +Kablammo!! +0 +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] + +Dafny program verifier did not attempt verification +match +1 +Kablammo!! +0 +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] + +Dafny program verifier did not attempt verification +match +1 +Kablammo!! +0 +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] + +Dafny program verifier did not attempt verification match 1 Kablammo!! diff --git a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy index 2cf77360cab..10fe57dec8f 100644 --- a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy +++ b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // An extremely small program intended to be the first target input for // brand new Dafny compilers. Avoids any use of strings (and therefore sequences) diff --git a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect index f32a5804e29..e1dcaef650b 100644 --- a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect +++ b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect @@ -1 +1,5 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification true \ No newline at end of file diff --git a/Test/comp/firstSteps/1_Calls-F.dfy b/Test/comp/firstSteps/1_Calls-F.dfy index 4fe5b83e551..32566f59f3b 100644 --- a/Test/comp/firstSteps/1_Calls-F.dfy +++ b/Test/comp/firstSteps/1_Calls-F.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/1_Calls-F.dfy.expect b/Test/comp/firstSteps/1_Calls-F.dfy.expect index 7ed6ff82de6..58e0a68ec1c 100644 --- a/Test/comp/firstSteps/1_Calls-F.dfy.expect +++ b/Test/comp/firstSteps/1_Calls-F.dfy.expect @@ -1 +1,5 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification 5 diff --git a/Test/comp/firstSteps/2_Modules.dfy b/Test/comp/firstSteps/2_Modules.dfy index d0effcb5a71..750b8d60c21 100644 --- a/Test/comp/firstSteps/2_Modules.dfy +++ b/Test/comp/firstSteps/2_Modules.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" module A { const i: nat := 1 diff --git a/Test/comp/firstSteps/2_Modules.dfy.expect b/Test/comp/firstSteps/2_Modules.dfy.expect index b85905ec0b9..9a4b57459c7 100644 --- a/Test/comp/firstSteps/2_Modules.dfy.expect +++ b/Test/comp/firstSteps/2_Modules.dfy.expect @@ -1 +1,5 @@ + +Dafny program verifier finished with 3 verified, 0 errors + +Dafny program verifier did not attempt verification 1 2 3 diff --git a/Test/comp/firstSteps/3_Calls-As.dfy b/Test/comp/firstSteps/3_Calls-As.dfy index 38889421865..f22bbdbd3f6 100644 --- a/Test/comp/firstSteps/3_Calls-As.dfy +++ b/Test/comp/firstSteps/3_Calls-As.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/3_Calls-As.dfy.expect b/Test/comp/firstSteps/3_Calls-As.dfy.expect index a1c59bb761f..eea6c52592c 100644 --- a/Test/comp/firstSteps/3_Calls-As.dfy.expect +++ b/Test/comp/firstSteps/3_Calls-As.dfy.expect @@ -1 +1,5 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification 0 0 false 0 false 0 diff --git a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy index 6a66781ff0d..89fb669dca0 100644 --- a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy +++ b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect index a8d09f0a6f5..e7498a27e3e 100644 --- a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect +++ b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect @@ -1,2 +1,6 @@ + +Dafny program verifier finished with 3 verified, 0 errors + +Dafny program verifier did not attempt verification 5 3 5 3 5 3 5 3 diff --git a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy index 1175b1eca8f..096523f8956 100644 --- a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy +++ b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect index ef3de96e567..8954da2b386 100644 --- a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect +++ b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect @@ -1,2 +1,6 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification 5 3 5 3 diff --git a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy index 5d970ac4de5..1fbaebdf4e9 100644 --- a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy +++ b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect index 4ff62e33956..b6ffe78bcbb 100644 --- a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect +++ b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 4 verified, 0 errors + +Dafny program verifier did not attempt verification 15 [0, 1, 2, 4] [0, 2, 4] diff --git a/Test/comp/firstSteps/7_Arrays.dfy b/Test/comp/firstSteps/7_Arrays.dfy index d02c942c9bb..07ddf89594b 100644 --- a/Test/comp/firstSteps/7_Arrays.dfy +++ b/Test/comp/firstSteps/7_Arrays.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // This fragment of comp/Arrays.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/7_Arrays.dfy.expect b/Test/comp/firstSteps/7_Arrays.dfy.expect index fa00285c692..75e824c80bb 100644 --- a/Test/comp/firstSteps/7_Arrays.dfy.expect +++ b/Test/comp/firstSteps/7_Arrays.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 7 verified, 0 errors + +Dafny program verifier did not attempt verification 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/comp/firstSteps/7_Dt_Algebraic.dfy b/Test/comp/firstSteps/7_Dt_Algebraic.dfy index 46a2995b37f..991462d8bdf 100644 --- a/Test/comp/firstSteps/7_Dt_Algebraic.dfy +++ b/Test/comp/firstSteps/7_Dt_Algebraic.dfy @@ -1,5 +1,7 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // This fragment of comp/Dt.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect deleted file mode 100644 index ba1b72ea6f7..00000000000 --- a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect +++ /dev/null @@ -1,11 +0,0 @@ -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} -42 'q' hello -1701 diff --git a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect index e3ff7faba6e..ec9b49fe420 100644 --- a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect +++ b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 7 verified, 0 errors + +Dafny program verifier did not attempt verification List.Nil List.Cons(5, List.Nil) (List.Nil, List.Cons(5, List.Nil)) @@ -9,3 +13,16 @@ List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, Li {Berry.Hallon, Berry.Smultron, Berry.Jordgubb} 42 'q' hello 1701 + +Dafny program verifier did not attempt verification +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} +42 'q' hello +1701 diff --git a/Test/dafny0/ArrayElementInitCompile.dfy b/Test/dafny0/ArrayElementInitCompile.dfy index 3714cf0fe8e..7d652486b9e 100644 --- a/Test/dafny0/ArrayElementInitCompile.dfy +++ b/Test/dafny0/ArrayElementInitCompile.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 /print:"%t.print" /rprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny0/ArrayElementInitCompile.dfy.expect b/Test/dafny0/ArrayElementInitCompile.dfy.expect index eaa3e759999..a5241c75f19 100644 --- a/Test/dafny0/ArrayElementInitCompile.dfy.expect +++ b/Test/dafny0/ArrayElementInitCompile.dfy.expect @@ -1,3 +1,79 @@ + +Dafny program verifier finished with 18 verified, 0 errors + +Dafny program verifier did not attempt verification +67 67 67 67 67 67 67 67 +0 1 2 3 +1 2 3 4 +2 3 4 5 +3 4 5 6 +4 5 6 7 +O . O . O . O . O . O . +12 12 12 12 12 12 12 12 12 12 12 12 +D E +y z +4 3 +7 +100 75 98 25 + +looks like this rocks +-2 -1 0 1 2 3 4 + +Dafny program verifier did not attempt verification +67 67 67 67 67 67 67 67 +0 1 2 3 +1 2 3 4 +2 3 4 5 +3 4 5 6 +4 5 6 7 +O . O . O . O . O . O . +12 12 12 12 12 12 12 12 12 12 12 12 +D E +y z +4 3 +7 +100 75 98 25 + +looks like this rocks +-2 -1 0 1 2 3 4 + +Dafny program verifier did not attempt verification +67 67 67 67 67 67 67 67 +0 1 2 3 +1 2 3 4 +2 3 4 5 +3 4 5 6 +4 5 6 7 +O . O . O . O . O . O . +12 12 12 12 12 12 12 12 12 12 12 12 +D E +y z +4 3 +7 +100 75 98 25 + +looks like this rocks +-2 -1 0 1 2 3 4 + +Dafny program verifier did not attempt verification +67 67 67 67 67 67 67 67 +0 1 2 3 +1 2 3 4 +2 3 4 5 +3 4 5 6 +4 5 6 7 +O . O . O . O . O . O . +12 12 12 12 12 12 12 12 12 12 12 12 +D E +y z +4 3 +7 +100 75 98 25 + +looks like this rocks +-2 -1 0 1 2 3 4 + +Dafny program verifier did not attempt verification 67 67 67 67 67 67 67 67 0 1 2 3 1 2 3 4 diff --git a/Test/dafny0/Bitvectors.dfy b/Test/dafny0/Bitvectors.dfy index 7cdeaefb0c1..9dbb798fa4a 100644 --- a/Test/dafny0/Bitvectors.dfy +++ b/Test/dafny0/Bitvectors.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /env:0 +// RUN: %dafny /compile:0 /print:"%t.print" /rprint:- /env:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method M(a: bv1, b: bv32) returns (c: bv32, d: bv1) { diff --git a/Test/dafny0/Bitvectors.dfy.expect b/Test/dafny0/Bitvectors.dfy.expect index ed1c7328e83..09b34e5011a 100644 --- a/Test/dafny0/Bitvectors.dfy.expect +++ b/Test/dafny0/Bitvectors.dfy.expect @@ -1,3 +1,493 @@ +// Bitvectors.dfy + +/* +module _System { + /* CALL GRAPH for module _System: + * SCC at height 1: + * RotateLeft + * SCC at height 1: + * RotateRight + * SCC at height 0: + * array + * SCC at height 0: + * nat + * SCC at height 0: + * object + */ + type string(==,0) = seq + + type {:axiom} nat(==,0) = x: int + | 0 <= x + + trait {:compile false} object { } + /*-- non-null type + type {:axiom} object(==) = c: object? | c != null /*special witness*/ + */ + + class {:compile false} array { + var Length: int // immutable + } + /*-- non-null type + type {:axiom} array(==) = c: array? | c != null /*special witness*/ + */ + + type {:compile false} /*_#Func1*/ -T0 ~> +R { + ghost function requires(x0: T0): bool + reads reads(x0) + + ghost function reads(x0: T0): set + reads reads(x0) + } + + type {:compile false} /*_#PartialFunc1*/ -T0 --> +R = f: T0 ~> R + | forall x0: T0 :: f.reads(x0) == {} + /*special witness*/ + + type {:compile false} /*_#TotalFunc1*/ -T0 -> +R = f: T0 --> R + | forall x0: T0 :: f.requires(x0) + /*special witness*/ + + type {:compile false} /*_#Func0*/ () ~> +R { + ghost function requires(): bool + reads reads() + + ghost function reads(): set + reads reads() + } + + type {:compile false} /*_#PartialFunc0*/ () --> +R = f: () ~> R + | f.reads() == {} + /*special witness*/ + + type {:compile false} /*_#TotalFunc0*/ () -> +R = f: () --> R + | f.requires() + /*special witness*/ + + datatype {:compile false} /*_tuple#2*/ (+T0, +T1) = _#Make2(0: T0, 1: T1) + + type bool { } + + type int { } + + type real { + var Floor: int // immutable + } + + type ORDINAL { + var IsLimit: bool // immutable + var IsSucc: bool // immutable + var Offset: int // immutable + var IsNat: bool // immutable + } + + type _bv { + function RotateLeft(w: nat): selftype + + function RotateRight(w: nat): selftype + } + + type map<+T, +U> { + var Keys: set // immutable + var Values: set // immutable + var Items: set<(T, U)> // immutable + } + + type imap<*T, +U> { + var Keys: iset // immutable + var Values: iset // immutable + var Items: iset<(T, U)> // immutable + } + + datatype {:compile false} /*_tuple#0*/ () = _#Make0 +} +// bitvector types in use: bv1 bv32 bv47 bv16 bv0 bv67 bv64 bv53 bv33 bv31 bv15 bv8 bv6 bv2 bv7 bv12 bv3 +*/ + +/* CALL GRAPH for module _module: + * SCC at height 2: + * Main + * SCC at height 1: + * DoArith32 + * SCC at height 1: + * Rotates + * SCC at height 1: + * Shifts + * SCC at height 1: + * TestCompilationTruncations + * SCC at height 0: + * Arithmetic + * SCC at height 0: + * BitwiseOperations + * SCC at height 0: + * Bv0Stuff + * SCC at height 0: + * Handful + * SCC at height 0: + * M + * SCC at height 0: + * M0 + * SCC at height 0: + * M1 + * SCC at height 0: + * M15 + * SCC at height 0: + * M16 + * SCC at height 0: + * M31 + * SCC at height 0: + * M32 + * SCC at height 0: + * M33 + * SCC at height 0: + * M53 + * SCC at height 0: + * M6 + * SCC at height 0: + * M64 + * SCC at height 0: + * M67 + * SCC at height 0: + * M8 + * SCC at height 0: + * P2 + * SCC at height 0: + * PrintRotates + * SCC at height 0: + * PrintShifts + * SCC at height 0: + * SummoTests + * SCC at height 0: + * Unary + */ +newtype Handful = x: int + | 0 <= x < 80 + +method M(a: bv1, b: bv32) + returns (c: bv32, d: bv1) + decreases a, b +{ + c := b; + d := a; + var x: bv32 := 5000; + c := x; + var y: bv32 := 4000; + y := c; +} + +method Main() +{ + var x: bv32 := 4000; + var y: bv32 := 4000; + var z: bv32; + var w: bv32; + if x == y { + z := x; + } else { + w := y; + } + print x, " ", y, " ", z, " ", w, "\n"; + var t: bv47, u: bv47, v: bv47 := BitwiseOperations(); + print t, " ", u, " ", v, "\n"; + DoArith32(); + var unry: bv16 := Unary(5); + print "bv16: 5 - 2 == ", unry, "\n"; + unry := Unary(1); + print "bv16: 1 - 2 == ", unry, "\n"; + SummoTests(); + var zz0: bv0; + var zz1: bv0 := Bv0Stuff(zz0, 0); + print zz0, " ", zz1, "\n"; + print zz0 < zz1, " ", zz0 <= zz1, " ", zz0 >= zz1, " ", zz0 > zz1, "\n"; + TestCompilationTruncations(); + Shifts(); + Rotates(); +} + +method BitwiseOperations() returns (a: bv47, b: bv47, c: bv47) +{ + b, c := 2053, 1099; + a := b & c; + a := a | a | (b & b & c & (a ^ b ^ c) & a); +} + +method Arithmetic(x: bv32, y: bv32) + returns (r: bv32, s: bv32) + ensures r == x + y && s == y - x + decreases x, y +{ + r := x + y; + s := y - x; +} + +method DoArith32() +{ + var r: bv32, s: bv32 := Arithmetic(65, 120); + print r, " ", s, "\n"; + var x: bv32, y: bv32 := 2147483647, 2147483651; + r, s := Arithmetic(x, y); + assert r == 2 && s == 4; + print r, " ", s, "\n"; + assert x < y && x <= y && y >= x && y > x; + print "Comparisons: ", x < y, " ", x <= y, " ", x >= y, " ", x > y, "\n"; +} + +method Unary(x: bv16) returns (y: bv16) + ensures y == x - 2 + decreases x +{ + y := --!-!!--x; + y := !-y; + var F: bv16 := 65535; + calc == { + y; + == + !---!-!!--x; + == + F - ---!-!!--x; + == + { + assert ---!-!!--x == -!-!!--x; + } + F - -!-!!--x; + == + F + !-!!--x; + == + F + F - -!!--x; + == + F + F + !!--x; + == + { + assert !!--x == --x == x; + } + F + F + x; + == + x - 2; + } +} + +method SummoTests() +{ + var a: bv64 := 5; + a := 2 * 2 * 2 * 2 * 2 * a * 2 * 2 * 2 * 2 * 2; + var b: bv64 := a / 512; + assert b == 10; + assert b / 3 == 3 && b / 4 == 2; + assert b % 3 == 1 && b % 4 == 2; + print b / 3, " ", b % 4, "\n"; +} + +method Bv0Stuff(x: bv0, y: bv0) returns (z: bv0) + ensures z == 0 + decreases x, y +{ + z := x + y; + z := x * z - y; + z := (x ^ z) | (y & y); + z := !z + -z; +} + +method TestCompilationTruncations() +{ + M67(-1, 3); + M64(-1, 3); + M53(-1, 3); + M33(-1, 3); + M32(-1, 3); + M31(-1, 3); + M16(-1, 3); + M15(-1, 3); + M8(-1, 3); + M6(-1, 3); + M1(1, 1); + M0(0, 0); + P2(3, 2); +} + +method M67(a: bv67, b: bv67) + decreases a, b +{ + print "bv67: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; +} + +method M64(a: bv64, b: bv64) + decreases a, b +{ + print "bv64: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; +} + +method M53(a: bv53, b: bv53) + decreases a, b +{ + print "bv53: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; +} + +method M33(a: bv33, b: bv33) + decreases a, b +{ + print "bv33: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; +} + +method M32(a: bv32, b: bv32) + decreases a, b +{ + print "bv32: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; +} + +method M31(a: bv31, b: bv31) + decreases a, b +{ + print "bv31: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; +} + +method M16(a: bv16, b: bv16) + decreases a, b +{ + print "bv16: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; +} + +method M15(a: bv15, b: bv15) + decreases a, b +{ + print "bv15: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; +} + +method M8(a: bv8, b: bv8) + decreases a, b +{ + print "bv8: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; +} + +method M6(a: bv6, b: bv6) + decreases a, b +{ + print "bv6: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; +} + +method M1(a: bv1, b: bv1) + decreases a, b +{ + print "bv1: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; +} + +method M0(a: bv0, b: bv0) + decreases a, b +{ + print "bv0: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; +} + +method P2(a: bv2, b: bv2) + requires b != 0 + decreases a, b +{ + print "bv2:\n"; + print " ", a, " + ", b, " == ", a + b, "\n"; + print " ", a, " - ", b, " == ", a - b, "\n"; + print " ", a, " * ", b, " == ", a * b, "\n"; + print " ", a, " / ", b, " == ", a / b, "\n"; + print " ", a, " % ", b, " == ", a % b, "\n"; +} + +method Shifts() +{ + var x: int, h: Handful, b67: bv67, w: bv32, seven: bv7, bb: bv2, noll: bv0; + x, h := 3, 3; + b67, w, seven := 5, 5, 5; + PrintShifts("bv67", b67, 8 * b67, b67 << x as bv7, b67 << h as bv7); + PrintShifts("bv32", w, 8 * w, w << x as bv6, w << h as bv6); + PrintShifts("bv7", seven, 8 * seven, seven << x as bv3, seven << h as bv3); + bb, x, h := 1, 1, 1; + PrintShifts("bv2", bb, 2 * bb, bb << x as bv2, bb << h as bv2); + x, h := 0, 0; + PrintShifts("bv0", noll, 0 * noll, noll << x as bv0, noll << h as bv0); + b67, w, bb, noll := 73786976294838206465, 1, 1, 0; + var One67: bv67 := 1; + PrintShifts("bv67 again", b67 << One67 as bv7, b67 << w as bv7, b67 << bb as bv7, b67 << noll as bv7); + b67, w, bb, noll := 2, 3221225472 + 2000, 1, 0; + var Two32: bv32 := 2; + PrintShifts("bv32 again", w << b67 as bv6, w << Two32 as bv6, w << bb as bv6, w << noll as bv6); + seven, b67, w, bb, noll := 127, 2, 2, 2, 0; + PrintShifts("bv7 again", seven << b67 as bv3, seven << w as bv3, seven << bb as bv3, seven << noll as bv3); + b67, w, bb := 0, 0, 0; + PrintShifts("bv0 again", noll << b67 as bv0, noll << w as bv0, noll << bb as bv0, noll << noll as bv0); +} + +method PrintShifts(s: string, a: T, b: T, c: T, d: T) + decreases s +{ + print "PrintShifts: ", s, ": ", a, " ", b, " ", c, " ", d, "\n"; +} + +method Rotates() +{ + var x: int, w: bv12, seven: bv7, bb: bv2, noll: bv0; + x := 3; + w, seven, noll := 5, 5, 0; + PrintRotates("bv12", w, w.RotateLeft(x).RotateRight(x)); + PrintRotates("bv7", seven, seven.RotateLeft(x).RotateRight(x)); + bb, x := 1, 1; + PrintRotates("bv2", bb, bb.RotateLeft(x).RotateRight(x)); + x := 0; + PrintRotates("bv0", noll, noll.RotateLeft(x).RotateRight(x)); + x := 5; + w, seven := 3072 + 2000, 127; + PrintRotates("bv12 again", w, w.RotateLeft(x).RotateRight(x)); + PrintRotates("bv7 again", seven, seven.RotateLeft(x).RotateRight(x)); +} + +method PrintRotates(s: string, a: T, b: T) + decreases s +{ + print "PrintRotates: ", s, ": ", a, " ", b, "\n"; +} + +Dafny program verifier finished with 11 verified, 0 errors + +Dafny program verifier did not attempt verification +4000 4000 4000 0 +1 2053 1099 +185 55 +2 4 +Comparisons: true true false false +bv16: 5 - 2 == 3 +bv16: 1 - 2 == 65535 +3 2 +0 0 +false true true false +bv67: 147573952589676412927 + 3 == 2 - 3 == 147573952589676412925 !! 3 == ! 147573952589676412924 == 3 +bv64: 18446744073709551615 + 3 == 2 - 3 == 18446744073709551613 !! 3 == ! 18446744073709551612 == 3 +bv53: 9007199254740991 + 3 == 2 - 3 == 9007199254740989 !! 3 == ! 9007199254740988 == 3 +bv33: 8589934591 + 3 == 2 - 3 == 8589934589 !! 3 == ! 8589934588 == 3 +bv32: 4294967295 + 3 == 2 - 3 == 4294967293 !! 3 == ! 4294967292 == 3 +bv31: 2147483647 + 3 == 2 - 3 == 2147483645 !! 3 == ! 2147483644 == 3 +bv16: 65535 + 3 == 2 - 3 == 65533 !! 3 == ! 65532 == 3 +bv15: 32767 + 3 == 2 - 3 == 32765 !! 3 == ! 32764 == 3 +bv8: 255 + 3 == 2 - 3 == 253 !! 3 == ! 252 == 3 +bv6: 63 + 3 == 2 - 3 == 61 !! 3 == ! 60 == 3 +bv1: 1 + 1 == 0 - 1 == 1 !! 1 == ! 0 == 1 +bv0: 0 + 0 == 0 - 0 == 0 !! 0 == ! 0 == 0 +bv2: + 3 + 2 == 1 + 3 - 2 == 1 + 3 * 2 == 2 + 3 / 2 == 1 + 3 % 2 == 1 +PrintShifts: bv67: 5 40 40 40 +PrintShifts: bv32: 5 40 40 40 +PrintShifts: bv7: 5 40 40 40 +PrintShifts: bv2: 1 2 2 2 +PrintShifts: bv0: 0 0 0 0 +PrintShifts: bv67 again: 2 2 2 73786976294838206465 +PrintShifts: bv32 again: 8000 8000 2147487648 3221227472 +PrintShifts: bv7 again: 124 124 124 127 +PrintShifts: bv0 again: 0 0 0 0 +PrintRotates: bv12: 5 5 +PrintRotates: bv7: 5 5 +PrintRotates: bv2: 1 1 +PrintRotates: bv0: 0 0 +PrintRotates: bv12 again: 976 976 +PrintRotates: bv7 again: 127 127 + +Dafny program verifier did not attempt verification 4000 4000 4000 0 1 2053 1099 185 55 diff --git a/Test/dafny0/Compilation.dfy b/Test/dafny0/Compilation.dfy index 4dfbb2d1952..d43476236c4 100644 --- a/Test/dafny0/Compilation.dfy +++ b/Test/dafny0/Compilation.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /autoTriggers:0 +// RUN: %dafny /compile:3 /autoTriggers:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // The tests in this file are designed to run through the compiler. They contain // program snippets that are tricky to compile or whose compilation once was buggy. diff --git a/Test/dafny0/Compilation.dfy.expect b/Test/dafny0/Compilation.dfy.expect index 1010a177b6f..d0fa1540237 100644 --- a/Test/dafny0/Compilation.dfy.expect +++ b/Test/dafny0/Compilation.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 29 verified, 0 errors 400 320 40 diff --git a/Test/dafny0/Constant.dfy b/Test/dafny0/Constant.dfy index 1fdeedc3335..f021e7d4482 100644 --- a/Test/dafny0/Constant.dfy +++ b/Test/dafny0/Constant.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" const one:int := 1 const two:int := one * 2 diff --git a/Test/dafny0/Constant.dfy.expect b/Test/dafny0/Constant.dfy.expect index 1a7b981715f..6099b08c38c 100644 --- a/Test/dafny0/Constant.dfy.expect +++ b/Test/dafny0/Constant.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 17 verified, 0 errors one := 1 two := 2 three := 3 diff --git a/Test/dafny0/Deprecation.dfy b/Test/dafny0/Deprecation.dfy index 86521043d43..8c9c688d463 100644 --- a/Test/dafny0/Deprecation.dfy +++ b/Test/dafny0/Deprecation.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // This file contains tests for messags about various deprecated features. // As those features go away completely, so can the corresponding tests. diff --git a/Test/dafny0/Deprecation.dfy.expect b/Test/dafny0/Deprecation.dfy.expect index 0dffd975ac7..4ff88d31ade 100644 --- a/Test/dafny0/Deprecation.dfy.expect +++ b/Test/dafny0/Deprecation.dfy.expect @@ -1 +1,8 @@ +Deprecation.dfy(16,13): Warning: constructors no longer need 'this' to be listed in modifies clauses +Deprecation.dfy(23,0): Warning: the old keyword phrase 'inductive predicate' has been renamed to 'least predicate' +Deprecation.dfy(26,0): Warning: the old keyword 'copredicate' has been renamed to the keyword phrase 'greatest predicate' +Deprecation.dfy(29,0): Warning: the old keyword phrase 'inductive lemma' has been renamed to 'least lemma' +Deprecation.dfy(32,0): Warning: the old keyword 'colemma' has been renamed to the keyword phrase 'greatest lemma' + +Dafny program verifier finished with 0 verified, 0 errors yet here we are diff --git a/Test/dafny0/DiscoverBounds.dfy b/Test/dafny0/DiscoverBounds.dfy index 18e56158613..31f9717ee79 100644 --- a/Test/dafny0/DiscoverBounds.dfy +++ b/Test/dafny0/DiscoverBounds.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /print:"%t.print" /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype NT = x | 0 <= x < 100 newtype UT = NT diff --git a/Test/dafny0/DiscoverBounds.dfy.expect b/Test/dafny0/DiscoverBounds.dfy.expect index 909a58326d0..e43954c7be1 100644 --- a/Test/dafny0/DiscoverBounds.dfy.expect +++ b/Test/dafny0/DiscoverBounds.dfy.expect @@ -1,3 +1,10 @@ +DiscoverBounds.dfy(32,7): Warning: /!\ No terms found to trigger on. +DiscoverBounds.dfy(33,7): Warning: /!\ No terms found to trigger on. +DiscoverBounds.dfy(34,7): Warning: /!\ No terms found to trigger on. +DiscoverBounds.dfy(35,7): Warning: /!\ No terms found to trigger on. +DiscoverBounds.dfy(36,7): Warning: /!\ No terms found to trigger on. + +Dafny program verifier finished with 7 verified, 0 errors 0 0 -2 diff --git a/Test/dafny0/DividedConstructors.dfy b/Test/dafny0/DividedConstructors.dfy index 961661207de..ff33c97fb26 100644 --- a/Test/dafny0/DividedConstructors.dfy +++ b/Test/dafny0/DividedConstructors.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /env:0 +// RUN: %dafny /compile:3 /env:0 /dprint:- "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var m := new M0.MyClass.Init(20); diff --git a/Test/dafny0/DividedConstructors.dfy.expect b/Test/dafny0/DividedConstructors.dfy.expect index 2dcc1ba6402..f7412d8d0a1 100644 --- a/Test/dafny0/DividedConstructors.dfy.expect +++ b/Test/dafny0/DividedConstructors.dfy.expect @@ -1,2 +1,188 @@ +DividedConstructors.dfy(62,9): Warning: the ... refinement feature in statements is deprecated +// DividedConstructors.dfy + + +module M0 { + class MyClass { + var a: nat + const b := 17 + var c: real + + constructor Init(x: nat) + { + this.a := x; + c := 3.14; + new; + a := a + b; + assert c == 3.14; + assert this.a == 17 + x; + } + + constructor (z: real) + ensures c <= 2.0 * z + { + a, c := 50, 2.0 * z; + new; + } + + constructor Make() + ensures 10 <= a + { + new; + a := a + b; + } + + constructor Create() + ensures 30 <= a + { + new; + a := a + 2 * b; + } + } +} + +module M1 refines M0 { + class MyClass ... { + const d := 'D' + var e: char + + constructor Init ... + { + e := 'e'; + new; + e := 'x'; + ...; + assert e == 'x'; + } + + constructor ... + { + e := 'y'; + new; + } + + constructor Make ... + { + new; + e := 'z'; + } + + constructor Create ... + { + e := 'w'; + } + } +} + +module TypeOfThis { + class LinkedList { + ghost var Repr: set> + ghost var Rapr: set> + ghost var S: set + ghost var T: set + + constructor Init() + { + Repr := {this}; + } + + constructor Init'() + { + Rapr := {this}; + } + + constructor Create() + { + S := {this}; + } + + constructor Create'() + { + T := {this}; + } + + constructor Two() + { + new; + var ll: LinkedList? := this; + var o: object? := this; + if + case true => + T := {o}; + case true => + S := {o}; + case true => + Repr := {ll}; + case true => + Rapr := {ll}; + case true => + S := {ll}; + case true => + T := {ll}; + } + + method Mutate() + modifies this + { + Repr := {this}; + Rapr := {this}; + S := {this}; + T := {this}; + } + } +} + +module Regression { + class A { + var b: bool + var y: int + + constructor Make0() + ensures b == false + { + b := false; + } + + constructor Make1() + ensures b == true + { + b := true; + } + + constructor Make2() + { + b := false; + new; + assert !b; + } + + constructor Make3() + ensures b == false && y == 65 + { + b := false; + y := 65; + new; + assert !b; + assert y == 65; + } + + constructor Make4(bb: bool, yy: int) + ensures b == bb && y == yy + { + b, y := bb, yy; + } + } +} +method Main() +{ + var m := new M0.MyClass.Init(20); + print m.a, ", ", m.b, ", ", m.c, "\n"; + var r0 := new Regression.A.Make0(); + var r1 := new Regression.A.Make1(); + assert r0.b != r1.b; + print r0.b, ", ", r1.b, "\n"; +} + +Dafny program verifier finished with 17 verified, 0 errors 37, 17, 3.14 false, true diff --git a/Test/dafny0/EqualityTypesCompile.dfy b/Test/dafny0/EqualityTypesCompile.dfy index a36d1818c1d..de7954710e9 100644 --- a/Test/dafny0/EqualityTypesCompile.dfy +++ b/Test/dafny0/EqualityTypesCompile.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype List = Nil | Cons(A, List) | ICons(int, List) datatype TwoLists = Two(List, List) diff --git a/Test/dafny0/EqualityTypesCompile.dfy.expect b/Test/dafny0/EqualityTypesCompile.dfy.expect index 0246dc39633..d2f1950e7f7 100644 --- a/Test/dafny0/EqualityTypesCompile.dfy.expect +++ b/Test/dafny0/EqualityTypesCompile.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 1 verified, 0 errors from M: false from N: false from H: false diff --git a/Test/dafny0/ForallCompilation.dfy b/Test/dafny0/ForallCompilation.dfy index 731ce83015f..40c381521e8 100644 --- a/Test/dafny0/ForallCompilation.dfy +++ b/Test/dafny0/ForallCompilation.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /autoTriggers:0 +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" /autoTriggers:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var c := new MyClass; diff --git a/Test/dafny0/ForallCompilation.dfy.expect b/Test/dafny0/ForallCompilation.dfy.expect index e69de29bb2d..66ffe3665d5 100644 --- a/Test/dafny0/ForallCompilation.dfy.expect +++ b/Test/dafny0/ForallCompilation.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 14 verified, 0 errors diff --git a/Test/dafny0/ForallCompilationNewSyntax.dfy b/Test/dafny0/ForallCompilationNewSyntax.dfy index ac354d6338c..b7132df78ae 100644 --- a/Test/dafny0/ForallCompilationNewSyntax.dfy +++ b/Test/dafny0/ForallCompilationNewSyntax.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --quantifier-syntax:4 --relax-definite-assignment +// RUN: %baredafny run %args --relax-definite-assignment --quantifier-syntax:4 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var c := new MyClass; diff --git a/Test/dafny0/ForallCompilationNewSyntax.dfy.expect b/Test/dafny0/ForallCompilationNewSyntax.dfy.expect index e69de29bb2d..5b7ec4613bb 100644 --- a/Test/dafny0/ForallCompilationNewSyntax.dfy.expect +++ b/Test/dafny0/ForallCompilationNewSyntax.dfy.expect @@ -0,0 +1,6 @@ +ForallCompilationNewSyntax.dfy(26,4): Warning: /!\ No terms found to trigger on. +ForallCompilationNewSyntax.dfy(35,4): Warning: /!\ No terms found to trigger on. +ForallCompilationNewSyntax.dfy(44,4): Warning: /!\ No terms found to trigger on. +ForallCompilationNewSyntax.dfy(64,4): Warning: /!\ No trigger covering all quantified variables found. + +Dafny program verifier finished with 14 verified, 0 errors diff --git a/Test/dafny0/GhostGuards.dfy b/Test/dafny0/GhostGuards.dfy index 49877792a47..b17c98662ce 100644 --- a/Test/dafny0/GhostGuards.dfy +++ b/Test/dafny0/GhostGuards.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /printTooltips /rprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Dt = Green | Dog diff --git a/Test/dafny0/GhostGuards.dfy.expect b/Test/dafny0/GhostGuards.dfy.expect index e69de29bb2d..8bb8a71d69d 100644 --- a/Test/dafny0/GhostGuards.dfy.expect +++ b/Test/dafny0/GhostGuards.dfy.expect @@ -0,0 +1,7 @@ +GhostGuards.dfy(12,9): Info: ghost if +GhostGuards.dfy(18,2): Info: ghost if +GhostGuards.dfy(28,2): Info: ghost while +GhostGuards.dfy(41,2): Info: ghost while +GhostGuards.dfy(54,2): Info: ghost match + +Dafny program verifier finished with 1 verified, 0 errors diff --git a/Test/dafny0/GhostITECompilation.dfy b/Test/dafny0/GhostITECompilation.dfy index bd7cfa28a95..d761ddbc6ea 100644 --- a/Test/dafny0/GhostITECompilation.dfy +++ b/Test/dafny0/GhostITECompilation.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --function-syntax:4 --relax-definite-assignment +// RUN: %dafny /compile:0 /functionSyntax:4 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" function F(x: nat, ghost y: nat): nat { diff --git a/Test/dafny0/GhostITECompilation.dfy.expect b/Test/dafny0/GhostITECompilation.dfy.expect index b4988e5cf11..1ec406bf52c 100644 --- a/Test/dafny0/GhostITECompilation.dfy.expect +++ b/Test/dafny0/GhostITECompilation.dfy.expect @@ -1,3 +1,31 @@ + +Dafny program verifier finished with 6 verified, 0 errors + +Dafny program verifier did not attempt verification +65 +65 +65 +65 + +Dafny program verifier did not attempt verification +65 +65 +65 +65 + +Dafny program verifier did not attempt verification +65 +65 +65 +65 + +Dafny program verifier did not attempt verification +65 +65 +65 +65 + +Dafny program verifier did not attempt verification 65 65 65 diff --git a/Test/dafny0/InitialValues.dfy b/Test/dafny0/InitialValues.dfy index 0848d244d71..7dcb05cc9c9 100644 --- a/Test/dafny0/InitialValues.dfy +++ b/Test/dafny0/InitialValues.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny0/InitialValues.dfy.expect b/Test/dafny0/InitialValues.dfy.expect index 18903dcc3dd..ada1b783c16 100644 --- a/Test/dafny0/InitialValues.dfy.expect +++ b/Test/dafny0/InitialValues.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 2 verified, 0 errors r= 0.0 s= 3.4 a= 0.0 b= 3.4 z= 0.0 a==z = true diff --git a/Test/dafny0/MatchBraces.dfy b/Test/dafny0/MatchBraces.dfy index d700bda8c85..8324cbd9425 100644 --- a/Test/dafny0/MatchBraces.dfy +++ b/Test/dafny0/MatchBraces.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /env:0 +// RUN: %dafny /compile:0 /print:"%t.print" /env:0 /dprint:- "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Color = Red | Green | Blue diff --git a/Test/dafny0/MatchBraces.dfy.expect b/Test/dafny0/MatchBraces.dfy.expect index 4f89bff47e5..b6129bafcc0 100644 --- a/Test/dafny0/MatchBraces.dfy.expect +++ b/Test/dafny0/MatchBraces.dfy.expect @@ -1,2 +1,135 @@ +// MatchBraces.dfy + +datatype Color = Red | Green | Blue + +method Main() +{ + M(Green, Red); + M(Blue, Blue); +} + +method M(c: Color, d: Color) +{ + var x := match c case Red => 5 case Green => 7 case Blue => 11; + var y := match c case Red => 0.3 case Green => (match d case Red => 0.18 case Green => 0.21 case Blue => 0.98) case Blue => 98.0; + var z := match c case Red => Green case Green => match d { case Red => Red case Green => Blue case Blue => Red } case Blue => Green; + var w := match c { case Red => 2 case Green => 3 case Blue => 4 } + 10; + var t := match c case Red => 0 case Green => match d { case Red => 2 case Green => 2 case Blue => 1 } + (match d case Red => 10 case Green => 8 case Blue => 5) case Blue => match d { case Red => 20 case Green => 20 case Blue => 10 } + match d case Red => 110 case Green => 108 case Blue => 105; + print x, " ", y, " ", z, " ", w, " ", t, "\n"; +} + +ghost function Heat(c: Color): int +{ + match c + case Red => + 10 + case Green => + 12 + case Blue => + 14 +} + +ghost function IceCream(c: Color): int +{ + match c { + case Red => + 0 + case Green => + 4 + case Blue => + 1 + } +} + +ghost function Flowers(c: Color, d: Color): int +{ + match c { + case Red => + match d { + case Red => + 0 + case Green => + 1 + case Blue => + 2 + } + case Green => + match d { case Red => 3 case Green => 3 case Blue => 2 } + 20 + case Blue => + match d { case Red => 9 case Green => 8 case Blue => 7 } + match d case Red => 23 case Green => 29 case Blue => 31 + } +} + +method P(c: Color, d: Color) +{ + var x: int; + match c { + case {:split false} Red => + x := 20; + case {:split false} Green => + case {:split false} Blue => + } + match c + case {:split false} Red => + match d { + case {:split false} Red => + case {:split false} Green => + case {:split false} Blue => + } + case {:split false} Green => + var y := 25; + var z := y + 3; + case {:split false} Blue => + { + var y := 25; + var z := y + 3; + } + match d + case {:split false} Red => + case {:split false} Green => + x := x + 1; + case {:split false} Blue => +} + +lemma HeatIsEven(c: Color) + ensures Heat(c) % 2 == 0 +{ + match c + case {:split false} Red => + assert 10 % 2 == 0; + case {:split false} Green => + assert 12 % 2 == 0; + case {:split false} Blue => +} + +method DegenerateExamples(c: Color) + requires Heat(c) == 10 +{ + match c + case {:split false} Red => + case {:split false} Green => + match c { + } + case {:split false} Blue => + match c +} + +method MoreDegenerateExamples(c: Color) + requires Heat(c) == 10 +{ + if c == Green { + var x: int := match c; + var y: int := match c { }; + var z := match c case Blue => 4; + } +} + +Dafny program verifier finished with 5 verified, 0 errors + +Dafny program verifier did not attempt verification +7 0.18 Color.Red 13 12 +11 98.0 Color.Green 14 115 + +Dafny program verifier did not attempt verification 7 0.18 Color.Red 13 12 11 98.0 Color.Green 14 115 diff --git a/Test/dafny0/MoForallCompilation.dfy b/Test/dafny0/MoForallCompilation.dfy index af080853463..835712edbce 100644 --- a/Test/dafny0/MoForallCompilation.dfy +++ b/Test/dafny0/MoForallCompilation.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { TestAggregateArrayUpdate(); diff --git a/Test/dafny0/MoForallCompilation.dfy.expect b/Test/dafny0/MoForallCompilation.dfy.expect index 7bb606c1528..c431c74c6aa 100644 --- a/Test/dafny0/MoForallCompilation.dfy.expect +++ b/Test/dafny0/MoForallCompilation.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 18 verified, 0 errors -4.0 -3.0 -2.0 -1.0 0.0 1.0 2.0 3.0 7.0 6.0 5.0 4.0 3.0 2.0 1.0 0.0 true true true true true true false false diff --git a/Test/dafny0/NameclashesCompile.dfy b/Test/dafny0/NameclashesCompile.dfy index 46cae4b2338..4d06065c675 100644 --- a/Test/dafny0/NameclashesCompile.dfy +++ b/Test/dafny0/NameclashesCompile.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var r0, r1; diff --git a/Test/dafny0/NameclashesCompile.dfy.expect b/Test/dafny0/NameclashesCompile.dfy.expect index f001bdaeb1e..1434bb632f6 100644 --- a/Test/dafny0/NameclashesCompile.dfy.expect +++ b/Test/dafny0/NameclashesCompile.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 2 verified, 0 errors 15.0 15.1 94 99 0.8 14.3 14.4 18.9 18.92 diff --git a/Test/dafny0/NonZeroInitializationCompile.dfy b/Test/dafny0/NonZeroInitializationCompile.dfy index 2fedae6d60d..48b61a39369 100644 --- a/Test/dafny0/NonZeroInitializationCompile.dfy +++ b/Test/dafny0/NonZeroInitializationCompile.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" type MyInt = x | 6 <= x witness 6 newtype MyNewInt = x | 6 <= x witness 12 diff --git a/Test/dafny0/NonZeroInitializationCompile.dfy.expect b/Test/dafny0/NonZeroInitializationCompile.dfy.expect index 2e20350afad..69539e473c2 100644 --- a/Test/dafny0/NonZeroInitializationCompile.dfy.expect +++ b/Test/dafny0/NonZeroInitializationCompile.dfy.expect @@ -1,3 +1,76 @@ + +Dafny program verifier finished with 15 verified, 0 errors + +Dafny program verifier did not attempt verification +These are the arbitrary values chosen by the compiler: 6, 12 +short, short': 0, -35 +nes: {57} +f0, f1: (0, false), (29, true) +dt: Dt.Atom(-35) +cl { u: 12, x: 0, r: 3.14, nes: {57} } +cl' { u: 12, x: 0, ': 3.14, nes: {20, 57} } + +x: real :: 0.0 versus 0.0 +ch: char :: 'D' versus 'D' +s: set :: {} versus {} +d: Xt :: AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) versus AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) +y: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) +z: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) + +x: real :: 0.0 versus 0.0 +ch: char :: 'D' versus 'D' +s: set :: {} versus {} +d: Xt :: AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) versus AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) +y: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) +z: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) + +Dafny program verifier did not attempt verification +These are the arbitrary values chosen by the compiler: 6, 12 +short, short': 0, -35 +nes: {57} +f0, f1: (0, false), (29, true) +dt: Dt.Atom(-35) +cl { u: 12, x: 0, r: 3.14, nes: {57} } +cl' { u: 12, x: 0, ': 3.14, nes: {20, 57} } + +x: real :: 0.0 versus 0.0 +ch: char :: 'D' versus 'D' +s: set :: {} versus {} +d: Xt :: AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) versus AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) +y: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) +z: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) + +x: real :: 0.0 versus 0.0 +ch: char :: 'D' versus 'D' +s: set :: {} versus {} +d: Xt :: AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) versus AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) +y: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) +z: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) + +Dafny program verifier did not attempt verification +These are the arbitrary values chosen by the compiler: 6, 12 +short, short': 0, -35 +nes: {57} +f0, f1: (0, false), (29, true) +dt: Dt.Atom(-35) +cl { u: 12, x: 0, r: 3.14, nes: {57} } +cl' { u: 12, x: 0, ': 3.14, nes: {20, 57} } + +x: real :: 0.0 versus 0.0 +ch: char :: 'D' versus 'D' +s: set :: {} versus {} +d: Xt :: AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) versus AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) +y: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) +z: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) + +x: real :: 0.0 versus 0.0 +ch: char :: 'D' versus 'D' +s: set :: {} versus {} +d: Xt :: AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) versus AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) +y: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) +z: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) + +Dafny program verifier did not attempt verification These are the arbitrary values chosen by the compiler: 6, 12 short, short': 0, -35 nes: {57} diff --git a/Test/dafny0/NullComparisonWarnings.dfy b/Test/dafny0/NullComparisonWarnings.dfy index 35fd5ffb3f4..eb9183040bc 100644 --- a/Test/dafny0/NullComparisonWarnings.dfy +++ b/Test/dafny0/NullComparisonWarnings.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { print "despite the warnings, the program still compiles\n"; diff --git a/Test/dafny0/NullComparisonWarnings.dfy.expect b/Test/dafny0/NullComparisonWarnings.dfy.expect index f2b4545fac7..d8cf4a9960c 100644 --- a/Test/dafny0/NullComparisonWarnings.dfy.expect +++ b/Test/dafny0/NullComparisonWarnings.dfy.expect @@ -1 +1,14 @@ +NullComparisonWarnings.dfy(27,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(28,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'y' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(29,14): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for field 'next' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(30,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(31,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'y' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(32,14): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for field 'next' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(34,12): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(37,12): Warning: the type of the other operand is a set of non-null elements, so the inclusion test of 'null' will always return 'false' +NullComparisonWarnings.dfy(38,12): Warning: the type of the other operand is a set of non-null elements, so the non-inclusion test of 'null' will always return 'true' +NullComparisonWarnings.dfy(40,41): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'u' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(45,12): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' + +Dafny program verifier finished with 4 verified, 0 errors despite the warnings, the program still compiles diff --git a/Test/dafny0/PrintUTF8.dfy b/Test/dafny0/PrintUTF8.dfy index eff7baa32a9..5d4e376b19d 100644 --- a/Test/dafny0/PrintUTF8.dfy +++ b/Test/dafny0/PrintUTF8.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { print "Mikaël fixed UTF8\n"; diff --git a/Test/dafny0/PrintUTF8.dfy.expect b/Test/dafny0/PrintUTF8.dfy.expect index 818549280d3..52a23e906cc 100644 --- a/Test/dafny0/PrintUTF8.dfy.expect +++ b/Test/dafny0/PrintUTF8.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 0 verified, 0 errors Mikaël fixed UTF8 diff --git a/Test/dafny0/RangeCompilation.dfy b/Test/dafny0/RangeCompilation.dfy index 3f3e6aed0f8..53a8d6e33e5 100644 --- a/Test/dafny0/RangeCompilation.dfy +++ b/Test/dafny0/RangeCompilation.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype Byte = x | 0 <= x < 256 predicate GoodByte(b: Byte) { diff --git a/Test/dafny0/RangeCompilation.dfy.expect b/Test/dafny0/RangeCompilation.dfy.expect index 9e0f9e5f028..82fbbb9b698 100644 --- a/Test/dafny0/RangeCompilation.dfy.expect +++ b/Test/dafny0/RangeCompilation.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 4 verified, 0 errors b=2 i=4 diff --git a/Test/dafny0/SeqFromArray.dfy b/Test/dafny0/SeqFromArray.dfy index 39f72303d18..6bab732c906 100644 --- a/Test/dafny0/SeqFromArray.dfy +++ b/Test/dafny0/SeqFromArray.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // /autoTriggers:1 added to suppress instabilities diff --git a/Test/dafny0/SeqFromArray.dfy.expect b/Test/dafny0/SeqFromArray.dfy.expect index e69de29bb2d..1981561ca00 100644 --- a/Test/dafny0/SeqFromArray.dfy.expect +++ b/Test/dafny0/SeqFromArray.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 10 verified, 0 errors diff --git a/Test/dafny0/SharedDestructorsCompile.dfy b/Test/dafny0/SharedDestructorsCompile.dfy index 64d8b245b58..8171cf72404 100644 --- a/Test/dafny0/SharedDestructorsCompile.dfy +++ b/Test/dafny0/SharedDestructorsCompile.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Dt = | A(x: int, y: real) diff --git a/Test/dafny0/SharedDestructorsCompile.dfy.expect b/Test/dafny0/SharedDestructorsCompile.dfy.expect index 060d152d77b..e037db03c40 100644 --- a/Test/dafny0/SharedDestructorsCompile.dfy.expect +++ b/Test/dafny0/SharedDestructorsCompile.dfy.expect @@ -1,3 +1,20 @@ + +Dafny program verifier finished with 3 verified, 0 errors + +Dafny program verifier did not attempt verification +Dt.A(10, 12.0): x=10 y=12.0 +Dt.B(_module.MyClass, 6): h=_module.MyClass x=6 +Dt.C(3.14): y=3.14 +Dt.C(3.14) +Dt.A(71, 0.1) +Klef.C3(44, 100, 66, 200) +Datte.AA(10, 2) Datte.AA(10, 5) +Datte.BB(false, 12) Datte.BB(false, 6) +Datte.CC(3.2) Datte.CC(3.4) +Datte.DD(100, {7}, 5, 9.0) Datte.DD(30, {7}, 5, 9.0) +Datte.DD(100, {7}, 5, 9.0) Datte.DD(30, {7}, 5, 2.0) + +Dafny program verifier did not attempt verification Dt.A(10, 12.0): x=10 y=12.0 Dt.B(_module.MyClass, 6): h=_module.MyClass x=6 Dt.C(3.14): y=3.14 diff --git a/Test/dafny0/SiblingImports.dfy b/Test/dafny0/SiblingImports.dfy index 756e4b253f3..3fb01d9d1b8 100644 --- a/Test/dafny0/SiblingImports.dfy +++ b/Test/dafny0/SiblingImports.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { ClientA.Test(); diff --git a/Test/dafny0/SiblingImports.dfy.expect b/Test/dafny0/SiblingImports.dfy.expect index fb6171563ac..ba4df82a925 100644 --- a/Test/dafny0/SiblingImports.dfy.expect +++ b/Test/dafny0/SiblingImports.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 1 verified, 0 errors ClientA.Inner.Five: 5 ClientB.Inner.Five: 5 ClientC.Inner.Five: 5 diff --git a/Test/dafny0/TypeConversionsCompile.dfy b/Test/dafny0/TypeConversionsCompile.dfy index b7d02dd31f3..066af1b305b 100644 --- a/Test/dafny0/TypeConversionsCompile.dfy +++ b/Test/dafny0/TypeConversionsCompile.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /env:0 +// RUN: %dafny /compile:3 /print:"%t.print" /env:0 /rprint:- "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype Handful = x | 0 <= x < 0x8000 // this type turns native newtype Abundance = y | -20 <= y < 0x200_0000_0000 // still fits inside a "long" diff --git a/Test/dafny0/TypeConversionsCompile.dfy.expect b/Test/dafny0/TypeConversionsCompile.dfy.expect index 78990cf4a30..d6b02b34eae 100644 --- a/Test/dafny0/TypeConversionsCompile.dfy.expect +++ b/Test/dafny0/TypeConversionsCompile.dfy.expect @@ -1,3 +1,228 @@ +// TypeConversionsCompile.dfy + +/* +module _System { + /* CALL GRAPH for module _System: + * SCC at height 1: + * RotateLeft + * SCC at height 1: + * RotateRight + * SCC at height 0: + * array + * SCC at height 0: + * nat + * SCC at height 0: + * object + */ + type string(==,0) = seq + + type {:axiom} nat(==,0) = x: int + | 0 <= x + + trait {:compile false} object { } + /*-- non-null type + type {:axiom} object(==) = c: object? | c != null /*special witness*/ + */ + + class {:compile false} array { + var Length: int // immutable + } + /*-- non-null type + type {:axiom} array(==) = c: array? | c != null /*special witness*/ + */ + + type {:compile false} /*_#Func1*/ -T0 ~> +R { + ghost function requires(x0: T0): bool + reads reads(x0) + + ghost function reads(x0: T0): set + reads reads(x0) + } + + type {:compile false} /*_#PartialFunc1*/ -T0 --> +R = f: T0 ~> R + | forall x0: T0 :: f.reads(x0) == {} + /*special witness*/ + + type {:compile false} /*_#TotalFunc1*/ -T0 -> +R = f: T0 --> R + | forall x0: T0 :: f.requires(x0) + /*special witness*/ + + type {:compile false} /*_#Func0*/ () ~> +R { + ghost function requires(): bool + reads reads() + + ghost function reads(): set + reads reads() + } + + type {:compile false} /*_#PartialFunc0*/ () --> +R = f: () ~> R + | f.reads() == {} + /*special witness*/ + + type {:compile false} /*_#TotalFunc0*/ () -> +R = f: () --> R + | f.requires() + /*special witness*/ + + datatype {:compile false} /*_tuple#2*/ (+T0, +T1) = _#Make2(0: T0, 1: T1) + + type bool { } + + type int { } + + type real { + var Floor: int // immutable + } + + type ORDINAL { + var IsLimit: bool // immutable + var IsSucc: bool // immutable + var Offset: int // immutable + var IsNat: bool // immutable + } + + type _bv { + function RotateLeft(w: nat): selftype + + function RotateRight(w: nat): selftype + } + + type map<+T, +U> { + var Keys: set // immutable + var Values: set // immutable + var Items: set<(T, U)> // immutable + } + + type imap<*T, +U> { + var Keys: iset // immutable + var Values: iset // immutable + var Items: iset<(T, U)> // immutable + } + + datatype {:compile false} /*_tuple#0*/ () = _#Make0 +} +// bitvector types in use: bv67 bv32 bv7 bv0 bv300 +*/ + +/* CALL GRAPH for module _module: + * SCC at height 2: + * Main + * SCC at height 1: + * Difficult + * SCC at height 1: + * Print + * SCC at height 0: + * Abundance + * SCC at height 0: + * EvenInt + * SCC at height 0: + * Handful + * SCC at height 0: + * OrdinalTests + * SCC at height 0: + * PrintExpected + * SCC at height 0: + * SmallReal + * SCC at height 0: + * int64 + */ +newtype Handful = x: int + | 0 <= x < 32768 + +newtype Abundance = y: int + | -20 <= y < 2199023255552 + +newtype int64 = y: int + | -9223372036854775808 <= y < 9223372036854775808 + +newtype EvenInt = x: int + | x % 2 == 0 + +newtype SmallReal = r: real + | -4.0 <= r < 300.0 + +method Print(x: int, n: nat, r: real, handful: Handful, even: EvenInt, small: SmallReal, b67: bv67, w: bv32, seven: bv7, noll: bv0) + decreases x, n, r, handful, even, small, b67, w, seven, noll +{ + print x, " ", n, " ", r, " ", handful, " ", even, " ", small, " ", b67, " ", w, " ", seven, " ", noll, "\n"; +} + +method PrintExpected(got: T, expected: T) +{ + print "got ", got, ", expected ", expected, "\n"; +} + +method Main() +{ + var x: int, n: nat, r: real := 3, 4, 5.0; + var handful: Handful, even: EvenInt, small: SmallReal := 5, 6, -1.0; + var b67: bv67, w: bv32, seven: bv7, noll: bv0 := 147573952589676412927, 4294967295, 127, 0; + Print(x, n, r, handful, even, small, b67, w, seven, noll); + PrintExpected(x as bv7, 3); + PrintExpected(0 as bv0, 0); + PrintExpected(r as int, 5); + PrintExpected((2.0 * r) as EvenInt, 10); + PrintExpected(x as real, 3.0); + PrintExpected(even as real, 6.0); + PrintExpected((small + 3.0) as Handful, 2); + PrintExpected(noll as Handful, 0); + PrintExpected(noll as SmallReal, 0.0); + PrintExpected(w as real, 4294967295.0); + PrintExpected(seven as real, 127.0); + PrintExpected(noll as bv32, 0); + PrintExpected(noll as bv67, 0); + PrintExpected(seven as bv32, 127); + PrintExpected(seven as bv67, 127); + b67 := 50; + PrintExpected(r as bv67, 5); + PrintExpected(r as bv32, 5); + PrintExpected(w as bv67, 4294967295); + PrintExpected(r as bv7, 5); + PrintExpected(0.0 as bv0, 0); + PrintExpected(handful as bv67, 5); + PrintExpected(handful as bv32, 5); + PrintExpected(handful as bv7, 5); + PrintExpected(handful as int, 5); + PrintExpected(noll as bv32 as bv0, 0); + PrintExpected(noll as bv67 as bv0, 0); + PrintExpected(seven as bv32 as bv7, 127); + PrintExpected(seven as bv67 as bv7, 127); + PrintExpected(handful as real, 5.0); + Difficult(); + var a0: Abundance, a1: Abundance, a2: Abundance, lng: int64; + var s: set := {4.0, 6.3, r, 1000.2}; + var a: array := new char[68]; + handful := 120 as Handful; + a0, a1 := -1 as Abundance, 4 as Abundance; + a2 := 8589934592 as Abundance; + w, lng := 6345789 as bv32, -9223372036854775808 as int64; + print handful, " ", a0, " ", a1, " ", a2, " ", w, " ", lng, "\n"; + x, handful, a0, w := |s|, |s| as Handful, |s| as Abundance, |s| as bv32; + print x, " ", handful, " ", a0, " ", w, "\n"; + x, handful, a0, w := a.Length, a.Length as Handful, a.Length as Abundance, a.Length as bv32; + print x, " ", handful, " ", a0, " ", w, "\n"; + OrdinalTests(); +} + +method Difficult() +{ + if 14 as real as int as bv67 == 14 { + PrintExpected(14 as real as int as bv67 as EvenInt as SmallReal as Handful as bv7 as bv32 as int, 14); + } +} + +method OrdinalTests() +{ + var ord: ORDINAL := 143; + var iord: int := ord as int; + var oord: ORDINAL := iord as ORDINAL; + print "Something about ORDINAL: ", ord, " ", iord, " ", oord, " ", ord + 4, " ", ord - 100, "\n"; + print "ORDINAL and bitvectors: ", 20 as bv32 as ORDINAL, " ", 20 as bv300 as ORDINAL, "\n"; + print ord.IsLimit, " ", ord.Offset, " ", ord.IsNat, "\n"; + ord := 0; + print ord.IsLimit, " ", ord.Offset, " ", ord.IsNat, "\n"; +} + +Dafny program verifier finished with 8 verified, 0 errors 3 4 5.0 5 6 -1.0 147573952589676412927 4294967295 127 0 got 3, expected 3 got 0, expected 0 diff --git a/Test/dafny0/TypeMembers.dfy b/Test/dafny0/TypeMembers.dfy index f2bea4039c9..2ab57767ad5 100644 --- a/Test/dafny0/TypeMembers.dfy +++ b/Test/dafny0/TypeMembers.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { BasicTests(); diff --git a/Test/dafny0/TypeMembers.dfy.expect b/Test/dafny0/TypeMembers.dfy.expect index 923cb07e841..1d406ca85dc 100644 --- a/Test/dafny0/TypeMembers.dfy.expect +++ b/Test/dafny0/TypeMembers.dfy.expect @@ -1,3 +1,32 @@ +TypeMembers.dfy(117,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect + +Dafny program verifier finished with 29 verified, 0 errors +TypeMembers.dfy(117,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect + +Dafny program verifier did not attempt verification +DaTy.Yes 10 26 +8 11 10 11 10 +35 10 14 +22 22 +9 Dt.Business(false, 5) +76 77 +19 +0 0 +19 82 83 +93 Co.Cobalt +27 27 +18 +11 18 18 22 +15 30 29 +95 11 +162 165 +11 18 18 3 +15 30 29 +95 11 +162 165 +TypeMembers.dfy(117,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect + +Dafny program verifier did not attempt verification DaTy.Yes 10 26 8 11 10 11 10 35 10 14 diff --git a/Test/dafny0/TypeMembers.dfy.verifier.expect b/Test/dafny0/TypeMembers.dfy.verifier.expect deleted file mode 100644 index 7b6aaff62cf..00000000000 --- a/Test/dafny0/TypeMembers.dfy.verifier.expect +++ /dev/null @@ -1 +0,0 @@ -TypeMembers.dfy(117,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect diff --git a/Test/dafny0/Wellfounded.dfy b/Test/dafny0/Wellfounded.dfy index 7ec2be06b38..2ed488974c6 100644 --- a/Test/dafny0/Wellfounded.dfy +++ b/Test/dafny0/Wellfounded.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var d := Int(10); diff --git a/Test/dafny0/Wellfounded.dfy.expect b/Test/dafny0/Wellfounded.dfy.expect index 52742a67098..73d7a1e7ca2 100644 --- a/Test/dafny0/Wellfounded.dfy.expect +++ b/Test/dafny0/Wellfounded.dfy.expect @@ -1,3 +1,7 @@ +Wellfounded.dfy(49,14): Warning: /!\ No terms found to trigger on. +Wellfounded.dfy(77,5): Warning: /!\ No terms found to trigger on. + +Dafny program verifier finished with 3 verified, 0 errors M(d, d) = 10 M(a1, d) = 10 M(a2, d) = 10 diff --git a/Test/dafny2/MinWindowMax.dfy b/Test/dafny2/MinWindowMax.dfy index 32342cdd8b9..71ccb539d7d 100644 --- a/Test/dafny2/MinWindowMax.dfy +++ b/Test/dafny2/MinWindowMax.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Minimum window-max problem. // Rustan Leino diff --git a/Test/dafny2/MinWindowMax.dfy.expect b/Test/dafny2/MinWindowMax.dfy.expect index 1bb5609994e..f6f6e52d9bc 100644 --- a/Test/dafny2/MinWindowMax.dfy.expect +++ b/Test/dafny2/MinWindowMax.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 12 verified, 0 errors Window size 1: min window-max is -5 Window size 2: min window-max is 2 Window size 3: min window-max is 3 diff --git a/Test/dafny2/SmallestMissingNumber-functional.dfy b/Test/dafny2/SmallestMissingNumber-functional.dfy index a1544efab5f..047475c2680 100644 --- a/Test/dafny2/SmallestMissingNumber-functional.dfy +++ b/Test/dafny2/SmallestMissingNumber-functional.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Smallest missing number problem, functional version without duplicates. // A purely functional solution to the programming problem in Richard Bird's diff --git a/Test/dafny2/SmallestMissingNumber-functional.dfy.expect b/Test/dafny2/SmallestMissingNumber-functional.dfy.expect index 5d75da8ddd3..208b183ee3e 100644 --- a/Test/dafny2/SmallestMissingNumber-functional.dfy.expect +++ b/Test/dafny2/SmallestMissingNumber-functional.dfy.expect @@ -1 +1,4 @@ +SmallestMissingNumber-functional.dfy(213,11): Warning: /!\ No terms found to trigger on. + +Dafny program verifier finished with 21 verified, 0 errors 0 1 4 5 diff --git a/Test/dafny2/SmallestMissingNumber-imperative.dfy b/Test/dafny2/SmallestMissingNumber-imperative.dfy index 314bf4e464c..b8539481a54 100644 --- a/Test/dafny2/SmallestMissingNumber-imperative.dfy +++ b/Test/dafny2/SmallestMissingNumber-imperative.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Smallest missing number. // An imperative solution to the programming problem in Richard Bird's diff --git a/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect b/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect index cfb25913041..bc4a868fdff 100644 --- a/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect +++ b/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 8 verified, 0 errors 0 1 5 diff --git a/Test/dafny2/StoreAndRetrieve.dfy b/Test/dafny2/StoreAndRetrieve.dfy index 048aefc49e2..85bf9a992be 100644 --- a/Test/dafny2/StoreAndRetrieve.dfy +++ b/Test/dafny2/StoreAndRetrieve.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // This file shows an example program that uses both refinement and :autocontracts // specify a class that stores a set of things that can be retrieved using a query. diff --git a/Test/dafny2/StoreAndRetrieve.dfy.expect b/Test/dafny2/StoreAndRetrieve.dfy.expect index 030f5bfab39..1d7d71d5202 100644 --- a/Test/dafny2/StoreAndRetrieve.dfy.expect +++ b/Test/dafny2/StoreAndRetrieve.dfy.expect @@ -1 +1,39 @@ +StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier finished with 19 verified, 0 errors +StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +20.3 +StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +20.3 +StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +20.3 +StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification 20.3 diff --git a/Test/dafny2/StoreAndRetrieve.dfy.verifier.expect b/Test/dafny2/StoreAndRetrieve.dfy.verifier.expect deleted file mode 100644 index 7727ed0c4f5..00000000000 --- a/Test/dafny2/StoreAndRetrieve.dfy.verifier.expect +++ /dev/null @@ -1,5 +0,0 @@ -StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny2/Z-BirthdayBook.dfy b/Test/dafny2/Z-BirthdayBook.dfy index 10fc159b1a3..d9580e7cca2 100644 --- a/Test/dafny2/Z-BirthdayBook.dfy +++ b/Test/dafny2/Z-BirthdayBook.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // The birthday book example from the Z Reference Manual // Rustan Leino, 22 Feb 2018 diff --git a/Test/dafny2/Z-BirthdayBook.dfy.expect b/Test/dafny2/Z-BirthdayBook.dfy.expect index c6f2230e21a..31762ddd5b4 100644 --- a/Test/dafny2/Z-BirthdayBook.dfy.expect +++ b/Test/dafny2/Z-BirthdayBook.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 21 verified, 0 errors Send cards to: {['M', 'i', 'k', 'e'], ['S', 'u', 's', 'a', 'n']} diff --git a/Test/dafny2/pq-intrinsic-extrinsic.dfy b/Test/dafny2/pq-intrinsic-extrinsic.dfy index 588c2f9e2b1..c797c92445d 100644 --- a/Test/dafny2/pq-intrinsic-extrinsic.dfy +++ b/Test/dafny2/pq-intrinsic-extrinsic.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // This file contains several versions of a priority queue implemented by Braun trees: // diff --git a/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect b/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect index 5c90c26e0eb..bc2608f44b7 100644 --- a/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect +++ b/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect @@ -1,3 +1,14 @@ + +Dafny program verifier finished with 32 verified, 0 errors + +Dafny program verifier did not attempt verification +PriorityQueue_extrinsic: 3 +PriorityQueue_layered: 3 +PriorityQueue_intrinsic: 3 +PriorityQueue_on_intrinsic: 3 +PriorityQueue_direct: 3 + +Dafny program verifier did not attempt verification PriorityQueue_extrinsic: 3 PriorityQueue_layered: 3 PriorityQueue_intrinsic: 3 diff --git a/Test/dafny3/Abstemious.dfy b/Test/dafny3/Abstemious.dfy index 62d891f950f..263c1f1fb00 100644 --- a/Test/dafny3/Abstemious.dfy +++ b/Test/dafny3/Abstemious.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Examples from https://www.haskell.org/tutorial/functions.html diff --git a/Test/dafny3/Abstemious.dfy.expect b/Test/dafny3/Abstemious.dfy.expect index 3511a04a840..96f109b0b58 100644 --- a/Test/dafny3/Abstemious.dfy.expect +++ b/Test/dafny3/Abstemious.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 19 verified, 0 errors ones(): 1 1 1 1 1 1 1 ... from(3): 3 4 5 6 7 8 9 ... Map(plus1, ones()): 2 2 2 2 2 2 2 ... diff --git a/Test/dafny3/CachedContainer.dfy b/Test/dafny3/CachedContainer.dfy index e36e76d6851..77c3e45897f 100644 --- a/Test/dafny3/CachedContainer.dfy +++ b/Test/dafny3/CachedContainer.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // This file contains an example chain of module refinements, starting from a // simple interface M0 to an implementation M3. Module Client.Test() is diff --git a/Test/dafny3/CachedContainer.dfy.expect b/Test/dafny3/CachedContainer.dfy.expect index ed2a587c3f1..08f4fb30b0a 100644 --- a/Test/dafny3/CachedContainer.dfy.expect +++ b/Test/dafny3/CachedContainer.dfy.expect @@ -1 +1,79 @@ +CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier finished with 29 verified, 0 errors +CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +false true false true +CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +false true false true +CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +false true false true +CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification false true false true diff --git a/Test/dafny3/CachedContainer.dfy.verifier.expect b/Test/dafny3/CachedContainer.dfy.verifier.expect deleted file mode 100644 index dce146911e0..00000000000 --- a/Test/dafny3/CachedContainer.dfy.verifier.expect +++ /dev/null @@ -1,13 +0,0 @@ -CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny3/Iter.dfy b/Test/dafny3/Iter.dfy index 46befa24dd8..81431f2c64b 100644 --- a/Test/dafny3/Iter.dfy +++ b/Test/dafny3/Iter.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" class List { ghost var Contents: seq diff --git a/Test/dafny3/Iter.dfy.expect b/Test/dafny3/Iter.dfy.expect index 0ed11070541..69d7373d5d5 100644 --- a/Test/dafny3/Iter.dfy.expect +++ b/Test/dafny3/Iter.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 12 verified, 0 errors 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 98 0 2 4 6 8 10 12 14 diff --git a/Test/dafny4/Ackermann.dfy b/Test/dafny4/Ackermann.dfy index a4ef351c96b..27968070e9b 100644 --- a/Test/dafny4/Ackermann.dfy +++ b/Test/dafny4/Ackermann.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Rustan Leino, 8 Sep 2015. // This file proves that the Ackermann function is monotonic in each argument diff --git a/Test/dafny4/Ackermann.dfy.expect b/Test/dafny4/Ackermann.dfy.expect index 43d9513ef4b..c995dac9c9a 100644 --- a/Test/dafny4/Ackermann.dfy.expect +++ b/Test/dafny4/Ackermann.dfy.expect @@ -1 +1,5 @@ +Ackermann.dfy(163,4): Warning: /!\ No terms found to trigger on. +Ackermann.dfy(181,4): Warning: /!\ No terms found to trigger on. + +Dafny program verifier finished with 14 verified, 0 errors Ack(3, 4) = 125 diff --git a/Test/dafny4/Bug107.dfy b/Test/dafny4/Bug107.dfy index b7ab69c9a8d..e417fc90a53 100644 --- a/Test/dafny4/Bug107.dfy +++ b/Test/dafny4/Bug107.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny4/Bug107.dfy.expect b/Test/dafny4/Bug107.dfy.expect index 62f9457511f..ad79213a18c 100644 --- a/Test/dafny4/Bug107.dfy.expect +++ b/Test/dafny4/Bug107.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 1 verified, 0 errors 6 \ No newline at end of file diff --git a/Test/dafny4/Bug108.dfy b/Test/dafny4/Bug108.dfy index 8228fe44f87..c64ec32a340 100644 --- a/Test/dafny4/Bug108.dfy +++ b/Test/dafny4/Bug108.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var A := map[0 := 1]; diff --git a/Test/dafny4/Bug108.dfy.expect b/Test/dafny4/Bug108.dfy.expect index 0777a01b26d..c1c63f6c5c1 100644 --- a/Test/dafny4/Bug108.dfy.expect +++ b/Test/dafny4/Bug108.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 1 verified, 0 errors map[0 := 1] map[0 := 1] diff --git a/Test/dafny4/Bug113.dfy b/Test/dafny4/Bug113.dfy index 0bec0c1ce31..23c759540cd 100644 --- a/Test/dafny4/Bug113.dfy +++ b/Test/dafny4/Bug113.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype D = D(q:int, r:int, s:int, t:int) @@ -6,4 +7,4 @@ method Main() { print D(10, 20, 30, 40); print "\n"; -} +} \ No newline at end of file diff --git a/Test/dafny4/Bug113.dfy.expect b/Test/dafny4/Bug113.dfy.expect index e2eeff32e9a..3ea1396ad00 100644 --- a/Test/dafny4/Bug113.dfy.expect +++ b/Test/dafny4/Bug113.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 0 verified, 0 errors D.D(10, 20, 30, 40) diff --git a/Test/dafny4/Bug116.dfy b/Test/dafny4/Bug116.dfy index 501b74c74d5..e29da0f609d 100644 --- a/Test/dafny4/Bug116.dfy +++ b/Test/dafny4/Bug116.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // test various compiler-target keywords diff --git a/Test/dafny4/Bug116.dfy.expect b/Test/dafny4/Bug116.dfy.expect index 93102ef3120..21aa85d71f0 100644 --- a/Test/dafny4/Bug116.dfy.expect +++ b/Test/dafny4/Bug116.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 1 verified, 0 errors struct.S byte.arguments enum_Compile.goto.switch enum_Compile.goto.switch 20 + 20 == 40 diff --git a/Test/dafny4/Bug140.dfy b/Test/dafny4/Bug140.dfy index 4c0cd511d20..47779c99efa 100644 --- a/Test/dafny4/Bug140.dfy +++ b/Test/dafny4/Bug140.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" class Node { ghost var List: seq diff --git a/Test/dafny4/Bug140.dfy.expect b/Test/dafny4/Bug140.dfy.expect index a40ee1166fb..bad48de4d6b 100644 --- a/Test/dafny4/Bug140.dfy.expect +++ b/Test/dafny4/Bug140.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 8 verified, 0 errors 1 2 diff --git a/Test/dafny4/Bug148.dfy b/Test/dafny4/Bug148.dfy index f31cef2cdc8..da1ebf99447 100644 --- a/Test/dafny4/Bug148.dfy +++ b/Test/dafny4/Bug148.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny4/Bug148.dfy.expect b/Test/dafny4/Bug148.dfy.expect index 9ed6ca4768b..79d02517ceb 100644 --- a/Test/dafny4/Bug148.dfy.expect +++ b/Test/dafny4/Bug148.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 0 verified, 0 errors true false true diff --git a/Test/dafny4/Bug49.dfy b/Test/dafny4/Bug49.dfy index 868f4a3964b..68722830422 100644 --- a/Test/dafny4/Bug49.dfy +++ b/Test/dafny4/Bug49.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny4/Bug49.dfy.expect b/Test/dafny4/Bug49.dfy.expect index 800c2bd15ba..4e02a08bbee 100644 --- a/Test/dafny4/Bug49.dfy.expect +++ b/Test/dafny4/Bug49.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 13 verified, 0 errors 6 6 5 diff --git a/Test/dafny4/Bug60.dfy b/Test/dafny4/Bug60.dfy index f4585753f5f..0aa9209269d 100644 --- a/Test/dafny4/Bug60.dfy +++ b/Test/dafny4/Bug60.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // This method can be used to test compilation. method Main() diff --git a/Test/dafny4/Bug60.dfy.expect b/Test/dafny4/Bug60.dfy.expect index fd56dc3fcbc..49740e95682 100644 --- a/Test/dafny4/Bug60.dfy.expect +++ b/Test/dafny4/Bug60.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 0 verified, 0 errors ({2, 3}, map[2 := 20, 3 := 30]) (2, 2) {2, 3} diff --git a/Test/dafny4/Bug67.dfy b/Test/dafny4/Bug67.dfy index f01d4239a75..731018a293b 100644 --- a/Test/dafny4/Bug67.dfy +++ b/Test/dafny4/Bug67.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype d = D(m:seq) @@ -7,4 +8,4 @@ method Main() assert D([10, 20]) == D([10, 20]); // succeeds print [10, 20] == [10, 20], "\n"; // prints True print D([10, 20]) == D([10, 20]); // prints False -} +} \ No newline at end of file diff --git a/Test/dafny4/Bug67.dfy.expect b/Test/dafny4/Bug67.dfy.expect index 0be5d980da4..c716cab3144 100644 --- a/Test/dafny4/Bug67.dfy.expect +++ b/Test/dafny4/Bug67.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 1 verified, 0 errors true true \ No newline at end of file diff --git a/Test/dafny4/Bug68.dfy b/Test/dafny4/Bug68.dfy index bf50015f90c..a211206acba 100644 --- a/Test/dafny4/Bug68.dfy +++ b/Test/dafny4/Bug68.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method M1() { @@ -61,4 +62,4 @@ method Main() M3(); M3'(); M4(); -} +} \ No newline at end of file diff --git a/Test/dafny4/Bug68.dfy.expect b/Test/dafny4/Bug68.dfy.expect index 814ccfee2df..f4ef534187d 100644 --- a/Test/dafny4/Bug68.dfy.expect +++ b/Test/dafny4/Bug68.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 8 verified, 0 errors true true true diff --git a/Test/dafny4/Bug89.dfy b/Test/dafny4/Bug89.dfy index 300594dcdea..a7abf93a4d2 100644 --- a/Test/dafny4/Bug89.dfy +++ b/Test/dafny4/Bug89.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method F() returns(x:int) ensures x == 6; @@ -11,4 +12,4 @@ method Main() { var x := F(); print x; -} +} \ No newline at end of file diff --git a/Test/dafny4/Bug89.dfy.expect b/Test/dafny4/Bug89.dfy.expect index 62f9457511f..ed41c274352 100644 --- a/Test/dafny4/Bug89.dfy.expect +++ b/Test/dafny4/Bug89.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors 6 \ No newline at end of file diff --git a/Test/dafny4/Bug94.dfy b/Test/dafny4/Bug94.dfy index c41458539fc..be931445654 100644 --- a/Test/dafny4/Bug94.dfy +++ b/Test/dafny4/Bug94.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" ghost function foo() : (int, int) { diff --git a/Test/dafny4/Bug94.dfy.expect b/Test/dafny4/Bug94.dfy.expect index 3f10ffe7a4c..ab0cfbb2d9e 100644 --- a/Test/dafny4/Bug94.dfy.expect +++ b/Test/dafny4/Bug94.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 1 verified, 0 errors 15 \ No newline at end of file diff --git a/Test/dafny4/ClassRefinement.dfy b/Test/dafny4/ClassRefinement.dfy index 3d5fd1006eb..320749ec197 100644 --- a/Test/dafny4/ClassRefinement.dfy +++ b/Test/dafny4/ClassRefinement.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" abstract module M0 { class Counter { diff --git a/Test/dafny4/ClassRefinement.dfy.expect b/Test/dafny4/ClassRefinement.dfy.expect index cba3471eb57..f456b6777f3 100644 --- a/Test/dafny4/ClassRefinement.dfy.expect +++ b/Test/dafny4/ClassRefinement.dfy.expect @@ -1 +1,44 @@ +ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated +ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier finished with 11 verified, 0 errors +ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated +ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +2 1 +ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated +ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +2 1 +ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated +ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +2 1 +ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated +ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification 2 1 diff --git a/Test/dafny4/ClassRefinement.dfy.verifier.expect b/Test/dafny4/ClassRefinement.dfy.verifier.expect deleted file mode 100644 index 85d37d75847..00000000000 --- a/Test/dafny4/ClassRefinement.dfy.verifier.expect +++ /dev/null @@ -1,6 +0,0 @@ -ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated -ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny4/ExpandedGuardedness.dfy b/Test/dafny4/ExpandedGuardedness.dfy index af620ec40e8..5cd7828f932 100644 --- a/Test/dafny4/ExpandedGuardedness.dfy +++ b/Test/dafny4/ExpandedGuardedness.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny4/ExpandedGuardedness.dfy.expect b/Test/dafny4/ExpandedGuardedness.dfy.expect index e0f3b041a66..d05670701e0 100644 --- a/Test/dafny4/ExpandedGuardedness.dfy.expect +++ b/Test/dafny4/ExpandedGuardedness.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 12 verified, 0 errors Up 19 20 21 22 23 Up2 19 20 21 22 23 UpIf 19 20 22 24 26 diff --git a/Test/dafny4/FlyingRobots.dfy b/Test/dafny4/FlyingRobots.dfy index f14a2a467cd..41223cca1aa 100644 --- a/Test/dafny4/FlyingRobots.dfy +++ b/Test/dafny4/FlyingRobots.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // The flying robots examples from an F* tutorial. It demonstrates how to specify // mutable data structures in the heap. diff --git a/Test/dafny4/FlyingRobots.dfy.expect b/Test/dafny4/FlyingRobots.dfy.expect index e69de29bb2d..5ed0d97333e 100644 --- a/Test/dafny4/FlyingRobots.dfy.expect +++ b/Test/dafny4/FlyingRobots.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 31 verified, 0 errors diff --git a/Test/dafny4/Leq.dfy b/Test/dafny4/Leq.dfy index fdbc1078ca3..fac12757ba0 100644 --- a/Test/dafny4/Leq.dfy +++ b/Test/dafny4/Leq.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Rustan Leino, 22 Sep 2015. // This file considers two definitions of Leq on naturals+infinity. One diff --git a/Test/dafny4/Leq.dfy.expect b/Test/dafny4/Leq.dfy.expect index e69de29bb2d..15301952c57 100644 --- a/Test/dafny4/Leq.dfy.expect +++ b/Test/dafny4/Leq.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 16 verified, 0 errors diff --git a/Test/dafny4/McCarthy91.dfy b/Test/dafny4/McCarthy91.dfy index 428f11eb269..466d30328cc 100644 --- a/Test/dafny4/McCarthy91.dfy +++ b/Test/dafny4/McCarthy91.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // The usual recursive method for computing McCarthy's 91 function method Main() { diff --git a/Test/dafny4/McCarthy91.dfy.expect b/Test/dafny4/McCarthy91.dfy.expect index 1511cff2c81..b63f7a0b03b 100644 --- a/Test/dafny4/McCarthy91.dfy.expect +++ b/Test/dafny4/McCarthy91.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 5 verified, 0 errors M(3) = 91 M(99) = 91 M(100) = 91 diff --git a/Test/dafny4/NatList.dfy b/Test/dafny4/NatList.dfy index 5a1b0358eaf..567fd461259 100644 --- a/Test/dafny4/NatList.dfy +++ b/Test/dafny4/NatList.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // This file tests some programs where "nat" is a type parameter to // a datatype. diff --git a/Test/dafny4/NatList.dfy.expect b/Test/dafny4/NatList.dfy.expect index 5382a29cb9f..2ceb3169787 100644 --- a/Test/dafny4/NatList.dfy.expect +++ b/Test/dafny4/NatList.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 11 verified, 0 errors ns = List.Cons(4, List.Cons(10, List.Nil)) Sum(ns) = 14 ns' = List.Cons(20, List.Nil) diff --git a/Test/dafny4/Regression15.dfy b/Test/dafny4/Regression15.dfy index 5ecb5ee4e2b..37f31ba7e90 100644 --- a/Test/dafny4/Regression15.dfy +++ b/Test/dafny4/Regression15.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var b; diff --git a/Test/dafny4/Regression15.dfy.expect b/Test/dafny4/Regression15.dfy.expect index 4cf7b8a8eb1..584190727b9 100644 --- a/Test/dafny4/Regression15.dfy.expect +++ b/Test/dafny4/Regression15.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 3 verified, 0 errors false true true diff --git a/Test/dafny4/Regression2.dfy b/Test/dafny4/Regression2.dfy index 0d28285e74c..213bf265401 100644 --- a/Test/dafny4/Regression2.dfy +++ b/Test/dafny4/Regression2.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" module NativeTypes { newtype uint64 = int diff --git a/Test/dafny4/Regression2.dfy.expect b/Test/dafny4/Regression2.dfy.expect index 8a739fb435a..3f8ac383f86 100644 --- a/Test/dafny4/Regression2.dfy.expect +++ b/Test/dafny4/Regression2.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 0 verified, 0 errors true true true diff --git a/Test/dafny4/Regression3.dfy b/Test/dafny4/Regression3.dfy index fc60fad3cb1..adaa0d2763d 100644 --- a/Test/dafny4/Regression3.dfy +++ b/Test/dafny4/Regression3.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny4/Regression3.dfy.expect b/Test/dafny4/Regression3.dfy.expect index 1223bf9ffaf..841338987c7 100644 --- a/Test/dafny4/Regression3.dfy.expect +++ b/Test/dafny4/Regression3.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 3 verified, 0 errors 55 Trunc( -3.0 ) = -3 (expected -3) Trunc( -2.8 ) = -3 (expected -3) diff --git a/Test/dafny4/Regression4.dfy b/Test/dafny4/Regression4.dfy index e4bc4cbef85..5f881a5083f 100644 --- a/Test/dafny4/Regression4.dfy +++ b/Test/dafny4/Regression4.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { } diff --git a/Test/dafny4/Regression4.dfy.expect b/Test/dafny4/Regression4.dfy.expect index e69de29bb2d..ba00363fc08 100644 --- a/Test/dafny4/Regression4.dfy.expect +++ b/Test/dafny4/Regression4.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 4 verified, 0 errors diff --git a/Test/dafny4/Regression6.dfy b/Test/dafny4/Regression6.dfy index b589ec0ce7d..f1551d3ef2d 100644 --- a/Test/dafny4/Regression6.dfy +++ b/Test/dafny4/Regression6.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" function Sum(a: array, lo: int, hi: int): int requires 0 <= lo <= hi <= a.Length diff --git a/Test/dafny4/Regression6.dfy.expect b/Test/dafny4/Regression6.dfy.expect index 54573bead10..17464f29e0b 100644 --- a/Test/dafny4/Regression6.dfy.expect +++ b/Test/dafny4/Regression6.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors 0 1028 0 diff --git a/Test/dafny4/Regression7.dfy b/Test/dafny4/Regression7.dfy index ef3ca5eea44..8ce421a62f3 100644 --- a/Test/dafny4/Regression7.dfy +++ b/Test/dafny4/Regression7.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /rprint:"%t.rprint" /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" module ListLibrary { datatype List = Nil | Cons(head: B, tail: List) diff --git a/Test/dafny4/Regression7.dfy.expect b/Test/dafny4/Regression7.dfy.expect index 70b01f973a0..19e63b05225 100644 --- a/Test/dafny4/Regression7.dfy.expect +++ b/Test/dafny4/Regression7.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors ListLibrary_Compile.List.Cons(28.0, ListLibrary_Compile.List.Nil) diff --git a/Test/dafny4/Regression9.dfy b/Test/dafny4/Regression9.dfy index 086007a3ef8..d9e44547252 100644 --- a/Test/dafny4/Regression9.dfy +++ b/Test/dafny4/Regression9.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Some tests for the type inference that was revamped // to better support subset types. diff --git a/Test/dafny4/Regression9.dfy.expect b/Test/dafny4/Regression9.dfy.expect index 2183b22cfa9..5a26eaeabfb 100644 --- a/Test/dafny4/Regression9.dfy.expect +++ b/Test/dafny4/Regression9.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors 'D''D''D' diff --git a/Test/dafny4/UnionFind.dfy b/Test/dafny4/UnionFind.dfy index b68bcb0de0f..d578ab81bf8 100644 --- a/Test/dafny4/UnionFind.dfy +++ b/Test/dafny4/UnionFind.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Rustan Leino, Nov 2015 // Module M0 gives the high-level specification of the UnionFind data structure diff --git a/Test/dafny4/UnionFind.dfy.expect b/Test/dafny4/UnionFind.dfy.expect index 1cb72129e49..961b161b8dc 100644 --- a/Test/dafny4/UnionFind.dfy.expect +++ b/Test/dafny4/UnionFind.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 63 verified, 0 errors false true true false true true diff --git a/Test/dafny4/gcd.dfy b/Test/dafny4/gcd.dfy index fa92223fa49..384e338435f 100644 --- a/Test/dafny4/gcd.dfy +++ b/Test/dafny4/gcd.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // A text describing this file is found in a Dafny Power User note: http://leino.science/papers/krml279.html diff --git a/Test/dafny4/gcd.dfy.expect b/Test/dafny4/gcd.dfy.expect index c17551a37a4..ecbe2b6f64a 100644 --- a/Test/dafny4/gcd.dfy.expect +++ b/Test/dafny4/gcd.dfy.expect @@ -1,3 +1,34 @@ + +Dafny program verifier finished with 19 verified, 0 errors + +Dafny program verifier did not attempt verification +15 gcd 9 = 3 +14 gcd 22 = 2 +371 gcd 1 = 1 +1 gcd 2 = 1 +1 gcd 1 = 1 +13 gcd 13 = 13 +60 gcd 60 = 60 + +Dafny program verifier did not attempt verification +15 gcd 9 = 3 +14 gcd 22 = 2 +371 gcd 1 = 1 +1 gcd 2 = 1 +1 gcd 1 = 1 +13 gcd 13 = 13 +60 gcd 60 = 60 + +Dafny program verifier did not attempt verification +15 gcd 9 = 3 +14 gcd 22 = 2 +371 gcd 1 = 1 +1 gcd 2 = 1 +1 gcd 1 = 1 +13 gcd 13 = 13 +60 gcd 60 = 60 + +Dafny program verifier did not attempt verification 15 gcd 9 = 3 14 gcd 22 = 2 371 gcd 1 = 1 diff --git a/Test/dafny4/git-issue104.dfy b/Test/dafny4/git-issue104.dfy index b05ec4de1cc..86683a2ed88 100644 --- a/Test/dafny4/git-issue104.dfy +++ b/Test/dafny4/git-issue104.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" predicate bug(a: array) reads a diff --git a/Test/dafny4/git-issue104.dfy.expect b/Test/dafny4/git-issue104.dfy.expect index 836a5934c8f..f572edb2471 100644 --- a/Test/dafny4/git-issue104.dfy.expect +++ b/Test/dafny4/git-issue104.dfy.expect @@ -1 +1,17 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification +true false + +Dafny program verifier did not attempt verification +true false + +Dafny program verifier did not attempt verification +true false + +Dafny program verifier did not attempt verification +true false + +Dafny program verifier did not attempt verification true false diff --git a/Test/dafny4/git-issue105.dfy b/Test/dafny4/git-issue105.dfy index 4cff2330cba..09cfce29a6e 100644 --- a/Test/dafny4/git-issue105.dfy +++ b/Test/dafny4/git-issue105.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method lol() returns (c: int) { diff --git a/Test/dafny4/git-issue105.dfy.expect b/Test/dafny4/git-issue105.dfy.expect index e69de29bb2d..012f5b99379 100644 --- a/Test/dafny4/git-issue105.dfy.expect +++ b/Test/dafny4/git-issue105.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/dafny4/git-issue15.dfy b/Test/dafny4/git-issue15.dfy index 7c77a67ccf9..96905286209 100755 --- a/Test/dafny4/git-issue15.dfy +++ b/Test/dafny4/git-issue15.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype obj = Obj(fooBar:map) datatype foo = Foo diff --git a/Test/dafny4/git-issue15.dfy.expect b/Test/dafny4/git-issue15.dfy.expect index 00750edc07d..e52de78d0b1 100755 --- a/Test/dafny4/git-issue15.dfy.expect +++ b/Test/dafny4/git-issue15.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 1 verified, 0 errors 3 diff --git a/Test/dafny4/git-issue167.dfy b/Test/dafny4/git-issue167.dfy index d98d425c345..d02943dc42d 100644 --- a/Test/dafny4/git-issue167.dfy +++ b/Test/dafny4/git-issue167.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { LetTest(); diff --git a/Test/dafny4/git-issue167.dfy.expect b/Test/dafny4/git-issue167.dfy.expect index 8c5e1ed8df7..0a230fe846e 100644 --- a/Test/dafny4/git-issue167.dfy.expect +++ b/Test/dafny4/git-issue167.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 4 verified, 0 errors 30 {6, 7} {['M', 'i', 'l', 'l', 'a'], ['A', 'l', 'f', 'o', 'n', 's']} diff --git a/Test/dafny4/git-issue195.dfy b/Test/dafny4/git-issue195.dfy index fccdc5461c8..ac4b1306ac6 100644 --- a/Test/dafny4/git-issue195.dfy +++ b/Test/dafny4/git-issue195.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Block = Block(prevBlockHash:Hash, txs:seq, proof:VProof) diff --git a/Test/dafny4/git-issue195.dfy.expect b/Test/dafny4/git-issue195.dfy.expect index 638bfb50b2d..30692fdef2a 100644 --- a/Test/dafny4/git-issue195.dfy.expect +++ b/Test/dafny4/git-issue195.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 4 verified, 0 errors true true true true true diff --git a/Test/dafny4/git-issue196.dfy b/Test/dafny4/git-issue196.dfy index 056687ab1a5..64eb0e9123f 100644 --- a/Test/dafny4/git-issue196.dfy +++ b/Test/dafny4/git-issue196.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" class A { var a: array> diff --git a/Test/dafny4/git-issue196.dfy.expect b/Test/dafny4/git-issue196.dfy.expect index ee25a2c5027..a333f982b8f 100644 --- a/Test/dafny4/git-issue196.dfy.expect +++ b/Test/dafny4/git-issue196.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 9 verified, 0 errors 42 42 42 5000 5000 5000 5000 5000 diff --git a/Test/dafny4/git-issue4.dfy b/Test/dafny4/git-issue4.dfy index b17a545e219..b19cf3ce6df 100644 --- a/Test/dafny4/git-issue4.dfy +++ b/Test/dafny4/git-issue4.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" function IntToChar(i:int):char requires 0 <= i < 10 diff --git a/Test/dafny4/git-issue4.dfy.expect b/Test/dafny4/git-issue4.dfy.expect index 24e24eb63cc..33af1e040b7 100644 --- a/Test/dafny4/git-issue4.dfy.expect +++ b/Test/dafny4/git-issue4.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 5 verified, 0 errors '8' 8 '8' 56 56 diff --git a/Test/dafny4/git-issue43.dfy b/Test/dafny4/git-issue43.dfy index d320d7761bc..edf056a1a91 100644 --- a/Test/dafny4/git-issue43.dfy +++ b/Test/dafny4/git-issue43.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" class System { } diff --git a/Test/dafny4/git-issue43.dfy.expect b/Test/dafny4/git-issue43.dfy.expect index e69de29bb2d..012f5b99379 100644 --- a/Test/dafny4/git-issue43.dfy.expect +++ b/Test/dafny4/git-issue43.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/dafny4/git-issue70.dfy b/Test/dafny4/git-issue70.dfy index 3a3a01e0af7..c8db7c9618d 100644 --- a/Test/dafny4/git-issue70.dfy +++ b/Test/dafny4/git-issue70.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny4/git-issue70.dfy.expect b/Test/dafny4/git-issue70.dfy.expect index 36ede89b639..526e9a5b349 100644 --- a/Test/dafny4/git-issue70.dfy.expect +++ b/Test/dafny4/git-issue70.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 3 verified, 0 errors map test {4, 6} {5, 7} diff --git a/Test/dafny4/git-issue76.dfy b/Test/dafny4/git-issue76.dfy index 85613dba2f2..708ee911b24 100644 --- a/Test/dafny4/git-issue76.dfy +++ b/Test/dafny4/git-issue76.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { M0(); diff --git a/Test/dafny4/git-issue76.dfy.expect b/Test/dafny4/git-issue76.dfy.expect index 0cfbf08886f..546da03a267 100644 --- a/Test/dafny4/git-issue76.dfy.expect +++ b/Test/dafny4/git-issue76.dfy.expect @@ -1 +1,8 @@ + +Dafny program verifier finished with 7 verified, 0 errors + +Dafny program verifier did not attempt verification +2 + +Dafny program verifier did not attempt verification 2 diff --git a/Test/dafny4/git-issue79.dfy b/Test/dafny4/git-issue79.dfy index f3fb17b8531..046a7c5e375 100644 --- a/Test/dafny4/git-issue79.dfy +++ b/Test/dafny4/git-issue79.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype EInt = Int(val: int) | Unknown type Pair = (string, EInt) diff --git a/Test/dafny4/git-issue79.dfy.expect b/Test/dafny4/git-issue79.dfy.expect index e69de29bb2d..012f5b99379 100644 --- a/Test/dafny4/git-issue79.dfy.expect +++ b/Test/dafny4/git-issue79.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/dafny4/git-issue88.dfy b/Test/dafny4/git-issue88.dfy index 83c0b4a8ef9..1c188333783 100644 --- a/Test/dafny4/git-issue88.dfy +++ b/Test/dafny4/git-issue88.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" type Grid = array2 diff --git a/Test/dafny4/git-issue88.dfy.expect b/Test/dafny4/git-issue88.dfy.expect index e69de29bb2d..00a51f822da 100644 --- a/Test/dafny4/git-issue88.dfy.expect +++ b/Test/dafny4/git-issue88.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 3 verified, 0 errors diff --git a/Test/exceptions/Exceptions1.dfy b/Test/exceptions/Exceptions1.dfy index 4ffd3291f2f..11bb2f7923d 100644 --- a/Test/exceptions/Exceptions1.dfy +++ b/Test/exceptions/Exceptions1.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" /rprint:"%t.rprint" > "%t" +// RUN: %diff "%s.expect" "%t" include "./NatOutcome.dfy" include "./VoidOutcome.dfy" diff --git a/Test/exceptions/Exceptions1.dfy.expect b/Test/exceptions/Exceptions1.dfy.expect index c87eb938c55..e61be2a11ad 100644 --- a/Test/exceptions/Exceptions1.dfy.expect +++ b/Test/exceptions/Exceptions1.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 7 verified, 0 errors true_true_true_88_42_33_Success=100 ___VoidSuccess true_true_false_88_42_Failure diff --git a/Test/exceptions/Exceptions1Expressions.dfy b/Test/exceptions/Exceptions1Expressions.dfy index a57e5b78c7e..c0f3c67cd39 100644 --- a/Test/exceptions/Exceptions1Expressions.dfy +++ b/Test/exceptions/Exceptions1Expressions.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" /rprint:"%t.rprint" > "%t" +// RUN: %diff "%s.expect" "%t" include "./NatOutcomeDt.dfy" include "./VoidOutcomeDt.dfy" diff --git a/Test/exceptions/Exceptions1Expressions.dfy.expect b/Test/exceptions/Exceptions1Expressions.dfy.expect index 3f1b38ab150..3da30f30d36 100644 --- a/Test/exceptions/Exceptions1Expressions.dfy.expect +++ b/Test/exceptions/Exceptions1Expressions.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 5 verified, 0 errors true_true_true_Success=100 VoidSuccess true_true_false_Failure diff --git a/Test/exports/FIFO.dfy b/Test/exports/FIFO.dfy index 95a8d25510c..173e412eaa9 100644 --- a/Test/exports/FIFO.dfy +++ b/Test/exports/FIFO.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" include "Queue.dfyi" diff --git a/Test/exports/FIFO.dfy.expect b/Test/exports/FIFO.dfy.expect index 4539bbf2d22..8350309cc2a 100644 --- a/Test/exports/FIFO.dfy.expect +++ b/Test/exports/FIFO.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 5 verified, 0 errors 0 1 2 diff --git a/Test/exports/LIFO.dfy b/Test/exports/LIFO.dfy index 513dd457c3f..ea691935620 100644 --- a/Test/exports/LIFO.dfy +++ b/Test/exports/LIFO.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" include "Queue.dfyi" diff --git a/Test/exports/LIFO.dfy.expect b/Test/exports/LIFO.dfy.expect index ae136939b64..48aa7787d09 100644 --- a/Test/exports/LIFO.dfy.expect +++ b/Test/exports/LIFO.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 5 verified, 0 errors 2 1 0 diff --git a/Test/exports/xrefine2.dfy b/Test/exports/xrefine2.dfy index 815563c55a1..ad46ff8822e 100644 --- a/Test/exports/xrefine2.dfy +++ b/Test/exports/xrefine2.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" module ProtocolImpl { diff --git a/Test/exports/xrefine2.dfy.expect b/Test/exports/xrefine2.dfy.expect index 858dbd09862..34e1b357779 100644 --- a/Test/exports/xrefine2.dfy.expect +++ b/Test/exports/xrefine2.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 4 verified, 0 errors HI.foo(h1) => true HI.foo(h2) => true PI.orange(1) => 2 diff --git a/Test/exports/xrefine3.dfy b/Test/exports/xrefine3.dfy index 09fc6053dbe..2ec21a5affe 100644 --- a/Test/exports/xrefine3.dfy +++ b/Test/exports/xrefine3.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" module AlphaImpl { diff --git a/Test/exports/xrefine3.dfy.expect b/Test/exports/xrefine3.dfy.expect index ae50cef0985..488ab11c36a 100644 --- a/Test/exports/xrefine3.dfy.expect +++ b/Test/exports/xrefine3.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors o hai! diff --git a/Test/git-issues/git-issue-032.dfy b/Test/git-issues/git-issue-032.dfy index d7dd61440a7..bde5b2f2a69 100644 --- a/Test/git-issues/git-issue-032.dfy +++ b/Test/git-issues/git-issue-032.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/git-issues/git-issue-032.dfy.expect b/Test/git-issues/git-issue-032.dfy.expect index 2a64997c6f7..91c285009c1 100644 --- a/Test/git-issues/git-issue-032.dfy.expect +++ b/Test/git-issues/git-issue-032.dfy.expect @@ -1,3 +1,40 @@ +git-issue-032.dfy(18,35): Warning: this branch is redundant +git-issue-032.dfy(27,34): Warning: this branch is redundant +git-issue-032.dfy(28,35): Warning: this branch is redundant + +Dafny program verifier finished with 1 verified, 0 errors +git-issue-032.dfy(18,35): Warning: this branch is redundant +git-issue-032.dfy(27,34): Warning: this branch is redundant +git-issue-032.dfy(28,35): Warning: this branch is redundant + +Dafny program verifier did not attempt verification +OK3 +OK +OKOK +00 +git-issue-032.dfy(18,35): Warning: this branch is redundant +git-issue-032.dfy(27,34): Warning: this branch is redundant +git-issue-032.dfy(28,35): Warning: this branch is redundant + +Dafny program verifier did not attempt verification +OK3 +OK +OKOK +00 +git-issue-032.dfy(18,35): Warning: this branch is redundant +git-issue-032.dfy(27,34): Warning: this branch is redundant +git-issue-032.dfy(28,35): Warning: this branch is redundant + +Dafny program verifier did not attempt verification +OK3 +OK +OKOK +00 +git-issue-032.dfy(18,35): Warning: this branch is redundant +git-issue-032.dfy(27,34): Warning: this branch is redundant +git-issue-032.dfy(28,35): Warning: this branch is redundant + +Dafny program verifier did not attempt verification OK3 OK OKOK diff --git a/Test/git-issues/git-issue-032.dfy.verifier.expect b/Test/git-issues/git-issue-032.dfy.verifier.expect deleted file mode 100644 index 885d7bff92c..00000000000 --- a/Test/git-issues/git-issue-032.dfy.verifier.expect +++ /dev/null @@ -1,3 +0,0 @@ -git-issue-032.dfy(18,35): Warning: this branch is redundant -git-issue-032.dfy(27,34): Warning: this branch is redundant -git-issue-032.dfy(28,35): Warning: this branch is redundant diff --git a/Test/git-issues/git-issue-1029.dfy b/Test/git-issues/git-issue-1029.dfy index 7e1e7a31cf2..a310a99c169 100644 --- a/Test/git-issues/git-issue-1029.dfy +++ b/Test/git-issues/git-issue-1029.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" module ValueType { export S diff --git a/Test/git-issues/git-issue-1029.dfy.expect b/Test/git-issues/git-issue-1029.dfy.expect index f603f618f29..075fcd93aed 100644 --- a/Test/git-issues/git-issue-1029.dfy.expect +++ b/Test/git-issues/git-issue-1029.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors [true, true, false] UI_Compile.Op2.GetOps([true, true, false], [true, true, false]) diff --git a/Test/git-issues/git-issue-1093.dfy b/Test/git-issues/git-issue-1093.dfy index 97797296680..9365397496f 100644 --- a/Test/git-issues/git-issue-1093.dfy +++ b/Test/git-issues/git-issue-1093.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { UnusedLabel(); diff --git a/Test/git-issues/git-issue-1093.dfy.expect b/Test/git-issues/git-issue-1093.dfy.expect index f599e28b8ab..0cadf5e4199 100644 --- a/Test/git-issues/git-issue-1093.dfy.expect +++ b/Test/git-issues/git-issue-1093.dfy.expect @@ -1 +1,17 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification +10 + +Dafny program verifier did not attempt verification +10 + +Dafny program verifier did not attempt verification +10 + +Dafny program verifier did not attempt verification +10 + +Dafny program verifier did not attempt verification 10 diff --git a/Test/git-issues/git-issue-1100.dfy b/Test/git-issues/git-issue-1100.dfy index 2c4bb564136..533d7688731 100644 --- a/Test/git-issues/git-issue-1100.dfy +++ b/Test/git-issues/git-issue-1100.dfy @@ -1,3 +1,4 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false /Users/salkeldr/Documents/GitHub/dafny/Test/git-issues/../c++/arrays.dfy +// RUN: %dafny /compile:3 /unicodeChar:0 /compileTarget:cpp %S/../c++/arrays.dfy > "%t" +// RUN: %diff "%s.expect" "%t" // Test compilation of a file in another directory diff --git a/Test/git-issues/git-issue-1100.dfy.expect b/Test/git-issues/git-issue-1100.dfy.expect index 2ce9320d8c2..552f9355593 100644 --- a/Test/git-issues/git-issue-1100.dfy.expect +++ b/Test/git-issues/git-issue-1100.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 9 verified, 0 errors 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/git-issues/git-issue-1130.dfy b/Test/git-issues/git-issue-1130.dfy index f1f5ad5a54b..5b7fc5068e2 100644 --- a/Test/git-issues/git-issue-1130.dfy +++ b/Test/git-issues/git-issue-1130.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var a := new Issue.Foo(); diff --git a/Test/git-issues/git-issue-1130.dfy.expect b/Test/git-issues/git-issue-1130.dfy.expect index de97a6dc4ca..6c3dd07b1f1 100644 --- a/Test/git-issues/git-issue-1130.dfy.expect +++ b/Test/git-issues/git-issue-1130.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 13 verified, 0 errors 012 diff --git a/Test/git-issues/git-issue-1150.dfy b/Test/git-issues/git-issue-1150.dfy index ed21174bc45..9731b0c23d0 100644 --- a/Test/git-issues/git-issue-1150.dfy +++ b/Test/git-issues/git-issue-1150.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Foo = Foo(x: nat) { diff --git a/Test/git-issues/git-issue-1150.dfy.expect b/Test/git-issues/git-issue-1150.dfy.expect index f34d8df4a11..fb4be1897cf 100644 --- a/Test/git-issues/git-issue-1150.dfy.expect +++ b/Test/git-issues/git-issue-1150.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 1 verified, 0 errors Foo.Foo(2) true Foo.Foo(5) false diff --git a/Test/git-issues/git-issue-1185.dfy b/Test/git-issues/git-issue-1185.dfy index c7ad72134d1..32c340b0736 100644 --- a/Test/git-issues/git-issue-1185.dfy +++ b/Test/git-issues/git-issue-1185.dfy @@ -1,5 +1,9 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" predicate P(s: set) requires s != {} diff --git a/Test/git-issues/git-issue-1185.dfy.expect b/Test/git-issues/git-issue-1185.dfy.expect index 525ce875525..90ab58a1f5a 100644 --- a/Test/git-issues/git-issue-1185.dfy.expect +++ b/Test/git-issues/git-issue-1185.dfy.expect @@ -1 +1,14 @@ + +Dafny program verifier finished with 3 verified, 0 errors + +Dafny program verifier did not attempt verification +{12, 20} true 6 + +Dafny program verifier did not attempt verification +{20, 12} true 6 + +Dafny program verifier did not attempt verification +{12, 20} true 6 + +Dafny program verifier did not attempt verification {12, 20} true 6 diff --git a/Test/git-issues/git-issue-1185.dfy.java.expect b/Test/git-issues/git-issue-1185.dfy.java.expect deleted file mode 100644 index 8ba669ad273..00000000000 --- a/Test/git-issues/git-issue-1185.dfy.java.expect +++ /dev/null @@ -1 +0,0 @@ -{20, 12} true 6 diff --git a/Test/git-issues/git-issue-1514.dfy b/Test/git-issues/git-issue-1514.dfy index 816eadce69b..74b75478609 100644 --- a/Test/git-issues/git-issue-1514.dfy +++ b/Test/git-issues/git-issue-1514.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" include "Wrappers.dfy" import opened Wrappers diff --git a/Test/git-issues/git-issue-1514.dfy.expect b/Test/git-issues/git-issue-1514.dfy.expect index b5754e20373..2f22d47cee8 100644 --- a/Test/git-issues/git-issue-1514.dfy.expect +++ b/Test/git-issues/git-issue-1514.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-1514b.dfy b/Test/git-issues/git-issue-1514b.dfy index 050a4a71760..1d8cd122d28 100644 --- a/Test/git-issues/git-issue-1514b.dfy +++ b/Test/git-issues/git-issue-1514b.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" include "Wrappers.dfy" import opened Wrappers diff --git a/Test/git-issues/git-issue-1514b.dfy.expect b/Test/git-issues/git-issue-1514b.dfy.expect index b5754e20373..2f22d47cee8 100644 --- a/Test/git-issues/git-issue-1514b.dfy.expect +++ b/Test/git-issues/git-issue-1514b.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-1514c.dfy b/Test/git-issues/git-issue-1514c.dfy index 578316f217c..d9df7d108c1 100644 --- a/Test/git-issues/git-issue-1514c.dfy +++ b/Test/git-issues/git-issue-1514c.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" include "Wrappers.dfy" import opened Wrappers diff --git a/Test/git-issues/git-issue-1514c.dfy.expect b/Test/git-issues/git-issue-1514c.dfy.expect index 9766475a418..694254c28aa 100644 --- a/Test/git-issues/git-issue-1514c.dfy.expect +++ b/Test/git-issues/git-issue-1514c.dfy.expect @@ -1 +1,8 @@ + +Dafny program verifier finished with 3 verified, 0 errors + +Dafny program verifier did not attempt verification +ok + +Dafny program verifier did not attempt verification ok diff --git a/Test/git-issues/git-issue-1553.dfy b/Test/git-issues/git-issue-1553.dfy index 81cbef7aa7e..6267018c92d 100644 --- a/Test/git-issues/git-issue-1553.dfy +++ b/Test/git-issues/git-issue-1553.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { } method Test() { diff --git a/Test/git-issues/git-issue-1553.dfy.expect b/Test/git-issues/git-issue-1553.dfy.expect index e69de29bb2d..65d3b5d6635 100644 --- a/Test/git-issues/git-issue-1553.dfy.expect +++ b/Test/git-issues/git-issue-1553.dfy.expect @@ -0,0 +1,10 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-1604b.dfy b/Test/git-issues/git-issue-1604b.dfy index c00b95102f4..497ee5017d5 100644 --- a/Test/git-issues/git-issue-1604b.dfy +++ b/Test/git-issues/git-issue-1604b.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /errorLimit:0 +// RUN: %dafny /compile:3 /errorLimit:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Double constraints. Will this still work? diff --git a/Test/git-issues/git-issue-1604b.dfy.expect b/Test/git-issues/git-issue-1604b.dfy.expect index b5754e20373..93d7203e654 100644 --- a/Test/git-issues/git-issue-1604b.dfy.expect +++ b/Test/git-issues/git-issue-1604b.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 5 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-1714.dfy b/Test/git-issues/git-issue-1714.dfy index 741f1d180fc..a210d47c9ee 100644 --- a/Test/git-issues/git-issue-1714.dfy +++ b/Test/git-issues/git-issue-1714.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" +// RUN: %diff "%s.expect" "%t" trait Base {} class Derived extends Base { var n: int; constructor() { n := 0; } } diff --git a/Test/git-issues/git-issue-1714.dfy.expect b/Test/git-issues/git-issue-1714.dfy.expect index 88039063d09..67dd7d95642 100644 --- a/Test/git-issues/git-issue-1714.dfy.expect +++ b/Test/git-issues/git-issue-1714.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors (b as Derived).n == 0 diff --git a/Test/git-issues/git-issue-179.dfy b/Test/git-issues/git-issue-179.dfy index d37d3048490..283a04f1a68 100644 --- a/Test/git-issues/git-issue-179.dfy +++ b/Test/git-issues/git-issue-179.dfy @@ -1,5 +1,9 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var mp: map; diff --git a/Test/git-issues/git-issue-179.dfy.expect b/Test/git-issues/git-issue-179.dfy.expect index 97cb7aa6c7a..3f922ac5bd4 100644 --- a/Test/git-issues/git-issue-179.dfy.expect +++ b/Test/git-issues/git-issue-179.dfy.expect @@ -1,4 +1,26 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification {(3, false), (4, true), (5, false)} {3, 4, 5} {false, true} true false true false + +Dafny program verifier did not attempt verification +{(5, false), (4, true), (3, false)} +{5, 4, 3} +{false, true} +true false true false + +Dafny program verifier did not attempt verification +{(5, false), (4, true), (3, false)} +{5, 4, 3} +{false, true} +true false true false + +Dafny program verifier did not attempt verification +{(5, false), (3, false), (4, true)} +{3, 4, 5} +{false, true} +true false true false diff --git a/Test/git-issues/git-issue-179.dfy.go.expect b/Test/git-issues/git-issue-179.dfy.go.expect deleted file mode 100644 index 3b6c1b2603f..00000000000 --- a/Test/git-issues/git-issue-179.dfy.go.expect +++ /dev/null @@ -1,4 +0,0 @@ -{(5, false), (4, true), (3, false)} -{5, 4, 3} -{false, true} -true false true false diff --git a/Test/git-issues/git-issue-179.dfy.java.expect b/Test/git-issues/git-issue-179.dfy.java.expect deleted file mode 100644 index ebe17288dfd..00000000000 --- a/Test/git-issues/git-issue-179.dfy.java.expect +++ /dev/null @@ -1,4 +0,0 @@ -{(5, false), (3, false), (4, true)} -{3, 4, 5} -{false, true} -true false true false diff --git a/Test/git-issues/git-issue-179.dfy.js.expect b/Test/git-issues/git-issue-179.dfy.js.expect deleted file mode 100644 index 3b6c1b2603f..00000000000 --- a/Test/git-issues/git-issue-179.dfy.js.expect +++ /dev/null @@ -1,4 +0,0 @@ -{(5, false), (4, true), (3, false)} -{5, 4, 3} -{false, true} -true false true false diff --git a/Test/git-issues/git-issue-1815a.dfy b/Test/git-issues/git-issue-1815a.dfy index 72d55a1cb4f..91fb7a32aa6 100644 --- a/Test/git-issues/git-issue-1815a.dfy +++ b/Test/git-issues/git-issue-1815a.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Dt<+U> = Dt(x: U, i: int) diff --git a/Test/git-issues/git-issue-1815a.dfy.expect b/Test/git-issues/git-issue-1815a.dfy.expect index 19f86f493ab..7b2651302d9 100644 --- a/Test/git-issues/git-issue-1815a.dfy.expect +++ b/Test/git-issues/git-issue-1815a.dfy.expect @@ -1 +1,17 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification +done + +Dafny program verifier did not attempt verification +done + +Dafny program verifier did not attempt verification +done + +Dafny program verifier did not attempt verification +done + +Dafny program verifier did not attempt verification done diff --git a/Test/git-issues/git-issue-1852.dfy b/Test/git-issues/git-issue-1852.dfy index 046f3fca1fc..516835e8ea8 100644 --- a/Test/git-issues/git-issue-1852.dfy +++ b/Test/git-issues/git-issue-1852.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" module A { export diff --git a/Test/git-issues/git-issue-1852.dfy.expect b/Test/git-issues/git-issue-1852.dfy.expect index 299a71f3fe4..e9cd0ea2e07 100644 --- a/Test/git-issues/git-issue-1852.dfy.expect +++ b/Test/git-issues/git-issue-1852.dfy.expect @@ -1 +1,8 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification +5 5 + +Dafny program verifier did not attempt verification 5 5 diff --git a/Test/git-issues/git-issue-1903.dfy b/Test/git-issues/git-issue-1903.dfy index 60ee1c121ab..7edb2a46c61 100644 --- a/Test/git-issues/git-issue-1903.dfy +++ b/Test/git-issues/git-issue-1903.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method g(x : seq := []) { diff --git a/Test/git-issues/git-issue-1903.dfy.expect b/Test/git-issues/git-issue-1903.dfy.expect index 84cc8d360f9..3170fb0c7f2 100644 --- a/Test/git-issues/git-issue-1903.dfy.expect +++ b/Test/git-issues/git-issue-1903.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 1 verified, 0 errors worked! diff --git a/Test/git-issues/git-issue-1909.dfy b/Test/git-issues/git-issue-1909.dfy index 83d9ec1d785..7fb5b3b8c48 100644 --- a/Test/git-issues/git-issue-1909.dfy +++ b/Test/git-issues/git-issue-1909.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype ABC = ABC(nameonly a: int, nameonly b: int, nameonly c: int) diff --git a/Test/git-issues/git-issue-1909.dfy.expect b/Test/git-issues/git-issue-1909.dfy.expect index ab6f7d69d36..b4eb7e7774e 100644 --- a/Test/git-issues/git-issue-1909.dfy.expect +++ b/Test/git-issues/git-issue-1909.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 1 verified, 0 errors ABC.ABC(19, 21, 23) ABC.ABC(19, 42, 23) ABC.ABC(100, 42, 90) diff --git a/Test/git-issues/git-issue-2013.dfy b/Test/git-issues/git-issue-2013.dfy index 1f3962988ee..d1d3e15880e 100644 --- a/Test/git-issues/git-issue-2013.dfy +++ b/Test/git-issues/git-issue-2013.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/git-issues/git-issue-2013.dfy.expect b/Test/git-issues/git-issue-2013.dfy.expect index 2cf9744efb3..bbf7e59b073 100644 --- a/Test/git-issues/git-issue-2013.dfy.expect +++ b/Test/git-issues/git-issue-2013.dfy.expect @@ -1,3 +1,55 @@ + +Dafny program verifier finished with 12 verified, 0 errors + +Dafny program verifier did not attempt verification +16 +16 +12 30 30 +Result.Success(8) Result.Failure(_module.MyClassException) +{100} {100} {100} +{MoreTests_Compile.C} {MoreTests_Compile.C} {MoreTests_Compile.C} +100 100 100 +MoreTests_Compile.C MoreTests_Compile.C MoreTests_Compile.C +Conveyance_Compile.NonVariantResult.NVSuccess(Conveyance_Compile.Car) Conveyance_Compile.CovariantResult.CVSuccess(Conveyance_Compile.Car) +Regression_mM_Compile.Stream.Next + +Dafny program verifier did not attempt verification +16 +16 +12 30 30 +Result.Success(8) Result.Failure(_module.MyClassException) +{100} {100} {100} +{MoreTests_Compile.C} {MoreTests_Compile.C} {MoreTests_Compile.C} +100 100 100 +MoreTests_Compile.C MoreTests_Compile.C MoreTests_Compile.C +Conveyance_Compile.NonVariantResult.NVSuccess(Conveyance_Compile.Car) Conveyance_Compile.CovariantResult.CVSuccess(Conveyance_Compile.Car) +Regression_mM_Compile.Stream.Next + +Dafny program verifier did not attempt verification +16 +16 +12 30 30 +Result.Success(8) Result.Failure(_module.MyClassException) +{100} {100} {100} +{MoreTests_Compile.C} {MoreTests_Compile.C} {MoreTests_Compile.C} +100 100 100 +MoreTests_Compile.C MoreTests_Compile.C MoreTests_Compile.C +Conveyance_Compile.NonVariantResult.NVSuccess(Conveyance_Compile.Car) Conveyance_Compile.CovariantResult.CVSuccess(Conveyance_Compile.Car) +Regression_mM_Compile.Stream.Next + +Dafny program verifier did not attempt verification +16 +16 +12 30 30 +Result.Success(8) Result.Failure(_module.MyClassException) +{100} {100} {100} +{MoreTests_Compile.C} {MoreTests_Compile.C} {MoreTests_Compile.C} +100 100 100 +MoreTests_Compile.C MoreTests_Compile.C MoreTests_Compile.C +Conveyance_Compile.NonVariantResult.NVSuccess(Conveyance_Compile.Car) Conveyance_Compile.CovariantResult.CVSuccess(Conveyance_Compile.Car) +Regression_mM_Compile.Stream.Next + +Dafny program verifier did not attempt verification 16 16 12 30 30 diff --git a/Test/git-issues/git-issue-2441.dfy b/Test/git-issues/git-issue-2441.dfy index 4179ecc87bc..bc9c8721ee2 100644 --- a/Test/git-issues/git-issue-2441.dfy +++ b/Test/git-issues/git-issue-2441.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype A = A(B: B) datatype B = X diff --git a/Test/git-issues/git-issue-2441.dfy.expect b/Test/git-issues/git-issue-2441.dfy.expect index e69de29bb2d..0c3f603d584 100644 --- a/Test/git-issues/git-issue-2441.dfy.expect +++ b/Test/git-issues/git-issue-2441.dfy.expect @@ -0,0 +1,6 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-2510.dfy b/Test/git-issues/git-issue-2510.dfy index 11ee2877bb3..22ef8e47058 100644 --- a/Test/git-issues/git-issue-2510.dfy +++ b/Test/git-issues/git-issue-2510.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:4 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" /// Check that the compiler accepts `:- assume {:axiom} …`. diff --git a/Test/git-issues/git-issue-2510.dfy.expect b/Test/git-issues/git-issue-2510.dfy.expect index 56a6051ca2b..b341a39a78d 100644 --- a/Test/git-issues/git-issue-2510.dfy.expect +++ b/Test/git-issues/git-issue-2510.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors 1 \ No newline at end of file diff --git a/Test/git-issues/git-issue-258.dfy b/Test/git-issues/git-issue-258.dfy index 97820c26461..dbc437cebbc 100644 --- a/Test/git-issues/git-issue-258.dfy +++ b/Test/git-issues/git-issue-258.dfy @@ -1,5 +1,9 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false /spillTargetCode:3 +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /compile:3 /unicodeChar:0 /spillTargetCode:3 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /compile:3 /unicodeChar:0 /spillTargetCode:3 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /compile:3 /unicodeChar:0 /spillTargetCode:3 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /compile:3 /unicodeChar:0 /spillTargetCode:3 /compileTarget:go "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method pr(s: seq) { print s, "\n"; diff --git a/Test/git-issues/git-issue-258.dfy.expect b/Test/git-issues/git-issue-258.dfy.expect index 31b98032806..8cf196174b8 100644 --- a/Test/git-issues/git-issue-258.dfy.expect +++ b/Test/git-issues/git-issue-258.dfy.expect @@ -1,10 +1,83 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier finished with 1 verified, 0 errors +hi +hi + + +HI! +hi + +HI! + +[23, 45] +[23, 45] +[] +[] +abcabc +abcabc +abcdef +abcdef + + +[1, 2, 3, 4] +[1, 2, 3, 4] + +Dafny program verifier finished with 1 verified, 0 errors +hi +hi + + +HI! +hi + +HI! + +[23, 45] +[23, 45] +[] +[] +abcabc +abcabc +abcdef +abcdef + + +[1, 2, 3, 4] +[1, 2, 3, 4] + +Dafny program verifier finished with 1 verified, 0 errors hi hi HI! hi +[] +HI! + +[23, 45] +[23, 45] +[] +[] +abcabc +abcabc +abcdef +abcdef + + +[1, 2, 3, 4] +[1, 2, 3, 4] + +Dafny program verifier finished with 1 verified, 0 errors +hi +hi + +HI! +hi +[] HI! [23, 45] diff --git a/Test/git-issues/git-issue-258.dfy.go.expect b/Test/git-issues/git-issue-258.dfy.go.expect deleted file mode 100644 index 2745afdf6e1..00000000000 --- a/Test/git-issues/git-issue-258.dfy.go.expect +++ /dev/null @@ -1,21 +0,0 @@ -hi -hi - - -HI! -hi -[] -HI! - -[23, 45] -[23, 45] -[] -[] -abcabc -abcabc -abcdef -abcdef - - -[1, 2, 3, 4] -[1, 2, 3, 4] diff --git a/Test/git-issues/git-issue-258.dfy.js.expect b/Test/git-issues/git-issue-258.dfy.js.expect deleted file mode 100644 index 2745afdf6e1..00000000000 --- a/Test/git-issues/git-issue-258.dfy.js.expect +++ /dev/null @@ -1,21 +0,0 @@ -hi -hi - - -HI! -hi -[] -HI! - -[23, 45] -[23, 45] -[] -[] -abcabc -abcabc -abcdef -abcdef - - -[1, 2, 3, 4] -[1, 2, 3, 4] diff --git a/Test/git-issues/git-issue-2608.dfy b/Test/git-issues/git-issue-2608.dfy index c606177f94f..459c9ffbf94 100644 --- a/Test/git-issues/git-issue-2608.dfy +++ b/Test/git-issues/git-issue-2608.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /compileTarget:js "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method GetNext(i: int) returns (j: int, possible: bool) { if i == 1 { diff --git a/Test/git-issues/git-issue-2608.dfy.expect b/Test/git-issues/git-issue-2608.dfy.expect index d9ed583f710..dce7ba1814a 100644 --- a/Test/git-issues/git-issue-2608.dfy.expect +++ b/Test/git-issues/git-issue-2608.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors 82411246231944714271214 \ No newline at end of file diff --git a/Test/git-issues/git-issue-262.dfy b/Test/git-issues/git-issue-262.dfy index 22d9a31b2fe..2c00ad94a39 100644 --- a/Test/git-issues/git-issue-262.dfy +++ b/Test/git-issues/git-issue-262.dfy @@ -1,5 +1,8 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" +// RUN: %dafny /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" function tst(x: nat): nat { x + 1 diff --git a/Test/git-issues/git-issue-262.dfy.expect b/Test/git-issues/git-issue-262.dfy.expect index 41d8cd55158..76af42cd4a3 100644 --- a/Test/git-issues/git-issue-262.dfy.expect +++ b/Test/git-issues/git-issue-262.dfy.expect @@ -1,2 +1,20 @@ + +Dafny program verifier finished with 2 verified, 0 errors System.Func`2[System.Numerics.BigInteger,System.Numerics.BigInteger] System.Func`2[System.Numerics.BigInteger,System.Numerics.BigInteger] + +Dafny program verifier finished with 2 verified, 0 errors +tst(x) { + return (x).plus(_dafny.ONE); + } +tst(x) { + return (x).plus(_dafny.ONE); + } + +Dafny program verifier finished with 2 verified, 0 errors +func(dafny.Int) dafny.Int +func(dafny.Int) dafny.Int + +Dafny program verifier finished with 2 verified, 0 errors +Function +Function diff --git a/Test/git-issues/git-issue-262.dfy.go.expect b/Test/git-issues/git-issue-262.dfy.go.expect deleted file mode 100644 index 578754c176c..00000000000 --- a/Test/git-issues/git-issue-262.dfy.go.expect +++ /dev/null @@ -1,2 +0,0 @@ -func(dafny.Int) dafny.Int -func(dafny.Int) dafny.Int diff --git a/Test/git-issues/git-issue-262.dfy.java.expect b/Test/git-issues/git-issue-262.dfy.java.expect deleted file mode 100644 index aa5478ef8c9..00000000000 --- a/Test/git-issues/git-issue-262.dfy.java.expect +++ /dev/null @@ -1,2 +0,0 @@ -Function -Function diff --git a/Test/git-issues/git-issue-262.dfy.js.expect b/Test/git-issues/git-issue-262.dfy.js.expect deleted file mode 100644 index e181ef2fef8..00000000000 --- a/Test/git-issues/git-issue-262.dfy.js.expect +++ /dev/null @@ -1,6 +0,0 @@ -tst(x) { - return (x).plus(_dafny.ONE); - } -tst(x) { - return (x).plus(_dafny.ONE); - } diff --git a/Test/git-issues/git-issue-267.dfy b/Test/git-issues/git-issue-267.dfy index 2b0b3281589..cef2fcc6c17 100644 --- a/Test/git-issues/git-issue-267.dfy +++ b/Test/git-issues/git-issue-267.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var c := 1; diff --git a/Test/git-issues/git-issue-267.dfy.expect b/Test/git-issues/git-issue-267.dfy.expect index cd7da05e3d2..d71aef2f440 100644 --- a/Test/git-issues/git-issue-267.dfy.expect +++ b/Test/git-issues/git-issue-267.dfy.expect @@ -1 +1,14 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification +210 + +Dafny program verifier did not attempt verification +210 + +Dafny program verifier did not attempt verification +210 + +Dafny program verifier did not attempt verification 210 diff --git a/Test/git-issues/git-issue-2672.dfy b/Test/git-issues/git-issue-2672.dfy index 52c5b9c638c..338299ee8b7 100644 --- a/Test/git-issues/git-issue-2672.dfy +++ b/Test/git-issues/git-issue-2672.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" newtype sreal = r: real | r > -4 as real newtype sint = r: int | r > -4 as int diff --git a/Test/git-issues/git-issue-2672.dfy.expect b/Test/git-issues/git-issue-2672.dfy.expect index 43440a83d53..c9c3244b6f4 100644 --- a/Test/git-issues/git-issue-2672.dfy.expect +++ b/Test/git-issues/git-issue-2672.dfy.expect @@ -1,3 +1,47 @@ + +Dafny program verifier finished with 5 verified, 0 errors + +Dafny program verifier did not attempt verification +true true true true true true true true true true +false false false false false false false false false false +false false false false false false false false false false +true true true true true true true true true true +true true true true true true true true true true +false false false false false false false false false false +true true true +false false false + +Dafny program verifier did not attempt verification +true true true true true true true true true true +false false false false false false false false false false +false false false false false false false false false false +true true true true true true true true true true +true true true true true true true true true true +false false false false false false false false false false +true true true +false false false + +Dafny program verifier did not attempt verification +true true true true true true true true true true +false false false false false false false false false false +false false false false false false false false false false +true true true true true true true true true true +true true true true true true true true true true +false false false false false false false false false false +true true true +false false false + +Dafny program verifier did not attempt verification +true true true true true true true true true true +false false false false false false false false false false +false false false false false false false false false false +true true true true true true true true true true +true true true true true true true true true true +false false false false false false false false false false +true true true +false false false + +Dafny program verifier did not attempt verification true true true true true true true true true true false false false false false false false false false false false false false false false false false false false false diff --git a/Test/git-issues/git-issue-2726a.dfy b/Test/git-issues/git-issue-2726a.dfy index a43d5dd0107..641fefbbdc4 100644 --- a/Test/git-issues/git-issue-2726a.dfy +++ b/Test/git-issues/git-issue-2726a.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /compileTarget:cs "%s" > "%t" +// RUN: %diff "%s.expect" "%t" const digits := ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"] diff --git a/Test/git-issues/git-issue-2726a.dfy.expect b/Test/git-issues/git-issue-2726a.dfy.expect index 8e1bedb2a64..6985935c88c 100644 --- a/Test/git-issues/git-issue-2726a.dfy.expect +++ b/Test/git-issues/git-issue-2726a.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 1 verified, 0 errors 4 42 422 diff --git a/Test/git-issues/git-issue-2733.dfy b/Test/git-issues/git-issue-2733.dfy index 65bc2b991fd..232eab3cc74 100644 --- a/Test/git-issues/git-issue-2733.dfy +++ b/Test/git-issues/git-issue-2733.dfy @@ -1,4 +1,11 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cpp "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { print "XYZ"; // Checks that no extra newline is added to the output diff --git a/Test/git-issues/git-issue-2733.dfy.expect b/Test/git-issues/git-issue-2733.dfy.expect index 77bf25132db..b139e2f3d58 100644 --- a/Test/git-issues/git-issue-2733.dfy.expect +++ b/Test/git-issues/git-issue-2733.dfy.expect @@ -1 +1,15 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification +XYZ +Dafny program verifier did not attempt verification +XYZ +Dafny program verifier did not attempt verification +XYZ +Dafny program verifier did not attempt verification +XYZ +Dafny program verifier did not attempt verification +XYZ +Dafny program verifier did not attempt verification XYZ \ No newline at end of file diff --git a/Test/git-issues/git-issue-2792.dfy b/Test/git-issues/git-issue-2792.dfy index d2fb9db2055..89e736667c0 100644 --- a/Test/git-issues/git-issue-2792.dfy +++ b/Test/git-issues/git-issue-2792.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /compileTarget:java "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Wrapper = Wrapper(s: seq) { diff --git a/Test/git-issues/git-issue-2792.dfy.expect b/Test/git-issues/git-issue-2792.dfy.expect index ca1683c3020..c1e603c58fe 100644 --- a/Test/git-issues/git-issue-2792.dfy.expect +++ b/Test/git-issues/git-issue-2792.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 0 verified, 0 errors [] Wrapper2.Wrapper2([], 2792) diff --git a/Test/git-issues/git-issue-283.dfy b/Test/git-issues/git-issue-283.dfy index 1ca6d48d32c..c7c10f4aea3 100644 --- a/Test/git-issues/git-issue-283.dfy +++ b/Test/git-issues/git-issue-283.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Result = | Success(value: T) diff --git a/Test/git-issues/git-issue-283.dfy.expect b/Test/git-issues/git-issue-283.dfy.expect index a965a70ed4e..2adb114b8a0 100644 --- a/Test/git-issues/git-issue-283.dfy.expect +++ b/Test/git-issues/git-issue-283.dfy.expect @@ -1 +1,14 @@ + +Dafny program verifier finished with 9 verified, 0 errors + +Dafny program verifier did not attempt verification +Done + +Dafny program verifier did not attempt verification +Done + +Dafny program verifier did not attempt verification +Done + +Dafny program verifier did not attempt verification Done diff --git a/Test/git-issues/git-issue-283d.dfy b/Test/git-issues/git-issue-283d.dfy index 46c1056d5e1..54ee58fb456 100644 --- a/Test/git-issues/git-issue-283d.dfy +++ b/Test/git-issues/git-issue-283d.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Foo = R(v: int) diff --git a/Test/git-issues/git-issue-283d.dfy.expect b/Test/git-issues/git-issue-283d.dfy.expect index e69de29bb2d..8da23be5c8c 100644 --- a/Test/git-issues/git-issue-283d.dfy.expect +++ b/Test/git-issues/git-issue-283d.dfy.expect @@ -0,0 +1,10 @@ + +Dafny program verifier finished with 4 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-314.dfy b/Test/git-issues/git-issue-314.dfy index a7fc06564a5..5e3e93ca654 100644 --- a/Test/git-issues/git-issue-314.dfy +++ b/Test/git-issues/git-issue-314.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype S = S(G: array) datatype T = T(F: array, ghost Repr: set) diff --git a/Test/git-issues/git-issue-314.dfy.expect b/Test/git-issues/git-issue-314.dfy.expect index e69de29bb2d..f02fc57989a 100644 --- a/Test/git-issues/git-issue-314.dfy.expect +++ b/Test/git-issues/git-issue-314.dfy.expect @@ -0,0 +1,10 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-332.dfy b/Test/git-issues/git-issue-332.dfy index 5166441405d..ca2b08f3e8d 100644 --- a/Test/git-issues/git-issue-332.dfy +++ b/Test/git-issues/git-issue-332.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var foo := new B.Foo(15); diff --git a/Test/git-issues/git-issue-332.dfy.expect b/Test/git-issues/git-issue-332.dfy.expect index 209e3ef4b62..57cad39addf 100644 --- a/Test/git-issues/git-issue-332.dfy.expect +++ b/Test/git-issues/git-issue-332.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 6 verified, 0 errors 20 diff --git a/Test/git-issues/git-issue-354.dfy b/Test/git-issues/git-issue-354.dfy index c3d63021209..5938c2f71ae 100644 --- a/Test/git-issues/git-issue-354.dfy +++ b/Test/git-issues/git-issue-354.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" class C { static const u: X diff --git a/Test/git-issues/git-issue-354.dfy.expect b/Test/git-issues/git-issue-354.dfy.expect index 4368562357f..cb5ae21dc46 100644 --- a/Test/git-issues/git-issue-354.dfy.expect +++ b/Test/git-issues/git-issue-354.dfy.expect @@ -1,3 +1,25 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification +0 +0 +0.0 +false + +Dafny program verifier did not attempt verification +0 +0 +0.0 +false + +Dafny program verifier did not attempt verification +0 +0 +0.0 +false + +Dafny program verifier did not attempt verification 0 0 0.0 diff --git a/Test/git-issues/git-issue-356.dfy b/Test/git-issues/git-issue-356.dfy index 2d497c0531c..f5c34b0803b 100644 --- a/Test/git-issues/git-issue-356.dfy +++ b/Test/git-issues/git-issue-356.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" module M { type Tx = i: int | 0 <= i <= 100 diff --git a/Test/git-issues/git-issue-356.dfy.expect b/Test/git-issues/git-issue-356.dfy.expect index 9d984ec4ef4..cff4ed233e1 100644 --- a/Test/git-issues/git-issue-356.dfy.expect +++ b/Test/git-issues/git-issue-356.dfy.expect @@ -1,3 +1,39 @@ + +Dafny program verifier finished with 25 verified, 0 errors + +Dafny program verifier did not attempt verification +a d 57005 * * +Z 90 90.0 90 90 +* 42 42.0 42 42 +F 70 70.0 70 70 +# 35 35.0 35 35 +END + +Dafny program verifier did not attempt verification +a d 57005 * * +Z 90 90.0 90 90 +* 42 42.0 42 42 +F 70 70.0 70 70 +# 35 35.0 35 35 +END + +Dafny program verifier did not attempt verification +a d 57005 * * +Z 90 90.0 90 90 +* 42 42.0 42 42 +F 70 70.0 70 70 +# 35 35.0 35 35 +END + +Dafny program verifier did not attempt verification +a d 57005 * * +Z 90 90.0 90 90 +* 42 42.0 42 42 +F 70 70.0 70 70 +# 35 35.0 35 35 +END + +Dafny program verifier did not attempt verification a d 57005 * * Z 90 90.0 90 90 * 42 42.0 42 42 diff --git a/Test/git-issues/git-issue-364.dfy b/Test/git-issues/git-issue-364.dfy index 68c75931746..0fdedc7d9c0 100644 --- a/Test/git-issues/git-issue-364.dfy +++ b/Test/git-issues/git-issue-364.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype NatOutcome = | Success(value: nat) diff --git a/Test/git-issues/git-issue-364.dfy.expect b/Test/git-issues/git-issue-364.dfy.expect index 38478c6c688..1368349d437 100644 --- a/Test/git-issues/git-issue-364.dfy.expect +++ b/Test/git-issues/git-issue-364.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 4 verified, 0 errors NatOutcome.Success(55) false 55 12 0 NatOutcome.Failure("it could be worse") true NatOutcome.Failure("it could be worse") diff --git a/Test/git-issues/git-issue-374.dfy b/Test/git-issues/git-issue-374.dfy index 15b56ec6396..4c031b7d3ff 100644 --- a/Test/git-issues/git-issue-374.dfy +++ b/Test/git-issues/git-issue-374.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" class C { constructor(ghost x: int) diff --git a/Test/git-issues/git-issue-374.dfy.expect b/Test/git-issues/git-issue-374.dfy.expect index e69de29bb2d..f02fc57989a 100644 --- a/Test/git-issues/git-issue-374.dfy.expect +++ b/Test/git-issues/git-issue-374.dfy.expect @@ -0,0 +1,10 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-396.dfy b/Test/git-issues/git-issue-396.dfy index 7866d3d0498..2ab68e51e12 100644 --- a/Test/git-issues/git-issue-396.dfy +++ b/Test/git-issues/git-issue-396.dfy @@ -1,4 +1,8 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" +// RUN: %dafny /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Foo = Bar(value: int) diff --git a/Test/git-issues/git-issue-396.dfy.expect b/Test/git-issues/git-issue-396.dfy.expect index dee79f10940..3dd340d3178 100644 --- a/Test/git-issues/git-issue-396.dfy.expect +++ b/Test/git-issues/git-issue-396.dfy.expect @@ -1 +1,12 @@ + +Dafny program verifier finished with 1 verified, 0 errors +114 + +Dafny program verifier finished with 1 verified, 0 errors +114 + +Dafny program verifier finished with 1 verified, 0 errors +114 + +Dafny program verifier finished with 1 verified, 0 errors 114 diff --git a/Test/git-issues/git-issue-4007.dfy b/Test/git-issues/git-issue-4007.dfy index 5a279e7b8e6..e4c25b82bb8 100644 --- a/Test/git-issues/git-issue-4007.dfy +++ b/Test/git-issues/git-issue-4007.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:4 /compileTarget:py "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var a := 0; @@ -6,4 +7,4 @@ method Main() { a := a + 1; } print a, "\n"; -} +} \ No newline at end of file diff --git a/Test/git-issues/git-issue-4007.dfy.expect b/Test/git-issues/git-issue-4007.dfy.expect index 00750edc07d..3ce6919d35b 100644 --- a/Test/git-issues/git-issue-4007.dfy.expect +++ b/Test/git-issues/git-issue-4007.dfy.expect @@ -1 +1,4 @@ +git-issue-4007.dfy(6,20): Warning: /!\ No terms found to trigger on. + +Dafny program verifier finished with 1 verified, 0 errors 3 diff --git a/Test/git-issues/git-issue-4012.dfy b/Test/git-issues/git-issue-4012.dfy index 5360c0e935b..e065393a211 100644 --- a/Test/git-issues/git-issue-4012.dfy +++ b/Test/git-issues/git-issue-4012.dfy @@ -1,7 +1,8 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:4 /compileTarget:py "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var x: multiset := multiset{}; x := x[1 := 18446744073709551616]; print |x|, "\n"; -} +} \ No newline at end of file diff --git a/Test/git-issues/git-issue-4012.dfy.expect b/Test/git-issues/git-issue-4012.dfy.expect index ab69b99fab4..230fbdbd384 100644 --- a/Test/git-issues/git-issue-4012.dfy.expect +++ b/Test/git-issues/git-issue-4012.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 1 verified, 0 errors 18446744073709551616 diff --git a/Test/git-issues/git-issue-425.dfy b/Test/git-issues/git-issue-425.dfy index 122a10e4fbb..4e555daaed0 100644 --- a/Test/git-issues/git-issue-425.dfy +++ b/Test/git-issues/git-issue-425.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method M() returns (x: int, ghost y: int) { return 42, 43; diff --git a/Test/git-issues/git-issue-425.dfy.expect b/Test/git-issues/git-issue-425.dfy.expect index daaac9e3030..c2284013d9e 100644 --- a/Test/git-issues/git-issue-425.dfy.expect +++ b/Test/git-issues/git-issue-425.dfy.expect @@ -1,2 +1,18 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification +42 +42 + +Dafny program verifier did not attempt verification +42 +42 + +Dafny program verifier did not attempt verification +42 +42 + +Dafny program verifier did not attempt verification 42 42 diff --git a/Test/git-issues/git-issue-443.dfy b/Test/git-issues/git-issue-443.dfy index 6702e37484f..e8745b5ddda 100644 --- a/Test/git-issues/git-issue-443.dfy +++ b/Test/git-issues/git-issue-443.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { print F(), " ", G(802.11), "\n"; // 12 15 diff --git a/Test/git-issues/git-issue-443.dfy.expect b/Test/git-issues/git-issue-443.dfy.expect index 0b64712fdcf..10af01216da 100644 --- a/Test/git-issues/git-issue-443.dfy.expect +++ b/Test/git-issues/git-issue-443.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors 12 15 diff --git a/Test/git-issues/git-issue-446.dfy b/Test/git-issues/git-issue-446.dfy index 17bf6f219f6..44c62ce573d 100644 --- a/Test/git-issues/git-issue-446.dfy +++ b/Test/git-issues/git-issue-446.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Result = Success(value: T) | Failure(error: string) { diff --git a/Test/git-issues/git-issue-446.dfy.expect b/Test/git-issues/git-issue-446.dfy.expect index 8165c2056d0..18195d22344 100644 --- a/Test/git-issues/git-issue-446.dfy.expect +++ b/Test/git-issues/git-issue-446.dfy.expect @@ -1,3 +1,22 @@ + +Dafny program verifier finished with 9 verified, 0 errors + +Dafny program verifier did not attempt verification +true -2 +true 42 +End + +Dafny program verifier did not attempt verification +true -2 +true 42 +End + +Dafny program verifier did not attempt verification +true -2 +true 42 +End + +Dafny program verifier did not attempt verification true -2 true 42 End diff --git a/Test/git-issues/git-issue-446a.dfy b/Test/git-issues/git-issue-446a.dfy index 692ab269277..b5f9ca11555 100644 --- a/Test/git-issues/git-issue-446a.dfy +++ b/Test/git-issues/git-issue-446a.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Result = Success(value: T) | Failure(error: string) { diff --git a/Test/git-issues/git-issue-446a.dfy.expect b/Test/git-issues/git-issue-446a.dfy.expect index 9897e1c3f56..fbf9ee6f31d 100644 --- a/Test/git-issues/git-issue-446a.dfy.expect +++ b/Test/git-issues/git-issue-446a.dfy.expect @@ -1,3 +1,22 @@ + +Dafny program verifier finished with 9 verified, 0 errors + +Dafny program verifier did not attempt verification +OK +true OK +true -2 End + +Dafny program verifier did not attempt verification +OK +true OK +true -2 End + +Dafny program verifier did not attempt verification +OK +true OK +true -2 End + +Dafny program verifier did not attempt verification OK true OK true -2 End diff --git a/Test/git-issues/git-issue-446b.dfy b/Test/git-issues/git-issue-446b.dfy index 8b7b6288b2d..d919798afa8 100644 --- a/Test/git-issues/git-issue-446b.dfy +++ b/Test/git-issues/git-issue-446b.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Result = Success(value: T) | Failure(error: string) { diff --git a/Test/git-issues/git-issue-446b.dfy.expect b/Test/git-issues/git-issue-446b.dfy.expect index 36fdd8ba47b..0e99363fdb9 100644 --- a/Test/git-issues/git-issue-446b.dfy.expect +++ b/Test/git-issues/git-issue-446b.dfy.expect @@ -1,3 +1,28 @@ + +Dafny program verifier finished with 10 verified, 0 errors + +Dafny program verifier did not attempt verification +OK +true OK +true -2 +true 100 +End + +Dafny program verifier did not attempt verification +OK +true OK +true -2 +true 100 +End + +Dafny program verifier did not attempt verification +OK +true OK +true -2 +true 100 +End + +Dafny program verifier did not attempt verification OK true OK true -2 diff --git a/Test/git-issues/git-issue-478-good.dfy b/Test/git-issues/git-issue-478-good.dfy index 9abce41e97c..b3fab26a312 100644 --- a/Test/git-issues/git-issue-478-good.dfy +++ b/Test/git-issues/git-issue-478-good.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // By first defining import LibA and then defining a module LibA, // the latter used to generate: diff --git a/Test/git-issues/git-issue-478-good.dfy.expect b/Test/git-issues/git-issue-478-good.dfy.expect index 6807b84eba5..17aea610943 100644 --- a/Test/git-issues/git-issue-478-good.dfy.expect +++ b/Test/git-issues/git-issue-478-good.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 1 verified, 0 errors hello hello hi diff --git a/Test/git-issues/git-issue-506.dfy b/Test/git-issues/git-issue-506.dfy index b6b4eea4b96..8cef74e1d48 100644 --- a/Test/git-issues/git-issue-506.dfy +++ b/Test/git-issues/git-issue-506.dfy @@ -1,4 +1,8 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" +// RUN: %dafny /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/git-issues/git-issue-506.dfy.expect b/Test/git-issues/git-issue-506.dfy.expect index ef2606ec5dc..e2bb6d644d9 100644 --- a/Test/git-issues/git-issue-506.dfy.expect +++ b/Test/git-issues/git-issue-506.dfy.expect @@ -1,3 +1,29 @@ + +Dafny program verifier finished with 2 verified, 0 errors +7 301 +8 391 +2 2 +4 5 +6 7 +2 3 7 0 + +Dafny program verifier finished with 2 verified, 0 errors +7 301 +8 391 +2 2 +4 5 +6 7 +2 3 7 0 + +Dafny program verifier finished with 2 verified, 0 errors +7 301 +8 391 +2 2 +4 5 +6 7 +2 3 7 0 + +Dafny program verifier finished with 2 verified, 0 errors 7 301 8 391 2 2 diff --git a/Test/git-issues/git-issue-532.dfy b/Test/git-issues/git-issue-532.dfy index 2a2b5aaaf2e..3d511dbb4c8 100644 --- a/Test/git-issues/git-issue-532.dfy +++ b/Test/git-issues/git-issue-532.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" predicate SuppressNoTriggerWarning(x: X) { true } diff --git a/Test/git-issues/git-issue-532.dfy.expect b/Test/git-issues/git-issue-532.dfy.expect index 0f3ef3de427..1bd9e82cc5a 100644 --- a/Test/git-issues/git-issue-532.dfy.expect +++ b/Test/git-issues/git-issue-532.dfy.expect @@ -1,3 +1,22 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification +t.x=5 The given Tr is a C, and c.y=6 +t.x=100 The given Tr is not a C +t.x=5 The given Tr is a C, and c.y=16 + +Dafny program verifier did not attempt verification +t.x=5 The given Tr is a C, and c.y=6 +t.x=100 The given Tr is not a C +t.x=5 The given Tr is a C, and c.y=16 + +Dafny program verifier did not attempt verification +t.x=5 The given Tr is a C, and c.y=6 +t.x=100 The given Tr is not a C +t.x=5 The given Tr is a C, and c.y=16 + +Dafny program verifier did not attempt verification t.x=5 The given Tr is a C, and c.y=6 t.x=100 The given Tr is not a C t.x=5 The given Tr is a C, and c.y=16 diff --git a/Test/git-issues/git-issue-549.dfy b/Test/git-issues/git-issue-549.dfy index d362a0bd039..2e5ab322f23 100644 --- a/Test/git-issues/git-issue-549.dfy +++ b/Test/git-issues/git-issue-549.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" trait T { function bar(): bv8 diff --git a/Test/git-issues/git-issue-549.dfy.expect b/Test/git-issues/git-issue-549.dfy.expect index 6e0790e778e..3ae509fee5e 100644 --- a/Test/git-issues/git-issue-549.dfy.expect +++ b/Test/git-issues/git-issue-549.dfy.expect @@ -1,2 +1,10 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification +bar() = 1 +bar() = 1 + +Dafny program verifier did not attempt verification bar() = 1 bar() = 1 diff --git a/Test/git-issues/git-issue-622$f.dfy b/Test/git-issues/git-issue-622$f.dfy index f0f15dd9f8c..fe4fdf38e03 100644 --- a/Test/git-issues/git-issue-622$f.dfy +++ b/Test/git-issues/git-issue-622$f.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /spillTargetCode:3 +// RUN: %dafny /compile:3 /compileTarget:java /spillTargetCode:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { } diff --git a/Test/git-issues/git-issue-622$f.dfy.expect b/Test/git-issues/git-issue-622$f.dfy.expect index e69de29bb2d..012f5b99379 100644 --- a/Test/git-issues/git-issue-622$f.dfy.expect +++ b/Test/git-issues/git-issue-622$f.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/git-issues/git-issue-633.dfy b/Test/git-issues/git-issue-633.dfy index 3e4153b69c4..5d9b5aecf58 100644 --- a/Test/git-issues/git-issue-633.dfy +++ b/Test/git-issues/git-issue-633.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /spillTargetCode:3 /Users/salkeldr/Documents/GitHub/dafny/Test/git-issues/git-issue-633A.dfy +// RUN: %dafny /compile:0 "%s" %S/git-issue-633A.dfy > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs /spillTargetCode:3 "%s" %S/git-issue-633A.dfy >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js /spillTargetCode:3 "%s" %S/git-issue-633A.dfy >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go /spillTargetCode:3 "%s" %S/git-issue-633A.dfy >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java /spillTargetCode:3 "%s" %S/git-issue-633A.dfy >> "%t" +// RUN: %diff "%s.expect" "%t" method m() { print "OK\n"; diff --git a/Test/git-issues/git-issue-633.dfy.expect b/Test/git-issues/git-issue-633.dfy.expect index e69de29bb2d..f02fc57989a 100644 --- a/Test/git-issues/git-issue-633.dfy.expect +++ b/Test/git-issues/git-issue-633.dfy.expect @@ -0,0 +1,10 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-684.dfy b/Test/git-issues/git-issue-684.dfy index 4c2b0a8fa02..b1fbd7ab036 100644 --- a/Test/git-issues/git-issue-684.dfy +++ b/Test/git-issues/git-issue-684.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Level1 = Level1(u:int) datatype Level2 = Level2(u:int, l:Level1) diff --git a/Test/git-issues/git-issue-684.dfy.expect b/Test/git-issues/git-issue-684.dfy.expect index e69de29bb2d..65d3b5d6635 100644 --- a/Test/git-issues/git-issue-684.dfy.expect +++ b/Test/git-issues/git-issue-684.dfy.expect @@ -0,0 +1,10 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-686.dfy b/Test/git-issues/git-issue-686.dfy index 9845ce2b027..bbc975200c8 100644 --- a/Test/git-issues/git-issue-686.dfy +++ b/Test/git-issues/git-issue-686.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Color = Blue | Red diff --git a/Test/git-issues/git-issue-686.dfy.expect b/Test/git-issues/git-issue-686.dfy.expect index c12f8e66df2..f30b0581688 100644 --- a/Test/git-issues/git-issue-686.dfy.expect +++ b/Test/git-issues/git-issue-686.dfy.expect @@ -1 +1,24 @@ +git-issue-686.dfy(13,2): Warning: this branch is redundant +git-issue-686.dfy(21,2): Warning: this branch is redundant + +Dafny program verifier finished with 1 verified, 0 errors +git-issue-686.dfy(13,2): Warning: this branch is redundant +git-issue-686.dfy(21,2): Warning: this branch is redundant + +Dafny program verifier did not attempt verification +6 0 +git-issue-686.dfy(13,2): Warning: this branch is redundant +git-issue-686.dfy(21,2): Warning: this branch is redundant + +Dafny program verifier did not attempt verification +6 0 +git-issue-686.dfy(13,2): Warning: this branch is redundant +git-issue-686.dfy(21,2): Warning: this branch is redundant + +Dafny program verifier did not attempt verification +6 0 +git-issue-686.dfy(13,2): Warning: this branch is redundant +git-issue-686.dfy(21,2): Warning: this branch is redundant + +Dafny program verifier did not attempt verification 6 0 diff --git a/Test/git-issues/git-issue-686.dfy.verifier.expect b/Test/git-issues/git-issue-686.dfy.verifier.expect deleted file mode 100644 index 5b8c694a4bc..00000000000 --- a/Test/git-issues/git-issue-686.dfy.verifier.expect +++ /dev/null @@ -1,2 +0,0 @@ -git-issue-686.dfy(13,2): Warning: this branch is redundant -git-issue-686.dfy(21,2): Warning: this branch is redundant diff --git a/Test/git-issues/git-issue-697.dfy b/Test/git-issues/git-issue-697.dfy index 23cce66dee7..095c1a02399 100644 --- a/Test/git-issues/git-issue-697.dfy +++ b/Test/git-issues/git-issue-697.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Cell = Cell(x: int) type EvenCell = c: Cell | c.x % 2 == 0 witness Cell(0) diff --git a/Test/git-issues/git-issue-697.dfy.expect b/Test/git-issues/git-issue-697.dfy.expect index f32a5804e29..188a72ebc36 100644 --- a/Test/git-issues/git-issue-697.dfy.expect +++ b/Test/git-issues/git-issue-697.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-697b.dfy b/Test/git-issues/git-issue-697b.dfy index cdb054d8d78..cfdd3fd0821 100644 --- a/Test/git-issues/git-issue-697b.dfy +++ b/Test/git-issues/git-issue-697b.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Cell = Cell(x: int) type EvenCell = c: Cell | c.x % 2 == 0 witness Cell(0) diff --git a/Test/git-issues/git-issue-697b.dfy.expect b/Test/git-issues/git-issue-697b.dfy.expect index 9c777ac6a0f..b355409912b 100644 --- a/Test/git-issues/git-issue-697b.dfy.expect +++ b/Test/git-issues/git-issue-697b.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors false 2 diff --git a/Test/git-issues/git-issue-697d.dfy b/Test/git-issues/git-issue-697d.dfy index 8b65c2da4f7..71a262fc985 100644 --- a/Test/git-issues/git-issue-697d.dfy +++ b/Test/git-issues/git-issue-697d.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" function nonGhostPredicate(x: int): bool { x % 2 == 0 diff --git a/Test/git-issues/git-issue-697d.dfy.expect b/Test/git-issues/git-issue-697d.dfy.expect index f32a5804e29..48fb59aeae5 100644 --- a/Test/git-issues/git-issue-697d.dfy.expect +++ b/Test/git-issues/git-issue-697d.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 4 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-697e.dfy b/Test/git-issues/git-issue-697e.dfy index 310851abf9a..e4500bfab28 100644 --- a/Test/git-issues/git-issue-697e.dfy +++ b/Test/git-issues/git-issue-697e.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Cell = Cell(x: int) type EvenCell = c: Cell | c.x % 2 == 0 witness Cell(0) diff --git a/Test/git-issues/git-issue-697e.dfy.expect b/Test/git-issues/git-issue-697e.dfy.expect index e69de29bb2d..00a51f822da 100644 --- a/Test/git-issues/git-issue-697e.dfy.expect +++ b/Test/git-issues/git-issue-697e.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 3 verified, 0 errors diff --git a/Test/git-issues/git-issue-697f.dfy b/Test/git-issues/git-issue-697f.dfy index acb8810dfbf..92d1cec2ed8 100644 --- a/Test/git-issues/git-issue-697f.dfy +++ b/Test/git-issues/git-issue-697f.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" ghost function ghostPredicate(x: int): bool { x % 2 == 0 diff --git a/Test/git-issues/git-issue-697f.dfy.expect b/Test/git-issues/git-issue-697f.dfy.expect index b5754e20373..3e2cf8d0f69 100644 --- a/Test/git-issues/git-issue-697f.dfy.expect +++ b/Test/git-issues/git-issue-697f.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 4 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-697g.dfy b/Test/git-issues/git-issue-697g.dfy index 7b30de7f3a0..c3b7581ff61 100644 --- a/Test/git-issues/git-issue-697g.dfy +++ b/Test/git-issues/git-issue-697g.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" function returnNat(c: nat): int { diff --git a/Test/git-issues/git-issue-697g.dfy.expect b/Test/git-issues/git-issue-697g.dfy.expect index f32a5804e29..d9157fa820a 100644 --- a/Test/git-issues/git-issue-697g.dfy.expect +++ b/Test/git-issues/git-issue-697g.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-698.dfy b/Test/git-issues/git-issue-698.dfy index 7b7a9ca15b8..b15295c9b46 100644 --- a/Test/git-issues/git-issue-698.dfy +++ b/Test/git-issues/git-issue-698.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" type Small = x: int | 0 <= x < 100 && x != 3 diff --git a/Test/git-issues/git-issue-698.dfy.expect b/Test/git-issues/git-issue-698.dfy.expect index 27ba77ddaf6..7f965a65d2e 100644 --- a/Test/git-issues/git-issue-698.dfy.expect +++ b/Test/git-issues/git-issue-698.dfy.expect @@ -1 +1,8 @@ + +Dafny program verifier finished with 3 verified, 0 errors + +Dafny program verifier did not attempt verification +true + +Dafny program verifier did not attempt verification true diff --git a/Test/git-issues/git-issue-698b.dfy b/Test/git-issues/git-issue-698b.dfy index dbdbc3b36d3..1d4a92456e6 100644 --- a/Test/git-issues/git-issue-698b.dfy +++ b/Test/git-issues/git-issue-698b.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" type Small = x: int | 0 <= x < 100 && x != 3 @@ -12,4 +13,4 @@ method Main() { var b := !exists n: Small :: F(n) != 100; assert b; print b; -} +} \ No newline at end of file diff --git a/Test/git-issues/git-issue-698b.dfy.expect b/Test/git-issues/git-issue-698b.dfy.expect index f32a5804e29..188a72ebc36 100644 --- a/Test/git-issues/git-issue-698b.dfy.expect +++ b/Test/git-issues/git-issue-698b.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-701.dfy b/Test/git-issues/git-issue-701.dfy index 38984df4ecf..af19f0d89e2 100644 --- a/Test/git-issues/git-issue-701.dfy +++ b/Test/git-issues/git-issue-701.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var ca := new ClassA; diff --git a/Test/git-issues/git-issue-701.dfy.expect b/Test/git-issues/git-issue-701.dfy.expect index 5198c09cbb1..4d20966e641 100644 --- a/Test/git-issues/git-issue-701.dfy.expect +++ b/Test/git-issues/git-issue-701.dfy.expect @@ -1,3 +1,22 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification +0 0 0 +[] [] [] +C.Nothing C.Nothing C.Nothing + +Dafny program verifier did not attempt verification +0 0 0 +[] [] [] +C.Nothing C.Nothing C.Nothing + +Dafny program verifier did not attempt verification +0 0 0 +[] [] [] +C.Nothing C.Nothing C.Nothing + +Dafny program verifier did not attempt verification 0 0 0 [] [] [] C.Nothing C.Nothing C.Nothing diff --git a/Test/git-issues/git-issue-705.dfy b/Test/git-issues/git-issue-705.dfy index 5b2fa1bac01..d4b806800c2 100644 --- a/Test/git-issues/git-issue-705.dfy +++ b/Test/git-issues/git-issue-705.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /spillTargetCode:3 +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs /spillTargetCode:3 "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js /spillTargetCode:3 "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go /spillTargetCode:3 "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java /spillTargetCode:3 "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype MyDataType = AAA { function toString(): int { 222 } diff --git a/Test/git-issues/git-issue-705.dfy.expect b/Test/git-issues/git-issue-705.dfy.expect index 79a1eee7c74..02cf409667a 100644 --- a/Test/git-issues/git-issue-705.dfy.expect +++ b/Test/git-issues/git-issue-705.dfy.expect @@ -1 +1,14 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification +MyDataType.AAA 222 + +Dafny program verifier did not attempt verification +MyDataType.AAA 222 + +Dafny program verifier did not attempt verification +MyDataType.AAA 222 + +Dafny program verifier did not attempt verification MyDataType.AAA 222 diff --git a/Test/git-issues/git-issue-731.dfy b/Test/git-issues/git-issue-731.dfy index 348d40fecea..05d02fea1af 100644 --- a/Test/git-issues/git-issue-731.dfy +++ b/Test/git-issues/git-issue-731.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" trait Trait { const y: Y diff --git a/Test/git-issues/git-issue-731.dfy.expect b/Test/git-issues/git-issue-731.dfy.expect index 7554a44901e..69b2e6af648 100644 --- a/Test/git-issues/git-issue-731.dfy.expect +++ b/Test/git-issues/git-issue-731.dfy.expect @@ -1,2 +1,18 @@ + +Dafny program verifier finished with 3 verified, 0 errors + +Dafny program verifier did not attempt verification +0 0 0 42 +0 0 0 9 + +Dafny program verifier did not attempt verification +0 0 0 42 +0 0 0 9 + +Dafny program verifier did not attempt verification +0 0 0 42 +0 0 0 9 + +Dafny program verifier did not attempt verification 0 0 0 42 0 0 0 9 diff --git a/Test/git-issues/git-issue-731b.dfy b/Test/git-issues/git-issue-731b.dfy index 2a0507839a2..a77dbd6323b 100644 --- a/Test/git-issues/git-issue-731b.dfy +++ b/Test/git-issues/git-issue-731b.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // Testing issue#731 when the class in question has type parameters diff --git a/Test/git-issues/git-issue-731b.dfy.expect b/Test/git-issues/git-issue-731b.dfy.expect index dd3226d2b73..97e6c041920 100644 --- a/Test/git-issues/git-issue-731b.dfy.expect +++ b/Test/git-issues/git-issue-731b.dfy.expect @@ -1 +1,14 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification +0 42 + +Dafny program verifier did not attempt verification +0 42 + +Dafny program verifier did not attempt verification +0 42 + +Dafny program verifier did not attempt verification 0 42 diff --git a/Test/git-issues/git-issue-755.dfy b/Test/git-issues/git-issue-755.dfy index 2227a486a21..25fb3e6a485 100644 --- a/Test/git-issues/git-issue-755.dfy +++ b/Test/git-issues/git-issue-755.dfy @@ -1,5 +1,9 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var s := { 1,9,3,7,5}; diff --git a/Test/git-issues/git-issue-755.dfy.expect b/Test/git-issues/git-issue-755.dfy.expect index 9182de3a24a..c930da26922 100644 --- a/Test/git-issues/git-issue-755.dfy.expect +++ b/Test/git-issues/git-issue-755.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 5 verified, 0 errors + +Dafny program verifier did not attempt verification 1 3 5 @@ -5,3 +9,30 @@ 9 1 3 3 5 + +Dafny program verifier did not attempt verification +1 +9 +3 +7 +5 +1 3 +3 5 + +Dafny program verifier did not attempt verification +1 +9 +3 +7 +5 +1 3 +3 5 + +Dafny program verifier did not attempt verification +1 +3 +5 +7 +9 +3 5 +1 3 diff --git a/Test/git-issues/git-issue-755.dfy.go.expect b/Test/git-issues/git-issue-755.dfy.go.expect deleted file mode 100644 index f41e86c7579..00000000000 --- a/Test/git-issues/git-issue-755.dfy.go.expect +++ /dev/null @@ -1,7 +0,0 @@ -1 -9 -3 -7 -5 -1 3 -3 5 diff --git a/Test/git-issues/git-issue-755.dfy.java.expect b/Test/git-issues/git-issue-755.dfy.java.expect deleted file mode 100644 index f4407f49a6f..00000000000 --- a/Test/git-issues/git-issue-755.dfy.java.expect +++ /dev/null @@ -1,7 +0,0 @@ -1 -3 -5 -7 -9 -3 5 -1 3 diff --git a/Test/git-issues/git-issue-755.dfy.js.expect b/Test/git-issues/git-issue-755.dfy.js.expect deleted file mode 100644 index f41e86c7579..00000000000 --- a/Test/git-issues/git-issue-755.dfy.js.expect +++ /dev/null @@ -1,7 +0,0 @@ -1 -9 -3 -7 -5 -1 3 -3 5 diff --git a/Test/git-issues/git-issue-784.dfy b/Test/git-issues/git-issue-784.dfy index 5f6cf59465c..78b83f01064 100644 --- a/Test/git-issues/git-issue-784.dfy +++ b/Test/git-issues/git-issue-784.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype List = Nil | Cons(T, List) { function App(ys: List): List { diff --git a/Test/git-issues/git-issue-784.dfy.expect b/Test/git-issues/git-issue-784.dfy.expect index e69de29bb2d..8da23be5c8c 100644 --- a/Test/git-issues/git-issue-784.dfy.expect +++ b/Test/git-issues/git-issue-784.dfy.expect @@ -0,0 +1,10 @@ + +Dafny program verifier finished with 4 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-953.dfy b/Test/git-issues/git-issue-953.dfy index 1032ad45a3a..0e9e0198b90 100644 --- a/Test/git-issues/git-issue-953.dfy +++ b/Test/git-issues/git-issue-953.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" module P { datatype T_ = T() // the underscore in this name once caused a problem in Java compilation diff --git a/Test/git-issues/git-issue-953.dfy.expect b/Test/git-issues/git-issue-953.dfy.expect index d992760e80b..b731ec2edbe 100644 --- a/Test/git-issues/git-issue-953.dfy.expect +++ b/Test/git-issues/git-issue-953.dfy.expect @@ -1,3 +1,39 @@ + +Dafny program verifier finished with 6 verified, 0 errors + +Dafny program verifier did not attempt verification +C_Compile.T_.T +P_Compile.T_.T +OtherNamesWithSpecialCharacters_q___Compile.A?_.A?_ OtherNamesWithSpecialCharacters_q___Compile.B?_.B?_ +17 17 0 0 +C2_Compile.C.C(10, 11) +9 + +Dafny program verifier did not attempt verification +C_Compile.T_.T +P_Compile.T_.T +OtherNamesWithSpecialCharacters_q___Compile.A?_.A?_ OtherNamesWithSpecialCharacters_q___Compile.B?_.B?_ +17 17 0 0 +C2_Compile.C.C(10, 11) +9 + +Dafny program verifier did not attempt verification +C_Compile.T_.T +P_Compile.T_.T +OtherNamesWithSpecialCharacters_q___Compile.A?_.A?_ OtherNamesWithSpecialCharacters_q___Compile.B?_.B?_ +17 17 0 0 +C2_Compile.C.C(10, 11) +9 + +Dafny program verifier did not attempt verification +C_Compile.T_.T +P_Compile.T_.T +OtherNamesWithSpecialCharacters_q___Compile.A?_.A?_ OtherNamesWithSpecialCharacters_q___Compile.B?_.B?_ +17 17 0 0 +C2_Compile.C.C(10, 11) +9 + +Dafny program verifier did not attempt verification C_Compile.T_.T P_Compile.T_.T OtherNamesWithSpecialCharacters_q___Compile.A?_.A?_ OtherNamesWithSpecialCharacters_q___Compile.B?_.B?_ diff --git a/Test/git-issues/github-issue-3343.dfy b/Test/git-issues/github-issue-3343.dfy index d518b2a1a41..517a11d7fc1 100644 --- a/Test/git-issues/github-issue-3343.dfy +++ b/Test/git-issues/github-issue-3343.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" +// RUN: %baredafny run "%s" -t:java > "%t" +// RUN: %diff "%s.expect" "%t" method Bug() { var zero := 0; var a := new int[zero] []; diff --git a/Test/git-issues/github-issue-3343.dfy.expect b/Test/git-issues/github-issue-3343.dfy.expect index e69de29bb2d..823a60a105c 100644 --- a/Test/git-issues/github-issue-3343.dfy.expect +++ b/Test/git-issues/github-issue-3343.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 1 verified, 0 errors diff --git a/Test/hofs/Compilation.dfy b/Test/hofs/Compilation.dfy index 7e9c674b495..99fd0a36506 100644 --- a/Test/hofs/Compilation.dfy +++ b/Test/hofs/Compilation.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" class Ref { var val : A diff --git a/Test/hofs/Compilation.dfy.expect b/Test/hofs/Compilation.dfy.expect index 6b7187d2557..760fafc6189 100644 --- a/Test/hofs/Compilation.dfy.expect +++ b/Test/hofs/Compilation.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 2 verified, 0 errors 1 = 1 3 = 3 3 = 3 diff --git a/Test/hofs/Examples.dfy b/Test/hofs/Examples.dfy index 8555f35882c..6b857f7f86b 100644 --- a/Test/hofs/Examples.dfy +++ b/Test/hofs/Examples.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" function Apply(f: A ~> B, x: A): B reads f.reads(x); diff --git a/Test/hofs/Examples.dfy.expect b/Test/hofs/Examples.dfy.expect index e69de29bb2d..851aaf58286 100644 --- a/Test/hofs/Examples.dfy.expect +++ b/Test/hofs/Examples.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 7 verified, 0 errors diff --git a/Test/hofs/Fold.dfy b/Test/hofs/Fold.dfy index 96ddb01591f..336f9121b52 100644 --- a/Test/hofs/Fold.dfy +++ b/Test/hofs/Fold.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype List = Nil | Cons(A,List) diff --git a/Test/hofs/Fold.dfy.expect b/Test/hofs/Fold.dfy.expect index 3abcc310618..144ffab92db 100644 --- a/Test/hofs/Fold.dfy.expect +++ b/Test/hofs/Fold.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors 3 = 3 diff --git a/Test/hofs/Folding.dfy b/Test/hofs/Folding.dfy index ef1dcee80bb..a300ea03b63 100644 --- a/Test/hofs/Folding.dfy +++ b/Test/hofs/Folding.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /induction:3 +// RUN: %dafny /compile:3 /induction:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Specifications and proofs involving foldr (inspired by Liquid Haskell) and foldl // Rustan Leino diff --git a/Test/hofs/Folding.dfy.expect b/Test/hofs/Folding.dfy.expect index 326af12dd76..c4384266dfb 100644 --- a/Test/hofs/Folding.dfy.expect +++ b/Test/hofs/Folding.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 21 verified, 0 errors xs = List.Cons(57, List.Cons(100, List.Cons(-34, List.Cons(1, List.Cons(8, List.Nil))))) foldr = 264 foldl = 264 diff --git a/Test/hofs/Renaming.dfy b/Test/hofs/Renaming.dfy index f4fb538c6bf..20922d5dabb 100644 --- a/Test/hofs/Renaming.dfy +++ b/Test/hofs/Renaming.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" function OnId(f : (bool -> bool) -> int) : int reads f.reads(x => x); diff --git a/Test/hofs/Renaming.dfy.expect b/Test/hofs/Renaming.dfy.expect index 13a954d9043..e2b6636dbe4 100644 --- a/Test/hofs/Renaming.dfy.expect +++ b/Test/hofs/Renaming.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 4 verified, 0 errors 10 11 diff --git a/Test/hofs/Requires.dfy b/Test/hofs/Requires.dfy index 8691624ebc5..4abc63d6c21 100644 --- a/Test/hofs/Requires.dfy +++ b/Test/hofs/Requires.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/hofs/Requires.dfy.expect b/Test/hofs/Requires.dfy.expect index e69de29bb2d..1981561ca00 100644 --- a/Test/hofs/Requires.dfy.expect +++ b/Test/hofs/Requires.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 10 verified, 0 errors diff --git a/Test/hofs/TreeMapSimple.dfy b/Test/hofs/TreeMapSimple.dfy index b7baf6eb8d7..d93aea46403 100644 --- a/Test/hofs/TreeMapSimple.dfy +++ b/Test/hofs/TreeMapSimple.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { TestY(); diff --git a/Test/hofs/TreeMapSimple.dfy.expect b/Test/hofs/TreeMapSimple.dfy.expect index be0317f1016..9224d605f7e 100644 --- a/Test/hofs/TreeMapSimple.dfy.expect +++ b/Test/hofs/TreeMapSimple.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 11 verified, 0 errors Tree.Branch(100, List.Cons(Tree.Branch(50, List.Nil), List.Nil)) Tree.Branch(100, List.Cons(Tree.Branch(50, List.Nil), List.Nil)) diff --git a/Test/hofs/VectorUpdate.dfy b/Test/hofs/VectorUpdate.dfy index 70c0de3084e..848ed585ca6 100644 --- a/Test/hofs/VectorUpdate.dfy +++ b/Test/hofs/VectorUpdate.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // this is a rather verbose version of the VectorUpdate method method VectorUpdate(N: int, a : array, f : (int,A) ~> A) diff --git a/Test/hofs/VectorUpdate.dfy.expect b/Test/hofs/VectorUpdate.dfy.expect index 7645f125857..b8fae39eab8 100644 --- a/Test/hofs/VectorUpdate.dfy.expect +++ b/Test/hofs/VectorUpdate.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 8 verified, 0 errors 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 100, 50, 33, 25, 20, 16, 14, 12, 11, 10 diff --git a/Test/hofs/WhileLoop.dfy b/Test/hofs/WhileLoop.dfy index 914f47f4522..4af9fbd841b 100644 --- a/Test/hofs/WhileLoop.dfy +++ b/Test/hofs/WhileLoop.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" class Ref { var val: A diff --git a/Test/hofs/WhileLoop.dfy.expect b/Test/hofs/WhileLoop.dfy.expect index 83083b451e1..234ac298c9b 100644 --- a/Test/hofs/WhileLoop.dfy.expect +++ b/Test/hofs/WhileLoop.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 4 verified, 0 errors 22 22 22 diff --git a/Test/irondafny0/optimize0.dfy b/Test/irondafny0/optimize0.dfy index 218c9820626..c4b8b2122ca 100644 --- a/Test/irondafny0/optimize0.dfy +++ b/Test/irondafny0/optimize0.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /optimize +// RUN: %dafny /compile:3 /optimize /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // See https://github.com/dafny-lang/dafny/issues/508 method Main() { diff --git a/Test/irondafny0/optimize0.dfy.expect b/Test/irondafny0/optimize0.dfy.expect index 0d5c8e51c8b..4e37c19c360 100644 --- a/Test/irondafny0/optimize0.dfy.expect +++ b/Test/irondafny0/optimize0.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 0 verified, 0 errors o hai! \ No newline at end of file diff --git a/Test/metatests/OutputEncoding.dfy b/Test/metatests/OutputEncoding.dfy index 59fa53bf298..68c390ac811 100644 --- a/Test/metatests/OutputEncoding.dfy +++ b/Test/metatests/OutputEncoding.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" +// RUN: %baredafny verify %args "%s" > "%t" +// RUN: %baredafny run --no-verify --target=cs %args "%s" >> "%t" +// RUN: %baredafny run --no-verify --target=js %args "%s" >> "%t" +// RUN: %baredafny run --no-verify --target=go %args "%s" >> "%t" +// RUN: %baredafny run --no-verify --target=py %args "%s" >> "%t" +// RUN: %baredafny run --no-verify --target=java %args "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { // This works fine in all languages because € is a single UTF-16 code unit. diff --git a/Test/metatests/OutputEncoding.dfy.expect b/Test/metatests/OutputEncoding.dfy.expect index b25a57298f1..a37241376f3 100644 --- a/Test/metatests/OutputEncoding.dfy.expect +++ b/Test/metatests/OutputEncoding.dfy.expect @@ -1 +1,17 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification +Euro sign: € + +Dafny program verifier did not attempt verification +Euro sign: € + +Dafny program verifier did not attempt verification +Euro sign: € + +Dafny program verifier did not attempt verification +Euro sign: € + +Dafny program verifier did not attempt verification Euro sign: € diff --git a/Test/patterns/OrPatterns.dfy b/Test/patterns/OrPatterns.dfy index 6385bd55c93..4f2610c9379 100644 --- a/Test/patterns/OrPatterns.dfy +++ b/Test/patterns/OrPatterns.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /rprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Enum = One | Two | Three { predicate Even() { diff --git a/Test/patterns/OrPatterns.dfy.expect b/Test/patterns/OrPatterns.dfy.expect index d86bac9de59..a6fce7c4a13 100644 --- a/Test/patterns/OrPatterns.dfy.expect +++ b/Test/patterns/OrPatterns.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 11 verified, 0 errors OK diff --git a/Test/patterns/PatternMatching.dfy b/Test/patterns/PatternMatching.dfy index e8a73b856e4..477126c066a 100644 --- a/Test/patterns/PatternMatching.dfy +++ b/Test/patterns/PatternMatching.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" /* * This file contains a collection of tests for features modified or introduced in PR 458 @@ -221,4 +222,4 @@ method Main() { var r5 := MultipleNestedMatch(A(0), t4, bb); print "Testing MultipleNestedMatch: ", r0, r1, r2, r3, r4, r5, ", should return 012345\n"; -} +} \ No newline at end of file diff --git a/Test/patterns/PatternMatching.dfy.expect b/Test/patterns/PatternMatching.dfy.expect index b4415971ca5..2970273cbfc 100644 --- a/Test/patterns/PatternMatching.dfy.expect +++ b/Test/patterns/PatternMatching.dfy.expect @@ -1,3 +1,6 @@ +PatternMatching.dfy(102,4): Warning: this branch is redundant + +Dafny program verifier finished with 9 verified, 0 errors NestingTest([6]) = 6, should return 6 NestedVariableTest([2::3::4::5::6]) = 0, should return 0 ConstantTest([3::4::5::6]) = 2, should return 2 diff --git a/Test/traits/TraitCompile.dfy b/Test/traits/TraitCompile.dfy index 6e9b925fbc5..03cf3746c6f 100644 --- a/Test/traits/TraitCompile.dfy +++ b/Test/traits/TraitCompile.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" trait TT { @@ -814,4 +820,4 @@ module RedeclaringMembers { true } } -} +} \ No newline at end of file diff --git a/Test/traits/TraitCompile.dfy.expect b/Test/traits/TraitCompile.dfy.expect index b70a9b09d2e..8257b754de2 100644 --- a/Test/traits/TraitCompile.dfy.expect +++ b/Test/traits/TraitCompile.dfy.expect @@ -1,3 +1,259 @@ + +Dafny program verifier finished with 75 verified, 0 errors + +Dafny program verifier did not attempt verification +y=120 +x=12 +d=800 +a5=407 +t=1212 +z=30 +z'=30 +w=30 +d=1000 +a5=507 +t=1512 +t=1512 +t=1515 +This is OtherModule.P(7.0) +From OtherModule.Y: 7 and true +This is OtherModule.P(7.0) +From OtherModule.X: 7 and true +c.f= 15 j.f= 15 +c.f= 18 j.f= 18 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +x=126 +5.2 9 false +true true true true +false false false false +true true true true +false false false false +5.2 5.2 +1.2 1.2 +1.2 1.2 +15 30 +15 30 +15 30 +0 (0, 0) 0 +8 +0 0 0 0 0 0 0 0 0 0 0 0 +13 13 13 13 13 13 13 13 13 13 13 13 +14 14 14 14 14 14 14 14 14 14 14 14 +15 15 15 15 15 15 15 15 15 15 15 15 +16 16 16 16 16 16 16 16 16 16 16 16 +17 17 17 17 17 17 17 17 17 17 17 17 +18 18 18 18 18 18 18 18 18 18 18 18 +19 19 19 19 19 19 19 19 19 19 19 19 +20 20 20 20 20 20 20 20 20 20 20 20 +21 21 21 21 21 21 21 21 21 21 21 21 +22 22 22 22 22 22 22 22 22 22 22 22 +23 23 23 23 23 23 23 23 23 23 23 23 +24 24 24 24 24 24 24 24 24 24 24 24 +f(4) = 7 +f(4) = 7 +g(4) = 7 +g(4) = 7 +41 15 26 +true true +true true +true true +true true +true true true +true true true + +Dafny program verifier did not attempt verification +y=120 +x=12 +d=800 +a5=407 +t=1212 +z=30 +z'=30 +w=30 +d=1000 +a5=507 +t=1512 +t=1512 +t=1515 +This is OtherModule.P(7.0) +From OtherModule.Y: 7 and true +This is OtherModule.P(7.0) +From OtherModule.X: 7 and true +c.f= 15 j.f= 15 +c.f= 18 j.f= 18 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +x=126 +5.2 9 false +true true true true +false false false false +true true true true +false false false false +5.2 5.2 +1.2 1.2 +1.2 1.2 +15 30 +15 30 +15 30 +0 (0, 0) 0 +8 +0 0 0 0 0 0 0 0 0 0 0 0 +13 13 13 13 13 13 13 13 13 13 13 13 +14 14 14 14 14 14 14 14 14 14 14 14 +15 15 15 15 15 15 15 15 15 15 15 15 +16 16 16 16 16 16 16 16 16 16 16 16 +17 17 17 17 17 17 17 17 17 17 17 17 +18 18 18 18 18 18 18 18 18 18 18 18 +19 19 19 19 19 19 19 19 19 19 19 19 +20 20 20 20 20 20 20 20 20 20 20 20 +21 21 21 21 21 21 21 21 21 21 21 21 +22 22 22 22 22 22 22 22 22 22 22 22 +23 23 23 23 23 23 23 23 23 23 23 23 +24 24 24 24 24 24 24 24 24 24 24 24 +f(4) = 7 +f(4) = 7 +g(4) = 7 +g(4) = 7 +41 15 26 +true true +true true +true true +true true +true true true +true true true + +Dafny program verifier did not attempt verification +y=120 +x=12 +d=800 +a5=407 +t=1212 +z=30 +z'=30 +w=30 +d=1000 +a5=507 +t=1512 +t=1512 +t=1515 +This is OtherModule.P(7.0) +From OtherModule.Y: 7 and true +This is OtherModule.P(7.0) +From OtherModule.X: 7 and true +c.f= 15 j.f= 15 +c.f= 18 j.f= 18 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +x=126 +5.2 9 false +true true true true +false false false false +true true true true +false false false false +5.2 5.2 +1.2 1.2 +1.2 1.2 +15 30 +15 30 +15 30 +0 (0, 0) 0 +8 +0 0 0 0 0 0 0 0 0 0 0 0 +13 13 13 13 13 13 13 13 13 13 13 13 +14 14 14 14 14 14 14 14 14 14 14 14 +15 15 15 15 15 15 15 15 15 15 15 15 +16 16 16 16 16 16 16 16 16 16 16 16 +17 17 17 17 17 17 17 17 17 17 17 17 +18 18 18 18 18 18 18 18 18 18 18 18 +19 19 19 19 19 19 19 19 19 19 19 19 +20 20 20 20 20 20 20 20 20 20 20 20 +21 21 21 21 21 21 21 21 21 21 21 21 +22 22 22 22 22 22 22 22 22 22 22 22 +23 23 23 23 23 23 23 23 23 23 23 23 +24 24 24 24 24 24 24 24 24 24 24 24 +f(4) = 7 +f(4) = 7 +g(4) = 7 +g(4) = 7 +41 15 26 +true true +true true +true true +true true +true true true +true true true + +Dafny program verifier did not attempt verification +y=120 +x=12 +d=800 +a5=407 +t=1212 +z=30 +z'=30 +w=30 +d=1000 +a5=507 +t=1512 +t=1512 +t=1515 +This is OtherModule.P(7.0) +From OtherModule.Y: 7 and true +This is OtherModule.P(7.0) +From OtherModule.X: 7 and true +c.f= 15 j.f= 15 +c.f= 18 j.f= 18 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +x=126 +5.2 9 false +true true true true +false false false false +true true true true +false false false false +5.2 5.2 +1.2 1.2 +1.2 1.2 +15 30 +15 30 +15 30 +0 (0, 0) 0 +8 +0 0 0 0 0 0 0 0 0 0 0 0 +13 13 13 13 13 13 13 13 13 13 13 13 +14 14 14 14 14 14 14 14 14 14 14 14 +15 15 15 15 15 15 15 15 15 15 15 15 +16 16 16 16 16 16 16 16 16 16 16 16 +17 17 17 17 17 17 17 17 17 17 17 17 +18 18 18 18 18 18 18 18 18 18 18 18 +19 19 19 19 19 19 19 19 19 19 19 19 +20 20 20 20 20 20 20 20 20 20 20 20 +21 21 21 21 21 21 21 21 21 21 21 21 +22 22 22 22 22 22 22 22 22 22 22 22 +23 23 23 23 23 23 23 23 23 23 23 23 +24 24 24 24 24 24 24 24 24 24 24 24 +f(4) = 7 +f(4) = 7 +g(4) = 7 +g(4) = 7 +41 15 26 +true true +true true +true true +true true +true true true +true true true + +Dafny program verifier did not attempt verification y=120 x=12 d=800 diff --git a/Test/traits/TraitExample.dfy b/Test/traits/TraitExample.dfy index 54c5cbbec6f..d6afb4ce70b 100644 --- a/Test/traits/TraitExample.dfy +++ b/Test/traits/TraitExample.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" trait Automobile { ghost var Repr: set diff --git a/Test/traits/TraitExample.dfy.expect b/Test/traits/TraitExample.dfy.expect index b9783e62141..c1b4ac93962 100644 --- a/Test/traits/TraitExample.dfy.expect +++ b/Test/traits/TraitExample.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 29 verified, 0 errors Fiat: 6 Volvo: 20 Catacar: 26 diff --git a/Test/traits/Traits-Fields.dfy b/Test/traits/Traits-Fields.dfy index d371b5de375..4176761d8ae 100644 --- a/Test/traits/Traits-Fields.dfy +++ b/Test/traits/Traits-Fields.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" trait J { diff --git a/Test/traits/Traits-Fields.dfy.expect b/Test/traits/Traits-Fields.dfy.expect index c39bd8b5d5d..cc460fc52f4 100644 --- a/Test/traits/Traits-Fields.dfy.expect +++ b/Test/traits/Traits-Fields.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 2 verified, 0 errors j.x = 9 c.x = 9 diff --git a/Test/traits/TraitsMultipleInheritance.dfy b/Test/traits/TraitsMultipleInheritance.dfy index 384d6b9f9ed..2e2103e6c1f 100644 --- a/Test/traits/TraitsMultipleInheritance.dfy +++ b/Test/traits/TraitsMultipleInheritance.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" trait J1{ var x: int; @@ -26,4 +27,4 @@ method Main() print "j1.x + j2.y = " , j1.x + j2.y, "\n"; assert c.x + c.y == j1.x + j2.y; -} +} \ No newline at end of file diff --git a/Test/traits/TraitsMultipleInheritance.dfy.expect b/Test/traits/TraitsMultipleInheritance.dfy.expect index b116b2d070d..ad1a1011a25 100644 --- a/Test/traits/TraitsMultipleInheritance.dfy.expect +++ b/Test/traits/TraitsMultipleInheritance.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 1 verified, 0 errors c.x + c.y = 30 j1.x + j2.y = 30 diff --git a/Test/unicodechars/comp/Collections.dfy b/Test/unicodechars/comp/Collections.dfy index 34f1a1e2180..fb3e451eb83 100644 --- a/Test/unicodechars/comp/Collections.dfy +++ b/Test/unicodechars/comp/Collections.dfy @@ -1,3 +1,8 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:true /verifyAllModules +// RUN: %dafny /compile:0 /verifyAllModules /unicodeChar:1 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" include "../../comp/Collections.dfy" diff --git a/Test/unicodechars/comp/Collections.dfy.expect b/Test/unicodechars/comp/Collections.dfy.expect index 89f08b08d75..70586502b0d 100644 --- a/Test/unicodechars/comp/Collections.dfy.expect +++ b/Test/unicodechars/comp/Collections.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 40 verified, 0 errors + +Dafny program verifier did not attempt verification Sets: {} {17, 82} {12, 17} cardinality: 0 2 2 union: {17, 82} {12, 17, 82} @@ -123,3 +127,511 @@ Multiset=== 1 3 |s|=2 |u|=4 1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Yellow := 21, Color.Blue := 30] +keys: {Color.Yellow, Color.Blue} +values: {21, 30} +items: {(Color.Yellow, 21), (Color.Blue, 30)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {21, 30} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.go.expect b/Test/unicodechars/comp/Collections.dfy.go.expect deleted file mode 100644 index 2fc0f3b7093..00000000000 --- a/Test/unicodechars/comp/Collections.dfy.go.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.java.expect b/Test/unicodechars/comp/Collections.dfy.java.expect deleted file mode 100644 index 39975cadfc4..00000000000 --- a/Test/unicodechars/comp/Collections.dfy.java.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Yellow := 21, Color.Blue := 30] -keys: {Color.Yellow, Color.Blue} -values: {21, 30} -items: {(Color.Yellow, 21), (Color.Blue, 30)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.js.expect b/Test/unicodechars/comp/Collections.dfy.js.expect deleted file mode 100644 index 2fc0f3b7093..00000000000 --- a/Test/unicodechars/comp/Collections.dfy.js.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.py.expect b/Test/unicodechars/comp/Collections.dfy.py.expect deleted file mode 100644 index e4e346dede0..00000000000 --- a/Test/unicodechars/comp/Collections.dfy.py.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {21, 30} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/unicodechars/comp/Comprehensions.dfy b/Test/unicodechars/comp/Comprehensions.dfy index 7ce8835997f..274f8d3a150 100644 --- a/Test/unicodechars/comp/Comprehensions.dfy +++ b/Test/unicodechars/comp/Comprehensions.dfy @@ -1,3 +1,8 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:true /verifyAllModules -include "../../comp/Comprehensions.dfy" +// RUN: %dafny /compile:0 /unicodeChar:1 /verifyAllModules "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" +include "../../comp/Comprehensions.dfy" \ No newline at end of file diff --git a/Test/unicodechars/comp/Comprehensions.dfy.expect b/Test/unicodechars/comp/Comprehensions.dfy.expect index c9703fc9397..18159ddde0a 100644 --- a/Test/unicodechars/comp/Comprehensions.dfy.expect +++ b/Test/unicodechars/comp/Comprehensions.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 32 verified, 0 errors + +Dafny program verifier did not attempt verification x=13 y=14 x=13 y=14 b=yes true false @@ -60,3 +64,259 @@ true true [137438953474, 137438953475, 137438953476, 137438953477, 137438953479] cdefh cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[14 := 7, 12 := 6, 13 := 6] +map[18 := 14, 17 := 13, 16 := 12] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh diff --git a/Test/unicodechars/comp/Comprehensions.dfy.py.expect b/Test/unicodechars/comp/Comprehensions.dfy.py.expect deleted file mode 100644 index aeaa31fc0f3..00000000000 --- a/Test/unicodechars/comp/Comprehensions.dfy.py.expect +++ /dev/null @@ -1,62 +0,0 @@ -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[14 := 7, 12 := 6, 13 := 6] -map[18 := 14, 17 := 13, 16 := 12] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh diff --git a/Test/unicodechars/comp/NativeNumbers.dfy b/Test/unicodechars/comp/NativeNumbers.dfy index 2dae43b062d..764b4b3b384 100644 --- a/Test/unicodechars/comp/NativeNumbers.dfy +++ b/Test/unicodechars/comp/NativeNumbers.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:true /verifyAllModules // Skip JavaScript because JavaScript doesn't have the same native types -include "../../comp/NativeNumbers.dfy" +// RUN: %dafny /compile:0 /verifyAllModules /unicodeChar:1 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" +include "../../comp/NativeNumbers.dfy" \ No newline at end of file diff --git a/Test/unicodechars/comp/NativeNumbers.dfy.expect b/Test/unicodechars/comp/NativeNumbers.dfy.expect index 354d931a151..b0fc6754f84 100644 --- a/Test/unicodechars/comp/NativeNumbers.dfy.expect +++ b/Test/unicodechars/comp/NativeNumbers.dfy.expect @@ -1,3 +1,259 @@ + +Dafny program verifier finished with 25 verified, 0 errors + +Dafny program verifier did not attempt verification +Casting: + +Small numbers: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 +5 5 5 5 5 5 5 5 5 +6 6 6 6 6 6 6 6 6 +7 7 7 7 7 7 7 7 7 +8 8 8 8 8 8 8 8 8 + +Large unsigned numbers: +255 255 255 255 255 255 255 255 +65535 65535 65535 65535 65535 65535 +4294967295 4294967295 4294967295 4294967295 +18446744073709551615 18446744073709551615 + +Int to large unsigned: +255 65535 4294967295 18446744073709551615 + +Cast from cardinality operator: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 + +Characters: +'C' 67 67 67 67 67 67 67 67 67 +0 127 32767 65535 65535 255 65535 65535 65535 + +Defaults: + +0 0 0 0 0 0 0 0 0 + +Byte arithmetic: + +20 30 +10 10 18 + +Short arithmetic: + +20 30 +10 10 18 + +Bitvectors: + +0 3 4 1 + +Comparison to zero: + +int8: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int16: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int32: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int64: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint8: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint16: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint32: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint64: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N + + +Dafny program verifier did not attempt verification +Casting: + +Small numbers: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 +5 5 5 5 5 5 5 5 5 +6 6 6 6 6 6 6 6 6 +7 7 7 7 7 7 7 7 7 +8 8 8 8 8 8 8 8 8 + +Large unsigned numbers: +255 255 255 255 255 255 255 255 +65535 65535 65535 65535 65535 65535 +4294967295 4294967295 4294967295 4294967295 +18446744073709551615 18446744073709551615 + +Int to large unsigned: +255 65535 4294967295 18446744073709551615 + +Cast from cardinality operator: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 + +Characters: +'C' 67 67 67 67 67 67 67 67 67 +0 127 32767 65535 65535 255 65535 65535 65535 + +Defaults: + +0 0 0 0 0 0 0 0 0 + +Byte arithmetic: + +20 30 +10 10 18 + +Short arithmetic: + +20 30 +10 10 18 + +Bitvectors: + +0 3 4 1 + +Comparison to zero: + +int8: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int16: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int32: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int64: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint8: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint16: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint32: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint64: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N + + +Dafny program verifier did not attempt verification +Casting: + +Small numbers: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 +5 5 5 5 5 5 5 5 5 +6 6 6 6 6 6 6 6 6 +7 7 7 7 7 7 7 7 7 +8 8 8 8 8 8 8 8 8 + +Large unsigned numbers: +255 255 255 255 255 255 255 255 +65535 65535 65535 65535 65535 65535 +4294967295 4294967295 4294967295 4294967295 +18446744073709551615 18446744073709551615 + +Int to large unsigned: +255 65535 4294967295 18446744073709551615 + +Cast from cardinality operator: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 + +Characters: +'C' 67 67 67 67 67 67 67 67 67 +0 127 32767 65535 65535 255 65535 65535 65535 + +Defaults: + +0 0 0 0 0 0 0 0 0 + +Byte arithmetic: + +20 30 +10 10 18 + +Short arithmetic: + +20 30 +10 10 18 + +Bitvectors: + +0 3 4 1 + +Comparison to zero: + +int8: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int16: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int32: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int64: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint8: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint16: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint32: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint64: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N + + +Dafny program verifier did not attempt verification Casting: Small numbers: diff --git a/Test/unicodechars/comp/Numbers.dfy b/Test/unicodechars/comp/Numbers.dfy index dfeeb19dc38..2c9170fe4d7 100644 --- a/Test/unicodechars/comp/Numbers.dfy +++ b/Test/unicodechars/comp/Numbers.dfy @@ -1,3 +1,8 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:true /verifyAllModules -include "../../comp/Numbers.dfy" +// RUN: %dafny /compile:0 /verifyAllModules /unicodeChar:1 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" +include "../../comp/Numbers.dfy" \ No newline at end of file diff --git a/Test/unicodechars/comp/Numbers.dfy.expect b/Test/unicodechars/comp/Numbers.dfy.expect index cce193e1cce..6fa2f59f340 100644 --- a/Test/unicodechars/comp/Numbers.dfy.expect +++ b/Test/unicodechars/comp/Numbers.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 59 verified, 0 errors + +Dafny program verifier did not attempt verification 0 0 3 @@ -109,3 +113,455 @@ true false true false false true false true true false true false 20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +'g' 'Q' '2' +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +(312.0 / 40.0) (1248.0 / 40.0) +(-312.0 / 40.0) (-1248.0 / 40.0) +(-312.0 / 40.0) (1248.0 / 40.0) +(312.0 / 40.0) (-1248.0 / 40.0) +0.0 0.0 0.0 +120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) +123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 (8100.0 / 8100.0) +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +'g' 'Q' '2' +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +'g' 'Q' '2' +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +(312.0 / 40.0) (1248.0 / 40.0) +(-312.0 / 40.0) (-1248.0 / 40.0) +(-312.0 / 40.0) (1248.0 / 40.0) +(312.0 / 40.0) (-1248.0 / 40.0) +0.0 0.0 0.0 +120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) +123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 (8100.0 / 8100.0) +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +'g' 'Q' '2' +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 diff --git a/Test/unicodechars/comp/Numbers.dfy.go.expect b/Test/unicodechars/comp/Numbers.dfy.go.expect deleted file mode 100644 index 95d8ac259c7..00000000000 --- a/Test/unicodechars/comp/Numbers.dfy.go.expect +++ /dev/null @@ -1,111 +0,0 @@ -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -'g' 'Q' '2' -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 diff --git a/Test/unicodechars/comp/Numbers.dfy.py.expect b/Test/unicodechars/comp/Numbers.dfy.py.expect deleted file mode 100644 index 95d8ac259c7..00000000000 --- a/Test/unicodechars/comp/Numbers.dfy.py.expect +++ /dev/null @@ -1,111 +0,0 @@ -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -'g' 'Q' '2' -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 From 4417fcf46ffc29b3e9031aa53b8199aea8e6cd07 Mon Sep 17 00:00:00 2001 From: Robin Salkeld Date: Thu, 1 Jun 2023 21:29:27 -0700 Subject: [PATCH 15/68] Converting all tests --- Test/VerifyThis2015/Problem1.dfy | 3 +- Test/VerifyThis2015/Problem1.dfy.expect | 2 - Test/VerifyThis2015/Problem2.dfy | 3 +- Test/VerifyThis2015/Problem2.dfy.expect | 2 - Test/VerifyThis2015/Problem3.dfy | 3 +- Test/VerifyThis2015/Problem3.dfy.expect | 2 - Test/c++/arrays.dfy | 3 +- Test/c++/arrays.dfy.expect | 2 - Test/c++/bit-vectors.dfy | 3 +- Test/c++/bit-vectors.dfy.expect | 2 - Test/c++/class.dfy | 3 +- Test/c++/class.dfy.expect | 2 - Test/c++/const.dfy | 3 +- Test/c++/const.dfy.expect | 2 - Test/c++/datatypes.dfy | 3 +- Test/c++/datatypes.dfy.expect | 2 - Test/c++/generic.dfy | 3 +- Test/c++/generic.dfy.expect | 2 - Test/c++/hello.dfy | 3 +- Test/c++/hello.dfy.expect | 2 - Test/c++/ints.dfy | 3 +- Test/c++/ints.dfy.expect | 2 - Test/c++/maps.dfy | 3 +- Test/c++/maps.dfy.expect | 2 - Test/c++/recursion.dfy | 3 +- Test/c++/recursion.dfy.expect | 2 - Test/c++/returns.dfy | 3 +- Test/c++/returns.dfy.expect | 2 - Test/c++/seqs.dfy | 3 +- Test/c++/seqs.dfy.expect | 2 - Test/c++/sets.dfy | 3 +- Test/c++/sets.dfy.expect | 2 - Test/c++/while.dfy | 3 +- Test/c++/while.dfy.expect | 2 - Test/comp/Arrays.dfy | 9 +- Test/comp/Arrays.dfy.expect | 396 ------------ Test/comp/Arrays.dfy.go.expect | 96 +++ Test/comp/AsIs-Compile.dfy | 8 +- Test/comp/AsIs-Compile.dfy.expect | 160 ----- Test/comp/AutoInit.dfy | 8 +- Test/comp/AutoInit.dfy.expect | 160 ----- Test/comp/ByMethodCompilation.dfy | 8 +- Test/comp/ByMethodCompilation.dfy.expect | 32 - Test/comp/Calls.dfy | 8 +- Test/comp/Calls.dfy.expect | 40 -- Test/comp/Class.dfy | 8 +- Test/comp/Class.dfy.expect | 72 --- Test/comp/Collections.dfy | 9 +- Test/comp/Collections.dfy.expect | 512 ---------------- Test/comp/Collections.dfy.go.expect | 125 ++++ Test/comp/Collections.dfy.java.expect | 125 ++++ Test/comp/Collections.dfy.js.expect | 125 ++++ Test/comp/Collections.dfy.py.expect | 125 ++++ Test/comp/Comprehensions.dfy | 9 +- Test/comp/Comprehensions.dfy.expect | 260 -------- Test/comp/Comprehensions.dfy.py.expect | 62 ++ Test/comp/ComprehensionsNewSyntax.dfy | 9 +- Test/comp/ComprehensionsNewSyntax.dfy.expect | 148 ----- .../ComprehensionsNewSyntax.dfy.py.expect | 34 ++ Test/comp/CovariantCollections.dfy | 8 +- Test/comp/CovariantCollections.dfy.expect | 220 ------- Test/comp/Datatype.dfy | 9 +- Test/comp/Datatype.dfy.expect | 100 --- Test/comp/Datatype.dfy.java.expect | 22 + Test/comp/Datatype.dfy.py.expect | 22 + Test/comp/DefaultParameters-Compile.dfy | 8 +- .../comp/DefaultParameters-Compile.dfy.expect | 48 -- Test/comp/DowncastClone.dfy | 8 +- Test/comp/DowncastClone.dfy.expect | 40 -- Test/comp/ErasableTypeWrappers.dfy | 8 +- Test/comp/ErasableTypeWrappers.dfy.expect | 84 --- Test/comp/EuclideanDivision.dfy | 8 +- Test/comp/EuclideanDivision.dfy.expect | 36 -- Test/comp/ForLoops-Compilation.dfy | 8 +- Test/comp/ForLoops-Compilation.dfy.expect | 200 ------ Test/comp/ForallNewSyntax.dfy | 8 +- Test/comp/ForallNewSyntax.dfy.expect | 180 ------ Test/comp/Ghosts.dfy | 8 +- Test/comp/Ghosts.dfy.expect | 52 -- Test/comp/Let.dfy | 7 +- Test/comp/Let.dfy.expect | 34 -- Test/comp/MoreAutoInit.dfy | 8 +- Test/comp/MoreAutoInit.dfy.expect | 572 ------------------ Test/comp/NativeNumbers.dfy | 7 +- Test/comp/NativeNumbers.dfy.expect | 256 -------- Test/comp/NestedArrays.dfy | 7 +- Test/comp/NestedArrays.dfy.expect | 16 - Test/comp/Numbers.dfy | 9 +- Test/comp/Numbers.dfy.expect | 456 -------------- Test/comp/Numbers.dfy.go.expect | 111 ++++ Test/comp/Numbers.dfy.py.expect | 111 ++++ Test/comp/Poly.dfy | 9 +- Test/comp/Poly.dfy.expect | 60 -- Test/comp/Poly.dfy.go.expect | 12 + Test/comp/Poly.dfy.py.expect | 12 + Test/comp/Print.dfy | 8 +- Test/comp/Print.dfy.expect | 34 -- Test/comp/Print.dfy.go.expect | 8 + Test/comp/Print.dfy.java.expect | 8 + Test/comp/Print.dfy.js.expect | 8 + Test/comp/StaticMembersOfGenericTypes.dfy | 8 +- .../StaticMembersOfGenericTypes.dfy.expect | 76 --- Test/comp/TailRecursion.dfy | 8 +- Test/comp/TailRecursion.dfy.expect | 76 --- Test/comp/TypeDescriptors.dfy | 8 +- Test/comp/TypeDescriptors.dfy.expect | 152 ----- Test/comp/TypeParams.dfy | 11 +- Test/comp/TypeParams.dfy.expect | 88 --- Test/comp/TypeParams.dfy.go.expect | 19 + Test/comp/TypeParams.dfy.java.expect | 19 + Test/comp/TypeParams.dfy.js.expect | 19 + Test/comp/TypeParams.dfy.py.expect | 19 + Test/comp/UnoptimizedErasableTypeWrappers.dfy | 8 +- ...UnoptimizedErasableTypeWrappers.dfy.expect | 28 - Test/comp/Variance.dfy | 8 +- Test/comp/Variance.dfy.expect | 64 -- Test/comp/Various.dfy | 8 +- Test/comp/Various.dfy.expect | 40 -- Test/comp/firstSteps/0_IKnowThisMuchIs.dfy | 4 +- .../firstSteps/0_IKnowThisMuchIs.dfy.expect | 4 - Test/comp/firstSteps/1_Calls-F.dfy | 4 +- Test/comp/firstSteps/1_Calls-F.dfy.expect | 4 - Test/comp/firstSteps/2_Modules.dfy | 4 +- Test/comp/firstSteps/2_Modules.dfy.expect | 4 - Test/comp/firstSteps/3_Calls-As.dfy | 4 +- Test/comp/firstSteps/3_Calls-As.dfy.expect | 4 - .../4_Calls-FunctionsValues-Class+NT.dfy | 4 +- ..._Calls-FunctionsValues-Class+NT.dfy.expect | 4 - .../firstSteps/5_Calls-FunctionsValues-Dt.dfy | 4 +- .../5_Calls-FunctionsValues-Dt.dfy.expect | 4 - .../firstSteps/6_Calls-VariableCapture.dfy | 4 +- .../6_Calls-VariableCapture.dfy.expect | 4 - Test/comp/firstSteps/7_Arrays.dfy | 4 +- Test/comp/firstSteps/7_Arrays.dfy.expect | 4 - Test/comp/firstSteps/7_Dt_Algebraic.dfy | 6 +- .../firstSteps/7_Dt_Algebraic.dfy.cs.expect | 11 + .../comp/firstSteps/7_Dt_Algebraic.dfy.expect | 17 - Test/dafny0/ArrayElementInitCompile.dfy | 8 +- .../dafny0/ArrayElementInitCompile.dfy.expect | 76 --- Test/dafny0/Bitvectors.dfy | 5 +- Test/dafny0/Bitvectors.dfy.expect | 490 --------------- Test/dafny0/Compilation.dfy | 3 +- Test/dafny0/Compilation.dfy.expect | 2 - Test/dafny0/Constant.dfy | 3 +- Test/dafny0/Constant.dfy.expect | 2 - Test/dafny0/Deprecation.dfy | 3 +- Test/dafny0/Deprecation.dfy.expect | 7 - Test/dafny0/DiscoverBounds.dfy | 3 +- Test/dafny0/DiscoverBounds.dfy.expect | 7 - Test/dafny0/DividedConstructors.dfy | 3 +- Test/dafny0/DividedConstructors.dfy.expect | 186 ------ Test/dafny0/EqualityTypesCompile.dfy | 3 +- Test/dafny0/EqualityTypesCompile.dfy.expect | 2 - Test/dafny0/ForallCompilation.dfy | 3 +- Test/dafny0/ForallCompilation.dfy.expect | 2 - Test/dafny0/ForallCompilationNewSyntax.dfy | 3 +- .../ForallCompilationNewSyntax.dfy.expect | 6 - Test/dafny0/GhostGuards.dfy | 3 +- Test/dafny0/GhostGuards.dfy.expect | 7 - Test/dafny0/GhostITECompilation.dfy | 8 +- Test/dafny0/GhostITECompilation.dfy.expect | 28 - Test/dafny0/InitialValues.dfy | 3 +- Test/dafny0/InitialValues.dfy.expect | 2 - Test/dafny0/MatchBraces.dfy | 5 +- Test/dafny0/MatchBraces.dfy.expect | 133 ---- Test/dafny0/MoForallCompilation.dfy | 3 +- Test/dafny0/MoForallCompilation.dfy.expect | 2 - Test/dafny0/NameclashesCompile.dfy | 3 +- Test/dafny0/NameclashesCompile.dfy.expect | 2 - Test/dafny0/NonZeroInitializationCompile.dfy | 7 +- .../NonZeroInitializationCompile.dfy.expect | 73 --- Test/dafny0/NullComparisonWarnings.dfy | 3 +- Test/dafny0/NullComparisonWarnings.dfy.expect | 13 - Test/dafny0/PrintUTF8.dfy | 3 +- Test/dafny0/PrintUTF8.dfy.expect | 2 - Test/dafny0/RangeCompilation.dfy | 3 +- Test/dafny0/RangeCompilation.dfy.expect | 2 - Test/dafny0/SeqFromArray.dfy | 3 +- Test/dafny0/SeqFromArray.dfy.expect | 2 - Test/dafny0/SharedDestructorsCompile.dfy | 5 +- .../SharedDestructorsCompile.dfy.expect | 17 - Test/dafny0/SiblingImports.dfy | 3 +- Test/dafny0/SiblingImports.dfy.expect | 2 - Test/dafny0/TypeConversionsCompile.dfy | 3 +- Test/dafny0/TypeConversionsCompile.dfy.expect | 225 ------- Test/dafny0/TypeMembers.dfy | 5 +- Test/dafny0/TypeMembers.dfy.expect | 29 - Test/dafny0/TypeMembers.dfy.verifier.expect | 1 + Test/dafny0/Wellfounded.dfy | 3 +- Test/dafny0/Wellfounded.dfy.expect | 4 - Test/dafny2/MinWindowMax.dfy | 3 +- Test/dafny2/MinWindowMax.dfy.expect | 2 - .../SmallestMissingNumber-functional.dfy | 3 +- ...mallestMissingNumber-functional.dfy.expect | 3 - .../SmallestMissingNumber-imperative.dfy | 3 +- ...mallestMissingNumber-imperative.dfy.expect | 2 - Test/dafny2/StoreAndRetrieve.dfy | 7 +- Test/dafny2/StoreAndRetrieve.dfy.expect | 38 -- .../StoreAndRetrieve.dfy.verifier.expect | 5 + Test/dafny2/Z-BirthdayBook.dfy | 3 +- Test/dafny2/Z-BirthdayBook.dfy.expect | 2 - Test/dafny2/pq-intrinsic-extrinsic.dfy | 5 +- Test/dafny2/pq-intrinsic-extrinsic.dfy.expect | 11 - Test/dafny3/Abstemious.dfy | 3 +- Test/dafny3/Abstemious.dfy.expect | 2 - Test/dafny3/CachedContainer.dfy | 7 +- Test/dafny3/CachedContainer.dfy.expect | 78 --- .../CachedContainer.dfy.verifier.expect | 13 + Test/dafny3/Iter.dfy | 3 +- Test/dafny3/Iter.dfy.expect | 2 - Test/dafny4/Ackermann.dfy | 3 +- Test/dafny4/Ackermann.dfy.expect | 4 - Test/dafny4/Bug107.dfy | 3 +- Test/dafny4/Bug107.dfy.expect | 2 - Test/dafny4/Bug108.dfy | 3 +- Test/dafny4/Bug108.dfy.expect | 2 - Test/dafny4/Bug113.dfy | 5 +- Test/dafny4/Bug113.dfy.expect | 2 - Test/dafny4/Bug116.dfy | 3 +- Test/dafny4/Bug116.dfy.expect | 2 - Test/dafny4/Bug140.dfy | 3 +- Test/dafny4/Bug140.dfy.expect | 2 - Test/dafny4/Bug148.dfy | 3 +- Test/dafny4/Bug148.dfy.expect | 2 - Test/dafny4/Bug49.dfy | 3 +- Test/dafny4/Bug49.dfy.expect | 2 - Test/dafny4/Bug60.dfy | 3 +- Test/dafny4/Bug60.dfy.expect | 2 - Test/dafny4/Bug67.dfy | 5 +- Test/dafny4/Bug67.dfy.expect | 2 - Test/dafny4/Bug68.dfy | 5 +- Test/dafny4/Bug68.dfy.expect | 2 - Test/dafny4/Bug89.dfy | 3 +- Test/dafny4/Bug89.dfy.expect | 2 - Test/dafny4/Bug94.dfy | 3 +- Test/dafny4/Bug94.dfy.expect | 2 - Test/dafny4/ClassRefinement.dfy | 7 +- Test/dafny4/ClassRefinement.dfy.expect | 43 -- .../ClassRefinement.dfy.verifier.expect | 6 + Test/dafny4/ExpandedGuardedness.dfy | 3 +- Test/dafny4/ExpandedGuardedness.dfy.expect | 2 - Test/dafny4/FlyingRobots.dfy | 3 +- Test/dafny4/FlyingRobots.dfy.expect | 2 - Test/dafny4/Leq.dfy | 3 +- Test/dafny4/Leq.dfy.expect | 2 - Test/dafny4/McCarthy91.dfy | 3 +- Test/dafny4/McCarthy91.dfy.expect | 2 - Test/dafny4/NatList.dfy | 3 +- Test/dafny4/NatList.dfy.expect | 2 - Test/dafny4/Regression15.dfy | 3 +- Test/dafny4/Regression15.dfy.expect | 2 - Test/dafny4/Regression2.dfy | 3 +- Test/dafny4/Regression2.dfy.expect | 2 - Test/dafny4/Regression3.dfy | 3 +- Test/dafny4/Regression3.dfy.expect | 2 - Test/dafny4/Regression4.dfy | 3 +- Test/dafny4/Regression4.dfy.expect | 2 - Test/dafny4/Regression6.dfy | 3 +- Test/dafny4/Regression6.dfy.expect | 2 - Test/dafny4/Regression7.dfy | 3 +- Test/dafny4/Regression7.dfy.expect | 2 - Test/dafny4/Regression9.dfy | 3 +- Test/dafny4/Regression9.dfy.expect | 2 - Test/dafny4/UnionFind.dfy | 3 +- Test/dafny4/UnionFind.dfy.expect | 2 - Test/dafny4/gcd.dfy | 7 +- Test/dafny4/gcd.dfy.expect | 31 - Test/dafny4/git-issue104.dfy | 8 +- Test/dafny4/git-issue104.dfy.expect | 16 - Test/dafny4/git-issue105.dfy | 3 +- Test/dafny4/git-issue105.dfy.expect | 2 - Test/dafny4/git-issue15.dfy | 3 +- Test/dafny4/git-issue15.dfy.expect | 2 - Test/dafny4/git-issue167.dfy | 3 +- Test/dafny4/git-issue167.dfy.expect | 2 - Test/dafny4/git-issue195.dfy | 3 +- Test/dafny4/git-issue195.dfy.expect | 2 - Test/dafny4/git-issue196.dfy | 3 +- Test/dafny4/git-issue196.dfy.expect | 2 - Test/dafny4/git-issue4.dfy | 3 +- Test/dafny4/git-issue4.dfy.expect | 2 - Test/dafny4/git-issue43.dfy | 3 +- Test/dafny4/git-issue43.dfy.expect | 2 - Test/dafny4/git-issue70.dfy | 3 +- Test/dafny4/git-issue70.dfy.expect | 2 - Test/dafny4/git-issue76.dfy | 5 +- Test/dafny4/git-issue76.dfy.expect | 7 - Test/dafny4/git-issue79.dfy | 3 +- Test/dafny4/git-issue79.dfy.expect | 2 - Test/dafny4/git-issue88.dfy | 3 +- Test/dafny4/git-issue88.dfy.expect | 2 - Test/exceptions/Exceptions1.dfy | 3 +- Test/exceptions/Exceptions1.dfy.expect | 2 - Test/exceptions/Exceptions1Expressions.dfy | 3 +- .../Exceptions1Expressions.dfy.expect | 2 - Test/exports/FIFO.dfy | 3 +- Test/exports/FIFO.dfy.expect | 2 - Test/exports/LIFO.dfy | 3 +- Test/exports/LIFO.dfy.expect | 2 - Test/exports/xrefine2.dfy | 3 +- Test/exports/xrefine2.dfy.expect | 2 - Test/exports/xrefine3.dfy | 3 +- Test/exports/xrefine3.dfy.expect | 2 - Test/git-issues/git-issue-032.dfy | 7 +- Test/git-issues/git-issue-032.dfy.expect | 37 -- .../git-issue-032.dfy.verifier.expect | 3 + Test/git-issues/git-issue-1029.dfy | 3 +- Test/git-issues/git-issue-1029.dfy.expect | 2 - Test/git-issues/git-issue-1093.dfy | 8 +- Test/git-issues/git-issue-1093.dfy.expect | 16 - Test/git-issues/git-issue-1100.dfy | 3 +- Test/git-issues/git-issue-1100.dfy.expect | 2 - Test/git-issues/git-issue-1130.dfy | 3 +- Test/git-issues/git-issue-1130.dfy.expect | 2 - Test/git-issues/git-issue-1150.dfy | 3 +- Test/git-issues/git-issue-1150.dfy.expect | 2 - Test/git-issues/git-issue-1185.dfy | 8 +- Test/git-issues/git-issue-1185.dfy.expect | 13 - .../git-issues/git-issue-1185.dfy.java.expect | 1 + Test/git-issues/git-issue-1514.dfy | 3 +- Test/git-issues/git-issue-1514.dfy.expect | 2 - Test/git-issues/git-issue-1514b.dfy | 3 +- Test/git-issues/git-issue-1514b.dfy.expect | 2 - Test/git-issues/git-issue-1514c.dfy | 5 +- Test/git-issues/git-issue-1514c.dfy.expect | 7 - Test/git-issues/git-issue-1553.dfy | 7 +- Test/git-issues/git-issue-1553.dfy.expect | 10 - Test/git-issues/git-issue-1604b.dfy | 3 +- Test/git-issues/git-issue-1604b.dfy.expect | 2 - Test/git-issues/git-issue-1714.dfy | 3 +- Test/git-issues/git-issue-1714.dfy.expect | 2 - Test/git-issues/git-issue-179.dfy | 8 +- Test/git-issues/git-issue-179.dfy.expect | 22 - Test/git-issues/git-issue-179.dfy.go.expect | 4 + Test/git-issues/git-issue-179.dfy.java.expect | 4 + Test/git-issues/git-issue-179.dfy.js.expect | 4 + Test/git-issues/git-issue-1815a.dfy | 8 +- Test/git-issues/git-issue-1815a.dfy.expect | 16 - Test/git-issues/git-issue-1852.dfy | 5 +- Test/git-issues/git-issue-1852.dfy.expect | 7 - Test/git-issues/git-issue-1903.dfy | 3 +- Test/git-issues/git-issue-1903.dfy.expect | 2 - Test/git-issues/git-issue-1909.dfy | 3 +- Test/git-issues/git-issue-1909.dfy.expect | 2 - Test/git-issues/git-issue-2013.dfy | 8 +- Test/git-issues/git-issue-2013.dfy.expect | 52 -- Test/git-issues/git-issue-2441.dfy | 5 +- Test/git-issues/git-issue-2441.dfy.expect | 6 - Test/git-issues/git-issue-2510.dfy | 3 +- Test/git-issues/git-issue-2510.dfy.expect | 2 - Test/git-issues/git-issue-258.dfy | 8 +- Test/git-issues/git-issue-258.dfy.expect | 73 --- Test/git-issues/git-issue-258.dfy.go.expect | 21 + Test/git-issues/git-issue-258.dfy.js.expect | 21 + Test/git-issues/git-issue-2608.dfy | 3 +- Test/git-issues/git-issue-2608.dfy.expect | 2 - Test/git-issues/git-issue-262.dfy | 7 +- Test/git-issues/git-issue-262.dfy.expect | 18 - Test/git-issues/git-issue-262.dfy.go.expect | 2 + Test/git-issues/git-issue-262.dfy.java.expect | 2 + Test/git-issues/git-issue-262.dfy.js.expect | 6 + Test/git-issues/git-issue-267.dfy | 7 +- Test/git-issues/git-issue-267.dfy.expect | 13 - Test/git-issues/git-issue-2672.dfy | 8 +- Test/git-issues/git-issue-2672.dfy.expect | 44 -- Test/git-issues/git-issue-2726a.dfy | 3 +- Test/git-issues/git-issue-2726a.dfy.expect | 2 - Test/git-issues/git-issue-2733.dfy | 9 +- Test/git-issues/git-issue-2733.dfy.expect | 14 - Test/git-issues/git-issue-2792.dfy | 3 +- Test/git-issues/git-issue-2792.dfy.expect | 2 - Test/git-issues/git-issue-283.dfy | 7 +- Test/git-issues/git-issue-283.dfy.expect | 13 - Test/git-issues/git-issue-283d.dfy | 7 +- Test/git-issues/git-issue-283d.dfy.expect | 10 - Test/git-issues/git-issue-314.dfy | 7 +- Test/git-issues/git-issue-314.dfy.expect | 10 - Test/git-issues/git-issue-332.dfy | 3 +- Test/git-issues/git-issue-332.dfy.expect | 2 - Test/git-issues/git-issue-354.dfy | 7 +- Test/git-issues/git-issue-354.dfy.expect | 22 - Test/git-issues/git-issue-356.dfy | 8 +- Test/git-issues/git-issue-356.dfy.expect | 36 -- Test/git-issues/git-issue-364.dfy | 3 +- Test/git-issues/git-issue-364.dfy.expect | 2 - Test/git-issues/git-issue-374.dfy | 7 +- Test/git-issues/git-issue-374.dfy.expect | 10 - Test/git-issues/git-issue-396.dfy | 6 +- Test/git-issues/git-issue-396.dfy.expect | 11 - Test/git-issues/git-issue-4007.dfy | 5 +- Test/git-issues/git-issue-4007.dfy.expect | 3 - Test/git-issues/git-issue-4012.dfy | 5 +- Test/git-issues/git-issue-4012.dfy.expect | 2 - Test/git-issues/git-issue-425.dfy | 7 +- Test/git-issues/git-issue-425.dfy.expect | 16 - Test/git-issues/git-issue-443.dfy | 3 +- Test/git-issues/git-issue-443.dfy.expect | 2 - Test/git-issues/git-issue-446.dfy | 7 +- Test/git-issues/git-issue-446.dfy.expect | 19 - Test/git-issues/git-issue-446a.dfy | 7 +- Test/git-issues/git-issue-446a.dfy.expect | 19 - Test/git-issues/git-issue-446b.dfy | 7 +- Test/git-issues/git-issue-446b.dfy.expect | 25 - Test/git-issues/git-issue-478-good.dfy | 3 +- Test/git-issues/git-issue-478-good.dfy.expect | 2 - Test/git-issues/git-issue-506.dfy | 6 +- Test/git-issues/git-issue-506.dfy.expect | 26 - Test/git-issues/git-issue-532.dfy | 7 +- Test/git-issues/git-issue-532.dfy.expect | 19 - Test/git-issues/git-issue-549.dfy | 5 +- Test/git-issues/git-issue-549.dfy.expect | 8 - Test/git-issues/git-issue-622$f.dfy | 3 +- Test/git-issues/git-issue-622$f.dfy.expect | 2 - Test/git-issues/git-issue-633.dfy | 7 +- Test/git-issues/git-issue-633.dfy.expect | 10 - Test/git-issues/git-issue-684.dfy | 7 +- Test/git-issues/git-issue-684.dfy.expect | 10 - Test/git-issues/git-issue-686.dfy | 7 +- Test/git-issues/git-issue-686.dfy.expect | 23 - .../git-issue-686.dfy.verifier.expect | 2 + Test/git-issues/git-issue-697.dfy | 3 +- Test/git-issues/git-issue-697.dfy.expect | 2 - Test/git-issues/git-issue-697b.dfy | 3 +- Test/git-issues/git-issue-697b.dfy.expect | 2 - Test/git-issues/git-issue-697d.dfy | 3 +- Test/git-issues/git-issue-697d.dfy.expect | 2 - Test/git-issues/git-issue-697e.dfy | 3 +- Test/git-issues/git-issue-697e.dfy.expect | 2 - Test/git-issues/git-issue-697f.dfy | 3 +- Test/git-issues/git-issue-697f.dfy.expect | 2 - Test/git-issues/git-issue-697g.dfy | 3 +- Test/git-issues/git-issue-697g.dfy.expect | 2 - Test/git-issues/git-issue-698.dfy | 5 +- Test/git-issues/git-issue-698.dfy.expect | 7 - Test/git-issues/git-issue-698b.dfy | 5 +- Test/git-issues/git-issue-698b.dfy.expect | 2 - Test/git-issues/git-issue-701.dfy | 7 +- Test/git-issues/git-issue-701.dfy.expect | 19 - Test/git-issues/git-issue-705.dfy | 7 +- Test/git-issues/git-issue-705.dfy.expect | 13 - Test/git-issues/git-issue-731.dfy | 7 +- Test/git-issues/git-issue-731.dfy.expect | 16 - Test/git-issues/git-issue-731b.dfy | 7 +- Test/git-issues/git-issue-731b.dfy.expect | 13 - Test/git-issues/git-issue-755.dfy | 8 +- Test/git-issues/git-issue-755.dfy.expect | 31 - Test/git-issues/git-issue-755.dfy.go.expect | 7 + Test/git-issues/git-issue-755.dfy.java.expect | 7 + Test/git-issues/git-issue-755.dfy.js.expect | 7 + Test/git-issues/git-issue-784.dfy | 7 +- Test/git-issues/git-issue-784.dfy.expect | 10 - Test/git-issues/git-issue-953.dfy | 8 +- Test/git-issues/git-issue-953.dfy.expect | 36 -- Test/git-issues/github-issue-3343.dfy | 3 +- Test/git-issues/github-issue-3343.dfy.expect | 2 - Test/hofs/Compilation.dfy | 3 +- Test/hofs/Compilation.dfy.expect | 2 - Test/hofs/Examples.dfy | 3 +- Test/hofs/Examples.dfy.expect | 2 - Test/hofs/Fold.dfy | 3 +- Test/hofs/Fold.dfy.expect | 2 - Test/hofs/Folding.dfy | 3 +- Test/hofs/Folding.dfy.expect | 2 - Test/hofs/Renaming.dfy | 3 +- Test/hofs/Renaming.dfy.expect | 2 - Test/hofs/Requires.dfy | 3 +- Test/hofs/Requires.dfy.expect | 2 - Test/hofs/TreeMapSimple.dfy | 3 +- Test/hofs/TreeMapSimple.dfy.expect | 2 - Test/hofs/VectorUpdate.dfy | 3 +- Test/hofs/VectorUpdate.dfy.expect | 2 - Test/hofs/WhileLoop.dfy | 3 +- Test/hofs/WhileLoop.dfy.expect | 2 - Test/irondafny0/optimize0.dfy | 3 +- Test/irondafny0/optimize0.dfy.expect | 2 - Test/metatests/OutputEncoding.dfy | 8 +- Test/metatests/OutputEncoding.dfy.expect | 16 - Test/patterns/OrPatterns.dfy | 3 +- Test/patterns/OrPatterns.dfy.expect | 2 - Test/patterns/PatternMatching.dfy | 5 +- Test/patterns/PatternMatching.dfy.expect | 3 - Test/traits/TraitCompile.dfy | 10 +- Test/traits/TraitCompile.dfy.expect | 256 -------- Test/traits/TraitExample.dfy | 3 +- Test/traits/TraitExample.dfy.expect | 2 - Test/traits/Traits-Fields.dfy | 3 +- Test/traits/Traits-Fields.dfy.expect | 2 - Test/traits/TraitsMultipleInheritance.dfy | 3 +- .../TraitsMultipleInheritance.dfy.expect | 2 - Test/unicodechars/comp/Collections.dfy | 9 +- Test/unicodechars/comp/Collections.dfy.expect | 512 ---------------- .../comp/Collections.dfy.go.expect | 125 ++++ .../comp/Collections.dfy.java.expect | 125 ++++ .../comp/Collections.dfy.js.expect | 125 ++++ .../comp/Collections.dfy.py.expect | 125 ++++ Test/unicodechars/comp/Comprehensions.dfy | 11 +- .../comp/Comprehensions.dfy.expect | 260 -------- .../comp/Comprehensions.dfy.py.expect | 62 ++ Test/unicodechars/comp/NativeNumbers.dfy | 9 +- .../comp/NativeNumbers.dfy.expect | 256 -------- Test/unicodechars/comp/Numbers.dfy | 11 +- Test/unicodechars/comp/Numbers.dfy.expect | 456 -------------- Test/unicodechars/comp/Numbers.dfy.go.expect | 111 ++++ Test/unicodechars/comp/Numbers.dfy.py.expect | 111 ++++ 504 files changed, 2252 insertions(+), 9914 deletions(-) create mode 100644 Test/comp/Arrays.dfy.go.expect create mode 100644 Test/comp/Collections.dfy.go.expect create mode 100644 Test/comp/Collections.dfy.java.expect create mode 100644 Test/comp/Collections.dfy.js.expect create mode 100644 Test/comp/Collections.dfy.py.expect create mode 100644 Test/comp/Comprehensions.dfy.py.expect create mode 100644 Test/comp/ComprehensionsNewSyntax.dfy.py.expect create mode 100644 Test/comp/Datatype.dfy.java.expect create mode 100644 Test/comp/Datatype.dfy.py.expect create mode 100644 Test/comp/Numbers.dfy.go.expect create mode 100644 Test/comp/Numbers.dfy.py.expect create mode 100644 Test/comp/Poly.dfy.go.expect create mode 100644 Test/comp/Poly.dfy.py.expect create mode 100644 Test/comp/Print.dfy.go.expect create mode 100644 Test/comp/Print.dfy.java.expect create mode 100644 Test/comp/Print.dfy.js.expect create mode 100644 Test/comp/TypeParams.dfy.go.expect create mode 100644 Test/comp/TypeParams.dfy.java.expect create mode 100644 Test/comp/TypeParams.dfy.js.expect create mode 100644 Test/comp/TypeParams.dfy.py.expect create mode 100644 Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect create mode 100644 Test/dafny0/TypeMembers.dfy.verifier.expect create mode 100644 Test/dafny2/StoreAndRetrieve.dfy.verifier.expect create mode 100644 Test/dafny3/CachedContainer.dfy.verifier.expect create mode 100644 Test/dafny4/ClassRefinement.dfy.verifier.expect create mode 100644 Test/git-issues/git-issue-032.dfy.verifier.expect create mode 100644 Test/git-issues/git-issue-1185.dfy.java.expect create mode 100644 Test/git-issues/git-issue-179.dfy.go.expect create mode 100644 Test/git-issues/git-issue-179.dfy.java.expect create mode 100644 Test/git-issues/git-issue-179.dfy.js.expect create mode 100644 Test/git-issues/git-issue-258.dfy.go.expect create mode 100644 Test/git-issues/git-issue-258.dfy.js.expect create mode 100644 Test/git-issues/git-issue-262.dfy.go.expect create mode 100644 Test/git-issues/git-issue-262.dfy.java.expect create mode 100644 Test/git-issues/git-issue-262.dfy.js.expect create mode 100644 Test/git-issues/git-issue-686.dfy.verifier.expect create mode 100644 Test/git-issues/git-issue-755.dfy.go.expect create mode 100644 Test/git-issues/git-issue-755.dfy.java.expect create mode 100644 Test/git-issues/git-issue-755.dfy.js.expect create mode 100644 Test/unicodechars/comp/Collections.dfy.go.expect create mode 100644 Test/unicodechars/comp/Collections.dfy.java.expect create mode 100644 Test/unicodechars/comp/Collections.dfy.js.expect create mode 100644 Test/unicodechars/comp/Collections.dfy.py.expect create mode 100644 Test/unicodechars/comp/Comprehensions.dfy.py.expect create mode 100644 Test/unicodechars/comp/Numbers.dfy.go.expect create mode 100644 Test/unicodechars/comp/Numbers.dfy.py.expect diff --git a/Test/VerifyThis2015/Problem1.dfy b/Test/VerifyThis2015/Problem1.dfy index 20bd154ab8d..ab227e1ab85 100644 --- a/Test/VerifyThis2015/Problem1.dfy +++ b/Test/VerifyThis2015/Problem1.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Rustan Leino // 12 April 2015 diff --git a/Test/VerifyThis2015/Problem1.dfy.expect b/Test/VerifyThis2015/Problem1.dfy.expect index 110dd45761d..9e8a46acf90 100644 --- a/Test/VerifyThis2015/Problem1.dfy.expect +++ b/Test/VerifyThis2015/Problem1.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 18 verified, 0 errors true true false diff --git a/Test/VerifyThis2015/Problem2.dfy b/Test/VerifyThis2015/Problem2.dfy index 7466df6d410..9b57395e68b 100644 --- a/Test/VerifyThis2015/Problem2.dfy +++ b/Test/VerifyThis2015/Problem2.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Rustan Leino // 13 April 2015, and many subsequent enhancements and revisions diff --git a/Test/VerifyThis2015/Problem2.dfy.expect b/Test/VerifyThis2015/Problem2.dfy.expect index b49c1470365..e69de29bb2d 100644 --- a/Test/VerifyThis2015/Problem2.dfy.expect +++ b/Test/VerifyThis2015/Problem2.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 32 verified, 0 errors diff --git a/Test/VerifyThis2015/Problem3.dfy b/Test/VerifyThis2015/Problem3.dfy index 3be60b5d81a..1348acf0f4d 100644 --- a/Test/VerifyThis2015/Problem3.dfy +++ b/Test/VerifyThis2015/Problem3.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Rustan Leino // 12 April 2015 // VerifyThis 2015 diff --git a/Test/VerifyThis2015/Problem3.dfy.expect b/Test/VerifyThis2015/Problem3.dfy.expect index 4bb1c2c7251..e69de29bb2d 100644 --- a/Test/VerifyThis2015/Problem3.dfy.expect +++ b/Test/VerifyThis2015/Problem3.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 18 verified, 0 errors diff --git a/Test/c++/arrays.dfy b/Test/c++/arrays.dfy index 47140146468..a02b57e5ff8 100644 --- a/Test/c++/arrays.dfy +++ b/Test/c++/arrays.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/arrays.dfy.expect b/Test/c++/arrays.dfy.expect index 552f9355593..2ce9320d8c2 100644 --- a/Test/c++/arrays.dfy.expect +++ b/Test/c++/arrays.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 9 verified, 0 errors 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/c++/bit-vectors.dfy b/Test/c++/bit-vectors.dfy index b7f5d35df07..d27469e4ca5 100644 --- a/Test/c++/bit-vectors.dfy +++ b/Test/c++/bit-vectors.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint64 = i:int | 0 <= i < 0x10000000000000000 diff --git a/Test/c++/bit-vectors.dfy.expect b/Test/c++/bit-vectors.dfy.expect index e327aa2f73b..c491236b12b 100644 --- a/Test/c++/bit-vectors.dfy.expect +++ b/Test/c++/bit-vectors.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 6 verified, 0 errors 084841024 diff --git a/Test/c++/class.dfy b/Test/c++/class.dfy index 3039bd0466b..b10d703c981 100644 --- a/Test/c++/class.dfy +++ b/Test/c++/class.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/class.dfy.expect b/Test/c++/class.dfy.expect index 93717ecfa9e..80f1587d0a2 100644 --- a/Test/c++/class.dfy.expect +++ b/Test/c++/class.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 16 verified, 0 errors true true false 103 102 102 106 105 105 203 17 0 18 8 9 69 70 diff --git a/Test/c++/const.dfy b/Test/c++/const.dfy index 5ab9a62e0e9..1bfb79f0361 100644 --- a/Test/c++/const.dfy +++ b/Test/c++/const.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false module Holder { const x:bool := false diff --git a/Test/c++/const.dfy.expect b/Test/c++/const.dfy.expect index 823a60a105c..e69de29bb2d 100644 --- a/Test/c++/const.dfy.expect +++ b/Test/c++/const.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 1 verified, 0 errors diff --git a/Test/c++/datatypes.dfy b/Test/c++/datatypes.dfy index 9d077b97575..f56b7907cc3 100644 --- a/Test/c++/datatypes.dfy +++ b/Test/c++/datatypes.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/datatypes.dfy.expect b/Test/c++/datatypes.dfy.expect index efa71b43546..c122f5af791 100644 --- a/Test/c++/datatypes.dfy.expect +++ b/Test/c++/datatypes.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 12 verified, 0 errors Case A: 42 Case B: true This is expected diff --git a/Test/c++/generic.dfy b/Test/c++/generic.dfy index 7995928f93f..374c545b9c1 100644 --- a/Test/c++/generic.dfy +++ b/Test/c++/generic.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false class Test { var t:T diff --git a/Test/c++/generic.dfy.expect b/Test/c++/generic.dfy.expect index 00a51f822da..e69de29bb2d 100644 --- a/Test/c++/generic.dfy.expect +++ b/Test/c++/generic.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 3 verified, 0 errors diff --git a/Test/c++/hello.dfy b/Test/c++/hello.dfy index c887337c7e1..523d3152209 100644 --- a/Test/c++/hello.dfy +++ b/Test/c++/hello.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false method Main() { print "Hello world\n"; diff --git a/Test/c++/hello.dfy.expect b/Test/c++/hello.dfy.expect index 87101fec036..802992c4220 100644 --- a/Test/c++/hello.dfy.expect +++ b/Test/c++/hello.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors Hello world diff --git a/Test/c++/ints.dfy b/Test/c++/ints.dfy index cf7ae63e0da..4490a54817a 100644 --- a/Test/c++/ints.dfy +++ b/Test/c++/ints.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype sbyte = i:int | -0x80 <= i < 0x80 newtype byte = i:int | 0 <= i < 0x100 diff --git a/Test/c++/ints.dfy.expect b/Test/c++/ints.dfy.expect index aeabccf73b0..5fcb7b811cb 100644 --- a/Test/c++/ints.dfy.expect +++ b/Test/c++/ints.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 15 verified, 0 errors Result is z = 42 diff --git a/Test/c++/maps.dfy b/Test/c++/maps.dfy index 951d34e96f1..b88ebd56ad5 100644 --- a/Test/c++/maps.dfy +++ b/Test/c++/maps.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/maps.dfy.expect b/Test/c++/maps.dfy.expect index 482aa604356..80642c23257 100644 --- a/Test/c++/maps.dfy.expect +++ b/Test/c++/maps.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 9 verified, 0 errors Identity: This is expected ValuesIdentity: This is expected KeyMembership: This is expected diff --git a/Test/c++/recursion.dfy b/Test/c++/recursion.dfy index e255b8e6b08..36048aab527 100644 --- a/Test/c++/recursion.dfy +++ b/Test/c++/recursion.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/recursion.dfy.expect b/Test/c++/recursion.dfy.expect index 15dbfe2bcd1..1ea14926e89 100644 --- a/Test/c++/recursion.dfy.expect +++ b/Test/c++/recursion.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors x !y 3 diff --git a/Test/c++/returns.dfy b/Test/c++/returns.dfy index 1ad19a8ce83..9e23121d26a 100644 --- a/Test/c++/returns.dfy +++ b/Test/c++/returns.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint64 = i:int | 0 <= i < 0x10000000000000000 diff --git a/Test/c++/returns.dfy.expect b/Test/c++/returns.dfy.expect index 8db105eaba8..48082f72f08 100644 --- a/Test/c++/returns.dfy.expect +++ b/Test/c++/returns.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors 12 diff --git a/Test/c++/seqs.dfy b/Test/c++/seqs.dfy index f97a42b2851..903208b07f8 100644 --- a/Test/c++/seqs.dfy +++ b/Test/c++/seqs.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint8 = i:int | 0 <= i < 0x100 newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/seqs.dfy.expect b/Test/c++/seqs.dfy.expect index 23f01695bc9..16f5f9d22ea 100644 --- a/Test/c++/seqs.dfy.expect +++ b/Test/c++/seqs.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 11 verified, 0 errors Head second:2 Trunc first:2 Head trunc: This is expected diff --git a/Test/c++/sets.dfy b/Test/c++/sets.dfy index 5bfb6f80f1e..10e2fe0501d 100644 --- a/Test/c++/sets.dfy +++ b/Test/c++/sets.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/sets.dfy.expect b/Test/c++/sets.dfy.expect index 1c8ede8765e..52a1e67717e 100644 --- a/Test/c++/sets.dfy.expect +++ b/Test/c++/sets.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 8 verified, 0 errors Identity: This is expected ValuesIdentity: This is expected DiffIdentity: This is expected diff --git a/Test/c++/while.dfy b/Test/c++/while.dfy index 40dc4699d11..0c0d7ee98df 100644 --- a/Test/c++/while.dfy +++ b/Test/c++/while.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/while.dfy.expect b/Test/c++/while.dfy.expect index 8dfe872ca51..9a44de1e2a3 100644 --- a/Test/c++/while.dfy.expect +++ b/Test/c++/while.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 2 verified, 0 errors 0 1 2 diff --git a/Test/comp/Arrays.dfy b/Test/comp/Arrays.dfy index 566f052e0a6..acb4225b358 100644 --- a/Test/comp/Arrays.dfy +++ b/Test/comp/Arrays.dfy @@ -1,10 +1,5 @@ -// RUN: %baredafny verify %args --relax-definite-assignment "%s" > "%t" -// RUN: %baredafny run --unicode-char:false --no-verify --target=cs %args "%s" >> "%t" -// RUN: %baredafny run --unicode-char:false --no-verify --target=js %args "%s" >> "%t" -// RUN: %baredafny run --unicode-char:false --no-verify --target=go %args "%s" >> "%t" -// RUN: %baredafny run --unicode-char:false --no-verify --target=java %args "%s" >> "%t" -// RUN: %baredafny run --unicode-char:false --no-verify --target=py %args "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false method LinearSearch(a: array, key: int) returns (n: nat) ensures 0 <= n <= a.Length diff --git a/Test/comp/Arrays.dfy.expect b/Test/comp/Arrays.dfy.expect index 8559e2f3c5c..ef3b884f98a 100644 --- a/Test/comp/Arrays.dfy.expect +++ b/Test/comp/Arrays.dfy.expect @@ -1,399 +1,3 @@ - -Dafny program verifier finished with 89 verified, 0 errors - -Dafny program verifier did not attempt verification -0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 -17 -[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] -[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] -[20, 21, 22] -[0, 1, 2, 3, 4, 5, 6, 7] -[0, 1, 2, 3, 4, 5, 6, 7] -d d d -h e l l o -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -1 0 0 0 0 -0 1 0 0 0 -0 0 1 0 0 -cube dims: 3 0 4 -[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] -It's null -hi hello tjena hej hola -hi hello tjena hej hola -hi hello tjena hej hola -d d d -h e l l o -8 8 8 8 -true true true -1 1 1 1 1 -2 2 2 2 2 -3 3 3 3 3 -4 4 4 4 4 -(d, 8, true, 1, 2, 3, 4) -D D D -0 0 0 0 -false false false -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -(D, 0, false, 0, 0, 0, 0) -8 0 -false 0 null null -8 8 -8 8 -8 8 -8 8 -D D D -D D D -D D D -D D r (D, D, r) -D D r -[19, 18, 9, 8] - true - false - true - false - false - false - true - true - false - true - false - true - true - false -hello there -false false -true true -false false -false false -uninitialized bytes: array[0, 0, 0] -bytes from display: array[7, 8, 9] -bytes from lambda: array[20, 21, 22] -uninitialized 1bytes: array[1, 1, 1] -1bytes from display: array[7, 8, 9] -1bytes from lambda: array[20, 21, 22] -17 19 18 20 -100 200 300 120 38 -hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -DDDDDabcdeabcdeggggg -DDDDDabcdeabcdeggggg -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] -DDDDDDDDDDagggggaggg -0 69 50 -0 69 50 -D k n -false false -true true -false false -false false -true true - -Dafny program verifier did not attempt verification -0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 -17 -[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] -[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] -[20, 21, 22] -[0, 1, 2, 3, 4, 5, 6, 7] -[0, 1, 2, 3, 4, 5, 6, 7] -d d d -h e l l o -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -1 0 0 0 0 -0 1 0 0 0 -0 0 1 0 0 -cube dims: 3 0 4 -[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] -It's null -hi hello tjena hej hola -hi hello tjena hej hola -hi hello tjena hej hola -d d d -h e l l o -8 8 8 8 -true true true -1 1 1 1 1 -2 2 2 2 2 -3 3 3 3 3 -4 4 4 4 4 -(d, 8, true, 1, 2, 3, 4) -D D D -0 0 0 0 -false false false -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -(D, 0, false, 0, 0, 0, 0) -8 0 -false 0 null null -8 8 -8 8 -8 8 -8 8 -D D D -D D D -D D D -D D r (D, D, r) -D D r -[19, 18, 9, 8] - true - false - true - false - false - false - true - true - false - true - false - true - true - false -hello there -false false -true true -false false -false false -uninitialized bytes: array[0, 0, 0] -bytes from display: array[7, 8, 9] -bytes from lambda: array[20, 21, 22] -uninitialized 1bytes: array[1, 1, 1] -1bytes from display: array[7, 8, 9] -1bytes from lambda: array[20, 21, 22] -17 19 18 20 -100 200 300 120 38 -hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -DDDDDabcdeabcdeggggg -DDDDDabcdeabcdeggggg -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] -DDDDDDDDDDagggggaggg -0 69 50 -0 69 50 -D k n -false false -true true -false false -false false -true true - -Dafny program verifier did not attempt verification -0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 -17 -[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] -[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] -[20, 21, 22] -[0, 1, 2, 3, 4, 5, 6, 7] -[0, 1, 2, 3, 4, 5, 6, 7] -d d d -h e l l o -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -1 0 0 0 0 -0 1 0 0 0 -0 0 1 0 0 -cube dims: 3 0 4 -[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] -It's null -hi hello tjena hej hola -hi hello tjena hej hola -hi hello tjena hej hola -d d d -h e l l o -8 8 8 8 -true true true -1 1 1 1 1 -2 2 2 2 2 -3 3 3 3 3 -4 4 4 4 4 -(d, 8, true, 1, 2, 3, 4) -D D D -0 0 0 0 -false false false -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -(D, 0, false, 0, 0, 0, 0) -8 0 -false 0 null null -8 8 -8 8 -8 8 -8 8 -D D D -D D D -D D D -D D r (D, D, r) -D D r -[19, 18, 9, 8] - true - false - true - false - false - false - true - true - false - true - false - true - true - false -hello there -false false -true true -false false -false false -uninitialized bytes: array[0, 0, 0] -bytes from display: array[7, 8, 9] -bytes from lambda: array[20, 21, 22] -uninitialized 1bytes: array[1, 1, 1] -1bytes from display: array[7, 8, 9] -1bytes from lambda: array[20, 21, 22] -17 19 18 20 -100 200 300 120 38 -hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -DDDDDabcdeabcdeggggg -DDDDDabcdeabcdeggggg -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] -[D, D, D, D, D, D, D, D, D, D, a, g, g, g, g, g, a, g, g, g] -0 69 50 -0 69 50 -D k n -false false -true true -false false -false false -true true - -Dafny program verifier did not attempt verification -0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 -17 -[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] -[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] -[20, 21, 22] -[0, 1, 2, 3, 4, 5, 6, 7] -[0, 1, 2, 3, 4, 5, 6, 7] -d d d -h e l l o -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -1 0 0 0 0 -0 1 0 0 0 -0 0 1 0 0 -cube dims: 3 0 4 -[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] -It's null -hi hello tjena hej hola -hi hello tjena hej hola -hi hello tjena hej hola -d d d -h e l l o -8 8 8 8 -true true true -1 1 1 1 1 -2 2 2 2 2 -3 3 3 3 3 -4 4 4 4 4 -(d, 8, true, 1, 2, 3, 4) -D D D -0 0 0 0 -false false false -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -(D, 0, false, 0, 0, 0, 0) -8 0 -false 0 null null -8 8 -8 8 -8 8 -8 8 -D D D -D D D -D D D -D D r (D, D, r) -D D r -[19, 18, 9, 8] - true - false - true - false - false - false - true - true - false - true - false - true - true - false -hello there -false false -true true -false false -false false -uninitialized bytes: array[0, 0, 0] -bytes from display: array[7, 8, 9] -bytes from lambda: array[20, 21, 22] -uninitialized 1bytes: array[1, 1, 1] -1bytes from display: array[7, 8, 9] -1bytes from lambda: array[20, 21, 22] -17 19 18 20 -100 200 300 120 38 -hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -DDDDDabcdeabcdeggggg -DDDDDabcdeabcdeggggg -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] -DDDDDDDDDDagggggaggg -0 69 50 -0 69 50 -D k n -false false -true true -false false -false false -true true - -Dafny program verifier did not attempt verification 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/comp/Arrays.dfy.go.expect b/Test/comp/Arrays.dfy.go.expect new file mode 100644 index 00000000000..1217623d90c --- /dev/null +++ b/Test/comp/Arrays.dfy.go.expect @@ -0,0 +1,96 @@ +0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 +17 +[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] +[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] +[20, 21, 22] +[0, 1, 2, 3, 4, 5, 6, 7] +[0, 1, 2, 3, 4, 5, 6, 7] +d d d +h e l l o +0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 +1 0 0 0 0 +0 1 0 0 0 +0 0 1 0 0 +cube dims: 3 0 4 +[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] +It's null +hi hello tjena hej hola +hi hello tjena hej hola +hi hello tjena hej hola +d d d +h e l l o +8 8 8 8 +true true true +1 1 1 1 1 +2 2 2 2 2 +3 3 3 3 3 +4 4 4 4 4 +(d, 8, true, 1, 2, 3, 4) +D D D +0 0 0 0 +false false false +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +(D, 0, false, 0, 0, 0, 0) +8 0 +false 0 null null +8 8 +8 8 +8 8 +8 8 +D D D +D D D +D D D +D D r (D, D, r) +D D r +[19, 18, 9, 8] + true + false + true + false + false + false + true + true + false + true + false + true + true + false +hello there +false false +true true +false false +false false +uninitialized bytes: array[0, 0, 0] +bytes from display: array[7, 8, 9] +bytes from lambda: array[20, 21, 22] +uninitialized 1bytes: array[1, 1, 1] +1bytes from display: array[7, 8, 9] +1bytes from lambda: array[20, 21, 22] +17 19 18 20 +100 200 300 120 38 +hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +DDDDDabcdeabcdeggggg +DDDDDabcdeabcdeggggg +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] +[D, D, D, D, D, D, D, D, D, D, a, g, g, g, g, g, a, g, g, g] +0 69 50 +0 69 50 +D k n +false false +true true +false false +false false +true true diff --git a/Test/comp/AsIs-Compile.dfy b/Test/comp/AsIs-Compile.dfy index 47084ed7633..319847564e2 100644 --- a/Test/comp/AsIs-Compile.dfy +++ b/Test/comp/AsIs-Compile.dfy @@ -1,10 +1,4 @@ -// RUN: %baredafny verify %args "%s" > "%t" -// RUN: %baredafny run --no-verify -t=cs %args "%s" >> "%t" -// RUN: %baredafny run --no-verify -t=js %args "%s" >> "%t" -// RUN: %baredafny run --no-verify -t=go %args "%s" >> "%t" -// RUN: %baredafny run --no-verify -t=java %args "%s" >> "%t" -// RUN: %baredafny run --no-verify -t=py %args "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" method Main() { var a: A, b: B, c: C, k: K, l: L := new M, new M, new M, new K, new L; diff --git a/Test/comp/AsIs-Compile.dfy.expect b/Test/comp/AsIs-Compile.dfy.expect index 36dfe46e91d..acc78c6e155 100644 --- a/Test/comp/AsIs-Compile.dfy.expect +++ b/Test/comp/AsIs-Compile.dfy.expect @@ -1,163 +1,3 @@ - -Dafny program verifier finished with 6 verified, 0 errors - -Dafny program verifier did not attempt verification -true true true true true -true true true true true -IsComparisons ---- -false true false false - true false false - true false -false false true false - false true false - false false -false false false true - false false true - false true -false true false false - false true false - false false -true true -false true -TestNullIs ---- -true true -true true -true true true true true true -true true true true true true -true true true true true true -true true true true true true -true true -false true -true true true true true true -false true false true false true -true true true true true true -false true false true false true -TestFromTraits ---- -5 -0 -4 -4 -4 -4 - -Dafny program verifier did not attempt verification -true true true true true -true true true true true -IsComparisons ---- -false true false false - true false false - true false -false false true false - false true false - false false -false false false true - false false true - false true -false true false false - false true false - false false -true true -false true -TestNullIs ---- -true true -true true -true true true true true true -true true true true true true -true true true true true true -true true true true true true -true true -false true -true true true true true true -false true false true false true -true true true true true true -false true false true false true -TestFromTraits ---- -5 -0 -4 -4 -4 -4 - -Dafny program verifier did not attempt verification -true true true true true -true true true true true -IsComparisons ---- -false true false false - true false false - true false -false false true false - false true false - false false -false false false true - false false true - false true -false true false false - false true false - false false -true true -false true -TestNullIs ---- -true true -true true -true true true true true true -true true true true true true -true true true true true true -true true true true true true -true true -false true -true true true true true true -false true false true false true -true true true true true true -false true false true false true -TestFromTraits ---- -5 -0 -4 -4 -4 -4 - -Dafny program verifier did not attempt verification -true true true true true -true true true true true -IsComparisons ---- -false true false false - true false false - true false -false false true false - false true false - false false -false false false true - false false true - false true -false true false false - false true false - false false -true true -false true -TestNullIs ---- -true true -true true -true true true true true true -true true true true true true -true true true true true true -true true true true true true -true true -false true -true true true true true true -false true false true false true -true true true true true true -false true false true false true -TestFromTraits ---- -5 -0 -4 -4 -4 -4 - -Dafny program verifier did not attempt verification true true true true true true true true true true IsComparisons ---- diff --git a/Test/comp/AutoInit.dfy b/Test/comp/AutoInit.dfy index b284619a80c..c0e752efa36 100644 --- a/Test/comp/AutoInit.dfy +++ b/Test/comp/AutoInit.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This file tests the compilation of some default values. It also includes some // regression tests for equality, printing, and tuples. diff --git a/Test/comp/AutoInit.dfy.expect b/Test/comp/AutoInit.dfy.expect index c8ed022d09b..a282fc36633 100644 --- a/Test/comp/AutoInit.dfy.expect +++ b/Test/comp/AutoInit.dfy.expect @@ -1,163 +1,3 @@ - -Dafny program verifier finished with 21 verified, 0 errors - -Dafny program verifier did not attempt verification -3 false 0 -false false true -() (0, false, false, []) -(null, 0) (null, 0) true -(null, null, null, 0) (null, null, null, 0) true -true false false true -true false false true -17 -1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or -(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) -1 -ww == null -- yes, as expected -true true true true -true true true -true true true -null null -null null -null null null -null null null -null null null -null null null -null null -null null null -null null null -DatatypeDefaultValues_Compile.EnumDatatype.MakeZero - DatatypeDefaultValues_Compile.IntList.Nil - 0 -DatatypeDefaultValues_Compile.GenericTree.Leaf - DatatypeDefaultValues_Compile.Complicated.ComplA(0, false) - DatatypeDefaultValues_Compile.CellCell.MakeCellCell(0) -null - null -ImportedTypes_mLibrary_Compile.Color.Red(0) and ImportedTypes_mLibrary_Compile.Color.Red(0) -ImportedTypes_mLibrary_Compile.CoColor.Yellow and ImportedTypes_mLibrary_Compile.CoColor.Yellow -ImportedTypes_mLibrary_Compile.MoColor.MoYellow and ImportedTypes_mLibrary_Compile.MoColor.MoYellow -0.0 and 0.0 -13 - -Dafny program verifier did not attempt verification -3 false 0 -false false true -() (0, false, false, []) -(null, 0) (null, 0) true -(null, null, null, 0) (null, null, null, 0) true -true false false true -true false false true -17 -1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or -(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) -1 -ww == null -- yes, as expected -true true true true -true true true -true true true -null null -null null -null null null -null null null -null null null -null null null -null null -null null null -null null null -DatatypeDefaultValues_Compile.EnumDatatype.MakeZero - DatatypeDefaultValues_Compile.IntList.Nil - 0 -DatatypeDefaultValues_Compile.GenericTree.Leaf - DatatypeDefaultValues_Compile.Complicated.ComplA(0, false) - DatatypeDefaultValues_Compile.CellCell.MakeCellCell(0) -null - null -ImportedTypes_mLibrary_Compile.Color.Red(0) and ImportedTypes_mLibrary_Compile.Color.Red(0) -ImportedTypes_mLibrary_Compile.CoColor.Yellow and ImportedTypes_mLibrary_Compile.CoColor.Yellow -ImportedTypes_mLibrary_Compile.MoColor.MoYellow and ImportedTypes_mLibrary_Compile.MoColor.MoYellow -0.0 and 0.0 -13 - -Dafny program verifier did not attempt verification -3 false 0 -false false true -() (0, false, false, []) -(null, 0) (null, 0) true -(null, null, null, 0) (null, null, null, 0) true -true false false true -true false false true -17 -1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or -(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) -1 -ww == null -- yes, as expected -true true true true -true true true -true true true -null null -null null -null null null -null null null -null null null -null null null -null null -null null null -null null null -DatatypeDefaultValues_Compile.EnumDatatype.MakeZero - DatatypeDefaultValues_Compile.IntList.Nil - 0 -DatatypeDefaultValues_Compile.GenericTree.Leaf - DatatypeDefaultValues_Compile.Complicated.ComplA(0, false) - DatatypeDefaultValues_Compile.CellCell.MakeCellCell(0) -null - null -ImportedTypes_mLibrary_Compile.Color.Red(0) and ImportedTypes_mLibrary_Compile.Color.Red(0) -ImportedTypes_mLibrary_Compile.CoColor.Yellow and ImportedTypes_mLibrary_Compile.CoColor.Yellow -ImportedTypes_mLibrary_Compile.MoColor.MoYellow and ImportedTypes_mLibrary_Compile.MoColor.MoYellow -0.0 and 0.0 -13 - -Dafny program verifier did not attempt verification -3 false 0 -false false true -() (0, false, false, []) -(null, 0) (null, 0) true -(null, null, null, 0) (null, null, null, 0) true -true false false true -true false false true -17 -1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or -(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) -1 -ww == null -- yes, as expected -true true true true -true true true -true true true -null null -null null -null null null -null null null -null null null -null null null -null null -null null null -null null null -DatatypeDefaultValues_Compile.EnumDatatype.MakeZero - DatatypeDefaultValues_Compile.IntList.Nil - 0 -DatatypeDefaultValues_Compile.GenericTree.Leaf - DatatypeDefaultValues_Compile.Complicated.ComplA(0, false) - DatatypeDefaultValues_Compile.CellCell.MakeCellCell(0) -null - null -ImportedTypes_mLibrary_Compile.Color.Red(0) and ImportedTypes_mLibrary_Compile.Color.Red(0) -ImportedTypes_mLibrary_Compile.CoColor.Yellow and ImportedTypes_mLibrary_Compile.CoColor.Yellow -ImportedTypes_mLibrary_Compile.MoColor.MoYellow and ImportedTypes_mLibrary_Compile.MoColor.MoYellow -0.0 and 0.0 -13 - -Dafny program verifier did not attempt verification 3 false 0 false false true () (0, false, false, []) diff --git a/Test/comp/ByMethodCompilation.dfy b/Test/comp/ByMethodCompilation.dfy index ea62d84b21e..7432f72f7d4 100644 --- a/Test/comp/ByMethodCompilation.dfy +++ b/Test/comp/ByMethodCompilation.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method Main() { var four := Four(); diff --git a/Test/comp/ByMethodCompilation.dfy.expect b/Test/comp/ByMethodCompilation.dfy.expect index 1519a955b0c..d61780e3fb8 100644 --- a/Test/comp/ByMethodCompilation.dfy.expect +++ b/Test/comp/ByMethodCompilation.dfy.expect @@ -1,35 +1,3 @@ - -Dafny program verifier finished with 13 verified, 0 errors - -Dafny program verifier did not attempt verification -hello -four is 4 -Recursive(7) = 14 -NonCompilableFunction: 4 7 -Sums: 14 3 - -Dafny program verifier did not attempt verification -hello -four is 4 -Recursive(7) = 14 -NonCompilableFunction: 4 7 -Sums: 14 3 - -Dafny program verifier did not attempt verification -hello -four is 4 -Recursive(7) = 14 -NonCompilableFunction: 4 7 -Sums: 14 3 - -Dafny program verifier did not attempt verification -hello -four is 4 -Recursive(7) = 14 -NonCompilableFunction: 4 7 -Sums: 14 3 - -Dafny program verifier did not attempt verification hello four is 4 Recursive(7) = 14 diff --git a/Test/comp/Calls.dfy b/Test/comp/Calls.dfy index 4a4916aea0c..c56bc3e5286 100644 --- a/Test/comp/Calls.dfy +++ b/Test/comp/Calls.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function F(x: int, y: bool): int { x + if y then 2 else 3 diff --git a/Test/comp/Calls.dfy.expect b/Test/comp/Calls.dfy.expect index 3317b8be164..cf4e1bc155b 100644 --- a/Test/comp/Calls.dfy.expect +++ b/Test/comp/Calls.dfy.expect @@ -1,43 +1,3 @@ - -Dafny program verifier finished with 6 verified, 0 errors - -Dafny program verifier did not attempt verification -5 0 0 false 0 false 0 -5 3 5 3 5 3 -5 3 5 3 5 3 -15 -[0, 1, 2, 4] -[0, 2, 4] ---> 5 <-- - -Dafny program verifier did not attempt verification -5 0 0 false 0 false 0 -5 3 5 3 5 3 -5 3 5 3 5 3 -15 -[0, 1, 2, 4] -[0, 2, 4] ---> 5 <-- - -Dafny program verifier did not attempt verification -5 0 0 false 0 false 0 -5 3 5 3 5 3 -5 3 5 3 5 3 -15 -[0, 1, 2, 4] -[0, 2, 4] ---> 5 <-- - -Dafny program verifier did not attempt verification -5 0 0 false 0 false 0 -5 3 5 3 5 3 -5 3 5 3 5 3 -15 -[0, 1, 2, 4] -[0, 2, 4] ---> 5 <-- - -Dafny program verifier did not attempt verification 5 0 0 false 0 false 0 5 3 5 3 5 3 5 3 5 3 5 3 diff --git a/Test/comp/Class.dfy b/Test/comp/Class.dfy index fb994f008e7..23591e43450 100644 --- a/Test/comp/Class.dfy +++ b/Test/comp/Class.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation class MyClass { var a: int diff --git a/Test/comp/Class.dfy.expect b/Test/comp/Class.dfy.expect index ba1482a164b..47e49966664 100644 --- a/Test/comp/Class.dfy.expect +++ b/Test/comp/Class.dfy.expect @@ -1,75 +1,3 @@ - -Dafny program verifier finished with 16 verified, 0 errors - -Dafny program verifier did not attempt verification -true true false -103 103 103 106 106 106 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -0 18 9 70 -0 18 9 70 -0 18 9 70 -70 -hi later -21 4 42 5 1 -TestGhostables -15 -Init called with x=15 -16 - -Dafny program verifier did not attempt verification -true true false -103 103 103 106 106 106 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -0 18 9 70 -0 18 9 70 -0 18 9 70 -70 -hi later -21 4 42 5 1 -TestGhostables -15 -Init called with x=15 -16 - -Dafny program verifier did not attempt verification -true true false -103 103 103 106 106 106 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -0 18 9 70 -0 18 9 70 -0 18 9 70 -70 -hi later -21 4 42 5 1 -TestGhostables -15 -Init called with x=15 -16 - -Dafny program verifier did not attempt verification -true true false -103 103 103 106 106 106 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -0 18 9 70 -0 18 9 70 -0 18 9 70 -70 -hi later -21 4 42 5 1 -TestGhostables -15 -Init called with x=15 -16 - -Dafny program verifier did not attempt verification true true false 103 103 103 106 106 106 203 17 0 18 8 9 69 70 diff --git a/Test/comp/Collections.dfy b/Test/comp/Collections.dfy index 104eb9f90ac..9457e44b170 100644 --- a/Test/comp/Collections.dfy +++ b/Test/comp/Collections.dfy @@ -1,10 +1,5 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false method Main() { Sets(); diff --git a/Test/comp/Collections.dfy.expect b/Test/comp/Collections.dfy.expect index 2361c1a88db..e705d887a7d 100644 --- a/Test/comp/Collections.dfy.expect +++ b/Test/comp/Collections.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 40 verified, 0 errors - -Dafny program verifier did not attempt verification Sets: {} {17, 82} {12, 17} cardinality: 0 2 2 union: {17, 82} {12, 17, 82} @@ -127,511 +123,3 @@ Multiset=== 1 3 |s|=2 |u|=4 1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Yellow := 21, Color.Blue := 30] -keys: {Color.Yellow, Color.Blue} -values: {21, 30} -items: {(Color.Yellow, 21), (Color.Blue, 30)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {21, 30} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/comp/Collections.dfy.go.expect b/Test/comp/Collections.dfy.go.expect new file mode 100644 index 00000000000..309d0c550c4 --- /dev/null +++ b/Test/comp/Collections.dfy.go.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/comp/Collections.dfy.java.expect b/Test/comp/Collections.dfy.java.expect new file mode 100644 index 00000000000..ed929a4d34c --- /dev/null +++ b/Test/comp/Collections.dfy.java.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Yellow := 21, Color.Blue := 30] +keys: {Color.Yellow, Color.Blue} +values: {21, 30} +items: {(Color.Yellow, 21), (Color.Blue, 30)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/comp/Collections.dfy.js.expect b/Test/comp/Collections.dfy.js.expect new file mode 100644 index 00000000000..309d0c550c4 --- /dev/null +++ b/Test/comp/Collections.dfy.js.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/comp/Collections.dfy.py.expect b/Test/comp/Collections.dfy.py.expect new file mode 100644 index 00000000000..61b4217bbaf --- /dev/null +++ b/Test/comp/Collections.dfy.py.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {21, 30} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/comp/Comprehensions.dfy b/Test/comp/Comprehensions.dfy index 29ac368f2c3..73c43b22bfa 100644 --- a/Test/comp/Comprehensions.dfy +++ b/Test/comp/Comprehensions.dfy @@ -1,10 +1,5 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false method Main() { AssignSuchThat(); diff --git a/Test/comp/Comprehensions.dfy.expect b/Test/comp/Comprehensions.dfy.expect index 18159ddde0a..c9703fc9397 100644 --- a/Test/comp/Comprehensions.dfy.expect +++ b/Test/comp/Comprehensions.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 32 verified, 0 errors - -Dafny program verifier did not attempt verification x=13 y=14 x=13 y=14 b=yes true false @@ -64,259 +60,3 @@ true true [137438953474, 137438953475, 137438953476, 137438953477, 137438953479] cdefh cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[14 := 7, 12 := 6, 13 := 6] -map[18 := 14, 17 := 13, 16 := 12] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh diff --git a/Test/comp/Comprehensions.dfy.py.expect b/Test/comp/Comprehensions.dfy.py.expect new file mode 100644 index 00000000000..aeaa31fc0f3 --- /dev/null +++ b/Test/comp/Comprehensions.dfy.py.expect @@ -0,0 +1,62 @@ +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[14 := 7, 12 := 6, 13 := 6] +map[18 := 14, 17 := 13, 16 := 12] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh diff --git a/Test/comp/ComprehensionsNewSyntax.dfy b/Test/comp/ComprehensionsNewSyntax.dfy index a324b622e8a..6cd88aeb4f7 100644 --- a/Test/comp/ComprehensionsNewSyntax.dfy +++ b/Test/comp/ComprehensionsNewSyntax.dfy @@ -1,10 +1,5 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method Main() { Quantifier(); diff --git a/Test/comp/ComprehensionsNewSyntax.dfy.expect b/Test/comp/ComprehensionsNewSyntax.dfy.expect index 408769f4b67..b70314ff87b 100644 --- a/Test/comp/ComprehensionsNewSyntax.dfy.expect +++ b/Test/comp/ComprehensionsNewSyntax.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 10 verified, 0 errors - -Dafny program verifier did not attempt verification true false true false map[12 := 6, 13 := 6, 14 := 7] @@ -36,147 +32,3 @@ false false false false true true true true false false false false true true true true - -Dafny program verifier did not attempt verification -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true - -Dafny program verifier did not attempt verification -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true - -Dafny program verifier did not attempt verification -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true - -Dafny program verifier did not attempt verification -true false -true false -map[14 := 7, 12 := 6, 13 := 6] -map[18 := 14, 17 := 13, 16 := 12] -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true diff --git a/Test/comp/ComprehensionsNewSyntax.dfy.py.expect b/Test/comp/ComprehensionsNewSyntax.dfy.py.expect new file mode 100644 index 00000000000..b19cef0ba0e --- /dev/null +++ b/Test/comp/ComprehensionsNewSyntax.dfy.py.expect @@ -0,0 +1,34 @@ +true false +true false +map[14 := 7, 12 := 6, 13 := 6] +map[18 := 14, 17 := 13, 16 := 12] +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true diff --git a/Test/comp/CovariantCollections.dfy b/Test/comp/CovariantCollections.dfy index 12301df3b09..6dd73ee7fea 100644 --- a/Test/comp/CovariantCollections.dfy +++ b/Test/comp/CovariantCollections.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method Main() { Sequences(); diff --git a/Test/comp/CovariantCollections.dfy.expect b/Test/comp/CovariantCollections.dfy.expect index e029d3abc3b..a9d00f4a65d 100644 --- a/Test/comp/CovariantCollections.dfy.expect +++ b/Test/comp/CovariantCollections.dfy.expect @@ -1,223 +1,3 @@ - -Dafny program verifier finished with 25 verified, 0 errors - -Dafny program verifier did not attempt verification -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17] [12, 17] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - comprehension: {82} - union: {17, 82} {12, 17, 82} - intersection: {} {17} - difference: {} {82} - subset: true false true - proper subset: true false false - membership: false true true -Multisets: {} {17, 17, 82, 82} {12, 17} - cardinality: 0 4 2 - update: {17, 17, 42, 42, 42} {12, 17, 42} - multiplicity: 2 0 20 - union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} - intersection: {} {17, 82, 82} - difference: {} {17, 82, 82} - subset: true false true - proper subset: true false false - membership: false true true -Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} - cardinality: 0 3 2 - update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} - comprehension: {17 := 12, 82 := 12} - Keys: {12, 17, 82} - Values: {17, 82} - eq: false true true - eq: true true true true true true - eq: true true true true true true - eq: true false true false true false - eq: true false true false true false - eq: true true true true true true - eq: true true true true true true -set: {20, 30} -multiset: {20, 30} -seq: [20, 30] -map: {20 := 30, 30 := 20} -true -true -1 1 -1 1 - -Dafny program verifier did not attempt verification -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17] [12, 17] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - comprehension: {82} - union: {17, 82} {12, 17, 82} - intersection: {} {17} - difference: {} {82} - subset: true false true - proper subset: true false false - membership: false true true -Multisets: {} {17, 17, 82, 82} {12, 17} - cardinality: 0 4 2 - update: {17, 17, 42, 42, 42} {12, 17, 42} - multiplicity: 2 0 20 - union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} - intersection: {} {17, 82, 82} - difference: {} {17, 82, 82} - subset: true false true - proper subset: true false false - membership: false true true -Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} - cardinality: 0 3 2 - update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} - comprehension: {17 := 12, 82 := 12} - Keys: {12, 17, 82} - Values: {17, 82} - eq: false true true - eq: true true true true true true - eq: true true true true true true - eq: true false true false true false - eq: true false true false true false - eq: true true true true true true - eq: true true true true true true -set: {20, 30} -multiset: {20, 30} -seq: [20, 30] -map: {20 := 30, 30 := 20} -true -true -1 1 -1 1 - -Dafny program verifier did not attempt verification -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17] [12, 17] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - comprehension: {82} - union: {17, 82} {12, 17, 82} - intersection: {} {17} - difference: {} {82} - subset: true false true - proper subset: true false false - membership: false true true -Multisets: {} {17, 17, 82, 82} {12, 17} - cardinality: 0 4 2 - update: {17, 17, 42, 42, 42} {12, 17, 42} - multiplicity: 2 0 20 - union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} - intersection: {} {17, 82, 82} - difference: {} {17, 82, 82} - subset: true false true - proper subset: true false false - membership: false true true -Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} - cardinality: 0 3 2 - update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} - comprehension: {17 := 12, 82 := 12} - Keys: {12, 17, 82} - Values: {17, 82} - eq: false true true - eq: true true true true true true - eq: true true true true true true - eq: true false true false true false - eq: true false true false true false - eq: true true true true true true - eq: true true true true true true -set: {20, 30} -multiset: {20, 30} -seq: [20, 30] -map: {20 := 30, 30 := 20} -true -true -1 1 -1 1 - -Dafny program verifier did not attempt verification -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17] [12, 17] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - comprehension: {82} - union: {17, 82} {12, 17, 82} - intersection: {} {17} - difference: {} {82} - subset: true false true - proper subset: true false false - membership: false true true -Multisets: {} {17, 17, 82, 82} {12, 17} - cardinality: 0 4 2 - update: {17, 17, 42, 42, 42} {12, 17, 42} - multiplicity: 2 0 20 - union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} - intersection: {} {17, 82, 82} - difference: {} {17, 82, 82} - subset: true false true - proper subset: true false false - membership: false true true -Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} - cardinality: 0 3 2 - update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} - comprehension: {17 := 12, 82 := 12} - Keys: {12, 17, 82} - Values: {17, 82} - eq: false true true - eq: true true true true true true - eq: true true true true true true - eq: true false true false true false - eq: true false true false true false - eq: true true true true true true - eq: true true true true true true -set: {20, 30} -multiset: {20, 30} -seq: [20, 30] -map: {20 := 30, 30 := 20} -true -true -1 1 -1 1 - -Dafny program verifier did not attempt verification Sequences: [] [17, 82, 17, 82] [12, 17] cardinality: 0 4 2 update: [42, 82, 17, 82] [42, 17] diff --git a/Test/comp/Datatype.dfy b/Test/comp/Datatype.dfy index 0f4bab7c469..3b3f0641c1a 100644 --- a/Test/comp/Datatype.dfy +++ b/Test/comp/Datatype.dfy @@ -1,10 +1,5 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation datatype List = Nil | Cons(head: int, tail: List) diff --git a/Test/comp/Datatype.dfy.expect b/Test/comp/Datatype.dfy.expect index 84dceeb16e6..93e37a9562a 100644 --- a/Test/comp/Datatype.dfy.expect +++ b/Test/comp/Datatype.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 12 verified, 0 errors - -Dafny program verifier did not attempt verification List.Nil List.Cons(5, List.Nil) (List.Nil, List.Cons(5, List.Nil)) @@ -24,99 +20,3 @@ Record.Record(58, true) 199 800 801 802 800 801 802 - -Dafny program verifier did not attempt verification -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) -0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) -Stream.Next -Stream.Next -{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} -CoBerry.Hjortron true true false -false -42 'q' hello -1701 -Record.Record(58, true) -199 -800 801 802 -800 801 802 - -Dafny program verifier did not attempt verification -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) -0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) -Stream.Next -Stream.Next -{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} -CoBerry.Hjortron true true false -false -42 'q' hello -1701 -Record.Record(58, true) -199 -800 801 802 -800 801 802 - -Dafny program verifier did not attempt verification -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) -0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) -Stream.Next -Stream.Next -{Berry.Jordgubb, Berry.Smultron, Berry.Hallon} -CoBerry.Hjortron true true false -false -42 'q' hello -1701 -Record.Record(58, true) -199 -800 801 802 -800 801 802 - -Dafny program verifier did not attempt verification -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) -0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) -Stream.Next -Stream.Next -{Berry.Hallon, Berry.Smultron, Berry.Jordgubb} -CoBerry.Hjortron true true false -false -42 'q' hello -1701 -Record.Record(58, true) -199 -800 801 802 -800 801 802 diff --git a/Test/comp/Datatype.dfy.java.expect b/Test/comp/Datatype.dfy.java.expect new file mode 100644 index 00000000000..e5a32fd58bc --- /dev/null +++ b/Test/comp/Datatype.dfy.java.expect @@ -0,0 +1,22 @@ +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) +0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) +Stream.Next +Stream.Next +{Berry.Jordgubb, Berry.Smultron, Berry.Hallon} +CoBerry.Hjortron true true false +false +42 'q' hello +1701 +Record.Record(58, true) +199 +800 801 802 +800 801 802 diff --git a/Test/comp/Datatype.dfy.py.expect b/Test/comp/Datatype.dfy.py.expect new file mode 100644 index 00000000000..0f64b73ba2d --- /dev/null +++ b/Test/comp/Datatype.dfy.py.expect @@ -0,0 +1,22 @@ +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) +0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) +Stream.Next +Stream.Next +{Berry.Hallon, Berry.Smultron, Berry.Jordgubb} +CoBerry.Hjortron true true false +false +42 'q' hello +1701 +Record.Record(58, true) +199 +800 801 802 +800 801 802 diff --git a/Test/comp/DefaultParameters-Compile.dfy b/Test/comp/DefaultParameters-Compile.dfy index 145b8670647..cd6ba1163b1 100644 --- a/Test/comp/DefaultParameters-Compile.dfy +++ b/Test/comp/DefaultParameters-Compile.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method M(x: int := 16) { print x, "\n"; diff --git a/Test/comp/DefaultParameters-Compile.dfy.expect b/Test/comp/DefaultParameters-Compile.dfy.expect index b94739d5be1..b4b87321eb5 100644 --- a/Test/comp/DefaultParameters-Compile.dfy.expect +++ b/Test/comp/DefaultParameters-Compile.dfy.expect @@ -1,51 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification -12 -16 -1 2 -1 3 -10 20 -11 13 -Color.Blue(2, 1) Color.Red(3, 4) -5 5 6 -6 6 7 - -Dafny program verifier did not attempt verification -12 -16 -1 2 -1 3 -10 20 -11 13 -Color.Blue(2, 1) Color.Red(3, 4) -5 5 6 -6 6 7 - -Dafny program verifier did not attempt verification -12 -16 -1 2 -1 3 -10 20 -11 13 -Color.Blue(2, 1) Color.Red(3, 4) -5 5 6 -6 6 7 - -Dafny program verifier did not attempt verification -12 -16 -1 2 -1 3 -10 20 -11 13 -Color.Blue(2, 1) Color.Red(3, 4) -5 5 6 -6 6 7 - -Dafny program verifier did not attempt verification 12 16 1 2 diff --git a/Test/comp/DowncastClone.dfy b/Test/comp/DowncastClone.dfy index b90066da781..cb1f095b3f4 100644 --- a/Test/comp/DowncastClone.dfy +++ b/Test/comp/DowncastClone.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Co<+T> = Co(T) | C datatype ReCo<+T> = ReCo(T) diff --git a/Test/comp/DowncastClone.dfy.expect b/Test/comp/DowncastClone.dfy.expect index 982b36b396c..b0613294f3c 100644 --- a/Test/comp/DowncastClone.dfy.expect +++ b/Test/comp/DowncastClone.dfy.expect @@ -1,43 +1,3 @@ - -Dafny program verifier finished with 7 verified, 0 errors - -Dafny program verifier did not attempt verification -Co.Co(_module.Y) and Co.Co(_module.Y) -_module.Y and _module.Y -_module.Y _module.Y -false and false -false and false -_module.Y and _module.Y -Done - -Dafny program verifier did not attempt verification -Co.Co(_module.Y) and Co.Co(_module.Y) -_module.Y and _module.Y -_module.Y _module.Y -false and false -false and false -_module.Y and _module.Y -Done - -Dafny program verifier did not attempt verification -Co.Co(_module.Y) and Co.Co(_module.Y) -_module.Y and _module.Y -_module.Y _module.Y -false and false -false and false -_module.Y and _module.Y -Done - -Dafny program verifier did not attempt verification -Co.Co(_module.Y) and Co.Co(_module.Y) -_module.Y and _module.Y -_module.Y _module.Y -false and false -false and false -_module.Y and _module.Y -Done - -Dafny program verifier did not attempt verification Co.Co(_module.Y) and Co.Co(_module.Y) _module.Y and _module.Y _module.Y _module.Y diff --git a/Test/comp/ErasableTypeWrappers.dfy b/Test/comp/ErasableTypeWrappers.dfy index d62d3736622..a280099699f 100644 --- a/Test/comp/ErasableTypeWrappers.dfy +++ b/Test/comp/ErasableTypeWrappers.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false datatype SingletonRecord = SingletonRecord(u: int) datatype GhostOrNot = ghost Ghost(a: int, b: int) | Compiled(x: int) diff --git a/Test/comp/ErasableTypeWrappers.dfy.expect b/Test/comp/ErasableTypeWrappers.dfy.expect index 602e30d2075..7dd41a194ac 100644 --- a/Test/comp/ErasableTypeWrappers.dfy.expect +++ b/Test/comp/ErasableTypeWrappers.dfy.expect @@ -1,87 +1,3 @@ - -Dafny program verifier finished with 10 verified, 0 errors - -Dafny program verifier did not attempt verification -62 63 (2, 5) (2, 5) 3 -62 63 5 5 3 -5 5 3 -1062 1063 1005 1005 1003 -true true true -20 20 *20 21 20 -20 20 *20 21 20 -true false -true false true false -true false -0 (0, 0) 0 Color.Pink -13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false - 3.14 2.7 -18.0 18.0 3.0 false -18.0 4.0 true -HasConst.MakeC(4) (4, 4) -4 (4, 4) -OptimizationChecks_Compile.Ints.Ints(5, 7) OptimizationChecks_Compile.Ints.Ints(5, 7) OptimizationChecks_Compile.Ints.AnotherIntsWrapper(OptimizationChecks_Compile.Ints.Ints(5, 7)) - -Dafny program verifier did not attempt verification -62 63 (2, 5) (2, 5) 3 -62 63 5 5 3 -5 5 3 -1062 1063 1005 1005 1003 -true true true -20 20 *20 21 20 -20 20 *20 21 20 -true false -true false true false -true false -0 (0, 0) 0 Color.Pink -13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false - 3.14 2.7 -18.0 18.0 3.0 false -18.0 4.0 true -HasConst.MakeC(4) (4, 4) -4 (4, 4) -OptimizationChecks_Compile.Ints.Ints(5, 7) OptimizationChecks_Compile.Ints.Ints(5, 7) OptimizationChecks_Compile.Ints.AnotherIntsWrapper(OptimizationChecks_Compile.Ints.Ints(5, 7)) - -Dafny program verifier did not attempt verification -62 63 (2, 5) (2, 5) 3 -62 63 5 5 3 -5 5 3 -1062 1063 1005 1005 1003 -true true true -20 20 *20 21 20 -20 20 *20 21 20 -true false -true false true false -true false -0 (0, 0) 0 Color.Pink -13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false - 3.14 2.7 -18.0 18.0 3.0 false -18.0 4.0 true -HasConst.MakeC(4) (4, 4) -4 (4, 4) -OptimizationChecks_Compile.Ints.Ints(5, 7) OptimizationChecks_Compile.Ints.Ints(5, 7) OptimizationChecks_Compile.Ints.AnotherIntsWrapper(OptimizationChecks_Compile.Ints.Ints(5, 7)) - -Dafny program verifier did not attempt verification -62 63 (2, 5) (2, 5) 3 -62 63 5 5 3 -5 5 3 -1062 1063 1005 1005 1003 -true true true -20 20 *20 21 20 -20 20 *20 21 20 -true false -true false true false -true false -0 (0, 0) 0 Color.Pink -13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false - 3.14 2.7 -18.0 18.0 3.0 false -18.0 4.0 true -HasConst.MakeC(4) (4, 4) -4 (4, 4) -OptimizationChecks_Compile.Ints.Ints(5, 7) OptimizationChecks_Compile.Ints.Ints(5, 7) OptimizationChecks_Compile.Ints.AnotherIntsWrapper(OptimizationChecks_Compile.Ints.Ints(5, 7)) - -Dafny program verifier did not attempt verification 62 63 (2, 5) (2, 5) 3 62 63 5 5 3 5 5 3 diff --git a/Test/comp/EuclideanDivision.dfy b/Test/comp/EuclideanDivision.dfy index 7ae1803cad8..1286dcd125b 100644 --- a/Test/comp/EuclideanDivision.dfy +++ b/Test/comp/EuclideanDivision.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Some runtimes (like the one for C#) have three implementations // of Euclidean div/mod: one for `int`, one for `long`, and one diff --git a/Test/comp/EuclideanDivision.dfy.expect b/Test/comp/EuclideanDivision.dfy.expect index b538c9494de..e2585ff8c70 100644 --- a/Test/comp/EuclideanDivision.dfy.expect +++ b/Test/comp/EuclideanDivision.dfy.expect @@ -1,39 +1,3 @@ - -Dafny program verifier finished with 11 verified, 0 errors - -Dafny program verifier did not attempt verification -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 - -Dafny program verifier did not attempt verification -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 - -Dafny program verifier did not attempt verification -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 - -Dafny program verifier did not attempt verification -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 - -Dafny program verifier did not attempt verification 2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 diff --git a/Test/comp/ForLoops-Compilation.dfy b/Test/comp/ForLoops-Compilation.dfy index 97101b82961..b468d21f69f 100644 --- a/Test/comp/ForLoops-Compilation.dfy +++ b/Test/comp/ForLoops-Compilation.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method Main() { TestM(0, 0); diff --git a/Test/comp/ForLoops-Compilation.dfy.expect b/Test/comp/ForLoops-Compilation.dfy.expect index d67a5429fed..97724a714bc 100644 --- a/Test/comp/ForLoops-Compilation.dfy.expect +++ b/Test/comp/ForLoops-Compilation.dfy.expect @@ -1,203 +1,3 @@ - -Dafny program verifier finished with 23 verified, 0 errors - -Dafny program verifier did not attempt verification -0 0 0 0 --2 -2 -2 -2 -0 0 0 0 -145 145 145 145 -0 0 -0 0 -57 57 -0 0 -32385 32385 -0 0 --128 -128 -126 126 -0 0 -0 * 2 == 0 -2 * 0 == 0 -1 * 1 == 1 -6 * 5 == 30 -0 + 3 == 3 -3 + 0 == 3 -4 + 0 == 4 -0 + 0 == 0 -19 + 14 == 33 -4 4 4 -== BC10 == -0 --++--++---- *** -1 --++--++----++-- -2 --++--++----++--++--++--++--++--++--++ *** -3 --++--++----++--++--++--++--++--++--++ *** -4 --++--++----++--++--++--++--++--++--++ *** -5 --++--++----++--++--++--++--++--++--++ *** -6 --++--++----++--++--++--++--++--++--++ *** -7 --++--++----++--++--++--++--++--++--++ *** -8 --++--++----++--++--++--++--++--++--++ *** -9 --++--++----++--++--++--++--++--++--++ *** -== BC11 == -0 ||--++----++-- *** -1 ||--++----++--++-- -2 ||--++----++--++--++--++--++--++--++--++ *** -3 ||--++----++--++--++--++--++--++--++--++ *** -4 ||--++----++--++--++--++--++--++--++--++ *** -5 ||--++----++--++--++--++--++--++--++--++ *** -6 ||--++----++--++--++--++--++--++--++--++ *** -7 ||--++----++--++--++--++--++--++--++--++ *** -8 ||--++----++--++--++--++--++--++--++--++ *** -9 ||--++----++--++--++--++--++--++--++--++ *** -true true true 15 -all good - -Dafny program verifier did not attempt verification -0 0 0 0 --2 -2 -2 -2 -0 0 0 0 -145 145 145 145 -0 0 -0 0 -57 57 -0 0 -32385 32385 -0 0 --128 -128 -126 126 -0 0 -0 * 2 == 0 -2 * 0 == 0 -1 * 1 == 1 -6 * 5 == 30 -0 + 3 == 3 -3 + 0 == 3 -4 + 0 == 4 -0 + 0 == 0 -19 + 14 == 33 -4 4 4 -== BC10 == -0 --++--++---- *** -1 --++--++----++-- -2 --++--++----++--++--++--++--++--++--++ *** -3 --++--++----++--++--++--++--++--++--++ *** -4 --++--++----++--++--++--++--++--++--++ *** -5 --++--++----++--++--++--++--++--++--++ *** -6 --++--++----++--++--++--++--++--++--++ *** -7 --++--++----++--++--++--++--++--++--++ *** -8 --++--++----++--++--++--++--++--++--++ *** -9 --++--++----++--++--++--++--++--++--++ *** -== BC11 == -0 ||--++----++-- *** -1 ||--++----++--++-- -2 ||--++----++--++--++--++--++--++--++--++ *** -3 ||--++----++--++--++--++--++--++--++--++ *** -4 ||--++----++--++--++--++--++--++--++--++ *** -5 ||--++----++--++--++--++--++--++--++--++ *** -6 ||--++----++--++--++--++--++--++--++--++ *** -7 ||--++----++--++--++--++--++--++--++--++ *** -8 ||--++----++--++--++--++--++--++--++--++ *** -9 ||--++----++--++--++--++--++--++--++--++ *** -true true true 15 -all good - -Dafny program verifier did not attempt verification -0 0 0 0 --2 -2 -2 -2 -0 0 0 0 -145 145 145 145 -0 0 -0 0 -57 57 -0 0 -32385 32385 -0 0 --128 -128 -126 126 -0 0 -0 * 2 == 0 -2 * 0 == 0 -1 * 1 == 1 -6 * 5 == 30 -0 + 3 == 3 -3 + 0 == 3 -4 + 0 == 4 -0 + 0 == 0 -19 + 14 == 33 -4 4 4 -== BC10 == -0 --++--++---- *** -1 --++--++----++-- -2 --++--++----++--++--++--++--++--++--++ *** -3 --++--++----++--++--++--++--++--++--++ *** -4 --++--++----++--++--++--++--++--++--++ *** -5 --++--++----++--++--++--++--++--++--++ *** -6 --++--++----++--++--++--++--++--++--++ *** -7 --++--++----++--++--++--++--++--++--++ *** -8 --++--++----++--++--++--++--++--++--++ *** -9 --++--++----++--++--++--++--++--++--++ *** -== BC11 == -0 ||--++----++-- *** -1 ||--++----++--++-- -2 ||--++----++--++--++--++--++--++--++--++ *** -3 ||--++----++--++--++--++--++--++--++--++ *** -4 ||--++----++--++--++--++--++--++--++--++ *** -5 ||--++----++--++--++--++--++--++--++--++ *** -6 ||--++----++--++--++--++--++--++--++--++ *** -7 ||--++----++--++--++--++--++--++--++--++ *** -8 ||--++----++--++--++--++--++--++--++--++ *** -9 ||--++----++--++--++--++--++--++--++--++ *** -true true true 15 -all good - -Dafny program verifier did not attempt verification -0 0 0 0 --2 -2 -2 -2 -0 0 0 0 -145 145 145 145 -0 0 -0 0 -57 57 -0 0 -32385 32385 -0 0 --128 -128 -126 126 -0 0 -0 * 2 == 0 -2 * 0 == 0 -1 * 1 == 1 -6 * 5 == 30 -0 + 3 == 3 -3 + 0 == 3 -4 + 0 == 4 -0 + 0 == 0 -19 + 14 == 33 -4 4 4 -== BC10 == -0 --++--++---- *** -1 --++--++----++-- -2 --++--++----++--++--++--++--++--++--++ *** -3 --++--++----++--++--++--++--++--++--++ *** -4 --++--++----++--++--++--++--++--++--++ *** -5 --++--++----++--++--++--++--++--++--++ *** -6 --++--++----++--++--++--++--++--++--++ *** -7 --++--++----++--++--++--++--++--++--++ *** -8 --++--++----++--++--++--++--++--++--++ *** -9 --++--++----++--++--++--++--++--++--++ *** -== BC11 == -0 ||--++----++-- *** -1 ||--++----++--++-- -2 ||--++----++--++--++--++--++--++--++--++ *** -3 ||--++----++--++--++--++--++--++--++--++ *** -4 ||--++----++--++--++--++--++--++--++--++ *** -5 ||--++----++--++--++--++--++--++--++--++ *** -6 ||--++----++--++--++--++--++--++--++--++ *** -7 ||--++----++--++--++--++--++--++--++--++ *** -8 ||--++----++--++--++--++--++--++--++--++ *** -9 ||--++----++--++--++--++--++--++--++--++ *** -true true true 15 -all good - -Dafny program verifier did not attempt verification 0 0 0 0 -2 -2 -2 -2 0 0 0 0 diff --git a/Test/comp/ForallNewSyntax.dfy b/Test/comp/ForallNewSyntax.dfy index c17bf86830e..85e609b37b3 100644 --- a/Test/comp/ForallNewSyntax.dfy +++ b/Test/comp/ForallNewSyntax.dfy @@ -1,10 +1,4 @@ -// RUN: %baredafny verify %args --relax-definite-assignment --function-syntax:3 --quantifier-syntax:4 "%s" > "%t" -// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:cs "%s" >> "%t" -// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:js "%s" >> "%t" -// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:go "%s" >> "%t" -// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:java "%s" >> "%t" -// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --function-syntax:3 --quantifier-syntax:4 --relax-definite-assignment method Main() { var arrayTests := new ArrayTests(); diff --git a/Test/comp/ForallNewSyntax.dfy.expect b/Test/comp/ForallNewSyntax.dfy.expect index 241ea9ea521..5b33d939607 100644 --- a/Test/comp/ForallNewSyntax.dfy.expect +++ b/Test/comp/ForallNewSyntax.dfy.expect @@ -1,183 +1,3 @@ - -Dafny program verifier finished with 25 verified, 0 errors - -Dafny program verifier did not attempt verification -Arrays: Basic cases -[0, 1, 2, 3, 4] -[0, 1, 2, 3, 4] -[0, 1, 4, 3, 8] - -Arrays: Wrong index -[0, 0, 1, 2, 3] -[0, 0, 1, 2, 3] -[1, 2, 3, 4, 5] - -Arrays: Sequence conversion -[2, 1, 4, 5, 6] -[0, 3, 3, 3, 4] - -Arrays: Index collection -[1, 1, 2, 3, 4] -[1, 1, 2, 3, 4] - -Arrays: Functions -[1, 1, 3, 4, 5] -[1, 1, 3, 4, 5] -[1, 2, 3, 3, 5] -[1, 2, 3, 4, 5] - -Multi-dimensional arrays -[[0, 2, 4], [1, 3, 5], [2, 4, 6]] -[[0, 1, 2], [2, 3, 4], [4, 5, 6]] - -Objects: Basic cases -[(0, 1.0), (0, 2.0), (0, 3.0)] -[(2, 1.0), (2, 2.0), (4, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] - -Objects: Bad field accesses -[(2, 1.0), (3, 2.0), (4, 3.0)] -[(2, 1.0), (2, 2.0), (2, 3.0)] -[(2, 1.0), (3, 2.0), (1, 3.0)] - -Objects: Functions -[(2, 1.0), (4, 2.0), (6, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] -[(3, 1.0), (4, 2.0), (5, 3.0)] - -Dafny program verifier did not attempt verification -Arrays: Basic cases -[0, 1, 2, 3, 4] -[0, 1, 2, 3, 4] -[0, 1, 4, 3, 8] - -Arrays: Wrong index -[0, 0, 1, 2, 3] -[0, 0, 1, 2, 3] -[1, 2, 3, 4, 5] - -Arrays: Sequence conversion -[2, 1, 4, 5, 6] -[0, 3, 3, 3, 4] - -Arrays: Index collection -[1, 1, 2, 3, 4] -[1, 1, 2, 3, 4] - -Arrays: Functions -[1, 1, 3, 4, 5] -[1, 1, 3, 4, 5] -[1, 2, 3, 3, 5] -[1, 2, 3, 4, 5] - -Multi-dimensional arrays -[[0, 2, 4], [1, 3, 5], [2, 4, 6]] -[[0, 1, 2], [2, 3, 4], [4, 5, 6]] - -Objects: Basic cases -[(0, 1.0), (0, 2.0), (0, 3.0)] -[(2, 1.0), (2, 2.0), (4, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] - -Objects: Bad field accesses -[(2, 1.0), (3, 2.0), (4, 3.0)] -[(2, 1.0), (2, 2.0), (2, 3.0)] -[(2, 1.0), (3, 2.0), (1, 3.0)] - -Objects: Functions -[(2, 1.0), (4, 2.0), (6, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] -[(3, 1.0), (4, 2.0), (5, 3.0)] - -Dafny program verifier did not attempt verification -Arrays: Basic cases -[0, 1, 2, 3, 4] -[0, 1, 2, 3, 4] -[0, 1, 4, 3, 8] - -Arrays: Wrong index -[0, 0, 1, 2, 3] -[0, 0, 1, 2, 3] -[1, 2, 3, 4, 5] - -Arrays: Sequence conversion -[2, 1, 4, 5, 6] -[0, 3, 3, 3, 4] - -Arrays: Index collection -[1, 1, 2, 3, 4] -[1, 1, 2, 3, 4] - -Arrays: Functions -[1, 1, 3, 4, 5] -[1, 1, 3, 4, 5] -[1, 2, 3, 3, 5] -[1, 2, 3, 4, 5] - -Multi-dimensional arrays -[[0, 2, 4], [1, 3, 5], [2, 4, 6]] -[[0, 1, 2], [2, 3, 4], [4, 5, 6]] - -Objects: Basic cases -[(0, 1.0), (0, 2.0), (0, 3.0)] -[(2, 1.0), (2, 2.0), (4, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] - -Objects: Bad field accesses -[(2, 1.0), (3, 2.0), (4, 3.0)] -[(2, 1.0), (2, 2.0), (2, 3.0)] -[(2, 1.0), (3, 2.0), (1, 3.0)] - -Objects: Functions -[(2, 1.0), (4, 2.0), (6, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] -[(3, 1.0), (4, 2.0), (5, 3.0)] - -Dafny program verifier did not attempt verification -Arrays: Basic cases -[0, 1, 2, 3, 4] -[0, 1, 2, 3, 4] -[0, 1, 4, 3, 8] - -Arrays: Wrong index -[0, 0, 1, 2, 3] -[0, 0, 1, 2, 3] -[1, 2, 3, 4, 5] - -Arrays: Sequence conversion -[2, 1, 4, 5, 6] -[0, 3, 3, 3, 4] - -Arrays: Index collection -[1, 1, 2, 3, 4] -[1, 1, 2, 3, 4] - -Arrays: Functions -[1, 1, 3, 4, 5] -[1, 1, 3, 4, 5] -[1, 2, 3, 3, 5] -[1, 2, 3, 4, 5] - -Multi-dimensional arrays -[[0, 2, 4], [1, 3, 5], [2, 4, 6]] -[[0, 1, 2], [2, 3, 4], [4, 5, 6]] - -Objects: Basic cases -[(0, 1.0), (0, 2.0), (0, 3.0)] -[(2, 1.0), (2, 2.0), (4, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] - -Objects: Bad field accesses -[(2, 1.0), (3, 2.0), (4, 3.0)] -[(2, 1.0), (2, 2.0), (2, 3.0)] -[(2, 1.0), (3, 2.0), (1, 3.0)] - -Objects: Functions -[(2, 1.0), (4, 2.0), (6, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] -[(3, 1.0), (4, 2.0), (5, 3.0)] - -Dafny program verifier did not attempt verification Arrays: Basic cases [0, 1, 2, 3, 4] [0, 1, 2, 3, 4] diff --git a/Test/comp/Ghosts.dfy b/Test/comp/Ghosts.dfy index 506fe0facb1..8afe8a36d3f 100644 --- a/Test/comp/Ghosts.dfy +++ b/Test/comp/Ghosts.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method M1() returns (x: int) { diff --git a/Test/comp/Ghosts.dfy.expect b/Test/comp/Ghosts.dfy.expect index 430a9c18fc0..d075ea048c1 100644 --- a/Test/comp/Ghosts.dfy.expect +++ b/Test/comp/Ghosts.dfy.expect @@ -1,55 +1,3 @@ - -Dafny program verifier finished with 8 verified, 0 errors - -Dafny program verifier did not attempt verification -hello, M2 -hello, M2 -hello, M3 -hello, M1 -hello, M1 -hello, M1 -hello, M2 -hello, M3 -hello, N0 -hello, N1 - -Dafny program verifier did not attempt verification -hello, M2 -hello, M2 -hello, M3 -hello, M1 -hello, M1 -hello, M1 -hello, M2 -hello, M3 -hello, N0 -hello, N1 - -Dafny program verifier did not attempt verification -hello, M2 -hello, M2 -hello, M3 -hello, M1 -hello, M1 -hello, M1 -hello, M2 -hello, M3 -hello, N0 -hello, N1 - -Dafny program verifier did not attempt verification -hello, M2 -hello, M2 -hello, M3 -hello, M1 -hello, M1 -hello, M1 -hello, M2 -hello, M3 -hello, N0 -hello, N1 - -Dafny program verifier did not attempt verification hello, M2 hello, M2 hello, M3 diff --git a/Test/comp/Let.dfy b/Test/comp/Let.dfy index 64dce8b90e6..2a639009c78 100644 --- a/Test/comp/Let.dfy +++ b/Test/comp/Let.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cs "%s" > "%t" -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method M() returns (x: int) { x := var y := 50; y; // non-top-level let diff --git a/Test/comp/Let.dfy.expect b/Test/comp/Let.dfy.expect index 667abc32458..f05dfc414c1 100644 --- a/Test/comp/Let.dfy.expect +++ b/Test/comp/Let.dfy.expect @@ -1,37 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors -50 58 -Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) -5 7 9 10 12 30 -5 7 -5 7 -12.0 15.0 15.0 15.0 - -Dafny program verifier finished with 5 verified, 0 errors -50 58 -Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) -5 7 9 10 12 30 -5 7 -5 7 -12.0 15.0 15.0 15.0 - -Dafny program verifier finished with 5 verified, 0 errors -50 58 -Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) -5 7 9 10 12 30 -5 7 -5 7 -12.0 15.0 15.0 15.0 - -Dafny program verifier finished with 5 verified, 0 errors -50 58 -Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) -5 7 9 10 12 30 -5 7 -5 7 -12.0 15.0 15.0 15.0 - -Dafny program verifier finished with 5 verified, 0 errors 50 58 Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) 5 7 9 10 12 30 diff --git a/Test/comp/MoreAutoInit.dfy b/Test/comp/MoreAutoInit.dfy index 46bdf7148f1..c72083f1be5 100644 --- a/Test/comp/MoreAutoInit.dfy +++ b/Test/comp/MoreAutoInit.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { Methods.TestStart(); diff --git a/Test/comp/MoreAutoInit.dfy.expect b/Test/comp/MoreAutoInit.dfy.expect index cc1ae3b994a..a3a230fd0f1 100644 --- a/Test/comp/MoreAutoInit.dfy.expect +++ b/Test/comp/MoreAutoInit.dfy.expect @@ -1,575 +1,3 @@ - -Dafny program verifier finished with 38 verified, 0 errors - -Dafny program verifier did not attempt verification -Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -{} - ++ {} -[] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -{2} - ++ {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni - ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni -Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni - ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni -Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni -Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni - ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni - ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni -[] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] - ** [] ++ [] -[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [] - ** [] ++ [] -[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [] -[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] - ++ [Consts_Compile.Uni.Uni] ++ [] - ** [] ++ [] ++ [] -15 -0-0 0.0-0.0 false-false 'D'-'D' 0 -0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 -0-0 0-0 0-0 0-0 1 1 -0.0-0.0 68.0 -null-null null-null null-null null-null -0 -0:0:0 -0-0 -{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] -DefaultValuedExpressions_Compile.Color.Red-DefaultValuedExpressions_Compile.Color.Red DefaultValuedExpressions_Compile.PossibleCell.Nothing-DefaultValuedExpressions_Compile.PossibleCell.Nothing DefaultValuedExpressions_Compile.Cell.LittleCell(0)-DefaultValuedExpressions_Compile.Cell.LittleCell(0) -()-() (0, 0.0)-(0, 0.0) -(DefaultValuedExpressions_Compile.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions_Compile.Color.Red, (0, 0.0), ()) -null-null null-null -0-0 0-0 0-0 3 4 5 -0-0 11 0-0 8 - -Dafny program verifier did not attempt verification -Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -{} - ++ {} -[] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -{2} - ++ {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni - ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni -Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni - ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni -Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni -Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni - ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni - ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni -[] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] - ** [] ++ [] -[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [] - ** [] ++ [] -[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [] -[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] - ++ [Consts_Compile.Uni.Uni] ++ [] - ** [] ++ [] ++ [] -15 -0-0 0.0-0.0 false-false 'D'-'D' 0 -0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 -0-0 0-0 0-0 0-0 1 1 -0.0-0.0 68.0 -null-null null-null null-null null-null -0 -0:0:0 -0-0 -{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] -DefaultValuedExpressions_Compile.Color.Red-DefaultValuedExpressions_Compile.Color.Red DefaultValuedExpressions_Compile.PossibleCell.Nothing-DefaultValuedExpressions_Compile.PossibleCell.Nothing DefaultValuedExpressions_Compile.Cell.LittleCell(0)-DefaultValuedExpressions_Compile.Cell.LittleCell(0) -()-() (0, 0.0)-(0, 0.0) -(DefaultValuedExpressions_Compile.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions_Compile.Color.Red, (0, 0.0), ()) -null-null null-null -0-0 0-0 0-0 3 4 5 -0-0 11 0-0 8 - -Dafny program verifier did not attempt verification -Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -{} - ++ {} -[] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -{2} - ++ {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni - ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni -Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni - ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni -Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni -Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni - ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni - ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni -[] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] - ** [] ++ [] -[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [] - ** [] ++ [] -[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [] -[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] - ++ [Consts_Compile.Uni.Uni] ++ [] - ** [] ++ [] ++ [] -15 -0-0 0.0-0.0 false-false 'D'-'D' 0 -0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 -0-0 0-0 0-0 0-0 1 1 -0.0-0.0 68.0 -null-null null-null null-null null-null -0 -0:0:0 -0-0 -{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] -DefaultValuedExpressions_Compile.Color.Red-DefaultValuedExpressions_Compile.Color.Red DefaultValuedExpressions_Compile.PossibleCell.Nothing-DefaultValuedExpressions_Compile.PossibleCell.Nothing DefaultValuedExpressions_Compile.Cell.LittleCell(0)-DefaultValuedExpressions_Compile.Cell.LittleCell(0) -()-() (0, 0.0)-(0, 0.0) -(DefaultValuedExpressions_Compile.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions_Compile.Color.Red, (0, 0.0), ()) -null-null null-null -0-0 0-0 0-0 3 4 5 -0-0 11 0-0 8 - -Dafny program verifier did not attempt verification -Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -{} - ++ {} -[] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -{2} - ++ {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni - ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni -Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni - ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni -Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni -Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni - ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni - ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni -[] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] - ** [] ++ [] -[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [] - ** [] ++ [] -[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [] -[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] - ++ [Consts_Compile.Uni.Uni] ++ [] - ** [] ++ [] ++ [] -15 -0-0 0.0-0.0 false-false 'D'-'D' 0 -0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 -0-0 0-0 0-0 0-0 1 1 -0.0-0.0 68.0 -null-null null-null null-null null-null -0 -0:0:0 -0-0 -{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] -DefaultValuedExpressions_Compile.Color.Red-DefaultValuedExpressions_Compile.Color.Red DefaultValuedExpressions_Compile.PossibleCell.Nothing-DefaultValuedExpressions_Compile.PossibleCell.Nothing DefaultValuedExpressions_Compile.Cell.LittleCell(0)-DefaultValuedExpressions_Compile.Cell.LittleCell(0) -()-() (0, 0.0)-(0, 0.0) -(DefaultValuedExpressions_Compile.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions_Compile.Color.Red, (0, 0.0), ()) -null-null null-null -0-0 0-0 0-0 3 4 5 -0-0 11 0-0 8 - -Dafny program verifier did not attempt verification Methods_Compile.Uni.Uni ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni diff --git a/Test/comp/NativeNumbers.dfy b/Test/comp/NativeNumbers.dfy index c63d02cf643..e1fadb1c406 100644 --- a/Test/comp/NativeNumbers.dfy +++ b/Test/comp/NativeNumbers.dfy @@ -1,11 +1,6 @@ +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false // Skip JavaScript because JavaScript doesn't have the same native types -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" method Main() { CastTests(); diff --git a/Test/comp/NativeNumbers.dfy.expect b/Test/comp/NativeNumbers.dfy.expect index 2be030252cf..6a9d263fc73 100644 --- a/Test/comp/NativeNumbers.dfy.expect +++ b/Test/comp/NativeNumbers.dfy.expect @@ -1,259 +1,3 @@ - -Dafny program verifier finished with 25 verified, 0 errors - -Dafny program verifier did not attempt verification -Casting: - -Small numbers: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 -5 5 5 5 5 5 5 5 5 -6 6 6 6 6 6 6 6 6 -7 7 7 7 7 7 7 7 7 -8 8 8 8 8 8 8 8 8 - -Large unsigned numbers: -255 255 255 255 255 255 255 255 -65535 65535 65535 65535 65535 65535 -4294967295 4294967295 4294967295 4294967295 -18446744073709551615 18446744073709551615 - -Int to large unsigned: -255 65535 4294967295 18446744073709551615 - -Cast from cardinality operator: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 - -Characters: -C 67 67 67 67 67 67 67 67 67 -0 127 32767 65535 65535 255 65535 65535 65535 - -Defaults: - -0 0 0 0 0 0 0 0 0 - -Byte arithmetic: - -20 30 -10 10 18 - -Short arithmetic: - -20 30 -10 10 18 - -Bitvectors: - -0 3 4 1 - -Comparison to zero: - -int8: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int16: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int32: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int64: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint8: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint16: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint32: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint64: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N - - -Dafny program verifier did not attempt verification -Casting: - -Small numbers: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 -5 5 5 5 5 5 5 5 5 -6 6 6 6 6 6 6 6 6 -7 7 7 7 7 7 7 7 7 -8 8 8 8 8 8 8 8 8 - -Large unsigned numbers: -255 255 255 255 255 255 255 255 -65535 65535 65535 65535 65535 65535 -4294967295 4294967295 4294967295 4294967295 -18446744073709551615 18446744073709551615 - -Int to large unsigned: -255 65535 4294967295 18446744073709551615 - -Cast from cardinality operator: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 - -Characters: -C 67 67 67 67 67 67 67 67 67 -0 127 32767 65535 65535 255 65535 65535 65535 - -Defaults: - -0 0 0 0 0 0 0 0 0 - -Byte arithmetic: - -20 30 -10 10 18 - -Short arithmetic: - -20 30 -10 10 18 - -Bitvectors: - -0 3 4 1 - -Comparison to zero: - -int8: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int16: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int32: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int64: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint8: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint16: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint32: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint64: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N - - -Dafny program verifier did not attempt verification -Casting: - -Small numbers: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 -5 5 5 5 5 5 5 5 5 -6 6 6 6 6 6 6 6 6 -7 7 7 7 7 7 7 7 7 -8 8 8 8 8 8 8 8 8 - -Large unsigned numbers: -255 255 255 255 255 255 255 255 -65535 65535 65535 65535 65535 65535 -4294967295 4294967295 4294967295 4294967295 -18446744073709551615 18446744073709551615 - -Int to large unsigned: -255 65535 4294967295 18446744073709551615 - -Cast from cardinality operator: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 - -Characters: -C 67 67 67 67 67 67 67 67 67 -0 127 32767 65535 65535 255 65535 65535 65535 - -Defaults: - -0 0 0 0 0 0 0 0 0 - -Byte arithmetic: - -20 30 -10 10 18 - -Short arithmetic: - -20 30 -10 10 18 - -Bitvectors: - -0 3 4 1 - -Comparison to zero: - -int8: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int16: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int32: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int64: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint8: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint16: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint32: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint64: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N - - -Dafny program verifier did not attempt verification Casting: Small numbers: diff --git a/Test/comp/NestedArrays.dfy b/Test/comp/NestedArrays.dfy index 0c2b313a32c..39d256f4936 100644 --- a/Test/comp/NestedArrays.dfy +++ b/Test/comp/NestedArrays.dfy @@ -1,9 +1,4 @@ -// RUN: %baredafny verify --relax-definite-assignment %args "%s" > "%t" -// RUN: %baredafny run --no-verify --target=cs %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=js %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=go %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=py %args "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /* Note, compiling to arrays in Java is difficult. In fact, this is currently * broken, see https://github.com/dafny-lang/dafny/issues/3055. Until this gets diff --git a/Test/comp/NestedArrays.dfy.expect b/Test/comp/NestedArrays.dfy.expect index a24d140b9d4..aa47d0d46d4 100644 --- a/Test/comp/NestedArrays.dfy.expect +++ b/Test/comp/NestedArrays.dfy.expect @@ -1,18 +1,2 @@ - -Dafny program verifier finished with 4 verified, 0 errors - -Dafny program verifier did not attempt verification -0 -0 - -Dafny program verifier did not attempt verification -0 -0 - -Dafny program verifier did not attempt verification -0 -0 - -Dafny program verifier did not attempt verification 0 0 diff --git a/Test/comp/Numbers.dfy b/Test/comp/Numbers.dfy index 36bf24dcdb4..c76bc87fdc0 100644 --- a/Test/comp/Numbers.dfy +++ b/Test/comp/Numbers.dfy @@ -1,10 +1,5 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false method Main() { Literals(); diff --git a/Test/comp/Numbers.dfy.expect b/Test/comp/Numbers.dfy.expect index 8d994e1c7c6..7eacf4e709d 100644 --- a/Test/comp/Numbers.dfy.expect +++ b/Test/comp/Numbers.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 59 verified, 0 errors - -Dafny program verifier did not attempt verification 0 0 3 @@ -113,455 +109,3 @@ true false true false false true false true true false true false 20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -g Q 2 -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -(312.0 / 40.0) (1248.0 / 40.0) -(-312.0 / 40.0) (-1248.0 / 40.0) -(-312.0 / 40.0) (1248.0 / 40.0) -(312.0 / 40.0) (-1248.0 / 40.0) -0.0 0.0 0.0 -120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) -123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 (8100.0 / 8100.0) -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -g Q 2 -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -g Q 2 -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -(312.0 / 40.0) (1248.0 / 40.0) -(-312.0 / 40.0) (-1248.0 / 40.0) -(-312.0 / 40.0) (1248.0 / 40.0) -(312.0 / 40.0) (-1248.0 / 40.0) -0.0 0.0 0.0 -120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) -123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 (8100.0 / 8100.0) -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -g Q 2 -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 diff --git a/Test/comp/Numbers.dfy.go.expect b/Test/comp/Numbers.dfy.go.expect new file mode 100644 index 00000000000..ce109553619 --- /dev/null +++ b/Test/comp/Numbers.dfy.go.expect @@ -0,0 +1,111 @@ +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +g Q 2 +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 diff --git a/Test/comp/Numbers.dfy.py.expect b/Test/comp/Numbers.dfy.py.expect new file mode 100644 index 00000000000..ce109553619 --- /dev/null +++ b/Test/comp/Numbers.dfy.py.expect @@ -0,0 +1,111 @@ +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +g Q 2 +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 diff --git a/Test/comp/Poly.dfy b/Test/comp/Poly.dfy index f3c3aa58599..5af5e8134e9 100644 --- a/Test/comp/Poly.dfy +++ b/Test/comp/Poly.dfy @@ -1,10 +1,5 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation trait Shape { function Center(): (real, real) reads this diff --git a/Test/comp/Poly.dfy.expect b/Test/comp/Poly.dfy.expect index 4ffff82d5ab..7dc24821586 100644 --- a/Test/comp/Poly.dfy.expect +++ b/Test/comp/Poly.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 15 verified, 0 errors - -Dafny program verifier did not attempt verification Center of square: ((1.0 / 2.0), (1.0 / 2.0)) Center of circle: (1.0, 1.0) Center: ((1.0 / 2.0), (1.0 / 2.0)) @@ -14,59 +10,3 @@ Center: ((1.0 / 2.0), (1.0 / 2.0)) Center: (1.0, 1.0) Center: ((1.0 / 2.0), (1.0 / 2.0)) Center: (1.0, 1.0) - -Dafny program verifier did not attempt verification -Center of square: ((1.0 / 2.0), (1.0 / 2.0)) -Center of circle: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) - -Dafny program verifier did not attempt verification -Center of square: ((1.0 / 2.0), (1.0 / 2.0)) -Center of circle: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) - -Dafny program verifier did not attempt verification -Center of square: (0.5, 0.5) -Center of circle: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) - -Dafny program verifier did not attempt verification -Center of square: (0.5, 0.5) -Center of circle: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) diff --git a/Test/comp/Poly.dfy.go.expect b/Test/comp/Poly.dfy.go.expect new file mode 100644 index 00000000000..88e09c5e6ff --- /dev/null +++ b/Test/comp/Poly.dfy.go.expect @@ -0,0 +1,12 @@ +Center of square: (0.5, 0.5) +Center of circle: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) diff --git a/Test/comp/Poly.dfy.py.expect b/Test/comp/Poly.dfy.py.expect new file mode 100644 index 00000000000..88e09c5e6ff --- /dev/null +++ b/Test/comp/Poly.dfy.py.expect @@ -0,0 +1,12 @@ +Center of square: (0.5, 0.5) +Center of circle: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) diff --git a/Test/comp/Print.dfy b/Test/comp/Print.dfy index 166bae4c351..39f8a447396 100644 --- a/Test/comp/Print.dfy +++ b/Test/comp/Print.dfy @@ -1,9 +1,5 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false // Python salts hashes so they are not deterministic. diff --git a/Test/comp/Print.dfy.expect b/Test/comp/Print.dfy.expect index c2b186af0ec..88ded65afab 100644 --- a/Test/comp/Print.dfy.expect +++ b/Test/comp/Print.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification Strings in collections: [abc, def] [[abc, def]] @@ -10,33 +6,3 @@ Strings in collections: [] [] [aaaaa] - -Dafny program verifier did not attempt verification -Strings in collections: - [abc, def] - [[abc, def]] - {abc, def} - [abc, def] - [] - [] - [aaaaa] - -Dafny program verifier did not attempt verification -Strings in collections: - [abc, def] - [[abc, def]] - {abc, def} - [abc, def] - [] - [] - [aaaaa] - -Dafny program verifier did not attempt verification -Strings in collections: - [abc, def] - [[abc, def]] - {abc, def} - [abc, def] - [] - [] - [aaaaa] diff --git a/Test/comp/Print.dfy.go.expect b/Test/comp/Print.dfy.go.expect new file mode 100644 index 00000000000..7ac90f01b3c --- /dev/null +++ b/Test/comp/Print.dfy.go.expect @@ -0,0 +1,8 @@ +Strings in collections: + [abc, def] + [[abc, def]] + {abc, def} + [abc, def] + [] + [] + [aaaaa] diff --git a/Test/comp/Print.dfy.java.expect b/Test/comp/Print.dfy.java.expect new file mode 100644 index 00000000000..7ac90f01b3c --- /dev/null +++ b/Test/comp/Print.dfy.java.expect @@ -0,0 +1,8 @@ +Strings in collections: + [abc, def] + [[abc, def]] + {abc, def} + [abc, def] + [] + [] + [aaaaa] diff --git a/Test/comp/Print.dfy.js.expect b/Test/comp/Print.dfy.js.expect new file mode 100644 index 00000000000..7ac90f01b3c --- /dev/null +++ b/Test/comp/Print.dfy.js.expect @@ -0,0 +1,8 @@ +Strings in collections: + [abc, def] + [[abc, def]] + {abc, def} + [abc, def] + [] + [] + [aaaaa] diff --git a/Test/comp/StaticMembersOfGenericTypes.dfy b/Test/comp/StaticMembersOfGenericTypes.dfy index 8c402dab951..8a8614d21a5 100644 --- a/Test/comp/StaticMembersOfGenericTypes.dfy +++ b/Test/comp/StaticMembersOfGenericTypes.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { GenericClass(); diff --git a/Test/comp/StaticMembersOfGenericTypes.dfy.expect b/Test/comp/StaticMembersOfGenericTypes.dfy.expect index 54e32b42ee5..196f1295e12 100644 --- a/Test/comp/StaticMembersOfGenericTypes.dfy.expect +++ b/Test/comp/StaticMembersOfGenericTypes.dfy.expect @@ -1,79 +1,3 @@ - -Dafny program verifier finished with 9 verified, 0 errors - -Dafny program verifier did not attempt verification -(0, 1) (true, 2, 3) -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -(2.0, true) (3.0, false) -(2.0, true) (3.0, false) -true false -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -50 3 4 -149 - -Dafny program verifier did not attempt verification -(0, 1) (true, 2, 3) -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -(2.0, true) (3.0, false) -(2.0, true) (3.0, false) -true false -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -50 3 4 -149 - -Dafny program verifier did not attempt verification -(0, 1) (true, 2, 3) -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -(2.0, true) (3.0, false) -(2.0, true) (3.0, false) -true false -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -50 3 4 -149 - -Dafny program verifier did not attempt verification -(0, 1) (true, 2, 3) -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -(2.0, true) (3.0, false) -(2.0, true) (3.0, false) -true false -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -50 3 4 -149 - -Dafny program verifier did not attempt verification (0, 1) (true, 2, 3) 0 25 (20, 21) (20, 21) 23 22 0 25 (20, 21) (20, 21) 23 22 diff --git a/Test/comp/TailRecursion.dfy b/Test/comp/TailRecursion.dfy index 68ba6ee4669..b3631d5eccc 100644 --- a/Test/comp/TailRecursion.dfy +++ b/Test/comp/TailRecursion.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { // In the following, 2_000_000 is too large an argument without tail-calls diff --git a/Test/comp/TailRecursion.dfy.expect b/Test/comp/TailRecursion.dfy.expect index 23c852a41fe..4b9da7e5093 100644 --- a/Test/comp/TailRecursion.dfy.expect +++ b/Test/comp/TailRecursion.dfy.expect @@ -1,79 +1,3 @@ - -Dafny program verifier finished with 28 verified, 0 errors - -Dafny program verifier did not attempt verification -2000000 2000000 -2000000 2000000 -1000000 1000000 -10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 -TriangleNumber(10) = 55 -TriangleNumber_Real(10) = 55.0 -TriangleNumber_ORDINAL(10) = 55 -Factorial(5) = 120 -Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] -UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] -Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 -TheBigSubtract(100) = -12 -TailNat(10) = 50 -17 17 17 -2000000 - -Dafny program verifier did not attempt verification -2000000 2000000 -2000000 2000000 -1000000 1000000 -10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 -TriangleNumber(10) = 55 -TriangleNumber_Real(10) = 55.0 -TriangleNumber_ORDINAL(10) = 55 -Factorial(5) = 120 -Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] -UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] -Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 -TheBigSubtract(100) = -12 -TailNat(10) = 50 -17 17 17 -2000000 - -Dafny program verifier did not attempt verification -2000000 2000000 -2000000 2000000 -1000000 1000000 -10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 -TriangleNumber(10) = 55 -TriangleNumber_Real(10) = 55.0 -TriangleNumber_ORDINAL(10) = 55 -Factorial(5) = 120 -Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] -UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] -Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 -TheBigSubtract(100) = -12 -TailNat(10) = 50 -17 17 17 -2000000 - -Dafny program verifier did not attempt verification -2000000 2000000 -2000000 2000000 -1000000 1000000 -10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 -TriangleNumber(10) = 55 -TriangleNumber_Real(10) = 55.0 -TriangleNumber_ORDINAL(10) = 55 -Factorial(5) = 120 -Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] -UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] -Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 -TheBigSubtract(100) = -12 -TailNat(10) = 50 -17 17 17 -2000000 - -Dafny program verifier did not attempt verification 2000000 2000000 2000000 2000000 1000000 1000000 diff --git a/Test/comp/TypeDescriptors.dfy b/Test/comp/TypeDescriptors.dfy index 636cb3db583..5bedbb900e4 100644 --- a/Test/comp/TypeDescriptors.dfy +++ b/Test/comp/TypeDescriptors.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Method(s: string, g: G) { var zero: G; diff --git a/Test/comp/TypeDescriptors.dfy.expect b/Test/comp/TypeDescriptors.dfy.expect index 9b1e8487bdc..1b09338c83d 100644 --- a/Test/comp/TypeDescriptors.dfy.expect +++ b/Test/comp/TypeDescriptors.dfy.expect @@ -1,155 +1,3 @@ - -Dafny program verifier finished with 11 verified, 0 errors - -Dafny program verifier did not attempt verification -int: 8 0 -bool: true false -char: 'r' 'D' -real: 1.618 0.0 -ORDINAL: 0 -bv0: 0 0 -bv21: 121 0 -bv32: 132 0 -bv191: 191 0 -set: {7} {} -multiset: multiset{7, 7} multiset{} -seq: [7] [] -map: map[2 := 7] map[] -pos: 3 1 -Hundred: 6 0 -HundredOdd: 13 19 -JustOdd: 131 5 -(): () () -(int, real): (2, 3.2) (0, 0.0) -(int, pos): (2, 3) (0, 1) -AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) -Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) -Stream: Stream.More -A=int: 15 0 -B=int: 16 0 -datatype.B=: {14} {} -object?: null -Class?>: null -Trait?>: null -array?: null -array2?: null -int --> bool: null -array? ~> bool: null - -Dafny program verifier did not attempt verification -int: 8 0 -bool: true false -char: 'r' 'D' -real: 1.618 0.0 -ORDINAL: 0 -bv0: 0 0 -bv21: 121 0 -bv32: 132 0 -bv191: 191 0 -set: {7} {} -multiset: multiset{7, 7} multiset{} -seq: [7] [] -map: map[2 := 7] map[] -pos: 3 1 -Hundred: 6 0 -HundredOdd: 13 19 -JustOdd: 131 5 -(): () () -(int, real): (2, 3.2) (0, 0.0) -(int, pos): (2, 3) (0, 1) -AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) -Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) -Stream: Stream.More -A=int: 15 0 -B=int: 16 0 -datatype.B=: {14} {} -object?: null -Class?>: null -Trait?>: null -array?: null -array2?: null -int --> bool: null -array? ~> bool: null - -Dafny program verifier did not attempt verification -int: 8 0 -bool: true false -char: 'r' 'D' -real: 1.618 0.0 -ORDINAL: 0 -bv0: 0 0 -bv21: 121 0 -bv32: 132 0 -bv191: 191 0 -set: {7} {} -multiset: multiset{7, 7} multiset{} -seq: [7] [] -map: map[2 := 7] map[] -pos: 3 1 -Hundred: 6 0 -HundredOdd: 13 19 -JustOdd: 131 5 -(): () () -(int, real): (2, 3.2) (0, 0.0) -(int, pos): (2, 3) (0, 1) -AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) -Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) -Stream: Stream.More -A=int: 15 0 -B=int: 16 0 -datatype.B=: {14} {} -object?: null -Class?>: null -Trait?>: null -array?: null -array2?: null -int --> bool: null -array? ~> bool: null - -Dafny program verifier did not attempt verification -int: 8 0 -bool: true false -char: 'r' 'D' -real: 1.618 0.0 -ORDINAL: 0 -bv0: 0 0 -bv21: 121 0 -bv32: 132 0 -bv191: 191 0 -set: {7} {} -multiset: multiset{7, 7} multiset{} -seq: [7] [] -map: map[2 := 7] map[] -pos: 3 1 -Hundred: 6 0 -HundredOdd: 13 19 -JustOdd: 131 5 -(): () () -(int, real): (2, 3.2) (0, 0.0) -(int, pos): (2, 3) (0, 1) -AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) -Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) -Stream: Stream.More -A=int: 15 0 -B=int: 16 0 -datatype.B=: {14} {} -object?: null -Class?>: null -Trait?>: null -array?: null -array2?: null -int --> bool: null -array? ~> bool: null - -Dafny program verifier did not attempt verification int: 8 0 bool: true false char: 'r' 'D' diff --git a/Test/comp/TypeParams.dfy b/Test/comp/TypeParams.dfy index 11d1b3bac6a..c595881e028 100644 --- a/Test/comp/TypeParams.dfy +++ b/Test/comp/TypeParams.dfy @@ -1,11 +1,6 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" - -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation + datatype Color = Orange | Pink | Teal type Six = x | x <= 6 diff --git a/Test/comp/TypeParams.dfy.expect b/Test/comp/TypeParams.dfy.expect index ac8ef1c58e5..1381a030f65 100644 --- a/Test/comp/TypeParams.dfy.expect +++ b/Test/comp/TypeParams.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 17 verified, 0 errors - -Dafny program verifier did not attempt verification 0 0 0 false Color.Orange 0.0 {} Color.Orange null null null null null {} multiset{} [] map[] {} map[] @@ -21,87 +17,3 @@ System.Func`2[Dafny.BigRational,System.Boolean] System.Func`1[System.Numerics.BigInteger] System.Func`3[_module._IColor,Dafny.ISet`1[System.UInt16],System.UInt32] 0 0 - -Dafny program verifier did not attempt verification -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -function () { return false; } -function () { return _dafny.ZERO; } -function () { return _dafny.ZERO; } -0 0 - -Dafny program verifier did not attempt verification -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -func(dafny.Real) bool -func() dafny.Int -func(main.Color, dafny.Set) uint32 -0 0 - -Dafny program verifier did not attempt verification -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -Function -Function -Function -0 0 - -Dafny program verifier did not attempt verification -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -Function -Function -Function -0 0 diff --git a/Test/comp/TypeParams.dfy.go.expect b/Test/comp/TypeParams.dfy.go.expect new file mode 100644 index 00000000000..e3a8e67d066 --- /dev/null +++ b/Test/comp/TypeParams.dfy.go.expect @@ -0,0 +1,19 @@ +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +func(dafny.Real) bool +func() dafny.Int +func(main.Color, dafny.Set) uint32 +0 0 diff --git a/Test/comp/TypeParams.dfy.java.expect b/Test/comp/TypeParams.dfy.java.expect new file mode 100644 index 00000000000..5f843ba06d1 --- /dev/null +++ b/Test/comp/TypeParams.dfy.java.expect @@ -0,0 +1,19 @@ +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +Function +Function +Function +0 0 diff --git a/Test/comp/TypeParams.dfy.js.expect b/Test/comp/TypeParams.dfy.js.expect new file mode 100644 index 00000000000..865c33ea48b --- /dev/null +++ b/Test/comp/TypeParams.dfy.js.expect @@ -0,0 +1,19 @@ +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +function () { return false; } +function () { return _dafny.ZERO; } +function () { return _dafny.ZERO; } +0 0 diff --git a/Test/comp/TypeParams.dfy.py.expect b/Test/comp/TypeParams.dfy.py.expect new file mode 100644 index 00000000000..5f843ba06d1 --- /dev/null +++ b/Test/comp/TypeParams.dfy.py.expect @@ -0,0 +1,19 @@ +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +Function +Function +Function +0 0 diff --git a/Test/comp/UnoptimizedErasableTypeWrappers.dfy b/Test/comp/UnoptimizedErasableTypeWrappers.dfy index 58f0682ed41..b7911aed9db 100644 --- a/Test/comp/UnoptimizedErasableTypeWrappers.dfy +++ b/Test/comp/UnoptimizedErasableTypeWrappers.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --optimize-erasable-datatype-wrapper:false --relax-definite-assignment --spill-translation datatype SingletonRecord = SingletonRecord(u: int) datatype WithGhost = WithGhost(u: int, ghost v: int) diff --git a/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect b/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect index be1d7190b0f..3371376a52b 100644 --- a/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect +++ b/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect @@ -1,31 +1,3 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification -SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) -() (30) (31) (30, 32) -15 20 -30 31 30 32 - -Dafny program verifier did not attempt verification -SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) -() (30) (31) (30, 32) -15 20 -30 31 30 32 - -Dafny program verifier did not attempt verification -SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) -() (30) (31) (30, 32) -15 20 -30 31 30 32 - -Dafny program verifier did not attempt verification -SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) -() (30) (31) (30, 32) -15 20 -30 31 30 32 - -Dafny program verifier did not attempt verification SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) () (30) (31) (30, 32) 15 20 diff --git a/Test/comp/Variance.dfy b/Test/comp/Variance.dfy index 6c198495209..2ee3cfe3324 100644 --- a/Test/comp/Variance.dfy +++ b/Test/comp/Variance.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 /deprecation:0 "%s" > "%t" -// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /deprecation:0 datatype Co<+T> = Co(z: T) { const x: int; diff --git a/Test/comp/Variance.dfy.expect b/Test/comp/Variance.dfy.expect index cf08d82ac07..5bb565b6bb4 100644 --- a/Test/comp/Variance.dfy.expect +++ b/Test/comp/Variance.dfy.expect @@ -1,67 +1,3 @@ - -Dafny program verifier finished with 13 verified, 0 errors - -Dafny program verifier did not attempt verification -Co.Co(_module.Int) and Co.Co(_module.Int) -true0[]0000 -Non.Non(_module.Int) and Non.Non(_module.Int) -true0[]0000 -0 and 0 -_module.Int0[]0000 -CCo.CCo and CCo.CCo -true0[]0000 -CNon.CNon and CNon.CNon -true0[]0000 -CCon.CCon and CCon.CCon -_module.Int0[]0000 -Done - -Dafny program verifier did not attempt verification -Co.Co(_module.Int) and Co.Co(_module.Int) -true0[]0000 -Non.Non(_module.Int) and Non.Non(_module.Int) -true0[]0000 -0 and 0 -_module.Int0[]0000 -CCo.CCo and CCo.CCo -true0[]0000 -CNon.CNon and CNon.CNon -true0[]0000 -CCon.CCon and CCon.CCon -_module.Int0[]0000 -Done - -Dafny program verifier did not attempt verification -Co.Co(_module.Int) and Co.Co(_module.Int) -true0[]0000 -Non.Non(_module.Int) and Non.Non(_module.Int) -true0[]0000 -0 and 0 -_module.Int0[]0000 -CCo.CCo and CCo.CCo -true0[]0000 -CNon.CNon and CNon.CNon -true0[]0000 -CCon.CCon and CCon.CCon -_module.Int0[]0000 -Done - -Dafny program verifier did not attempt verification -Co.Co(_module.Int) and Co.Co(_module.Int) -true0[]0000 -Non.Non(_module.Int) and Non.Non(_module.Int) -true0[]0000 -0 and 0 -_module.Int0[]0000 -CCo.CCo and CCo.CCo -true0[]0000 -CNon.CNon and CNon.CNon -true0[]0000 -CCon.CCon and CCon.CCon -_module.Int0[]0000 -Done - -Dafny program verifier did not attempt verification Co.Co(_module.Int) and Co.Co(_module.Int) true0[]0000 Non.Non(_module.Int) and Non.Non(_module.Int) diff --git a/Test/comp/Various.dfy b/Test/comp/Various.dfy index 1f29c511a83..502801e4c2a 100644 --- a/Test/comp/Various.dfy +++ b/Test/comp/Various.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Match(tp: (nat, nat)) { match tp diff --git a/Test/comp/Various.dfy.expect b/Test/comp/Various.dfy.expect index 502e2d04792..66f013c00f7 100644 --- a/Test/comp/Various.dfy.expect +++ b/Test/comp/Various.dfy.expect @@ -1,43 +1,3 @@ - -Dafny program verifier finished with 4 verified, 0 errors - -Dafny program verifier did not attempt verification -match -1 -Kablammo!! -0 -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] - -Dafny program verifier did not attempt verification -match -1 -Kablammo!! -0 -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] - -Dafny program verifier did not attempt verification -match -1 -Kablammo!! -0 -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] - -Dafny program verifier did not attempt verification -match -1 -Kablammo!! -0 -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] - -Dafny program verifier did not attempt verification match 1 Kablammo!! diff --git a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy index 10fe57dec8f..2cf77360cab 100644 --- a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy +++ b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // An extremely small program intended to be the first target input for // brand new Dafny compilers. Avoids any use of strings (and therefore sequences) diff --git a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect index e1dcaef650b..f32a5804e29 100644 --- a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect +++ b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect @@ -1,5 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification true \ No newline at end of file diff --git a/Test/comp/firstSteps/1_Calls-F.dfy b/Test/comp/firstSteps/1_Calls-F.dfy index 32566f59f3b..4fe5b83e551 100644 --- a/Test/comp/firstSteps/1_Calls-F.dfy +++ b/Test/comp/firstSteps/1_Calls-F.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/1_Calls-F.dfy.expect b/Test/comp/firstSteps/1_Calls-F.dfy.expect index 58e0a68ec1c..7ed6ff82de6 100644 --- a/Test/comp/firstSteps/1_Calls-F.dfy.expect +++ b/Test/comp/firstSteps/1_Calls-F.dfy.expect @@ -1,5 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification 5 diff --git a/Test/comp/firstSteps/2_Modules.dfy b/Test/comp/firstSteps/2_Modules.dfy index 750b8d60c21..d0effcb5a71 100644 --- a/Test/comp/firstSteps/2_Modules.dfy +++ b/Test/comp/firstSteps/2_Modules.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module A { const i: nat := 1 diff --git a/Test/comp/firstSteps/2_Modules.dfy.expect b/Test/comp/firstSteps/2_Modules.dfy.expect index 9a4b57459c7..b85905ec0b9 100644 --- a/Test/comp/firstSteps/2_Modules.dfy.expect +++ b/Test/comp/firstSteps/2_Modules.dfy.expect @@ -1,5 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification 1 2 3 diff --git a/Test/comp/firstSteps/3_Calls-As.dfy b/Test/comp/firstSteps/3_Calls-As.dfy index f22bbdbd3f6..38889421865 100644 --- a/Test/comp/firstSteps/3_Calls-As.dfy +++ b/Test/comp/firstSteps/3_Calls-As.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/3_Calls-As.dfy.expect b/Test/comp/firstSteps/3_Calls-As.dfy.expect index eea6c52592c..a1c59bb761f 100644 --- a/Test/comp/firstSteps/3_Calls-As.dfy.expect +++ b/Test/comp/firstSteps/3_Calls-As.dfy.expect @@ -1,5 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification 0 0 false 0 false 0 diff --git a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy index 89fb669dca0..6a66781ff0d 100644 --- a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy +++ b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect index e7498a27e3e..a8d09f0a6f5 100644 --- a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect +++ b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect @@ -1,6 +1,2 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification 5 3 5 3 5 3 5 3 diff --git a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy index 096523f8956..1175b1eca8f 100644 --- a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy +++ b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect index 8954da2b386..ef3de96e567 100644 --- a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect +++ b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect @@ -1,6 +1,2 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification 5 3 5 3 diff --git a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy index 1fbaebdf4e9..5d970ac4de5 100644 --- a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy +++ b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect index b6ffe78bcbb..4ff62e33956 100644 --- a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect +++ b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 4 verified, 0 errors - -Dafny program verifier did not attempt verification 15 [0, 1, 2, 4] [0, 2, 4] diff --git a/Test/comp/firstSteps/7_Arrays.dfy b/Test/comp/firstSteps/7_Arrays.dfy index 07ddf89594b..d02c942c9bb 100644 --- a/Test/comp/firstSteps/7_Arrays.dfy +++ b/Test/comp/firstSteps/7_Arrays.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Arrays.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/7_Arrays.dfy.expect b/Test/comp/firstSteps/7_Arrays.dfy.expect index 75e824c80bb..fa00285c692 100644 --- a/Test/comp/firstSteps/7_Arrays.dfy.expect +++ b/Test/comp/firstSteps/7_Arrays.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 7 verified, 0 errors - -Dafny program verifier did not attempt verification 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/comp/firstSteps/7_Dt_Algebraic.dfy b/Test/comp/firstSteps/7_Dt_Algebraic.dfy index 991462d8bdf..46a2995b37f 100644 --- a/Test/comp/firstSteps/7_Dt_Algebraic.dfy +++ b/Test/comp/firstSteps/7_Dt_Algebraic.dfy @@ -1,7 +1,5 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Dt.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect new file mode 100644 index 00000000000..ba1b72ea6f7 --- /dev/null +++ b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect @@ -0,0 +1,11 @@ +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} +42 'q' hello +1701 diff --git a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect index ec9b49fe420..e3ff7faba6e 100644 --- a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect +++ b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 7 verified, 0 errors - -Dafny program verifier did not attempt verification List.Nil List.Cons(5, List.Nil) (List.Nil, List.Cons(5, List.Nil)) @@ -13,16 +9,3 @@ List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, Li {Berry.Hallon, Berry.Smultron, Berry.Jordgubb} 42 'q' hello 1701 - -Dafny program verifier did not attempt verification -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} -42 'q' hello -1701 diff --git a/Test/dafny0/ArrayElementInitCompile.dfy b/Test/dafny0/ArrayElementInitCompile.dfy index 7d652486b9e..3714cf0fe8e 100644 --- a/Test/dafny0/ArrayElementInitCompile.dfy +++ b/Test/dafny0/ArrayElementInitCompile.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 /print:"%t.print" /rprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false method Main() { diff --git a/Test/dafny0/ArrayElementInitCompile.dfy.expect b/Test/dafny0/ArrayElementInitCompile.dfy.expect index a5241c75f19..eaa3e759999 100644 --- a/Test/dafny0/ArrayElementInitCompile.dfy.expect +++ b/Test/dafny0/ArrayElementInitCompile.dfy.expect @@ -1,79 +1,3 @@ - -Dafny program verifier finished with 18 verified, 0 errors - -Dafny program verifier did not attempt verification -67 67 67 67 67 67 67 67 -0 1 2 3 -1 2 3 4 -2 3 4 5 -3 4 5 6 -4 5 6 7 -O . O . O . O . O . O . -12 12 12 12 12 12 12 12 12 12 12 12 -D E -y z -4 3 -7 -100 75 98 25 - -looks like this rocks --2 -1 0 1 2 3 4 - -Dafny program verifier did not attempt verification -67 67 67 67 67 67 67 67 -0 1 2 3 -1 2 3 4 -2 3 4 5 -3 4 5 6 -4 5 6 7 -O . O . O . O . O . O . -12 12 12 12 12 12 12 12 12 12 12 12 -D E -y z -4 3 -7 -100 75 98 25 - -looks like this rocks --2 -1 0 1 2 3 4 - -Dafny program verifier did not attempt verification -67 67 67 67 67 67 67 67 -0 1 2 3 -1 2 3 4 -2 3 4 5 -3 4 5 6 -4 5 6 7 -O . O . O . O . O . O . -12 12 12 12 12 12 12 12 12 12 12 12 -D E -y z -4 3 -7 -100 75 98 25 - -looks like this rocks --2 -1 0 1 2 3 4 - -Dafny program verifier did not attempt verification -67 67 67 67 67 67 67 67 -0 1 2 3 -1 2 3 4 -2 3 4 5 -3 4 5 6 -4 5 6 7 -O . O . O . O . O . O . -12 12 12 12 12 12 12 12 12 12 12 12 -D E -y z -4 3 -7 -100 75 98 25 - -looks like this rocks --2 -1 0 1 2 3 4 - -Dafny program verifier did not attempt verification 67 67 67 67 67 67 67 67 0 1 2 3 1 2 3 4 diff --git a/Test/dafny0/Bitvectors.dfy b/Test/dafny0/Bitvectors.dfy index 9dbb798fa4a..7cdeaefb0c1 100644 --- a/Test/dafny0/Bitvectors.dfy +++ b/Test/dafny0/Bitvectors.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /print:"%t.print" /rprint:- /env:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /env:0 method M(a: bv1, b: bv32) returns (c: bv32, d: bv1) { diff --git a/Test/dafny0/Bitvectors.dfy.expect b/Test/dafny0/Bitvectors.dfy.expect index 09b34e5011a..ed1c7328e83 100644 --- a/Test/dafny0/Bitvectors.dfy.expect +++ b/Test/dafny0/Bitvectors.dfy.expect @@ -1,493 +1,3 @@ -// Bitvectors.dfy - -/* -module _System { - /* CALL GRAPH for module _System: - * SCC at height 1: - * RotateLeft - * SCC at height 1: - * RotateRight - * SCC at height 0: - * array - * SCC at height 0: - * nat - * SCC at height 0: - * object - */ - type string(==,0) = seq - - type {:axiom} nat(==,0) = x: int - | 0 <= x - - trait {:compile false} object { } - /*-- non-null type - type {:axiom} object(==) = c: object? | c != null /*special witness*/ - */ - - class {:compile false} array { - var Length: int // immutable - } - /*-- non-null type - type {:axiom} array(==) = c: array? | c != null /*special witness*/ - */ - - type {:compile false} /*_#Func1*/ -T0 ~> +R { - ghost function requires(x0: T0): bool - reads reads(x0) - - ghost function reads(x0: T0): set - reads reads(x0) - } - - type {:compile false} /*_#PartialFunc1*/ -T0 --> +R = f: T0 ~> R - | forall x0: T0 :: f.reads(x0) == {} - /*special witness*/ - - type {:compile false} /*_#TotalFunc1*/ -T0 -> +R = f: T0 --> R - | forall x0: T0 :: f.requires(x0) - /*special witness*/ - - type {:compile false} /*_#Func0*/ () ~> +R { - ghost function requires(): bool - reads reads() - - ghost function reads(): set - reads reads() - } - - type {:compile false} /*_#PartialFunc0*/ () --> +R = f: () ~> R - | f.reads() == {} - /*special witness*/ - - type {:compile false} /*_#TotalFunc0*/ () -> +R = f: () --> R - | f.requires() - /*special witness*/ - - datatype {:compile false} /*_tuple#2*/ (+T0, +T1) = _#Make2(0: T0, 1: T1) - - type bool { } - - type int { } - - type real { - var Floor: int // immutable - } - - type ORDINAL { - var IsLimit: bool // immutable - var IsSucc: bool // immutable - var Offset: int // immutable - var IsNat: bool // immutable - } - - type _bv { - function RotateLeft(w: nat): selftype - - function RotateRight(w: nat): selftype - } - - type map<+T, +U> { - var Keys: set // immutable - var Values: set // immutable - var Items: set<(T, U)> // immutable - } - - type imap<*T, +U> { - var Keys: iset // immutable - var Values: iset // immutable - var Items: iset<(T, U)> // immutable - } - - datatype {:compile false} /*_tuple#0*/ () = _#Make0 -} -// bitvector types in use: bv1 bv32 bv47 bv16 bv0 bv67 bv64 bv53 bv33 bv31 bv15 bv8 bv6 bv2 bv7 bv12 bv3 -*/ - -/* CALL GRAPH for module _module: - * SCC at height 2: - * Main - * SCC at height 1: - * DoArith32 - * SCC at height 1: - * Rotates - * SCC at height 1: - * Shifts - * SCC at height 1: - * TestCompilationTruncations - * SCC at height 0: - * Arithmetic - * SCC at height 0: - * BitwiseOperations - * SCC at height 0: - * Bv0Stuff - * SCC at height 0: - * Handful - * SCC at height 0: - * M - * SCC at height 0: - * M0 - * SCC at height 0: - * M1 - * SCC at height 0: - * M15 - * SCC at height 0: - * M16 - * SCC at height 0: - * M31 - * SCC at height 0: - * M32 - * SCC at height 0: - * M33 - * SCC at height 0: - * M53 - * SCC at height 0: - * M6 - * SCC at height 0: - * M64 - * SCC at height 0: - * M67 - * SCC at height 0: - * M8 - * SCC at height 0: - * P2 - * SCC at height 0: - * PrintRotates - * SCC at height 0: - * PrintShifts - * SCC at height 0: - * SummoTests - * SCC at height 0: - * Unary - */ -newtype Handful = x: int - | 0 <= x < 80 - -method M(a: bv1, b: bv32) - returns (c: bv32, d: bv1) - decreases a, b -{ - c := b; - d := a; - var x: bv32 := 5000; - c := x; - var y: bv32 := 4000; - y := c; -} - -method Main() -{ - var x: bv32 := 4000; - var y: bv32 := 4000; - var z: bv32; - var w: bv32; - if x == y { - z := x; - } else { - w := y; - } - print x, " ", y, " ", z, " ", w, "\n"; - var t: bv47, u: bv47, v: bv47 := BitwiseOperations(); - print t, " ", u, " ", v, "\n"; - DoArith32(); - var unry: bv16 := Unary(5); - print "bv16: 5 - 2 == ", unry, "\n"; - unry := Unary(1); - print "bv16: 1 - 2 == ", unry, "\n"; - SummoTests(); - var zz0: bv0; - var zz1: bv0 := Bv0Stuff(zz0, 0); - print zz0, " ", zz1, "\n"; - print zz0 < zz1, " ", zz0 <= zz1, " ", zz0 >= zz1, " ", zz0 > zz1, "\n"; - TestCompilationTruncations(); - Shifts(); - Rotates(); -} - -method BitwiseOperations() returns (a: bv47, b: bv47, c: bv47) -{ - b, c := 2053, 1099; - a := b & c; - a := a | a | (b & b & c & (a ^ b ^ c) & a); -} - -method Arithmetic(x: bv32, y: bv32) - returns (r: bv32, s: bv32) - ensures r == x + y && s == y - x - decreases x, y -{ - r := x + y; - s := y - x; -} - -method DoArith32() -{ - var r: bv32, s: bv32 := Arithmetic(65, 120); - print r, " ", s, "\n"; - var x: bv32, y: bv32 := 2147483647, 2147483651; - r, s := Arithmetic(x, y); - assert r == 2 && s == 4; - print r, " ", s, "\n"; - assert x < y && x <= y && y >= x && y > x; - print "Comparisons: ", x < y, " ", x <= y, " ", x >= y, " ", x > y, "\n"; -} - -method Unary(x: bv16) returns (y: bv16) - ensures y == x - 2 - decreases x -{ - y := --!-!!--x; - y := !-y; - var F: bv16 := 65535; - calc == { - y; - == - !---!-!!--x; - == - F - ---!-!!--x; - == - { - assert ---!-!!--x == -!-!!--x; - } - F - -!-!!--x; - == - F + !-!!--x; - == - F + F - -!!--x; - == - F + F + !!--x; - == - { - assert !!--x == --x == x; - } - F + F + x; - == - x - 2; - } -} - -method SummoTests() -{ - var a: bv64 := 5; - a := 2 * 2 * 2 * 2 * 2 * a * 2 * 2 * 2 * 2 * 2; - var b: bv64 := a / 512; - assert b == 10; - assert b / 3 == 3 && b / 4 == 2; - assert b % 3 == 1 && b % 4 == 2; - print b / 3, " ", b % 4, "\n"; -} - -method Bv0Stuff(x: bv0, y: bv0) returns (z: bv0) - ensures z == 0 - decreases x, y -{ - z := x + y; - z := x * z - y; - z := (x ^ z) | (y & y); - z := !z + -z; -} - -method TestCompilationTruncations() -{ - M67(-1, 3); - M64(-1, 3); - M53(-1, 3); - M33(-1, 3); - M32(-1, 3); - M31(-1, 3); - M16(-1, 3); - M15(-1, 3); - M8(-1, 3); - M6(-1, 3); - M1(1, 1); - M0(0, 0); - P2(3, 2); -} - -method M67(a: bv67, b: bv67) - decreases a, b -{ - print "bv67: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; -} - -method M64(a: bv64, b: bv64) - decreases a, b -{ - print "bv64: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; -} - -method M53(a: bv53, b: bv53) - decreases a, b -{ - print "bv53: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; -} - -method M33(a: bv33, b: bv33) - decreases a, b -{ - print "bv33: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; -} - -method M32(a: bv32, b: bv32) - decreases a, b -{ - print "bv32: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; -} - -method M31(a: bv31, b: bv31) - decreases a, b -{ - print "bv31: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; -} - -method M16(a: bv16, b: bv16) - decreases a, b -{ - print "bv16: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; -} - -method M15(a: bv15, b: bv15) - decreases a, b -{ - print "bv15: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; -} - -method M8(a: bv8, b: bv8) - decreases a, b -{ - print "bv8: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; -} - -method M6(a: bv6, b: bv6) - decreases a, b -{ - print "bv6: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; -} - -method M1(a: bv1, b: bv1) - decreases a, b -{ - print "bv1: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; -} - -method M0(a: bv0, b: bv0) - decreases a, b -{ - print "bv0: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; -} - -method P2(a: bv2, b: bv2) - requires b != 0 - decreases a, b -{ - print "bv2:\n"; - print " ", a, " + ", b, " == ", a + b, "\n"; - print " ", a, " - ", b, " == ", a - b, "\n"; - print " ", a, " * ", b, " == ", a * b, "\n"; - print " ", a, " / ", b, " == ", a / b, "\n"; - print " ", a, " % ", b, " == ", a % b, "\n"; -} - -method Shifts() -{ - var x: int, h: Handful, b67: bv67, w: bv32, seven: bv7, bb: bv2, noll: bv0; - x, h := 3, 3; - b67, w, seven := 5, 5, 5; - PrintShifts("bv67", b67, 8 * b67, b67 << x as bv7, b67 << h as bv7); - PrintShifts("bv32", w, 8 * w, w << x as bv6, w << h as bv6); - PrintShifts("bv7", seven, 8 * seven, seven << x as bv3, seven << h as bv3); - bb, x, h := 1, 1, 1; - PrintShifts("bv2", bb, 2 * bb, bb << x as bv2, bb << h as bv2); - x, h := 0, 0; - PrintShifts("bv0", noll, 0 * noll, noll << x as bv0, noll << h as bv0); - b67, w, bb, noll := 73786976294838206465, 1, 1, 0; - var One67: bv67 := 1; - PrintShifts("bv67 again", b67 << One67 as bv7, b67 << w as bv7, b67 << bb as bv7, b67 << noll as bv7); - b67, w, bb, noll := 2, 3221225472 + 2000, 1, 0; - var Two32: bv32 := 2; - PrintShifts("bv32 again", w << b67 as bv6, w << Two32 as bv6, w << bb as bv6, w << noll as bv6); - seven, b67, w, bb, noll := 127, 2, 2, 2, 0; - PrintShifts("bv7 again", seven << b67 as bv3, seven << w as bv3, seven << bb as bv3, seven << noll as bv3); - b67, w, bb := 0, 0, 0; - PrintShifts("bv0 again", noll << b67 as bv0, noll << w as bv0, noll << bb as bv0, noll << noll as bv0); -} - -method PrintShifts(s: string, a: T, b: T, c: T, d: T) - decreases s -{ - print "PrintShifts: ", s, ": ", a, " ", b, " ", c, " ", d, "\n"; -} - -method Rotates() -{ - var x: int, w: bv12, seven: bv7, bb: bv2, noll: bv0; - x := 3; - w, seven, noll := 5, 5, 0; - PrintRotates("bv12", w, w.RotateLeft(x).RotateRight(x)); - PrintRotates("bv7", seven, seven.RotateLeft(x).RotateRight(x)); - bb, x := 1, 1; - PrintRotates("bv2", bb, bb.RotateLeft(x).RotateRight(x)); - x := 0; - PrintRotates("bv0", noll, noll.RotateLeft(x).RotateRight(x)); - x := 5; - w, seven := 3072 + 2000, 127; - PrintRotates("bv12 again", w, w.RotateLeft(x).RotateRight(x)); - PrintRotates("bv7 again", seven, seven.RotateLeft(x).RotateRight(x)); -} - -method PrintRotates(s: string, a: T, b: T) - decreases s -{ - print "PrintRotates: ", s, ": ", a, " ", b, "\n"; -} - -Dafny program verifier finished with 11 verified, 0 errors - -Dafny program verifier did not attempt verification -4000 4000 4000 0 -1 2053 1099 -185 55 -2 4 -Comparisons: true true false false -bv16: 5 - 2 == 3 -bv16: 1 - 2 == 65535 -3 2 -0 0 -false true true false -bv67: 147573952589676412927 + 3 == 2 - 3 == 147573952589676412925 !! 3 == ! 147573952589676412924 == 3 -bv64: 18446744073709551615 + 3 == 2 - 3 == 18446744073709551613 !! 3 == ! 18446744073709551612 == 3 -bv53: 9007199254740991 + 3 == 2 - 3 == 9007199254740989 !! 3 == ! 9007199254740988 == 3 -bv33: 8589934591 + 3 == 2 - 3 == 8589934589 !! 3 == ! 8589934588 == 3 -bv32: 4294967295 + 3 == 2 - 3 == 4294967293 !! 3 == ! 4294967292 == 3 -bv31: 2147483647 + 3 == 2 - 3 == 2147483645 !! 3 == ! 2147483644 == 3 -bv16: 65535 + 3 == 2 - 3 == 65533 !! 3 == ! 65532 == 3 -bv15: 32767 + 3 == 2 - 3 == 32765 !! 3 == ! 32764 == 3 -bv8: 255 + 3 == 2 - 3 == 253 !! 3 == ! 252 == 3 -bv6: 63 + 3 == 2 - 3 == 61 !! 3 == ! 60 == 3 -bv1: 1 + 1 == 0 - 1 == 1 !! 1 == ! 0 == 1 -bv0: 0 + 0 == 0 - 0 == 0 !! 0 == ! 0 == 0 -bv2: - 3 + 2 == 1 - 3 - 2 == 1 - 3 * 2 == 2 - 3 / 2 == 1 - 3 % 2 == 1 -PrintShifts: bv67: 5 40 40 40 -PrintShifts: bv32: 5 40 40 40 -PrintShifts: bv7: 5 40 40 40 -PrintShifts: bv2: 1 2 2 2 -PrintShifts: bv0: 0 0 0 0 -PrintShifts: bv67 again: 2 2 2 73786976294838206465 -PrintShifts: bv32 again: 8000 8000 2147487648 3221227472 -PrintShifts: bv7 again: 124 124 124 127 -PrintShifts: bv0 again: 0 0 0 0 -PrintRotates: bv12: 5 5 -PrintRotates: bv7: 5 5 -PrintRotates: bv2: 1 1 -PrintRotates: bv0: 0 0 -PrintRotates: bv12 again: 976 976 -PrintRotates: bv7 again: 127 127 - -Dafny program verifier did not attempt verification 4000 4000 4000 0 1 2053 1099 185 55 diff --git a/Test/dafny0/Compilation.dfy b/Test/dafny0/Compilation.dfy index d13af7dcf41..8c9594aa61f 100644 --- a/Test/dafny0/Compilation.dfy +++ b/Test/dafny0/Compilation.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /deprecation:0 /autoTriggers:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /autoTriggers:0 /deprecation:0 // The tests in this file are designed to run through the compiler. They contain // program snippets that are tricky to compile or whose compilation once was buggy. diff --git a/Test/dafny0/Compilation.dfy.expect b/Test/dafny0/Compilation.dfy.expect index d0fa1540237..1010a177b6f 100644 --- a/Test/dafny0/Compilation.dfy.expect +++ b/Test/dafny0/Compilation.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 29 verified, 0 errors 400 320 40 diff --git a/Test/dafny0/Constant.dfy b/Test/dafny0/Constant.dfy index f021e7d4482..1fdeedc3335 100644 --- a/Test/dafny0/Constant.dfy +++ b/Test/dafny0/Constant.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment const one:int := 1 const two:int := one * 2 diff --git a/Test/dafny0/Constant.dfy.expect b/Test/dafny0/Constant.dfy.expect index 6099b08c38c..1a7b981715f 100644 --- a/Test/dafny0/Constant.dfy.expect +++ b/Test/dafny0/Constant.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 17 verified, 0 errors one := 1 two := 2 three := 3 diff --git a/Test/dafny0/Deprecation.dfy b/Test/dafny0/Deprecation.dfy index 8c9c688d463..86521043d43 100644 --- a/Test/dafny0/Deprecation.dfy +++ b/Test/dafny0/Deprecation.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This file contains tests for messags about various deprecated features. // As those features go away completely, so can the corresponding tests. diff --git a/Test/dafny0/Deprecation.dfy.expect b/Test/dafny0/Deprecation.dfy.expect index 4ff88d31ade..0dffd975ac7 100644 --- a/Test/dafny0/Deprecation.dfy.expect +++ b/Test/dafny0/Deprecation.dfy.expect @@ -1,8 +1 @@ -Deprecation.dfy(16,13): Warning: constructors no longer need 'this' to be listed in modifies clauses -Deprecation.dfy(23,0): Warning: the old keyword phrase 'inductive predicate' has been renamed to 'least predicate' -Deprecation.dfy(26,0): Warning: the old keyword 'copredicate' has been renamed to the keyword phrase 'greatest predicate' -Deprecation.dfy(29,0): Warning: the old keyword phrase 'inductive lemma' has been renamed to 'least lemma' -Deprecation.dfy(32,0): Warning: the old keyword 'colemma' has been renamed to the keyword phrase 'greatest lemma' - -Dafny program verifier finished with 0 verified, 0 errors yet here we are diff --git a/Test/dafny0/DiscoverBounds.dfy b/Test/dafny0/DiscoverBounds.dfy index 31f9717ee79..18e56158613 100644 --- a/Test/dafny0/DiscoverBounds.dfy +++ b/Test/dafny0/DiscoverBounds.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /print:"%t.print" /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment newtype NT = x | 0 <= x < 100 newtype UT = NT diff --git a/Test/dafny0/DiscoverBounds.dfy.expect b/Test/dafny0/DiscoverBounds.dfy.expect index e43954c7be1..909a58326d0 100644 --- a/Test/dafny0/DiscoverBounds.dfy.expect +++ b/Test/dafny0/DiscoverBounds.dfy.expect @@ -1,10 +1,3 @@ -DiscoverBounds.dfy(32,7): Warning: /!\ No terms found to trigger on. -DiscoverBounds.dfy(33,7): Warning: /!\ No terms found to trigger on. -DiscoverBounds.dfy(34,7): Warning: /!\ No terms found to trigger on. -DiscoverBounds.dfy(35,7): Warning: /!\ No terms found to trigger on. -DiscoverBounds.dfy(36,7): Warning: /!\ No terms found to trigger on. - -Dafny program verifier finished with 7 verified, 0 errors 0 0 -2 diff --git a/Test/dafny0/DividedConstructors.dfy b/Test/dafny0/DividedConstructors.dfy index 8d5bf605ba0..069cb7adb58 100644 --- a/Test/dafny0/DividedConstructors.dfy +++ b/Test/dafny0/DividedConstructors.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /env:0 /dprint:- "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /env:0 method Main() { var m := new M0.MyClass.Init(20); diff --git a/Test/dafny0/DividedConstructors.dfy.expect b/Test/dafny0/DividedConstructors.dfy.expect index f7412d8d0a1..2dcc1ba6402 100644 --- a/Test/dafny0/DividedConstructors.dfy.expect +++ b/Test/dafny0/DividedConstructors.dfy.expect @@ -1,188 +1,2 @@ -DividedConstructors.dfy(62,9): Warning: the ... refinement feature in statements is deprecated -// DividedConstructors.dfy - - -module M0 { - class MyClass { - var a: nat - const b := 17 - var c: real - - constructor Init(x: nat) - { - this.a := x; - c := 3.14; - new; - a := a + b; - assert c == 3.14; - assert this.a == 17 + x; - } - - constructor (z: real) - ensures c <= 2.0 * z - { - a, c := 50, 2.0 * z; - new; - } - - constructor Make() - ensures 10 <= a - { - new; - a := a + b; - } - - constructor Create() - ensures 30 <= a - { - new; - a := a + 2 * b; - } - } -} - -module M1 refines M0 { - class MyClass ... { - const d := 'D' - var e: char - - constructor Init ... - { - e := 'e'; - new; - e := 'x'; - ...; - assert e == 'x'; - } - - constructor ... - { - e := 'y'; - new; - } - - constructor Make ... - { - new; - e := 'z'; - } - - constructor Create ... - { - e := 'w'; - } - } -} - -module TypeOfThis { - class LinkedList { - ghost var Repr: set> - ghost var Rapr: set> - ghost var S: set - ghost var T: set - - constructor Init() - { - Repr := {this}; - } - - constructor Init'() - { - Rapr := {this}; - } - - constructor Create() - { - S := {this}; - } - - constructor Create'() - { - T := {this}; - } - - constructor Two() - { - new; - var ll: LinkedList? := this; - var o: object? := this; - if - case true => - T := {o}; - case true => - S := {o}; - case true => - Repr := {ll}; - case true => - Rapr := {ll}; - case true => - S := {ll}; - case true => - T := {ll}; - } - - method Mutate() - modifies this - { - Repr := {this}; - Rapr := {this}; - S := {this}; - T := {this}; - } - } -} - -module Regression { - class A { - var b: bool - var y: int - - constructor Make0() - ensures b == false - { - b := false; - } - - constructor Make1() - ensures b == true - { - b := true; - } - - constructor Make2() - { - b := false; - new; - assert !b; - } - - constructor Make3() - ensures b == false && y == 65 - { - b := false; - y := 65; - new; - assert !b; - assert y == 65; - } - - constructor Make4(bb: bool, yy: int) - ensures b == bb && y == yy - { - b, y := bb, yy; - } - } -} -method Main() -{ - var m := new M0.MyClass.Init(20); - print m.a, ", ", m.b, ", ", m.c, "\n"; - var r0 := new Regression.A.Make0(); - var r1 := new Regression.A.Make1(); - assert r0.b != r1.b; - print r0.b, ", ", r1.b, "\n"; -} - -Dafny program verifier finished with 17 verified, 0 errors 37, 17, 3.14 false, true diff --git a/Test/dafny0/EqualityTypesCompile.dfy b/Test/dafny0/EqualityTypesCompile.dfy index de7954710e9..a36d1818c1d 100644 --- a/Test/dafny0/EqualityTypesCompile.dfy +++ b/Test/dafny0/EqualityTypesCompile.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype List = Nil | Cons(A, List) | ICons(int, List) datatype TwoLists = Two(List, List) diff --git a/Test/dafny0/EqualityTypesCompile.dfy.expect b/Test/dafny0/EqualityTypesCompile.dfy.expect index d2f1950e7f7..0246dc39633 100644 --- a/Test/dafny0/EqualityTypesCompile.dfy.expect +++ b/Test/dafny0/EqualityTypesCompile.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors from M: false from N: false from H: false diff --git a/Test/dafny0/ForallCompilation.dfy b/Test/dafny0/ForallCompilation.dfy index 40c381521e8..731ce83015f 100644 --- a/Test/dafny0/ForallCompilation.dfy +++ b/Test/dafny0/ForallCompilation.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" /autoTriggers:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /autoTriggers:0 method Main() { var c := new MyClass; diff --git a/Test/dafny0/ForallCompilation.dfy.expect b/Test/dafny0/ForallCompilation.dfy.expect index 66ffe3665d5..e69de29bb2d 100644 --- a/Test/dafny0/ForallCompilation.dfy.expect +++ b/Test/dafny0/ForallCompilation.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 14 verified, 0 errors diff --git a/Test/dafny0/ForallCompilationNewSyntax.dfy b/Test/dafny0/ForallCompilationNewSyntax.dfy index b7132df78ae..ac354d6338c 100644 --- a/Test/dafny0/ForallCompilationNewSyntax.dfy +++ b/Test/dafny0/ForallCompilationNewSyntax.dfy @@ -1,5 +1,4 @@ -// RUN: %baredafny run %args --relax-definite-assignment --quantifier-syntax:4 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --quantifier-syntax:4 --relax-definite-assignment method Main() { var c := new MyClass; diff --git a/Test/dafny0/ForallCompilationNewSyntax.dfy.expect b/Test/dafny0/ForallCompilationNewSyntax.dfy.expect index 5b7ec4613bb..e69de29bb2d 100644 --- a/Test/dafny0/ForallCompilationNewSyntax.dfy.expect +++ b/Test/dafny0/ForallCompilationNewSyntax.dfy.expect @@ -1,6 +0,0 @@ -ForallCompilationNewSyntax.dfy(26,4): Warning: /!\ No terms found to trigger on. -ForallCompilationNewSyntax.dfy(35,4): Warning: /!\ No terms found to trigger on. -ForallCompilationNewSyntax.dfy(44,4): Warning: /!\ No terms found to trigger on. -ForallCompilationNewSyntax.dfy(64,4): Warning: /!\ No trigger covering all quantified variables found. - -Dafny program verifier finished with 14 verified, 0 errors diff --git a/Test/dafny0/GhostGuards.dfy b/Test/dafny0/GhostGuards.dfy index b17c98662ce..49877792a47 100644 --- a/Test/dafny0/GhostGuards.dfy +++ b/Test/dafny0/GhostGuards.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /printTooltips /rprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Dt = Green | Dog diff --git a/Test/dafny0/GhostGuards.dfy.expect b/Test/dafny0/GhostGuards.dfy.expect index 8bb8a71d69d..e69de29bb2d 100644 --- a/Test/dafny0/GhostGuards.dfy.expect +++ b/Test/dafny0/GhostGuards.dfy.expect @@ -1,7 +0,0 @@ -GhostGuards.dfy(12,9): Info: ghost if -GhostGuards.dfy(18,2): Info: ghost if -GhostGuards.dfy(28,2): Info: ghost while -GhostGuards.dfy(41,2): Info: ghost while -GhostGuards.dfy(54,2): Info: ghost match - -Dafny program verifier finished with 1 verified, 0 errors diff --git a/Test/dafny0/GhostITECompilation.dfy b/Test/dafny0/GhostITECompilation.dfy index d761ddbc6ea..bd7cfa28a95 100644 --- a/Test/dafny0/GhostITECompilation.dfy +++ b/Test/dafny0/GhostITECompilation.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 /functionSyntax:4 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --function-syntax:4 --relax-definite-assignment function F(x: nat, ghost y: nat): nat { diff --git a/Test/dafny0/GhostITECompilation.dfy.expect b/Test/dafny0/GhostITECompilation.dfy.expect index 1ec406bf52c..b4988e5cf11 100644 --- a/Test/dafny0/GhostITECompilation.dfy.expect +++ b/Test/dafny0/GhostITECompilation.dfy.expect @@ -1,31 +1,3 @@ - -Dafny program verifier finished with 6 verified, 0 errors - -Dafny program verifier did not attempt verification -65 -65 -65 -65 - -Dafny program verifier did not attempt verification -65 -65 -65 -65 - -Dafny program verifier did not attempt verification -65 -65 -65 -65 - -Dafny program verifier did not attempt verification -65 -65 -65 -65 - -Dafny program verifier did not attempt verification 65 65 65 diff --git a/Test/dafny0/InitialValues.dfy b/Test/dafny0/InitialValues.dfy index 7dcb05cc9c9..0848d244d71 100644 --- a/Test/dafny0/InitialValues.dfy +++ b/Test/dafny0/InitialValues.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/dafny0/InitialValues.dfy.expect b/Test/dafny0/InitialValues.dfy.expect index ada1b783c16..18903dcc3dd 100644 --- a/Test/dafny0/InitialValues.dfy.expect +++ b/Test/dafny0/InitialValues.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 2 verified, 0 errors r= 0.0 s= 3.4 a= 0.0 b= 3.4 z= 0.0 a==z = true diff --git a/Test/dafny0/MatchBraces.dfy b/Test/dafny0/MatchBraces.dfy index b3b87fd5e4a..6a1fb7cd52c 100644 --- a/Test/dafny0/MatchBraces.dfy +++ b/Test/dafny0/MatchBraces.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /print:"%t.print" /env:0 /dprint:- "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /env:0 datatype Color = Red | Green | Blue diff --git a/Test/dafny0/MatchBraces.dfy.expect b/Test/dafny0/MatchBraces.dfy.expect index b6129bafcc0..4f89bff47e5 100644 --- a/Test/dafny0/MatchBraces.dfy.expect +++ b/Test/dafny0/MatchBraces.dfy.expect @@ -1,135 +1,2 @@ -// MatchBraces.dfy - -datatype Color = Red | Green | Blue - -method Main() -{ - M(Green, Red); - M(Blue, Blue); -} - -method M(c: Color, d: Color) -{ - var x := match c case Red => 5 case Green => 7 case Blue => 11; - var y := match c case Red => 0.3 case Green => (match d case Red => 0.18 case Green => 0.21 case Blue => 0.98) case Blue => 98.0; - var z := match c case Red => Green case Green => match d { case Red => Red case Green => Blue case Blue => Red } case Blue => Green; - var w := match c { case Red => 2 case Green => 3 case Blue => 4 } + 10; - var t := match c case Red => 0 case Green => match d { case Red => 2 case Green => 2 case Blue => 1 } + (match d case Red => 10 case Green => 8 case Blue => 5) case Blue => match d { case Red => 20 case Green => 20 case Blue => 10 } + match d case Red => 110 case Green => 108 case Blue => 105; - print x, " ", y, " ", z, " ", w, " ", t, "\n"; -} - -ghost function Heat(c: Color): int -{ - match c - case Red => - 10 - case Green => - 12 - case Blue => - 14 -} - -ghost function IceCream(c: Color): int -{ - match c { - case Red => - 0 - case Green => - 4 - case Blue => - 1 - } -} - -ghost function Flowers(c: Color, d: Color): int -{ - match c { - case Red => - match d { - case Red => - 0 - case Green => - 1 - case Blue => - 2 - } - case Green => - match d { case Red => 3 case Green => 3 case Blue => 2 } + 20 - case Blue => - match d { case Red => 9 case Green => 8 case Blue => 7 } + match d case Red => 23 case Green => 29 case Blue => 31 - } -} - -method P(c: Color, d: Color) -{ - var x: int; - match c { - case {:split false} Red => - x := 20; - case {:split false} Green => - case {:split false} Blue => - } - match c - case {:split false} Red => - match d { - case {:split false} Red => - case {:split false} Green => - case {:split false} Blue => - } - case {:split false} Green => - var y := 25; - var z := y + 3; - case {:split false} Blue => - { - var y := 25; - var z := y + 3; - } - match d - case {:split false} Red => - case {:split false} Green => - x := x + 1; - case {:split false} Blue => -} - -lemma HeatIsEven(c: Color) - ensures Heat(c) % 2 == 0 -{ - match c - case {:split false} Red => - assert 10 % 2 == 0; - case {:split false} Green => - assert 12 % 2 == 0; - case {:split false} Blue => -} - -method DegenerateExamples(c: Color) - requires Heat(c) == 10 -{ - match c - case {:split false} Red => - case {:split false} Green => - match c { - } - case {:split false} Blue => - match c -} - -method MoreDegenerateExamples(c: Color) - requires Heat(c) == 10 -{ - if c == Green { - var x: int := match c; - var y: int := match c { }; - var z := match c case Blue => 4; - } -} - -Dafny program verifier finished with 5 verified, 0 errors - -Dafny program verifier did not attempt verification -7 0.18 Color.Red 13 12 -11 98.0 Color.Green 14 115 - -Dafny program verifier did not attempt verification 7 0.18 Color.Red 13 12 11 98.0 Color.Green 14 115 diff --git a/Test/dafny0/MoForallCompilation.dfy b/Test/dafny0/MoForallCompilation.dfy index 835712edbce..af080853463 100644 --- a/Test/dafny0/MoForallCompilation.dfy +++ b/Test/dafny0/MoForallCompilation.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { TestAggregateArrayUpdate(); diff --git a/Test/dafny0/MoForallCompilation.dfy.expect b/Test/dafny0/MoForallCompilation.dfy.expect index c431c74c6aa..7bb606c1528 100644 --- a/Test/dafny0/MoForallCompilation.dfy.expect +++ b/Test/dafny0/MoForallCompilation.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 18 verified, 0 errors -4.0 -3.0 -2.0 -1.0 0.0 1.0 2.0 3.0 7.0 6.0 5.0 4.0 3.0 2.0 1.0 0.0 true true true true true true false false diff --git a/Test/dafny0/NameclashesCompile.dfy b/Test/dafny0/NameclashesCompile.dfy index 4d06065c675..46cae4b2338 100644 --- a/Test/dafny0/NameclashesCompile.dfy +++ b/Test/dafny0/NameclashesCompile.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var r0, r1; diff --git a/Test/dafny0/NameclashesCompile.dfy.expect b/Test/dafny0/NameclashesCompile.dfy.expect index 1434bb632f6..f001bdaeb1e 100644 --- a/Test/dafny0/NameclashesCompile.dfy.expect +++ b/Test/dafny0/NameclashesCompile.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 2 verified, 0 errors 15.0 15.1 94 99 0.8 14.3 14.4 18.9 18.92 diff --git a/Test/dafny0/NonZeroInitializationCompile.dfy b/Test/dafny0/NonZeroInitializationCompile.dfy index 48b61a39369..2fedae6d60d 100644 --- a/Test/dafny0/NonZeroInitializationCompile.dfy +++ b/Test/dafny0/NonZeroInitializationCompile.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment type MyInt = x | 6 <= x witness 6 newtype MyNewInt = x | 6 <= x witness 12 diff --git a/Test/dafny0/NonZeroInitializationCompile.dfy.expect b/Test/dafny0/NonZeroInitializationCompile.dfy.expect index 69539e473c2..2e20350afad 100644 --- a/Test/dafny0/NonZeroInitializationCompile.dfy.expect +++ b/Test/dafny0/NonZeroInitializationCompile.dfy.expect @@ -1,76 +1,3 @@ - -Dafny program verifier finished with 15 verified, 0 errors - -Dafny program verifier did not attempt verification -These are the arbitrary values chosen by the compiler: 6, 12 -short, short': 0, -35 -nes: {57} -f0, f1: (0, false), (29, true) -dt: Dt.Atom(-35) -cl { u: 12, x: 0, r: 3.14, nes: {57} } -cl' { u: 12, x: 0, ': 3.14, nes: {20, 57} } - -x: real :: 0.0 versus 0.0 -ch: char :: 'D' versus 'D' -s: set :: {} versus {} -d: Xt :: AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) versus AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) -y: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) -z: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) - -x: real :: 0.0 versus 0.0 -ch: char :: 'D' versus 'D' -s: set :: {} versus {} -d: Xt :: AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) versus AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) -y: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) -z: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) - -Dafny program verifier did not attempt verification -These are the arbitrary values chosen by the compiler: 6, 12 -short, short': 0, -35 -nes: {57} -f0, f1: (0, false), (29, true) -dt: Dt.Atom(-35) -cl { u: 12, x: 0, r: 3.14, nes: {57} } -cl' { u: 12, x: 0, ': 3.14, nes: {20, 57} } - -x: real :: 0.0 versus 0.0 -ch: char :: 'D' versus 'D' -s: set :: {} versus {} -d: Xt :: AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) versus AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) -y: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) -z: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) - -x: real :: 0.0 versus 0.0 -ch: char :: 'D' versus 'D' -s: set :: {} versus {} -d: Xt :: AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) versus AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) -y: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) -z: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) - -Dafny program verifier did not attempt verification -These are the arbitrary values chosen by the compiler: 6, 12 -short, short': 0, -35 -nes: {57} -f0, f1: (0, false), (29, true) -dt: Dt.Atom(-35) -cl { u: 12, x: 0, r: 3.14, nes: {57} } -cl' { u: 12, x: 0, ': 3.14, nes: {20, 57} } - -x: real :: 0.0 versus 0.0 -ch: char :: 'D' versus 'D' -s: set :: {} versus {} -d: Xt :: AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) versus AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) -y: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) -z: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) - -x: real :: 0.0 versus 0.0 -ch: char :: 'D' versus 'D' -s: set :: {} versus {} -d: Xt :: AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) versus AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) -y: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) -z: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) - -Dafny program verifier did not attempt verification These are the arbitrary values chosen by the compiler: 6, 12 short, short': 0, -35 nes: {57} diff --git a/Test/dafny0/NullComparisonWarnings.dfy b/Test/dafny0/NullComparisonWarnings.dfy index eb9183040bc..35fd5ffb3f4 100644 --- a/Test/dafny0/NullComparisonWarnings.dfy +++ b/Test/dafny0/NullComparisonWarnings.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { print "despite the warnings, the program still compiles\n"; diff --git a/Test/dafny0/NullComparisonWarnings.dfy.expect b/Test/dafny0/NullComparisonWarnings.dfy.expect index d8cf4a9960c..f2b4545fac7 100644 --- a/Test/dafny0/NullComparisonWarnings.dfy.expect +++ b/Test/dafny0/NullComparisonWarnings.dfy.expect @@ -1,14 +1 @@ -NullComparisonWarnings.dfy(27,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(28,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'y' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(29,14): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for field 'next' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(30,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(31,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'y' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(32,14): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for field 'next' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(34,12): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(37,12): Warning: the type of the other operand is a set of non-null elements, so the inclusion test of 'null' will always return 'false' -NullComparisonWarnings.dfy(38,12): Warning: the type of the other operand is a set of non-null elements, so the non-inclusion test of 'null' will always return 'true' -NullComparisonWarnings.dfy(40,41): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'u' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(45,12): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' - -Dafny program verifier finished with 4 verified, 0 errors despite the warnings, the program still compiles diff --git a/Test/dafny0/PrintUTF8.dfy b/Test/dafny0/PrintUTF8.dfy index 5d4e376b19d..eff7baa32a9 100644 --- a/Test/dafny0/PrintUTF8.dfy +++ b/Test/dafny0/PrintUTF8.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { print "Mikaël fixed UTF8\n"; diff --git a/Test/dafny0/PrintUTF8.dfy.expect b/Test/dafny0/PrintUTF8.dfy.expect index 52a23e906cc..818549280d3 100644 --- a/Test/dafny0/PrintUTF8.dfy.expect +++ b/Test/dafny0/PrintUTF8.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors Mikaël fixed UTF8 diff --git a/Test/dafny0/RangeCompilation.dfy b/Test/dafny0/RangeCompilation.dfy index 53a8d6e33e5..3f3e6aed0f8 100644 --- a/Test/dafny0/RangeCompilation.dfy +++ b/Test/dafny0/RangeCompilation.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment newtype Byte = x | 0 <= x < 256 predicate GoodByte(b: Byte) { diff --git a/Test/dafny0/RangeCompilation.dfy.expect b/Test/dafny0/RangeCompilation.dfy.expect index 82fbbb9b698..9e0f9e5f028 100644 --- a/Test/dafny0/RangeCompilation.dfy.expect +++ b/Test/dafny0/RangeCompilation.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 4 verified, 0 errors b=2 i=4 diff --git a/Test/dafny0/SeqFromArray.dfy b/Test/dafny0/SeqFromArray.dfy index 6bab732c906..39f72303d18 100644 --- a/Test/dafny0/SeqFromArray.dfy +++ b/Test/dafny0/SeqFromArray.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // /autoTriggers:1 added to suppress instabilities diff --git a/Test/dafny0/SeqFromArray.dfy.expect b/Test/dafny0/SeqFromArray.dfy.expect index 1981561ca00..e69de29bb2d 100644 --- a/Test/dafny0/SeqFromArray.dfy.expect +++ b/Test/dafny0/SeqFromArray.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 10 verified, 0 errors diff --git a/Test/dafny0/SharedDestructorsCompile.dfy b/Test/dafny0/SharedDestructorsCompile.dfy index 8171cf72404..64d8b245b58 100644 --- a/Test/dafny0/SharedDestructorsCompile.dfy +++ b/Test/dafny0/SharedDestructorsCompile.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Dt = | A(x: int, y: real) diff --git a/Test/dafny0/SharedDestructorsCompile.dfy.expect b/Test/dafny0/SharedDestructorsCompile.dfy.expect index e037db03c40..060d152d77b 100644 --- a/Test/dafny0/SharedDestructorsCompile.dfy.expect +++ b/Test/dafny0/SharedDestructorsCompile.dfy.expect @@ -1,20 +1,3 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification -Dt.A(10, 12.0): x=10 y=12.0 -Dt.B(_module.MyClass, 6): h=_module.MyClass x=6 -Dt.C(3.14): y=3.14 -Dt.C(3.14) -Dt.A(71, 0.1) -Klef.C3(44, 100, 66, 200) -Datte.AA(10, 2) Datte.AA(10, 5) -Datte.BB(false, 12) Datte.BB(false, 6) -Datte.CC(3.2) Datte.CC(3.4) -Datte.DD(100, {7}, 5, 9.0) Datte.DD(30, {7}, 5, 9.0) -Datte.DD(100, {7}, 5, 9.0) Datte.DD(30, {7}, 5, 2.0) - -Dafny program verifier did not attempt verification Dt.A(10, 12.0): x=10 y=12.0 Dt.B(_module.MyClass, 6): h=_module.MyClass x=6 Dt.C(3.14): y=3.14 diff --git a/Test/dafny0/SiblingImports.dfy b/Test/dafny0/SiblingImports.dfy index 3fb01d9d1b8..756e4b253f3 100644 --- a/Test/dafny0/SiblingImports.dfy +++ b/Test/dafny0/SiblingImports.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { ClientA.Test(); diff --git a/Test/dafny0/SiblingImports.dfy.expect b/Test/dafny0/SiblingImports.dfy.expect index ba4df82a925..fb6171563ac 100644 --- a/Test/dafny0/SiblingImports.dfy.expect +++ b/Test/dafny0/SiblingImports.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors ClientA.Inner.Five: 5 ClientB.Inner.Five: 5 ClientC.Inner.Five: 5 diff --git a/Test/dafny0/TypeConversionsCompile.dfy b/Test/dafny0/TypeConversionsCompile.dfy index 066af1b305b..b7d02dd31f3 100644 --- a/Test/dafny0/TypeConversionsCompile.dfy +++ b/Test/dafny0/TypeConversionsCompile.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /env:0 /rprint:- "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /env:0 newtype Handful = x | 0 <= x < 0x8000 // this type turns native newtype Abundance = y | -20 <= y < 0x200_0000_0000 // still fits inside a "long" diff --git a/Test/dafny0/TypeConversionsCompile.dfy.expect b/Test/dafny0/TypeConversionsCompile.dfy.expect index d6b02b34eae..78990cf4a30 100644 --- a/Test/dafny0/TypeConversionsCompile.dfy.expect +++ b/Test/dafny0/TypeConversionsCompile.dfy.expect @@ -1,228 +1,3 @@ -// TypeConversionsCompile.dfy - -/* -module _System { - /* CALL GRAPH for module _System: - * SCC at height 1: - * RotateLeft - * SCC at height 1: - * RotateRight - * SCC at height 0: - * array - * SCC at height 0: - * nat - * SCC at height 0: - * object - */ - type string(==,0) = seq - - type {:axiom} nat(==,0) = x: int - | 0 <= x - - trait {:compile false} object { } - /*-- non-null type - type {:axiom} object(==) = c: object? | c != null /*special witness*/ - */ - - class {:compile false} array { - var Length: int // immutable - } - /*-- non-null type - type {:axiom} array(==) = c: array? | c != null /*special witness*/ - */ - - type {:compile false} /*_#Func1*/ -T0 ~> +R { - ghost function requires(x0: T0): bool - reads reads(x0) - - ghost function reads(x0: T0): set - reads reads(x0) - } - - type {:compile false} /*_#PartialFunc1*/ -T0 --> +R = f: T0 ~> R - | forall x0: T0 :: f.reads(x0) == {} - /*special witness*/ - - type {:compile false} /*_#TotalFunc1*/ -T0 -> +R = f: T0 --> R - | forall x0: T0 :: f.requires(x0) - /*special witness*/ - - type {:compile false} /*_#Func0*/ () ~> +R { - ghost function requires(): bool - reads reads() - - ghost function reads(): set - reads reads() - } - - type {:compile false} /*_#PartialFunc0*/ () --> +R = f: () ~> R - | f.reads() == {} - /*special witness*/ - - type {:compile false} /*_#TotalFunc0*/ () -> +R = f: () --> R - | f.requires() - /*special witness*/ - - datatype {:compile false} /*_tuple#2*/ (+T0, +T1) = _#Make2(0: T0, 1: T1) - - type bool { } - - type int { } - - type real { - var Floor: int // immutable - } - - type ORDINAL { - var IsLimit: bool // immutable - var IsSucc: bool // immutable - var Offset: int // immutable - var IsNat: bool // immutable - } - - type _bv { - function RotateLeft(w: nat): selftype - - function RotateRight(w: nat): selftype - } - - type map<+T, +U> { - var Keys: set // immutable - var Values: set // immutable - var Items: set<(T, U)> // immutable - } - - type imap<*T, +U> { - var Keys: iset // immutable - var Values: iset // immutable - var Items: iset<(T, U)> // immutable - } - - datatype {:compile false} /*_tuple#0*/ () = _#Make0 -} -// bitvector types in use: bv67 bv32 bv7 bv0 bv300 -*/ - -/* CALL GRAPH for module _module: - * SCC at height 2: - * Main - * SCC at height 1: - * Difficult - * SCC at height 1: - * Print - * SCC at height 0: - * Abundance - * SCC at height 0: - * EvenInt - * SCC at height 0: - * Handful - * SCC at height 0: - * OrdinalTests - * SCC at height 0: - * PrintExpected - * SCC at height 0: - * SmallReal - * SCC at height 0: - * int64 - */ -newtype Handful = x: int - | 0 <= x < 32768 - -newtype Abundance = y: int - | -20 <= y < 2199023255552 - -newtype int64 = y: int - | -9223372036854775808 <= y < 9223372036854775808 - -newtype EvenInt = x: int - | x % 2 == 0 - -newtype SmallReal = r: real - | -4.0 <= r < 300.0 - -method Print(x: int, n: nat, r: real, handful: Handful, even: EvenInt, small: SmallReal, b67: bv67, w: bv32, seven: bv7, noll: bv0) - decreases x, n, r, handful, even, small, b67, w, seven, noll -{ - print x, " ", n, " ", r, " ", handful, " ", even, " ", small, " ", b67, " ", w, " ", seven, " ", noll, "\n"; -} - -method PrintExpected(got: T, expected: T) -{ - print "got ", got, ", expected ", expected, "\n"; -} - -method Main() -{ - var x: int, n: nat, r: real := 3, 4, 5.0; - var handful: Handful, even: EvenInt, small: SmallReal := 5, 6, -1.0; - var b67: bv67, w: bv32, seven: bv7, noll: bv0 := 147573952589676412927, 4294967295, 127, 0; - Print(x, n, r, handful, even, small, b67, w, seven, noll); - PrintExpected(x as bv7, 3); - PrintExpected(0 as bv0, 0); - PrintExpected(r as int, 5); - PrintExpected((2.0 * r) as EvenInt, 10); - PrintExpected(x as real, 3.0); - PrintExpected(even as real, 6.0); - PrintExpected((small + 3.0) as Handful, 2); - PrintExpected(noll as Handful, 0); - PrintExpected(noll as SmallReal, 0.0); - PrintExpected(w as real, 4294967295.0); - PrintExpected(seven as real, 127.0); - PrintExpected(noll as bv32, 0); - PrintExpected(noll as bv67, 0); - PrintExpected(seven as bv32, 127); - PrintExpected(seven as bv67, 127); - b67 := 50; - PrintExpected(r as bv67, 5); - PrintExpected(r as bv32, 5); - PrintExpected(w as bv67, 4294967295); - PrintExpected(r as bv7, 5); - PrintExpected(0.0 as bv0, 0); - PrintExpected(handful as bv67, 5); - PrintExpected(handful as bv32, 5); - PrintExpected(handful as bv7, 5); - PrintExpected(handful as int, 5); - PrintExpected(noll as bv32 as bv0, 0); - PrintExpected(noll as bv67 as bv0, 0); - PrintExpected(seven as bv32 as bv7, 127); - PrintExpected(seven as bv67 as bv7, 127); - PrintExpected(handful as real, 5.0); - Difficult(); - var a0: Abundance, a1: Abundance, a2: Abundance, lng: int64; - var s: set := {4.0, 6.3, r, 1000.2}; - var a: array := new char[68]; - handful := 120 as Handful; - a0, a1 := -1 as Abundance, 4 as Abundance; - a2 := 8589934592 as Abundance; - w, lng := 6345789 as bv32, -9223372036854775808 as int64; - print handful, " ", a0, " ", a1, " ", a2, " ", w, " ", lng, "\n"; - x, handful, a0, w := |s|, |s| as Handful, |s| as Abundance, |s| as bv32; - print x, " ", handful, " ", a0, " ", w, "\n"; - x, handful, a0, w := a.Length, a.Length as Handful, a.Length as Abundance, a.Length as bv32; - print x, " ", handful, " ", a0, " ", w, "\n"; - OrdinalTests(); -} - -method Difficult() -{ - if 14 as real as int as bv67 == 14 { - PrintExpected(14 as real as int as bv67 as EvenInt as SmallReal as Handful as bv7 as bv32 as int, 14); - } -} - -method OrdinalTests() -{ - var ord: ORDINAL := 143; - var iord: int := ord as int; - var oord: ORDINAL := iord as ORDINAL; - print "Something about ORDINAL: ", ord, " ", iord, " ", oord, " ", ord + 4, " ", ord - 100, "\n"; - print "ORDINAL and bitvectors: ", 20 as bv32 as ORDINAL, " ", 20 as bv300 as ORDINAL, "\n"; - print ord.IsLimit, " ", ord.Offset, " ", ord.IsNat, "\n"; - ord := 0; - print ord.IsLimit, " ", ord.Offset, " ", ord.IsNat, "\n"; -} - -Dafny program verifier finished with 8 verified, 0 errors 3 4 5.0 5 6 -1.0 147573952589676412927 4294967295 127 0 got 3, expected 3 got 0, expected 0 diff --git a/Test/dafny0/TypeMembers.dfy b/Test/dafny0/TypeMembers.dfy index 2ab57767ad5..f2bea4039c9 100644 --- a/Test/dafny0/TypeMembers.dfy +++ b/Test/dafny0/TypeMembers.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { BasicTests(); diff --git a/Test/dafny0/TypeMembers.dfy.expect b/Test/dafny0/TypeMembers.dfy.expect index 1d406ca85dc..923cb07e841 100644 --- a/Test/dafny0/TypeMembers.dfy.expect +++ b/Test/dafny0/TypeMembers.dfy.expect @@ -1,32 +1,3 @@ -TypeMembers.dfy(117,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect - -Dafny program verifier finished with 29 verified, 0 errors -TypeMembers.dfy(117,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect - -Dafny program verifier did not attempt verification -DaTy.Yes 10 26 -8 11 10 11 10 -35 10 14 -22 22 -9 Dt.Business(false, 5) -76 77 -19 -0 0 -19 82 83 -93 Co.Cobalt -27 27 -18 -11 18 18 22 -15 30 29 -95 11 -162 165 -11 18 18 3 -15 30 29 -95 11 -162 165 -TypeMembers.dfy(117,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect - -Dafny program verifier did not attempt verification DaTy.Yes 10 26 8 11 10 11 10 35 10 14 diff --git a/Test/dafny0/TypeMembers.dfy.verifier.expect b/Test/dafny0/TypeMembers.dfy.verifier.expect new file mode 100644 index 00000000000..7b6aaff62cf --- /dev/null +++ b/Test/dafny0/TypeMembers.dfy.verifier.expect @@ -0,0 +1 @@ +TypeMembers.dfy(117,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect diff --git a/Test/dafny0/Wellfounded.dfy b/Test/dafny0/Wellfounded.dfy index 2ed488974c6..7ec2be06b38 100644 --- a/Test/dafny0/Wellfounded.dfy +++ b/Test/dafny0/Wellfounded.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var d := Int(10); diff --git a/Test/dafny0/Wellfounded.dfy.expect b/Test/dafny0/Wellfounded.dfy.expect index 73d7a1e7ca2..52742a67098 100644 --- a/Test/dafny0/Wellfounded.dfy.expect +++ b/Test/dafny0/Wellfounded.dfy.expect @@ -1,7 +1,3 @@ -Wellfounded.dfy(49,14): Warning: /!\ No terms found to trigger on. -Wellfounded.dfy(77,5): Warning: /!\ No terms found to trigger on. - -Dafny program verifier finished with 3 verified, 0 errors M(d, d) = 10 M(a1, d) = 10 M(a2, d) = 10 diff --git a/Test/dafny2/MinWindowMax.dfy b/Test/dafny2/MinWindowMax.dfy index 71ccb539d7d..32342cdd8b9 100644 --- a/Test/dafny2/MinWindowMax.dfy +++ b/Test/dafny2/MinWindowMax.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Minimum window-max problem. // Rustan Leino diff --git a/Test/dafny2/MinWindowMax.dfy.expect b/Test/dafny2/MinWindowMax.dfy.expect index f6f6e52d9bc..1bb5609994e 100644 --- a/Test/dafny2/MinWindowMax.dfy.expect +++ b/Test/dafny2/MinWindowMax.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 12 verified, 0 errors Window size 1: min window-max is -5 Window size 2: min window-max is 2 Window size 3: min window-max is 3 diff --git a/Test/dafny2/SmallestMissingNumber-functional.dfy b/Test/dafny2/SmallestMissingNumber-functional.dfy index 047475c2680..a1544efab5f 100644 --- a/Test/dafny2/SmallestMissingNumber-functional.dfy +++ b/Test/dafny2/SmallestMissingNumber-functional.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Smallest missing number problem, functional version without duplicates. // A purely functional solution to the programming problem in Richard Bird's diff --git a/Test/dafny2/SmallestMissingNumber-functional.dfy.expect b/Test/dafny2/SmallestMissingNumber-functional.dfy.expect index 208b183ee3e..5d75da8ddd3 100644 --- a/Test/dafny2/SmallestMissingNumber-functional.dfy.expect +++ b/Test/dafny2/SmallestMissingNumber-functional.dfy.expect @@ -1,4 +1 @@ -SmallestMissingNumber-functional.dfy(213,11): Warning: /!\ No terms found to trigger on. - -Dafny program verifier finished with 21 verified, 0 errors 0 1 4 5 diff --git a/Test/dafny2/SmallestMissingNumber-imperative.dfy b/Test/dafny2/SmallestMissingNumber-imperative.dfy index b8539481a54..314bf4e464c 100644 --- a/Test/dafny2/SmallestMissingNumber-imperative.dfy +++ b/Test/dafny2/SmallestMissingNumber-imperative.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Smallest missing number. // An imperative solution to the programming problem in Richard Bird's diff --git a/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect b/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect index bc4a868fdff..cfb25913041 100644 --- a/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect +++ b/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 8 verified, 0 errors 0 1 5 diff --git a/Test/dafny2/StoreAndRetrieve.dfy b/Test/dafny2/StoreAndRetrieve.dfy index 968b6948e0d..87b7bc78127 100644 --- a/Test/dafny2/StoreAndRetrieve.dfy +++ b/Test/dafny2/StoreAndRetrieve.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This file shows an example program that uses both refinement and :autocontracts // specify a class that stores a set of things that can be retrieved using a query. diff --git a/Test/dafny2/StoreAndRetrieve.dfy.expect b/Test/dafny2/StoreAndRetrieve.dfy.expect index 1d7d71d5202..030f5bfab39 100644 --- a/Test/dafny2/StoreAndRetrieve.dfy.expect +++ b/Test/dafny2/StoreAndRetrieve.dfy.expect @@ -1,39 +1 @@ -StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier finished with 19 verified, 0 errors -StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -20.3 -StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -20.3 -StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -20.3 -StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification 20.3 diff --git a/Test/dafny2/StoreAndRetrieve.dfy.verifier.expect b/Test/dafny2/StoreAndRetrieve.dfy.verifier.expect new file mode 100644 index 00000000000..7727ed0c4f5 --- /dev/null +++ b/Test/dafny2/StoreAndRetrieve.dfy.verifier.expect @@ -0,0 +1,5 @@ +StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny2/Z-BirthdayBook.dfy b/Test/dafny2/Z-BirthdayBook.dfy index d9580e7cca2..10fc159b1a3 100644 --- a/Test/dafny2/Z-BirthdayBook.dfy +++ b/Test/dafny2/Z-BirthdayBook.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // The birthday book example from the Z Reference Manual // Rustan Leino, 22 Feb 2018 diff --git a/Test/dafny2/Z-BirthdayBook.dfy.expect b/Test/dafny2/Z-BirthdayBook.dfy.expect index 31762ddd5b4..c6f2230e21a 100644 --- a/Test/dafny2/Z-BirthdayBook.dfy.expect +++ b/Test/dafny2/Z-BirthdayBook.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 21 verified, 0 errors Send cards to: {['M', 'i', 'k', 'e'], ['S', 'u', 's', 'a', 'n']} diff --git a/Test/dafny2/pq-intrinsic-extrinsic.dfy b/Test/dafny2/pq-intrinsic-extrinsic.dfy index c797c92445d..588c2f9e2b1 100644 --- a/Test/dafny2/pq-intrinsic-extrinsic.dfy +++ b/Test/dafny2/pq-intrinsic-extrinsic.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This file contains several versions of a priority queue implemented by Braun trees: // diff --git a/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect b/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect index bc2608f44b7..5c90c26e0eb 100644 --- a/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect +++ b/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect @@ -1,14 +1,3 @@ - -Dafny program verifier finished with 32 verified, 0 errors - -Dafny program verifier did not attempt verification -PriorityQueue_extrinsic: 3 -PriorityQueue_layered: 3 -PriorityQueue_intrinsic: 3 -PriorityQueue_on_intrinsic: 3 -PriorityQueue_direct: 3 - -Dafny program verifier did not attempt verification PriorityQueue_extrinsic: 3 PriorityQueue_layered: 3 PriorityQueue_intrinsic: 3 diff --git a/Test/dafny3/Abstemious.dfy b/Test/dafny3/Abstemious.dfy index 263c1f1fb00..62d891f950f 100644 --- a/Test/dafny3/Abstemious.dfy +++ b/Test/dafny3/Abstemious.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Examples from https://www.haskell.org/tutorial/functions.html diff --git a/Test/dafny3/Abstemious.dfy.expect b/Test/dafny3/Abstemious.dfy.expect index 96f109b0b58..3511a04a840 100644 --- a/Test/dafny3/Abstemious.dfy.expect +++ b/Test/dafny3/Abstemious.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 19 verified, 0 errors ones(): 1 1 1 1 1 1 1 ... from(3): 3 4 5 6 7 8 9 ... Map(plus1, ones()): 2 2 2 2 2 2 2 ... diff --git a/Test/dafny3/CachedContainer.dfy b/Test/dafny3/CachedContainer.dfy index 77c3e45897f..e36e76d6851 100644 --- a/Test/dafny3/CachedContainer.dfy +++ b/Test/dafny3/CachedContainer.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This file contains an example chain of module refinements, starting from a // simple interface M0 to an implementation M3. Module Client.Test() is diff --git a/Test/dafny3/CachedContainer.dfy.expect b/Test/dafny3/CachedContainer.dfy.expect index 08f4fb30b0a..ed2a587c3f1 100644 --- a/Test/dafny3/CachedContainer.dfy.expect +++ b/Test/dafny3/CachedContainer.dfy.expect @@ -1,79 +1 @@ -CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier finished with 29 verified, 0 errors -CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -false true false true -CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -false true false true -CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -false true false true -CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification false true false true diff --git a/Test/dafny3/CachedContainer.dfy.verifier.expect b/Test/dafny3/CachedContainer.dfy.verifier.expect new file mode 100644 index 00000000000..dce146911e0 --- /dev/null +++ b/Test/dafny3/CachedContainer.dfy.verifier.expect @@ -0,0 +1,13 @@ +CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny3/Iter.dfy b/Test/dafny3/Iter.dfy index 81431f2c64b..46befa24dd8 100644 --- a/Test/dafny3/Iter.dfy +++ b/Test/dafny3/Iter.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class List { ghost var Contents: seq diff --git a/Test/dafny3/Iter.dfy.expect b/Test/dafny3/Iter.dfy.expect index 69d7373d5d5..0ed11070541 100644 --- a/Test/dafny3/Iter.dfy.expect +++ b/Test/dafny3/Iter.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 12 verified, 0 errors 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 98 0 2 4 6 8 10 12 14 diff --git a/Test/dafny4/Ackermann.dfy b/Test/dafny4/Ackermann.dfy index 27968070e9b..a4ef351c96b 100644 --- a/Test/dafny4/Ackermann.dfy +++ b/Test/dafny4/Ackermann.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Rustan Leino, 8 Sep 2015. // This file proves that the Ackermann function is monotonic in each argument diff --git a/Test/dafny4/Ackermann.dfy.expect b/Test/dafny4/Ackermann.dfy.expect index c995dac9c9a..43d9513ef4b 100644 --- a/Test/dafny4/Ackermann.dfy.expect +++ b/Test/dafny4/Ackermann.dfy.expect @@ -1,5 +1 @@ -Ackermann.dfy(163,4): Warning: /!\ No terms found to trigger on. -Ackermann.dfy(181,4): Warning: /!\ No terms found to trigger on. - -Dafny program verifier finished with 14 verified, 0 errors Ack(3, 4) = 125 diff --git a/Test/dafny4/Bug107.dfy b/Test/dafny4/Bug107.dfy index e417fc90a53..b7ab69c9a8d 100644 --- a/Test/dafny4/Bug107.dfy +++ b/Test/dafny4/Bug107.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/dafny4/Bug107.dfy.expect b/Test/dafny4/Bug107.dfy.expect index ad79213a18c..62f9457511f 100644 --- a/Test/dafny4/Bug107.dfy.expect +++ b/Test/dafny4/Bug107.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors 6 \ No newline at end of file diff --git a/Test/dafny4/Bug108.dfy b/Test/dafny4/Bug108.dfy index c64ec32a340..8228fe44f87 100644 --- a/Test/dafny4/Bug108.dfy +++ b/Test/dafny4/Bug108.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var A := map[0 := 1]; diff --git a/Test/dafny4/Bug108.dfy.expect b/Test/dafny4/Bug108.dfy.expect index c1c63f6c5c1..0777a01b26d 100644 --- a/Test/dafny4/Bug108.dfy.expect +++ b/Test/dafny4/Bug108.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 1 verified, 0 errors map[0 := 1] map[0 := 1] diff --git a/Test/dafny4/Bug113.dfy b/Test/dafny4/Bug113.dfy index 23c759540cd..0bec0c1ce31 100644 --- a/Test/dafny4/Bug113.dfy +++ b/Test/dafny4/Bug113.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype D = D(q:int, r:int, s:int, t:int) @@ -7,4 +6,4 @@ method Main() { print D(10, 20, 30, 40); print "\n"; -} \ No newline at end of file +} diff --git a/Test/dafny4/Bug113.dfy.expect b/Test/dafny4/Bug113.dfy.expect index 3ea1396ad00..e2eeff32e9a 100644 --- a/Test/dafny4/Bug113.dfy.expect +++ b/Test/dafny4/Bug113.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors D.D(10, 20, 30, 40) diff --git a/Test/dafny4/Bug116.dfy b/Test/dafny4/Bug116.dfy index e29da0f609d..501b74c74d5 100644 --- a/Test/dafny4/Bug116.dfy +++ b/Test/dafny4/Bug116.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // test various compiler-target keywords diff --git a/Test/dafny4/Bug116.dfy.expect b/Test/dafny4/Bug116.dfy.expect index 21aa85d71f0..93102ef3120 100644 --- a/Test/dafny4/Bug116.dfy.expect +++ b/Test/dafny4/Bug116.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors struct.S byte.arguments enum_Compile.goto.switch enum_Compile.goto.switch 20 + 20 == 40 diff --git a/Test/dafny4/Bug140.dfy b/Test/dafny4/Bug140.dfy index edde966c149..8280db8f665 100644 --- a/Test/dafny4/Bug140.dfy +++ b/Test/dafny4/Bug140.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class Node { ghost var List: seq diff --git a/Test/dafny4/Bug140.dfy.expect b/Test/dafny4/Bug140.dfy.expect index bad48de4d6b..a40ee1166fb 100644 --- a/Test/dafny4/Bug140.dfy.expect +++ b/Test/dafny4/Bug140.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 8 verified, 0 errors 1 2 diff --git a/Test/dafny4/Bug148.dfy b/Test/dafny4/Bug148.dfy index da1ebf99447..f31cef2cdc8 100644 --- a/Test/dafny4/Bug148.dfy +++ b/Test/dafny4/Bug148.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/dafny4/Bug148.dfy.expect b/Test/dafny4/Bug148.dfy.expect index 79d02517ceb..9ed6ca4768b 100644 --- a/Test/dafny4/Bug148.dfy.expect +++ b/Test/dafny4/Bug148.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 0 verified, 0 errors true false true diff --git a/Test/dafny4/Bug49.dfy b/Test/dafny4/Bug49.dfy index 68722830422..868f4a3964b 100644 --- a/Test/dafny4/Bug49.dfy +++ b/Test/dafny4/Bug49.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/dafny4/Bug49.dfy.expect b/Test/dafny4/Bug49.dfy.expect index 4e02a08bbee..800c2bd15ba 100644 --- a/Test/dafny4/Bug49.dfy.expect +++ b/Test/dafny4/Bug49.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 13 verified, 0 errors 6 6 5 diff --git a/Test/dafny4/Bug60.dfy b/Test/dafny4/Bug60.dfy index 0aa9209269d..f4585753f5f 100644 --- a/Test/dafny4/Bug60.dfy +++ b/Test/dafny4/Bug60.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This method can be used to test compilation. method Main() diff --git a/Test/dafny4/Bug60.dfy.expect b/Test/dafny4/Bug60.dfy.expect index 49740e95682..fd56dc3fcbc 100644 --- a/Test/dafny4/Bug60.dfy.expect +++ b/Test/dafny4/Bug60.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 0 verified, 0 errors ({2, 3}, map[2 := 20, 3 := 30]) (2, 2) {2, 3} diff --git a/Test/dafny4/Bug67.dfy b/Test/dafny4/Bug67.dfy index 731018a293b..f01d4239a75 100644 --- a/Test/dafny4/Bug67.dfy +++ b/Test/dafny4/Bug67.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype d = D(m:seq) @@ -8,4 +7,4 @@ method Main() assert D([10, 20]) == D([10, 20]); // succeeds print [10, 20] == [10, 20], "\n"; // prints True print D([10, 20]) == D([10, 20]); // prints False -} \ No newline at end of file +} diff --git a/Test/dafny4/Bug67.dfy.expect b/Test/dafny4/Bug67.dfy.expect index c716cab3144..0be5d980da4 100644 --- a/Test/dafny4/Bug67.dfy.expect +++ b/Test/dafny4/Bug67.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 1 verified, 0 errors true true \ No newline at end of file diff --git a/Test/dafny4/Bug68.dfy b/Test/dafny4/Bug68.dfy index a211206acba..bf50015f90c 100644 --- a/Test/dafny4/Bug68.dfy +++ b/Test/dafny4/Bug68.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method M1() { @@ -62,4 +61,4 @@ method Main() M3(); M3'(); M4(); -} \ No newline at end of file +} diff --git a/Test/dafny4/Bug68.dfy.expect b/Test/dafny4/Bug68.dfy.expect index f4ef534187d..814ccfee2df 100644 --- a/Test/dafny4/Bug68.dfy.expect +++ b/Test/dafny4/Bug68.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 8 verified, 0 errors true true true diff --git a/Test/dafny4/Bug89.dfy b/Test/dafny4/Bug89.dfy index 4aec1acb8b7..c7b77b44f99 100644 --- a/Test/dafny4/Bug89.dfy +++ b/Test/dafny4/Bug89.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method F() returns(x:int) ensures x == 6 diff --git a/Test/dafny4/Bug89.dfy.expect b/Test/dafny4/Bug89.dfy.expect index ed41c274352..62f9457511f 100644 --- a/Test/dafny4/Bug89.dfy.expect +++ b/Test/dafny4/Bug89.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors 6 \ No newline at end of file diff --git a/Test/dafny4/Bug94.dfy b/Test/dafny4/Bug94.dfy index be931445654..c41458539fc 100644 --- a/Test/dafny4/Bug94.dfy +++ b/Test/dafny4/Bug94.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment ghost function foo() : (int, int) { diff --git a/Test/dafny4/Bug94.dfy.expect b/Test/dafny4/Bug94.dfy.expect index ab0cfbb2d9e..3f10ffe7a4c 100644 --- a/Test/dafny4/Bug94.dfy.expect +++ b/Test/dafny4/Bug94.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors 15 \ No newline at end of file diff --git a/Test/dafny4/ClassRefinement.dfy b/Test/dafny4/ClassRefinement.dfy index 320749ec197..3d5fd1006eb 100644 --- a/Test/dafny4/ClassRefinement.dfy +++ b/Test/dafny4/ClassRefinement.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment abstract module M0 { class Counter { diff --git a/Test/dafny4/ClassRefinement.dfy.expect b/Test/dafny4/ClassRefinement.dfy.expect index f456b6777f3..cba3471eb57 100644 --- a/Test/dafny4/ClassRefinement.dfy.expect +++ b/Test/dafny4/ClassRefinement.dfy.expect @@ -1,44 +1 @@ -ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated -ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier finished with 11 verified, 0 errors -ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated -ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -2 1 -ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated -ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -2 1 -ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated -ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -2 1 -ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated -ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification 2 1 diff --git a/Test/dafny4/ClassRefinement.dfy.verifier.expect b/Test/dafny4/ClassRefinement.dfy.verifier.expect new file mode 100644 index 00000000000..85d37d75847 --- /dev/null +++ b/Test/dafny4/ClassRefinement.dfy.verifier.expect @@ -0,0 +1,6 @@ +ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated +ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny4/ExpandedGuardedness.dfy b/Test/dafny4/ExpandedGuardedness.dfy index 5cd7828f932..af620ec40e8 100644 --- a/Test/dafny4/ExpandedGuardedness.dfy +++ b/Test/dafny4/ExpandedGuardedness.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/dafny4/ExpandedGuardedness.dfy.expect b/Test/dafny4/ExpandedGuardedness.dfy.expect index d05670701e0..e0f3b041a66 100644 --- a/Test/dafny4/ExpandedGuardedness.dfy.expect +++ b/Test/dafny4/ExpandedGuardedness.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 12 verified, 0 errors Up 19 20 21 22 23 Up2 19 20 21 22 23 UpIf 19 20 22 24 26 diff --git a/Test/dafny4/FlyingRobots.dfy b/Test/dafny4/FlyingRobots.dfy index 41223cca1aa..f14a2a467cd 100644 --- a/Test/dafny4/FlyingRobots.dfy +++ b/Test/dafny4/FlyingRobots.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // The flying robots examples from an F* tutorial. It demonstrates how to specify // mutable data structures in the heap. diff --git a/Test/dafny4/FlyingRobots.dfy.expect b/Test/dafny4/FlyingRobots.dfy.expect index 5ed0d97333e..e69de29bb2d 100644 --- a/Test/dafny4/FlyingRobots.dfy.expect +++ b/Test/dafny4/FlyingRobots.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 31 verified, 0 errors diff --git a/Test/dafny4/Leq.dfy b/Test/dafny4/Leq.dfy index fac12757ba0..fdbc1078ca3 100644 --- a/Test/dafny4/Leq.dfy +++ b/Test/dafny4/Leq.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Rustan Leino, 22 Sep 2015. // This file considers two definitions of Leq on naturals+infinity. One diff --git a/Test/dafny4/Leq.dfy.expect b/Test/dafny4/Leq.dfy.expect index 15301952c57..e69de29bb2d 100644 --- a/Test/dafny4/Leq.dfy.expect +++ b/Test/dafny4/Leq.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 16 verified, 0 errors diff --git a/Test/dafny4/McCarthy91.dfy b/Test/dafny4/McCarthy91.dfy index 466d30328cc..428f11eb269 100644 --- a/Test/dafny4/McCarthy91.dfy +++ b/Test/dafny4/McCarthy91.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // The usual recursive method for computing McCarthy's 91 function method Main() { diff --git a/Test/dafny4/McCarthy91.dfy.expect b/Test/dafny4/McCarthy91.dfy.expect index b63f7a0b03b..1511cff2c81 100644 --- a/Test/dafny4/McCarthy91.dfy.expect +++ b/Test/dafny4/McCarthy91.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors M(3) = 91 M(99) = 91 M(100) = 91 diff --git a/Test/dafny4/NatList.dfy b/Test/dafny4/NatList.dfy index 567fd461259..5a1b0358eaf 100644 --- a/Test/dafny4/NatList.dfy +++ b/Test/dafny4/NatList.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This file tests some programs where "nat" is a type parameter to // a datatype. diff --git a/Test/dafny4/NatList.dfy.expect b/Test/dafny4/NatList.dfy.expect index 2ceb3169787..5382a29cb9f 100644 --- a/Test/dafny4/NatList.dfy.expect +++ b/Test/dafny4/NatList.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 11 verified, 0 errors ns = List.Cons(4, List.Cons(10, List.Nil)) Sum(ns) = 14 ns' = List.Cons(20, List.Nil) diff --git a/Test/dafny4/Regression15.dfy b/Test/dafny4/Regression15.dfy index 37f31ba7e90..5ecb5ee4e2b 100644 --- a/Test/dafny4/Regression15.dfy +++ b/Test/dafny4/Regression15.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var b; diff --git a/Test/dafny4/Regression15.dfy.expect b/Test/dafny4/Regression15.dfy.expect index 584190727b9..4cf7b8a8eb1 100644 --- a/Test/dafny4/Regression15.dfy.expect +++ b/Test/dafny4/Regression15.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 3 verified, 0 errors false true true diff --git a/Test/dafny4/Regression2.dfy b/Test/dafny4/Regression2.dfy index 213bf265401..0d28285e74c 100644 --- a/Test/dafny4/Regression2.dfy +++ b/Test/dafny4/Regression2.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module NativeTypes { newtype uint64 = int diff --git a/Test/dafny4/Regression2.dfy.expect b/Test/dafny4/Regression2.dfy.expect index 3f8ac383f86..8a739fb435a 100644 --- a/Test/dafny4/Regression2.dfy.expect +++ b/Test/dafny4/Regression2.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors true true true diff --git a/Test/dafny4/Regression3.dfy b/Test/dafny4/Regression3.dfy index adaa0d2763d..fc60fad3cb1 100644 --- a/Test/dafny4/Regression3.dfy +++ b/Test/dafny4/Regression3.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/dafny4/Regression3.dfy.expect b/Test/dafny4/Regression3.dfy.expect index 841338987c7..1223bf9ffaf 100644 --- a/Test/dafny4/Regression3.dfy.expect +++ b/Test/dafny4/Regression3.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 3 verified, 0 errors 55 Trunc( -3.0 ) = -3 (expected -3) Trunc( -2.8 ) = -3 (expected -3) diff --git a/Test/dafny4/Regression4.dfy b/Test/dafny4/Regression4.dfy index 5f881a5083f..e4bc4cbef85 100644 --- a/Test/dafny4/Regression4.dfy +++ b/Test/dafny4/Regression4.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { } diff --git a/Test/dafny4/Regression4.dfy.expect b/Test/dafny4/Regression4.dfy.expect index ba00363fc08..e69de29bb2d 100644 --- a/Test/dafny4/Regression4.dfy.expect +++ b/Test/dafny4/Regression4.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 4 verified, 0 errors diff --git a/Test/dafny4/Regression6.dfy b/Test/dafny4/Regression6.dfy index f1551d3ef2d..b589ec0ce7d 100644 --- a/Test/dafny4/Regression6.dfy +++ b/Test/dafny4/Regression6.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function Sum(a: array, lo: int, hi: int): int requires 0 <= lo <= hi <= a.Length diff --git a/Test/dafny4/Regression6.dfy.expect b/Test/dafny4/Regression6.dfy.expect index 17464f29e0b..54573bead10 100644 --- a/Test/dafny4/Regression6.dfy.expect +++ b/Test/dafny4/Regression6.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors 0 1028 0 diff --git a/Test/dafny4/Regression7.dfy b/Test/dafny4/Regression7.dfy index 8ce421a62f3..ef3ca5eea44 100644 --- a/Test/dafny4/Regression7.dfy +++ b/Test/dafny4/Regression7.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /rprint:"%t.rprint" /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module ListLibrary { datatype List = Nil | Cons(head: B, tail: List) diff --git a/Test/dafny4/Regression7.dfy.expect b/Test/dafny4/Regression7.dfy.expect index 19e63b05225..70b01f973a0 100644 --- a/Test/dafny4/Regression7.dfy.expect +++ b/Test/dafny4/Regression7.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors ListLibrary_Compile.List.Cons(28.0, ListLibrary_Compile.List.Nil) diff --git a/Test/dafny4/Regression9.dfy b/Test/dafny4/Regression9.dfy index d9e44547252..086007a3ef8 100644 --- a/Test/dafny4/Regression9.dfy +++ b/Test/dafny4/Regression9.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Some tests for the type inference that was revamped // to better support subset types. diff --git a/Test/dafny4/Regression9.dfy.expect b/Test/dafny4/Regression9.dfy.expect index 5a26eaeabfb..2183b22cfa9 100644 --- a/Test/dafny4/Regression9.dfy.expect +++ b/Test/dafny4/Regression9.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors 'D''D''D' diff --git a/Test/dafny4/UnionFind.dfy b/Test/dafny4/UnionFind.dfy index 1968d0d3b26..e862fb64e64 100644 --- a/Test/dafny4/UnionFind.dfy +++ b/Test/dafny4/UnionFind.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Rustan Leino, Nov 2015 // Module M0 gives the high-level specification of the UnionFind data structure diff --git a/Test/dafny4/UnionFind.dfy.expect b/Test/dafny4/UnionFind.dfy.expect index 961b161b8dc..1cb72129e49 100644 --- a/Test/dafny4/UnionFind.dfy.expect +++ b/Test/dafny4/UnionFind.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 63 verified, 0 errors false true true false true true diff --git a/Test/dafny4/gcd.dfy b/Test/dafny4/gcd.dfy index 384e338435f..fa92223fa49 100644 --- a/Test/dafny4/gcd.dfy +++ b/Test/dafny4/gcd.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation // A text describing this file is found in a Dafny Power User note: http://leino.science/papers/krml279.html diff --git a/Test/dafny4/gcd.dfy.expect b/Test/dafny4/gcd.dfy.expect index ecbe2b6f64a..c17551a37a4 100644 --- a/Test/dafny4/gcd.dfy.expect +++ b/Test/dafny4/gcd.dfy.expect @@ -1,34 +1,3 @@ - -Dafny program verifier finished with 19 verified, 0 errors - -Dafny program verifier did not attempt verification -15 gcd 9 = 3 -14 gcd 22 = 2 -371 gcd 1 = 1 -1 gcd 2 = 1 -1 gcd 1 = 1 -13 gcd 13 = 13 -60 gcd 60 = 60 - -Dafny program verifier did not attempt verification -15 gcd 9 = 3 -14 gcd 22 = 2 -371 gcd 1 = 1 -1 gcd 2 = 1 -1 gcd 1 = 1 -13 gcd 13 = 13 -60 gcd 60 = 60 - -Dafny program verifier did not attempt verification -15 gcd 9 = 3 -14 gcd 22 = 2 -371 gcd 1 = 1 -1 gcd 2 = 1 -1 gcd 1 = 1 -13 gcd 13 = 13 -60 gcd 60 = 60 - -Dafny program verifier did not attempt verification 15 gcd 9 = 3 14 gcd 22 = 2 371 gcd 1 = 1 diff --git a/Test/dafny4/git-issue104.dfy b/Test/dafny4/git-issue104.dfy index 86683a2ed88..b05ec4de1cc 100644 --- a/Test/dafny4/git-issue104.dfy +++ b/Test/dafny4/git-issue104.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment predicate bug(a: array) reads a diff --git a/Test/dafny4/git-issue104.dfy.expect b/Test/dafny4/git-issue104.dfy.expect index f572edb2471..836a5934c8f 100644 --- a/Test/dafny4/git-issue104.dfy.expect +++ b/Test/dafny4/git-issue104.dfy.expect @@ -1,17 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification -true false - -Dafny program verifier did not attempt verification -true false - -Dafny program verifier did not attempt verification -true false - -Dafny program verifier did not attempt verification -true false - -Dafny program verifier did not attempt verification true false diff --git a/Test/dafny4/git-issue105.dfy b/Test/dafny4/git-issue105.dfy index 09cfce29a6e..4cff2330cba 100644 --- a/Test/dafny4/git-issue105.dfy +++ b/Test/dafny4/git-issue105.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method lol() returns (c: int) { diff --git a/Test/dafny4/git-issue105.dfy.expect b/Test/dafny4/git-issue105.dfy.expect index 012f5b99379..e69de29bb2d 100644 --- a/Test/dafny4/git-issue105.dfy.expect +++ b/Test/dafny4/git-issue105.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/dafny4/git-issue15.dfy b/Test/dafny4/git-issue15.dfy index 96905286209..7c77a67ccf9 100755 --- a/Test/dafny4/git-issue15.dfy +++ b/Test/dafny4/git-issue15.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype obj = Obj(fooBar:map) datatype foo = Foo diff --git a/Test/dafny4/git-issue15.dfy.expect b/Test/dafny4/git-issue15.dfy.expect index e52de78d0b1..00750edc07d 100755 --- a/Test/dafny4/git-issue15.dfy.expect +++ b/Test/dafny4/git-issue15.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors 3 diff --git a/Test/dafny4/git-issue167.dfy b/Test/dafny4/git-issue167.dfy index d02943dc42d..d98d425c345 100644 --- a/Test/dafny4/git-issue167.dfy +++ b/Test/dafny4/git-issue167.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { LetTest(); diff --git a/Test/dafny4/git-issue167.dfy.expect b/Test/dafny4/git-issue167.dfy.expect index 0a230fe846e..8c5e1ed8df7 100644 --- a/Test/dafny4/git-issue167.dfy.expect +++ b/Test/dafny4/git-issue167.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 4 verified, 0 errors 30 {6, 7} {['M', 'i', 'l', 'l', 'a'], ['A', 'l', 'f', 'o', 'n', 's']} diff --git a/Test/dafny4/git-issue195.dfy b/Test/dafny4/git-issue195.dfy index ac4b1306ac6..fccdc5461c8 100644 --- a/Test/dafny4/git-issue195.dfy +++ b/Test/dafny4/git-issue195.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Block = Block(prevBlockHash:Hash, txs:seq, proof:VProof) diff --git a/Test/dafny4/git-issue195.dfy.expect b/Test/dafny4/git-issue195.dfy.expect index 30692fdef2a..638bfb50b2d 100644 --- a/Test/dafny4/git-issue195.dfy.expect +++ b/Test/dafny4/git-issue195.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 4 verified, 0 errors true true true true true diff --git a/Test/dafny4/git-issue196.dfy b/Test/dafny4/git-issue196.dfy index 64eb0e9123f..056687ab1a5 100644 --- a/Test/dafny4/git-issue196.dfy +++ b/Test/dafny4/git-issue196.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class A { var a: array> diff --git a/Test/dafny4/git-issue196.dfy.expect b/Test/dafny4/git-issue196.dfy.expect index a333f982b8f..ee25a2c5027 100644 --- a/Test/dafny4/git-issue196.dfy.expect +++ b/Test/dafny4/git-issue196.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 9 verified, 0 errors 42 42 42 5000 5000 5000 5000 5000 diff --git a/Test/dafny4/git-issue4.dfy b/Test/dafny4/git-issue4.dfy index b19cf3ce6df..b17a545e219 100644 --- a/Test/dafny4/git-issue4.dfy +++ b/Test/dafny4/git-issue4.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function IntToChar(i:int):char requires 0 <= i < 10 diff --git a/Test/dafny4/git-issue4.dfy.expect b/Test/dafny4/git-issue4.dfy.expect index 33af1e040b7..24e24eb63cc 100644 --- a/Test/dafny4/git-issue4.dfy.expect +++ b/Test/dafny4/git-issue4.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors '8' 8 '8' 56 56 diff --git a/Test/dafny4/git-issue43.dfy b/Test/dafny4/git-issue43.dfy index edf056a1a91..d320d7761bc 100644 --- a/Test/dafny4/git-issue43.dfy +++ b/Test/dafny4/git-issue43.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class System { } diff --git a/Test/dafny4/git-issue43.dfy.expect b/Test/dafny4/git-issue43.dfy.expect index 012f5b99379..e69de29bb2d 100644 --- a/Test/dafny4/git-issue43.dfy.expect +++ b/Test/dafny4/git-issue43.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/dafny4/git-issue70.dfy b/Test/dafny4/git-issue70.dfy index c8db7c9618d..3a3a01e0af7 100644 --- a/Test/dafny4/git-issue70.dfy +++ b/Test/dafny4/git-issue70.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/dafny4/git-issue70.dfy.expect b/Test/dafny4/git-issue70.dfy.expect index 526e9a5b349..36ede89b639 100644 --- a/Test/dafny4/git-issue70.dfy.expect +++ b/Test/dafny4/git-issue70.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 3 verified, 0 errors map test {4, 6} {5, 7} diff --git a/Test/dafny4/git-issue76.dfy b/Test/dafny4/git-issue76.dfy index 708ee911b24..85613dba2f2 100644 --- a/Test/dafny4/git-issue76.dfy +++ b/Test/dafny4/git-issue76.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { M0(); diff --git a/Test/dafny4/git-issue76.dfy.expect b/Test/dafny4/git-issue76.dfy.expect index 546da03a267..0cfbf08886f 100644 --- a/Test/dafny4/git-issue76.dfy.expect +++ b/Test/dafny4/git-issue76.dfy.expect @@ -1,8 +1 @@ - -Dafny program verifier finished with 7 verified, 0 errors - -Dafny program verifier did not attempt verification -2 - -Dafny program verifier did not attempt verification 2 diff --git a/Test/dafny4/git-issue79.dfy b/Test/dafny4/git-issue79.dfy index 046a7c5e375..f3fb17b8531 100644 --- a/Test/dafny4/git-issue79.dfy +++ b/Test/dafny4/git-issue79.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype EInt = Int(val: int) | Unknown type Pair = (string, EInt) diff --git a/Test/dafny4/git-issue79.dfy.expect b/Test/dafny4/git-issue79.dfy.expect index 012f5b99379..e69de29bb2d 100644 --- a/Test/dafny4/git-issue79.dfy.expect +++ b/Test/dafny4/git-issue79.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/dafny4/git-issue88.dfy b/Test/dafny4/git-issue88.dfy index 1c188333783..83c0b4a8ef9 100644 --- a/Test/dafny4/git-issue88.dfy +++ b/Test/dafny4/git-issue88.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment type Grid = array2 diff --git a/Test/dafny4/git-issue88.dfy.expect b/Test/dafny4/git-issue88.dfy.expect index 00a51f822da..e69de29bb2d 100644 --- a/Test/dafny4/git-issue88.dfy.expect +++ b/Test/dafny4/git-issue88.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 3 verified, 0 errors diff --git a/Test/exceptions/Exceptions1.dfy b/Test/exceptions/Exceptions1.dfy index 11bb2f7923d..4ffd3291f2f 100644 --- a/Test/exceptions/Exceptions1.dfy +++ b/Test/exceptions/Exceptions1.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" /rprint:"%t.rprint" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "./NatOutcome.dfy" include "./VoidOutcome.dfy" diff --git a/Test/exceptions/Exceptions1.dfy.expect b/Test/exceptions/Exceptions1.dfy.expect index e61be2a11ad..c87eb938c55 100644 --- a/Test/exceptions/Exceptions1.dfy.expect +++ b/Test/exceptions/Exceptions1.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 7 verified, 0 errors true_true_true_88_42_33_Success=100 ___VoidSuccess true_true_false_88_42_Failure diff --git a/Test/exceptions/Exceptions1Expressions.dfy b/Test/exceptions/Exceptions1Expressions.dfy index c0f3c67cd39..a57e5b78c7e 100644 --- a/Test/exceptions/Exceptions1Expressions.dfy +++ b/Test/exceptions/Exceptions1Expressions.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" /rprint:"%t.rprint" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "./NatOutcomeDt.dfy" include "./VoidOutcomeDt.dfy" diff --git a/Test/exceptions/Exceptions1Expressions.dfy.expect b/Test/exceptions/Exceptions1Expressions.dfy.expect index 3da30f30d36..3f1b38ab150 100644 --- a/Test/exceptions/Exceptions1Expressions.dfy.expect +++ b/Test/exceptions/Exceptions1Expressions.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors true_true_true_Success=100 VoidSuccess true_true_false_Failure diff --git a/Test/exports/FIFO.dfy b/Test/exports/FIFO.dfy index 173e412eaa9..95a8d25510c 100644 --- a/Test/exports/FIFO.dfy +++ b/Test/exports/FIFO.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "Queue.dfyi" diff --git a/Test/exports/FIFO.dfy.expect b/Test/exports/FIFO.dfy.expect index 8350309cc2a..4539bbf2d22 100644 --- a/Test/exports/FIFO.dfy.expect +++ b/Test/exports/FIFO.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors 0 1 2 diff --git a/Test/exports/LIFO.dfy b/Test/exports/LIFO.dfy index ea691935620..513dd457c3f 100644 --- a/Test/exports/LIFO.dfy +++ b/Test/exports/LIFO.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "Queue.dfyi" diff --git a/Test/exports/LIFO.dfy.expect b/Test/exports/LIFO.dfy.expect index 48aa7787d09..ae136939b64 100644 --- a/Test/exports/LIFO.dfy.expect +++ b/Test/exports/LIFO.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors 2 1 0 diff --git a/Test/exports/xrefine2.dfy b/Test/exports/xrefine2.dfy index 0b25240916c..2409cc0509a 100644 --- a/Test/exports/xrefine2.dfy +++ b/Test/exports/xrefine2.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module ProtocolImpl { diff --git a/Test/exports/xrefine2.dfy.expect b/Test/exports/xrefine2.dfy.expect index 34e1b357779..858dbd09862 100644 --- a/Test/exports/xrefine2.dfy.expect +++ b/Test/exports/xrefine2.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 4 verified, 0 errors HI.foo(h1) => true HI.foo(h2) => true PI.orange(1) => 2 diff --git a/Test/exports/xrefine3.dfy b/Test/exports/xrefine3.dfy index 24d6fa062f0..bb2480bfed7 100644 --- a/Test/exports/xrefine3.dfy +++ b/Test/exports/xrefine3.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module AlphaImpl { diff --git a/Test/exports/xrefine3.dfy.expect b/Test/exports/xrefine3.dfy.expect index 488ab11c36a..ae50cef0985 100644 --- a/Test/exports/xrefine3.dfy.expect +++ b/Test/exports/xrefine3.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors o hai! diff --git a/Test/git-issues/git-issue-032.dfy b/Test/git-issues/git-issue-032.dfy index bde5b2f2a69..d7dd61440a7 100644 --- a/Test/git-issues/git-issue-032.dfy +++ b/Test/git-issues/git-issue-032.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/git-issues/git-issue-032.dfy.expect b/Test/git-issues/git-issue-032.dfy.expect index 91c285009c1..2a64997c6f7 100644 --- a/Test/git-issues/git-issue-032.dfy.expect +++ b/Test/git-issues/git-issue-032.dfy.expect @@ -1,40 +1,3 @@ -git-issue-032.dfy(18,35): Warning: this branch is redundant -git-issue-032.dfy(27,34): Warning: this branch is redundant -git-issue-032.dfy(28,35): Warning: this branch is redundant - -Dafny program verifier finished with 1 verified, 0 errors -git-issue-032.dfy(18,35): Warning: this branch is redundant -git-issue-032.dfy(27,34): Warning: this branch is redundant -git-issue-032.dfy(28,35): Warning: this branch is redundant - -Dafny program verifier did not attempt verification -OK3 -OK -OKOK -00 -git-issue-032.dfy(18,35): Warning: this branch is redundant -git-issue-032.dfy(27,34): Warning: this branch is redundant -git-issue-032.dfy(28,35): Warning: this branch is redundant - -Dafny program verifier did not attempt verification -OK3 -OK -OKOK -00 -git-issue-032.dfy(18,35): Warning: this branch is redundant -git-issue-032.dfy(27,34): Warning: this branch is redundant -git-issue-032.dfy(28,35): Warning: this branch is redundant - -Dafny program verifier did not attempt verification -OK3 -OK -OKOK -00 -git-issue-032.dfy(18,35): Warning: this branch is redundant -git-issue-032.dfy(27,34): Warning: this branch is redundant -git-issue-032.dfy(28,35): Warning: this branch is redundant - -Dafny program verifier did not attempt verification OK3 OK OKOK diff --git a/Test/git-issues/git-issue-032.dfy.verifier.expect b/Test/git-issues/git-issue-032.dfy.verifier.expect new file mode 100644 index 00000000000..885d7bff92c --- /dev/null +++ b/Test/git-issues/git-issue-032.dfy.verifier.expect @@ -0,0 +1,3 @@ +git-issue-032.dfy(18,35): Warning: this branch is redundant +git-issue-032.dfy(27,34): Warning: this branch is redundant +git-issue-032.dfy(28,35): Warning: this branch is redundant diff --git a/Test/git-issues/git-issue-1029.dfy b/Test/git-issues/git-issue-1029.dfy index a310a99c169..7e1e7a31cf2 100644 --- a/Test/git-issues/git-issue-1029.dfy +++ b/Test/git-issues/git-issue-1029.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module ValueType { export S diff --git a/Test/git-issues/git-issue-1029.dfy.expect b/Test/git-issues/git-issue-1029.dfy.expect index 075fcd93aed..f603f618f29 100644 --- a/Test/git-issues/git-issue-1029.dfy.expect +++ b/Test/git-issues/git-issue-1029.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors [true, true, false] UI_Compile.Op2.GetOps([true, true, false], [true, true, false]) diff --git a/Test/git-issues/git-issue-1093.dfy b/Test/git-issues/git-issue-1093.dfy index 9365397496f..97797296680 100644 --- a/Test/git-issues/git-issue-1093.dfy +++ b/Test/git-issues/git-issue-1093.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { UnusedLabel(); diff --git a/Test/git-issues/git-issue-1093.dfy.expect b/Test/git-issues/git-issue-1093.dfy.expect index 0cadf5e4199..f599e28b8ab 100644 --- a/Test/git-issues/git-issue-1093.dfy.expect +++ b/Test/git-issues/git-issue-1093.dfy.expect @@ -1,17 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification -10 - -Dafny program verifier did not attempt verification -10 - -Dafny program verifier did not attempt verification -10 - -Dafny program verifier did not attempt verification -10 - -Dafny program verifier did not attempt verification 10 diff --git a/Test/git-issues/git-issue-1100.dfy b/Test/git-issues/git-issue-1100.dfy index 533d7688731..2c4bb564136 100644 --- a/Test/git-issues/git-issue-1100.dfy +++ b/Test/git-issues/git-issue-1100.dfy @@ -1,4 +1,3 @@ -// RUN: %dafny /compile:3 /unicodeChar:0 /compileTarget:cpp %S/../c++/arrays.dfy > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false /Users/salkeldr/Documents/GitHub/dafny/Test/git-issues/../c++/arrays.dfy // Test compilation of a file in another directory diff --git a/Test/git-issues/git-issue-1100.dfy.expect b/Test/git-issues/git-issue-1100.dfy.expect index 552f9355593..2ce9320d8c2 100644 --- a/Test/git-issues/git-issue-1100.dfy.expect +++ b/Test/git-issues/git-issue-1100.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 9 verified, 0 errors 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/git-issues/git-issue-1130.dfy b/Test/git-issues/git-issue-1130.dfy index 5b7fc5068e2..f1f5ad5a54b 100644 --- a/Test/git-issues/git-issue-1130.dfy +++ b/Test/git-issues/git-issue-1130.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var a := new Issue.Foo(); diff --git a/Test/git-issues/git-issue-1130.dfy.expect b/Test/git-issues/git-issue-1130.dfy.expect index 6c3dd07b1f1..de97a6dc4ca 100644 --- a/Test/git-issues/git-issue-1130.dfy.expect +++ b/Test/git-issues/git-issue-1130.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 13 verified, 0 errors 012 diff --git a/Test/git-issues/git-issue-1150.dfy b/Test/git-issues/git-issue-1150.dfy index d4cee3c3ef2..d3416a53813 100644 --- a/Test/git-issues/git-issue-1150.dfy +++ b/Test/git-issues/git-issue-1150.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Foo = Foo(x: nat) { diff --git a/Test/git-issues/git-issue-1150.dfy.expect b/Test/git-issues/git-issue-1150.dfy.expect index fb4be1897cf..f34d8df4a11 100644 --- a/Test/git-issues/git-issue-1150.dfy.expect +++ b/Test/git-issues/git-issue-1150.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 1 verified, 0 errors Foo.Foo(2) true Foo.Foo(5) false diff --git a/Test/git-issues/git-issue-1185.dfy b/Test/git-issues/git-issue-1185.dfy index 32c340b0736..c7ad72134d1 100644 --- a/Test/git-issues/git-issue-1185.dfy +++ b/Test/git-issues/git-issue-1185.dfy @@ -1,9 +1,5 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment predicate P(s: set) requires s != {} diff --git a/Test/git-issues/git-issue-1185.dfy.expect b/Test/git-issues/git-issue-1185.dfy.expect index 90ab58a1f5a..525ce875525 100644 --- a/Test/git-issues/git-issue-1185.dfy.expect +++ b/Test/git-issues/git-issue-1185.dfy.expect @@ -1,14 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification -{12, 20} true 6 - -Dafny program verifier did not attempt verification -{20, 12} true 6 - -Dafny program verifier did not attempt verification -{12, 20} true 6 - -Dafny program verifier did not attempt verification {12, 20} true 6 diff --git a/Test/git-issues/git-issue-1185.dfy.java.expect b/Test/git-issues/git-issue-1185.dfy.java.expect new file mode 100644 index 00000000000..8ba669ad273 --- /dev/null +++ b/Test/git-issues/git-issue-1185.dfy.java.expect @@ -0,0 +1 @@ +{20, 12} true 6 diff --git a/Test/git-issues/git-issue-1514.dfy b/Test/git-issues/git-issue-1514.dfy index 74b75478609..816eadce69b 100644 --- a/Test/git-issues/git-issue-1514.dfy +++ b/Test/git-issues/git-issue-1514.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "Wrappers.dfy" import opened Wrappers diff --git a/Test/git-issues/git-issue-1514.dfy.expect b/Test/git-issues/git-issue-1514.dfy.expect index 2f22d47cee8..b5754e20373 100644 --- a/Test/git-issues/git-issue-1514.dfy.expect +++ b/Test/git-issues/git-issue-1514.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-1514b.dfy b/Test/git-issues/git-issue-1514b.dfy index 1d8cd122d28..050a4a71760 100644 --- a/Test/git-issues/git-issue-1514b.dfy +++ b/Test/git-issues/git-issue-1514b.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "Wrappers.dfy" import opened Wrappers diff --git a/Test/git-issues/git-issue-1514b.dfy.expect b/Test/git-issues/git-issue-1514b.dfy.expect index 2f22d47cee8..b5754e20373 100644 --- a/Test/git-issues/git-issue-1514b.dfy.expect +++ b/Test/git-issues/git-issue-1514b.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-1514c.dfy b/Test/git-issues/git-issue-1514c.dfy index d9df7d108c1..578316f217c 100644 --- a/Test/git-issues/git-issue-1514c.dfy +++ b/Test/git-issues/git-issue-1514c.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "Wrappers.dfy" import opened Wrappers diff --git a/Test/git-issues/git-issue-1514c.dfy.expect b/Test/git-issues/git-issue-1514c.dfy.expect index 694254c28aa..9766475a418 100644 --- a/Test/git-issues/git-issue-1514c.dfy.expect +++ b/Test/git-issues/git-issue-1514c.dfy.expect @@ -1,8 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification -ok - -Dafny program verifier did not attempt verification ok diff --git a/Test/git-issues/git-issue-1553.dfy b/Test/git-issues/git-issue-1553.dfy index 6267018c92d..81cbef7aa7e 100644 --- a/Test/git-issues/git-issue-1553.dfy +++ b/Test/git-issues/git-issue-1553.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { } method Test() { diff --git a/Test/git-issues/git-issue-1553.dfy.expect b/Test/git-issues/git-issue-1553.dfy.expect index 65d3b5d6635..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-1553.dfy.expect +++ b/Test/git-issues/git-issue-1553.dfy.expect @@ -1,10 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-1604b.dfy b/Test/git-issues/git-issue-1604b.dfy index 497ee5017d5..c00b95102f4 100644 --- a/Test/git-issues/git-issue-1604b.dfy +++ b/Test/git-issues/git-issue-1604b.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /errorLimit:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /errorLimit:0 // Double constraints. Will this still work? diff --git a/Test/git-issues/git-issue-1604b.dfy.expect b/Test/git-issues/git-issue-1604b.dfy.expect index 93d7203e654..b5754e20373 100644 --- a/Test/git-issues/git-issue-1604b.dfy.expect +++ b/Test/git-issues/git-issue-1604b.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 5 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-1714.dfy b/Test/git-issues/git-issue-1714.dfy index 6ce8915a7af..540a41c39cb 100644 --- a/Test/git-issues/git-issue-1714.dfy +++ b/Test/git-issues/git-issue-1714.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait Base {} class Derived extends Base { var n: int constructor() { n := 0; } } diff --git a/Test/git-issues/git-issue-1714.dfy.expect b/Test/git-issues/git-issue-1714.dfy.expect index 67dd7d95642..88039063d09 100644 --- a/Test/git-issues/git-issue-1714.dfy.expect +++ b/Test/git-issues/git-issue-1714.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors (b as Derived).n == 0 diff --git a/Test/git-issues/git-issue-179.dfy b/Test/git-issues/git-issue-179.dfy index 283a04f1a68..d37d3048490 100644 --- a/Test/git-issues/git-issue-179.dfy +++ b/Test/git-issues/git-issue-179.dfy @@ -1,9 +1,5 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var mp: map; diff --git a/Test/git-issues/git-issue-179.dfy.expect b/Test/git-issues/git-issue-179.dfy.expect index 3f922ac5bd4..97cb7aa6c7a 100644 --- a/Test/git-issues/git-issue-179.dfy.expect +++ b/Test/git-issues/git-issue-179.dfy.expect @@ -1,26 +1,4 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification {(3, false), (4, true), (5, false)} {3, 4, 5} {false, true} true false true false - -Dafny program verifier did not attempt verification -{(5, false), (4, true), (3, false)} -{5, 4, 3} -{false, true} -true false true false - -Dafny program verifier did not attempt verification -{(5, false), (4, true), (3, false)} -{5, 4, 3} -{false, true} -true false true false - -Dafny program verifier did not attempt verification -{(5, false), (3, false), (4, true)} -{3, 4, 5} -{false, true} -true false true false diff --git a/Test/git-issues/git-issue-179.dfy.go.expect b/Test/git-issues/git-issue-179.dfy.go.expect new file mode 100644 index 00000000000..3b6c1b2603f --- /dev/null +++ b/Test/git-issues/git-issue-179.dfy.go.expect @@ -0,0 +1,4 @@ +{(5, false), (4, true), (3, false)} +{5, 4, 3} +{false, true} +true false true false diff --git a/Test/git-issues/git-issue-179.dfy.java.expect b/Test/git-issues/git-issue-179.dfy.java.expect new file mode 100644 index 00000000000..ebe17288dfd --- /dev/null +++ b/Test/git-issues/git-issue-179.dfy.java.expect @@ -0,0 +1,4 @@ +{(5, false), (3, false), (4, true)} +{3, 4, 5} +{false, true} +true false true false diff --git a/Test/git-issues/git-issue-179.dfy.js.expect b/Test/git-issues/git-issue-179.dfy.js.expect new file mode 100644 index 00000000000..3b6c1b2603f --- /dev/null +++ b/Test/git-issues/git-issue-179.dfy.js.expect @@ -0,0 +1,4 @@ +{(5, false), (4, true), (3, false)} +{5, 4, 3} +{false, true} +true false true false diff --git a/Test/git-issues/git-issue-1815a.dfy b/Test/git-issues/git-issue-1815a.dfy index 91fb7a32aa6..72d55a1cb4f 100644 --- a/Test/git-issues/git-issue-1815a.dfy +++ b/Test/git-issues/git-issue-1815a.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Dt<+U> = Dt(x: U, i: int) diff --git a/Test/git-issues/git-issue-1815a.dfy.expect b/Test/git-issues/git-issue-1815a.dfy.expect index 7b2651302d9..19f86f493ab 100644 --- a/Test/git-issues/git-issue-1815a.dfy.expect +++ b/Test/git-issues/git-issue-1815a.dfy.expect @@ -1,17 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification -done - -Dafny program verifier did not attempt verification -done - -Dafny program verifier did not attempt verification -done - -Dafny program verifier did not attempt verification -done - -Dafny program verifier did not attempt verification done diff --git a/Test/git-issues/git-issue-1852.dfy b/Test/git-issues/git-issue-1852.dfy index 516835e8ea8..046f3fca1fc 100644 --- a/Test/git-issues/git-issue-1852.dfy +++ b/Test/git-issues/git-issue-1852.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module A { export diff --git a/Test/git-issues/git-issue-1852.dfy.expect b/Test/git-issues/git-issue-1852.dfy.expect index e9cd0ea2e07..299a71f3fe4 100644 --- a/Test/git-issues/git-issue-1852.dfy.expect +++ b/Test/git-issues/git-issue-1852.dfy.expect @@ -1,8 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification -5 5 - -Dafny program verifier did not attempt verification 5 5 diff --git a/Test/git-issues/git-issue-1903.dfy b/Test/git-issues/git-issue-1903.dfy index 7edb2a46c61..60ee1c121ab 100644 --- a/Test/git-issues/git-issue-1903.dfy +++ b/Test/git-issues/git-issue-1903.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method g(x : seq := []) { diff --git a/Test/git-issues/git-issue-1903.dfy.expect b/Test/git-issues/git-issue-1903.dfy.expect index 3170fb0c7f2..84cc8d360f9 100644 --- a/Test/git-issues/git-issue-1903.dfy.expect +++ b/Test/git-issues/git-issue-1903.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors worked! diff --git a/Test/git-issues/git-issue-1909.dfy b/Test/git-issues/git-issue-1909.dfy index 7fb5b3b8c48..83d9ec1d785 100644 --- a/Test/git-issues/git-issue-1909.dfy +++ b/Test/git-issues/git-issue-1909.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype ABC = ABC(nameonly a: int, nameonly b: int, nameonly c: int) diff --git a/Test/git-issues/git-issue-1909.dfy.expect b/Test/git-issues/git-issue-1909.dfy.expect index b4eb7e7774e..ab6f7d69d36 100644 --- a/Test/git-issues/git-issue-1909.dfy.expect +++ b/Test/git-issues/git-issue-1909.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors ABC.ABC(19, 21, 23) ABC.ABC(19, 42, 23) ABC.ABC(100, 42, 90) diff --git a/Test/git-issues/git-issue-2013.dfy b/Test/git-issues/git-issue-2013.dfy index d1d3e15880e..1f3962988ee 100644 --- a/Test/git-issues/git-issue-2013.dfy +++ b/Test/git-issues/git-issue-2013.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/git-issues/git-issue-2013.dfy.expect b/Test/git-issues/git-issue-2013.dfy.expect index bbf7e59b073..2cf9744efb3 100644 --- a/Test/git-issues/git-issue-2013.dfy.expect +++ b/Test/git-issues/git-issue-2013.dfy.expect @@ -1,55 +1,3 @@ - -Dafny program verifier finished with 12 verified, 0 errors - -Dafny program verifier did not attempt verification -16 -16 -12 30 30 -Result.Success(8) Result.Failure(_module.MyClassException) -{100} {100} {100} -{MoreTests_Compile.C} {MoreTests_Compile.C} {MoreTests_Compile.C} -100 100 100 -MoreTests_Compile.C MoreTests_Compile.C MoreTests_Compile.C -Conveyance_Compile.NonVariantResult.NVSuccess(Conveyance_Compile.Car) Conveyance_Compile.CovariantResult.CVSuccess(Conveyance_Compile.Car) -Regression_mM_Compile.Stream.Next - -Dafny program verifier did not attempt verification -16 -16 -12 30 30 -Result.Success(8) Result.Failure(_module.MyClassException) -{100} {100} {100} -{MoreTests_Compile.C} {MoreTests_Compile.C} {MoreTests_Compile.C} -100 100 100 -MoreTests_Compile.C MoreTests_Compile.C MoreTests_Compile.C -Conveyance_Compile.NonVariantResult.NVSuccess(Conveyance_Compile.Car) Conveyance_Compile.CovariantResult.CVSuccess(Conveyance_Compile.Car) -Regression_mM_Compile.Stream.Next - -Dafny program verifier did not attempt verification -16 -16 -12 30 30 -Result.Success(8) Result.Failure(_module.MyClassException) -{100} {100} {100} -{MoreTests_Compile.C} {MoreTests_Compile.C} {MoreTests_Compile.C} -100 100 100 -MoreTests_Compile.C MoreTests_Compile.C MoreTests_Compile.C -Conveyance_Compile.NonVariantResult.NVSuccess(Conveyance_Compile.Car) Conveyance_Compile.CovariantResult.CVSuccess(Conveyance_Compile.Car) -Regression_mM_Compile.Stream.Next - -Dafny program verifier did not attempt verification -16 -16 -12 30 30 -Result.Success(8) Result.Failure(_module.MyClassException) -{100} {100} {100} -{MoreTests_Compile.C} {MoreTests_Compile.C} {MoreTests_Compile.C} -100 100 100 -MoreTests_Compile.C MoreTests_Compile.C MoreTests_Compile.C -Conveyance_Compile.NonVariantResult.NVSuccess(Conveyance_Compile.Car) Conveyance_Compile.CovariantResult.CVSuccess(Conveyance_Compile.Car) -Regression_mM_Compile.Stream.Next - -Dafny program verifier did not attempt verification 16 16 12 30 30 diff --git a/Test/git-issues/git-issue-2441.dfy b/Test/git-issues/git-issue-2441.dfy index bc9c8721ee2..4179ecc87bc 100644 --- a/Test/git-issues/git-issue-2441.dfy +++ b/Test/git-issues/git-issue-2441.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype A = A(B: B) datatype B = X diff --git a/Test/git-issues/git-issue-2441.dfy.expect b/Test/git-issues/git-issue-2441.dfy.expect index 0c3f603d584..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-2441.dfy.expect +++ b/Test/git-issues/git-issue-2441.dfy.expect @@ -1,6 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-2510.dfy b/Test/git-issues/git-issue-2510.dfy index 22ef8e47058..11ee2877bb3 100644 --- a/Test/git-issues/git-issue-2510.dfy +++ b/Test/git-issues/git-issue-2510.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:4 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /// Check that the compiler accepts `:- assume {:axiom} …`. diff --git a/Test/git-issues/git-issue-2510.dfy.expect b/Test/git-issues/git-issue-2510.dfy.expect index b341a39a78d..56a6051ca2b 100644 --- a/Test/git-issues/git-issue-2510.dfy.expect +++ b/Test/git-issues/git-issue-2510.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors 1 \ No newline at end of file diff --git a/Test/git-issues/git-issue-258.dfy b/Test/git-issues/git-issue-258.dfy index dbc437cebbc..97820c26461 100644 --- a/Test/git-issues/git-issue-258.dfy +++ b/Test/git-issues/git-issue-258.dfy @@ -1,9 +1,5 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /compile:3 /unicodeChar:0 /spillTargetCode:3 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /compile:3 /unicodeChar:0 /spillTargetCode:3 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /compile:3 /unicodeChar:0 /spillTargetCode:3 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /compile:3 /unicodeChar:0 /spillTargetCode:3 /compileTarget:go "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false /spillTargetCode:3 method pr(s: seq) { print s, "\n"; diff --git a/Test/git-issues/git-issue-258.dfy.expect b/Test/git-issues/git-issue-258.dfy.expect index 8cf196174b8..31b98032806 100644 --- a/Test/git-issues/git-issue-258.dfy.expect +++ b/Test/git-issues/git-issue-258.dfy.expect @@ -1,83 +1,10 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier finished with 1 verified, 0 errors -hi -hi - - -HI! -hi - -HI! - -[23, 45] -[23, 45] -[] -[] -abcabc -abcabc -abcdef -abcdef - - -[1, 2, 3, 4] -[1, 2, 3, 4] - -Dafny program verifier finished with 1 verified, 0 errors -hi -hi - - -HI! -hi - -HI! - -[23, 45] -[23, 45] -[] -[] -abcabc -abcabc -abcdef -abcdef - - -[1, 2, 3, 4] -[1, 2, 3, 4] - -Dafny program verifier finished with 1 verified, 0 errors hi hi HI! hi -[] -HI! - -[23, 45] -[23, 45] -[] -[] -abcabc -abcabc -abcdef -abcdef - - -[1, 2, 3, 4] -[1, 2, 3, 4] - -Dafny program verifier finished with 1 verified, 0 errors -hi -hi - -HI! -hi -[] HI! [23, 45] diff --git a/Test/git-issues/git-issue-258.dfy.go.expect b/Test/git-issues/git-issue-258.dfy.go.expect new file mode 100644 index 00000000000..2745afdf6e1 --- /dev/null +++ b/Test/git-issues/git-issue-258.dfy.go.expect @@ -0,0 +1,21 @@ +hi +hi + + +HI! +hi +[] +HI! + +[23, 45] +[23, 45] +[] +[] +abcabc +abcabc +abcdef +abcdef + + +[1, 2, 3, 4] +[1, 2, 3, 4] diff --git a/Test/git-issues/git-issue-258.dfy.js.expect b/Test/git-issues/git-issue-258.dfy.js.expect new file mode 100644 index 00000000000..2745afdf6e1 --- /dev/null +++ b/Test/git-issues/git-issue-258.dfy.js.expect @@ -0,0 +1,21 @@ +hi +hi + + +HI! +hi +[] +HI! + +[23, 45] +[23, 45] +[] +[] +abcabc +abcabc +abcdef +abcdef + + +[1, 2, 3, 4] +[1, 2, 3, 4] diff --git a/Test/git-issues/git-issue-2608.dfy b/Test/git-issues/git-issue-2608.dfy index 459c9ffbf94..c606177f94f 100644 --- a/Test/git-issues/git-issue-2608.dfy +++ b/Test/git-issues/git-issue-2608.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /compileTarget:js "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method GetNext(i: int) returns (j: int, possible: bool) { if i == 1 { diff --git a/Test/git-issues/git-issue-2608.dfy.expect b/Test/git-issues/git-issue-2608.dfy.expect index dce7ba1814a..d9ed583f710 100644 --- a/Test/git-issues/git-issue-2608.dfy.expect +++ b/Test/git-issues/git-issue-2608.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors 82411246231944714271214 \ No newline at end of file diff --git a/Test/git-issues/git-issue-262.dfy b/Test/git-issues/git-issue-262.dfy index 2c00ad94a39..22d9a31b2fe 100644 --- a/Test/git-issues/git-issue-262.dfy +++ b/Test/git-issues/git-issue-262.dfy @@ -1,8 +1,5 @@ -// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" -// RUN: %dafny /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function tst(x: nat): nat { x + 1 diff --git a/Test/git-issues/git-issue-262.dfy.expect b/Test/git-issues/git-issue-262.dfy.expect index 76af42cd4a3..41d8cd55158 100644 --- a/Test/git-issues/git-issue-262.dfy.expect +++ b/Test/git-issues/git-issue-262.dfy.expect @@ -1,20 +1,2 @@ - -Dafny program verifier finished with 2 verified, 0 errors System.Func`2[System.Numerics.BigInteger,System.Numerics.BigInteger] System.Func`2[System.Numerics.BigInteger,System.Numerics.BigInteger] - -Dafny program verifier finished with 2 verified, 0 errors -tst(x) { - return (x).plus(_dafny.ONE); - } -tst(x) { - return (x).plus(_dafny.ONE); - } - -Dafny program verifier finished with 2 verified, 0 errors -func(dafny.Int) dafny.Int -func(dafny.Int) dafny.Int - -Dafny program verifier finished with 2 verified, 0 errors -Function -Function diff --git a/Test/git-issues/git-issue-262.dfy.go.expect b/Test/git-issues/git-issue-262.dfy.go.expect new file mode 100644 index 00000000000..578754c176c --- /dev/null +++ b/Test/git-issues/git-issue-262.dfy.go.expect @@ -0,0 +1,2 @@ +func(dafny.Int) dafny.Int +func(dafny.Int) dafny.Int diff --git a/Test/git-issues/git-issue-262.dfy.java.expect b/Test/git-issues/git-issue-262.dfy.java.expect new file mode 100644 index 00000000000..aa5478ef8c9 --- /dev/null +++ b/Test/git-issues/git-issue-262.dfy.java.expect @@ -0,0 +1,2 @@ +Function +Function diff --git a/Test/git-issues/git-issue-262.dfy.js.expect b/Test/git-issues/git-issue-262.dfy.js.expect new file mode 100644 index 00000000000..e181ef2fef8 --- /dev/null +++ b/Test/git-issues/git-issue-262.dfy.js.expect @@ -0,0 +1,6 @@ +tst(x) { + return (x).plus(_dafny.ONE); + } +tst(x) { + return (x).plus(_dafny.ONE); + } diff --git a/Test/git-issues/git-issue-267.dfy b/Test/git-issues/git-issue-267.dfy index cef2fcc6c17..2b0b3281589 100644 --- a/Test/git-issues/git-issue-267.dfy +++ b/Test/git-issues/git-issue-267.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var c := 1; diff --git a/Test/git-issues/git-issue-267.dfy.expect b/Test/git-issues/git-issue-267.dfy.expect index d71aef2f440..cd7da05e3d2 100644 --- a/Test/git-issues/git-issue-267.dfy.expect +++ b/Test/git-issues/git-issue-267.dfy.expect @@ -1,14 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification -210 - -Dafny program verifier did not attempt verification -210 - -Dafny program verifier did not attempt verification -210 - -Dafny program verifier did not attempt verification 210 diff --git a/Test/git-issues/git-issue-2672.dfy b/Test/git-issues/git-issue-2672.dfy index 338299ee8b7..52c5b9c638c 100644 --- a/Test/git-issues/git-issue-2672.dfy +++ b/Test/git-issues/git-issue-2672.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment newtype sreal = r: real | r > -4 as real newtype sint = r: int | r > -4 as int diff --git a/Test/git-issues/git-issue-2672.dfy.expect b/Test/git-issues/git-issue-2672.dfy.expect index c9c3244b6f4..43440a83d53 100644 --- a/Test/git-issues/git-issue-2672.dfy.expect +++ b/Test/git-issues/git-issue-2672.dfy.expect @@ -1,47 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors - -Dafny program verifier did not attempt verification -true true true true true true true true true true -false false false false false false false false false false -false false false false false false false false false false -true true true true true true true true true true -true true true true true true true true true true -false false false false false false false false false false -true true true -false false false - -Dafny program verifier did not attempt verification -true true true true true true true true true true -false false false false false false false false false false -false false false false false false false false false false -true true true true true true true true true true -true true true true true true true true true true -false false false false false false false false false false -true true true -false false false - -Dafny program verifier did not attempt verification -true true true true true true true true true true -false false false false false false false false false false -false false false false false false false false false false -true true true true true true true true true true -true true true true true true true true true true -false false false false false false false false false false -true true true -false false false - -Dafny program verifier did not attempt verification -true true true true true true true true true true -false false false false false false false false false false -false false false false false false false false false false -true true true true true true true true true true -true true true true true true true true true true -false false false false false false false false false false -true true true -false false false - -Dafny program verifier did not attempt verification true true true true true true true true true true false false false false false false false false false false false false false false false false false false false false diff --git a/Test/git-issues/git-issue-2726a.dfy b/Test/git-issues/git-issue-2726a.dfy index 641fefbbdc4..a43d5dd0107 100644 --- a/Test/git-issues/git-issue-2726a.dfy +++ b/Test/git-issues/git-issue-2726a.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /compileTarget:cs "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment const digits := ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"] diff --git a/Test/git-issues/git-issue-2726a.dfy.expect b/Test/git-issues/git-issue-2726a.dfy.expect index 6985935c88c..8e1bedb2a64 100644 --- a/Test/git-issues/git-issue-2726a.dfy.expect +++ b/Test/git-issues/git-issue-2726a.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors 4 42 422 diff --git a/Test/git-issues/git-issue-2733.dfy b/Test/git-issues/git-issue-2733.dfy index 232eab3cc74..65bc2b991fd 100644 --- a/Test/git-issues/git-issue-2733.dfy +++ b/Test/git-issues/git-issue-2733.dfy @@ -1,11 +1,4 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cpp "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false method Main() { print "XYZ"; // Checks that no extra newline is added to the output diff --git a/Test/git-issues/git-issue-2733.dfy.expect b/Test/git-issues/git-issue-2733.dfy.expect index b139e2f3d58..77bf25132db 100644 --- a/Test/git-issues/git-issue-2733.dfy.expect +++ b/Test/git-issues/git-issue-2733.dfy.expect @@ -1,15 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification -XYZ -Dafny program verifier did not attempt verification -XYZ -Dafny program verifier did not attempt verification -XYZ -Dafny program verifier did not attempt verification -XYZ -Dafny program verifier did not attempt verification -XYZ -Dafny program verifier did not attempt verification XYZ \ No newline at end of file diff --git a/Test/git-issues/git-issue-2792.dfy b/Test/git-issues/git-issue-2792.dfy index 89e736667c0..d2fb9db2055 100644 --- a/Test/git-issues/git-issue-2792.dfy +++ b/Test/git-issues/git-issue-2792.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /compileTarget:java "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Wrapper = Wrapper(s: seq) { diff --git a/Test/git-issues/git-issue-2792.dfy.expect b/Test/git-issues/git-issue-2792.dfy.expect index c1e603c58fe..ca1683c3020 100644 --- a/Test/git-issues/git-issue-2792.dfy.expect +++ b/Test/git-issues/git-issue-2792.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors [] Wrapper2.Wrapper2([], 2792) diff --git a/Test/git-issues/git-issue-283.dfy b/Test/git-issues/git-issue-283.dfy index c7c10f4aea3..1ca6d48d32c 100644 --- a/Test/git-issues/git-issue-283.dfy +++ b/Test/git-issues/git-issue-283.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Result = | Success(value: T) diff --git a/Test/git-issues/git-issue-283.dfy.expect b/Test/git-issues/git-issue-283.dfy.expect index 2adb114b8a0..a965a70ed4e 100644 --- a/Test/git-issues/git-issue-283.dfy.expect +++ b/Test/git-issues/git-issue-283.dfy.expect @@ -1,14 +1 @@ - -Dafny program verifier finished with 9 verified, 0 errors - -Dafny program verifier did not attempt verification -Done - -Dafny program verifier did not attempt verification -Done - -Dafny program verifier did not attempt verification -Done - -Dafny program verifier did not attempt verification Done diff --git a/Test/git-issues/git-issue-283d.dfy b/Test/git-issues/git-issue-283d.dfy index 54ee58fb456..46c1056d5e1 100644 --- a/Test/git-issues/git-issue-283d.dfy +++ b/Test/git-issues/git-issue-283d.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Foo = R(v: int) diff --git a/Test/git-issues/git-issue-283d.dfy.expect b/Test/git-issues/git-issue-283d.dfy.expect index 8da23be5c8c..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-283d.dfy.expect +++ b/Test/git-issues/git-issue-283d.dfy.expect @@ -1,10 +0,0 @@ - -Dafny program verifier finished with 4 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-314.dfy b/Test/git-issues/git-issue-314.dfy index 5e3e93ca654..a7fc06564a5 100644 --- a/Test/git-issues/git-issue-314.dfy +++ b/Test/git-issues/git-issue-314.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype S = S(G: array) datatype T = T(F: array, ghost Repr: set) diff --git a/Test/git-issues/git-issue-314.dfy.expect b/Test/git-issues/git-issue-314.dfy.expect index f02fc57989a..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-314.dfy.expect +++ b/Test/git-issues/git-issue-314.dfy.expect @@ -1,10 +0,0 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-332.dfy b/Test/git-issues/git-issue-332.dfy index ca2b08f3e8d..5166441405d 100644 --- a/Test/git-issues/git-issue-332.dfy +++ b/Test/git-issues/git-issue-332.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var foo := new B.Foo(15); diff --git a/Test/git-issues/git-issue-332.dfy.expect b/Test/git-issues/git-issue-332.dfy.expect index 57cad39addf..209e3ef4b62 100644 --- a/Test/git-issues/git-issue-332.dfy.expect +++ b/Test/git-issues/git-issue-332.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 6 verified, 0 errors 20 diff --git a/Test/git-issues/git-issue-354.dfy b/Test/git-issues/git-issue-354.dfy index 5938c2f71ae..c3d63021209 100644 --- a/Test/git-issues/git-issue-354.dfy +++ b/Test/git-issues/git-issue-354.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class C { static const u: X diff --git a/Test/git-issues/git-issue-354.dfy.expect b/Test/git-issues/git-issue-354.dfy.expect index cb5ae21dc46..4368562357f 100644 --- a/Test/git-issues/git-issue-354.dfy.expect +++ b/Test/git-issues/git-issue-354.dfy.expect @@ -1,25 +1,3 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification -0 -0 -0.0 -false - -Dafny program verifier did not attempt verification -0 -0 -0.0 -false - -Dafny program verifier did not attempt verification -0 -0 -0.0 -false - -Dafny program verifier did not attempt verification 0 0 0.0 diff --git a/Test/git-issues/git-issue-356.dfy b/Test/git-issues/git-issue-356.dfy index f5c34b0803b..2d497c0531c 100644 --- a/Test/git-issues/git-issue-356.dfy +++ b/Test/git-issues/git-issue-356.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false module M { type Tx = i: int | 0 <= i <= 100 diff --git a/Test/git-issues/git-issue-356.dfy.expect b/Test/git-issues/git-issue-356.dfy.expect index cff4ed233e1..9d984ec4ef4 100644 --- a/Test/git-issues/git-issue-356.dfy.expect +++ b/Test/git-issues/git-issue-356.dfy.expect @@ -1,39 +1,3 @@ - -Dafny program verifier finished with 25 verified, 0 errors - -Dafny program verifier did not attempt verification -a d 57005 * * -Z 90 90.0 90 90 -* 42 42.0 42 42 -F 70 70.0 70 70 -# 35 35.0 35 35 -END - -Dafny program verifier did not attempt verification -a d 57005 * * -Z 90 90.0 90 90 -* 42 42.0 42 42 -F 70 70.0 70 70 -# 35 35.0 35 35 -END - -Dafny program verifier did not attempt verification -a d 57005 * * -Z 90 90.0 90 90 -* 42 42.0 42 42 -F 70 70.0 70 70 -# 35 35.0 35 35 -END - -Dafny program verifier did not attempt verification -a d 57005 * * -Z 90 90.0 90 90 -* 42 42.0 42 42 -F 70 70.0 70 70 -# 35 35.0 35 35 -END - -Dafny program verifier did not attempt verification a d 57005 * * Z 90 90.0 90 90 * 42 42.0 42 42 diff --git a/Test/git-issues/git-issue-364.dfy b/Test/git-issues/git-issue-364.dfy index 0fdedc7d9c0..68c75931746 100644 --- a/Test/git-issues/git-issue-364.dfy +++ b/Test/git-issues/git-issue-364.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype NatOutcome = | Success(value: nat) diff --git a/Test/git-issues/git-issue-364.dfy.expect b/Test/git-issues/git-issue-364.dfy.expect index 1368349d437..38478c6c688 100644 --- a/Test/git-issues/git-issue-364.dfy.expect +++ b/Test/git-issues/git-issue-364.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 4 verified, 0 errors NatOutcome.Success(55) false 55 12 0 NatOutcome.Failure("it could be worse") true NatOutcome.Failure("it could be worse") diff --git a/Test/git-issues/git-issue-374.dfy b/Test/git-issues/git-issue-374.dfy index 4c031b7d3ff..15b56ec6396 100644 --- a/Test/git-issues/git-issue-374.dfy +++ b/Test/git-issues/git-issue-374.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class C { constructor(ghost x: int) diff --git a/Test/git-issues/git-issue-374.dfy.expect b/Test/git-issues/git-issue-374.dfy.expect index f02fc57989a..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-374.dfy.expect +++ b/Test/git-issues/git-issue-374.dfy.expect @@ -1,10 +0,0 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-396.dfy b/Test/git-issues/git-issue-396.dfy index 2ab68e51e12..7866d3d0498 100644 --- a/Test/git-issues/git-issue-396.dfy +++ b/Test/git-issues/git-issue-396.dfy @@ -1,8 +1,4 @@ -// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" -// RUN: %dafny /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Foo = Bar(value: int) diff --git a/Test/git-issues/git-issue-396.dfy.expect b/Test/git-issues/git-issue-396.dfy.expect index 3dd340d3178..dee79f10940 100644 --- a/Test/git-issues/git-issue-396.dfy.expect +++ b/Test/git-issues/git-issue-396.dfy.expect @@ -1,12 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors -114 - -Dafny program verifier finished with 1 verified, 0 errors -114 - -Dafny program verifier finished with 1 verified, 0 errors -114 - -Dafny program verifier finished with 1 verified, 0 errors 114 diff --git a/Test/git-issues/git-issue-4007.dfy b/Test/git-issues/git-issue-4007.dfy index e4c25b82bb8..5a279e7b8e6 100644 --- a/Test/git-issues/git-issue-4007.dfy +++ b/Test/git-issues/git-issue-4007.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:4 /compileTarget:py "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var a := 0; @@ -7,4 +6,4 @@ method Main() { a := a + 1; } print a, "\n"; -} \ No newline at end of file +} diff --git a/Test/git-issues/git-issue-4007.dfy.expect b/Test/git-issues/git-issue-4007.dfy.expect index 3ce6919d35b..00750edc07d 100644 --- a/Test/git-issues/git-issue-4007.dfy.expect +++ b/Test/git-issues/git-issue-4007.dfy.expect @@ -1,4 +1 @@ -git-issue-4007.dfy(6,20): Warning: /!\ No terms found to trigger on. - -Dafny program verifier finished with 1 verified, 0 errors 3 diff --git a/Test/git-issues/git-issue-4012.dfy b/Test/git-issues/git-issue-4012.dfy index e065393a211..5360c0e935b 100644 --- a/Test/git-issues/git-issue-4012.dfy +++ b/Test/git-issues/git-issue-4012.dfy @@ -1,8 +1,7 @@ -// RUN: %dafny /compile:4 /compileTarget:py "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var x: multiset := multiset{}; x := x[1 := 18446744073709551616]; print |x|, "\n"; -} \ No newline at end of file +} diff --git a/Test/git-issues/git-issue-4012.dfy.expect b/Test/git-issues/git-issue-4012.dfy.expect index 230fbdbd384..ab69b99fab4 100644 --- a/Test/git-issues/git-issue-4012.dfy.expect +++ b/Test/git-issues/git-issue-4012.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors 18446744073709551616 diff --git a/Test/git-issues/git-issue-425.dfy b/Test/git-issues/git-issue-425.dfy index 4e555daaed0..122a10e4fbb 100644 --- a/Test/git-issues/git-issue-425.dfy +++ b/Test/git-issues/git-issue-425.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method M() returns (x: int, ghost y: int) { return 42, 43; diff --git a/Test/git-issues/git-issue-425.dfy.expect b/Test/git-issues/git-issue-425.dfy.expect index c2284013d9e..daaac9e3030 100644 --- a/Test/git-issues/git-issue-425.dfy.expect +++ b/Test/git-issues/git-issue-425.dfy.expect @@ -1,18 +1,2 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification -42 -42 - -Dafny program verifier did not attempt verification -42 -42 - -Dafny program verifier did not attempt verification -42 -42 - -Dafny program verifier did not attempt verification 42 42 diff --git a/Test/git-issues/git-issue-443.dfy b/Test/git-issues/git-issue-443.dfy index e8745b5ddda..6702e37484f 100644 --- a/Test/git-issues/git-issue-443.dfy +++ b/Test/git-issues/git-issue-443.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { print F(), " ", G(802.11), "\n"; // 12 15 diff --git a/Test/git-issues/git-issue-443.dfy.expect b/Test/git-issues/git-issue-443.dfy.expect index 10af01216da..0b64712fdcf 100644 --- a/Test/git-issues/git-issue-443.dfy.expect +++ b/Test/git-issues/git-issue-443.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors 12 15 diff --git a/Test/git-issues/git-issue-446.dfy b/Test/git-issues/git-issue-446.dfy index 0656587fd03..a66a9272d18 100644 --- a/Test/git-issues/git-issue-446.dfy +++ b/Test/git-issues/git-issue-446.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Result = Success(value: T) | Failure(error: string) { diff --git a/Test/git-issues/git-issue-446.dfy.expect b/Test/git-issues/git-issue-446.dfy.expect index 18195d22344..8165c2056d0 100644 --- a/Test/git-issues/git-issue-446.dfy.expect +++ b/Test/git-issues/git-issue-446.dfy.expect @@ -1,22 +1,3 @@ - -Dafny program verifier finished with 9 verified, 0 errors - -Dafny program verifier did not attempt verification -true -2 -true 42 -End - -Dafny program verifier did not attempt verification -true -2 -true 42 -End - -Dafny program verifier did not attempt verification -true -2 -true 42 -End - -Dafny program verifier did not attempt verification true -2 true 42 End diff --git a/Test/git-issues/git-issue-446a.dfy b/Test/git-issues/git-issue-446a.dfy index 41917680fee..2c559cea76d 100644 --- a/Test/git-issues/git-issue-446a.dfy +++ b/Test/git-issues/git-issue-446a.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Result = Success(value: T) | Failure(error: string) { diff --git a/Test/git-issues/git-issue-446a.dfy.expect b/Test/git-issues/git-issue-446a.dfy.expect index fbf9ee6f31d..9897e1c3f56 100644 --- a/Test/git-issues/git-issue-446a.dfy.expect +++ b/Test/git-issues/git-issue-446a.dfy.expect @@ -1,22 +1,3 @@ - -Dafny program verifier finished with 9 verified, 0 errors - -Dafny program verifier did not attempt verification -OK -true OK -true -2 End - -Dafny program verifier did not attempt verification -OK -true OK -true -2 End - -Dafny program verifier did not attempt verification -OK -true OK -true -2 End - -Dafny program verifier did not attempt verification OK true OK true -2 End diff --git a/Test/git-issues/git-issue-446b.dfy b/Test/git-issues/git-issue-446b.dfy index aa7ac30d9a7..79e55d9a1f8 100644 --- a/Test/git-issues/git-issue-446b.dfy +++ b/Test/git-issues/git-issue-446b.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Result = Success(value: T) | Failure(error: string) { diff --git a/Test/git-issues/git-issue-446b.dfy.expect b/Test/git-issues/git-issue-446b.dfy.expect index 0e99363fdb9..36fdd8ba47b 100644 --- a/Test/git-issues/git-issue-446b.dfy.expect +++ b/Test/git-issues/git-issue-446b.dfy.expect @@ -1,28 +1,3 @@ - -Dafny program verifier finished with 10 verified, 0 errors - -Dafny program verifier did not attempt verification -OK -true OK -true -2 -true 100 -End - -Dafny program verifier did not attempt verification -OK -true OK -true -2 -true 100 -End - -Dafny program verifier did not attempt verification -OK -true OK -true -2 -true 100 -End - -Dafny program verifier did not attempt verification OK true OK true -2 diff --git a/Test/git-issues/git-issue-478-good.dfy b/Test/git-issues/git-issue-478-good.dfy index b3fab26a312..9abce41e97c 100644 --- a/Test/git-issues/git-issue-478-good.dfy +++ b/Test/git-issues/git-issue-478-good.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // By first defining import LibA and then defining a module LibA, // the latter used to generate: diff --git a/Test/git-issues/git-issue-478-good.dfy.expect b/Test/git-issues/git-issue-478-good.dfy.expect index 17aea610943..6807b84eba5 100644 --- a/Test/git-issues/git-issue-478-good.dfy.expect +++ b/Test/git-issues/git-issue-478-good.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors hello hello hi diff --git a/Test/git-issues/git-issue-506.dfy b/Test/git-issues/git-issue-506.dfy index d25596621de..b2a409951a1 100644 --- a/Test/git-issues/git-issue-506.dfy +++ b/Test/git-issues/git-issue-506.dfy @@ -1,8 +1,4 @@ -// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" -// RUN: %dafny /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/git-issues/git-issue-506.dfy.expect b/Test/git-issues/git-issue-506.dfy.expect index e2bb6d644d9..ef2606ec5dc 100644 --- a/Test/git-issues/git-issue-506.dfy.expect +++ b/Test/git-issues/git-issue-506.dfy.expect @@ -1,29 +1,3 @@ - -Dafny program verifier finished with 2 verified, 0 errors -7 301 -8 391 -2 2 -4 5 -6 7 -2 3 7 0 - -Dafny program verifier finished with 2 verified, 0 errors -7 301 -8 391 -2 2 -4 5 -6 7 -2 3 7 0 - -Dafny program verifier finished with 2 verified, 0 errors -7 301 -8 391 -2 2 -4 5 -6 7 -2 3 7 0 - -Dafny program verifier finished with 2 verified, 0 errors 7 301 8 391 2 2 diff --git a/Test/git-issues/git-issue-532.dfy b/Test/git-issues/git-issue-532.dfy index 3d511dbb4c8..2a2b5aaaf2e 100644 --- a/Test/git-issues/git-issue-532.dfy +++ b/Test/git-issues/git-issue-532.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment predicate SuppressNoTriggerWarning(x: X) { true } diff --git a/Test/git-issues/git-issue-532.dfy.expect b/Test/git-issues/git-issue-532.dfy.expect index 1bd9e82cc5a..0f3ef3de427 100644 --- a/Test/git-issues/git-issue-532.dfy.expect +++ b/Test/git-issues/git-issue-532.dfy.expect @@ -1,22 +1,3 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification -t.x=5 The given Tr is a C, and c.y=6 -t.x=100 The given Tr is not a C -t.x=5 The given Tr is a C, and c.y=16 - -Dafny program verifier did not attempt verification -t.x=5 The given Tr is a C, and c.y=6 -t.x=100 The given Tr is not a C -t.x=5 The given Tr is a C, and c.y=16 - -Dafny program verifier did not attempt verification -t.x=5 The given Tr is a C, and c.y=6 -t.x=100 The given Tr is not a C -t.x=5 The given Tr is a C, and c.y=16 - -Dafny program verifier did not attempt verification t.x=5 The given Tr is a C, and c.y=6 t.x=100 The given Tr is not a C t.x=5 The given Tr is a C, and c.y=16 diff --git a/Test/git-issues/git-issue-549.dfy b/Test/git-issues/git-issue-549.dfy index 2e5ab322f23..d362a0bd039 100644 --- a/Test/git-issues/git-issue-549.dfy +++ b/Test/git-issues/git-issue-549.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait T { function bar(): bv8 diff --git a/Test/git-issues/git-issue-549.dfy.expect b/Test/git-issues/git-issue-549.dfy.expect index 3ae509fee5e..6e0790e778e 100644 --- a/Test/git-issues/git-issue-549.dfy.expect +++ b/Test/git-issues/git-issue-549.dfy.expect @@ -1,10 +1,2 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification -bar() = 1 -bar() = 1 - -Dafny program verifier did not attempt verification bar() = 1 bar() = 1 diff --git a/Test/git-issues/git-issue-622$f.dfy b/Test/git-issues/git-issue-622$f.dfy index fe4fdf38e03..f0f15dd9f8c 100644 --- a/Test/git-issues/git-issue-622$f.dfy +++ b/Test/git-issues/git-issue-622$f.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /compileTarget:java /spillTargetCode:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /spillTargetCode:3 method Main() { } diff --git a/Test/git-issues/git-issue-622$f.dfy.expect b/Test/git-issues/git-issue-622$f.dfy.expect index 012f5b99379..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-622$f.dfy.expect +++ b/Test/git-issues/git-issue-622$f.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/git-issues/git-issue-633.dfy b/Test/git-issues/git-issue-633.dfy index 5d9b5aecf58..3e4153b69c4 100644 --- a/Test/git-issues/git-issue-633.dfy +++ b/Test/git-issues/git-issue-633.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" %S/git-issue-633A.dfy > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs /spillTargetCode:3 "%s" %S/git-issue-633A.dfy >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js /spillTargetCode:3 "%s" %S/git-issue-633A.dfy >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go /spillTargetCode:3 "%s" %S/git-issue-633A.dfy >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java /spillTargetCode:3 "%s" %S/git-issue-633A.dfy >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /spillTargetCode:3 /Users/salkeldr/Documents/GitHub/dafny/Test/git-issues/git-issue-633A.dfy method m() { print "OK\n"; diff --git a/Test/git-issues/git-issue-633.dfy.expect b/Test/git-issues/git-issue-633.dfy.expect index f02fc57989a..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-633.dfy.expect +++ b/Test/git-issues/git-issue-633.dfy.expect @@ -1,10 +0,0 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-684.dfy b/Test/git-issues/git-issue-684.dfy index b1fbd7ab036..4c2b0a8fa02 100644 --- a/Test/git-issues/git-issue-684.dfy +++ b/Test/git-issues/git-issue-684.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Level1 = Level1(u:int) datatype Level2 = Level2(u:int, l:Level1) diff --git a/Test/git-issues/git-issue-684.dfy.expect b/Test/git-issues/git-issue-684.dfy.expect index 65d3b5d6635..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-684.dfy.expect +++ b/Test/git-issues/git-issue-684.dfy.expect @@ -1,10 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-686.dfy b/Test/git-issues/git-issue-686.dfy index bbc975200c8..9845ce2b027 100644 --- a/Test/git-issues/git-issue-686.dfy +++ b/Test/git-issues/git-issue-686.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Color = Blue | Red diff --git a/Test/git-issues/git-issue-686.dfy.expect b/Test/git-issues/git-issue-686.dfy.expect index f30b0581688..c12f8e66df2 100644 --- a/Test/git-issues/git-issue-686.dfy.expect +++ b/Test/git-issues/git-issue-686.dfy.expect @@ -1,24 +1 @@ -git-issue-686.dfy(13,2): Warning: this branch is redundant -git-issue-686.dfy(21,2): Warning: this branch is redundant - -Dafny program verifier finished with 1 verified, 0 errors -git-issue-686.dfy(13,2): Warning: this branch is redundant -git-issue-686.dfy(21,2): Warning: this branch is redundant - -Dafny program verifier did not attempt verification -6 0 -git-issue-686.dfy(13,2): Warning: this branch is redundant -git-issue-686.dfy(21,2): Warning: this branch is redundant - -Dafny program verifier did not attempt verification -6 0 -git-issue-686.dfy(13,2): Warning: this branch is redundant -git-issue-686.dfy(21,2): Warning: this branch is redundant - -Dafny program verifier did not attempt verification -6 0 -git-issue-686.dfy(13,2): Warning: this branch is redundant -git-issue-686.dfy(21,2): Warning: this branch is redundant - -Dafny program verifier did not attempt verification 6 0 diff --git a/Test/git-issues/git-issue-686.dfy.verifier.expect b/Test/git-issues/git-issue-686.dfy.verifier.expect new file mode 100644 index 00000000000..5b8c694a4bc --- /dev/null +++ b/Test/git-issues/git-issue-686.dfy.verifier.expect @@ -0,0 +1,2 @@ +git-issue-686.dfy(13,2): Warning: this branch is redundant +git-issue-686.dfy(21,2): Warning: this branch is redundant diff --git a/Test/git-issues/git-issue-697.dfy b/Test/git-issues/git-issue-697.dfy index 095c1a02399..23cce66dee7 100644 --- a/Test/git-issues/git-issue-697.dfy +++ b/Test/git-issues/git-issue-697.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Cell = Cell(x: int) type EvenCell = c: Cell | c.x % 2 == 0 witness Cell(0) diff --git a/Test/git-issues/git-issue-697.dfy.expect b/Test/git-issues/git-issue-697.dfy.expect index 188a72ebc36..f32a5804e29 100644 --- a/Test/git-issues/git-issue-697.dfy.expect +++ b/Test/git-issues/git-issue-697.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-697b.dfy b/Test/git-issues/git-issue-697b.dfy index cfdd3fd0821..cdb054d8d78 100644 --- a/Test/git-issues/git-issue-697b.dfy +++ b/Test/git-issues/git-issue-697b.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Cell = Cell(x: int) type EvenCell = c: Cell | c.x % 2 == 0 witness Cell(0) diff --git a/Test/git-issues/git-issue-697b.dfy.expect b/Test/git-issues/git-issue-697b.dfy.expect index b355409912b..9c777ac6a0f 100644 --- a/Test/git-issues/git-issue-697b.dfy.expect +++ b/Test/git-issues/git-issue-697b.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors false 2 diff --git a/Test/git-issues/git-issue-697d.dfy b/Test/git-issues/git-issue-697d.dfy index 71a262fc985..8b65c2da4f7 100644 --- a/Test/git-issues/git-issue-697d.dfy +++ b/Test/git-issues/git-issue-697d.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function nonGhostPredicate(x: int): bool { x % 2 == 0 diff --git a/Test/git-issues/git-issue-697d.dfy.expect b/Test/git-issues/git-issue-697d.dfy.expect index 48fb59aeae5..f32a5804e29 100644 --- a/Test/git-issues/git-issue-697d.dfy.expect +++ b/Test/git-issues/git-issue-697d.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 4 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-697e.dfy b/Test/git-issues/git-issue-697e.dfy index e4500bfab28..310851abf9a 100644 --- a/Test/git-issues/git-issue-697e.dfy +++ b/Test/git-issues/git-issue-697e.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Cell = Cell(x: int) type EvenCell = c: Cell | c.x % 2 == 0 witness Cell(0) diff --git a/Test/git-issues/git-issue-697e.dfy.expect b/Test/git-issues/git-issue-697e.dfy.expect index 00a51f822da..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-697e.dfy.expect +++ b/Test/git-issues/git-issue-697e.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 3 verified, 0 errors diff --git a/Test/git-issues/git-issue-697f.dfy b/Test/git-issues/git-issue-697f.dfy index 92d1cec2ed8..acb8810dfbf 100644 --- a/Test/git-issues/git-issue-697f.dfy +++ b/Test/git-issues/git-issue-697f.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment ghost function ghostPredicate(x: int): bool { x % 2 == 0 diff --git a/Test/git-issues/git-issue-697f.dfy.expect b/Test/git-issues/git-issue-697f.dfy.expect index 3e2cf8d0f69..b5754e20373 100644 --- a/Test/git-issues/git-issue-697f.dfy.expect +++ b/Test/git-issues/git-issue-697f.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 4 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-697g.dfy b/Test/git-issues/git-issue-697g.dfy index c3b7581ff61..7b30de7f3a0 100644 --- a/Test/git-issues/git-issue-697g.dfy +++ b/Test/git-issues/git-issue-697g.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function returnNat(c: nat): int { diff --git a/Test/git-issues/git-issue-697g.dfy.expect b/Test/git-issues/git-issue-697g.dfy.expect index d9157fa820a..f32a5804e29 100644 --- a/Test/git-issues/git-issue-697g.dfy.expect +++ b/Test/git-issues/git-issue-697g.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-698.dfy b/Test/git-issues/git-issue-698.dfy index b15295c9b46..7b7a9ca15b8 100644 --- a/Test/git-issues/git-issue-698.dfy +++ b/Test/git-issues/git-issue-698.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment type Small = x: int | 0 <= x < 100 && x != 3 diff --git a/Test/git-issues/git-issue-698.dfy.expect b/Test/git-issues/git-issue-698.dfy.expect index 7f965a65d2e..27ba77ddaf6 100644 --- a/Test/git-issues/git-issue-698.dfy.expect +++ b/Test/git-issues/git-issue-698.dfy.expect @@ -1,8 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification -true - -Dafny program verifier did not attempt verification true diff --git a/Test/git-issues/git-issue-698b.dfy b/Test/git-issues/git-issue-698b.dfy index 1d4a92456e6..dbdbc3b36d3 100644 --- a/Test/git-issues/git-issue-698b.dfy +++ b/Test/git-issues/git-issue-698b.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment type Small = x: int | 0 <= x < 100 && x != 3 @@ -13,4 +12,4 @@ method Main() { var b := !exists n: Small :: F(n) != 100; assert b; print b; -} \ No newline at end of file +} diff --git a/Test/git-issues/git-issue-698b.dfy.expect b/Test/git-issues/git-issue-698b.dfy.expect index 188a72ebc36..f32a5804e29 100644 --- a/Test/git-issues/git-issue-698b.dfy.expect +++ b/Test/git-issues/git-issue-698b.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-701.dfy b/Test/git-issues/git-issue-701.dfy index af19f0d89e2..38984df4ecf 100644 --- a/Test/git-issues/git-issue-701.dfy +++ b/Test/git-issues/git-issue-701.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var ca := new ClassA; diff --git a/Test/git-issues/git-issue-701.dfy.expect b/Test/git-issues/git-issue-701.dfy.expect index 4d20966e641..5198c09cbb1 100644 --- a/Test/git-issues/git-issue-701.dfy.expect +++ b/Test/git-issues/git-issue-701.dfy.expect @@ -1,22 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification -0 0 0 -[] [] [] -C.Nothing C.Nothing C.Nothing - -Dafny program verifier did not attempt verification -0 0 0 -[] [] [] -C.Nothing C.Nothing C.Nothing - -Dafny program verifier did not attempt verification -0 0 0 -[] [] [] -C.Nothing C.Nothing C.Nothing - -Dafny program verifier did not attempt verification 0 0 0 [] [] [] C.Nothing C.Nothing C.Nothing diff --git a/Test/git-issues/git-issue-705.dfy b/Test/git-issues/git-issue-705.dfy index d4b806800c2..5b2fa1bac01 100644 --- a/Test/git-issues/git-issue-705.dfy +++ b/Test/git-issues/git-issue-705.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs /spillTargetCode:3 "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js /spillTargetCode:3 "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go /spillTargetCode:3 "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java /spillTargetCode:3 "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /spillTargetCode:3 datatype MyDataType = AAA { function toString(): int { 222 } diff --git a/Test/git-issues/git-issue-705.dfy.expect b/Test/git-issues/git-issue-705.dfy.expect index 02cf409667a..79a1eee7c74 100644 --- a/Test/git-issues/git-issue-705.dfy.expect +++ b/Test/git-issues/git-issue-705.dfy.expect @@ -1,14 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification -MyDataType.AAA 222 - -Dafny program verifier did not attempt verification -MyDataType.AAA 222 - -Dafny program verifier did not attempt verification -MyDataType.AAA 222 - -Dafny program verifier did not attempt verification MyDataType.AAA 222 diff --git a/Test/git-issues/git-issue-731.dfy b/Test/git-issues/git-issue-731.dfy index 05d02fea1af..348d40fecea 100644 --- a/Test/git-issues/git-issue-731.dfy +++ b/Test/git-issues/git-issue-731.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait Trait { const y: Y diff --git a/Test/git-issues/git-issue-731.dfy.expect b/Test/git-issues/git-issue-731.dfy.expect index 69b2e6af648..7554a44901e 100644 --- a/Test/git-issues/git-issue-731.dfy.expect +++ b/Test/git-issues/git-issue-731.dfy.expect @@ -1,18 +1,2 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification -0 0 0 42 -0 0 0 9 - -Dafny program verifier did not attempt verification -0 0 0 42 -0 0 0 9 - -Dafny program verifier did not attempt verification -0 0 0 42 -0 0 0 9 - -Dafny program verifier did not attempt verification 0 0 0 42 0 0 0 9 diff --git a/Test/git-issues/git-issue-731b.dfy b/Test/git-issues/git-issue-731b.dfy index a77dbd6323b..2a0507839a2 100644 --- a/Test/git-issues/git-issue-731b.dfy +++ b/Test/git-issues/git-issue-731b.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Testing issue#731 when the class in question has type parameters diff --git a/Test/git-issues/git-issue-731b.dfy.expect b/Test/git-issues/git-issue-731b.dfy.expect index 97e6c041920..dd3226d2b73 100644 --- a/Test/git-issues/git-issue-731b.dfy.expect +++ b/Test/git-issues/git-issue-731b.dfy.expect @@ -1,14 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification -0 42 - -Dafny program verifier did not attempt verification -0 42 - -Dafny program verifier did not attempt verification -0 42 - -Dafny program verifier did not attempt verification 0 42 diff --git a/Test/git-issues/git-issue-755.dfy b/Test/git-issues/git-issue-755.dfy index 25fb3e6a485..2227a486a21 100644 --- a/Test/git-issues/git-issue-755.dfy +++ b/Test/git-issues/git-issue-755.dfy @@ -1,9 +1,5 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var s := { 1,9,3,7,5}; diff --git a/Test/git-issues/git-issue-755.dfy.expect b/Test/git-issues/git-issue-755.dfy.expect index c930da26922..9182de3a24a 100644 --- a/Test/git-issues/git-issue-755.dfy.expect +++ b/Test/git-issues/git-issue-755.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors - -Dafny program verifier did not attempt verification 1 3 5 @@ -9,30 +5,3 @@ Dafny program verifier did not attempt verification 9 1 3 3 5 - -Dafny program verifier did not attempt verification -1 -9 -3 -7 -5 -1 3 -3 5 - -Dafny program verifier did not attempt verification -1 -9 -3 -7 -5 -1 3 -3 5 - -Dafny program verifier did not attempt verification -1 -3 -5 -7 -9 -3 5 -1 3 diff --git a/Test/git-issues/git-issue-755.dfy.go.expect b/Test/git-issues/git-issue-755.dfy.go.expect new file mode 100644 index 00000000000..f41e86c7579 --- /dev/null +++ b/Test/git-issues/git-issue-755.dfy.go.expect @@ -0,0 +1,7 @@ +1 +9 +3 +7 +5 +1 3 +3 5 diff --git a/Test/git-issues/git-issue-755.dfy.java.expect b/Test/git-issues/git-issue-755.dfy.java.expect new file mode 100644 index 00000000000..f4407f49a6f --- /dev/null +++ b/Test/git-issues/git-issue-755.dfy.java.expect @@ -0,0 +1,7 @@ +1 +3 +5 +7 +9 +3 5 +1 3 diff --git a/Test/git-issues/git-issue-755.dfy.js.expect b/Test/git-issues/git-issue-755.dfy.js.expect new file mode 100644 index 00000000000..f41e86c7579 --- /dev/null +++ b/Test/git-issues/git-issue-755.dfy.js.expect @@ -0,0 +1,7 @@ +1 +9 +3 +7 +5 +1 3 +3 5 diff --git a/Test/git-issues/git-issue-784.dfy b/Test/git-issues/git-issue-784.dfy index 78b83f01064..5f6cf59465c 100644 --- a/Test/git-issues/git-issue-784.dfy +++ b/Test/git-issues/git-issue-784.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype List = Nil | Cons(T, List) { function App(ys: List): List { diff --git a/Test/git-issues/git-issue-784.dfy.expect b/Test/git-issues/git-issue-784.dfy.expect index 8da23be5c8c..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-784.dfy.expect +++ b/Test/git-issues/git-issue-784.dfy.expect @@ -1,10 +0,0 @@ - -Dafny program verifier finished with 4 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-953.dfy b/Test/git-issues/git-issue-953.dfy index 0e9e0198b90..1032ad45a3a 100644 --- a/Test/git-issues/git-issue-953.dfy +++ b/Test/git-issues/git-issue-953.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module P { datatype T_ = T() // the underscore in this name once caused a problem in Java compilation diff --git a/Test/git-issues/git-issue-953.dfy.expect b/Test/git-issues/git-issue-953.dfy.expect index b731ec2edbe..d992760e80b 100644 --- a/Test/git-issues/git-issue-953.dfy.expect +++ b/Test/git-issues/git-issue-953.dfy.expect @@ -1,39 +1,3 @@ - -Dafny program verifier finished with 6 verified, 0 errors - -Dafny program verifier did not attempt verification -C_Compile.T_.T -P_Compile.T_.T -OtherNamesWithSpecialCharacters_q___Compile.A?_.A?_ OtherNamesWithSpecialCharacters_q___Compile.B?_.B?_ -17 17 0 0 -C2_Compile.C.C(10, 11) -9 - -Dafny program verifier did not attempt verification -C_Compile.T_.T -P_Compile.T_.T -OtherNamesWithSpecialCharacters_q___Compile.A?_.A?_ OtherNamesWithSpecialCharacters_q___Compile.B?_.B?_ -17 17 0 0 -C2_Compile.C.C(10, 11) -9 - -Dafny program verifier did not attempt verification -C_Compile.T_.T -P_Compile.T_.T -OtherNamesWithSpecialCharacters_q___Compile.A?_.A?_ OtherNamesWithSpecialCharacters_q___Compile.B?_.B?_ -17 17 0 0 -C2_Compile.C.C(10, 11) -9 - -Dafny program verifier did not attempt verification -C_Compile.T_.T -P_Compile.T_.T -OtherNamesWithSpecialCharacters_q___Compile.A?_.A?_ OtherNamesWithSpecialCharacters_q___Compile.B?_.B?_ -17 17 0 0 -C2_Compile.C.C(10, 11) -9 - -Dafny program verifier did not attempt verification C_Compile.T_.T P_Compile.T_.T OtherNamesWithSpecialCharacters_q___Compile.A?_.A?_ OtherNamesWithSpecialCharacters_q___Compile.B?_.B?_ diff --git a/Test/git-issues/github-issue-3343.dfy b/Test/git-issues/github-issue-3343.dfy index 517a11d7fc1..d518b2a1a41 100644 --- a/Test/git-issues/github-issue-3343.dfy +++ b/Test/git-issues/github-issue-3343.dfy @@ -1,5 +1,4 @@ -// RUN: %baredafny run "%s" -t:java > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" method Bug() { var zero := 0; var a := new int[zero] []; diff --git a/Test/git-issues/github-issue-3343.dfy.expect b/Test/git-issues/github-issue-3343.dfy.expect index 823a60a105c..e69de29bb2d 100644 --- a/Test/git-issues/github-issue-3343.dfy.expect +++ b/Test/git-issues/github-issue-3343.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 1 verified, 0 errors diff --git a/Test/hofs/Compilation.dfy b/Test/hofs/Compilation.dfy index 99fd0a36506..7e9c674b495 100644 --- a/Test/hofs/Compilation.dfy +++ b/Test/hofs/Compilation.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class Ref { var val : A diff --git a/Test/hofs/Compilation.dfy.expect b/Test/hofs/Compilation.dfy.expect index 760fafc6189..6b7187d2557 100644 --- a/Test/hofs/Compilation.dfy.expect +++ b/Test/hofs/Compilation.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 2 verified, 0 errors 1 = 1 3 = 3 3 = 3 diff --git a/Test/hofs/Examples.dfy b/Test/hofs/Examples.dfy index cdf177c001f..bebda559221 100644 --- a/Test/hofs/Examples.dfy +++ b/Test/hofs/Examples.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function Apply(f: A ~> B, x: A): B reads f.reads(x) diff --git a/Test/hofs/Examples.dfy.expect b/Test/hofs/Examples.dfy.expect index 851aaf58286..e69de29bb2d 100644 --- a/Test/hofs/Examples.dfy.expect +++ b/Test/hofs/Examples.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 7 verified, 0 errors diff --git a/Test/hofs/Fold.dfy b/Test/hofs/Fold.dfy index 336f9121b52..96ddb01591f 100644 --- a/Test/hofs/Fold.dfy +++ b/Test/hofs/Fold.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype List = Nil | Cons(A,List) diff --git a/Test/hofs/Fold.dfy.expect b/Test/hofs/Fold.dfy.expect index 144ffab92db..3abcc310618 100644 --- a/Test/hofs/Fold.dfy.expect +++ b/Test/hofs/Fold.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors 3 = 3 diff --git a/Test/hofs/Folding.dfy b/Test/hofs/Folding.dfy index a300ea03b63..ef1dcee80bb 100644 --- a/Test/hofs/Folding.dfy +++ b/Test/hofs/Folding.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /induction:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /induction:3 // Specifications and proofs involving foldr (inspired by Liquid Haskell) and foldl // Rustan Leino diff --git a/Test/hofs/Folding.dfy.expect b/Test/hofs/Folding.dfy.expect index c4384266dfb..326af12dd76 100644 --- a/Test/hofs/Folding.dfy.expect +++ b/Test/hofs/Folding.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 21 verified, 0 errors xs = List.Cons(57, List.Cons(100, List.Cons(-34, List.Cons(1, List.Cons(8, List.Nil))))) foldr = 264 foldl = 264 diff --git a/Test/hofs/Renaming.dfy b/Test/hofs/Renaming.dfy index cf21fdba2f8..391c0e79ef6 100644 --- a/Test/hofs/Renaming.dfy +++ b/Test/hofs/Renaming.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function OnId(f : (bool -> bool) -> int) : int reads f.reads(x => x) diff --git a/Test/hofs/Renaming.dfy.expect b/Test/hofs/Renaming.dfy.expect index e2b6636dbe4..13a954d9043 100644 --- a/Test/hofs/Renaming.dfy.expect +++ b/Test/hofs/Renaming.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 4 verified, 0 errors 10 11 diff --git a/Test/hofs/Requires.dfy b/Test/hofs/Requires.dfy index de5944b6744..f5e51244184 100644 --- a/Test/hofs/Requires.dfy +++ b/Test/hofs/Requires.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/hofs/Requires.dfy.expect b/Test/hofs/Requires.dfy.expect index 1981561ca00..e69de29bb2d 100644 --- a/Test/hofs/Requires.dfy.expect +++ b/Test/hofs/Requires.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 10 verified, 0 errors diff --git a/Test/hofs/TreeMapSimple.dfy b/Test/hofs/TreeMapSimple.dfy index d93aea46403..b7baf6eb8d7 100644 --- a/Test/hofs/TreeMapSimple.dfy +++ b/Test/hofs/TreeMapSimple.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { TestY(); diff --git a/Test/hofs/TreeMapSimple.dfy.expect b/Test/hofs/TreeMapSimple.dfy.expect index 9224d605f7e..be0317f1016 100644 --- a/Test/hofs/TreeMapSimple.dfy.expect +++ b/Test/hofs/TreeMapSimple.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 11 verified, 0 errors Tree.Branch(100, List.Cons(Tree.Branch(50, List.Nil), List.Nil)) Tree.Branch(100, List.Cons(Tree.Branch(50, List.Nil), List.Nil)) diff --git a/Test/hofs/VectorUpdate.dfy b/Test/hofs/VectorUpdate.dfy index 848ed585ca6..70c0de3084e 100644 --- a/Test/hofs/VectorUpdate.dfy +++ b/Test/hofs/VectorUpdate.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // this is a rather verbose version of the VectorUpdate method method VectorUpdate(N: int, a : array, f : (int,A) ~> A) diff --git a/Test/hofs/VectorUpdate.dfy.expect b/Test/hofs/VectorUpdate.dfy.expect index b8fae39eab8..7645f125857 100644 --- a/Test/hofs/VectorUpdate.dfy.expect +++ b/Test/hofs/VectorUpdate.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 8 verified, 0 errors 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 100, 50, 33, 25, 20, 16, 14, 12, 11, 10 diff --git a/Test/hofs/WhileLoop.dfy b/Test/hofs/WhileLoop.dfy index 4af9fbd841b..914f47f4522 100644 --- a/Test/hofs/WhileLoop.dfy +++ b/Test/hofs/WhileLoop.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class Ref { var val: A diff --git a/Test/hofs/WhileLoop.dfy.expect b/Test/hofs/WhileLoop.dfy.expect index 234ac298c9b..83083b451e1 100644 --- a/Test/hofs/WhileLoop.dfy.expect +++ b/Test/hofs/WhileLoop.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 4 verified, 0 errors 22 22 22 diff --git a/Test/irondafny0/optimize0.dfy b/Test/irondafny0/optimize0.dfy index c4b8b2122ca..218c9820626 100644 --- a/Test/irondafny0/optimize0.dfy +++ b/Test/irondafny0/optimize0.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /optimize /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /optimize // See https://github.com/dafny-lang/dafny/issues/508 method Main() { diff --git a/Test/irondafny0/optimize0.dfy.expect b/Test/irondafny0/optimize0.dfy.expect index 4e37c19c360..0d5c8e51c8b 100644 --- a/Test/irondafny0/optimize0.dfy.expect +++ b/Test/irondafny0/optimize0.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors o hai! \ No newline at end of file diff --git a/Test/metatests/OutputEncoding.dfy b/Test/metatests/OutputEncoding.dfy index 68c390ac811..59fa53bf298 100644 --- a/Test/metatests/OutputEncoding.dfy +++ b/Test/metatests/OutputEncoding.dfy @@ -1,10 +1,4 @@ -// RUN: %baredafny verify %args "%s" > "%t" -// RUN: %baredafny run --no-verify --target=cs %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=js %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=go %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=py %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=java %args "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" method Main() { // This works fine in all languages because € is a single UTF-16 code unit. diff --git a/Test/metatests/OutputEncoding.dfy.expect b/Test/metatests/OutputEncoding.dfy.expect index a37241376f3..b25a57298f1 100644 --- a/Test/metatests/OutputEncoding.dfy.expect +++ b/Test/metatests/OutputEncoding.dfy.expect @@ -1,17 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification -Euro sign: € - -Dafny program verifier did not attempt verification -Euro sign: € - -Dafny program verifier did not attempt verification -Euro sign: € - -Dafny program verifier did not attempt verification -Euro sign: € - -Dafny program verifier did not attempt verification Euro sign: € diff --git a/Test/patterns/OrPatterns.dfy b/Test/patterns/OrPatterns.dfy index 4f2610c9379..6385bd55c93 100644 --- a/Test/patterns/OrPatterns.dfy +++ b/Test/patterns/OrPatterns.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /rprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Enum = One | Two | Three { predicate Even() { diff --git a/Test/patterns/OrPatterns.dfy.expect b/Test/patterns/OrPatterns.dfy.expect index a6fce7c4a13..d86bac9de59 100644 --- a/Test/patterns/OrPatterns.dfy.expect +++ b/Test/patterns/OrPatterns.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 11 verified, 0 errors OK diff --git a/Test/patterns/PatternMatching.dfy b/Test/patterns/PatternMatching.dfy index 477126c066a..e8a73b856e4 100644 --- a/Test/patterns/PatternMatching.dfy +++ b/Test/patterns/PatternMatching.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /* * This file contains a collection of tests for features modified or introduced in PR 458 @@ -222,4 +221,4 @@ method Main() { var r5 := MultipleNestedMatch(A(0), t4, bb); print "Testing MultipleNestedMatch: ", r0, r1, r2, r3, r4, r5, ", should return 012345\n"; -} \ No newline at end of file +} diff --git a/Test/patterns/PatternMatching.dfy.expect b/Test/patterns/PatternMatching.dfy.expect index 2970273cbfc..b4415971ca5 100644 --- a/Test/patterns/PatternMatching.dfy.expect +++ b/Test/patterns/PatternMatching.dfy.expect @@ -1,6 +1,3 @@ -PatternMatching.dfy(102,4): Warning: this branch is redundant - -Dafny program verifier finished with 9 verified, 0 errors NestingTest([6]) = 6, should return 6 NestedVariableTest([2::3::4::5::6]) = 0, should return 0 ConstantTest([3::4::5::6]) = 2, should return 2 diff --git a/Test/traits/TraitCompile.dfy b/Test/traits/TraitCompile.dfy index 03cf3746c6f..6e9b925fbc5 100644 --- a/Test/traits/TraitCompile.dfy +++ b/Test/traits/TraitCompile.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait TT { @@ -820,4 +814,4 @@ module RedeclaringMembers { true } } -} \ No newline at end of file +} diff --git a/Test/traits/TraitCompile.dfy.expect b/Test/traits/TraitCompile.dfy.expect index 8257b754de2..b70a9b09d2e 100644 --- a/Test/traits/TraitCompile.dfy.expect +++ b/Test/traits/TraitCompile.dfy.expect @@ -1,259 +1,3 @@ - -Dafny program verifier finished with 75 verified, 0 errors - -Dafny program verifier did not attempt verification -y=120 -x=12 -d=800 -a5=407 -t=1212 -z=30 -z'=30 -w=30 -d=1000 -a5=507 -t=1512 -t=1512 -t=1515 -This is OtherModule.P(7.0) -From OtherModule.Y: 7 and true -This is OtherModule.P(7.0) -From OtherModule.X: 7 and true -c.f= 15 j.f= 15 -c.f= 18 j.f= 18 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -x=126 -5.2 9 false -true true true true -false false false false -true true true true -false false false false -5.2 5.2 -1.2 1.2 -1.2 1.2 -15 30 -15 30 -15 30 -0 (0, 0) 0 -8 -0 0 0 0 0 0 0 0 0 0 0 0 -13 13 13 13 13 13 13 13 13 13 13 13 -14 14 14 14 14 14 14 14 14 14 14 14 -15 15 15 15 15 15 15 15 15 15 15 15 -16 16 16 16 16 16 16 16 16 16 16 16 -17 17 17 17 17 17 17 17 17 17 17 17 -18 18 18 18 18 18 18 18 18 18 18 18 -19 19 19 19 19 19 19 19 19 19 19 19 -20 20 20 20 20 20 20 20 20 20 20 20 -21 21 21 21 21 21 21 21 21 21 21 21 -22 22 22 22 22 22 22 22 22 22 22 22 -23 23 23 23 23 23 23 23 23 23 23 23 -24 24 24 24 24 24 24 24 24 24 24 24 -f(4) = 7 -f(4) = 7 -g(4) = 7 -g(4) = 7 -41 15 26 -true true -true true -true true -true true -true true true -true true true - -Dafny program verifier did not attempt verification -y=120 -x=12 -d=800 -a5=407 -t=1212 -z=30 -z'=30 -w=30 -d=1000 -a5=507 -t=1512 -t=1512 -t=1515 -This is OtherModule.P(7.0) -From OtherModule.Y: 7 and true -This is OtherModule.P(7.0) -From OtherModule.X: 7 and true -c.f= 15 j.f= 15 -c.f= 18 j.f= 18 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -x=126 -5.2 9 false -true true true true -false false false false -true true true true -false false false false -5.2 5.2 -1.2 1.2 -1.2 1.2 -15 30 -15 30 -15 30 -0 (0, 0) 0 -8 -0 0 0 0 0 0 0 0 0 0 0 0 -13 13 13 13 13 13 13 13 13 13 13 13 -14 14 14 14 14 14 14 14 14 14 14 14 -15 15 15 15 15 15 15 15 15 15 15 15 -16 16 16 16 16 16 16 16 16 16 16 16 -17 17 17 17 17 17 17 17 17 17 17 17 -18 18 18 18 18 18 18 18 18 18 18 18 -19 19 19 19 19 19 19 19 19 19 19 19 -20 20 20 20 20 20 20 20 20 20 20 20 -21 21 21 21 21 21 21 21 21 21 21 21 -22 22 22 22 22 22 22 22 22 22 22 22 -23 23 23 23 23 23 23 23 23 23 23 23 -24 24 24 24 24 24 24 24 24 24 24 24 -f(4) = 7 -f(4) = 7 -g(4) = 7 -g(4) = 7 -41 15 26 -true true -true true -true true -true true -true true true -true true true - -Dafny program verifier did not attempt verification -y=120 -x=12 -d=800 -a5=407 -t=1212 -z=30 -z'=30 -w=30 -d=1000 -a5=507 -t=1512 -t=1512 -t=1515 -This is OtherModule.P(7.0) -From OtherModule.Y: 7 and true -This is OtherModule.P(7.0) -From OtherModule.X: 7 and true -c.f= 15 j.f= 15 -c.f= 18 j.f= 18 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -x=126 -5.2 9 false -true true true true -false false false false -true true true true -false false false false -5.2 5.2 -1.2 1.2 -1.2 1.2 -15 30 -15 30 -15 30 -0 (0, 0) 0 -8 -0 0 0 0 0 0 0 0 0 0 0 0 -13 13 13 13 13 13 13 13 13 13 13 13 -14 14 14 14 14 14 14 14 14 14 14 14 -15 15 15 15 15 15 15 15 15 15 15 15 -16 16 16 16 16 16 16 16 16 16 16 16 -17 17 17 17 17 17 17 17 17 17 17 17 -18 18 18 18 18 18 18 18 18 18 18 18 -19 19 19 19 19 19 19 19 19 19 19 19 -20 20 20 20 20 20 20 20 20 20 20 20 -21 21 21 21 21 21 21 21 21 21 21 21 -22 22 22 22 22 22 22 22 22 22 22 22 -23 23 23 23 23 23 23 23 23 23 23 23 -24 24 24 24 24 24 24 24 24 24 24 24 -f(4) = 7 -f(4) = 7 -g(4) = 7 -g(4) = 7 -41 15 26 -true true -true true -true true -true true -true true true -true true true - -Dafny program verifier did not attempt verification -y=120 -x=12 -d=800 -a5=407 -t=1212 -z=30 -z'=30 -w=30 -d=1000 -a5=507 -t=1512 -t=1512 -t=1515 -This is OtherModule.P(7.0) -From OtherModule.Y: 7 and true -This is OtherModule.P(7.0) -From OtherModule.X: 7 and true -c.f= 15 j.f= 15 -c.f= 18 j.f= 18 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -x=126 -5.2 9 false -true true true true -false false false false -true true true true -false false false false -5.2 5.2 -1.2 1.2 -1.2 1.2 -15 30 -15 30 -15 30 -0 (0, 0) 0 -8 -0 0 0 0 0 0 0 0 0 0 0 0 -13 13 13 13 13 13 13 13 13 13 13 13 -14 14 14 14 14 14 14 14 14 14 14 14 -15 15 15 15 15 15 15 15 15 15 15 15 -16 16 16 16 16 16 16 16 16 16 16 16 -17 17 17 17 17 17 17 17 17 17 17 17 -18 18 18 18 18 18 18 18 18 18 18 18 -19 19 19 19 19 19 19 19 19 19 19 19 -20 20 20 20 20 20 20 20 20 20 20 20 -21 21 21 21 21 21 21 21 21 21 21 21 -22 22 22 22 22 22 22 22 22 22 22 22 -23 23 23 23 23 23 23 23 23 23 23 23 -24 24 24 24 24 24 24 24 24 24 24 24 -f(4) = 7 -f(4) = 7 -g(4) = 7 -g(4) = 7 -41 15 26 -true true -true true -true true -true true -true true true -true true true - -Dafny program verifier did not attempt verification y=120 x=12 d=800 diff --git a/Test/traits/TraitExample.dfy b/Test/traits/TraitExample.dfy index d6afb4ce70b..54c5cbbec6f 100644 --- a/Test/traits/TraitExample.dfy +++ b/Test/traits/TraitExample.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait Automobile { ghost var Repr: set diff --git a/Test/traits/TraitExample.dfy.expect b/Test/traits/TraitExample.dfy.expect index c1b4ac93962..b9783e62141 100644 --- a/Test/traits/TraitExample.dfy.expect +++ b/Test/traits/TraitExample.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 29 verified, 0 errors Fiat: 6 Volvo: 20 Catacar: 26 diff --git a/Test/traits/Traits-Fields.dfy b/Test/traits/Traits-Fields.dfy index 2da609c33c8..6ae1aaab6d9 100644 --- a/Test/traits/Traits-Fields.dfy +++ b/Test/traits/Traits-Fields.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait J { diff --git a/Test/traits/Traits-Fields.dfy.expect b/Test/traits/Traits-Fields.dfy.expect index cc460fc52f4..c39bd8b5d5d 100644 --- a/Test/traits/Traits-Fields.dfy.expect +++ b/Test/traits/Traits-Fields.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 2 verified, 0 errors j.x = 9 c.x = 9 diff --git a/Test/traits/TraitsMultipleInheritance.dfy b/Test/traits/TraitsMultipleInheritance.dfy index 12590e47828..67fd8673488 100644 --- a/Test/traits/TraitsMultipleInheritance.dfy +++ b/Test/traits/TraitsMultipleInheritance.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait J1{ var x: int diff --git a/Test/traits/TraitsMultipleInheritance.dfy.expect b/Test/traits/TraitsMultipleInheritance.dfy.expect index ad1a1011a25..b116b2d070d 100644 --- a/Test/traits/TraitsMultipleInheritance.dfy.expect +++ b/Test/traits/TraitsMultipleInheritance.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 1 verified, 0 errors c.x + c.y = 30 j1.x + j2.y = 30 diff --git a/Test/unicodechars/comp/Collections.dfy b/Test/unicodechars/comp/Collections.dfy index fb3e451eb83..34f1a1e2180 100644 --- a/Test/unicodechars/comp/Collections.dfy +++ b/Test/unicodechars/comp/Collections.dfy @@ -1,8 +1,3 @@ -// RUN: %dafny /compile:0 /verifyAllModules /unicodeChar:1 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:true /verifyAllModules include "../../comp/Collections.dfy" diff --git a/Test/unicodechars/comp/Collections.dfy.expect b/Test/unicodechars/comp/Collections.dfy.expect index 70586502b0d..89f08b08d75 100644 --- a/Test/unicodechars/comp/Collections.dfy.expect +++ b/Test/unicodechars/comp/Collections.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 40 verified, 0 errors - -Dafny program verifier did not attempt verification Sets: {} {17, 82} {12, 17} cardinality: 0 2 2 union: {17, 82} {12, 17, 82} @@ -127,511 +123,3 @@ Multiset=== 1 3 |s|=2 |u|=4 1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Yellow := 21, Color.Blue := 30] -keys: {Color.Yellow, Color.Blue} -values: {21, 30} -items: {(Color.Yellow, 21), (Color.Blue, 30)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {21, 30} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.go.expect b/Test/unicodechars/comp/Collections.dfy.go.expect new file mode 100644 index 00000000000..2fc0f3b7093 --- /dev/null +++ b/Test/unicodechars/comp/Collections.dfy.go.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.java.expect b/Test/unicodechars/comp/Collections.dfy.java.expect new file mode 100644 index 00000000000..39975cadfc4 --- /dev/null +++ b/Test/unicodechars/comp/Collections.dfy.java.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Yellow := 21, Color.Blue := 30] +keys: {Color.Yellow, Color.Blue} +values: {21, 30} +items: {(Color.Yellow, 21), (Color.Blue, 30)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.js.expect b/Test/unicodechars/comp/Collections.dfy.js.expect new file mode 100644 index 00000000000..2fc0f3b7093 --- /dev/null +++ b/Test/unicodechars/comp/Collections.dfy.js.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.py.expect b/Test/unicodechars/comp/Collections.dfy.py.expect new file mode 100644 index 00000000000..e4e346dede0 --- /dev/null +++ b/Test/unicodechars/comp/Collections.dfy.py.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {21, 30} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/unicodechars/comp/Comprehensions.dfy b/Test/unicodechars/comp/Comprehensions.dfy index 274f8d3a150..7ce8835997f 100644 --- a/Test/unicodechars/comp/Comprehensions.dfy +++ b/Test/unicodechars/comp/Comprehensions.dfy @@ -1,8 +1,3 @@ -// RUN: %dafny /compile:0 /unicodeChar:1 /verifyAllModules "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" -include "../../comp/Comprehensions.dfy" \ No newline at end of file +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:true /verifyAllModules +include "../../comp/Comprehensions.dfy" diff --git a/Test/unicodechars/comp/Comprehensions.dfy.expect b/Test/unicodechars/comp/Comprehensions.dfy.expect index 18159ddde0a..c9703fc9397 100644 --- a/Test/unicodechars/comp/Comprehensions.dfy.expect +++ b/Test/unicodechars/comp/Comprehensions.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 32 verified, 0 errors - -Dafny program verifier did not attempt verification x=13 y=14 x=13 y=14 b=yes true false @@ -64,259 +60,3 @@ true true [137438953474, 137438953475, 137438953476, 137438953477, 137438953479] cdefh cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[14 := 7, 12 := 6, 13 := 6] -map[18 := 14, 17 := 13, 16 := 12] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh diff --git a/Test/unicodechars/comp/Comprehensions.dfy.py.expect b/Test/unicodechars/comp/Comprehensions.dfy.py.expect new file mode 100644 index 00000000000..aeaa31fc0f3 --- /dev/null +++ b/Test/unicodechars/comp/Comprehensions.dfy.py.expect @@ -0,0 +1,62 @@ +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[14 := 7, 12 := 6, 13 := 6] +map[18 := 14, 17 := 13, 16 := 12] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh diff --git a/Test/unicodechars/comp/NativeNumbers.dfy b/Test/unicodechars/comp/NativeNumbers.dfy index 764b4b3b384..2dae43b062d 100644 --- a/Test/unicodechars/comp/NativeNumbers.dfy +++ b/Test/unicodechars/comp/NativeNumbers.dfy @@ -1,9 +1,4 @@ +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:true /verifyAllModules // Skip JavaScript because JavaScript doesn't have the same native types -// RUN: %dafny /compile:0 /verifyAllModules /unicodeChar:1 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" -include "../../comp/NativeNumbers.dfy" \ No newline at end of file +include "../../comp/NativeNumbers.dfy" diff --git a/Test/unicodechars/comp/NativeNumbers.dfy.expect b/Test/unicodechars/comp/NativeNumbers.dfy.expect index b0fc6754f84..354d931a151 100644 --- a/Test/unicodechars/comp/NativeNumbers.dfy.expect +++ b/Test/unicodechars/comp/NativeNumbers.dfy.expect @@ -1,259 +1,3 @@ - -Dafny program verifier finished with 25 verified, 0 errors - -Dafny program verifier did not attempt verification -Casting: - -Small numbers: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 -5 5 5 5 5 5 5 5 5 -6 6 6 6 6 6 6 6 6 -7 7 7 7 7 7 7 7 7 -8 8 8 8 8 8 8 8 8 - -Large unsigned numbers: -255 255 255 255 255 255 255 255 -65535 65535 65535 65535 65535 65535 -4294967295 4294967295 4294967295 4294967295 -18446744073709551615 18446744073709551615 - -Int to large unsigned: -255 65535 4294967295 18446744073709551615 - -Cast from cardinality operator: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 - -Characters: -'C' 67 67 67 67 67 67 67 67 67 -0 127 32767 65535 65535 255 65535 65535 65535 - -Defaults: - -0 0 0 0 0 0 0 0 0 - -Byte arithmetic: - -20 30 -10 10 18 - -Short arithmetic: - -20 30 -10 10 18 - -Bitvectors: - -0 3 4 1 - -Comparison to zero: - -int8: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int16: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int32: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int64: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint8: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint16: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint32: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint64: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N - - -Dafny program verifier did not attempt verification -Casting: - -Small numbers: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 -5 5 5 5 5 5 5 5 5 -6 6 6 6 6 6 6 6 6 -7 7 7 7 7 7 7 7 7 -8 8 8 8 8 8 8 8 8 - -Large unsigned numbers: -255 255 255 255 255 255 255 255 -65535 65535 65535 65535 65535 65535 -4294967295 4294967295 4294967295 4294967295 -18446744073709551615 18446744073709551615 - -Int to large unsigned: -255 65535 4294967295 18446744073709551615 - -Cast from cardinality operator: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 - -Characters: -'C' 67 67 67 67 67 67 67 67 67 -0 127 32767 65535 65535 255 65535 65535 65535 - -Defaults: - -0 0 0 0 0 0 0 0 0 - -Byte arithmetic: - -20 30 -10 10 18 - -Short arithmetic: - -20 30 -10 10 18 - -Bitvectors: - -0 3 4 1 - -Comparison to zero: - -int8: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int16: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int32: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int64: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint8: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint16: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint32: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint64: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N - - -Dafny program verifier did not attempt verification -Casting: - -Small numbers: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 -5 5 5 5 5 5 5 5 5 -6 6 6 6 6 6 6 6 6 -7 7 7 7 7 7 7 7 7 -8 8 8 8 8 8 8 8 8 - -Large unsigned numbers: -255 255 255 255 255 255 255 255 -65535 65535 65535 65535 65535 65535 -4294967295 4294967295 4294967295 4294967295 -18446744073709551615 18446744073709551615 - -Int to large unsigned: -255 65535 4294967295 18446744073709551615 - -Cast from cardinality operator: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 - -Characters: -'C' 67 67 67 67 67 67 67 67 67 -0 127 32767 65535 65535 255 65535 65535 65535 - -Defaults: - -0 0 0 0 0 0 0 0 0 - -Byte arithmetic: - -20 30 -10 10 18 - -Short arithmetic: - -20 30 -10 10 18 - -Bitvectors: - -0 3 4 1 - -Comparison to zero: - -int8: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int16: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int32: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int64: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint8: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint16: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint32: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint64: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N - - -Dafny program verifier did not attempt verification Casting: Small numbers: diff --git a/Test/unicodechars/comp/Numbers.dfy b/Test/unicodechars/comp/Numbers.dfy index 2c9170fe4d7..dfeeb19dc38 100644 --- a/Test/unicodechars/comp/Numbers.dfy +++ b/Test/unicodechars/comp/Numbers.dfy @@ -1,8 +1,3 @@ -// RUN: %dafny /compile:0 /verifyAllModules /unicodeChar:1 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" -include "../../comp/Numbers.dfy" \ No newline at end of file +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:true /verifyAllModules +include "../../comp/Numbers.dfy" diff --git a/Test/unicodechars/comp/Numbers.dfy.expect b/Test/unicodechars/comp/Numbers.dfy.expect index 6fa2f59f340..cce193e1cce 100644 --- a/Test/unicodechars/comp/Numbers.dfy.expect +++ b/Test/unicodechars/comp/Numbers.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 59 verified, 0 errors - -Dafny program verifier did not attempt verification 0 0 3 @@ -113,455 +109,3 @@ true false true false false true false true true false true false 20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -'g' 'Q' '2' -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -(312.0 / 40.0) (1248.0 / 40.0) -(-312.0 / 40.0) (-1248.0 / 40.0) -(-312.0 / 40.0) (1248.0 / 40.0) -(312.0 / 40.0) (-1248.0 / 40.0) -0.0 0.0 0.0 -120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) -123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 (8100.0 / 8100.0) -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -'g' 'Q' '2' -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -'g' 'Q' '2' -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -(312.0 / 40.0) (1248.0 / 40.0) -(-312.0 / 40.0) (-1248.0 / 40.0) -(-312.0 / 40.0) (1248.0 / 40.0) -(312.0 / 40.0) (-1248.0 / 40.0) -0.0 0.0 0.0 -120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) -123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 (8100.0 / 8100.0) -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -'g' 'Q' '2' -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 diff --git a/Test/unicodechars/comp/Numbers.dfy.go.expect b/Test/unicodechars/comp/Numbers.dfy.go.expect new file mode 100644 index 00000000000..95d8ac259c7 --- /dev/null +++ b/Test/unicodechars/comp/Numbers.dfy.go.expect @@ -0,0 +1,111 @@ +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +'g' 'Q' '2' +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 diff --git a/Test/unicodechars/comp/Numbers.dfy.py.expect b/Test/unicodechars/comp/Numbers.dfy.py.expect new file mode 100644 index 00000000000..95d8ac259c7 --- /dev/null +++ b/Test/unicodechars/comp/Numbers.dfy.py.expect @@ -0,0 +1,111 @@ +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +'g' 'Q' '2' +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 From cfa3c68fc99bd67f44fd2b0d6197305730d90071 Mon Sep 17 00:00:00 2001 From: Robin Salkeld Date: Thu, 1 Jun 2023 21:34:13 -0700 Subject: [PATCH 16/68] Revert "Converting all tests" This reverts commit 4417fcf46ffc29b3e9031aa53b8199aea8e6cd07. --- Test/VerifyThis2015/Problem1.dfy | 3 +- Test/VerifyThis2015/Problem1.dfy.expect | 2 + Test/VerifyThis2015/Problem2.dfy | 3 +- Test/VerifyThis2015/Problem2.dfy.expect | 2 + Test/VerifyThis2015/Problem3.dfy | 3 +- Test/VerifyThis2015/Problem3.dfy.expect | 2 + Test/c++/arrays.dfy | 3 +- Test/c++/arrays.dfy.expect | 2 + Test/c++/bit-vectors.dfy | 3 +- Test/c++/bit-vectors.dfy.expect | 2 + Test/c++/class.dfy | 3 +- Test/c++/class.dfy.expect | 2 + Test/c++/const.dfy | 3 +- Test/c++/const.dfy.expect | 2 + Test/c++/datatypes.dfy | 3 +- Test/c++/datatypes.dfy.expect | 2 + Test/c++/generic.dfy | 3 +- Test/c++/generic.dfy.expect | 2 + Test/c++/hello.dfy | 3 +- Test/c++/hello.dfy.expect | 2 + Test/c++/ints.dfy | 3 +- Test/c++/ints.dfy.expect | 2 + Test/c++/maps.dfy | 3 +- Test/c++/maps.dfy.expect | 2 + Test/c++/recursion.dfy | 3 +- Test/c++/recursion.dfy.expect | 2 + Test/c++/returns.dfy | 3 +- Test/c++/returns.dfy.expect | 2 + Test/c++/seqs.dfy | 3 +- Test/c++/seqs.dfy.expect | 2 + Test/c++/sets.dfy | 3 +- Test/c++/sets.dfy.expect | 2 + Test/c++/while.dfy | 3 +- Test/c++/while.dfy.expect | 2 + Test/comp/Arrays.dfy | 9 +- Test/comp/Arrays.dfy.expect | 396 ++++++++++++ Test/comp/Arrays.dfy.go.expect | 96 --- Test/comp/AsIs-Compile.dfy | 8 +- Test/comp/AsIs-Compile.dfy.expect | 160 +++++ Test/comp/AutoInit.dfy | 8 +- Test/comp/AutoInit.dfy.expect | 160 +++++ Test/comp/ByMethodCompilation.dfy | 8 +- Test/comp/ByMethodCompilation.dfy.expect | 32 + Test/comp/Calls.dfy | 8 +- Test/comp/Calls.dfy.expect | 40 ++ Test/comp/Class.dfy | 8 +- Test/comp/Class.dfy.expect | 72 +++ Test/comp/Collections.dfy | 9 +- Test/comp/Collections.dfy.expect | 512 ++++++++++++++++ Test/comp/Collections.dfy.go.expect | 125 ---- Test/comp/Collections.dfy.java.expect | 125 ---- Test/comp/Collections.dfy.js.expect | 125 ---- Test/comp/Collections.dfy.py.expect | 125 ---- Test/comp/Comprehensions.dfy | 9 +- Test/comp/Comprehensions.dfy.expect | 260 ++++++++ Test/comp/Comprehensions.dfy.py.expect | 62 -- Test/comp/ComprehensionsNewSyntax.dfy | 9 +- Test/comp/ComprehensionsNewSyntax.dfy.expect | 148 +++++ .../ComprehensionsNewSyntax.dfy.py.expect | 34 -- Test/comp/CovariantCollections.dfy | 8 +- Test/comp/CovariantCollections.dfy.expect | 220 +++++++ Test/comp/Datatype.dfy | 9 +- Test/comp/Datatype.dfy.expect | 100 +++ Test/comp/Datatype.dfy.java.expect | 22 - Test/comp/Datatype.dfy.py.expect | 22 - Test/comp/DefaultParameters-Compile.dfy | 8 +- .../comp/DefaultParameters-Compile.dfy.expect | 48 ++ Test/comp/DowncastClone.dfy | 8 +- Test/comp/DowncastClone.dfy.expect | 40 ++ Test/comp/ErasableTypeWrappers.dfy | 8 +- Test/comp/ErasableTypeWrappers.dfy.expect | 84 +++ Test/comp/EuclideanDivision.dfy | 8 +- Test/comp/EuclideanDivision.dfy.expect | 36 ++ Test/comp/ForLoops-Compilation.dfy | 8 +- Test/comp/ForLoops-Compilation.dfy.expect | 200 ++++++ Test/comp/ForallNewSyntax.dfy | 8 +- Test/comp/ForallNewSyntax.dfy.expect | 180 ++++++ Test/comp/Ghosts.dfy | 8 +- Test/comp/Ghosts.dfy.expect | 52 ++ Test/comp/Let.dfy | 7 +- Test/comp/Let.dfy.expect | 34 ++ Test/comp/MoreAutoInit.dfy | 8 +- Test/comp/MoreAutoInit.dfy.expect | 572 ++++++++++++++++++ Test/comp/NativeNumbers.dfy | 7 +- Test/comp/NativeNumbers.dfy.expect | 256 ++++++++ Test/comp/NestedArrays.dfy | 7 +- Test/comp/NestedArrays.dfy.expect | 16 + Test/comp/Numbers.dfy | 9 +- Test/comp/Numbers.dfy.expect | 456 ++++++++++++++ Test/comp/Numbers.dfy.go.expect | 111 ---- Test/comp/Numbers.dfy.py.expect | 111 ---- Test/comp/Poly.dfy | 9 +- Test/comp/Poly.dfy.expect | 60 ++ Test/comp/Poly.dfy.go.expect | 12 - Test/comp/Poly.dfy.py.expect | 12 - Test/comp/Print.dfy | 8 +- Test/comp/Print.dfy.expect | 34 ++ Test/comp/Print.dfy.go.expect | 8 - Test/comp/Print.dfy.java.expect | 8 - Test/comp/Print.dfy.js.expect | 8 - Test/comp/StaticMembersOfGenericTypes.dfy | 8 +- .../StaticMembersOfGenericTypes.dfy.expect | 76 +++ Test/comp/TailRecursion.dfy | 8 +- Test/comp/TailRecursion.dfy.expect | 76 +++ Test/comp/TypeDescriptors.dfy | 8 +- Test/comp/TypeDescriptors.dfy.expect | 152 +++++ Test/comp/TypeParams.dfy | 11 +- Test/comp/TypeParams.dfy.expect | 88 +++ Test/comp/TypeParams.dfy.go.expect | 19 - Test/comp/TypeParams.dfy.java.expect | 19 - Test/comp/TypeParams.dfy.js.expect | 19 - Test/comp/TypeParams.dfy.py.expect | 19 - Test/comp/UnoptimizedErasableTypeWrappers.dfy | 8 +- ...UnoptimizedErasableTypeWrappers.dfy.expect | 28 + Test/comp/Variance.dfy | 8 +- Test/comp/Variance.dfy.expect | 64 ++ Test/comp/Various.dfy | 8 +- Test/comp/Various.dfy.expect | 40 ++ Test/comp/firstSteps/0_IKnowThisMuchIs.dfy | 4 +- .../firstSteps/0_IKnowThisMuchIs.dfy.expect | 4 + Test/comp/firstSteps/1_Calls-F.dfy | 4 +- Test/comp/firstSteps/1_Calls-F.dfy.expect | 4 + Test/comp/firstSteps/2_Modules.dfy | 4 +- Test/comp/firstSteps/2_Modules.dfy.expect | 4 + Test/comp/firstSteps/3_Calls-As.dfy | 4 +- Test/comp/firstSteps/3_Calls-As.dfy.expect | 4 + .../4_Calls-FunctionsValues-Class+NT.dfy | 4 +- ..._Calls-FunctionsValues-Class+NT.dfy.expect | 4 + .../firstSteps/5_Calls-FunctionsValues-Dt.dfy | 4 +- .../5_Calls-FunctionsValues-Dt.dfy.expect | 4 + .../firstSteps/6_Calls-VariableCapture.dfy | 4 +- .../6_Calls-VariableCapture.dfy.expect | 4 + Test/comp/firstSteps/7_Arrays.dfy | 4 +- Test/comp/firstSteps/7_Arrays.dfy.expect | 4 + Test/comp/firstSteps/7_Dt_Algebraic.dfy | 6 +- .../firstSteps/7_Dt_Algebraic.dfy.cs.expect | 11 - .../comp/firstSteps/7_Dt_Algebraic.dfy.expect | 17 + Test/dafny0/ArrayElementInitCompile.dfy | 8 +- .../dafny0/ArrayElementInitCompile.dfy.expect | 76 +++ Test/dafny0/Bitvectors.dfy | 5 +- Test/dafny0/Bitvectors.dfy.expect | 490 +++++++++++++++ Test/dafny0/Compilation.dfy | 3 +- Test/dafny0/Compilation.dfy.expect | 2 + Test/dafny0/Constant.dfy | 3 +- Test/dafny0/Constant.dfy.expect | 2 + Test/dafny0/Deprecation.dfy | 3 +- Test/dafny0/Deprecation.dfy.expect | 7 + Test/dafny0/DiscoverBounds.dfy | 3 +- Test/dafny0/DiscoverBounds.dfy.expect | 7 + Test/dafny0/DividedConstructors.dfy | 3 +- Test/dafny0/DividedConstructors.dfy.expect | 186 ++++++ Test/dafny0/EqualityTypesCompile.dfy | 3 +- Test/dafny0/EqualityTypesCompile.dfy.expect | 2 + Test/dafny0/ForallCompilation.dfy | 3 +- Test/dafny0/ForallCompilation.dfy.expect | 2 + Test/dafny0/ForallCompilationNewSyntax.dfy | 3 +- .../ForallCompilationNewSyntax.dfy.expect | 6 + Test/dafny0/GhostGuards.dfy | 3 +- Test/dafny0/GhostGuards.dfy.expect | 7 + Test/dafny0/GhostITECompilation.dfy | 8 +- Test/dafny0/GhostITECompilation.dfy.expect | 28 + Test/dafny0/InitialValues.dfy | 3 +- Test/dafny0/InitialValues.dfy.expect | 2 + Test/dafny0/MatchBraces.dfy | 5 +- Test/dafny0/MatchBraces.dfy.expect | 133 ++++ Test/dafny0/MoForallCompilation.dfy | 3 +- Test/dafny0/MoForallCompilation.dfy.expect | 2 + Test/dafny0/NameclashesCompile.dfy | 3 +- Test/dafny0/NameclashesCompile.dfy.expect | 2 + Test/dafny0/NonZeroInitializationCompile.dfy | 7 +- .../NonZeroInitializationCompile.dfy.expect | 73 +++ Test/dafny0/NullComparisonWarnings.dfy | 3 +- Test/dafny0/NullComparisonWarnings.dfy.expect | 13 + Test/dafny0/PrintUTF8.dfy | 3 +- Test/dafny0/PrintUTF8.dfy.expect | 2 + Test/dafny0/RangeCompilation.dfy | 3 +- Test/dafny0/RangeCompilation.dfy.expect | 2 + Test/dafny0/SeqFromArray.dfy | 3 +- Test/dafny0/SeqFromArray.dfy.expect | 2 + Test/dafny0/SharedDestructorsCompile.dfy | 5 +- .../SharedDestructorsCompile.dfy.expect | 17 + Test/dafny0/SiblingImports.dfy | 3 +- Test/dafny0/SiblingImports.dfy.expect | 2 + Test/dafny0/TypeConversionsCompile.dfy | 3 +- Test/dafny0/TypeConversionsCompile.dfy.expect | 225 +++++++ Test/dafny0/TypeMembers.dfy | 5 +- Test/dafny0/TypeMembers.dfy.expect | 29 + Test/dafny0/TypeMembers.dfy.verifier.expect | 1 - Test/dafny0/Wellfounded.dfy | 3 +- Test/dafny0/Wellfounded.dfy.expect | 4 + Test/dafny2/MinWindowMax.dfy | 3 +- Test/dafny2/MinWindowMax.dfy.expect | 2 + .../SmallestMissingNumber-functional.dfy | 3 +- ...mallestMissingNumber-functional.dfy.expect | 3 + .../SmallestMissingNumber-imperative.dfy | 3 +- ...mallestMissingNumber-imperative.dfy.expect | 2 + Test/dafny2/StoreAndRetrieve.dfy | 7 +- Test/dafny2/StoreAndRetrieve.dfy.expect | 38 ++ .../StoreAndRetrieve.dfy.verifier.expect | 5 - Test/dafny2/Z-BirthdayBook.dfy | 3 +- Test/dafny2/Z-BirthdayBook.dfy.expect | 2 + Test/dafny2/pq-intrinsic-extrinsic.dfy | 5 +- Test/dafny2/pq-intrinsic-extrinsic.dfy.expect | 11 + Test/dafny3/Abstemious.dfy | 3 +- Test/dafny3/Abstemious.dfy.expect | 2 + Test/dafny3/CachedContainer.dfy | 7 +- Test/dafny3/CachedContainer.dfy.expect | 78 +++ .../CachedContainer.dfy.verifier.expect | 13 - Test/dafny3/Iter.dfy | 3 +- Test/dafny3/Iter.dfy.expect | 2 + Test/dafny4/Ackermann.dfy | 3 +- Test/dafny4/Ackermann.dfy.expect | 4 + Test/dafny4/Bug107.dfy | 3 +- Test/dafny4/Bug107.dfy.expect | 2 + Test/dafny4/Bug108.dfy | 3 +- Test/dafny4/Bug108.dfy.expect | 2 + Test/dafny4/Bug113.dfy | 5 +- Test/dafny4/Bug113.dfy.expect | 2 + Test/dafny4/Bug116.dfy | 3 +- Test/dafny4/Bug116.dfy.expect | 2 + Test/dafny4/Bug140.dfy | 3 +- Test/dafny4/Bug140.dfy.expect | 2 + Test/dafny4/Bug148.dfy | 3 +- Test/dafny4/Bug148.dfy.expect | 2 + Test/dafny4/Bug49.dfy | 3 +- Test/dafny4/Bug49.dfy.expect | 2 + Test/dafny4/Bug60.dfy | 3 +- Test/dafny4/Bug60.dfy.expect | 2 + Test/dafny4/Bug67.dfy | 5 +- Test/dafny4/Bug67.dfy.expect | 2 + Test/dafny4/Bug68.dfy | 5 +- Test/dafny4/Bug68.dfy.expect | 2 + Test/dafny4/Bug89.dfy | 3 +- Test/dafny4/Bug89.dfy.expect | 2 + Test/dafny4/Bug94.dfy | 3 +- Test/dafny4/Bug94.dfy.expect | 2 + Test/dafny4/ClassRefinement.dfy | 7 +- Test/dafny4/ClassRefinement.dfy.expect | 43 ++ .../ClassRefinement.dfy.verifier.expect | 6 - Test/dafny4/ExpandedGuardedness.dfy | 3 +- Test/dafny4/ExpandedGuardedness.dfy.expect | 2 + Test/dafny4/FlyingRobots.dfy | 3 +- Test/dafny4/FlyingRobots.dfy.expect | 2 + Test/dafny4/Leq.dfy | 3 +- Test/dafny4/Leq.dfy.expect | 2 + Test/dafny4/McCarthy91.dfy | 3 +- Test/dafny4/McCarthy91.dfy.expect | 2 + Test/dafny4/NatList.dfy | 3 +- Test/dafny4/NatList.dfy.expect | 2 + Test/dafny4/Regression15.dfy | 3 +- Test/dafny4/Regression15.dfy.expect | 2 + Test/dafny4/Regression2.dfy | 3 +- Test/dafny4/Regression2.dfy.expect | 2 + Test/dafny4/Regression3.dfy | 3 +- Test/dafny4/Regression3.dfy.expect | 2 + Test/dafny4/Regression4.dfy | 3 +- Test/dafny4/Regression4.dfy.expect | 2 + Test/dafny4/Regression6.dfy | 3 +- Test/dafny4/Regression6.dfy.expect | 2 + Test/dafny4/Regression7.dfy | 3 +- Test/dafny4/Regression7.dfy.expect | 2 + Test/dafny4/Regression9.dfy | 3 +- Test/dafny4/Regression9.dfy.expect | 2 + Test/dafny4/UnionFind.dfy | 3 +- Test/dafny4/UnionFind.dfy.expect | 2 + Test/dafny4/gcd.dfy | 7 +- Test/dafny4/gcd.dfy.expect | 31 + Test/dafny4/git-issue104.dfy | 8 +- Test/dafny4/git-issue104.dfy.expect | 16 + Test/dafny4/git-issue105.dfy | 3 +- Test/dafny4/git-issue105.dfy.expect | 2 + Test/dafny4/git-issue15.dfy | 3 +- Test/dafny4/git-issue15.dfy.expect | 2 + Test/dafny4/git-issue167.dfy | 3 +- Test/dafny4/git-issue167.dfy.expect | 2 + Test/dafny4/git-issue195.dfy | 3 +- Test/dafny4/git-issue195.dfy.expect | 2 + Test/dafny4/git-issue196.dfy | 3 +- Test/dafny4/git-issue196.dfy.expect | 2 + Test/dafny4/git-issue4.dfy | 3 +- Test/dafny4/git-issue4.dfy.expect | 2 + Test/dafny4/git-issue43.dfy | 3 +- Test/dafny4/git-issue43.dfy.expect | 2 + Test/dafny4/git-issue70.dfy | 3 +- Test/dafny4/git-issue70.dfy.expect | 2 + Test/dafny4/git-issue76.dfy | 5 +- Test/dafny4/git-issue76.dfy.expect | 7 + Test/dafny4/git-issue79.dfy | 3 +- Test/dafny4/git-issue79.dfy.expect | 2 + Test/dafny4/git-issue88.dfy | 3 +- Test/dafny4/git-issue88.dfy.expect | 2 + Test/exceptions/Exceptions1.dfy | 3 +- Test/exceptions/Exceptions1.dfy.expect | 2 + Test/exceptions/Exceptions1Expressions.dfy | 3 +- .../Exceptions1Expressions.dfy.expect | 2 + Test/exports/FIFO.dfy | 3 +- Test/exports/FIFO.dfy.expect | 2 + Test/exports/LIFO.dfy | 3 +- Test/exports/LIFO.dfy.expect | 2 + Test/exports/xrefine2.dfy | 3 +- Test/exports/xrefine2.dfy.expect | 2 + Test/exports/xrefine3.dfy | 3 +- Test/exports/xrefine3.dfy.expect | 2 + Test/git-issues/git-issue-032.dfy | 7 +- Test/git-issues/git-issue-032.dfy.expect | 37 ++ .../git-issue-032.dfy.verifier.expect | 3 - Test/git-issues/git-issue-1029.dfy | 3 +- Test/git-issues/git-issue-1029.dfy.expect | 2 + Test/git-issues/git-issue-1093.dfy | 8 +- Test/git-issues/git-issue-1093.dfy.expect | 16 + Test/git-issues/git-issue-1100.dfy | 3 +- Test/git-issues/git-issue-1100.dfy.expect | 2 + Test/git-issues/git-issue-1130.dfy | 3 +- Test/git-issues/git-issue-1130.dfy.expect | 2 + Test/git-issues/git-issue-1150.dfy | 3 +- Test/git-issues/git-issue-1150.dfy.expect | 2 + Test/git-issues/git-issue-1185.dfy | 8 +- Test/git-issues/git-issue-1185.dfy.expect | 13 + .../git-issues/git-issue-1185.dfy.java.expect | 1 - Test/git-issues/git-issue-1514.dfy | 3 +- Test/git-issues/git-issue-1514.dfy.expect | 2 + Test/git-issues/git-issue-1514b.dfy | 3 +- Test/git-issues/git-issue-1514b.dfy.expect | 2 + Test/git-issues/git-issue-1514c.dfy | 5 +- Test/git-issues/git-issue-1514c.dfy.expect | 7 + Test/git-issues/git-issue-1553.dfy | 7 +- Test/git-issues/git-issue-1553.dfy.expect | 10 + Test/git-issues/git-issue-1604b.dfy | 3 +- Test/git-issues/git-issue-1604b.dfy.expect | 2 + Test/git-issues/git-issue-1714.dfy | 3 +- Test/git-issues/git-issue-1714.dfy.expect | 2 + Test/git-issues/git-issue-179.dfy | 8 +- Test/git-issues/git-issue-179.dfy.expect | 22 + Test/git-issues/git-issue-179.dfy.go.expect | 4 - Test/git-issues/git-issue-179.dfy.java.expect | 4 - Test/git-issues/git-issue-179.dfy.js.expect | 4 - Test/git-issues/git-issue-1815a.dfy | 8 +- Test/git-issues/git-issue-1815a.dfy.expect | 16 + Test/git-issues/git-issue-1852.dfy | 5 +- Test/git-issues/git-issue-1852.dfy.expect | 7 + Test/git-issues/git-issue-1903.dfy | 3 +- Test/git-issues/git-issue-1903.dfy.expect | 2 + Test/git-issues/git-issue-1909.dfy | 3 +- Test/git-issues/git-issue-1909.dfy.expect | 2 + Test/git-issues/git-issue-2013.dfy | 8 +- Test/git-issues/git-issue-2013.dfy.expect | 52 ++ Test/git-issues/git-issue-2441.dfy | 5 +- Test/git-issues/git-issue-2441.dfy.expect | 6 + Test/git-issues/git-issue-2510.dfy | 3 +- Test/git-issues/git-issue-2510.dfy.expect | 2 + Test/git-issues/git-issue-258.dfy | 8 +- Test/git-issues/git-issue-258.dfy.expect | 73 +++ Test/git-issues/git-issue-258.dfy.go.expect | 21 - Test/git-issues/git-issue-258.dfy.js.expect | 21 - Test/git-issues/git-issue-2608.dfy | 3 +- Test/git-issues/git-issue-2608.dfy.expect | 2 + Test/git-issues/git-issue-262.dfy | 7 +- Test/git-issues/git-issue-262.dfy.expect | 18 + Test/git-issues/git-issue-262.dfy.go.expect | 2 - Test/git-issues/git-issue-262.dfy.java.expect | 2 - Test/git-issues/git-issue-262.dfy.js.expect | 6 - Test/git-issues/git-issue-267.dfy | 7 +- Test/git-issues/git-issue-267.dfy.expect | 13 + Test/git-issues/git-issue-2672.dfy | 8 +- Test/git-issues/git-issue-2672.dfy.expect | 44 ++ Test/git-issues/git-issue-2726a.dfy | 3 +- Test/git-issues/git-issue-2726a.dfy.expect | 2 + Test/git-issues/git-issue-2733.dfy | 9 +- Test/git-issues/git-issue-2733.dfy.expect | 14 + Test/git-issues/git-issue-2792.dfy | 3 +- Test/git-issues/git-issue-2792.dfy.expect | 2 + Test/git-issues/git-issue-283.dfy | 7 +- Test/git-issues/git-issue-283.dfy.expect | 13 + Test/git-issues/git-issue-283d.dfy | 7 +- Test/git-issues/git-issue-283d.dfy.expect | 10 + Test/git-issues/git-issue-314.dfy | 7 +- Test/git-issues/git-issue-314.dfy.expect | 10 + Test/git-issues/git-issue-332.dfy | 3 +- Test/git-issues/git-issue-332.dfy.expect | 2 + Test/git-issues/git-issue-354.dfy | 7 +- Test/git-issues/git-issue-354.dfy.expect | 22 + Test/git-issues/git-issue-356.dfy | 8 +- Test/git-issues/git-issue-356.dfy.expect | 36 ++ Test/git-issues/git-issue-364.dfy | 3 +- Test/git-issues/git-issue-364.dfy.expect | 2 + Test/git-issues/git-issue-374.dfy | 7 +- Test/git-issues/git-issue-374.dfy.expect | 10 + Test/git-issues/git-issue-396.dfy | 6 +- Test/git-issues/git-issue-396.dfy.expect | 11 + Test/git-issues/git-issue-4007.dfy | 5 +- Test/git-issues/git-issue-4007.dfy.expect | 3 + Test/git-issues/git-issue-4012.dfy | 5 +- Test/git-issues/git-issue-4012.dfy.expect | 2 + Test/git-issues/git-issue-425.dfy | 7 +- Test/git-issues/git-issue-425.dfy.expect | 16 + Test/git-issues/git-issue-443.dfy | 3 +- Test/git-issues/git-issue-443.dfy.expect | 2 + Test/git-issues/git-issue-446.dfy | 7 +- Test/git-issues/git-issue-446.dfy.expect | 19 + Test/git-issues/git-issue-446a.dfy | 7 +- Test/git-issues/git-issue-446a.dfy.expect | 19 + Test/git-issues/git-issue-446b.dfy | 7 +- Test/git-issues/git-issue-446b.dfy.expect | 25 + Test/git-issues/git-issue-478-good.dfy | 3 +- Test/git-issues/git-issue-478-good.dfy.expect | 2 + Test/git-issues/git-issue-506.dfy | 6 +- Test/git-issues/git-issue-506.dfy.expect | 26 + Test/git-issues/git-issue-532.dfy | 7 +- Test/git-issues/git-issue-532.dfy.expect | 19 + Test/git-issues/git-issue-549.dfy | 5 +- Test/git-issues/git-issue-549.dfy.expect | 8 + Test/git-issues/git-issue-622$f.dfy | 3 +- Test/git-issues/git-issue-622$f.dfy.expect | 2 + Test/git-issues/git-issue-633.dfy | 7 +- Test/git-issues/git-issue-633.dfy.expect | 10 + Test/git-issues/git-issue-684.dfy | 7 +- Test/git-issues/git-issue-684.dfy.expect | 10 + Test/git-issues/git-issue-686.dfy | 7 +- Test/git-issues/git-issue-686.dfy.expect | 23 + .../git-issue-686.dfy.verifier.expect | 2 - Test/git-issues/git-issue-697.dfy | 3 +- Test/git-issues/git-issue-697.dfy.expect | 2 + Test/git-issues/git-issue-697b.dfy | 3 +- Test/git-issues/git-issue-697b.dfy.expect | 2 + Test/git-issues/git-issue-697d.dfy | 3 +- Test/git-issues/git-issue-697d.dfy.expect | 2 + Test/git-issues/git-issue-697e.dfy | 3 +- Test/git-issues/git-issue-697e.dfy.expect | 2 + Test/git-issues/git-issue-697f.dfy | 3 +- Test/git-issues/git-issue-697f.dfy.expect | 2 + Test/git-issues/git-issue-697g.dfy | 3 +- Test/git-issues/git-issue-697g.dfy.expect | 2 + Test/git-issues/git-issue-698.dfy | 5 +- Test/git-issues/git-issue-698.dfy.expect | 7 + Test/git-issues/git-issue-698b.dfy | 5 +- Test/git-issues/git-issue-698b.dfy.expect | 2 + Test/git-issues/git-issue-701.dfy | 7 +- Test/git-issues/git-issue-701.dfy.expect | 19 + Test/git-issues/git-issue-705.dfy | 7 +- Test/git-issues/git-issue-705.dfy.expect | 13 + Test/git-issues/git-issue-731.dfy | 7 +- Test/git-issues/git-issue-731.dfy.expect | 16 + Test/git-issues/git-issue-731b.dfy | 7 +- Test/git-issues/git-issue-731b.dfy.expect | 13 + Test/git-issues/git-issue-755.dfy | 8 +- Test/git-issues/git-issue-755.dfy.expect | 31 + Test/git-issues/git-issue-755.dfy.go.expect | 7 - Test/git-issues/git-issue-755.dfy.java.expect | 7 - Test/git-issues/git-issue-755.dfy.js.expect | 7 - Test/git-issues/git-issue-784.dfy | 7 +- Test/git-issues/git-issue-784.dfy.expect | 10 + Test/git-issues/git-issue-953.dfy | 8 +- Test/git-issues/git-issue-953.dfy.expect | 36 ++ Test/git-issues/github-issue-3343.dfy | 3 +- Test/git-issues/github-issue-3343.dfy.expect | 2 + Test/hofs/Compilation.dfy | 3 +- Test/hofs/Compilation.dfy.expect | 2 + Test/hofs/Examples.dfy | 3 +- Test/hofs/Examples.dfy.expect | 2 + Test/hofs/Fold.dfy | 3 +- Test/hofs/Fold.dfy.expect | 2 + Test/hofs/Folding.dfy | 3 +- Test/hofs/Folding.dfy.expect | 2 + Test/hofs/Renaming.dfy | 3 +- Test/hofs/Renaming.dfy.expect | 2 + Test/hofs/Requires.dfy | 3 +- Test/hofs/Requires.dfy.expect | 2 + Test/hofs/TreeMapSimple.dfy | 3 +- Test/hofs/TreeMapSimple.dfy.expect | 2 + Test/hofs/VectorUpdate.dfy | 3 +- Test/hofs/VectorUpdate.dfy.expect | 2 + Test/hofs/WhileLoop.dfy | 3 +- Test/hofs/WhileLoop.dfy.expect | 2 + Test/irondafny0/optimize0.dfy | 3 +- Test/irondafny0/optimize0.dfy.expect | 2 + Test/metatests/OutputEncoding.dfy | 8 +- Test/metatests/OutputEncoding.dfy.expect | 16 + Test/patterns/OrPatterns.dfy | 3 +- Test/patterns/OrPatterns.dfy.expect | 2 + Test/patterns/PatternMatching.dfy | 5 +- Test/patterns/PatternMatching.dfy.expect | 3 + Test/traits/TraitCompile.dfy | 10 +- Test/traits/TraitCompile.dfy.expect | 256 ++++++++ Test/traits/TraitExample.dfy | 3 +- Test/traits/TraitExample.dfy.expect | 2 + Test/traits/Traits-Fields.dfy | 3 +- Test/traits/Traits-Fields.dfy.expect | 2 + Test/traits/TraitsMultipleInheritance.dfy | 3 +- .../TraitsMultipleInheritance.dfy.expect | 2 + Test/unicodechars/comp/Collections.dfy | 9 +- Test/unicodechars/comp/Collections.dfy.expect | 512 ++++++++++++++++ .../comp/Collections.dfy.go.expect | 125 ---- .../comp/Collections.dfy.java.expect | 125 ---- .../comp/Collections.dfy.js.expect | 125 ---- .../comp/Collections.dfy.py.expect | 125 ---- Test/unicodechars/comp/Comprehensions.dfy | 11 +- .../comp/Comprehensions.dfy.expect | 260 ++++++++ .../comp/Comprehensions.dfy.py.expect | 62 -- Test/unicodechars/comp/NativeNumbers.dfy | 9 +- .../comp/NativeNumbers.dfy.expect | 256 ++++++++ Test/unicodechars/comp/Numbers.dfy | 11 +- Test/unicodechars/comp/Numbers.dfy.expect | 456 ++++++++++++++ Test/unicodechars/comp/Numbers.dfy.go.expect | 111 ---- Test/unicodechars/comp/Numbers.dfy.py.expect | 111 ---- 504 files changed, 9914 insertions(+), 2252 deletions(-) delete mode 100644 Test/comp/Arrays.dfy.go.expect delete mode 100644 Test/comp/Collections.dfy.go.expect delete mode 100644 Test/comp/Collections.dfy.java.expect delete mode 100644 Test/comp/Collections.dfy.js.expect delete mode 100644 Test/comp/Collections.dfy.py.expect delete mode 100644 Test/comp/Comprehensions.dfy.py.expect delete mode 100644 Test/comp/ComprehensionsNewSyntax.dfy.py.expect delete mode 100644 Test/comp/Datatype.dfy.java.expect delete mode 100644 Test/comp/Datatype.dfy.py.expect delete mode 100644 Test/comp/Numbers.dfy.go.expect delete mode 100644 Test/comp/Numbers.dfy.py.expect delete mode 100644 Test/comp/Poly.dfy.go.expect delete mode 100644 Test/comp/Poly.dfy.py.expect delete mode 100644 Test/comp/Print.dfy.go.expect delete mode 100644 Test/comp/Print.dfy.java.expect delete mode 100644 Test/comp/Print.dfy.js.expect delete mode 100644 Test/comp/TypeParams.dfy.go.expect delete mode 100644 Test/comp/TypeParams.dfy.java.expect delete mode 100644 Test/comp/TypeParams.dfy.js.expect delete mode 100644 Test/comp/TypeParams.dfy.py.expect delete mode 100644 Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect delete mode 100644 Test/dafny0/TypeMembers.dfy.verifier.expect delete mode 100644 Test/dafny2/StoreAndRetrieve.dfy.verifier.expect delete mode 100644 Test/dafny3/CachedContainer.dfy.verifier.expect delete mode 100644 Test/dafny4/ClassRefinement.dfy.verifier.expect delete mode 100644 Test/git-issues/git-issue-032.dfy.verifier.expect delete mode 100644 Test/git-issues/git-issue-1185.dfy.java.expect delete mode 100644 Test/git-issues/git-issue-179.dfy.go.expect delete mode 100644 Test/git-issues/git-issue-179.dfy.java.expect delete mode 100644 Test/git-issues/git-issue-179.dfy.js.expect delete mode 100644 Test/git-issues/git-issue-258.dfy.go.expect delete mode 100644 Test/git-issues/git-issue-258.dfy.js.expect delete mode 100644 Test/git-issues/git-issue-262.dfy.go.expect delete mode 100644 Test/git-issues/git-issue-262.dfy.java.expect delete mode 100644 Test/git-issues/git-issue-262.dfy.js.expect delete mode 100644 Test/git-issues/git-issue-686.dfy.verifier.expect delete mode 100644 Test/git-issues/git-issue-755.dfy.go.expect delete mode 100644 Test/git-issues/git-issue-755.dfy.java.expect delete mode 100644 Test/git-issues/git-issue-755.dfy.js.expect delete mode 100644 Test/unicodechars/comp/Collections.dfy.go.expect delete mode 100644 Test/unicodechars/comp/Collections.dfy.java.expect delete mode 100644 Test/unicodechars/comp/Collections.dfy.js.expect delete mode 100644 Test/unicodechars/comp/Collections.dfy.py.expect delete mode 100644 Test/unicodechars/comp/Comprehensions.dfy.py.expect delete mode 100644 Test/unicodechars/comp/Numbers.dfy.go.expect delete mode 100644 Test/unicodechars/comp/Numbers.dfy.py.expect diff --git a/Test/VerifyThis2015/Problem1.dfy b/Test/VerifyThis2015/Problem1.dfy index ab227e1ab85..20bd154ab8d 100644 --- a/Test/VerifyThis2015/Problem1.dfy +++ b/Test/VerifyThis2015/Problem1.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Rustan Leino // 12 April 2015 diff --git a/Test/VerifyThis2015/Problem1.dfy.expect b/Test/VerifyThis2015/Problem1.dfy.expect index 9e8a46acf90..110dd45761d 100644 --- a/Test/VerifyThis2015/Problem1.dfy.expect +++ b/Test/VerifyThis2015/Problem1.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 18 verified, 0 errors true true false diff --git a/Test/VerifyThis2015/Problem2.dfy b/Test/VerifyThis2015/Problem2.dfy index 9b57395e68b..7466df6d410 100644 --- a/Test/VerifyThis2015/Problem2.dfy +++ b/Test/VerifyThis2015/Problem2.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Rustan Leino // 13 April 2015, and many subsequent enhancements and revisions diff --git a/Test/VerifyThis2015/Problem2.dfy.expect b/Test/VerifyThis2015/Problem2.dfy.expect index e69de29bb2d..b49c1470365 100644 --- a/Test/VerifyThis2015/Problem2.dfy.expect +++ b/Test/VerifyThis2015/Problem2.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 32 verified, 0 errors diff --git a/Test/VerifyThis2015/Problem3.dfy b/Test/VerifyThis2015/Problem3.dfy index 1348acf0f4d..3be60b5d81a 100644 --- a/Test/VerifyThis2015/Problem3.dfy +++ b/Test/VerifyThis2015/Problem3.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Rustan Leino // 12 April 2015 // VerifyThis 2015 diff --git a/Test/VerifyThis2015/Problem3.dfy.expect b/Test/VerifyThis2015/Problem3.dfy.expect index e69de29bb2d..4bb1c2c7251 100644 --- a/Test/VerifyThis2015/Problem3.dfy.expect +++ b/Test/VerifyThis2015/Problem3.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 18 verified, 0 errors diff --git a/Test/c++/arrays.dfy b/Test/c++/arrays.dfy index a02b57e5ff8..47140146468 100644 --- a/Test/c++/arrays.dfy +++ b/Test/c++/arrays.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/arrays.dfy.expect b/Test/c++/arrays.dfy.expect index 2ce9320d8c2..552f9355593 100644 --- a/Test/c++/arrays.dfy.expect +++ b/Test/c++/arrays.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 9 verified, 0 errors 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/c++/bit-vectors.dfy b/Test/c++/bit-vectors.dfy index d27469e4ca5..b7f5d35df07 100644 --- a/Test/c++/bit-vectors.dfy +++ b/Test/c++/bit-vectors.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint64 = i:int | 0 <= i < 0x10000000000000000 diff --git a/Test/c++/bit-vectors.dfy.expect b/Test/c++/bit-vectors.dfy.expect index c491236b12b..e327aa2f73b 100644 --- a/Test/c++/bit-vectors.dfy.expect +++ b/Test/c++/bit-vectors.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 6 verified, 0 errors 084841024 diff --git a/Test/c++/class.dfy b/Test/c++/class.dfy index b10d703c981..3039bd0466b 100644 --- a/Test/c++/class.dfy +++ b/Test/c++/class.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/class.dfy.expect b/Test/c++/class.dfy.expect index 80f1587d0a2..93717ecfa9e 100644 --- a/Test/c++/class.dfy.expect +++ b/Test/c++/class.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 16 verified, 0 errors true true false 103 102 102 106 105 105 203 17 0 18 8 9 69 70 diff --git a/Test/c++/const.dfy b/Test/c++/const.dfy index 1bfb79f0361..5ab9a62e0e9 100644 --- a/Test/c++/const.dfy +++ b/Test/c++/const.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" module Holder { const x:bool := false diff --git a/Test/c++/const.dfy.expect b/Test/c++/const.dfy.expect index e69de29bb2d..823a60a105c 100644 --- a/Test/c++/const.dfy.expect +++ b/Test/c++/const.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 1 verified, 0 errors diff --git a/Test/c++/datatypes.dfy b/Test/c++/datatypes.dfy index f56b7907cc3..9d077b97575 100644 --- a/Test/c++/datatypes.dfy +++ b/Test/c++/datatypes.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/datatypes.dfy.expect b/Test/c++/datatypes.dfy.expect index c122f5af791..efa71b43546 100644 --- a/Test/c++/datatypes.dfy.expect +++ b/Test/c++/datatypes.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 12 verified, 0 errors Case A: 42 Case B: true This is expected diff --git a/Test/c++/generic.dfy b/Test/c++/generic.dfy index 374c545b9c1..7995928f93f 100644 --- a/Test/c++/generic.dfy +++ b/Test/c++/generic.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" class Test { var t:T diff --git a/Test/c++/generic.dfy.expect b/Test/c++/generic.dfy.expect index e69de29bb2d..00a51f822da 100644 --- a/Test/c++/generic.dfy.expect +++ b/Test/c++/generic.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 3 verified, 0 errors diff --git a/Test/c++/hello.dfy b/Test/c++/hello.dfy index 523d3152209..c887337c7e1 100644 --- a/Test/c++/hello.dfy +++ b/Test/c++/hello.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { print "Hello world\n"; diff --git a/Test/c++/hello.dfy.expect b/Test/c++/hello.dfy.expect index 802992c4220..87101fec036 100644 --- a/Test/c++/hello.dfy.expect +++ b/Test/c++/hello.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 0 verified, 0 errors Hello world diff --git a/Test/c++/ints.dfy b/Test/c++/ints.dfy index 4490a54817a..cf7ae63e0da 100644 --- a/Test/c++/ints.dfy +++ b/Test/c++/ints.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype sbyte = i:int | -0x80 <= i < 0x80 newtype byte = i:int | 0 <= i < 0x100 diff --git a/Test/c++/ints.dfy.expect b/Test/c++/ints.dfy.expect index 5fcb7b811cb..aeabccf73b0 100644 --- a/Test/c++/ints.dfy.expect +++ b/Test/c++/ints.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 15 verified, 0 errors Result is z = 42 diff --git a/Test/c++/maps.dfy b/Test/c++/maps.dfy index b88ebd56ad5..951d34e96f1 100644 --- a/Test/c++/maps.dfy +++ b/Test/c++/maps.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/maps.dfy.expect b/Test/c++/maps.dfy.expect index 80642c23257..482aa604356 100644 --- a/Test/c++/maps.dfy.expect +++ b/Test/c++/maps.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 9 verified, 0 errors Identity: This is expected ValuesIdentity: This is expected KeyMembership: This is expected diff --git a/Test/c++/recursion.dfy b/Test/c++/recursion.dfy index 36048aab527..e255b8e6b08 100644 --- a/Test/c++/recursion.dfy +++ b/Test/c++/recursion.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/recursion.dfy.expect b/Test/c++/recursion.dfy.expect index 1ea14926e89..15dbfe2bcd1 100644 --- a/Test/c++/recursion.dfy.expect +++ b/Test/c++/recursion.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 5 verified, 0 errors x !y 3 diff --git a/Test/c++/returns.dfy b/Test/c++/returns.dfy index 9e23121d26a..1ad19a8ce83 100644 --- a/Test/c++/returns.dfy +++ b/Test/c++/returns.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint64 = i:int | 0 <= i < 0x10000000000000000 diff --git a/Test/c++/returns.dfy.expect b/Test/c++/returns.dfy.expect index 48082f72f08..8db105eaba8 100644 --- a/Test/c++/returns.dfy.expect +++ b/Test/c++/returns.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors 12 diff --git a/Test/c++/seqs.dfy b/Test/c++/seqs.dfy index 903208b07f8..f97a42b2851 100644 --- a/Test/c++/seqs.dfy +++ b/Test/c++/seqs.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint8 = i:int | 0 <= i < 0x100 newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/seqs.dfy.expect b/Test/c++/seqs.dfy.expect index 16f5f9d22ea..23f01695bc9 100644 --- a/Test/c++/seqs.dfy.expect +++ b/Test/c++/seqs.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 11 verified, 0 errors Head second:2 Trunc first:2 Head trunc: This is expected diff --git a/Test/c++/sets.dfy b/Test/c++/sets.dfy index 10e2fe0501d..5bfb6f80f1e 100644 --- a/Test/c++/sets.dfy +++ b/Test/c++/sets.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/sets.dfy.expect b/Test/c++/sets.dfy.expect index 52a1e67717e..1c8ede8765e 100644 --- a/Test/c++/sets.dfy.expect +++ b/Test/c++/sets.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 8 verified, 0 errors Identity: This is expected ValuesIdentity: This is expected DiffIdentity: This is expected diff --git a/Test/c++/while.dfy b/Test/c++/while.dfy index 0c0d7ee98df..40dc4699d11 100644 --- a/Test/c++/while.dfy +++ b/Test/c++/while.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/while.dfy.expect b/Test/c++/while.dfy.expect index 9a44de1e2a3..8dfe872ca51 100644 --- a/Test/c++/while.dfy.expect +++ b/Test/c++/while.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 2 verified, 0 errors 0 1 2 diff --git a/Test/comp/Arrays.dfy b/Test/comp/Arrays.dfy index acb4225b358..566f052e0a6 100644 --- a/Test/comp/Arrays.dfy +++ b/Test/comp/Arrays.dfy @@ -1,5 +1,10 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false +// RUN: %baredafny verify %args --relax-definite-assignment "%s" > "%t" +// RUN: %baredafny run --unicode-char:false --no-verify --target=cs %args "%s" >> "%t" +// RUN: %baredafny run --unicode-char:false --no-verify --target=js %args "%s" >> "%t" +// RUN: %baredafny run --unicode-char:false --no-verify --target=go %args "%s" >> "%t" +// RUN: %baredafny run --unicode-char:false --no-verify --target=java %args "%s" >> "%t" +// RUN: %baredafny run --unicode-char:false --no-verify --target=py %args "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method LinearSearch(a: array, key: int) returns (n: nat) ensures 0 <= n <= a.Length diff --git a/Test/comp/Arrays.dfy.expect b/Test/comp/Arrays.dfy.expect index ef3b884f98a..8559e2f3c5c 100644 --- a/Test/comp/Arrays.dfy.expect +++ b/Test/comp/Arrays.dfy.expect @@ -1,3 +1,399 @@ + +Dafny program verifier finished with 89 verified, 0 errors + +Dafny program verifier did not attempt verification +0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 +17 +[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] +[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] +[20, 21, 22] +[0, 1, 2, 3, 4, 5, 6, 7] +[0, 1, 2, 3, 4, 5, 6, 7] +d d d +h e l l o +0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 +1 0 0 0 0 +0 1 0 0 0 +0 0 1 0 0 +cube dims: 3 0 4 +[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] +It's null +hi hello tjena hej hola +hi hello tjena hej hola +hi hello tjena hej hola +d d d +h e l l o +8 8 8 8 +true true true +1 1 1 1 1 +2 2 2 2 2 +3 3 3 3 3 +4 4 4 4 4 +(d, 8, true, 1, 2, 3, 4) +D D D +0 0 0 0 +false false false +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +(D, 0, false, 0, 0, 0, 0) +8 0 +false 0 null null +8 8 +8 8 +8 8 +8 8 +D D D +D D D +D D D +D D r (D, D, r) +D D r +[19, 18, 9, 8] + true + false + true + false + false + false + true + true + false + true + false + true + true + false +hello there +false false +true true +false false +false false +uninitialized bytes: array[0, 0, 0] +bytes from display: array[7, 8, 9] +bytes from lambda: array[20, 21, 22] +uninitialized 1bytes: array[1, 1, 1] +1bytes from display: array[7, 8, 9] +1bytes from lambda: array[20, 21, 22] +17 19 18 20 +100 200 300 120 38 +hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +DDDDDabcdeabcdeggggg +DDDDDabcdeabcdeggggg +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] +DDDDDDDDDDagggggaggg +0 69 50 +0 69 50 +D k n +false false +true true +false false +false false +true true + +Dafny program verifier did not attempt verification +0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 +17 +[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] +[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] +[20, 21, 22] +[0, 1, 2, 3, 4, 5, 6, 7] +[0, 1, 2, 3, 4, 5, 6, 7] +d d d +h e l l o +0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 +1 0 0 0 0 +0 1 0 0 0 +0 0 1 0 0 +cube dims: 3 0 4 +[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] +It's null +hi hello tjena hej hola +hi hello tjena hej hola +hi hello tjena hej hola +d d d +h e l l o +8 8 8 8 +true true true +1 1 1 1 1 +2 2 2 2 2 +3 3 3 3 3 +4 4 4 4 4 +(d, 8, true, 1, 2, 3, 4) +D D D +0 0 0 0 +false false false +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +(D, 0, false, 0, 0, 0, 0) +8 0 +false 0 null null +8 8 +8 8 +8 8 +8 8 +D D D +D D D +D D D +D D r (D, D, r) +D D r +[19, 18, 9, 8] + true + false + true + false + false + false + true + true + false + true + false + true + true + false +hello there +false false +true true +false false +false false +uninitialized bytes: array[0, 0, 0] +bytes from display: array[7, 8, 9] +bytes from lambda: array[20, 21, 22] +uninitialized 1bytes: array[1, 1, 1] +1bytes from display: array[7, 8, 9] +1bytes from lambda: array[20, 21, 22] +17 19 18 20 +100 200 300 120 38 +hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +DDDDDabcdeabcdeggggg +DDDDDabcdeabcdeggggg +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] +DDDDDDDDDDagggggaggg +0 69 50 +0 69 50 +D k n +false false +true true +false false +false false +true true + +Dafny program verifier did not attempt verification +0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 +17 +[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] +[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] +[20, 21, 22] +[0, 1, 2, 3, 4, 5, 6, 7] +[0, 1, 2, 3, 4, 5, 6, 7] +d d d +h e l l o +0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 +1 0 0 0 0 +0 1 0 0 0 +0 0 1 0 0 +cube dims: 3 0 4 +[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] +It's null +hi hello tjena hej hola +hi hello tjena hej hola +hi hello tjena hej hola +d d d +h e l l o +8 8 8 8 +true true true +1 1 1 1 1 +2 2 2 2 2 +3 3 3 3 3 +4 4 4 4 4 +(d, 8, true, 1, 2, 3, 4) +D D D +0 0 0 0 +false false false +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +(D, 0, false, 0, 0, 0, 0) +8 0 +false 0 null null +8 8 +8 8 +8 8 +8 8 +D D D +D D D +D D D +D D r (D, D, r) +D D r +[19, 18, 9, 8] + true + false + true + false + false + false + true + true + false + true + false + true + true + false +hello there +false false +true true +false false +false false +uninitialized bytes: array[0, 0, 0] +bytes from display: array[7, 8, 9] +bytes from lambda: array[20, 21, 22] +uninitialized 1bytes: array[1, 1, 1] +1bytes from display: array[7, 8, 9] +1bytes from lambda: array[20, 21, 22] +17 19 18 20 +100 200 300 120 38 +hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +DDDDDabcdeabcdeggggg +DDDDDabcdeabcdeggggg +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] +[D, D, D, D, D, D, D, D, D, D, a, g, g, g, g, g, a, g, g, g] +0 69 50 +0 69 50 +D k n +false false +true true +false false +false false +true true + +Dafny program verifier did not attempt verification +0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 +17 +[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] +[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] +[20, 21, 22] +[0, 1, 2, 3, 4, 5, 6, 7] +[0, 1, 2, 3, 4, 5, 6, 7] +d d d +h e l l o +0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 +1 0 0 0 0 +0 1 0 0 0 +0 0 1 0 0 +cube dims: 3 0 4 +[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] +It's null +hi hello tjena hej hola +hi hello tjena hej hola +hi hello tjena hej hola +d d d +h e l l o +8 8 8 8 +true true true +1 1 1 1 1 +2 2 2 2 2 +3 3 3 3 3 +4 4 4 4 4 +(d, 8, true, 1, 2, 3, 4) +D D D +0 0 0 0 +false false false +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +(D, 0, false, 0, 0, 0, 0) +8 0 +false 0 null null +8 8 +8 8 +8 8 +8 8 +D D D +D D D +D D D +D D r (D, D, r) +D D r +[19, 18, 9, 8] + true + false + true + false + false + false + true + true + false + true + false + true + true + false +hello there +false false +true true +false false +false false +uninitialized bytes: array[0, 0, 0] +bytes from display: array[7, 8, 9] +bytes from lambda: array[20, 21, 22] +uninitialized 1bytes: array[1, 1, 1] +1bytes from display: array[7, 8, 9] +1bytes from lambda: array[20, 21, 22] +17 19 18 20 +100 200 300 120 38 +hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +DDDDDabcdeabcdeggggg +DDDDDabcdeabcdeggggg +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] +DDDDDDDDDDagggggaggg +0 69 50 +0 69 50 +D k n +false false +true true +false false +false false +true true + +Dafny program verifier did not attempt verification 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/comp/Arrays.dfy.go.expect b/Test/comp/Arrays.dfy.go.expect deleted file mode 100644 index 1217623d90c..00000000000 --- a/Test/comp/Arrays.dfy.go.expect +++ /dev/null @@ -1,96 +0,0 @@ -0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 -17 -[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] -[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] -[20, 21, 22] -[0, 1, 2, 3, 4, 5, 6, 7] -[0, 1, 2, 3, 4, 5, 6, 7] -d d d -h e l l o -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -1 0 0 0 0 -0 1 0 0 0 -0 0 1 0 0 -cube dims: 3 0 4 -[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] -It's null -hi hello tjena hej hola -hi hello tjena hej hola -hi hello tjena hej hola -d d d -h e l l o -8 8 8 8 -true true true -1 1 1 1 1 -2 2 2 2 2 -3 3 3 3 3 -4 4 4 4 4 -(d, 8, true, 1, 2, 3, 4) -D D D -0 0 0 0 -false false false -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -(D, 0, false, 0, 0, 0, 0) -8 0 -false 0 null null -8 8 -8 8 -8 8 -8 8 -D D D -D D D -D D D -D D r (D, D, r) -D D r -[19, 18, 9, 8] - true - false - true - false - false - false - true - true - false - true - false - true - true - false -hello there -false false -true true -false false -false false -uninitialized bytes: array[0, 0, 0] -bytes from display: array[7, 8, 9] -bytes from lambda: array[20, 21, 22] -uninitialized 1bytes: array[1, 1, 1] -1bytes from display: array[7, 8, 9] -1bytes from lambda: array[20, 21, 22] -17 19 18 20 -100 200 300 120 38 -hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -DDDDDabcdeabcdeggggg -DDDDDabcdeabcdeggggg -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] -[D, D, D, D, D, D, D, D, D, D, a, g, g, g, g, g, a, g, g, g] -0 69 50 -0 69 50 -D k n -false false -true true -false false -false false -true true diff --git a/Test/comp/AsIs-Compile.dfy b/Test/comp/AsIs-Compile.dfy index 319847564e2..47084ed7633 100644 --- a/Test/comp/AsIs-Compile.dfy +++ b/Test/comp/AsIs-Compile.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" +// RUN: %baredafny verify %args "%s" > "%t" +// RUN: %baredafny run --no-verify -t=cs %args "%s" >> "%t" +// RUN: %baredafny run --no-verify -t=js %args "%s" >> "%t" +// RUN: %baredafny run --no-verify -t=go %args "%s" >> "%t" +// RUN: %baredafny run --no-verify -t=java %args "%s" >> "%t" +// RUN: %baredafny run --no-verify -t=py %args "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var a: A, b: B, c: C, k: K, l: L := new M, new M, new M, new K, new L; diff --git a/Test/comp/AsIs-Compile.dfy.expect b/Test/comp/AsIs-Compile.dfy.expect index acc78c6e155..36dfe46e91d 100644 --- a/Test/comp/AsIs-Compile.dfy.expect +++ b/Test/comp/AsIs-Compile.dfy.expect @@ -1,3 +1,163 @@ + +Dafny program verifier finished with 6 verified, 0 errors + +Dafny program verifier did not attempt verification +true true true true true +true true true true true +IsComparisons ---- +false true false false + true false false + true false +false false true false + false true false + false false +false false false true + false false true + false true +false true false false + false true false + false false +true true +false true +TestNullIs ---- +true true +true true +true true true true true true +true true true true true true +true true true true true true +true true true true true true +true true +false true +true true true true true true +false true false true false true +true true true true true true +false true false true false true +TestFromTraits ---- +5 +0 +4 +4 +4 +4 + +Dafny program verifier did not attempt verification +true true true true true +true true true true true +IsComparisons ---- +false true false false + true false false + true false +false false true false + false true false + false false +false false false true + false false true + false true +false true false false + false true false + false false +true true +false true +TestNullIs ---- +true true +true true +true true true true true true +true true true true true true +true true true true true true +true true true true true true +true true +false true +true true true true true true +false true false true false true +true true true true true true +false true false true false true +TestFromTraits ---- +5 +0 +4 +4 +4 +4 + +Dafny program verifier did not attempt verification +true true true true true +true true true true true +IsComparisons ---- +false true false false + true false false + true false +false false true false + false true false + false false +false false false true + false false true + false true +false true false false + false true false + false false +true true +false true +TestNullIs ---- +true true +true true +true true true true true true +true true true true true true +true true true true true true +true true true true true true +true true +false true +true true true true true true +false true false true false true +true true true true true true +false true false true false true +TestFromTraits ---- +5 +0 +4 +4 +4 +4 + +Dafny program verifier did not attempt verification +true true true true true +true true true true true +IsComparisons ---- +false true false false + true false false + true false +false false true false + false true false + false false +false false false true + false false true + false true +false true false false + false true false + false false +true true +false true +TestNullIs ---- +true true +true true +true true true true true true +true true true true true true +true true true true true true +true true true true true true +true true +false true +true true true true true true +false true false true false true +true true true true true true +false true false true false true +TestFromTraits ---- +5 +0 +4 +4 +4 +4 + +Dafny program verifier did not attempt verification true true true true true true true true true true IsComparisons ---- diff --git a/Test/comp/AutoInit.dfy b/Test/comp/AutoInit.dfy index c0e752efa36..b284619a80c 100644 --- a/Test/comp/AutoInit.dfy +++ b/Test/comp/AutoInit.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // This file tests the compilation of some default values. It also includes some // regression tests for equality, printing, and tuples. diff --git a/Test/comp/AutoInit.dfy.expect b/Test/comp/AutoInit.dfy.expect index a282fc36633..c8ed022d09b 100644 --- a/Test/comp/AutoInit.dfy.expect +++ b/Test/comp/AutoInit.dfy.expect @@ -1,3 +1,163 @@ + +Dafny program verifier finished with 21 verified, 0 errors + +Dafny program verifier did not attempt verification +3 false 0 +false false true +() (0, false, false, []) +(null, 0) (null, 0) true +(null, null, null, 0) (null, null, null, 0) true +true false false true +true false false true +17 +1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or +(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) +1 +ww == null -- yes, as expected +true true true true +true true true +true true true +null null +null null +null null null +null null null +null null null +null null null +null null +null null null +null null null +DatatypeDefaultValues_Compile.EnumDatatype.MakeZero + DatatypeDefaultValues_Compile.IntList.Nil + 0 +DatatypeDefaultValues_Compile.GenericTree.Leaf + DatatypeDefaultValues_Compile.Complicated.ComplA(0, false) + DatatypeDefaultValues_Compile.CellCell.MakeCellCell(0) +null + null +ImportedTypes_mLibrary_Compile.Color.Red(0) and ImportedTypes_mLibrary_Compile.Color.Red(0) +ImportedTypes_mLibrary_Compile.CoColor.Yellow and ImportedTypes_mLibrary_Compile.CoColor.Yellow +ImportedTypes_mLibrary_Compile.MoColor.MoYellow and ImportedTypes_mLibrary_Compile.MoColor.MoYellow +0.0 and 0.0 +13 + +Dafny program verifier did not attempt verification +3 false 0 +false false true +() (0, false, false, []) +(null, 0) (null, 0) true +(null, null, null, 0) (null, null, null, 0) true +true false false true +true false false true +17 +1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or +(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) +1 +ww == null -- yes, as expected +true true true true +true true true +true true true +null null +null null +null null null +null null null +null null null +null null null +null null +null null null +null null null +DatatypeDefaultValues_Compile.EnumDatatype.MakeZero + DatatypeDefaultValues_Compile.IntList.Nil + 0 +DatatypeDefaultValues_Compile.GenericTree.Leaf + DatatypeDefaultValues_Compile.Complicated.ComplA(0, false) + DatatypeDefaultValues_Compile.CellCell.MakeCellCell(0) +null + null +ImportedTypes_mLibrary_Compile.Color.Red(0) and ImportedTypes_mLibrary_Compile.Color.Red(0) +ImportedTypes_mLibrary_Compile.CoColor.Yellow and ImportedTypes_mLibrary_Compile.CoColor.Yellow +ImportedTypes_mLibrary_Compile.MoColor.MoYellow and ImportedTypes_mLibrary_Compile.MoColor.MoYellow +0.0 and 0.0 +13 + +Dafny program verifier did not attempt verification +3 false 0 +false false true +() (0, false, false, []) +(null, 0) (null, 0) true +(null, null, null, 0) (null, null, null, 0) true +true false false true +true false false true +17 +1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or +(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) +1 +ww == null -- yes, as expected +true true true true +true true true +true true true +null null +null null +null null null +null null null +null null null +null null null +null null +null null null +null null null +DatatypeDefaultValues_Compile.EnumDatatype.MakeZero + DatatypeDefaultValues_Compile.IntList.Nil + 0 +DatatypeDefaultValues_Compile.GenericTree.Leaf + DatatypeDefaultValues_Compile.Complicated.ComplA(0, false) + DatatypeDefaultValues_Compile.CellCell.MakeCellCell(0) +null + null +ImportedTypes_mLibrary_Compile.Color.Red(0) and ImportedTypes_mLibrary_Compile.Color.Red(0) +ImportedTypes_mLibrary_Compile.CoColor.Yellow and ImportedTypes_mLibrary_Compile.CoColor.Yellow +ImportedTypes_mLibrary_Compile.MoColor.MoYellow and ImportedTypes_mLibrary_Compile.MoColor.MoYellow +0.0 and 0.0 +13 + +Dafny program verifier did not attempt verification +3 false 0 +false false true +() (0, false, false, []) +(null, 0) (null, 0) true +(null, null, null, 0) (null, null, null, 0) true +true false false true +true false false true +17 +1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or +(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) +1 +ww == null -- yes, as expected +true true true true +true true true +true true true +null null +null null +null null null +null null null +null null null +null null null +null null +null null null +null null null +DatatypeDefaultValues_Compile.EnumDatatype.MakeZero + DatatypeDefaultValues_Compile.IntList.Nil + 0 +DatatypeDefaultValues_Compile.GenericTree.Leaf + DatatypeDefaultValues_Compile.Complicated.ComplA(0, false) + DatatypeDefaultValues_Compile.CellCell.MakeCellCell(0) +null + null +ImportedTypes_mLibrary_Compile.Color.Red(0) and ImportedTypes_mLibrary_Compile.Color.Red(0) +ImportedTypes_mLibrary_Compile.CoColor.Yellow and ImportedTypes_mLibrary_Compile.CoColor.Yellow +ImportedTypes_mLibrary_Compile.MoColor.MoYellow and ImportedTypes_mLibrary_Compile.MoColor.MoYellow +0.0 and 0.0 +13 + +Dafny program verifier did not attempt verification 3 false 0 false false true () (0, false, false, []) diff --git a/Test/comp/ByMethodCompilation.dfy b/Test/comp/ByMethodCompilation.dfy index 7432f72f7d4..ea62d84b21e 100644 --- a/Test/comp/ByMethodCompilation.dfy +++ b/Test/comp/ByMethodCompilation.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var four := Four(); diff --git a/Test/comp/ByMethodCompilation.dfy.expect b/Test/comp/ByMethodCompilation.dfy.expect index d61780e3fb8..1519a955b0c 100644 --- a/Test/comp/ByMethodCompilation.dfy.expect +++ b/Test/comp/ByMethodCompilation.dfy.expect @@ -1,3 +1,35 @@ + +Dafny program verifier finished with 13 verified, 0 errors + +Dafny program verifier did not attempt verification +hello +four is 4 +Recursive(7) = 14 +NonCompilableFunction: 4 7 +Sums: 14 3 + +Dafny program verifier did not attempt verification +hello +four is 4 +Recursive(7) = 14 +NonCompilableFunction: 4 7 +Sums: 14 3 + +Dafny program verifier did not attempt verification +hello +four is 4 +Recursive(7) = 14 +NonCompilableFunction: 4 7 +Sums: 14 3 + +Dafny program verifier did not attempt verification +hello +four is 4 +Recursive(7) = 14 +NonCompilableFunction: 4 7 +Sums: 14 3 + +Dafny program verifier did not attempt verification hello four is 4 Recursive(7) = 14 diff --git a/Test/comp/Calls.dfy b/Test/comp/Calls.dfy index c56bc3e5286..4a4916aea0c 100644 --- a/Test/comp/Calls.dfy +++ b/Test/comp/Calls.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" function F(x: int, y: bool): int { x + if y then 2 else 3 diff --git a/Test/comp/Calls.dfy.expect b/Test/comp/Calls.dfy.expect index cf4e1bc155b..3317b8be164 100644 --- a/Test/comp/Calls.dfy.expect +++ b/Test/comp/Calls.dfy.expect @@ -1,3 +1,43 @@ + +Dafny program verifier finished with 6 verified, 0 errors + +Dafny program verifier did not attempt verification +5 0 0 false 0 false 0 +5 3 5 3 5 3 +5 3 5 3 5 3 +15 +[0, 1, 2, 4] +[0, 2, 4] +--> 5 <-- + +Dafny program verifier did not attempt verification +5 0 0 false 0 false 0 +5 3 5 3 5 3 +5 3 5 3 5 3 +15 +[0, 1, 2, 4] +[0, 2, 4] +--> 5 <-- + +Dafny program verifier did not attempt verification +5 0 0 false 0 false 0 +5 3 5 3 5 3 +5 3 5 3 5 3 +15 +[0, 1, 2, 4] +[0, 2, 4] +--> 5 <-- + +Dafny program verifier did not attempt verification +5 0 0 false 0 false 0 +5 3 5 3 5 3 +5 3 5 3 5 3 +15 +[0, 1, 2, 4] +[0, 2, 4] +--> 5 <-- + +Dafny program verifier did not attempt verification 5 0 0 false 0 false 0 5 3 5 3 5 3 5 3 5 3 5 3 diff --git a/Test/comp/Class.dfy b/Test/comp/Class.dfy index 23591e43450..fb994f008e7 100644 --- a/Test/comp/Class.dfy +++ b/Test/comp/Class.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" class MyClass { var a: int diff --git a/Test/comp/Class.dfy.expect b/Test/comp/Class.dfy.expect index 47e49966664..ba1482a164b 100644 --- a/Test/comp/Class.dfy.expect +++ b/Test/comp/Class.dfy.expect @@ -1,3 +1,75 @@ + +Dafny program verifier finished with 16 verified, 0 errors + +Dafny program verifier did not attempt verification +true true false +103 103 103 106 106 106 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +0 18 9 70 +0 18 9 70 +0 18 9 70 +70 +hi later +21 4 42 5 1 +TestGhostables +15 +Init called with x=15 +16 + +Dafny program verifier did not attempt verification +true true false +103 103 103 106 106 106 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +0 18 9 70 +0 18 9 70 +0 18 9 70 +70 +hi later +21 4 42 5 1 +TestGhostables +15 +Init called with x=15 +16 + +Dafny program verifier did not attempt verification +true true false +103 103 103 106 106 106 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +0 18 9 70 +0 18 9 70 +0 18 9 70 +70 +hi later +21 4 42 5 1 +TestGhostables +15 +Init called with x=15 +16 + +Dafny program verifier did not attempt verification +true true false +103 103 103 106 106 106 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +0 18 9 70 +0 18 9 70 +0 18 9 70 +70 +hi later +21 4 42 5 1 +TestGhostables +15 +Init called with x=15 +16 + +Dafny program verifier did not attempt verification true true false 103 103 103 106 106 106 203 17 0 18 8 9 69 70 diff --git a/Test/comp/Collections.dfy b/Test/comp/Collections.dfy index 9457e44b170..104eb9f90ac 100644 --- a/Test/comp/Collections.dfy +++ b/Test/comp/Collections.dfy @@ -1,5 +1,10 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { Sets(); diff --git a/Test/comp/Collections.dfy.expect b/Test/comp/Collections.dfy.expect index e705d887a7d..2361c1a88db 100644 --- a/Test/comp/Collections.dfy.expect +++ b/Test/comp/Collections.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 40 verified, 0 errors + +Dafny program verifier did not attempt verification Sets: {} {17, 82} {12, 17} cardinality: 0 2 2 union: {17, 82} {12, 17, 82} @@ -123,3 +127,511 @@ Multiset=== 1 3 |s|=2 |u|=4 1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Yellow := 21, Color.Blue := 30] +keys: {Color.Yellow, Color.Blue} +values: {21, 30} +items: {(Color.Yellow, 21), (Color.Blue, 30)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {21, 30} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/comp/Collections.dfy.go.expect b/Test/comp/Collections.dfy.go.expect deleted file mode 100644 index 309d0c550c4..00000000000 --- a/Test/comp/Collections.dfy.go.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/comp/Collections.dfy.java.expect b/Test/comp/Collections.dfy.java.expect deleted file mode 100644 index ed929a4d34c..00000000000 --- a/Test/comp/Collections.dfy.java.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Yellow := 21, Color.Blue := 30] -keys: {Color.Yellow, Color.Blue} -values: {21, 30} -items: {(Color.Yellow, 21), (Color.Blue, 30)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/comp/Collections.dfy.js.expect b/Test/comp/Collections.dfy.js.expect deleted file mode 100644 index 309d0c550c4..00000000000 --- a/Test/comp/Collections.dfy.js.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/comp/Collections.dfy.py.expect b/Test/comp/Collections.dfy.py.expect deleted file mode 100644 index 61b4217bbaf..00000000000 --- a/Test/comp/Collections.dfy.py.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {21, 30} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/comp/Comprehensions.dfy b/Test/comp/Comprehensions.dfy index 73c43b22bfa..29ac368f2c3 100644 --- a/Test/comp/Comprehensions.dfy +++ b/Test/comp/Comprehensions.dfy @@ -1,5 +1,10 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { AssignSuchThat(); diff --git a/Test/comp/Comprehensions.dfy.expect b/Test/comp/Comprehensions.dfy.expect index c9703fc9397..18159ddde0a 100644 --- a/Test/comp/Comprehensions.dfy.expect +++ b/Test/comp/Comprehensions.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 32 verified, 0 errors + +Dafny program verifier did not attempt verification x=13 y=14 x=13 y=14 b=yes true false @@ -60,3 +64,259 @@ true true [137438953474, 137438953475, 137438953476, 137438953477, 137438953479] cdefh cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[14 := 7, 12 := 6, 13 := 6] +map[18 := 14, 17 := 13, 16 := 12] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh diff --git a/Test/comp/Comprehensions.dfy.py.expect b/Test/comp/Comprehensions.dfy.py.expect deleted file mode 100644 index aeaa31fc0f3..00000000000 --- a/Test/comp/Comprehensions.dfy.py.expect +++ /dev/null @@ -1,62 +0,0 @@ -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[14 := 7, 12 := 6, 13 := 6] -map[18 := 14, 17 := 13, 16 := 12] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh diff --git a/Test/comp/ComprehensionsNewSyntax.dfy b/Test/comp/ComprehensionsNewSyntax.dfy index 6cd88aeb4f7..a324b622e8a 100644 --- a/Test/comp/ComprehensionsNewSyntax.dfy +++ b/Test/comp/ComprehensionsNewSyntax.dfy @@ -1,5 +1,10 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { Quantifier(); diff --git a/Test/comp/ComprehensionsNewSyntax.dfy.expect b/Test/comp/ComprehensionsNewSyntax.dfy.expect index b70314ff87b..408769f4b67 100644 --- a/Test/comp/ComprehensionsNewSyntax.dfy.expect +++ b/Test/comp/ComprehensionsNewSyntax.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 10 verified, 0 errors + +Dafny program verifier did not attempt verification true false true false map[12 := 6, 13 := 6, 14 := 7] @@ -32,3 +36,147 @@ false false false false true true true true false false false false true true true true + +Dafny program verifier did not attempt verification +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true + +Dafny program verifier did not attempt verification +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true + +Dafny program verifier did not attempt verification +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true + +Dafny program verifier did not attempt verification +true false +true false +map[14 := 7, 12 := 6, 13 := 6] +map[18 := 14, 17 := 13, 16 := 12] +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true diff --git a/Test/comp/ComprehensionsNewSyntax.dfy.py.expect b/Test/comp/ComprehensionsNewSyntax.dfy.py.expect deleted file mode 100644 index b19cef0ba0e..00000000000 --- a/Test/comp/ComprehensionsNewSyntax.dfy.py.expect +++ /dev/null @@ -1,34 +0,0 @@ -true false -true false -map[14 := 7, 12 := 6, 13 := 6] -map[18 := 14, 17 := 13, 16 := 12] -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true diff --git a/Test/comp/CovariantCollections.dfy b/Test/comp/CovariantCollections.dfy index 6dd73ee7fea..12301df3b09 100644 --- a/Test/comp/CovariantCollections.dfy +++ b/Test/comp/CovariantCollections.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { Sequences(); diff --git a/Test/comp/CovariantCollections.dfy.expect b/Test/comp/CovariantCollections.dfy.expect index a9d00f4a65d..e029d3abc3b 100644 --- a/Test/comp/CovariantCollections.dfy.expect +++ b/Test/comp/CovariantCollections.dfy.expect @@ -1,3 +1,223 @@ + +Dafny program verifier finished with 25 verified, 0 errors + +Dafny program verifier did not attempt verification +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17] [12, 17] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + comprehension: {82} + union: {17, 82} {12, 17, 82} + intersection: {} {17} + difference: {} {82} + subset: true false true + proper subset: true false false + membership: false true true +Multisets: {} {17, 17, 82, 82} {12, 17} + cardinality: 0 4 2 + update: {17, 17, 42, 42, 42} {12, 17, 42} + multiplicity: 2 0 20 + union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} + intersection: {} {17, 82, 82} + difference: {} {17, 82, 82} + subset: true false true + proper subset: true false false + membership: false true true +Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} + cardinality: 0 3 2 + update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} + comprehension: {17 := 12, 82 := 12} + Keys: {12, 17, 82} + Values: {17, 82} + eq: false true true + eq: true true true true true true + eq: true true true true true true + eq: true false true false true false + eq: true false true false true false + eq: true true true true true true + eq: true true true true true true +set: {20, 30} +multiset: {20, 30} +seq: [20, 30] +map: {20 := 30, 30 := 20} +true +true +1 1 +1 1 + +Dafny program verifier did not attempt verification +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17] [12, 17] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + comprehension: {82} + union: {17, 82} {12, 17, 82} + intersection: {} {17} + difference: {} {82} + subset: true false true + proper subset: true false false + membership: false true true +Multisets: {} {17, 17, 82, 82} {12, 17} + cardinality: 0 4 2 + update: {17, 17, 42, 42, 42} {12, 17, 42} + multiplicity: 2 0 20 + union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} + intersection: {} {17, 82, 82} + difference: {} {17, 82, 82} + subset: true false true + proper subset: true false false + membership: false true true +Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} + cardinality: 0 3 2 + update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} + comprehension: {17 := 12, 82 := 12} + Keys: {12, 17, 82} + Values: {17, 82} + eq: false true true + eq: true true true true true true + eq: true true true true true true + eq: true false true false true false + eq: true false true false true false + eq: true true true true true true + eq: true true true true true true +set: {20, 30} +multiset: {20, 30} +seq: [20, 30] +map: {20 := 30, 30 := 20} +true +true +1 1 +1 1 + +Dafny program verifier did not attempt verification +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17] [12, 17] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + comprehension: {82} + union: {17, 82} {12, 17, 82} + intersection: {} {17} + difference: {} {82} + subset: true false true + proper subset: true false false + membership: false true true +Multisets: {} {17, 17, 82, 82} {12, 17} + cardinality: 0 4 2 + update: {17, 17, 42, 42, 42} {12, 17, 42} + multiplicity: 2 0 20 + union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} + intersection: {} {17, 82, 82} + difference: {} {17, 82, 82} + subset: true false true + proper subset: true false false + membership: false true true +Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} + cardinality: 0 3 2 + update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} + comprehension: {17 := 12, 82 := 12} + Keys: {12, 17, 82} + Values: {17, 82} + eq: false true true + eq: true true true true true true + eq: true true true true true true + eq: true false true false true false + eq: true false true false true false + eq: true true true true true true + eq: true true true true true true +set: {20, 30} +multiset: {20, 30} +seq: [20, 30] +map: {20 := 30, 30 := 20} +true +true +1 1 +1 1 + +Dafny program verifier did not attempt verification +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17] [12, 17] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + comprehension: {82} + union: {17, 82} {12, 17, 82} + intersection: {} {17} + difference: {} {82} + subset: true false true + proper subset: true false false + membership: false true true +Multisets: {} {17, 17, 82, 82} {12, 17} + cardinality: 0 4 2 + update: {17, 17, 42, 42, 42} {12, 17, 42} + multiplicity: 2 0 20 + union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} + intersection: {} {17, 82, 82} + difference: {} {17, 82, 82} + subset: true false true + proper subset: true false false + membership: false true true +Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} + cardinality: 0 3 2 + update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} + comprehension: {17 := 12, 82 := 12} + Keys: {12, 17, 82} + Values: {17, 82} + eq: false true true + eq: true true true true true true + eq: true true true true true true + eq: true false true false true false + eq: true false true false true false + eq: true true true true true true + eq: true true true true true true +set: {20, 30} +multiset: {20, 30} +seq: [20, 30] +map: {20 := 30, 30 := 20} +true +true +1 1 +1 1 + +Dafny program verifier did not attempt verification Sequences: [] [17, 82, 17, 82] [12, 17] cardinality: 0 4 2 update: [42, 82, 17, 82] [42, 17] diff --git a/Test/comp/Datatype.dfy b/Test/comp/Datatype.dfy index 3b3f0641c1a..0f4bab7c469 100644 --- a/Test/comp/Datatype.dfy +++ b/Test/comp/Datatype.dfy @@ -1,5 +1,10 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype List = Nil | Cons(head: int, tail: List) diff --git a/Test/comp/Datatype.dfy.expect b/Test/comp/Datatype.dfy.expect index 93e37a9562a..84dceeb16e6 100644 --- a/Test/comp/Datatype.dfy.expect +++ b/Test/comp/Datatype.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 12 verified, 0 errors + +Dafny program verifier did not attempt verification List.Nil List.Cons(5, List.Nil) (List.Nil, List.Cons(5, List.Nil)) @@ -20,3 +24,99 @@ Record.Record(58, true) 199 800 801 802 800 801 802 + +Dafny program verifier did not attempt verification +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) +0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) +Stream.Next +Stream.Next +{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} +CoBerry.Hjortron true true false +false +42 'q' hello +1701 +Record.Record(58, true) +199 +800 801 802 +800 801 802 + +Dafny program verifier did not attempt verification +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) +0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) +Stream.Next +Stream.Next +{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} +CoBerry.Hjortron true true false +false +42 'q' hello +1701 +Record.Record(58, true) +199 +800 801 802 +800 801 802 + +Dafny program verifier did not attempt verification +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) +0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) +Stream.Next +Stream.Next +{Berry.Jordgubb, Berry.Smultron, Berry.Hallon} +CoBerry.Hjortron true true false +false +42 'q' hello +1701 +Record.Record(58, true) +199 +800 801 802 +800 801 802 + +Dafny program verifier did not attempt verification +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) +0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) +Stream.Next +Stream.Next +{Berry.Hallon, Berry.Smultron, Berry.Jordgubb} +CoBerry.Hjortron true true false +false +42 'q' hello +1701 +Record.Record(58, true) +199 +800 801 802 +800 801 802 diff --git a/Test/comp/Datatype.dfy.java.expect b/Test/comp/Datatype.dfy.java.expect deleted file mode 100644 index e5a32fd58bc..00000000000 --- a/Test/comp/Datatype.dfy.java.expect +++ /dev/null @@ -1,22 +0,0 @@ -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) -0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) -Stream.Next -Stream.Next -{Berry.Jordgubb, Berry.Smultron, Berry.Hallon} -CoBerry.Hjortron true true false -false -42 'q' hello -1701 -Record.Record(58, true) -199 -800 801 802 -800 801 802 diff --git a/Test/comp/Datatype.dfy.py.expect b/Test/comp/Datatype.dfy.py.expect deleted file mode 100644 index 0f64b73ba2d..00000000000 --- a/Test/comp/Datatype.dfy.py.expect +++ /dev/null @@ -1,22 +0,0 @@ -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) -0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) -Stream.Next -Stream.Next -{Berry.Hallon, Berry.Smultron, Berry.Jordgubb} -CoBerry.Hjortron true true false -false -42 'q' hello -1701 -Record.Record(58, true) -199 -800 801 802 -800 801 802 diff --git a/Test/comp/DefaultParameters-Compile.dfy b/Test/comp/DefaultParameters-Compile.dfy index cd6ba1163b1..145b8670647 100644 --- a/Test/comp/DefaultParameters-Compile.dfy +++ b/Test/comp/DefaultParameters-Compile.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method M(x: int := 16) { print x, "\n"; diff --git a/Test/comp/DefaultParameters-Compile.dfy.expect b/Test/comp/DefaultParameters-Compile.dfy.expect index b4b87321eb5..b94739d5be1 100644 --- a/Test/comp/DefaultParameters-Compile.dfy.expect +++ b/Test/comp/DefaultParameters-Compile.dfy.expect @@ -1,3 +1,51 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification +12 +16 +1 2 +1 3 +10 20 +11 13 +Color.Blue(2, 1) Color.Red(3, 4) +5 5 6 +6 6 7 + +Dafny program verifier did not attempt verification +12 +16 +1 2 +1 3 +10 20 +11 13 +Color.Blue(2, 1) Color.Red(3, 4) +5 5 6 +6 6 7 + +Dafny program verifier did not attempt verification +12 +16 +1 2 +1 3 +10 20 +11 13 +Color.Blue(2, 1) Color.Red(3, 4) +5 5 6 +6 6 7 + +Dafny program verifier did not attempt verification +12 +16 +1 2 +1 3 +10 20 +11 13 +Color.Blue(2, 1) Color.Red(3, 4) +5 5 6 +6 6 7 + +Dafny program verifier did not attempt verification 12 16 1 2 diff --git a/Test/comp/DowncastClone.dfy b/Test/comp/DowncastClone.dfy index cb1f095b3f4..b90066da781 100644 --- a/Test/comp/DowncastClone.dfy +++ b/Test/comp/DowncastClone.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Co<+T> = Co(T) | C datatype ReCo<+T> = ReCo(T) diff --git a/Test/comp/DowncastClone.dfy.expect b/Test/comp/DowncastClone.dfy.expect index b0613294f3c..982b36b396c 100644 --- a/Test/comp/DowncastClone.dfy.expect +++ b/Test/comp/DowncastClone.dfy.expect @@ -1,3 +1,43 @@ + +Dafny program verifier finished with 7 verified, 0 errors + +Dafny program verifier did not attempt verification +Co.Co(_module.Y) and Co.Co(_module.Y) +_module.Y and _module.Y +_module.Y _module.Y +false and false +false and false +_module.Y and _module.Y +Done + +Dafny program verifier did not attempt verification +Co.Co(_module.Y) and Co.Co(_module.Y) +_module.Y and _module.Y +_module.Y _module.Y +false and false +false and false +_module.Y and _module.Y +Done + +Dafny program verifier did not attempt verification +Co.Co(_module.Y) and Co.Co(_module.Y) +_module.Y and _module.Y +_module.Y _module.Y +false and false +false and false +_module.Y and _module.Y +Done + +Dafny program verifier did not attempt verification +Co.Co(_module.Y) and Co.Co(_module.Y) +_module.Y and _module.Y +_module.Y _module.Y +false and false +false and false +_module.Y and _module.Y +Done + +Dafny program verifier did not attempt verification Co.Co(_module.Y) and Co.Co(_module.Y) _module.Y and _module.Y _module.Y _module.Y diff --git a/Test/comp/ErasableTypeWrappers.dfy b/Test/comp/ErasableTypeWrappers.dfy index a280099699f..d62d3736622 100644 --- a/Test/comp/ErasableTypeWrappers.dfy +++ b/Test/comp/ErasableTypeWrappers.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype SingletonRecord = SingletonRecord(u: int) datatype GhostOrNot = ghost Ghost(a: int, b: int) | Compiled(x: int) diff --git a/Test/comp/ErasableTypeWrappers.dfy.expect b/Test/comp/ErasableTypeWrappers.dfy.expect index 7dd41a194ac..602e30d2075 100644 --- a/Test/comp/ErasableTypeWrappers.dfy.expect +++ b/Test/comp/ErasableTypeWrappers.dfy.expect @@ -1,3 +1,87 @@ + +Dafny program verifier finished with 10 verified, 0 errors + +Dafny program verifier did not attempt verification +62 63 (2, 5) (2, 5) 3 +62 63 5 5 3 +5 5 3 +1062 1063 1005 1005 1003 +true true true +20 20 *20 21 20 +20 20 *20 21 20 +true false +true false true false +true false +0 (0, 0) 0 Color.Pink +13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false + 3.14 2.7 +18.0 18.0 3.0 false +18.0 4.0 true +HasConst.MakeC(4) (4, 4) +4 (4, 4) +OptimizationChecks_Compile.Ints.Ints(5, 7) OptimizationChecks_Compile.Ints.Ints(5, 7) OptimizationChecks_Compile.Ints.AnotherIntsWrapper(OptimizationChecks_Compile.Ints.Ints(5, 7)) + +Dafny program verifier did not attempt verification +62 63 (2, 5) (2, 5) 3 +62 63 5 5 3 +5 5 3 +1062 1063 1005 1005 1003 +true true true +20 20 *20 21 20 +20 20 *20 21 20 +true false +true false true false +true false +0 (0, 0) 0 Color.Pink +13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false + 3.14 2.7 +18.0 18.0 3.0 false +18.0 4.0 true +HasConst.MakeC(4) (4, 4) +4 (4, 4) +OptimizationChecks_Compile.Ints.Ints(5, 7) OptimizationChecks_Compile.Ints.Ints(5, 7) OptimizationChecks_Compile.Ints.AnotherIntsWrapper(OptimizationChecks_Compile.Ints.Ints(5, 7)) + +Dafny program verifier did not attempt verification +62 63 (2, 5) (2, 5) 3 +62 63 5 5 3 +5 5 3 +1062 1063 1005 1005 1003 +true true true +20 20 *20 21 20 +20 20 *20 21 20 +true false +true false true false +true false +0 (0, 0) 0 Color.Pink +13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false + 3.14 2.7 +18.0 18.0 3.0 false +18.0 4.0 true +HasConst.MakeC(4) (4, 4) +4 (4, 4) +OptimizationChecks_Compile.Ints.Ints(5, 7) OptimizationChecks_Compile.Ints.Ints(5, 7) OptimizationChecks_Compile.Ints.AnotherIntsWrapper(OptimizationChecks_Compile.Ints.Ints(5, 7)) + +Dafny program verifier did not attempt verification +62 63 (2, 5) (2, 5) 3 +62 63 5 5 3 +5 5 3 +1062 1063 1005 1005 1003 +true true true +20 20 *20 21 20 +20 20 *20 21 20 +true false +true false true false +true false +0 (0, 0) 0 Color.Pink +13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false + 3.14 2.7 +18.0 18.0 3.0 false +18.0 4.0 true +HasConst.MakeC(4) (4, 4) +4 (4, 4) +OptimizationChecks_Compile.Ints.Ints(5, 7) OptimizationChecks_Compile.Ints.Ints(5, 7) OptimizationChecks_Compile.Ints.AnotherIntsWrapper(OptimizationChecks_Compile.Ints.Ints(5, 7)) + +Dafny program verifier did not attempt verification 62 63 (2, 5) (2, 5) 3 62 63 5 5 3 5 5 3 diff --git a/Test/comp/EuclideanDivision.dfy b/Test/comp/EuclideanDivision.dfy index 1286dcd125b..7ae1803cad8 100644 --- a/Test/comp/EuclideanDivision.dfy +++ b/Test/comp/EuclideanDivision.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // Some runtimes (like the one for C#) have three implementations // of Euclidean div/mod: one for `int`, one for `long`, and one diff --git a/Test/comp/EuclideanDivision.dfy.expect b/Test/comp/EuclideanDivision.dfy.expect index e2585ff8c70..b538c9494de 100644 --- a/Test/comp/EuclideanDivision.dfy.expect +++ b/Test/comp/EuclideanDivision.dfy.expect @@ -1,3 +1,39 @@ + +Dafny program verifier finished with 11 verified, 0 errors + +Dafny program verifier did not attempt verification +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 + +Dafny program verifier did not attempt verification +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 + +Dafny program verifier did not attempt verification +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 + +Dafny program verifier did not attempt verification +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 + +Dafny program verifier did not attempt verification 2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 diff --git a/Test/comp/ForLoops-Compilation.dfy b/Test/comp/ForLoops-Compilation.dfy index b468d21f69f..97101b82961 100644 --- a/Test/comp/ForLoops-Compilation.dfy +++ b/Test/comp/ForLoops-Compilation.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { TestM(0, 0); diff --git a/Test/comp/ForLoops-Compilation.dfy.expect b/Test/comp/ForLoops-Compilation.dfy.expect index 97724a714bc..d67a5429fed 100644 --- a/Test/comp/ForLoops-Compilation.dfy.expect +++ b/Test/comp/ForLoops-Compilation.dfy.expect @@ -1,3 +1,203 @@ + +Dafny program verifier finished with 23 verified, 0 errors + +Dafny program verifier did not attempt verification +0 0 0 0 +-2 -2 -2 -2 +0 0 0 0 +145 145 145 145 +0 0 +0 0 +57 57 +0 0 +32385 32385 +0 0 +-128 -128 +126 126 +0 0 +0 * 2 == 0 +2 * 0 == 0 +1 * 1 == 1 +6 * 5 == 30 +0 + 3 == 3 +3 + 0 == 3 +4 + 0 == 4 +0 + 0 == 0 +19 + 14 == 33 +4 4 4 +== BC10 == +0 --++--++---- *** +1 --++--++----++-- +2 --++--++----++--++--++--++--++--++--++ *** +3 --++--++----++--++--++--++--++--++--++ *** +4 --++--++----++--++--++--++--++--++--++ *** +5 --++--++----++--++--++--++--++--++--++ *** +6 --++--++----++--++--++--++--++--++--++ *** +7 --++--++----++--++--++--++--++--++--++ *** +8 --++--++----++--++--++--++--++--++--++ *** +9 --++--++----++--++--++--++--++--++--++ *** +== BC11 == +0 ||--++----++-- *** +1 ||--++----++--++-- +2 ||--++----++--++--++--++--++--++--++--++ *** +3 ||--++----++--++--++--++--++--++--++--++ *** +4 ||--++----++--++--++--++--++--++--++--++ *** +5 ||--++----++--++--++--++--++--++--++--++ *** +6 ||--++----++--++--++--++--++--++--++--++ *** +7 ||--++----++--++--++--++--++--++--++--++ *** +8 ||--++----++--++--++--++--++--++--++--++ *** +9 ||--++----++--++--++--++--++--++--++--++ *** +true true true 15 +all good + +Dafny program verifier did not attempt verification +0 0 0 0 +-2 -2 -2 -2 +0 0 0 0 +145 145 145 145 +0 0 +0 0 +57 57 +0 0 +32385 32385 +0 0 +-128 -128 +126 126 +0 0 +0 * 2 == 0 +2 * 0 == 0 +1 * 1 == 1 +6 * 5 == 30 +0 + 3 == 3 +3 + 0 == 3 +4 + 0 == 4 +0 + 0 == 0 +19 + 14 == 33 +4 4 4 +== BC10 == +0 --++--++---- *** +1 --++--++----++-- +2 --++--++----++--++--++--++--++--++--++ *** +3 --++--++----++--++--++--++--++--++--++ *** +4 --++--++----++--++--++--++--++--++--++ *** +5 --++--++----++--++--++--++--++--++--++ *** +6 --++--++----++--++--++--++--++--++--++ *** +7 --++--++----++--++--++--++--++--++--++ *** +8 --++--++----++--++--++--++--++--++--++ *** +9 --++--++----++--++--++--++--++--++--++ *** +== BC11 == +0 ||--++----++-- *** +1 ||--++----++--++-- +2 ||--++----++--++--++--++--++--++--++--++ *** +3 ||--++----++--++--++--++--++--++--++--++ *** +4 ||--++----++--++--++--++--++--++--++--++ *** +5 ||--++----++--++--++--++--++--++--++--++ *** +6 ||--++----++--++--++--++--++--++--++--++ *** +7 ||--++----++--++--++--++--++--++--++--++ *** +8 ||--++----++--++--++--++--++--++--++--++ *** +9 ||--++----++--++--++--++--++--++--++--++ *** +true true true 15 +all good + +Dafny program verifier did not attempt verification +0 0 0 0 +-2 -2 -2 -2 +0 0 0 0 +145 145 145 145 +0 0 +0 0 +57 57 +0 0 +32385 32385 +0 0 +-128 -128 +126 126 +0 0 +0 * 2 == 0 +2 * 0 == 0 +1 * 1 == 1 +6 * 5 == 30 +0 + 3 == 3 +3 + 0 == 3 +4 + 0 == 4 +0 + 0 == 0 +19 + 14 == 33 +4 4 4 +== BC10 == +0 --++--++---- *** +1 --++--++----++-- +2 --++--++----++--++--++--++--++--++--++ *** +3 --++--++----++--++--++--++--++--++--++ *** +4 --++--++----++--++--++--++--++--++--++ *** +5 --++--++----++--++--++--++--++--++--++ *** +6 --++--++----++--++--++--++--++--++--++ *** +7 --++--++----++--++--++--++--++--++--++ *** +8 --++--++----++--++--++--++--++--++--++ *** +9 --++--++----++--++--++--++--++--++--++ *** +== BC11 == +0 ||--++----++-- *** +1 ||--++----++--++-- +2 ||--++----++--++--++--++--++--++--++--++ *** +3 ||--++----++--++--++--++--++--++--++--++ *** +4 ||--++----++--++--++--++--++--++--++--++ *** +5 ||--++----++--++--++--++--++--++--++--++ *** +6 ||--++----++--++--++--++--++--++--++--++ *** +7 ||--++----++--++--++--++--++--++--++--++ *** +8 ||--++----++--++--++--++--++--++--++--++ *** +9 ||--++----++--++--++--++--++--++--++--++ *** +true true true 15 +all good + +Dafny program verifier did not attempt verification +0 0 0 0 +-2 -2 -2 -2 +0 0 0 0 +145 145 145 145 +0 0 +0 0 +57 57 +0 0 +32385 32385 +0 0 +-128 -128 +126 126 +0 0 +0 * 2 == 0 +2 * 0 == 0 +1 * 1 == 1 +6 * 5 == 30 +0 + 3 == 3 +3 + 0 == 3 +4 + 0 == 4 +0 + 0 == 0 +19 + 14 == 33 +4 4 4 +== BC10 == +0 --++--++---- *** +1 --++--++----++-- +2 --++--++----++--++--++--++--++--++--++ *** +3 --++--++----++--++--++--++--++--++--++ *** +4 --++--++----++--++--++--++--++--++--++ *** +5 --++--++----++--++--++--++--++--++--++ *** +6 --++--++----++--++--++--++--++--++--++ *** +7 --++--++----++--++--++--++--++--++--++ *** +8 --++--++----++--++--++--++--++--++--++ *** +9 --++--++----++--++--++--++--++--++--++ *** +== BC11 == +0 ||--++----++-- *** +1 ||--++----++--++-- +2 ||--++----++--++--++--++--++--++--++--++ *** +3 ||--++----++--++--++--++--++--++--++--++ *** +4 ||--++----++--++--++--++--++--++--++--++ *** +5 ||--++----++--++--++--++--++--++--++--++ *** +6 ||--++----++--++--++--++--++--++--++--++ *** +7 ||--++----++--++--++--++--++--++--++--++ *** +8 ||--++----++--++--++--++--++--++--++--++ *** +9 ||--++----++--++--++--++--++--++--++--++ *** +true true true 15 +all good + +Dafny program verifier did not attempt verification 0 0 0 0 -2 -2 -2 -2 0 0 0 0 diff --git a/Test/comp/ForallNewSyntax.dfy b/Test/comp/ForallNewSyntax.dfy index 85e609b37b3..c17bf86830e 100644 --- a/Test/comp/ForallNewSyntax.dfy +++ b/Test/comp/ForallNewSyntax.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --function-syntax:3 --quantifier-syntax:4 --relax-definite-assignment +// RUN: %baredafny verify %args --relax-definite-assignment --function-syntax:3 --quantifier-syntax:4 "%s" > "%t" +// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:cs "%s" >> "%t" +// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:js "%s" >> "%t" +// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:go "%s" >> "%t" +// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:java "%s" >> "%t" +// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var arrayTests := new ArrayTests(); diff --git a/Test/comp/ForallNewSyntax.dfy.expect b/Test/comp/ForallNewSyntax.dfy.expect index 5b33d939607..241ea9ea521 100644 --- a/Test/comp/ForallNewSyntax.dfy.expect +++ b/Test/comp/ForallNewSyntax.dfy.expect @@ -1,3 +1,183 @@ + +Dafny program verifier finished with 25 verified, 0 errors + +Dafny program verifier did not attempt verification +Arrays: Basic cases +[0, 1, 2, 3, 4] +[0, 1, 2, 3, 4] +[0, 1, 4, 3, 8] + +Arrays: Wrong index +[0, 0, 1, 2, 3] +[0, 0, 1, 2, 3] +[1, 2, 3, 4, 5] + +Arrays: Sequence conversion +[2, 1, 4, 5, 6] +[0, 3, 3, 3, 4] + +Arrays: Index collection +[1, 1, 2, 3, 4] +[1, 1, 2, 3, 4] + +Arrays: Functions +[1, 1, 3, 4, 5] +[1, 1, 3, 4, 5] +[1, 2, 3, 3, 5] +[1, 2, 3, 4, 5] + +Multi-dimensional arrays +[[0, 2, 4], [1, 3, 5], [2, 4, 6]] +[[0, 1, 2], [2, 3, 4], [4, 5, 6]] + +Objects: Basic cases +[(0, 1.0), (0, 2.0), (0, 3.0)] +[(2, 1.0), (2, 2.0), (4, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] + +Objects: Bad field accesses +[(2, 1.0), (3, 2.0), (4, 3.0)] +[(2, 1.0), (2, 2.0), (2, 3.0)] +[(2, 1.0), (3, 2.0), (1, 3.0)] + +Objects: Functions +[(2, 1.0), (4, 2.0), (6, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] +[(3, 1.0), (4, 2.0), (5, 3.0)] + +Dafny program verifier did not attempt verification +Arrays: Basic cases +[0, 1, 2, 3, 4] +[0, 1, 2, 3, 4] +[0, 1, 4, 3, 8] + +Arrays: Wrong index +[0, 0, 1, 2, 3] +[0, 0, 1, 2, 3] +[1, 2, 3, 4, 5] + +Arrays: Sequence conversion +[2, 1, 4, 5, 6] +[0, 3, 3, 3, 4] + +Arrays: Index collection +[1, 1, 2, 3, 4] +[1, 1, 2, 3, 4] + +Arrays: Functions +[1, 1, 3, 4, 5] +[1, 1, 3, 4, 5] +[1, 2, 3, 3, 5] +[1, 2, 3, 4, 5] + +Multi-dimensional arrays +[[0, 2, 4], [1, 3, 5], [2, 4, 6]] +[[0, 1, 2], [2, 3, 4], [4, 5, 6]] + +Objects: Basic cases +[(0, 1.0), (0, 2.0), (0, 3.0)] +[(2, 1.0), (2, 2.0), (4, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] + +Objects: Bad field accesses +[(2, 1.0), (3, 2.0), (4, 3.0)] +[(2, 1.0), (2, 2.0), (2, 3.0)] +[(2, 1.0), (3, 2.0), (1, 3.0)] + +Objects: Functions +[(2, 1.0), (4, 2.0), (6, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] +[(3, 1.0), (4, 2.0), (5, 3.0)] + +Dafny program verifier did not attempt verification +Arrays: Basic cases +[0, 1, 2, 3, 4] +[0, 1, 2, 3, 4] +[0, 1, 4, 3, 8] + +Arrays: Wrong index +[0, 0, 1, 2, 3] +[0, 0, 1, 2, 3] +[1, 2, 3, 4, 5] + +Arrays: Sequence conversion +[2, 1, 4, 5, 6] +[0, 3, 3, 3, 4] + +Arrays: Index collection +[1, 1, 2, 3, 4] +[1, 1, 2, 3, 4] + +Arrays: Functions +[1, 1, 3, 4, 5] +[1, 1, 3, 4, 5] +[1, 2, 3, 3, 5] +[1, 2, 3, 4, 5] + +Multi-dimensional arrays +[[0, 2, 4], [1, 3, 5], [2, 4, 6]] +[[0, 1, 2], [2, 3, 4], [4, 5, 6]] + +Objects: Basic cases +[(0, 1.0), (0, 2.0), (0, 3.0)] +[(2, 1.0), (2, 2.0), (4, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] + +Objects: Bad field accesses +[(2, 1.0), (3, 2.0), (4, 3.0)] +[(2, 1.0), (2, 2.0), (2, 3.0)] +[(2, 1.0), (3, 2.0), (1, 3.0)] + +Objects: Functions +[(2, 1.0), (4, 2.0), (6, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] +[(3, 1.0), (4, 2.0), (5, 3.0)] + +Dafny program verifier did not attempt verification +Arrays: Basic cases +[0, 1, 2, 3, 4] +[0, 1, 2, 3, 4] +[0, 1, 4, 3, 8] + +Arrays: Wrong index +[0, 0, 1, 2, 3] +[0, 0, 1, 2, 3] +[1, 2, 3, 4, 5] + +Arrays: Sequence conversion +[2, 1, 4, 5, 6] +[0, 3, 3, 3, 4] + +Arrays: Index collection +[1, 1, 2, 3, 4] +[1, 1, 2, 3, 4] + +Arrays: Functions +[1, 1, 3, 4, 5] +[1, 1, 3, 4, 5] +[1, 2, 3, 3, 5] +[1, 2, 3, 4, 5] + +Multi-dimensional arrays +[[0, 2, 4], [1, 3, 5], [2, 4, 6]] +[[0, 1, 2], [2, 3, 4], [4, 5, 6]] + +Objects: Basic cases +[(0, 1.0), (0, 2.0), (0, 3.0)] +[(2, 1.0), (2, 2.0), (4, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] + +Objects: Bad field accesses +[(2, 1.0), (3, 2.0), (4, 3.0)] +[(2, 1.0), (2, 2.0), (2, 3.0)] +[(2, 1.0), (3, 2.0), (1, 3.0)] + +Objects: Functions +[(2, 1.0), (4, 2.0), (6, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] +[(3, 1.0), (4, 2.0), (5, 3.0)] + +Dafny program verifier did not attempt verification Arrays: Basic cases [0, 1, 2, 3, 4] [0, 1, 2, 3, 4] diff --git a/Test/comp/Ghosts.dfy b/Test/comp/Ghosts.dfy index 8afe8a36d3f..506fe0facb1 100644 --- a/Test/comp/Ghosts.dfy +++ b/Test/comp/Ghosts.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method M1() returns (x: int) { diff --git a/Test/comp/Ghosts.dfy.expect b/Test/comp/Ghosts.dfy.expect index d075ea048c1..430a9c18fc0 100644 --- a/Test/comp/Ghosts.dfy.expect +++ b/Test/comp/Ghosts.dfy.expect @@ -1,3 +1,55 @@ + +Dafny program verifier finished with 8 verified, 0 errors + +Dafny program verifier did not attempt verification +hello, M2 +hello, M2 +hello, M3 +hello, M1 +hello, M1 +hello, M1 +hello, M2 +hello, M3 +hello, N0 +hello, N1 + +Dafny program verifier did not attempt verification +hello, M2 +hello, M2 +hello, M3 +hello, M1 +hello, M1 +hello, M1 +hello, M2 +hello, M3 +hello, N0 +hello, N1 + +Dafny program verifier did not attempt verification +hello, M2 +hello, M2 +hello, M3 +hello, M1 +hello, M1 +hello, M1 +hello, M2 +hello, M3 +hello, N0 +hello, N1 + +Dafny program verifier did not attempt verification +hello, M2 +hello, M2 +hello, M3 +hello, M1 +hello, M1 +hello, M1 +hello, M2 +hello, M3 +hello, N0 +hello, N1 + +Dafny program verifier did not attempt verification hello, M2 hello, M2 hello, M3 diff --git a/Test/comp/Let.dfy b/Test/comp/Let.dfy index 2a639009c78..64dce8b90e6 100644 --- a/Test/comp/Let.dfy +++ b/Test/comp/Let.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cs "%s" > "%t" +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method M() returns (x: int) { x := var y := 50; y; // non-top-level let diff --git a/Test/comp/Let.dfy.expect b/Test/comp/Let.dfy.expect index f05dfc414c1..667abc32458 100644 --- a/Test/comp/Let.dfy.expect +++ b/Test/comp/Let.dfy.expect @@ -1,3 +1,37 @@ + +Dafny program verifier finished with 5 verified, 0 errors +50 58 +Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) +5 7 9 10 12 30 +5 7 +5 7 +12.0 15.0 15.0 15.0 + +Dafny program verifier finished with 5 verified, 0 errors +50 58 +Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) +5 7 9 10 12 30 +5 7 +5 7 +12.0 15.0 15.0 15.0 + +Dafny program verifier finished with 5 verified, 0 errors +50 58 +Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) +5 7 9 10 12 30 +5 7 +5 7 +12.0 15.0 15.0 15.0 + +Dafny program verifier finished with 5 verified, 0 errors +50 58 +Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) +5 7 9 10 12 30 +5 7 +5 7 +12.0 15.0 15.0 15.0 + +Dafny program verifier finished with 5 verified, 0 errors 50 58 Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) 5 7 9 10 12 30 diff --git a/Test/comp/MoreAutoInit.dfy b/Test/comp/MoreAutoInit.dfy index c72083f1be5..46bdf7148f1 100644 --- a/Test/comp/MoreAutoInit.dfy +++ b/Test/comp/MoreAutoInit.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { Methods.TestStart(); diff --git a/Test/comp/MoreAutoInit.dfy.expect b/Test/comp/MoreAutoInit.dfy.expect index a3a230fd0f1..cc1ae3b994a 100644 --- a/Test/comp/MoreAutoInit.dfy.expect +++ b/Test/comp/MoreAutoInit.dfy.expect @@ -1,3 +1,575 @@ + +Dafny program verifier finished with 38 verified, 0 errors + +Dafny program verifier did not attempt verification +Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +{} + ++ {} +[] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +{2} + ++ {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni + ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni +Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni + ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni +Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni +Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni + ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni + ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni +[] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] + ** [] ++ [] +[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [] + ** [] ++ [] +[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [] +[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] + ++ [Consts_Compile.Uni.Uni] ++ [] + ** [] ++ [] ++ [] +15 +0-0 0.0-0.0 false-false 'D'-'D' 0 +0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 +0-0 0-0 0-0 0-0 1 1 +0.0-0.0 68.0 +null-null null-null null-null null-null +0 +0:0:0 +0-0 +{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] +DefaultValuedExpressions_Compile.Color.Red-DefaultValuedExpressions_Compile.Color.Red DefaultValuedExpressions_Compile.PossibleCell.Nothing-DefaultValuedExpressions_Compile.PossibleCell.Nothing DefaultValuedExpressions_Compile.Cell.LittleCell(0)-DefaultValuedExpressions_Compile.Cell.LittleCell(0) +()-() (0, 0.0)-(0, 0.0) +(DefaultValuedExpressions_Compile.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions_Compile.Color.Red, (0, 0.0), ()) +null-null null-null +0-0 0-0 0-0 3 4 5 +0-0 11 0-0 8 + +Dafny program verifier did not attempt verification +Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +{} + ++ {} +[] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +{2} + ++ {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni + ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni +Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni + ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni +Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni +Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni + ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni + ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni +[] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] + ** [] ++ [] +[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [] + ** [] ++ [] +[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [] +[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] + ++ [Consts_Compile.Uni.Uni] ++ [] + ** [] ++ [] ++ [] +15 +0-0 0.0-0.0 false-false 'D'-'D' 0 +0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 +0-0 0-0 0-0 0-0 1 1 +0.0-0.0 68.0 +null-null null-null null-null null-null +0 +0:0:0 +0-0 +{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] +DefaultValuedExpressions_Compile.Color.Red-DefaultValuedExpressions_Compile.Color.Red DefaultValuedExpressions_Compile.PossibleCell.Nothing-DefaultValuedExpressions_Compile.PossibleCell.Nothing DefaultValuedExpressions_Compile.Cell.LittleCell(0)-DefaultValuedExpressions_Compile.Cell.LittleCell(0) +()-() (0, 0.0)-(0, 0.0) +(DefaultValuedExpressions_Compile.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions_Compile.Color.Red, (0, 0.0), ()) +null-null null-null +0-0 0-0 0-0 3 4 5 +0-0 11 0-0 8 + +Dafny program verifier did not attempt verification +Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +{} + ++ {} +[] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +{2} + ++ {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni + ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni +Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni + ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni +Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni +Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni + ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni + ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni +[] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] + ** [] ++ [] +[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [] + ** [] ++ [] +[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [] +[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] + ++ [Consts_Compile.Uni.Uni] ++ [] + ** [] ++ [] ++ [] +15 +0-0 0.0-0.0 false-false 'D'-'D' 0 +0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 +0-0 0-0 0-0 0-0 1 1 +0.0-0.0 68.0 +null-null null-null null-null null-null +0 +0:0:0 +0-0 +{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] +DefaultValuedExpressions_Compile.Color.Red-DefaultValuedExpressions_Compile.Color.Red DefaultValuedExpressions_Compile.PossibleCell.Nothing-DefaultValuedExpressions_Compile.PossibleCell.Nothing DefaultValuedExpressions_Compile.Cell.LittleCell(0)-DefaultValuedExpressions_Compile.Cell.LittleCell(0) +()-() (0, 0.0)-(0, 0.0) +(DefaultValuedExpressions_Compile.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions_Compile.Color.Red, (0, 0.0), ()) +null-null null-null +0-0 0-0 0-0 3 4 5 +0-0 11 0-0 8 + +Dafny program verifier did not attempt verification +Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +{} + ++ {} +[] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +{2} + ++ {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni + ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni +Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni + ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni +Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni +Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni + ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni + ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni +[] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] + ** [] ++ [] +[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [] + ** [] ++ [] +[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [] +[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] + ++ [Consts_Compile.Uni.Uni] ++ [] + ** [] ++ [] ++ [] +15 +0-0 0.0-0.0 false-false 'D'-'D' 0 +0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 +0-0 0-0 0-0 0-0 1 1 +0.0-0.0 68.0 +null-null null-null null-null null-null +0 +0:0:0 +0-0 +{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] +DefaultValuedExpressions_Compile.Color.Red-DefaultValuedExpressions_Compile.Color.Red DefaultValuedExpressions_Compile.PossibleCell.Nothing-DefaultValuedExpressions_Compile.PossibleCell.Nothing DefaultValuedExpressions_Compile.Cell.LittleCell(0)-DefaultValuedExpressions_Compile.Cell.LittleCell(0) +()-() (0, 0.0)-(0, 0.0) +(DefaultValuedExpressions_Compile.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions_Compile.Color.Red, (0, 0.0), ()) +null-null null-null +0-0 0-0 0-0 3 4 5 +0-0 11 0-0 8 + +Dafny program verifier did not attempt verification Methods_Compile.Uni.Uni ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni diff --git a/Test/comp/NativeNumbers.dfy b/Test/comp/NativeNumbers.dfy index e1fadb1c406..c63d02cf643 100644 --- a/Test/comp/NativeNumbers.dfy +++ b/Test/comp/NativeNumbers.dfy @@ -1,6 +1,11 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false // Skip JavaScript because JavaScript doesn't have the same native types +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { CastTests(); diff --git a/Test/comp/NativeNumbers.dfy.expect b/Test/comp/NativeNumbers.dfy.expect index 6a9d263fc73..2be030252cf 100644 --- a/Test/comp/NativeNumbers.dfy.expect +++ b/Test/comp/NativeNumbers.dfy.expect @@ -1,3 +1,259 @@ + +Dafny program verifier finished with 25 verified, 0 errors + +Dafny program verifier did not attempt verification +Casting: + +Small numbers: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 +5 5 5 5 5 5 5 5 5 +6 6 6 6 6 6 6 6 6 +7 7 7 7 7 7 7 7 7 +8 8 8 8 8 8 8 8 8 + +Large unsigned numbers: +255 255 255 255 255 255 255 255 +65535 65535 65535 65535 65535 65535 +4294967295 4294967295 4294967295 4294967295 +18446744073709551615 18446744073709551615 + +Int to large unsigned: +255 65535 4294967295 18446744073709551615 + +Cast from cardinality operator: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 + +Characters: +C 67 67 67 67 67 67 67 67 67 +0 127 32767 65535 65535 255 65535 65535 65535 + +Defaults: + +0 0 0 0 0 0 0 0 0 + +Byte arithmetic: + +20 30 +10 10 18 + +Short arithmetic: + +20 30 +10 10 18 + +Bitvectors: + +0 3 4 1 + +Comparison to zero: + +int8: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int16: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int32: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int64: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint8: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint16: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint32: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint64: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N + + +Dafny program verifier did not attempt verification +Casting: + +Small numbers: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 +5 5 5 5 5 5 5 5 5 +6 6 6 6 6 6 6 6 6 +7 7 7 7 7 7 7 7 7 +8 8 8 8 8 8 8 8 8 + +Large unsigned numbers: +255 255 255 255 255 255 255 255 +65535 65535 65535 65535 65535 65535 +4294967295 4294967295 4294967295 4294967295 +18446744073709551615 18446744073709551615 + +Int to large unsigned: +255 65535 4294967295 18446744073709551615 + +Cast from cardinality operator: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 + +Characters: +C 67 67 67 67 67 67 67 67 67 +0 127 32767 65535 65535 255 65535 65535 65535 + +Defaults: + +0 0 0 0 0 0 0 0 0 + +Byte arithmetic: + +20 30 +10 10 18 + +Short arithmetic: + +20 30 +10 10 18 + +Bitvectors: + +0 3 4 1 + +Comparison to zero: + +int8: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int16: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int32: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int64: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint8: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint16: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint32: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint64: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N + + +Dafny program verifier did not attempt verification +Casting: + +Small numbers: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 +5 5 5 5 5 5 5 5 5 +6 6 6 6 6 6 6 6 6 +7 7 7 7 7 7 7 7 7 +8 8 8 8 8 8 8 8 8 + +Large unsigned numbers: +255 255 255 255 255 255 255 255 +65535 65535 65535 65535 65535 65535 +4294967295 4294967295 4294967295 4294967295 +18446744073709551615 18446744073709551615 + +Int to large unsigned: +255 65535 4294967295 18446744073709551615 + +Cast from cardinality operator: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 + +Characters: +C 67 67 67 67 67 67 67 67 67 +0 127 32767 65535 65535 255 65535 65535 65535 + +Defaults: + +0 0 0 0 0 0 0 0 0 + +Byte arithmetic: + +20 30 +10 10 18 + +Short arithmetic: + +20 30 +10 10 18 + +Bitvectors: + +0 3 4 1 + +Comparison to zero: + +int8: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int16: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int32: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int64: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint8: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint16: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint32: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint64: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N + + +Dafny program verifier did not attempt verification Casting: Small numbers: diff --git a/Test/comp/NestedArrays.dfy b/Test/comp/NestedArrays.dfy index 39d256f4936..0c2b313a32c 100644 --- a/Test/comp/NestedArrays.dfy +++ b/Test/comp/NestedArrays.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %baredafny verify --relax-definite-assignment %args "%s" > "%t" +// RUN: %baredafny run --no-verify --target=cs %args "%s" >> "%t" +// RUN: %baredafny run --no-verify --target=js %args "%s" >> "%t" +// RUN: %baredafny run --no-verify --target=go %args "%s" >> "%t" +// RUN: %baredafny run --no-verify --target=py %args "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" /* Note, compiling to arrays in Java is difficult. In fact, this is currently * broken, see https://github.com/dafny-lang/dafny/issues/3055. Until this gets diff --git a/Test/comp/NestedArrays.dfy.expect b/Test/comp/NestedArrays.dfy.expect index aa47d0d46d4..a24d140b9d4 100644 --- a/Test/comp/NestedArrays.dfy.expect +++ b/Test/comp/NestedArrays.dfy.expect @@ -1,2 +1,18 @@ + +Dafny program verifier finished with 4 verified, 0 errors + +Dafny program verifier did not attempt verification +0 +0 + +Dafny program verifier did not attempt verification +0 +0 + +Dafny program verifier did not attempt verification +0 +0 + +Dafny program verifier did not attempt verification 0 0 diff --git a/Test/comp/Numbers.dfy b/Test/comp/Numbers.dfy index c76bc87fdc0..36bf24dcdb4 100644 --- a/Test/comp/Numbers.dfy +++ b/Test/comp/Numbers.dfy @@ -1,5 +1,10 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { Literals(); diff --git a/Test/comp/Numbers.dfy.expect b/Test/comp/Numbers.dfy.expect index 7eacf4e709d..8d994e1c7c6 100644 --- a/Test/comp/Numbers.dfy.expect +++ b/Test/comp/Numbers.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 59 verified, 0 errors + +Dafny program verifier did not attempt verification 0 0 3 @@ -109,3 +113,455 @@ true false true false false true false true true false true false 20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +g Q 2 +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +(312.0 / 40.0) (1248.0 / 40.0) +(-312.0 / 40.0) (-1248.0 / 40.0) +(-312.0 / 40.0) (1248.0 / 40.0) +(312.0 / 40.0) (-1248.0 / 40.0) +0.0 0.0 0.0 +120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) +123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 (8100.0 / 8100.0) +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +g Q 2 +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +g Q 2 +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +(312.0 / 40.0) (1248.0 / 40.0) +(-312.0 / 40.0) (-1248.0 / 40.0) +(-312.0 / 40.0) (1248.0 / 40.0) +(312.0 / 40.0) (-1248.0 / 40.0) +0.0 0.0 0.0 +120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) +123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 (8100.0 / 8100.0) +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +g Q 2 +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 diff --git a/Test/comp/Numbers.dfy.go.expect b/Test/comp/Numbers.dfy.go.expect deleted file mode 100644 index ce109553619..00000000000 --- a/Test/comp/Numbers.dfy.go.expect +++ /dev/null @@ -1,111 +0,0 @@ -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -g Q 2 -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 diff --git a/Test/comp/Numbers.dfy.py.expect b/Test/comp/Numbers.dfy.py.expect deleted file mode 100644 index ce109553619..00000000000 --- a/Test/comp/Numbers.dfy.py.expect +++ /dev/null @@ -1,111 +0,0 @@ -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -g Q 2 -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 diff --git a/Test/comp/Poly.dfy b/Test/comp/Poly.dfy index 5af5e8134e9..f3c3aa58599 100644 --- a/Test/comp/Poly.dfy +++ b/Test/comp/Poly.dfy @@ -1,5 +1,10 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" trait Shape { function Center(): (real, real) reads this diff --git a/Test/comp/Poly.dfy.expect b/Test/comp/Poly.dfy.expect index 7dc24821586..4ffff82d5ab 100644 --- a/Test/comp/Poly.dfy.expect +++ b/Test/comp/Poly.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 15 verified, 0 errors + +Dafny program verifier did not attempt verification Center of square: ((1.0 / 2.0), (1.0 / 2.0)) Center of circle: (1.0, 1.0) Center: ((1.0 / 2.0), (1.0 / 2.0)) @@ -10,3 +14,59 @@ Center: ((1.0 / 2.0), (1.0 / 2.0)) Center: (1.0, 1.0) Center: ((1.0 / 2.0), (1.0 / 2.0)) Center: (1.0, 1.0) + +Dafny program verifier did not attempt verification +Center of square: ((1.0 / 2.0), (1.0 / 2.0)) +Center of circle: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) + +Dafny program verifier did not attempt verification +Center of square: ((1.0 / 2.0), (1.0 / 2.0)) +Center of circle: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) + +Dafny program verifier did not attempt verification +Center of square: (0.5, 0.5) +Center of circle: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) + +Dafny program verifier did not attempt verification +Center of square: (0.5, 0.5) +Center of circle: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) diff --git a/Test/comp/Poly.dfy.go.expect b/Test/comp/Poly.dfy.go.expect deleted file mode 100644 index 88e09c5e6ff..00000000000 --- a/Test/comp/Poly.dfy.go.expect +++ /dev/null @@ -1,12 +0,0 @@ -Center of square: (0.5, 0.5) -Center of circle: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) diff --git a/Test/comp/Poly.dfy.py.expect b/Test/comp/Poly.dfy.py.expect deleted file mode 100644 index 88e09c5e6ff..00000000000 --- a/Test/comp/Poly.dfy.py.expect +++ /dev/null @@ -1,12 +0,0 @@ -Center of square: (0.5, 0.5) -Center of circle: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) diff --git a/Test/comp/Print.dfy b/Test/comp/Print.dfy index 39f8a447396..166bae4c351 100644 --- a/Test/comp/Print.dfy +++ b/Test/comp/Print.dfy @@ -1,5 +1,9 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // Python salts hashes so they are not deterministic. diff --git a/Test/comp/Print.dfy.expect b/Test/comp/Print.dfy.expect index 88ded65afab..c2b186af0ec 100644 --- a/Test/comp/Print.dfy.expect +++ b/Test/comp/Print.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification Strings in collections: [abc, def] [[abc, def]] @@ -6,3 +10,33 @@ Strings in collections: [] [] [aaaaa] + +Dafny program verifier did not attempt verification +Strings in collections: + [abc, def] + [[abc, def]] + {abc, def} + [abc, def] + [] + [] + [aaaaa] + +Dafny program verifier did not attempt verification +Strings in collections: + [abc, def] + [[abc, def]] + {abc, def} + [abc, def] + [] + [] + [aaaaa] + +Dafny program verifier did not attempt verification +Strings in collections: + [abc, def] + [[abc, def]] + {abc, def} + [abc, def] + [] + [] + [aaaaa] diff --git a/Test/comp/Print.dfy.go.expect b/Test/comp/Print.dfy.go.expect deleted file mode 100644 index 7ac90f01b3c..00000000000 --- a/Test/comp/Print.dfy.go.expect +++ /dev/null @@ -1,8 +0,0 @@ -Strings in collections: - [abc, def] - [[abc, def]] - {abc, def} - [abc, def] - [] - [] - [aaaaa] diff --git a/Test/comp/Print.dfy.java.expect b/Test/comp/Print.dfy.java.expect deleted file mode 100644 index 7ac90f01b3c..00000000000 --- a/Test/comp/Print.dfy.java.expect +++ /dev/null @@ -1,8 +0,0 @@ -Strings in collections: - [abc, def] - [[abc, def]] - {abc, def} - [abc, def] - [] - [] - [aaaaa] diff --git a/Test/comp/Print.dfy.js.expect b/Test/comp/Print.dfy.js.expect deleted file mode 100644 index 7ac90f01b3c..00000000000 --- a/Test/comp/Print.dfy.js.expect +++ /dev/null @@ -1,8 +0,0 @@ -Strings in collections: - [abc, def] - [[abc, def]] - {abc, def} - [abc, def] - [] - [] - [aaaaa] diff --git a/Test/comp/StaticMembersOfGenericTypes.dfy b/Test/comp/StaticMembersOfGenericTypes.dfy index 8a8614d21a5..8c402dab951 100644 --- a/Test/comp/StaticMembersOfGenericTypes.dfy +++ b/Test/comp/StaticMembersOfGenericTypes.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { GenericClass(); diff --git a/Test/comp/StaticMembersOfGenericTypes.dfy.expect b/Test/comp/StaticMembersOfGenericTypes.dfy.expect index 196f1295e12..54e32b42ee5 100644 --- a/Test/comp/StaticMembersOfGenericTypes.dfy.expect +++ b/Test/comp/StaticMembersOfGenericTypes.dfy.expect @@ -1,3 +1,79 @@ + +Dafny program verifier finished with 9 verified, 0 errors + +Dafny program verifier did not attempt verification +(0, 1) (true, 2, 3) +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +(2.0, true) (3.0, false) +(2.0, true) (3.0, false) +true false +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +50 3 4 +149 + +Dafny program verifier did not attempt verification +(0, 1) (true, 2, 3) +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +(2.0, true) (3.0, false) +(2.0, true) (3.0, false) +true false +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +50 3 4 +149 + +Dafny program verifier did not attempt verification +(0, 1) (true, 2, 3) +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +(2.0, true) (3.0, false) +(2.0, true) (3.0, false) +true false +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +50 3 4 +149 + +Dafny program verifier did not attempt verification +(0, 1) (true, 2, 3) +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +(2.0, true) (3.0, false) +(2.0, true) (3.0, false) +true false +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +50 3 4 +149 + +Dafny program verifier did not attempt verification (0, 1) (true, 2, 3) 0 25 (20, 21) (20, 21) 23 22 0 25 (20, 21) (20, 21) 23 22 diff --git a/Test/comp/TailRecursion.dfy b/Test/comp/TailRecursion.dfy index b3631d5eccc..68ba6ee4669 100644 --- a/Test/comp/TailRecursion.dfy +++ b/Test/comp/TailRecursion.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { // In the following, 2_000_000 is too large an argument without tail-calls diff --git a/Test/comp/TailRecursion.dfy.expect b/Test/comp/TailRecursion.dfy.expect index 4b9da7e5093..23c852a41fe 100644 --- a/Test/comp/TailRecursion.dfy.expect +++ b/Test/comp/TailRecursion.dfy.expect @@ -1,3 +1,79 @@ + +Dafny program verifier finished with 28 verified, 0 errors + +Dafny program verifier did not attempt verification +2000000 2000000 +2000000 2000000 +1000000 1000000 +10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 +TriangleNumber(10) = 55 +TriangleNumber_Real(10) = 55.0 +TriangleNumber_ORDINAL(10) = 55 +Factorial(5) = 120 +Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] +UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] +Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 +TheBigSubtract(100) = -12 +TailNat(10) = 50 +17 17 17 +2000000 + +Dafny program verifier did not attempt verification +2000000 2000000 +2000000 2000000 +1000000 1000000 +10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 +TriangleNumber(10) = 55 +TriangleNumber_Real(10) = 55.0 +TriangleNumber_ORDINAL(10) = 55 +Factorial(5) = 120 +Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] +UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] +Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 +TheBigSubtract(100) = -12 +TailNat(10) = 50 +17 17 17 +2000000 + +Dafny program verifier did not attempt verification +2000000 2000000 +2000000 2000000 +1000000 1000000 +10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 +TriangleNumber(10) = 55 +TriangleNumber_Real(10) = 55.0 +TriangleNumber_ORDINAL(10) = 55 +Factorial(5) = 120 +Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] +UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] +Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 +TheBigSubtract(100) = -12 +TailNat(10) = 50 +17 17 17 +2000000 + +Dafny program verifier did not attempt verification +2000000 2000000 +2000000 2000000 +1000000 1000000 +10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 +TriangleNumber(10) = 55 +TriangleNumber_Real(10) = 55.0 +TriangleNumber_ORDINAL(10) = 55 +Factorial(5) = 120 +Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] +UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] +Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 +TheBigSubtract(100) = -12 +TailNat(10) = 50 +17 17 17 +2000000 + +Dafny program verifier did not attempt verification 2000000 2000000 2000000 2000000 1000000 1000000 diff --git a/Test/comp/TypeDescriptors.dfy b/Test/comp/TypeDescriptors.dfy index 5bedbb900e4..636cb3db583 100644 --- a/Test/comp/TypeDescriptors.dfy +++ b/Test/comp/TypeDescriptors.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Method(s: string, g: G) { var zero: G; diff --git a/Test/comp/TypeDescriptors.dfy.expect b/Test/comp/TypeDescriptors.dfy.expect index 1b09338c83d..9b1e8487bdc 100644 --- a/Test/comp/TypeDescriptors.dfy.expect +++ b/Test/comp/TypeDescriptors.dfy.expect @@ -1,3 +1,155 @@ + +Dafny program verifier finished with 11 verified, 0 errors + +Dafny program verifier did not attempt verification +int: 8 0 +bool: true false +char: 'r' 'D' +real: 1.618 0.0 +ORDINAL: 0 +bv0: 0 0 +bv21: 121 0 +bv32: 132 0 +bv191: 191 0 +set: {7} {} +multiset: multiset{7, 7} multiset{} +seq: [7] [] +map: map[2 := 7] map[] +pos: 3 1 +Hundred: 6 0 +HundredOdd: 13 19 +JustOdd: 131 5 +(): () () +(int, real): (2, 3.2) (0, 0.0) +(int, pos): (2, 3) (0, 1) +AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) +Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) +Stream: Stream.More +A=int: 15 0 +B=int: 16 0 +datatype.B=: {14} {} +object?: null +Class?>: null +Trait?>: null +array?: null +array2?: null +int --> bool: null +array? ~> bool: null + +Dafny program verifier did not attempt verification +int: 8 0 +bool: true false +char: 'r' 'D' +real: 1.618 0.0 +ORDINAL: 0 +bv0: 0 0 +bv21: 121 0 +bv32: 132 0 +bv191: 191 0 +set: {7} {} +multiset: multiset{7, 7} multiset{} +seq: [7] [] +map: map[2 := 7] map[] +pos: 3 1 +Hundred: 6 0 +HundredOdd: 13 19 +JustOdd: 131 5 +(): () () +(int, real): (2, 3.2) (0, 0.0) +(int, pos): (2, 3) (0, 1) +AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) +Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) +Stream: Stream.More +A=int: 15 0 +B=int: 16 0 +datatype.B=: {14} {} +object?: null +Class?>: null +Trait?>: null +array?: null +array2?: null +int --> bool: null +array? ~> bool: null + +Dafny program verifier did not attempt verification +int: 8 0 +bool: true false +char: 'r' 'D' +real: 1.618 0.0 +ORDINAL: 0 +bv0: 0 0 +bv21: 121 0 +bv32: 132 0 +bv191: 191 0 +set: {7} {} +multiset: multiset{7, 7} multiset{} +seq: [7] [] +map: map[2 := 7] map[] +pos: 3 1 +Hundred: 6 0 +HundredOdd: 13 19 +JustOdd: 131 5 +(): () () +(int, real): (2, 3.2) (0, 0.0) +(int, pos): (2, 3) (0, 1) +AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) +Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) +Stream: Stream.More +A=int: 15 0 +B=int: 16 0 +datatype.B=: {14} {} +object?: null +Class?>: null +Trait?>: null +array?: null +array2?: null +int --> bool: null +array? ~> bool: null + +Dafny program verifier did not attempt verification +int: 8 0 +bool: true false +char: 'r' 'D' +real: 1.618 0.0 +ORDINAL: 0 +bv0: 0 0 +bv21: 121 0 +bv32: 132 0 +bv191: 191 0 +set: {7} {} +multiset: multiset{7, 7} multiset{} +seq: [7] [] +map: map[2 := 7] map[] +pos: 3 1 +Hundred: 6 0 +HundredOdd: 13 19 +JustOdd: 131 5 +(): () () +(int, real): (2, 3.2) (0, 0.0) +(int, pos): (2, 3) (0, 1) +AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) +Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) +Stream: Stream.More +A=int: 15 0 +B=int: 16 0 +datatype.B=: {14} {} +object?: null +Class?>: null +Trait?>: null +array?: null +array2?: null +int --> bool: null +array? ~> bool: null + +Dafny program verifier did not attempt verification int: 8 0 bool: true false char: 'r' 'D' diff --git a/Test/comp/TypeParams.dfy b/Test/comp/TypeParams.dfy index c595881e028..11d1b3bac6a 100644 --- a/Test/comp/TypeParams.dfy +++ b/Test/comp/TypeParams.dfy @@ -1,6 +1,11 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation - +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" + +// RUN: %diff "%s.expect" "%t" datatype Color = Orange | Pink | Teal type Six = x | x <= 6 diff --git a/Test/comp/TypeParams.dfy.expect b/Test/comp/TypeParams.dfy.expect index 1381a030f65..ac8ef1c58e5 100644 --- a/Test/comp/TypeParams.dfy.expect +++ b/Test/comp/TypeParams.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 17 verified, 0 errors + +Dafny program verifier did not attempt verification 0 0 0 false Color.Orange 0.0 {} Color.Orange null null null null null {} multiset{} [] map[] {} map[] @@ -17,3 +21,87 @@ System.Func`2[Dafny.BigRational,System.Boolean] System.Func`1[System.Numerics.BigInteger] System.Func`3[_module._IColor,Dafny.ISet`1[System.UInt16],System.UInt32] 0 0 + +Dafny program verifier did not attempt verification +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +function () { return false; } +function () { return _dafny.ZERO; } +function () { return _dafny.ZERO; } +0 0 + +Dafny program verifier did not attempt verification +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +func(dafny.Real) bool +func() dafny.Int +func(main.Color, dafny.Set) uint32 +0 0 + +Dafny program verifier did not attempt verification +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +Function +Function +Function +0 0 + +Dafny program verifier did not attempt verification +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +Function +Function +Function +0 0 diff --git a/Test/comp/TypeParams.dfy.go.expect b/Test/comp/TypeParams.dfy.go.expect deleted file mode 100644 index e3a8e67d066..00000000000 --- a/Test/comp/TypeParams.dfy.go.expect +++ /dev/null @@ -1,19 +0,0 @@ -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -func(dafny.Real) bool -func() dafny.Int -func(main.Color, dafny.Set) uint32 -0 0 diff --git a/Test/comp/TypeParams.dfy.java.expect b/Test/comp/TypeParams.dfy.java.expect deleted file mode 100644 index 5f843ba06d1..00000000000 --- a/Test/comp/TypeParams.dfy.java.expect +++ /dev/null @@ -1,19 +0,0 @@ -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -Function -Function -Function -0 0 diff --git a/Test/comp/TypeParams.dfy.js.expect b/Test/comp/TypeParams.dfy.js.expect deleted file mode 100644 index 865c33ea48b..00000000000 --- a/Test/comp/TypeParams.dfy.js.expect +++ /dev/null @@ -1,19 +0,0 @@ -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -function () { return false; } -function () { return _dafny.ZERO; } -function () { return _dafny.ZERO; } -0 0 diff --git a/Test/comp/TypeParams.dfy.py.expect b/Test/comp/TypeParams.dfy.py.expect deleted file mode 100644 index 5f843ba06d1..00000000000 --- a/Test/comp/TypeParams.dfy.py.expect +++ /dev/null @@ -1,19 +0,0 @@ -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -Function -Function -Function -0 0 diff --git a/Test/comp/UnoptimizedErasableTypeWrappers.dfy b/Test/comp/UnoptimizedErasableTypeWrappers.dfy index b7911aed9db..58f0682ed41 100644 --- a/Test/comp/UnoptimizedErasableTypeWrappers.dfy +++ b/Test/comp/UnoptimizedErasableTypeWrappers.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --optimize-erasable-datatype-wrapper:false --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype SingletonRecord = SingletonRecord(u: int) datatype WithGhost = WithGhost(u: int, ghost v: int) diff --git a/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect b/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect index 3371376a52b..be1d7190b0f 100644 --- a/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect +++ b/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect @@ -1,3 +1,31 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification +SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) +() (30) (31) (30, 32) +15 20 +30 31 30 32 + +Dafny program verifier did not attempt verification +SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) +() (30) (31) (30, 32) +15 20 +30 31 30 32 + +Dafny program verifier did not attempt verification +SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) +() (30) (31) (30, 32) +15 20 +30 31 30 32 + +Dafny program verifier did not attempt verification +SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) +() (30) (31) (30, 32) +15 20 +30 31 30 32 + +Dafny program verifier did not attempt verification SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) () (30) (31) (30, 32) 15 20 diff --git a/Test/comp/Variance.dfy b/Test/comp/Variance.dfy index 2ee3cfe3324..6c198495209 100644 --- a/Test/comp/Variance.dfy +++ b/Test/comp/Variance.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /deprecation:0 +// RUN: %dafny /compile:0 /deprecation:0 "%s" > "%t" +// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Co<+T> = Co(z: T) { const x: int; diff --git a/Test/comp/Variance.dfy.expect b/Test/comp/Variance.dfy.expect index 5bb565b6bb4..cf08d82ac07 100644 --- a/Test/comp/Variance.dfy.expect +++ b/Test/comp/Variance.dfy.expect @@ -1,3 +1,67 @@ + +Dafny program verifier finished with 13 verified, 0 errors + +Dafny program verifier did not attempt verification +Co.Co(_module.Int) and Co.Co(_module.Int) +true0[]0000 +Non.Non(_module.Int) and Non.Non(_module.Int) +true0[]0000 +0 and 0 +_module.Int0[]0000 +CCo.CCo and CCo.CCo +true0[]0000 +CNon.CNon and CNon.CNon +true0[]0000 +CCon.CCon and CCon.CCon +_module.Int0[]0000 +Done + +Dafny program verifier did not attempt verification +Co.Co(_module.Int) and Co.Co(_module.Int) +true0[]0000 +Non.Non(_module.Int) and Non.Non(_module.Int) +true0[]0000 +0 and 0 +_module.Int0[]0000 +CCo.CCo and CCo.CCo +true0[]0000 +CNon.CNon and CNon.CNon +true0[]0000 +CCon.CCon and CCon.CCon +_module.Int0[]0000 +Done + +Dafny program verifier did not attempt verification +Co.Co(_module.Int) and Co.Co(_module.Int) +true0[]0000 +Non.Non(_module.Int) and Non.Non(_module.Int) +true0[]0000 +0 and 0 +_module.Int0[]0000 +CCo.CCo and CCo.CCo +true0[]0000 +CNon.CNon and CNon.CNon +true0[]0000 +CCon.CCon and CCon.CCon +_module.Int0[]0000 +Done + +Dafny program verifier did not attempt verification +Co.Co(_module.Int) and Co.Co(_module.Int) +true0[]0000 +Non.Non(_module.Int) and Non.Non(_module.Int) +true0[]0000 +0 and 0 +_module.Int0[]0000 +CCo.CCo and CCo.CCo +true0[]0000 +CNon.CNon and CNon.CNon +true0[]0000 +CCon.CCon and CCon.CCon +_module.Int0[]0000 +Done + +Dafny program verifier did not attempt verification Co.Co(_module.Int) and Co.Co(_module.Int) true0[]0000 Non.Non(_module.Int) and Non.Non(_module.Int) diff --git a/Test/comp/Various.dfy b/Test/comp/Various.dfy index 502801e4c2a..1f29c511a83 100644 --- a/Test/comp/Various.dfy +++ b/Test/comp/Various.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Match(tp: (nat, nat)) { match tp diff --git a/Test/comp/Various.dfy.expect b/Test/comp/Various.dfy.expect index 66f013c00f7..502e2d04792 100644 --- a/Test/comp/Various.dfy.expect +++ b/Test/comp/Various.dfy.expect @@ -1,3 +1,43 @@ + +Dafny program verifier finished with 4 verified, 0 errors + +Dafny program verifier did not attempt verification +match +1 +Kablammo!! +0 +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] + +Dafny program verifier did not attempt verification +match +1 +Kablammo!! +0 +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] + +Dafny program verifier did not attempt verification +match +1 +Kablammo!! +0 +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] + +Dafny program verifier did not attempt verification +match +1 +Kablammo!! +0 +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] + +Dafny program verifier did not attempt verification match 1 Kablammo!! diff --git a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy index 2cf77360cab..10fe57dec8f 100644 --- a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy +++ b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // An extremely small program intended to be the first target input for // brand new Dafny compilers. Avoids any use of strings (and therefore sequences) diff --git a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect index f32a5804e29..e1dcaef650b 100644 --- a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect +++ b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect @@ -1 +1,5 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification true \ No newline at end of file diff --git a/Test/comp/firstSteps/1_Calls-F.dfy b/Test/comp/firstSteps/1_Calls-F.dfy index 4fe5b83e551..32566f59f3b 100644 --- a/Test/comp/firstSteps/1_Calls-F.dfy +++ b/Test/comp/firstSteps/1_Calls-F.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/1_Calls-F.dfy.expect b/Test/comp/firstSteps/1_Calls-F.dfy.expect index 7ed6ff82de6..58e0a68ec1c 100644 --- a/Test/comp/firstSteps/1_Calls-F.dfy.expect +++ b/Test/comp/firstSteps/1_Calls-F.dfy.expect @@ -1 +1,5 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification 5 diff --git a/Test/comp/firstSteps/2_Modules.dfy b/Test/comp/firstSteps/2_Modules.dfy index d0effcb5a71..750b8d60c21 100644 --- a/Test/comp/firstSteps/2_Modules.dfy +++ b/Test/comp/firstSteps/2_Modules.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" module A { const i: nat := 1 diff --git a/Test/comp/firstSteps/2_Modules.dfy.expect b/Test/comp/firstSteps/2_Modules.dfy.expect index b85905ec0b9..9a4b57459c7 100644 --- a/Test/comp/firstSteps/2_Modules.dfy.expect +++ b/Test/comp/firstSteps/2_Modules.dfy.expect @@ -1 +1,5 @@ + +Dafny program verifier finished with 3 verified, 0 errors + +Dafny program verifier did not attempt verification 1 2 3 diff --git a/Test/comp/firstSteps/3_Calls-As.dfy b/Test/comp/firstSteps/3_Calls-As.dfy index 38889421865..f22bbdbd3f6 100644 --- a/Test/comp/firstSteps/3_Calls-As.dfy +++ b/Test/comp/firstSteps/3_Calls-As.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/3_Calls-As.dfy.expect b/Test/comp/firstSteps/3_Calls-As.dfy.expect index a1c59bb761f..eea6c52592c 100644 --- a/Test/comp/firstSteps/3_Calls-As.dfy.expect +++ b/Test/comp/firstSteps/3_Calls-As.dfy.expect @@ -1 +1,5 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification 0 0 false 0 false 0 diff --git a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy index 6a66781ff0d..89fb669dca0 100644 --- a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy +++ b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect index a8d09f0a6f5..e7498a27e3e 100644 --- a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect +++ b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect @@ -1,2 +1,6 @@ + +Dafny program verifier finished with 3 verified, 0 errors + +Dafny program verifier did not attempt verification 5 3 5 3 5 3 5 3 diff --git a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy index 1175b1eca8f..096523f8956 100644 --- a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy +++ b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect index ef3de96e567..8954da2b386 100644 --- a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect +++ b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect @@ -1,2 +1,6 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification 5 3 5 3 diff --git a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy index 5d970ac4de5..1fbaebdf4e9 100644 --- a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy +++ b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect index 4ff62e33956..b6ffe78bcbb 100644 --- a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect +++ b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 4 verified, 0 errors + +Dafny program verifier did not attempt verification 15 [0, 1, 2, 4] [0, 2, 4] diff --git a/Test/comp/firstSteps/7_Arrays.dfy b/Test/comp/firstSteps/7_Arrays.dfy index d02c942c9bb..07ddf89594b 100644 --- a/Test/comp/firstSteps/7_Arrays.dfy +++ b/Test/comp/firstSteps/7_Arrays.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // This fragment of comp/Arrays.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/7_Arrays.dfy.expect b/Test/comp/firstSteps/7_Arrays.dfy.expect index fa00285c692..75e824c80bb 100644 --- a/Test/comp/firstSteps/7_Arrays.dfy.expect +++ b/Test/comp/firstSteps/7_Arrays.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 7 verified, 0 errors + +Dafny program verifier did not attempt verification 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/comp/firstSteps/7_Dt_Algebraic.dfy b/Test/comp/firstSteps/7_Dt_Algebraic.dfy index 46a2995b37f..991462d8bdf 100644 --- a/Test/comp/firstSteps/7_Dt_Algebraic.dfy +++ b/Test/comp/firstSteps/7_Dt_Algebraic.dfy @@ -1,5 +1,7 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // This fragment of comp/Dt.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect deleted file mode 100644 index ba1b72ea6f7..00000000000 --- a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect +++ /dev/null @@ -1,11 +0,0 @@ -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} -42 'q' hello -1701 diff --git a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect index e3ff7faba6e..ec9b49fe420 100644 --- a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect +++ b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 7 verified, 0 errors + +Dafny program verifier did not attempt verification List.Nil List.Cons(5, List.Nil) (List.Nil, List.Cons(5, List.Nil)) @@ -9,3 +13,16 @@ List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, Li {Berry.Hallon, Berry.Smultron, Berry.Jordgubb} 42 'q' hello 1701 + +Dafny program verifier did not attempt verification +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} +42 'q' hello +1701 diff --git a/Test/dafny0/ArrayElementInitCompile.dfy b/Test/dafny0/ArrayElementInitCompile.dfy index 3714cf0fe8e..7d652486b9e 100644 --- a/Test/dafny0/ArrayElementInitCompile.dfy +++ b/Test/dafny0/ArrayElementInitCompile.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 /print:"%t.print" /rprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny0/ArrayElementInitCompile.dfy.expect b/Test/dafny0/ArrayElementInitCompile.dfy.expect index eaa3e759999..a5241c75f19 100644 --- a/Test/dafny0/ArrayElementInitCompile.dfy.expect +++ b/Test/dafny0/ArrayElementInitCompile.dfy.expect @@ -1,3 +1,79 @@ + +Dafny program verifier finished with 18 verified, 0 errors + +Dafny program verifier did not attempt verification +67 67 67 67 67 67 67 67 +0 1 2 3 +1 2 3 4 +2 3 4 5 +3 4 5 6 +4 5 6 7 +O . O . O . O . O . O . +12 12 12 12 12 12 12 12 12 12 12 12 +D E +y z +4 3 +7 +100 75 98 25 + +looks like this rocks +-2 -1 0 1 2 3 4 + +Dafny program verifier did not attempt verification +67 67 67 67 67 67 67 67 +0 1 2 3 +1 2 3 4 +2 3 4 5 +3 4 5 6 +4 5 6 7 +O . O . O . O . O . O . +12 12 12 12 12 12 12 12 12 12 12 12 +D E +y z +4 3 +7 +100 75 98 25 + +looks like this rocks +-2 -1 0 1 2 3 4 + +Dafny program verifier did not attempt verification +67 67 67 67 67 67 67 67 +0 1 2 3 +1 2 3 4 +2 3 4 5 +3 4 5 6 +4 5 6 7 +O . O . O . O . O . O . +12 12 12 12 12 12 12 12 12 12 12 12 +D E +y z +4 3 +7 +100 75 98 25 + +looks like this rocks +-2 -1 0 1 2 3 4 + +Dafny program verifier did not attempt verification +67 67 67 67 67 67 67 67 +0 1 2 3 +1 2 3 4 +2 3 4 5 +3 4 5 6 +4 5 6 7 +O . O . O . O . O . O . +12 12 12 12 12 12 12 12 12 12 12 12 +D E +y z +4 3 +7 +100 75 98 25 + +looks like this rocks +-2 -1 0 1 2 3 4 + +Dafny program verifier did not attempt verification 67 67 67 67 67 67 67 67 0 1 2 3 1 2 3 4 diff --git a/Test/dafny0/Bitvectors.dfy b/Test/dafny0/Bitvectors.dfy index 7cdeaefb0c1..9dbb798fa4a 100644 --- a/Test/dafny0/Bitvectors.dfy +++ b/Test/dafny0/Bitvectors.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /env:0 +// RUN: %dafny /compile:0 /print:"%t.print" /rprint:- /env:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method M(a: bv1, b: bv32) returns (c: bv32, d: bv1) { diff --git a/Test/dafny0/Bitvectors.dfy.expect b/Test/dafny0/Bitvectors.dfy.expect index ed1c7328e83..09b34e5011a 100644 --- a/Test/dafny0/Bitvectors.dfy.expect +++ b/Test/dafny0/Bitvectors.dfy.expect @@ -1,3 +1,493 @@ +// Bitvectors.dfy + +/* +module _System { + /* CALL GRAPH for module _System: + * SCC at height 1: + * RotateLeft + * SCC at height 1: + * RotateRight + * SCC at height 0: + * array + * SCC at height 0: + * nat + * SCC at height 0: + * object + */ + type string(==,0) = seq + + type {:axiom} nat(==,0) = x: int + | 0 <= x + + trait {:compile false} object { } + /*-- non-null type + type {:axiom} object(==) = c: object? | c != null /*special witness*/ + */ + + class {:compile false} array { + var Length: int // immutable + } + /*-- non-null type + type {:axiom} array(==) = c: array? | c != null /*special witness*/ + */ + + type {:compile false} /*_#Func1*/ -T0 ~> +R { + ghost function requires(x0: T0): bool + reads reads(x0) + + ghost function reads(x0: T0): set + reads reads(x0) + } + + type {:compile false} /*_#PartialFunc1*/ -T0 --> +R = f: T0 ~> R + | forall x0: T0 :: f.reads(x0) == {} + /*special witness*/ + + type {:compile false} /*_#TotalFunc1*/ -T0 -> +R = f: T0 --> R + | forall x0: T0 :: f.requires(x0) + /*special witness*/ + + type {:compile false} /*_#Func0*/ () ~> +R { + ghost function requires(): bool + reads reads() + + ghost function reads(): set + reads reads() + } + + type {:compile false} /*_#PartialFunc0*/ () --> +R = f: () ~> R + | f.reads() == {} + /*special witness*/ + + type {:compile false} /*_#TotalFunc0*/ () -> +R = f: () --> R + | f.requires() + /*special witness*/ + + datatype {:compile false} /*_tuple#2*/ (+T0, +T1) = _#Make2(0: T0, 1: T1) + + type bool { } + + type int { } + + type real { + var Floor: int // immutable + } + + type ORDINAL { + var IsLimit: bool // immutable + var IsSucc: bool // immutable + var Offset: int // immutable + var IsNat: bool // immutable + } + + type _bv { + function RotateLeft(w: nat): selftype + + function RotateRight(w: nat): selftype + } + + type map<+T, +U> { + var Keys: set // immutable + var Values: set // immutable + var Items: set<(T, U)> // immutable + } + + type imap<*T, +U> { + var Keys: iset // immutable + var Values: iset // immutable + var Items: iset<(T, U)> // immutable + } + + datatype {:compile false} /*_tuple#0*/ () = _#Make0 +} +// bitvector types in use: bv1 bv32 bv47 bv16 bv0 bv67 bv64 bv53 bv33 bv31 bv15 bv8 bv6 bv2 bv7 bv12 bv3 +*/ + +/* CALL GRAPH for module _module: + * SCC at height 2: + * Main + * SCC at height 1: + * DoArith32 + * SCC at height 1: + * Rotates + * SCC at height 1: + * Shifts + * SCC at height 1: + * TestCompilationTruncations + * SCC at height 0: + * Arithmetic + * SCC at height 0: + * BitwiseOperations + * SCC at height 0: + * Bv0Stuff + * SCC at height 0: + * Handful + * SCC at height 0: + * M + * SCC at height 0: + * M0 + * SCC at height 0: + * M1 + * SCC at height 0: + * M15 + * SCC at height 0: + * M16 + * SCC at height 0: + * M31 + * SCC at height 0: + * M32 + * SCC at height 0: + * M33 + * SCC at height 0: + * M53 + * SCC at height 0: + * M6 + * SCC at height 0: + * M64 + * SCC at height 0: + * M67 + * SCC at height 0: + * M8 + * SCC at height 0: + * P2 + * SCC at height 0: + * PrintRotates + * SCC at height 0: + * PrintShifts + * SCC at height 0: + * SummoTests + * SCC at height 0: + * Unary + */ +newtype Handful = x: int + | 0 <= x < 80 + +method M(a: bv1, b: bv32) + returns (c: bv32, d: bv1) + decreases a, b +{ + c := b; + d := a; + var x: bv32 := 5000; + c := x; + var y: bv32 := 4000; + y := c; +} + +method Main() +{ + var x: bv32 := 4000; + var y: bv32 := 4000; + var z: bv32; + var w: bv32; + if x == y { + z := x; + } else { + w := y; + } + print x, " ", y, " ", z, " ", w, "\n"; + var t: bv47, u: bv47, v: bv47 := BitwiseOperations(); + print t, " ", u, " ", v, "\n"; + DoArith32(); + var unry: bv16 := Unary(5); + print "bv16: 5 - 2 == ", unry, "\n"; + unry := Unary(1); + print "bv16: 1 - 2 == ", unry, "\n"; + SummoTests(); + var zz0: bv0; + var zz1: bv0 := Bv0Stuff(zz0, 0); + print zz0, " ", zz1, "\n"; + print zz0 < zz1, " ", zz0 <= zz1, " ", zz0 >= zz1, " ", zz0 > zz1, "\n"; + TestCompilationTruncations(); + Shifts(); + Rotates(); +} + +method BitwiseOperations() returns (a: bv47, b: bv47, c: bv47) +{ + b, c := 2053, 1099; + a := b & c; + a := a | a | (b & b & c & (a ^ b ^ c) & a); +} + +method Arithmetic(x: bv32, y: bv32) + returns (r: bv32, s: bv32) + ensures r == x + y && s == y - x + decreases x, y +{ + r := x + y; + s := y - x; +} + +method DoArith32() +{ + var r: bv32, s: bv32 := Arithmetic(65, 120); + print r, " ", s, "\n"; + var x: bv32, y: bv32 := 2147483647, 2147483651; + r, s := Arithmetic(x, y); + assert r == 2 && s == 4; + print r, " ", s, "\n"; + assert x < y && x <= y && y >= x && y > x; + print "Comparisons: ", x < y, " ", x <= y, " ", x >= y, " ", x > y, "\n"; +} + +method Unary(x: bv16) returns (y: bv16) + ensures y == x - 2 + decreases x +{ + y := --!-!!--x; + y := !-y; + var F: bv16 := 65535; + calc == { + y; + == + !---!-!!--x; + == + F - ---!-!!--x; + == + { + assert ---!-!!--x == -!-!!--x; + } + F - -!-!!--x; + == + F + !-!!--x; + == + F + F - -!!--x; + == + F + F + !!--x; + == + { + assert !!--x == --x == x; + } + F + F + x; + == + x - 2; + } +} + +method SummoTests() +{ + var a: bv64 := 5; + a := 2 * 2 * 2 * 2 * 2 * a * 2 * 2 * 2 * 2 * 2; + var b: bv64 := a / 512; + assert b == 10; + assert b / 3 == 3 && b / 4 == 2; + assert b % 3 == 1 && b % 4 == 2; + print b / 3, " ", b % 4, "\n"; +} + +method Bv0Stuff(x: bv0, y: bv0) returns (z: bv0) + ensures z == 0 + decreases x, y +{ + z := x + y; + z := x * z - y; + z := (x ^ z) | (y & y); + z := !z + -z; +} + +method TestCompilationTruncations() +{ + M67(-1, 3); + M64(-1, 3); + M53(-1, 3); + M33(-1, 3); + M32(-1, 3); + M31(-1, 3); + M16(-1, 3); + M15(-1, 3); + M8(-1, 3); + M6(-1, 3); + M1(1, 1); + M0(0, 0); + P2(3, 2); +} + +method M67(a: bv67, b: bv67) + decreases a, b +{ + print "bv67: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; +} + +method M64(a: bv64, b: bv64) + decreases a, b +{ + print "bv64: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; +} + +method M53(a: bv53, b: bv53) + decreases a, b +{ + print "bv53: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; +} + +method M33(a: bv33, b: bv33) + decreases a, b +{ + print "bv33: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; +} + +method M32(a: bv32, b: bv32) + decreases a, b +{ + print "bv32: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; +} + +method M31(a: bv31, b: bv31) + decreases a, b +{ + print "bv31: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; +} + +method M16(a: bv16, b: bv16) + decreases a, b +{ + print "bv16: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; +} + +method M15(a: bv15, b: bv15) + decreases a, b +{ + print "bv15: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; +} + +method M8(a: bv8, b: bv8) + decreases a, b +{ + print "bv8: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; +} + +method M6(a: bv6, b: bv6) + decreases a, b +{ + print "bv6: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; +} + +method M1(a: bv1, b: bv1) + decreases a, b +{ + print "bv1: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; +} + +method M0(a: bv0, b: bv0) + decreases a, b +{ + print "bv0: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; +} + +method P2(a: bv2, b: bv2) + requires b != 0 + decreases a, b +{ + print "bv2:\n"; + print " ", a, " + ", b, " == ", a + b, "\n"; + print " ", a, " - ", b, " == ", a - b, "\n"; + print " ", a, " * ", b, " == ", a * b, "\n"; + print " ", a, " / ", b, " == ", a / b, "\n"; + print " ", a, " % ", b, " == ", a % b, "\n"; +} + +method Shifts() +{ + var x: int, h: Handful, b67: bv67, w: bv32, seven: bv7, bb: bv2, noll: bv0; + x, h := 3, 3; + b67, w, seven := 5, 5, 5; + PrintShifts("bv67", b67, 8 * b67, b67 << x as bv7, b67 << h as bv7); + PrintShifts("bv32", w, 8 * w, w << x as bv6, w << h as bv6); + PrintShifts("bv7", seven, 8 * seven, seven << x as bv3, seven << h as bv3); + bb, x, h := 1, 1, 1; + PrintShifts("bv2", bb, 2 * bb, bb << x as bv2, bb << h as bv2); + x, h := 0, 0; + PrintShifts("bv0", noll, 0 * noll, noll << x as bv0, noll << h as bv0); + b67, w, bb, noll := 73786976294838206465, 1, 1, 0; + var One67: bv67 := 1; + PrintShifts("bv67 again", b67 << One67 as bv7, b67 << w as bv7, b67 << bb as bv7, b67 << noll as bv7); + b67, w, bb, noll := 2, 3221225472 + 2000, 1, 0; + var Two32: bv32 := 2; + PrintShifts("bv32 again", w << b67 as bv6, w << Two32 as bv6, w << bb as bv6, w << noll as bv6); + seven, b67, w, bb, noll := 127, 2, 2, 2, 0; + PrintShifts("bv7 again", seven << b67 as bv3, seven << w as bv3, seven << bb as bv3, seven << noll as bv3); + b67, w, bb := 0, 0, 0; + PrintShifts("bv0 again", noll << b67 as bv0, noll << w as bv0, noll << bb as bv0, noll << noll as bv0); +} + +method PrintShifts(s: string, a: T, b: T, c: T, d: T) + decreases s +{ + print "PrintShifts: ", s, ": ", a, " ", b, " ", c, " ", d, "\n"; +} + +method Rotates() +{ + var x: int, w: bv12, seven: bv7, bb: bv2, noll: bv0; + x := 3; + w, seven, noll := 5, 5, 0; + PrintRotates("bv12", w, w.RotateLeft(x).RotateRight(x)); + PrintRotates("bv7", seven, seven.RotateLeft(x).RotateRight(x)); + bb, x := 1, 1; + PrintRotates("bv2", bb, bb.RotateLeft(x).RotateRight(x)); + x := 0; + PrintRotates("bv0", noll, noll.RotateLeft(x).RotateRight(x)); + x := 5; + w, seven := 3072 + 2000, 127; + PrintRotates("bv12 again", w, w.RotateLeft(x).RotateRight(x)); + PrintRotates("bv7 again", seven, seven.RotateLeft(x).RotateRight(x)); +} + +method PrintRotates(s: string, a: T, b: T) + decreases s +{ + print "PrintRotates: ", s, ": ", a, " ", b, "\n"; +} + +Dafny program verifier finished with 11 verified, 0 errors + +Dafny program verifier did not attempt verification +4000 4000 4000 0 +1 2053 1099 +185 55 +2 4 +Comparisons: true true false false +bv16: 5 - 2 == 3 +bv16: 1 - 2 == 65535 +3 2 +0 0 +false true true false +bv67: 147573952589676412927 + 3 == 2 - 3 == 147573952589676412925 !! 3 == ! 147573952589676412924 == 3 +bv64: 18446744073709551615 + 3 == 2 - 3 == 18446744073709551613 !! 3 == ! 18446744073709551612 == 3 +bv53: 9007199254740991 + 3 == 2 - 3 == 9007199254740989 !! 3 == ! 9007199254740988 == 3 +bv33: 8589934591 + 3 == 2 - 3 == 8589934589 !! 3 == ! 8589934588 == 3 +bv32: 4294967295 + 3 == 2 - 3 == 4294967293 !! 3 == ! 4294967292 == 3 +bv31: 2147483647 + 3 == 2 - 3 == 2147483645 !! 3 == ! 2147483644 == 3 +bv16: 65535 + 3 == 2 - 3 == 65533 !! 3 == ! 65532 == 3 +bv15: 32767 + 3 == 2 - 3 == 32765 !! 3 == ! 32764 == 3 +bv8: 255 + 3 == 2 - 3 == 253 !! 3 == ! 252 == 3 +bv6: 63 + 3 == 2 - 3 == 61 !! 3 == ! 60 == 3 +bv1: 1 + 1 == 0 - 1 == 1 !! 1 == ! 0 == 1 +bv0: 0 + 0 == 0 - 0 == 0 !! 0 == ! 0 == 0 +bv2: + 3 + 2 == 1 + 3 - 2 == 1 + 3 * 2 == 2 + 3 / 2 == 1 + 3 % 2 == 1 +PrintShifts: bv67: 5 40 40 40 +PrintShifts: bv32: 5 40 40 40 +PrintShifts: bv7: 5 40 40 40 +PrintShifts: bv2: 1 2 2 2 +PrintShifts: bv0: 0 0 0 0 +PrintShifts: bv67 again: 2 2 2 73786976294838206465 +PrintShifts: bv32 again: 8000 8000 2147487648 3221227472 +PrintShifts: bv7 again: 124 124 124 127 +PrintShifts: bv0 again: 0 0 0 0 +PrintRotates: bv12: 5 5 +PrintRotates: bv7: 5 5 +PrintRotates: bv2: 1 1 +PrintRotates: bv0: 0 0 +PrintRotates: bv12 again: 976 976 +PrintRotates: bv7 again: 127 127 + +Dafny program verifier did not attempt verification 4000 4000 4000 0 1 2053 1099 185 55 diff --git a/Test/dafny0/Compilation.dfy b/Test/dafny0/Compilation.dfy index 8c9594aa61f..d13af7dcf41 100644 --- a/Test/dafny0/Compilation.dfy +++ b/Test/dafny0/Compilation.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /autoTriggers:0 /deprecation:0 +// RUN: %dafny /compile:3 /deprecation:0 /autoTriggers:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // The tests in this file are designed to run through the compiler. They contain // program snippets that are tricky to compile or whose compilation once was buggy. diff --git a/Test/dafny0/Compilation.dfy.expect b/Test/dafny0/Compilation.dfy.expect index 1010a177b6f..d0fa1540237 100644 --- a/Test/dafny0/Compilation.dfy.expect +++ b/Test/dafny0/Compilation.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 29 verified, 0 errors 400 320 40 diff --git a/Test/dafny0/Constant.dfy b/Test/dafny0/Constant.dfy index 1fdeedc3335..f021e7d4482 100644 --- a/Test/dafny0/Constant.dfy +++ b/Test/dafny0/Constant.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" const one:int := 1 const two:int := one * 2 diff --git a/Test/dafny0/Constant.dfy.expect b/Test/dafny0/Constant.dfy.expect index 1a7b981715f..6099b08c38c 100644 --- a/Test/dafny0/Constant.dfy.expect +++ b/Test/dafny0/Constant.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 17 verified, 0 errors one := 1 two := 2 three := 3 diff --git a/Test/dafny0/Deprecation.dfy b/Test/dafny0/Deprecation.dfy index 86521043d43..8c9c688d463 100644 --- a/Test/dafny0/Deprecation.dfy +++ b/Test/dafny0/Deprecation.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // This file contains tests for messags about various deprecated features. // As those features go away completely, so can the corresponding tests. diff --git a/Test/dafny0/Deprecation.dfy.expect b/Test/dafny0/Deprecation.dfy.expect index 0dffd975ac7..4ff88d31ade 100644 --- a/Test/dafny0/Deprecation.dfy.expect +++ b/Test/dafny0/Deprecation.dfy.expect @@ -1 +1,8 @@ +Deprecation.dfy(16,13): Warning: constructors no longer need 'this' to be listed in modifies clauses +Deprecation.dfy(23,0): Warning: the old keyword phrase 'inductive predicate' has been renamed to 'least predicate' +Deprecation.dfy(26,0): Warning: the old keyword 'copredicate' has been renamed to the keyword phrase 'greatest predicate' +Deprecation.dfy(29,0): Warning: the old keyword phrase 'inductive lemma' has been renamed to 'least lemma' +Deprecation.dfy(32,0): Warning: the old keyword 'colemma' has been renamed to the keyword phrase 'greatest lemma' + +Dafny program verifier finished with 0 verified, 0 errors yet here we are diff --git a/Test/dafny0/DiscoverBounds.dfy b/Test/dafny0/DiscoverBounds.dfy index 18e56158613..31f9717ee79 100644 --- a/Test/dafny0/DiscoverBounds.dfy +++ b/Test/dafny0/DiscoverBounds.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /print:"%t.print" /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype NT = x | 0 <= x < 100 newtype UT = NT diff --git a/Test/dafny0/DiscoverBounds.dfy.expect b/Test/dafny0/DiscoverBounds.dfy.expect index 909a58326d0..e43954c7be1 100644 --- a/Test/dafny0/DiscoverBounds.dfy.expect +++ b/Test/dafny0/DiscoverBounds.dfy.expect @@ -1,3 +1,10 @@ +DiscoverBounds.dfy(32,7): Warning: /!\ No terms found to trigger on. +DiscoverBounds.dfy(33,7): Warning: /!\ No terms found to trigger on. +DiscoverBounds.dfy(34,7): Warning: /!\ No terms found to trigger on. +DiscoverBounds.dfy(35,7): Warning: /!\ No terms found to trigger on. +DiscoverBounds.dfy(36,7): Warning: /!\ No terms found to trigger on. + +Dafny program verifier finished with 7 verified, 0 errors 0 0 -2 diff --git a/Test/dafny0/DividedConstructors.dfy b/Test/dafny0/DividedConstructors.dfy index 069cb7adb58..8d5bf605ba0 100644 --- a/Test/dafny0/DividedConstructors.dfy +++ b/Test/dafny0/DividedConstructors.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /env:0 +// RUN: %dafny /compile:3 /env:0 /dprint:- "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var m := new M0.MyClass.Init(20); diff --git a/Test/dafny0/DividedConstructors.dfy.expect b/Test/dafny0/DividedConstructors.dfy.expect index 2dcc1ba6402..f7412d8d0a1 100644 --- a/Test/dafny0/DividedConstructors.dfy.expect +++ b/Test/dafny0/DividedConstructors.dfy.expect @@ -1,2 +1,188 @@ +DividedConstructors.dfy(62,9): Warning: the ... refinement feature in statements is deprecated +// DividedConstructors.dfy + + +module M0 { + class MyClass { + var a: nat + const b := 17 + var c: real + + constructor Init(x: nat) + { + this.a := x; + c := 3.14; + new; + a := a + b; + assert c == 3.14; + assert this.a == 17 + x; + } + + constructor (z: real) + ensures c <= 2.0 * z + { + a, c := 50, 2.0 * z; + new; + } + + constructor Make() + ensures 10 <= a + { + new; + a := a + b; + } + + constructor Create() + ensures 30 <= a + { + new; + a := a + 2 * b; + } + } +} + +module M1 refines M0 { + class MyClass ... { + const d := 'D' + var e: char + + constructor Init ... + { + e := 'e'; + new; + e := 'x'; + ...; + assert e == 'x'; + } + + constructor ... + { + e := 'y'; + new; + } + + constructor Make ... + { + new; + e := 'z'; + } + + constructor Create ... + { + e := 'w'; + } + } +} + +module TypeOfThis { + class LinkedList { + ghost var Repr: set> + ghost var Rapr: set> + ghost var S: set + ghost var T: set + + constructor Init() + { + Repr := {this}; + } + + constructor Init'() + { + Rapr := {this}; + } + + constructor Create() + { + S := {this}; + } + + constructor Create'() + { + T := {this}; + } + + constructor Two() + { + new; + var ll: LinkedList? := this; + var o: object? := this; + if + case true => + T := {o}; + case true => + S := {o}; + case true => + Repr := {ll}; + case true => + Rapr := {ll}; + case true => + S := {ll}; + case true => + T := {ll}; + } + + method Mutate() + modifies this + { + Repr := {this}; + Rapr := {this}; + S := {this}; + T := {this}; + } + } +} + +module Regression { + class A { + var b: bool + var y: int + + constructor Make0() + ensures b == false + { + b := false; + } + + constructor Make1() + ensures b == true + { + b := true; + } + + constructor Make2() + { + b := false; + new; + assert !b; + } + + constructor Make3() + ensures b == false && y == 65 + { + b := false; + y := 65; + new; + assert !b; + assert y == 65; + } + + constructor Make4(bb: bool, yy: int) + ensures b == bb && y == yy + { + b, y := bb, yy; + } + } +} +method Main() +{ + var m := new M0.MyClass.Init(20); + print m.a, ", ", m.b, ", ", m.c, "\n"; + var r0 := new Regression.A.Make0(); + var r1 := new Regression.A.Make1(); + assert r0.b != r1.b; + print r0.b, ", ", r1.b, "\n"; +} + +Dafny program verifier finished with 17 verified, 0 errors 37, 17, 3.14 false, true diff --git a/Test/dafny0/EqualityTypesCompile.dfy b/Test/dafny0/EqualityTypesCompile.dfy index a36d1818c1d..de7954710e9 100644 --- a/Test/dafny0/EqualityTypesCompile.dfy +++ b/Test/dafny0/EqualityTypesCompile.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype List = Nil | Cons(A, List) | ICons(int, List) datatype TwoLists = Two(List, List) diff --git a/Test/dafny0/EqualityTypesCompile.dfy.expect b/Test/dafny0/EqualityTypesCompile.dfy.expect index 0246dc39633..d2f1950e7f7 100644 --- a/Test/dafny0/EqualityTypesCompile.dfy.expect +++ b/Test/dafny0/EqualityTypesCompile.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 1 verified, 0 errors from M: false from N: false from H: false diff --git a/Test/dafny0/ForallCompilation.dfy b/Test/dafny0/ForallCompilation.dfy index 731ce83015f..40c381521e8 100644 --- a/Test/dafny0/ForallCompilation.dfy +++ b/Test/dafny0/ForallCompilation.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /autoTriggers:0 +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" /autoTriggers:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var c := new MyClass; diff --git a/Test/dafny0/ForallCompilation.dfy.expect b/Test/dafny0/ForallCompilation.dfy.expect index e69de29bb2d..66ffe3665d5 100644 --- a/Test/dafny0/ForallCompilation.dfy.expect +++ b/Test/dafny0/ForallCompilation.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 14 verified, 0 errors diff --git a/Test/dafny0/ForallCompilationNewSyntax.dfy b/Test/dafny0/ForallCompilationNewSyntax.dfy index ac354d6338c..b7132df78ae 100644 --- a/Test/dafny0/ForallCompilationNewSyntax.dfy +++ b/Test/dafny0/ForallCompilationNewSyntax.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --quantifier-syntax:4 --relax-definite-assignment +// RUN: %baredafny run %args --relax-definite-assignment --quantifier-syntax:4 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var c := new MyClass; diff --git a/Test/dafny0/ForallCompilationNewSyntax.dfy.expect b/Test/dafny0/ForallCompilationNewSyntax.dfy.expect index e69de29bb2d..5b7ec4613bb 100644 --- a/Test/dafny0/ForallCompilationNewSyntax.dfy.expect +++ b/Test/dafny0/ForallCompilationNewSyntax.dfy.expect @@ -0,0 +1,6 @@ +ForallCompilationNewSyntax.dfy(26,4): Warning: /!\ No terms found to trigger on. +ForallCompilationNewSyntax.dfy(35,4): Warning: /!\ No terms found to trigger on. +ForallCompilationNewSyntax.dfy(44,4): Warning: /!\ No terms found to trigger on. +ForallCompilationNewSyntax.dfy(64,4): Warning: /!\ No trigger covering all quantified variables found. + +Dafny program verifier finished with 14 verified, 0 errors diff --git a/Test/dafny0/GhostGuards.dfy b/Test/dafny0/GhostGuards.dfy index 49877792a47..b17c98662ce 100644 --- a/Test/dafny0/GhostGuards.dfy +++ b/Test/dafny0/GhostGuards.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /printTooltips /rprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Dt = Green | Dog diff --git a/Test/dafny0/GhostGuards.dfy.expect b/Test/dafny0/GhostGuards.dfy.expect index e69de29bb2d..8bb8a71d69d 100644 --- a/Test/dafny0/GhostGuards.dfy.expect +++ b/Test/dafny0/GhostGuards.dfy.expect @@ -0,0 +1,7 @@ +GhostGuards.dfy(12,9): Info: ghost if +GhostGuards.dfy(18,2): Info: ghost if +GhostGuards.dfy(28,2): Info: ghost while +GhostGuards.dfy(41,2): Info: ghost while +GhostGuards.dfy(54,2): Info: ghost match + +Dafny program verifier finished with 1 verified, 0 errors diff --git a/Test/dafny0/GhostITECompilation.dfy b/Test/dafny0/GhostITECompilation.dfy index bd7cfa28a95..d761ddbc6ea 100644 --- a/Test/dafny0/GhostITECompilation.dfy +++ b/Test/dafny0/GhostITECompilation.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --function-syntax:4 --relax-definite-assignment +// RUN: %dafny /compile:0 /functionSyntax:4 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" function F(x: nat, ghost y: nat): nat { diff --git a/Test/dafny0/GhostITECompilation.dfy.expect b/Test/dafny0/GhostITECompilation.dfy.expect index b4988e5cf11..1ec406bf52c 100644 --- a/Test/dafny0/GhostITECompilation.dfy.expect +++ b/Test/dafny0/GhostITECompilation.dfy.expect @@ -1,3 +1,31 @@ + +Dafny program verifier finished with 6 verified, 0 errors + +Dafny program verifier did not attempt verification +65 +65 +65 +65 + +Dafny program verifier did not attempt verification +65 +65 +65 +65 + +Dafny program verifier did not attempt verification +65 +65 +65 +65 + +Dafny program verifier did not attempt verification +65 +65 +65 +65 + +Dafny program verifier did not attempt verification 65 65 65 diff --git a/Test/dafny0/InitialValues.dfy b/Test/dafny0/InitialValues.dfy index 0848d244d71..7dcb05cc9c9 100644 --- a/Test/dafny0/InitialValues.dfy +++ b/Test/dafny0/InitialValues.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny0/InitialValues.dfy.expect b/Test/dafny0/InitialValues.dfy.expect index 18903dcc3dd..ada1b783c16 100644 --- a/Test/dafny0/InitialValues.dfy.expect +++ b/Test/dafny0/InitialValues.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 2 verified, 0 errors r= 0.0 s= 3.4 a= 0.0 b= 3.4 z= 0.0 a==z = true diff --git a/Test/dafny0/MatchBraces.dfy b/Test/dafny0/MatchBraces.dfy index 6a1fb7cd52c..b3b87fd5e4a 100644 --- a/Test/dafny0/MatchBraces.dfy +++ b/Test/dafny0/MatchBraces.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /env:0 +// RUN: %dafny /compile:0 /print:"%t.print" /env:0 /dprint:- "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Color = Red | Green | Blue diff --git a/Test/dafny0/MatchBraces.dfy.expect b/Test/dafny0/MatchBraces.dfy.expect index 4f89bff47e5..b6129bafcc0 100644 --- a/Test/dafny0/MatchBraces.dfy.expect +++ b/Test/dafny0/MatchBraces.dfy.expect @@ -1,2 +1,135 @@ +// MatchBraces.dfy + +datatype Color = Red | Green | Blue + +method Main() +{ + M(Green, Red); + M(Blue, Blue); +} + +method M(c: Color, d: Color) +{ + var x := match c case Red => 5 case Green => 7 case Blue => 11; + var y := match c case Red => 0.3 case Green => (match d case Red => 0.18 case Green => 0.21 case Blue => 0.98) case Blue => 98.0; + var z := match c case Red => Green case Green => match d { case Red => Red case Green => Blue case Blue => Red } case Blue => Green; + var w := match c { case Red => 2 case Green => 3 case Blue => 4 } + 10; + var t := match c case Red => 0 case Green => match d { case Red => 2 case Green => 2 case Blue => 1 } + (match d case Red => 10 case Green => 8 case Blue => 5) case Blue => match d { case Red => 20 case Green => 20 case Blue => 10 } + match d case Red => 110 case Green => 108 case Blue => 105; + print x, " ", y, " ", z, " ", w, " ", t, "\n"; +} + +ghost function Heat(c: Color): int +{ + match c + case Red => + 10 + case Green => + 12 + case Blue => + 14 +} + +ghost function IceCream(c: Color): int +{ + match c { + case Red => + 0 + case Green => + 4 + case Blue => + 1 + } +} + +ghost function Flowers(c: Color, d: Color): int +{ + match c { + case Red => + match d { + case Red => + 0 + case Green => + 1 + case Blue => + 2 + } + case Green => + match d { case Red => 3 case Green => 3 case Blue => 2 } + 20 + case Blue => + match d { case Red => 9 case Green => 8 case Blue => 7 } + match d case Red => 23 case Green => 29 case Blue => 31 + } +} + +method P(c: Color, d: Color) +{ + var x: int; + match c { + case {:split false} Red => + x := 20; + case {:split false} Green => + case {:split false} Blue => + } + match c + case {:split false} Red => + match d { + case {:split false} Red => + case {:split false} Green => + case {:split false} Blue => + } + case {:split false} Green => + var y := 25; + var z := y + 3; + case {:split false} Blue => + { + var y := 25; + var z := y + 3; + } + match d + case {:split false} Red => + case {:split false} Green => + x := x + 1; + case {:split false} Blue => +} + +lemma HeatIsEven(c: Color) + ensures Heat(c) % 2 == 0 +{ + match c + case {:split false} Red => + assert 10 % 2 == 0; + case {:split false} Green => + assert 12 % 2 == 0; + case {:split false} Blue => +} + +method DegenerateExamples(c: Color) + requires Heat(c) == 10 +{ + match c + case {:split false} Red => + case {:split false} Green => + match c { + } + case {:split false} Blue => + match c +} + +method MoreDegenerateExamples(c: Color) + requires Heat(c) == 10 +{ + if c == Green { + var x: int := match c; + var y: int := match c { }; + var z := match c case Blue => 4; + } +} + +Dafny program verifier finished with 5 verified, 0 errors + +Dafny program verifier did not attempt verification +7 0.18 Color.Red 13 12 +11 98.0 Color.Green 14 115 + +Dafny program verifier did not attempt verification 7 0.18 Color.Red 13 12 11 98.0 Color.Green 14 115 diff --git a/Test/dafny0/MoForallCompilation.dfy b/Test/dafny0/MoForallCompilation.dfy index af080853463..835712edbce 100644 --- a/Test/dafny0/MoForallCompilation.dfy +++ b/Test/dafny0/MoForallCompilation.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { TestAggregateArrayUpdate(); diff --git a/Test/dafny0/MoForallCompilation.dfy.expect b/Test/dafny0/MoForallCompilation.dfy.expect index 7bb606c1528..c431c74c6aa 100644 --- a/Test/dafny0/MoForallCompilation.dfy.expect +++ b/Test/dafny0/MoForallCompilation.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 18 verified, 0 errors -4.0 -3.0 -2.0 -1.0 0.0 1.0 2.0 3.0 7.0 6.0 5.0 4.0 3.0 2.0 1.0 0.0 true true true true true true false false diff --git a/Test/dafny0/NameclashesCompile.dfy b/Test/dafny0/NameclashesCompile.dfy index 46cae4b2338..4d06065c675 100644 --- a/Test/dafny0/NameclashesCompile.dfy +++ b/Test/dafny0/NameclashesCompile.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var r0, r1; diff --git a/Test/dafny0/NameclashesCompile.dfy.expect b/Test/dafny0/NameclashesCompile.dfy.expect index f001bdaeb1e..1434bb632f6 100644 --- a/Test/dafny0/NameclashesCompile.dfy.expect +++ b/Test/dafny0/NameclashesCompile.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 2 verified, 0 errors 15.0 15.1 94 99 0.8 14.3 14.4 18.9 18.92 diff --git a/Test/dafny0/NonZeroInitializationCompile.dfy b/Test/dafny0/NonZeroInitializationCompile.dfy index 2fedae6d60d..48b61a39369 100644 --- a/Test/dafny0/NonZeroInitializationCompile.dfy +++ b/Test/dafny0/NonZeroInitializationCompile.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" type MyInt = x | 6 <= x witness 6 newtype MyNewInt = x | 6 <= x witness 12 diff --git a/Test/dafny0/NonZeroInitializationCompile.dfy.expect b/Test/dafny0/NonZeroInitializationCompile.dfy.expect index 2e20350afad..69539e473c2 100644 --- a/Test/dafny0/NonZeroInitializationCompile.dfy.expect +++ b/Test/dafny0/NonZeroInitializationCompile.dfy.expect @@ -1,3 +1,76 @@ + +Dafny program verifier finished with 15 verified, 0 errors + +Dafny program verifier did not attempt verification +These are the arbitrary values chosen by the compiler: 6, 12 +short, short': 0, -35 +nes: {57} +f0, f1: (0, false), (29, true) +dt: Dt.Atom(-35) +cl { u: 12, x: 0, r: 3.14, nes: {57} } +cl' { u: 12, x: 0, ': 3.14, nes: {20, 57} } + +x: real :: 0.0 versus 0.0 +ch: char :: 'D' versus 'D' +s: set :: {} versus {} +d: Xt :: AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) versus AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) +y: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) +z: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) + +x: real :: 0.0 versus 0.0 +ch: char :: 'D' versus 'D' +s: set :: {} versus {} +d: Xt :: AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) versus AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) +y: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) +z: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) + +Dafny program verifier did not attempt verification +These are the arbitrary values chosen by the compiler: 6, 12 +short, short': 0, -35 +nes: {57} +f0, f1: (0, false), (29, true) +dt: Dt.Atom(-35) +cl { u: 12, x: 0, r: 3.14, nes: {57} } +cl' { u: 12, x: 0, ': 3.14, nes: {20, 57} } + +x: real :: 0.0 versus 0.0 +ch: char :: 'D' versus 'D' +s: set :: {} versus {} +d: Xt :: AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) versus AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) +y: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) +z: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) + +x: real :: 0.0 versus 0.0 +ch: char :: 'D' versus 'D' +s: set :: {} versus {} +d: Xt :: AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) versus AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) +y: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) +z: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) + +Dafny program verifier did not attempt verification +These are the arbitrary values chosen by the compiler: 6, 12 +short, short': 0, -35 +nes: {57} +f0, f1: (0, false), (29, true) +dt: Dt.Atom(-35) +cl { u: 12, x: 0, r: 3.14, nes: {57} } +cl' { u: 12, x: 0, ': 3.14, nes: {20, 57} } + +x: real :: 0.0 versus 0.0 +ch: char :: 'D' versus 'D' +s: set :: {} versus {} +d: Xt :: AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) versus AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) +y: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) +z: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) + +x: real :: 0.0 versus 0.0 +ch: char :: 'D' versus 'D' +s: set :: {} versus {} +d: Xt :: AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) versus AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) +y: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) +z: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) + +Dafny program verifier did not attempt verification These are the arbitrary values chosen by the compiler: 6, 12 short, short': 0, -35 nes: {57} diff --git a/Test/dafny0/NullComparisonWarnings.dfy b/Test/dafny0/NullComparisonWarnings.dfy index 35fd5ffb3f4..eb9183040bc 100644 --- a/Test/dafny0/NullComparisonWarnings.dfy +++ b/Test/dafny0/NullComparisonWarnings.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { print "despite the warnings, the program still compiles\n"; diff --git a/Test/dafny0/NullComparisonWarnings.dfy.expect b/Test/dafny0/NullComparisonWarnings.dfy.expect index f2b4545fac7..d8cf4a9960c 100644 --- a/Test/dafny0/NullComparisonWarnings.dfy.expect +++ b/Test/dafny0/NullComparisonWarnings.dfy.expect @@ -1 +1,14 @@ +NullComparisonWarnings.dfy(27,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(28,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'y' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(29,14): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for field 'next' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(30,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(31,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'y' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(32,14): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for field 'next' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(34,12): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(37,12): Warning: the type of the other operand is a set of non-null elements, so the inclusion test of 'null' will always return 'false' +NullComparisonWarnings.dfy(38,12): Warning: the type of the other operand is a set of non-null elements, so the non-inclusion test of 'null' will always return 'true' +NullComparisonWarnings.dfy(40,41): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'u' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(45,12): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' + +Dafny program verifier finished with 4 verified, 0 errors despite the warnings, the program still compiles diff --git a/Test/dafny0/PrintUTF8.dfy b/Test/dafny0/PrintUTF8.dfy index eff7baa32a9..5d4e376b19d 100644 --- a/Test/dafny0/PrintUTF8.dfy +++ b/Test/dafny0/PrintUTF8.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { print "Mikaël fixed UTF8\n"; diff --git a/Test/dafny0/PrintUTF8.dfy.expect b/Test/dafny0/PrintUTF8.dfy.expect index 818549280d3..52a23e906cc 100644 --- a/Test/dafny0/PrintUTF8.dfy.expect +++ b/Test/dafny0/PrintUTF8.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 0 verified, 0 errors Mikaël fixed UTF8 diff --git a/Test/dafny0/RangeCompilation.dfy b/Test/dafny0/RangeCompilation.dfy index 3f3e6aed0f8..53a8d6e33e5 100644 --- a/Test/dafny0/RangeCompilation.dfy +++ b/Test/dafny0/RangeCompilation.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype Byte = x | 0 <= x < 256 predicate GoodByte(b: Byte) { diff --git a/Test/dafny0/RangeCompilation.dfy.expect b/Test/dafny0/RangeCompilation.dfy.expect index 9e0f9e5f028..82fbbb9b698 100644 --- a/Test/dafny0/RangeCompilation.dfy.expect +++ b/Test/dafny0/RangeCompilation.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 4 verified, 0 errors b=2 i=4 diff --git a/Test/dafny0/SeqFromArray.dfy b/Test/dafny0/SeqFromArray.dfy index 39f72303d18..6bab732c906 100644 --- a/Test/dafny0/SeqFromArray.dfy +++ b/Test/dafny0/SeqFromArray.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // /autoTriggers:1 added to suppress instabilities diff --git a/Test/dafny0/SeqFromArray.dfy.expect b/Test/dafny0/SeqFromArray.dfy.expect index e69de29bb2d..1981561ca00 100644 --- a/Test/dafny0/SeqFromArray.dfy.expect +++ b/Test/dafny0/SeqFromArray.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 10 verified, 0 errors diff --git a/Test/dafny0/SharedDestructorsCompile.dfy b/Test/dafny0/SharedDestructorsCompile.dfy index 64d8b245b58..8171cf72404 100644 --- a/Test/dafny0/SharedDestructorsCompile.dfy +++ b/Test/dafny0/SharedDestructorsCompile.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Dt = | A(x: int, y: real) diff --git a/Test/dafny0/SharedDestructorsCompile.dfy.expect b/Test/dafny0/SharedDestructorsCompile.dfy.expect index 060d152d77b..e037db03c40 100644 --- a/Test/dafny0/SharedDestructorsCompile.dfy.expect +++ b/Test/dafny0/SharedDestructorsCompile.dfy.expect @@ -1,3 +1,20 @@ + +Dafny program verifier finished with 3 verified, 0 errors + +Dafny program verifier did not attempt verification +Dt.A(10, 12.0): x=10 y=12.0 +Dt.B(_module.MyClass, 6): h=_module.MyClass x=6 +Dt.C(3.14): y=3.14 +Dt.C(3.14) +Dt.A(71, 0.1) +Klef.C3(44, 100, 66, 200) +Datte.AA(10, 2) Datte.AA(10, 5) +Datte.BB(false, 12) Datte.BB(false, 6) +Datte.CC(3.2) Datte.CC(3.4) +Datte.DD(100, {7}, 5, 9.0) Datte.DD(30, {7}, 5, 9.0) +Datte.DD(100, {7}, 5, 9.0) Datte.DD(30, {7}, 5, 2.0) + +Dafny program verifier did not attempt verification Dt.A(10, 12.0): x=10 y=12.0 Dt.B(_module.MyClass, 6): h=_module.MyClass x=6 Dt.C(3.14): y=3.14 diff --git a/Test/dafny0/SiblingImports.dfy b/Test/dafny0/SiblingImports.dfy index 756e4b253f3..3fb01d9d1b8 100644 --- a/Test/dafny0/SiblingImports.dfy +++ b/Test/dafny0/SiblingImports.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { ClientA.Test(); diff --git a/Test/dafny0/SiblingImports.dfy.expect b/Test/dafny0/SiblingImports.dfy.expect index fb6171563ac..ba4df82a925 100644 --- a/Test/dafny0/SiblingImports.dfy.expect +++ b/Test/dafny0/SiblingImports.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 1 verified, 0 errors ClientA.Inner.Five: 5 ClientB.Inner.Five: 5 ClientC.Inner.Five: 5 diff --git a/Test/dafny0/TypeConversionsCompile.dfy b/Test/dafny0/TypeConversionsCompile.dfy index b7d02dd31f3..066af1b305b 100644 --- a/Test/dafny0/TypeConversionsCompile.dfy +++ b/Test/dafny0/TypeConversionsCompile.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /env:0 +// RUN: %dafny /compile:3 /print:"%t.print" /env:0 /rprint:- "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype Handful = x | 0 <= x < 0x8000 // this type turns native newtype Abundance = y | -20 <= y < 0x200_0000_0000 // still fits inside a "long" diff --git a/Test/dafny0/TypeConversionsCompile.dfy.expect b/Test/dafny0/TypeConversionsCompile.dfy.expect index 78990cf4a30..d6b02b34eae 100644 --- a/Test/dafny0/TypeConversionsCompile.dfy.expect +++ b/Test/dafny0/TypeConversionsCompile.dfy.expect @@ -1,3 +1,228 @@ +// TypeConversionsCompile.dfy + +/* +module _System { + /* CALL GRAPH for module _System: + * SCC at height 1: + * RotateLeft + * SCC at height 1: + * RotateRight + * SCC at height 0: + * array + * SCC at height 0: + * nat + * SCC at height 0: + * object + */ + type string(==,0) = seq + + type {:axiom} nat(==,0) = x: int + | 0 <= x + + trait {:compile false} object { } + /*-- non-null type + type {:axiom} object(==) = c: object? | c != null /*special witness*/ + */ + + class {:compile false} array { + var Length: int // immutable + } + /*-- non-null type + type {:axiom} array(==) = c: array? | c != null /*special witness*/ + */ + + type {:compile false} /*_#Func1*/ -T0 ~> +R { + ghost function requires(x0: T0): bool + reads reads(x0) + + ghost function reads(x0: T0): set + reads reads(x0) + } + + type {:compile false} /*_#PartialFunc1*/ -T0 --> +R = f: T0 ~> R + | forall x0: T0 :: f.reads(x0) == {} + /*special witness*/ + + type {:compile false} /*_#TotalFunc1*/ -T0 -> +R = f: T0 --> R + | forall x0: T0 :: f.requires(x0) + /*special witness*/ + + type {:compile false} /*_#Func0*/ () ~> +R { + ghost function requires(): bool + reads reads() + + ghost function reads(): set + reads reads() + } + + type {:compile false} /*_#PartialFunc0*/ () --> +R = f: () ~> R + | f.reads() == {} + /*special witness*/ + + type {:compile false} /*_#TotalFunc0*/ () -> +R = f: () --> R + | f.requires() + /*special witness*/ + + datatype {:compile false} /*_tuple#2*/ (+T0, +T1) = _#Make2(0: T0, 1: T1) + + type bool { } + + type int { } + + type real { + var Floor: int // immutable + } + + type ORDINAL { + var IsLimit: bool // immutable + var IsSucc: bool // immutable + var Offset: int // immutable + var IsNat: bool // immutable + } + + type _bv { + function RotateLeft(w: nat): selftype + + function RotateRight(w: nat): selftype + } + + type map<+T, +U> { + var Keys: set // immutable + var Values: set // immutable + var Items: set<(T, U)> // immutable + } + + type imap<*T, +U> { + var Keys: iset // immutable + var Values: iset // immutable + var Items: iset<(T, U)> // immutable + } + + datatype {:compile false} /*_tuple#0*/ () = _#Make0 +} +// bitvector types in use: bv67 bv32 bv7 bv0 bv300 +*/ + +/* CALL GRAPH for module _module: + * SCC at height 2: + * Main + * SCC at height 1: + * Difficult + * SCC at height 1: + * Print + * SCC at height 0: + * Abundance + * SCC at height 0: + * EvenInt + * SCC at height 0: + * Handful + * SCC at height 0: + * OrdinalTests + * SCC at height 0: + * PrintExpected + * SCC at height 0: + * SmallReal + * SCC at height 0: + * int64 + */ +newtype Handful = x: int + | 0 <= x < 32768 + +newtype Abundance = y: int + | -20 <= y < 2199023255552 + +newtype int64 = y: int + | -9223372036854775808 <= y < 9223372036854775808 + +newtype EvenInt = x: int + | x % 2 == 0 + +newtype SmallReal = r: real + | -4.0 <= r < 300.0 + +method Print(x: int, n: nat, r: real, handful: Handful, even: EvenInt, small: SmallReal, b67: bv67, w: bv32, seven: bv7, noll: bv0) + decreases x, n, r, handful, even, small, b67, w, seven, noll +{ + print x, " ", n, " ", r, " ", handful, " ", even, " ", small, " ", b67, " ", w, " ", seven, " ", noll, "\n"; +} + +method PrintExpected(got: T, expected: T) +{ + print "got ", got, ", expected ", expected, "\n"; +} + +method Main() +{ + var x: int, n: nat, r: real := 3, 4, 5.0; + var handful: Handful, even: EvenInt, small: SmallReal := 5, 6, -1.0; + var b67: bv67, w: bv32, seven: bv7, noll: bv0 := 147573952589676412927, 4294967295, 127, 0; + Print(x, n, r, handful, even, small, b67, w, seven, noll); + PrintExpected(x as bv7, 3); + PrintExpected(0 as bv0, 0); + PrintExpected(r as int, 5); + PrintExpected((2.0 * r) as EvenInt, 10); + PrintExpected(x as real, 3.0); + PrintExpected(even as real, 6.0); + PrintExpected((small + 3.0) as Handful, 2); + PrintExpected(noll as Handful, 0); + PrintExpected(noll as SmallReal, 0.0); + PrintExpected(w as real, 4294967295.0); + PrintExpected(seven as real, 127.0); + PrintExpected(noll as bv32, 0); + PrintExpected(noll as bv67, 0); + PrintExpected(seven as bv32, 127); + PrintExpected(seven as bv67, 127); + b67 := 50; + PrintExpected(r as bv67, 5); + PrintExpected(r as bv32, 5); + PrintExpected(w as bv67, 4294967295); + PrintExpected(r as bv7, 5); + PrintExpected(0.0 as bv0, 0); + PrintExpected(handful as bv67, 5); + PrintExpected(handful as bv32, 5); + PrintExpected(handful as bv7, 5); + PrintExpected(handful as int, 5); + PrintExpected(noll as bv32 as bv0, 0); + PrintExpected(noll as bv67 as bv0, 0); + PrintExpected(seven as bv32 as bv7, 127); + PrintExpected(seven as bv67 as bv7, 127); + PrintExpected(handful as real, 5.0); + Difficult(); + var a0: Abundance, a1: Abundance, a2: Abundance, lng: int64; + var s: set := {4.0, 6.3, r, 1000.2}; + var a: array := new char[68]; + handful := 120 as Handful; + a0, a1 := -1 as Abundance, 4 as Abundance; + a2 := 8589934592 as Abundance; + w, lng := 6345789 as bv32, -9223372036854775808 as int64; + print handful, " ", a0, " ", a1, " ", a2, " ", w, " ", lng, "\n"; + x, handful, a0, w := |s|, |s| as Handful, |s| as Abundance, |s| as bv32; + print x, " ", handful, " ", a0, " ", w, "\n"; + x, handful, a0, w := a.Length, a.Length as Handful, a.Length as Abundance, a.Length as bv32; + print x, " ", handful, " ", a0, " ", w, "\n"; + OrdinalTests(); +} + +method Difficult() +{ + if 14 as real as int as bv67 == 14 { + PrintExpected(14 as real as int as bv67 as EvenInt as SmallReal as Handful as bv7 as bv32 as int, 14); + } +} + +method OrdinalTests() +{ + var ord: ORDINAL := 143; + var iord: int := ord as int; + var oord: ORDINAL := iord as ORDINAL; + print "Something about ORDINAL: ", ord, " ", iord, " ", oord, " ", ord + 4, " ", ord - 100, "\n"; + print "ORDINAL and bitvectors: ", 20 as bv32 as ORDINAL, " ", 20 as bv300 as ORDINAL, "\n"; + print ord.IsLimit, " ", ord.Offset, " ", ord.IsNat, "\n"; + ord := 0; + print ord.IsLimit, " ", ord.Offset, " ", ord.IsNat, "\n"; +} + +Dafny program verifier finished with 8 verified, 0 errors 3 4 5.0 5 6 -1.0 147573952589676412927 4294967295 127 0 got 3, expected 3 got 0, expected 0 diff --git a/Test/dafny0/TypeMembers.dfy b/Test/dafny0/TypeMembers.dfy index f2bea4039c9..2ab57767ad5 100644 --- a/Test/dafny0/TypeMembers.dfy +++ b/Test/dafny0/TypeMembers.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { BasicTests(); diff --git a/Test/dafny0/TypeMembers.dfy.expect b/Test/dafny0/TypeMembers.dfy.expect index 923cb07e841..1d406ca85dc 100644 --- a/Test/dafny0/TypeMembers.dfy.expect +++ b/Test/dafny0/TypeMembers.dfy.expect @@ -1,3 +1,32 @@ +TypeMembers.dfy(117,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect + +Dafny program verifier finished with 29 verified, 0 errors +TypeMembers.dfy(117,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect + +Dafny program verifier did not attempt verification +DaTy.Yes 10 26 +8 11 10 11 10 +35 10 14 +22 22 +9 Dt.Business(false, 5) +76 77 +19 +0 0 +19 82 83 +93 Co.Cobalt +27 27 +18 +11 18 18 22 +15 30 29 +95 11 +162 165 +11 18 18 3 +15 30 29 +95 11 +162 165 +TypeMembers.dfy(117,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect + +Dafny program verifier did not attempt verification DaTy.Yes 10 26 8 11 10 11 10 35 10 14 diff --git a/Test/dafny0/TypeMembers.dfy.verifier.expect b/Test/dafny0/TypeMembers.dfy.verifier.expect deleted file mode 100644 index 7b6aaff62cf..00000000000 --- a/Test/dafny0/TypeMembers.dfy.verifier.expect +++ /dev/null @@ -1 +0,0 @@ -TypeMembers.dfy(117,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect diff --git a/Test/dafny0/Wellfounded.dfy b/Test/dafny0/Wellfounded.dfy index 7ec2be06b38..2ed488974c6 100644 --- a/Test/dafny0/Wellfounded.dfy +++ b/Test/dafny0/Wellfounded.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var d := Int(10); diff --git a/Test/dafny0/Wellfounded.dfy.expect b/Test/dafny0/Wellfounded.dfy.expect index 52742a67098..73d7a1e7ca2 100644 --- a/Test/dafny0/Wellfounded.dfy.expect +++ b/Test/dafny0/Wellfounded.dfy.expect @@ -1,3 +1,7 @@ +Wellfounded.dfy(49,14): Warning: /!\ No terms found to trigger on. +Wellfounded.dfy(77,5): Warning: /!\ No terms found to trigger on. + +Dafny program verifier finished with 3 verified, 0 errors M(d, d) = 10 M(a1, d) = 10 M(a2, d) = 10 diff --git a/Test/dafny2/MinWindowMax.dfy b/Test/dafny2/MinWindowMax.dfy index 32342cdd8b9..71ccb539d7d 100644 --- a/Test/dafny2/MinWindowMax.dfy +++ b/Test/dafny2/MinWindowMax.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Minimum window-max problem. // Rustan Leino diff --git a/Test/dafny2/MinWindowMax.dfy.expect b/Test/dafny2/MinWindowMax.dfy.expect index 1bb5609994e..f6f6e52d9bc 100644 --- a/Test/dafny2/MinWindowMax.dfy.expect +++ b/Test/dafny2/MinWindowMax.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 12 verified, 0 errors Window size 1: min window-max is -5 Window size 2: min window-max is 2 Window size 3: min window-max is 3 diff --git a/Test/dafny2/SmallestMissingNumber-functional.dfy b/Test/dafny2/SmallestMissingNumber-functional.dfy index a1544efab5f..047475c2680 100644 --- a/Test/dafny2/SmallestMissingNumber-functional.dfy +++ b/Test/dafny2/SmallestMissingNumber-functional.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Smallest missing number problem, functional version without duplicates. // A purely functional solution to the programming problem in Richard Bird's diff --git a/Test/dafny2/SmallestMissingNumber-functional.dfy.expect b/Test/dafny2/SmallestMissingNumber-functional.dfy.expect index 5d75da8ddd3..208b183ee3e 100644 --- a/Test/dafny2/SmallestMissingNumber-functional.dfy.expect +++ b/Test/dafny2/SmallestMissingNumber-functional.dfy.expect @@ -1 +1,4 @@ +SmallestMissingNumber-functional.dfy(213,11): Warning: /!\ No terms found to trigger on. + +Dafny program verifier finished with 21 verified, 0 errors 0 1 4 5 diff --git a/Test/dafny2/SmallestMissingNumber-imperative.dfy b/Test/dafny2/SmallestMissingNumber-imperative.dfy index 314bf4e464c..b8539481a54 100644 --- a/Test/dafny2/SmallestMissingNumber-imperative.dfy +++ b/Test/dafny2/SmallestMissingNumber-imperative.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Smallest missing number. // An imperative solution to the programming problem in Richard Bird's diff --git a/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect b/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect index cfb25913041..bc4a868fdff 100644 --- a/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect +++ b/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 8 verified, 0 errors 0 1 5 diff --git a/Test/dafny2/StoreAndRetrieve.dfy b/Test/dafny2/StoreAndRetrieve.dfy index 87b7bc78127..968b6948e0d 100644 --- a/Test/dafny2/StoreAndRetrieve.dfy +++ b/Test/dafny2/StoreAndRetrieve.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // This file shows an example program that uses both refinement and :autocontracts // specify a class that stores a set of things that can be retrieved using a query. diff --git a/Test/dafny2/StoreAndRetrieve.dfy.expect b/Test/dafny2/StoreAndRetrieve.dfy.expect index 030f5bfab39..1d7d71d5202 100644 --- a/Test/dafny2/StoreAndRetrieve.dfy.expect +++ b/Test/dafny2/StoreAndRetrieve.dfy.expect @@ -1 +1,39 @@ +StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier finished with 19 verified, 0 errors +StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +20.3 +StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +20.3 +StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +20.3 +StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification 20.3 diff --git a/Test/dafny2/StoreAndRetrieve.dfy.verifier.expect b/Test/dafny2/StoreAndRetrieve.dfy.verifier.expect deleted file mode 100644 index 7727ed0c4f5..00000000000 --- a/Test/dafny2/StoreAndRetrieve.dfy.verifier.expect +++ /dev/null @@ -1,5 +0,0 @@ -StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny2/Z-BirthdayBook.dfy b/Test/dafny2/Z-BirthdayBook.dfy index 10fc159b1a3..d9580e7cca2 100644 --- a/Test/dafny2/Z-BirthdayBook.dfy +++ b/Test/dafny2/Z-BirthdayBook.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // The birthday book example from the Z Reference Manual // Rustan Leino, 22 Feb 2018 diff --git a/Test/dafny2/Z-BirthdayBook.dfy.expect b/Test/dafny2/Z-BirthdayBook.dfy.expect index c6f2230e21a..31762ddd5b4 100644 --- a/Test/dafny2/Z-BirthdayBook.dfy.expect +++ b/Test/dafny2/Z-BirthdayBook.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 21 verified, 0 errors Send cards to: {['M', 'i', 'k', 'e'], ['S', 'u', 's', 'a', 'n']} diff --git a/Test/dafny2/pq-intrinsic-extrinsic.dfy b/Test/dafny2/pq-intrinsic-extrinsic.dfy index 588c2f9e2b1..c797c92445d 100644 --- a/Test/dafny2/pq-intrinsic-extrinsic.dfy +++ b/Test/dafny2/pq-intrinsic-extrinsic.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // This file contains several versions of a priority queue implemented by Braun trees: // diff --git a/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect b/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect index 5c90c26e0eb..bc2608f44b7 100644 --- a/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect +++ b/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect @@ -1,3 +1,14 @@ + +Dafny program verifier finished with 32 verified, 0 errors + +Dafny program verifier did not attempt verification +PriorityQueue_extrinsic: 3 +PriorityQueue_layered: 3 +PriorityQueue_intrinsic: 3 +PriorityQueue_on_intrinsic: 3 +PriorityQueue_direct: 3 + +Dafny program verifier did not attempt verification PriorityQueue_extrinsic: 3 PriorityQueue_layered: 3 PriorityQueue_intrinsic: 3 diff --git a/Test/dafny3/Abstemious.dfy b/Test/dafny3/Abstemious.dfy index 62d891f950f..263c1f1fb00 100644 --- a/Test/dafny3/Abstemious.dfy +++ b/Test/dafny3/Abstemious.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Examples from https://www.haskell.org/tutorial/functions.html diff --git a/Test/dafny3/Abstemious.dfy.expect b/Test/dafny3/Abstemious.dfy.expect index 3511a04a840..96f109b0b58 100644 --- a/Test/dafny3/Abstemious.dfy.expect +++ b/Test/dafny3/Abstemious.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 19 verified, 0 errors ones(): 1 1 1 1 1 1 1 ... from(3): 3 4 5 6 7 8 9 ... Map(plus1, ones()): 2 2 2 2 2 2 2 ... diff --git a/Test/dafny3/CachedContainer.dfy b/Test/dafny3/CachedContainer.dfy index e36e76d6851..77c3e45897f 100644 --- a/Test/dafny3/CachedContainer.dfy +++ b/Test/dafny3/CachedContainer.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // This file contains an example chain of module refinements, starting from a // simple interface M0 to an implementation M3. Module Client.Test() is diff --git a/Test/dafny3/CachedContainer.dfy.expect b/Test/dafny3/CachedContainer.dfy.expect index ed2a587c3f1..08f4fb30b0a 100644 --- a/Test/dafny3/CachedContainer.dfy.expect +++ b/Test/dafny3/CachedContainer.dfy.expect @@ -1 +1,79 @@ +CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier finished with 29 verified, 0 errors +CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +false true false true +CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +false true false true +CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +false true false true +CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification false true false true diff --git a/Test/dafny3/CachedContainer.dfy.verifier.expect b/Test/dafny3/CachedContainer.dfy.verifier.expect deleted file mode 100644 index dce146911e0..00000000000 --- a/Test/dafny3/CachedContainer.dfy.verifier.expect +++ /dev/null @@ -1,13 +0,0 @@ -CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny3/Iter.dfy b/Test/dafny3/Iter.dfy index 46befa24dd8..81431f2c64b 100644 --- a/Test/dafny3/Iter.dfy +++ b/Test/dafny3/Iter.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" class List { ghost var Contents: seq diff --git a/Test/dafny3/Iter.dfy.expect b/Test/dafny3/Iter.dfy.expect index 0ed11070541..69d7373d5d5 100644 --- a/Test/dafny3/Iter.dfy.expect +++ b/Test/dafny3/Iter.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 12 verified, 0 errors 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 98 0 2 4 6 8 10 12 14 diff --git a/Test/dafny4/Ackermann.dfy b/Test/dafny4/Ackermann.dfy index a4ef351c96b..27968070e9b 100644 --- a/Test/dafny4/Ackermann.dfy +++ b/Test/dafny4/Ackermann.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Rustan Leino, 8 Sep 2015. // This file proves that the Ackermann function is monotonic in each argument diff --git a/Test/dafny4/Ackermann.dfy.expect b/Test/dafny4/Ackermann.dfy.expect index 43d9513ef4b..c995dac9c9a 100644 --- a/Test/dafny4/Ackermann.dfy.expect +++ b/Test/dafny4/Ackermann.dfy.expect @@ -1 +1,5 @@ +Ackermann.dfy(163,4): Warning: /!\ No terms found to trigger on. +Ackermann.dfy(181,4): Warning: /!\ No terms found to trigger on. + +Dafny program verifier finished with 14 verified, 0 errors Ack(3, 4) = 125 diff --git a/Test/dafny4/Bug107.dfy b/Test/dafny4/Bug107.dfy index b7ab69c9a8d..e417fc90a53 100644 --- a/Test/dafny4/Bug107.dfy +++ b/Test/dafny4/Bug107.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny4/Bug107.dfy.expect b/Test/dafny4/Bug107.dfy.expect index 62f9457511f..ad79213a18c 100644 --- a/Test/dafny4/Bug107.dfy.expect +++ b/Test/dafny4/Bug107.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 1 verified, 0 errors 6 \ No newline at end of file diff --git a/Test/dafny4/Bug108.dfy b/Test/dafny4/Bug108.dfy index 8228fe44f87..c64ec32a340 100644 --- a/Test/dafny4/Bug108.dfy +++ b/Test/dafny4/Bug108.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var A := map[0 := 1]; diff --git a/Test/dafny4/Bug108.dfy.expect b/Test/dafny4/Bug108.dfy.expect index 0777a01b26d..c1c63f6c5c1 100644 --- a/Test/dafny4/Bug108.dfy.expect +++ b/Test/dafny4/Bug108.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 1 verified, 0 errors map[0 := 1] map[0 := 1] diff --git a/Test/dafny4/Bug113.dfy b/Test/dafny4/Bug113.dfy index 0bec0c1ce31..23c759540cd 100644 --- a/Test/dafny4/Bug113.dfy +++ b/Test/dafny4/Bug113.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype D = D(q:int, r:int, s:int, t:int) @@ -6,4 +7,4 @@ method Main() { print D(10, 20, 30, 40); print "\n"; -} +} \ No newline at end of file diff --git a/Test/dafny4/Bug113.dfy.expect b/Test/dafny4/Bug113.dfy.expect index e2eeff32e9a..3ea1396ad00 100644 --- a/Test/dafny4/Bug113.dfy.expect +++ b/Test/dafny4/Bug113.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 0 verified, 0 errors D.D(10, 20, 30, 40) diff --git a/Test/dafny4/Bug116.dfy b/Test/dafny4/Bug116.dfy index 501b74c74d5..e29da0f609d 100644 --- a/Test/dafny4/Bug116.dfy +++ b/Test/dafny4/Bug116.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // test various compiler-target keywords diff --git a/Test/dafny4/Bug116.dfy.expect b/Test/dafny4/Bug116.dfy.expect index 93102ef3120..21aa85d71f0 100644 --- a/Test/dafny4/Bug116.dfy.expect +++ b/Test/dafny4/Bug116.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 1 verified, 0 errors struct.S byte.arguments enum_Compile.goto.switch enum_Compile.goto.switch 20 + 20 == 40 diff --git a/Test/dafny4/Bug140.dfy b/Test/dafny4/Bug140.dfy index 8280db8f665..edde966c149 100644 --- a/Test/dafny4/Bug140.dfy +++ b/Test/dafny4/Bug140.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" class Node { ghost var List: seq diff --git a/Test/dafny4/Bug140.dfy.expect b/Test/dafny4/Bug140.dfy.expect index a40ee1166fb..bad48de4d6b 100644 --- a/Test/dafny4/Bug140.dfy.expect +++ b/Test/dafny4/Bug140.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 8 verified, 0 errors 1 2 diff --git a/Test/dafny4/Bug148.dfy b/Test/dafny4/Bug148.dfy index f31cef2cdc8..da1ebf99447 100644 --- a/Test/dafny4/Bug148.dfy +++ b/Test/dafny4/Bug148.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny4/Bug148.dfy.expect b/Test/dafny4/Bug148.dfy.expect index 9ed6ca4768b..79d02517ceb 100644 --- a/Test/dafny4/Bug148.dfy.expect +++ b/Test/dafny4/Bug148.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 0 verified, 0 errors true false true diff --git a/Test/dafny4/Bug49.dfy b/Test/dafny4/Bug49.dfy index 868f4a3964b..68722830422 100644 --- a/Test/dafny4/Bug49.dfy +++ b/Test/dafny4/Bug49.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny4/Bug49.dfy.expect b/Test/dafny4/Bug49.dfy.expect index 800c2bd15ba..4e02a08bbee 100644 --- a/Test/dafny4/Bug49.dfy.expect +++ b/Test/dafny4/Bug49.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 13 verified, 0 errors 6 6 5 diff --git a/Test/dafny4/Bug60.dfy b/Test/dafny4/Bug60.dfy index f4585753f5f..0aa9209269d 100644 --- a/Test/dafny4/Bug60.dfy +++ b/Test/dafny4/Bug60.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // This method can be used to test compilation. method Main() diff --git a/Test/dafny4/Bug60.dfy.expect b/Test/dafny4/Bug60.dfy.expect index fd56dc3fcbc..49740e95682 100644 --- a/Test/dafny4/Bug60.dfy.expect +++ b/Test/dafny4/Bug60.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 0 verified, 0 errors ({2, 3}, map[2 := 20, 3 := 30]) (2, 2) {2, 3} diff --git a/Test/dafny4/Bug67.dfy b/Test/dafny4/Bug67.dfy index f01d4239a75..731018a293b 100644 --- a/Test/dafny4/Bug67.dfy +++ b/Test/dafny4/Bug67.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype d = D(m:seq) @@ -7,4 +8,4 @@ method Main() assert D([10, 20]) == D([10, 20]); // succeeds print [10, 20] == [10, 20], "\n"; // prints True print D([10, 20]) == D([10, 20]); // prints False -} +} \ No newline at end of file diff --git a/Test/dafny4/Bug67.dfy.expect b/Test/dafny4/Bug67.dfy.expect index 0be5d980da4..c716cab3144 100644 --- a/Test/dafny4/Bug67.dfy.expect +++ b/Test/dafny4/Bug67.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 1 verified, 0 errors true true \ No newline at end of file diff --git a/Test/dafny4/Bug68.dfy b/Test/dafny4/Bug68.dfy index bf50015f90c..a211206acba 100644 --- a/Test/dafny4/Bug68.dfy +++ b/Test/dafny4/Bug68.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method M1() { @@ -61,4 +62,4 @@ method Main() M3(); M3'(); M4(); -} +} \ No newline at end of file diff --git a/Test/dafny4/Bug68.dfy.expect b/Test/dafny4/Bug68.dfy.expect index 814ccfee2df..f4ef534187d 100644 --- a/Test/dafny4/Bug68.dfy.expect +++ b/Test/dafny4/Bug68.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 8 verified, 0 errors true true true diff --git a/Test/dafny4/Bug89.dfy b/Test/dafny4/Bug89.dfy index c7b77b44f99..4aec1acb8b7 100644 --- a/Test/dafny4/Bug89.dfy +++ b/Test/dafny4/Bug89.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method F() returns(x:int) ensures x == 6 diff --git a/Test/dafny4/Bug89.dfy.expect b/Test/dafny4/Bug89.dfy.expect index 62f9457511f..ed41c274352 100644 --- a/Test/dafny4/Bug89.dfy.expect +++ b/Test/dafny4/Bug89.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors 6 \ No newline at end of file diff --git a/Test/dafny4/Bug94.dfy b/Test/dafny4/Bug94.dfy index c41458539fc..be931445654 100644 --- a/Test/dafny4/Bug94.dfy +++ b/Test/dafny4/Bug94.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" ghost function foo() : (int, int) { diff --git a/Test/dafny4/Bug94.dfy.expect b/Test/dafny4/Bug94.dfy.expect index 3f10ffe7a4c..ab0cfbb2d9e 100644 --- a/Test/dafny4/Bug94.dfy.expect +++ b/Test/dafny4/Bug94.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 1 verified, 0 errors 15 \ No newline at end of file diff --git a/Test/dafny4/ClassRefinement.dfy b/Test/dafny4/ClassRefinement.dfy index 3d5fd1006eb..320749ec197 100644 --- a/Test/dafny4/ClassRefinement.dfy +++ b/Test/dafny4/ClassRefinement.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" abstract module M0 { class Counter { diff --git a/Test/dafny4/ClassRefinement.dfy.expect b/Test/dafny4/ClassRefinement.dfy.expect index cba3471eb57..f456b6777f3 100644 --- a/Test/dafny4/ClassRefinement.dfy.expect +++ b/Test/dafny4/ClassRefinement.dfy.expect @@ -1 +1,44 @@ +ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated +ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier finished with 11 verified, 0 errors +ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated +ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +2 1 +ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated +ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +2 1 +ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated +ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +2 1 +ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated +ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification 2 1 diff --git a/Test/dafny4/ClassRefinement.dfy.verifier.expect b/Test/dafny4/ClassRefinement.dfy.verifier.expect deleted file mode 100644 index 85d37d75847..00000000000 --- a/Test/dafny4/ClassRefinement.dfy.verifier.expect +++ /dev/null @@ -1,6 +0,0 @@ -ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated -ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny4/ExpandedGuardedness.dfy b/Test/dafny4/ExpandedGuardedness.dfy index af620ec40e8..5cd7828f932 100644 --- a/Test/dafny4/ExpandedGuardedness.dfy +++ b/Test/dafny4/ExpandedGuardedness.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny4/ExpandedGuardedness.dfy.expect b/Test/dafny4/ExpandedGuardedness.dfy.expect index e0f3b041a66..d05670701e0 100644 --- a/Test/dafny4/ExpandedGuardedness.dfy.expect +++ b/Test/dafny4/ExpandedGuardedness.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 12 verified, 0 errors Up 19 20 21 22 23 Up2 19 20 21 22 23 UpIf 19 20 22 24 26 diff --git a/Test/dafny4/FlyingRobots.dfy b/Test/dafny4/FlyingRobots.dfy index f14a2a467cd..41223cca1aa 100644 --- a/Test/dafny4/FlyingRobots.dfy +++ b/Test/dafny4/FlyingRobots.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // The flying robots examples from an F* tutorial. It demonstrates how to specify // mutable data structures in the heap. diff --git a/Test/dafny4/FlyingRobots.dfy.expect b/Test/dafny4/FlyingRobots.dfy.expect index e69de29bb2d..5ed0d97333e 100644 --- a/Test/dafny4/FlyingRobots.dfy.expect +++ b/Test/dafny4/FlyingRobots.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 31 verified, 0 errors diff --git a/Test/dafny4/Leq.dfy b/Test/dafny4/Leq.dfy index fdbc1078ca3..fac12757ba0 100644 --- a/Test/dafny4/Leq.dfy +++ b/Test/dafny4/Leq.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Rustan Leino, 22 Sep 2015. // This file considers two definitions of Leq on naturals+infinity. One diff --git a/Test/dafny4/Leq.dfy.expect b/Test/dafny4/Leq.dfy.expect index e69de29bb2d..15301952c57 100644 --- a/Test/dafny4/Leq.dfy.expect +++ b/Test/dafny4/Leq.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 16 verified, 0 errors diff --git a/Test/dafny4/McCarthy91.dfy b/Test/dafny4/McCarthy91.dfy index 428f11eb269..466d30328cc 100644 --- a/Test/dafny4/McCarthy91.dfy +++ b/Test/dafny4/McCarthy91.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // The usual recursive method for computing McCarthy's 91 function method Main() { diff --git a/Test/dafny4/McCarthy91.dfy.expect b/Test/dafny4/McCarthy91.dfy.expect index 1511cff2c81..b63f7a0b03b 100644 --- a/Test/dafny4/McCarthy91.dfy.expect +++ b/Test/dafny4/McCarthy91.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 5 verified, 0 errors M(3) = 91 M(99) = 91 M(100) = 91 diff --git a/Test/dafny4/NatList.dfy b/Test/dafny4/NatList.dfy index 5a1b0358eaf..567fd461259 100644 --- a/Test/dafny4/NatList.dfy +++ b/Test/dafny4/NatList.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // This file tests some programs where "nat" is a type parameter to // a datatype. diff --git a/Test/dafny4/NatList.dfy.expect b/Test/dafny4/NatList.dfy.expect index 5382a29cb9f..2ceb3169787 100644 --- a/Test/dafny4/NatList.dfy.expect +++ b/Test/dafny4/NatList.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 11 verified, 0 errors ns = List.Cons(4, List.Cons(10, List.Nil)) Sum(ns) = 14 ns' = List.Cons(20, List.Nil) diff --git a/Test/dafny4/Regression15.dfy b/Test/dafny4/Regression15.dfy index 5ecb5ee4e2b..37f31ba7e90 100644 --- a/Test/dafny4/Regression15.dfy +++ b/Test/dafny4/Regression15.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var b; diff --git a/Test/dafny4/Regression15.dfy.expect b/Test/dafny4/Regression15.dfy.expect index 4cf7b8a8eb1..584190727b9 100644 --- a/Test/dafny4/Regression15.dfy.expect +++ b/Test/dafny4/Regression15.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 3 verified, 0 errors false true true diff --git a/Test/dafny4/Regression2.dfy b/Test/dafny4/Regression2.dfy index 0d28285e74c..213bf265401 100644 --- a/Test/dafny4/Regression2.dfy +++ b/Test/dafny4/Regression2.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" module NativeTypes { newtype uint64 = int diff --git a/Test/dafny4/Regression2.dfy.expect b/Test/dafny4/Regression2.dfy.expect index 8a739fb435a..3f8ac383f86 100644 --- a/Test/dafny4/Regression2.dfy.expect +++ b/Test/dafny4/Regression2.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 0 verified, 0 errors true true true diff --git a/Test/dafny4/Regression3.dfy b/Test/dafny4/Regression3.dfy index fc60fad3cb1..adaa0d2763d 100644 --- a/Test/dafny4/Regression3.dfy +++ b/Test/dafny4/Regression3.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny4/Regression3.dfy.expect b/Test/dafny4/Regression3.dfy.expect index 1223bf9ffaf..841338987c7 100644 --- a/Test/dafny4/Regression3.dfy.expect +++ b/Test/dafny4/Regression3.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 3 verified, 0 errors 55 Trunc( -3.0 ) = -3 (expected -3) Trunc( -2.8 ) = -3 (expected -3) diff --git a/Test/dafny4/Regression4.dfy b/Test/dafny4/Regression4.dfy index e4bc4cbef85..5f881a5083f 100644 --- a/Test/dafny4/Regression4.dfy +++ b/Test/dafny4/Regression4.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { } diff --git a/Test/dafny4/Regression4.dfy.expect b/Test/dafny4/Regression4.dfy.expect index e69de29bb2d..ba00363fc08 100644 --- a/Test/dafny4/Regression4.dfy.expect +++ b/Test/dafny4/Regression4.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 4 verified, 0 errors diff --git a/Test/dafny4/Regression6.dfy b/Test/dafny4/Regression6.dfy index b589ec0ce7d..f1551d3ef2d 100644 --- a/Test/dafny4/Regression6.dfy +++ b/Test/dafny4/Regression6.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" function Sum(a: array, lo: int, hi: int): int requires 0 <= lo <= hi <= a.Length diff --git a/Test/dafny4/Regression6.dfy.expect b/Test/dafny4/Regression6.dfy.expect index 54573bead10..17464f29e0b 100644 --- a/Test/dafny4/Regression6.dfy.expect +++ b/Test/dafny4/Regression6.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors 0 1028 0 diff --git a/Test/dafny4/Regression7.dfy b/Test/dafny4/Regression7.dfy index ef3ca5eea44..8ce421a62f3 100644 --- a/Test/dafny4/Regression7.dfy +++ b/Test/dafny4/Regression7.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /rprint:"%t.rprint" /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" module ListLibrary { datatype List = Nil | Cons(head: B, tail: List) diff --git a/Test/dafny4/Regression7.dfy.expect b/Test/dafny4/Regression7.dfy.expect index 70b01f973a0..19e63b05225 100644 --- a/Test/dafny4/Regression7.dfy.expect +++ b/Test/dafny4/Regression7.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors ListLibrary_Compile.List.Cons(28.0, ListLibrary_Compile.List.Nil) diff --git a/Test/dafny4/Regression9.dfy b/Test/dafny4/Regression9.dfy index 086007a3ef8..d9e44547252 100644 --- a/Test/dafny4/Regression9.dfy +++ b/Test/dafny4/Regression9.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Some tests for the type inference that was revamped // to better support subset types. diff --git a/Test/dafny4/Regression9.dfy.expect b/Test/dafny4/Regression9.dfy.expect index 2183b22cfa9..5a26eaeabfb 100644 --- a/Test/dafny4/Regression9.dfy.expect +++ b/Test/dafny4/Regression9.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors 'D''D''D' diff --git a/Test/dafny4/UnionFind.dfy b/Test/dafny4/UnionFind.dfy index e862fb64e64..1968d0d3b26 100644 --- a/Test/dafny4/UnionFind.dfy +++ b/Test/dafny4/UnionFind.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Rustan Leino, Nov 2015 // Module M0 gives the high-level specification of the UnionFind data structure diff --git a/Test/dafny4/UnionFind.dfy.expect b/Test/dafny4/UnionFind.dfy.expect index 1cb72129e49..961b161b8dc 100644 --- a/Test/dafny4/UnionFind.dfy.expect +++ b/Test/dafny4/UnionFind.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 63 verified, 0 errors false true true false true true diff --git a/Test/dafny4/gcd.dfy b/Test/dafny4/gcd.dfy index fa92223fa49..384e338435f 100644 --- a/Test/dafny4/gcd.dfy +++ b/Test/dafny4/gcd.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // A text describing this file is found in a Dafny Power User note: http://leino.science/papers/krml279.html diff --git a/Test/dafny4/gcd.dfy.expect b/Test/dafny4/gcd.dfy.expect index c17551a37a4..ecbe2b6f64a 100644 --- a/Test/dafny4/gcd.dfy.expect +++ b/Test/dafny4/gcd.dfy.expect @@ -1,3 +1,34 @@ + +Dafny program verifier finished with 19 verified, 0 errors + +Dafny program verifier did not attempt verification +15 gcd 9 = 3 +14 gcd 22 = 2 +371 gcd 1 = 1 +1 gcd 2 = 1 +1 gcd 1 = 1 +13 gcd 13 = 13 +60 gcd 60 = 60 + +Dafny program verifier did not attempt verification +15 gcd 9 = 3 +14 gcd 22 = 2 +371 gcd 1 = 1 +1 gcd 2 = 1 +1 gcd 1 = 1 +13 gcd 13 = 13 +60 gcd 60 = 60 + +Dafny program verifier did not attempt verification +15 gcd 9 = 3 +14 gcd 22 = 2 +371 gcd 1 = 1 +1 gcd 2 = 1 +1 gcd 1 = 1 +13 gcd 13 = 13 +60 gcd 60 = 60 + +Dafny program verifier did not attempt verification 15 gcd 9 = 3 14 gcd 22 = 2 371 gcd 1 = 1 diff --git a/Test/dafny4/git-issue104.dfy b/Test/dafny4/git-issue104.dfy index b05ec4de1cc..86683a2ed88 100644 --- a/Test/dafny4/git-issue104.dfy +++ b/Test/dafny4/git-issue104.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" predicate bug(a: array) reads a diff --git a/Test/dafny4/git-issue104.dfy.expect b/Test/dafny4/git-issue104.dfy.expect index 836a5934c8f..f572edb2471 100644 --- a/Test/dafny4/git-issue104.dfy.expect +++ b/Test/dafny4/git-issue104.dfy.expect @@ -1 +1,17 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification +true false + +Dafny program verifier did not attempt verification +true false + +Dafny program verifier did not attempt verification +true false + +Dafny program verifier did not attempt verification +true false + +Dafny program verifier did not attempt verification true false diff --git a/Test/dafny4/git-issue105.dfy b/Test/dafny4/git-issue105.dfy index 4cff2330cba..09cfce29a6e 100644 --- a/Test/dafny4/git-issue105.dfy +++ b/Test/dafny4/git-issue105.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method lol() returns (c: int) { diff --git a/Test/dafny4/git-issue105.dfy.expect b/Test/dafny4/git-issue105.dfy.expect index e69de29bb2d..012f5b99379 100644 --- a/Test/dafny4/git-issue105.dfy.expect +++ b/Test/dafny4/git-issue105.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/dafny4/git-issue15.dfy b/Test/dafny4/git-issue15.dfy index 7c77a67ccf9..96905286209 100755 --- a/Test/dafny4/git-issue15.dfy +++ b/Test/dafny4/git-issue15.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype obj = Obj(fooBar:map) datatype foo = Foo diff --git a/Test/dafny4/git-issue15.dfy.expect b/Test/dafny4/git-issue15.dfy.expect index 00750edc07d..e52de78d0b1 100755 --- a/Test/dafny4/git-issue15.dfy.expect +++ b/Test/dafny4/git-issue15.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 1 verified, 0 errors 3 diff --git a/Test/dafny4/git-issue167.dfy b/Test/dafny4/git-issue167.dfy index d98d425c345..d02943dc42d 100644 --- a/Test/dafny4/git-issue167.dfy +++ b/Test/dafny4/git-issue167.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { LetTest(); diff --git a/Test/dafny4/git-issue167.dfy.expect b/Test/dafny4/git-issue167.dfy.expect index 8c5e1ed8df7..0a230fe846e 100644 --- a/Test/dafny4/git-issue167.dfy.expect +++ b/Test/dafny4/git-issue167.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 4 verified, 0 errors 30 {6, 7} {['M', 'i', 'l', 'l', 'a'], ['A', 'l', 'f', 'o', 'n', 's']} diff --git a/Test/dafny4/git-issue195.dfy b/Test/dafny4/git-issue195.dfy index fccdc5461c8..ac4b1306ac6 100644 --- a/Test/dafny4/git-issue195.dfy +++ b/Test/dafny4/git-issue195.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Block = Block(prevBlockHash:Hash, txs:seq, proof:VProof) diff --git a/Test/dafny4/git-issue195.dfy.expect b/Test/dafny4/git-issue195.dfy.expect index 638bfb50b2d..30692fdef2a 100644 --- a/Test/dafny4/git-issue195.dfy.expect +++ b/Test/dafny4/git-issue195.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 4 verified, 0 errors true true true true true diff --git a/Test/dafny4/git-issue196.dfy b/Test/dafny4/git-issue196.dfy index 056687ab1a5..64eb0e9123f 100644 --- a/Test/dafny4/git-issue196.dfy +++ b/Test/dafny4/git-issue196.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" class A { var a: array> diff --git a/Test/dafny4/git-issue196.dfy.expect b/Test/dafny4/git-issue196.dfy.expect index ee25a2c5027..a333f982b8f 100644 --- a/Test/dafny4/git-issue196.dfy.expect +++ b/Test/dafny4/git-issue196.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 9 verified, 0 errors 42 42 42 5000 5000 5000 5000 5000 diff --git a/Test/dafny4/git-issue4.dfy b/Test/dafny4/git-issue4.dfy index b17a545e219..b19cf3ce6df 100644 --- a/Test/dafny4/git-issue4.dfy +++ b/Test/dafny4/git-issue4.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" function IntToChar(i:int):char requires 0 <= i < 10 diff --git a/Test/dafny4/git-issue4.dfy.expect b/Test/dafny4/git-issue4.dfy.expect index 24e24eb63cc..33af1e040b7 100644 --- a/Test/dafny4/git-issue4.dfy.expect +++ b/Test/dafny4/git-issue4.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 5 verified, 0 errors '8' 8 '8' 56 56 diff --git a/Test/dafny4/git-issue43.dfy b/Test/dafny4/git-issue43.dfy index d320d7761bc..edf056a1a91 100644 --- a/Test/dafny4/git-issue43.dfy +++ b/Test/dafny4/git-issue43.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" class System { } diff --git a/Test/dafny4/git-issue43.dfy.expect b/Test/dafny4/git-issue43.dfy.expect index e69de29bb2d..012f5b99379 100644 --- a/Test/dafny4/git-issue43.dfy.expect +++ b/Test/dafny4/git-issue43.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/dafny4/git-issue70.dfy b/Test/dafny4/git-issue70.dfy index 3a3a01e0af7..c8db7c9618d 100644 --- a/Test/dafny4/git-issue70.dfy +++ b/Test/dafny4/git-issue70.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny4/git-issue70.dfy.expect b/Test/dafny4/git-issue70.dfy.expect index 36ede89b639..526e9a5b349 100644 --- a/Test/dafny4/git-issue70.dfy.expect +++ b/Test/dafny4/git-issue70.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 3 verified, 0 errors map test {4, 6} {5, 7} diff --git a/Test/dafny4/git-issue76.dfy b/Test/dafny4/git-issue76.dfy index 85613dba2f2..708ee911b24 100644 --- a/Test/dafny4/git-issue76.dfy +++ b/Test/dafny4/git-issue76.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { M0(); diff --git a/Test/dafny4/git-issue76.dfy.expect b/Test/dafny4/git-issue76.dfy.expect index 0cfbf08886f..546da03a267 100644 --- a/Test/dafny4/git-issue76.dfy.expect +++ b/Test/dafny4/git-issue76.dfy.expect @@ -1 +1,8 @@ + +Dafny program verifier finished with 7 verified, 0 errors + +Dafny program verifier did not attempt verification +2 + +Dafny program verifier did not attempt verification 2 diff --git a/Test/dafny4/git-issue79.dfy b/Test/dafny4/git-issue79.dfy index f3fb17b8531..046a7c5e375 100644 --- a/Test/dafny4/git-issue79.dfy +++ b/Test/dafny4/git-issue79.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype EInt = Int(val: int) | Unknown type Pair = (string, EInt) diff --git a/Test/dafny4/git-issue79.dfy.expect b/Test/dafny4/git-issue79.dfy.expect index e69de29bb2d..012f5b99379 100644 --- a/Test/dafny4/git-issue79.dfy.expect +++ b/Test/dafny4/git-issue79.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/dafny4/git-issue88.dfy b/Test/dafny4/git-issue88.dfy index 83c0b4a8ef9..1c188333783 100644 --- a/Test/dafny4/git-issue88.dfy +++ b/Test/dafny4/git-issue88.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" type Grid = array2 diff --git a/Test/dafny4/git-issue88.dfy.expect b/Test/dafny4/git-issue88.dfy.expect index e69de29bb2d..00a51f822da 100644 --- a/Test/dafny4/git-issue88.dfy.expect +++ b/Test/dafny4/git-issue88.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 3 verified, 0 errors diff --git a/Test/exceptions/Exceptions1.dfy b/Test/exceptions/Exceptions1.dfy index 4ffd3291f2f..11bb2f7923d 100644 --- a/Test/exceptions/Exceptions1.dfy +++ b/Test/exceptions/Exceptions1.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" /rprint:"%t.rprint" > "%t" +// RUN: %diff "%s.expect" "%t" include "./NatOutcome.dfy" include "./VoidOutcome.dfy" diff --git a/Test/exceptions/Exceptions1.dfy.expect b/Test/exceptions/Exceptions1.dfy.expect index c87eb938c55..e61be2a11ad 100644 --- a/Test/exceptions/Exceptions1.dfy.expect +++ b/Test/exceptions/Exceptions1.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 7 verified, 0 errors true_true_true_88_42_33_Success=100 ___VoidSuccess true_true_false_88_42_Failure diff --git a/Test/exceptions/Exceptions1Expressions.dfy b/Test/exceptions/Exceptions1Expressions.dfy index a57e5b78c7e..c0f3c67cd39 100644 --- a/Test/exceptions/Exceptions1Expressions.dfy +++ b/Test/exceptions/Exceptions1Expressions.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" /rprint:"%t.rprint" > "%t" +// RUN: %diff "%s.expect" "%t" include "./NatOutcomeDt.dfy" include "./VoidOutcomeDt.dfy" diff --git a/Test/exceptions/Exceptions1Expressions.dfy.expect b/Test/exceptions/Exceptions1Expressions.dfy.expect index 3f1b38ab150..3da30f30d36 100644 --- a/Test/exceptions/Exceptions1Expressions.dfy.expect +++ b/Test/exceptions/Exceptions1Expressions.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 5 verified, 0 errors true_true_true_Success=100 VoidSuccess true_true_false_Failure diff --git a/Test/exports/FIFO.dfy b/Test/exports/FIFO.dfy index 95a8d25510c..173e412eaa9 100644 --- a/Test/exports/FIFO.dfy +++ b/Test/exports/FIFO.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" include "Queue.dfyi" diff --git a/Test/exports/FIFO.dfy.expect b/Test/exports/FIFO.dfy.expect index 4539bbf2d22..8350309cc2a 100644 --- a/Test/exports/FIFO.dfy.expect +++ b/Test/exports/FIFO.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 5 verified, 0 errors 0 1 2 diff --git a/Test/exports/LIFO.dfy b/Test/exports/LIFO.dfy index 513dd457c3f..ea691935620 100644 --- a/Test/exports/LIFO.dfy +++ b/Test/exports/LIFO.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" include "Queue.dfyi" diff --git a/Test/exports/LIFO.dfy.expect b/Test/exports/LIFO.dfy.expect index ae136939b64..48aa7787d09 100644 --- a/Test/exports/LIFO.dfy.expect +++ b/Test/exports/LIFO.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 5 verified, 0 errors 2 1 0 diff --git a/Test/exports/xrefine2.dfy b/Test/exports/xrefine2.dfy index 2409cc0509a..0b25240916c 100644 --- a/Test/exports/xrefine2.dfy +++ b/Test/exports/xrefine2.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" module ProtocolImpl { diff --git a/Test/exports/xrefine2.dfy.expect b/Test/exports/xrefine2.dfy.expect index 858dbd09862..34e1b357779 100644 --- a/Test/exports/xrefine2.dfy.expect +++ b/Test/exports/xrefine2.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 4 verified, 0 errors HI.foo(h1) => true HI.foo(h2) => true PI.orange(1) => 2 diff --git a/Test/exports/xrefine3.dfy b/Test/exports/xrefine3.dfy index bb2480bfed7..24d6fa062f0 100644 --- a/Test/exports/xrefine3.dfy +++ b/Test/exports/xrefine3.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" module AlphaImpl { diff --git a/Test/exports/xrefine3.dfy.expect b/Test/exports/xrefine3.dfy.expect index ae50cef0985..488ab11c36a 100644 --- a/Test/exports/xrefine3.dfy.expect +++ b/Test/exports/xrefine3.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors o hai! diff --git a/Test/git-issues/git-issue-032.dfy b/Test/git-issues/git-issue-032.dfy index d7dd61440a7..bde5b2f2a69 100644 --- a/Test/git-issues/git-issue-032.dfy +++ b/Test/git-issues/git-issue-032.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/git-issues/git-issue-032.dfy.expect b/Test/git-issues/git-issue-032.dfy.expect index 2a64997c6f7..91c285009c1 100644 --- a/Test/git-issues/git-issue-032.dfy.expect +++ b/Test/git-issues/git-issue-032.dfy.expect @@ -1,3 +1,40 @@ +git-issue-032.dfy(18,35): Warning: this branch is redundant +git-issue-032.dfy(27,34): Warning: this branch is redundant +git-issue-032.dfy(28,35): Warning: this branch is redundant + +Dafny program verifier finished with 1 verified, 0 errors +git-issue-032.dfy(18,35): Warning: this branch is redundant +git-issue-032.dfy(27,34): Warning: this branch is redundant +git-issue-032.dfy(28,35): Warning: this branch is redundant + +Dafny program verifier did not attempt verification +OK3 +OK +OKOK +00 +git-issue-032.dfy(18,35): Warning: this branch is redundant +git-issue-032.dfy(27,34): Warning: this branch is redundant +git-issue-032.dfy(28,35): Warning: this branch is redundant + +Dafny program verifier did not attempt verification +OK3 +OK +OKOK +00 +git-issue-032.dfy(18,35): Warning: this branch is redundant +git-issue-032.dfy(27,34): Warning: this branch is redundant +git-issue-032.dfy(28,35): Warning: this branch is redundant + +Dafny program verifier did not attempt verification +OK3 +OK +OKOK +00 +git-issue-032.dfy(18,35): Warning: this branch is redundant +git-issue-032.dfy(27,34): Warning: this branch is redundant +git-issue-032.dfy(28,35): Warning: this branch is redundant + +Dafny program verifier did not attempt verification OK3 OK OKOK diff --git a/Test/git-issues/git-issue-032.dfy.verifier.expect b/Test/git-issues/git-issue-032.dfy.verifier.expect deleted file mode 100644 index 885d7bff92c..00000000000 --- a/Test/git-issues/git-issue-032.dfy.verifier.expect +++ /dev/null @@ -1,3 +0,0 @@ -git-issue-032.dfy(18,35): Warning: this branch is redundant -git-issue-032.dfy(27,34): Warning: this branch is redundant -git-issue-032.dfy(28,35): Warning: this branch is redundant diff --git a/Test/git-issues/git-issue-1029.dfy b/Test/git-issues/git-issue-1029.dfy index 7e1e7a31cf2..a310a99c169 100644 --- a/Test/git-issues/git-issue-1029.dfy +++ b/Test/git-issues/git-issue-1029.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" module ValueType { export S diff --git a/Test/git-issues/git-issue-1029.dfy.expect b/Test/git-issues/git-issue-1029.dfy.expect index f603f618f29..075fcd93aed 100644 --- a/Test/git-issues/git-issue-1029.dfy.expect +++ b/Test/git-issues/git-issue-1029.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors [true, true, false] UI_Compile.Op2.GetOps([true, true, false], [true, true, false]) diff --git a/Test/git-issues/git-issue-1093.dfy b/Test/git-issues/git-issue-1093.dfy index 97797296680..9365397496f 100644 --- a/Test/git-issues/git-issue-1093.dfy +++ b/Test/git-issues/git-issue-1093.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { UnusedLabel(); diff --git a/Test/git-issues/git-issue-1093.dfy.expect b/Test/git-issues/git-issue-1093.dfy.expect index f599e28b8ab..0cadf5e4199 100644 --- a/Test/git-issues/git-issue-1093.dfy.expect +++ b/Test/git-issues/git-issue-1093.dfy.expect @@ -1 +1,17 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification +10 + +Dafny program verifier did not attempt verification +10 + +Dafny program verifier did not attempt verification +10 + +Dafny program verifier did not attempt verification +10 + +Dafny program verifier did not attempt verification 10 diff --git a/Test/git-issues/git-issue-1100.dfy b/Test/git-issues/git-issue-1100.dfy index 2c4bb564136..533d7688731 100644 --- a/Test/git-issues/git-issue-1100.dfy +++ b/Test/git-issues/git-issue-1100.dfy @@ -1,3 +1,4 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false /Users/salkeldr/Documents/GitHub/dafny/Test/git-issues/../c++/arrays.dfy +// RUN: %dafny /compile:3 /unicodeChar:0 /compileTarget:cpp %S/../c++/arrays.dfy > "%t" +// RUN: %diff "%s.expect" "%t" // Test compilation of a file in another directory diff --git a/Test/git-issues/git-issue-1100.dfy.expect b/Test/git-issues/git-issue-1100.dfy.expect index 2ce9320d8c2..552f9355593 100644 --- a/Test/git-issues/git-issue-1100.dfy.expect +++ b/Test/git-issues/git-issue-1100.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 9 verified, 0 errors 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/git-issues/git-issue-1130.dfy b/Test/git-issues/git-issue-1130.dfy index f1f5ad5a54b..5b7fc5068e2 100644 --- a/Test/git-issues/git-issue-1130.dfy +++ b/Test/git-issues/git-issue-1130.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var a := new Issue.Foo(); diff --git a/Test/git-issues/git-issue-1130.dfy.expect b/Test/git-issues/git-issue-1130.dfy.expect index de97a6dc4ca..6c3dd07b1f1 100644 --- a/Test/git-issues/git-issue-1130.dfy.expect +++ b/Test/git-issues/git-issue-1130.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 13 verified, 0 errors 012 diff --git a/Test/git-issues/git-issue-1150.dfy b/Test/git-issues/git-issue-1150.dfy index d3416a53813..d4cee3c3ef2 100644 --- a/Test/git-issues/git-issue-1150.dfy +++ b/Test/git-issues/git-issue-1150.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Foo = Foo(x: nat) { diff --git a/Test/git-issues/git-issue-1150.dfy.expect b/Test/git-issues/git-issue-1150.dfy.expect index f34d8df4a11..fb4be1897cf 100644 --- a/Test/git-issues/git-issue-1150.dfy.expect +++ b/Test/git-issues/git-issue-1150.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 1 verified, 0 errors Foo.Foo(2) true Foo.Foo(5) false diff --git a/Test/git-issues/git-issue-1185.dfy b/Test/git-issues/git-issue-1185.dfy index c7ad72134d1..32c340b0736 100644 --- a/Test/git-issues/git-issue-1185.dfy +++ b/Test/git-issues/git-issue-1185.dfy @@ -1,5 +1,9 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" predicate P(s: set) requires s != {} diff --git a/Test/git-issues/git-issue-1185.dfy.expect b/Test/git-issues/git-issue-1185.dfy.expect index 525ce875525..90ab58a1f5a 100644 --- a/Test/git-issues/git-issue-1185.dfy.expect +++ b/Test/git-issues/git-issue-1185.dfy.expect @@ -1 +1,14 @@ + +Dafny program verifier finished with 3 verified, 0 errors + +Dafny program verifier did not attempt verification +{12, 20} true 6 + +Dafny program verifier did not attempt verification +{20, 12} true 6 + +Dafny program verifier did not attempt verification +{12, 20} true 6 + +Dafny program verifier did not attempt verification {12, 20} true 6 diff --git a/Test/git-issues/git-issue-1185.dfy.java.expect b/Test/git-issues/git-issue-1185.dfy.java.expect deleted file mode 100644 index 8ba669ad273..00000000000 --- a/Test/git-issues/git-issue-1185.dfy.java.expect +++ /dev/null @@ -1 +0,0 @@ -{20, 12} true 6 diff --git a/Test/git-issues/git-issue-1514.dfy b/Test/git-issues/git-issue-1514.dfy index 816eadce69b..74b75478609 100644 --- a/Test/git-issues/git-issue-1514.dfy +++ b/Test/git-issues/git-issue-1514.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" include "Wrappers.dfy" import opened Wrappers diff --git a/Test/git-issues/git-issue-1514.dfy.expect b/Test/git-issues/git-issue-1514.dfy.expect index b5754e20373..2f22d47cee8 100644 --- a/Test/git-issues/git-issue-1514.dfy.expect +++ b/Test/git-issues/git-issue-1514.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-1514b.dfy b/Test/git-issues/git-issue-1514b.dfy index 050a4a71760..1d8cd122d28 100644 --- a/Test/git-issues/git-issue-1514b.dfy +++ b/Test/git-issues/git-issue-1514b.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" include "Wrappers.dfy" import opened Wrappers diff --git a/Test/git-issues/git-issue-1514b.dfy.expect b/Test/git-issues/git-issue-1514b.dfy.expect index b5754e20373..2f22d47cee8 100644 --- a/Test/git-issues/git-issue-1514b.dfy.expect +++ b/Test/git-issues/git-issue-1514b.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-1514c.dfy b/Test/git-issues/git-issue-1514c.dfy index 578316f217c..d9df7d108c1 100644 --- a/Test/git-issues/git-issue-1514c.dfy +++ b/Test/git-issues/git-issue-1514c.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" include "Wrappers.dfy" import opened Wrappers diff --git a/Test/git-issues/git-issue-1514c.dfy.expect b/Test/git-issues/git-issue-1514c.dfy.expect index 9766475a418..694254c28aa 100644 --- a/Test/git-issues/git-issue-1514c.dfy.expect +++ b/Test/git-issues/git-issue-1514c.dfy.expect @@ -1 +1,8 @@ + +Dafny program verifier finished with 3 verified, 0 errors + +Dafny program verifier did not attempt verification +ok + +Dafny program verifier did not attempt verification ok diff --git a/Test/git-issues/git-issue-1553.dfy b/Test/git-issues/git-issue-1553.dfy index 81cbef7aa7e..6267018c92d 100644 --- a/Test/git-issues/git-issue-1553.dfy +++ b/Test/git-issues/git-issue-1553.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { } method Test() { diff --git a/Test/git-issues/git-issue-1553.dfy.expect b/Test/git-issues/git-issue-1553.dfy.expect index e69de29bb2d..65d3b5d6635 100644 --- a/Test/git-issues/git-issue-1553.dfy.expect +++ b/Test/git-issues/git-issue-1553.dfy.expect @@ -0,0 +1,10 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-1604b.dfy b/Test/git-issues/git-issue-1604b.dfy index c00b95102f4..497ee5017d5 100644 --- a/Test/git-issues/git-issue-1604b.dfy +++ b/Test/git-issues/git-issue-1604b.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /errorLimit:0 +// RUN: %dafny /compile:3 /errorLimit:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Double constraints. Will this still work? diff --git a/Test/git-issues/git-issue-1604b.dfy.expect b/Test/git-issues/git-issue-1604b.dfy.expect index b5754e20373..93d7203e654 100644 --- a/Test/git-issues/git-issue-1604b.dfy.expect +++ b/Test/git-issues/git-issue-1604b.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 5 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-1714.dfy b/Test/git-issues/git-issue-1714.dfy index 540a41c39cb..6ce8915a7af 100644 --- a/Test/git-issues/git-issue-1714.dfy +++ b/Test/git-issues/git-issue-1714.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" +// RUN: %diff "%s.expect" "%t" trait Base {} class Derived extends Base { var n: int constructor() { n := 0; } } diff --git a/Test/git-issues/git-issue-1714.dfy.expect b/Test/git-issues/git-issue-1714.dfy.expect index 88039063d09..67dd7d95642 100644 --- a/Test/git-issues/git-issue-1714.dfy.expect +++ b/Test/git-issues/git-issue-1714.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors (b as Derived).n == 0 diff --git a/Test/git-issues/git-issue-179.dfy b/Test/git-issues/git-issue-179.dfy index d37d3048490..283a04f1a68 100644 --- a/Test/git-issues/git-issue-179.dfy +++ b/Test/git-issues/git-issue-179.dfy @@ -1,5 +1,9 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var mp: map; diff --git a/Test/git-issues/git-issue-179.dfy.expect b/Test/git-issues/git-issue-179.dfy.expect index 97cb7aa6c7a..3f922ac5bd4 100644 --- a/Test/git-issues/git-issue-179.dfy.expect +++ b/Test/git-issues/git-issue-179.dfy.expect @@ -1,4 +1,26 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification {(3, false), (4, true), (5, false)} {3, 4, 5} {false, true} true false true false + +Dafny program verifier did not attempt verification +{(5, false), (4, true), (3, false)} +{5, 4, 3} +{false, true} +true false true false + +Dafny program verifier did not attempt verification +{(5, false), (4, true), (3, false)} +{5, 4, 3} +{false, true} +true false true false + +Dafny program verifier did not attempt verification +{(5, false), (3, false), (4, true)} +{3, 4, 5} +{false, true} +true false true false diff --git a/Test/git-issues/git-issue-179.dfy.go.expect b/Test/git-issues/git-issue-179.dfy.go.expect deleted file mode 100644 index 3b6c1b2603f..00000000000 --- a/Test/git-issues/git-issue-179.dfy.go.expect +++ /dev/null @@ -1,4 +0,0 @@ -{(5, false), (4, true), (3, false)} -{5, 4, 3} -{false, true} -true false true false diff --git a/Test/git-issues/git-issue-179.dfy.java.expect b/Test/git-issues/git-issue-179.dfy.java.expect deleted file mode 100644 index ebe17288dfd..00000000000 --- a/Test/git-issues/git-issue-179.dfy.java.expect +++ /dev/null @@ -1,4 +0,0 @@ -{(5, false), (3, false), (4, true)} -{3, 4, 5} -{false, true} -true false true false diff --git a/Test/git-issues/git-issue-179.dfy.js.expect b/Test/git-issues/git-issue-179.dfy.js.expect deleted file mode 100644 index 3b6c1b2603f..00000000000 --- a/Test/git-issues/git-issue-179.dfy.js.expect +++ /dev/null @@ -1,4 +0,0 @@ -{(5, false), (4, true), (3, false)} -{5, 4, 3} -{false, true} -true false true false diff --git a/Test/git-issues/git-issue-1815a.dfy b/Test/git-issues/git-issue-1815a.dfy index 72d55a1cb4f..91fb7a32aa6 100644 --- a/Test/git-issues/git-issue-1815a.dfy +++ b/Test/git-issues/git-issue-1815a.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Dt<+U> = Dt(x: U, i: int) diff --git a/Test/git-issues/git-issue-1815a.dfy.expect b/Test/git-issues/git-issue-1815a.dfy.expect index 19f86f493ab..7b2651302d9 100644 --- a/Test/git-issues/git-issue-1815a.dfy.expect +++ b/Test/git-issues/git-issue-1815a.dfy.expect @@ -1 +1,17 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification +done + +Dafny program verifier did not attempt verification +done + +Dafny program verifier did not attempt verification +done + +Dafny program verifier did not attempt verification +done + +Dafny program verifier did not attempt verification done diff --git a/Test/git-issues/git-issue-1852.dfy b/Test/git-issues/git-issue-1852.dfy index 046f3fca1fc..516835e8ea8 100644 --- a/Test/git-issues/git-issue-1852.dfy +++ b/Test/git-issues/git-issue-1852.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" module A { export diff --git a/Test/git-issues/git-issue-1852.dfy.expect b/Test/git-issues/git-issue-1852.dfy.expect index 299a71f3fe4..e9cd0ea2e07 100644 --- a/Test/git-issues/git-issue-1852.dfy.expect +++ b/Test/git-issues/git-issue-1852.dfy.expect @@ -1 +1,8 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification +5 5 + +Dafny program verifier did not attempt verification 5 5 diff --git a/Test/git-issues/git-issue-1903.dfy b/Test/git-issues/git-issue-1903.dfy index 60ee1c121ab..7edb2a46c61 100644 --- a/Test/git-issues/git-issue-1903.dfy +++ b/Test/git-issues/git-issue-1903.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method g(x : seq := []) { diff --git a/Test/git-issues/git-issue-1903.dfy.expect b/Test/git-issues/git-issue-1903.dfy.expect index 84cc8d360f9..3170fb0c7f2 100644 --- a/Test/git-issues/git-issue-1903.dfy.expect +++ b/Test/git-issues/git-issue-1903.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 1 verified, 0 errors worked! diff --git a/Test/git-issues/git-issue-1909.dfy b/Test/git-issues/git-issue-1909.dfy index 83d9ec1d785..7fb5b3b8c48 100644 --- a/Test/git-issues/git-issue-1909.dfy +++ b/Test/git-issues/git-issue-1909.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype ABC = ABC(nameonly a: int, nameonly b: int, nameonly c: int) diff --git a/Test/git-issues/git-issue-1909.dfy.expect b/Test/git-issues/git-issue-1909.dfy.expect index ab6f7d69d36..b4eb7e7774e 100644 --- a/Test/git-issues/git-issue-1909.dfy.expect +++ b/Test/git-issues/git-issue-1909.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 1 verified, 0 errors ABC.ABC(19, 21, 23) ABC.ABC(19, 42, 23) ABC.ABC(100, 42, 90) diff --git a/Test/git-issues/git-issue-2013.dfy b/Test/git-issues/git-issue-2013.dfy index 1f3962988ee..d1d3e15880e 100644 --- a/Test/git-issues/git-issue-2013.dfy +++ b/Test/git-issues/git-issue-2013.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/git-issues/git-issue-2013.dfy.expect b/Test/git-issues/git-issue-2013.dfy.expect index 2cf9744efb3..bbf7e59b073 100644 --- a/Test/git-issues/git-issue-2013.dfy.expect +++ b/Test/git-issues/git-issue-2013.dfy.expect @@ -1,3 +1,55 @@ + +Dafny program verifier finished with 12 verified, 0 errors + +Dafny program verifier did not attempt verification +16 +16 +12 30 30 +Result.Success(8) Result.Failure(_module.MyClassException) +{100} {100} {100} +{MoreTests_Compile.C} {MoreTests_Compile.C} {MoreTests_Compile.C} +100 100 100 +MoreTests_Compile.C MoreTests_Compile.C MoreTests_Compile.C +Conveyance_Compile.NonVariantResult.NVSuccess(Conveyance_Compile.Car) Conveyance_Compile.CovariantResult.CVSuccess(Conveyance_Compile.Car) +Regression_mM_Compile.Stream.Next + +Dafny program verifier did not attempt verification +16 +16 +12 30 30 +Result.Success(8) Result.Failure(_module.MyClassException) +{100} {100} {100} +{MoreTests_Compile.C} {MoreTests_Compile.C} {MoreTests_Compile.C} +100 100 100 +MoreTests_Compile.C MoreTests_Compile.C MoreTests_Compile.C +Conveyance_Compile.NonVariantResult.NVSuccess(Conveyance_Compile.Car) Conveyance_Compile.CovariantResult.CVSuccess(Conveyance_Compile.Car) +Regression_mM_Compile.Stream.Next + +Dafny program verifier did not attempt verification +16 +16 +12 30 30 +Result.Success(8) Result.Failure(_module.MyClassException) +{100} {100} {100} +{MoreTests_Compile.C} {MoreTests_Compile.C} {MoreTests_Compile.C} +100 100 100 +MoreTests_Compile.C MoreTests_Compile.C MoreTests_Compile.C +Conveyance_Compile.NonVariantResult.NVSuccess(Conveyance_Compile.Car) Conveyance_Compile.CovariantResult.CVSuccess(Conveyance_Compile.Car) +Regression_mM_Compile.Stream.Next + +Dafny program verifier did not attempt verification +16 +16 +12 30 30 +Result.Success(8) Result.Failure(_module.MyClassException) +{100} {100} {100} +{MoreTests_Compile.C} {MoreTests_Compile.C} {MoreTests_Compile.C} +100 100 100 +MoreTests_Compile.C MoreTests_Compile.C MoreTests_Compile.C +Conveyance_Compile.NonVariantResult.NVSuccess(Conveyance_Compile.Car) Conveyance_Compile.CovariantResult.CVSuccess(Conveyance_Compile.Car) +Regression_mM_Compile.Stream.Next + +Dafny program verifier did not attempt verification 16 16 12 30 30 diff --git a/Test/git-issues/git-issue-2441.dfy b/Test/git-issues/git-issue-2441.dfy index 4179ecc87bc..bc9c8721ee2 100644 --- a/Test/git-issues/git-issue-2441.dfy +++ b/Test/git-issues/git-issue-2441.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype A = A(B: B) datatype B = X diff --git a/Test/git-issues/git-issue-2441.dfy.expect b/Test/git-issues/git-issue-2441.dfy.expect index e69de29bb2d..0c3f603d584 100644 --- a/Test/git-issues/git-issue-2441.dfy.expect +++ b/Test/git-issues/git-issue-2441.dfy.expect @@ -0,0 +1,6 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-2510.dfy b/Test/git-issues/git-issue-2510.dfy index 11ee2877bb3..22ef8e47058 100644 --- a/Test/git-issues/git-issue-2510.dfy +++ b/Test/git-issues/git-issue-2510.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:4 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" /// Check that the compiler accepts `:- assume {:axiom} …`. diff --git a/Test/git-issues/git-issue-2510.dfy.expect b/Test/git-issues/git-issue-2510.dfy.expect index 56a6051ca2b..b341a39a78d 100644 --- a/Test/git-issues/git-issue-2510.dfy.expect +++ b/Test/git-issues/git-issue-2510.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors 1 \ No newline at end of file diff --git a/Test/git-issues/git-issue-258.dfy b/Test/git-issues/git-issue-258.dfy index 97820c26461..dbc437cebbc 100644 --- a/Test/git-issues/git-issue-258.dfy +++ b/Test/git-issues/git-issue-258.dfy @@ -1,5 +1,9 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false /spillTargetCode:3 +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /compile:3 /unicodeChar:0 /spillTargetCode:3 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /compile:3 /unicodeChar:0 /spillTargetCode:3 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /compile:3 /unicodeChar:0 /spillTargetCode:3 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /compile:3 /unicodeChar:0 /spillTargetCode:3 /compileTarget:go "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method pr(s: seq) { print s, "\n"; diff --git a/Test/git-issues/git-issue-258.dfy.expect b/Test/git-issues/git-issue-258.dfy.expect index 31b98032806..8cf196174b8 100644 --- a/Test/git-issues/git-issue-258.dfy.expect +++ b/Test/git-issues/git-issue-258.dfy.expect @@ -1,10 +1,83 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier finished with 1 verified, 0 errors +hi +hi + + +HI! +hi + +HI! + +[23, 45] +[23, 45] +[] +[] +abcabc +abcabc +abcdef +abcdef + + +[1, 2, 3, 4] +[1, 2, 3, 4] + +Dafny program verifier finished with 1 verified, 0 errors +hi +hi + + +HI! +hi + +HI! + +[23, 45] +[23, 45] +[] +[] +abcabc +abcabc +abcdef +abcdef + + +[1, 2, 3, 4] +[1, 2, 3, 4] + +Dafny program verifier finished with 1 verified, 0 errors hi hi HI! hi +[] +HI! + +[23, 45] +[23, 45] +[] +[] +abcabc +abcabc +abcdef +abcdef + + +[1, 2, 3, 4] +[1, 2, 3, 4] + +Dafny program verifier finished with 1 verified, 0 errors +hi +hi + +HI! +hi +[] HI! [23, 45] diff --git a/Test/git-issues/git-issue-258.dfy.go.expect b/Test/git-issues/git-issue-258.dfy.go.expect deleted file mode 100644 index 2745afdf6e1..00000000000 --- a/Test/git-issues/git-issue-258.dfy.go.expect +++ /dev/null @@ -1,21 +0,0 @@ -hi -hi - - -HI! -hi -[] -HI! - -[23, 45] -[23, 45] -[] -[] -abcabc -abcabc -abcdef -abcdef - - -[1, 2, 3, 4] -[1, 2, 3, 4] diff --git a/Test/git-issues/git-issue-258.dfy.js.expect b/Test/git-issues/git-issue-258.dfy.js.expect deleted file mode 100644 index 2745afdf6e1..00000000000 --- a/Test/git-issues/git-issue-258.dfy.js.expect +++ /dev/null @@ -1,21 +0,0 @@ -hi -hi - - -HI! -hi -[] -HI! - -[23, 45] -[23, 45] -[] -[] -abcabc -abcabc -abcdef -abcdef - - -[1, 2, 3, 4] -[1, 2, 3, 4] diff --git a/Test/git-issues/git-issue-2608.dfy b/Test/git-issues/git-issue-2608.dfy index c606177f94f..459c9ffbf94 100644 --- a/Test/git-issues/git-issue-2608.dfy +++ b/Test/git-issues/git-issue-2608.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /compileTarget:js "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method GetNext(i: int) returns (j: int, possible: bool) { if i == 1 { diff --git a/Test/git-issues/git-issue-2608.dfy.expect b/Test/git-issues/git-issue-2608.dfy.expect index d9ed583f710..dce7ba1814a 100644 --- a/Test/git-issues/git-issue-2608.dfy.expect +++ b/Test/git-issues/git-issue-2608.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors 82411246231944714271214 \ No newline at end of file diff --git a/Test/git-issues/git-issue-262.dfy b/Test/git-issues/git-issue-262.dfy index 22d9a31b2fe..2c00ad94a39 100644 --- a/Test/git-issues/git-issue-262.dfy +++ b/Test/git-issues/git-issue-262.dfy @@ -1,5 +1,8 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" +// RUN: %dafny /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" function tst(x: nat): nat { x + 1 diff --git a/Test/git-issues/git-issue-262.dfy.expect b/Test/git-issues/git-issue-262.dfy.expect index 41d8cd55158..76af42cd4a3 100644 --- a/Test/git-issues/git-issue-262.dfy.expect +++ b/Test/git-issues/git-issue-262.dfy.expect @@ -1,2 +1,20 @@ + +Dafny program verifier finished with 2 verified, 0 errors System.Func`2[System.Numerics.BigInteger,System.Numerics.BigInteger] System.Func`2[System.Numerics.BigInteger,System.Numerics.BigInteger] + +Dafny program verifier finished with 2 verified, 0 errors +tst(x) { + return (x).plus(_dafny.ONE); + } +tst(x) { + return (x).plus(_dafny.ONE); + } + +Dafny program verifier finished with 2 verified, 0 errors +func(dafny.Int) dafny.Int +func(dafny.Int) dafny.Int + +Dafny program verifier finished with 2 verified, 0 errors +Function +Function diff --git a/Test/git-issues/git-issue-262.dfy.go.expect b/Test/git-issues/git-issue-262.dfy.go.expect deleted file mode 100644 index 578754c176c..00000000000 --- a/Test/git-issues/git-issue-262.dfy.go.expect +++ /dev/null @@ -1,2 +0,0 @@ -func(dafny.Int) dafny.Int -func(dafny.Int) dafny.Int diff --git a/Test/git-issues/git-issue-262.dfy.java.expect b/Test/git-issues/git-issue-262.dfy.java.expect deleted file mode 100644 index aa5478ef8c9..00000000000 --- a/Test/git-issues/git-issue-262.dfy.java.expect +++ /dev/null @@ -1,2 +0,0 @@ -Function -Function diff --git a/Test/git-issues/git-issue-262.dfy.js.expect b/Test/git-issues/git-issue-262.dfy.js.expect deleted file mode 100644 index e181ef2fef8..00000000000 --- a/Test/git-issues/git-issue-262.dfy.js.expect +++ /dev/null @@ -1,6 +0,0 @@ -tst(x) { - return (x).plus(_dafny.ONE); - } -tst(x) { - return (x).plus(_dafny.ONE); - } diff --git a/Test/git-issues/git-issue-267.dfy b/Test/git-issues/git-issue-267.dfy index 2b0b3281589..cef2fcc6c17 100644 --- a/Test/git-issues/git-issue-267.dfy +++ b/Test/git-issues/git-issue-267.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var c := 1; diff --git a/Test/git-issues/git-issue-267.dfy.expect b/Test/git-issues/git-issue-267.dfy.expect index cd7da05e3d2..d71aef2f440 100644 --- a/Test/git-issues/git-issue-267.dfy.expect +++ b/Test/git-issues/git-issue-267.dfy.expect @@ -1 +1,14 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification +210 + +Dafny program verifier did not attempt verification +210 + +Dafny program verifier did not attempt verification +210 + +Dafny program verifier did not attempt verification 210 diff --git a/Test/git-issues/git-issue-2672.dfy b/Test/git-issues/git-issue-2672.dfy index 52c5b9c638c..338299ee8b7 100644 --- a/Test/git-issues/git-issue-2672.dfy +++ b/Test/git-issues/git-issue-2672.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" newtype sreal = r: real | r > -4 as real newtype sint = r: int | r > -4 as int diff --git a/Test/git-issues/git-issue-2672.dfy.expect b/Test/git-issues/git-issue-2672.dfy.expect index 43440a83d53..c9c3244b6f4 100644 --- a/Test/git-issues/git-issue-2672.dfy.expect +++ b/Test/git-issues/git-issue-2672.dfy.expect @@ -1,3 +1,47 @@ + +Dafny program verifier finished with 5 verified, 0 errors + +Dafny program verifier did not attempt verification +true true true true true true true true true true +false false false false false false false false false false +false false false false false false false false false false +true true true true true true true true true true +true true true true true true true true true true +false false false false false false false false false false +true true true +false false false + +Dafny program verifier did not attempt verification +true true true true true true true true true true +false false false false false false false false false false +false false false false false false false false false false +true true true true true true true true true true +true true true true true true true true true true +false false false false false false false false false false +true true true +false false false + +Dafny program verifier did not attempt verification +true true true true true true true true true true +false false false false false false false false false false +false false false false false false false false false false +true true true true true true true true true true +true true true true true true true true true true +false false false false false false false false false false +true true true +false false false + +Dafny program verifier did not attempt verification +true true true true true true true true true true +false false false false false false false false false false +false false false false false false false false false false +true true true true true true true true true true +true true true true true true true true true true +false false false false false false false false false false +true true true +false false false + +Dafny program verifier did not attempt verification true true true true true true true true true true false false false false false false false false false false false false false false false false false false false false diff --git a/Test/git-issues/git-issue-2726a.dfy b/Test/git-issues/git-issue-2726a.dfy index a43d5dd0107..641fefbbdc4 100644 --- a/Test/git-issues/git-issue-2726a.dfy +++ b/Test/git-issues/git-issue-2726a.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /compileTarget:cs "%s" > "%t" +// RUN: %diff "%s.expect" "%t" const digits := ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"] diff --git a/Test/git-issues/git-issue-2726a.dfy.expect b/Test/git-issues/git-issue-2726a.dfy.expect index 8e1bedb2a64..6985935c88c 100644 --- a/Test/git-issues/git-issue-2726a.dfy.expect +++ b/Test/git-issues/git-issue-2726a.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 1 verified, 0 errors 4 42 422 diff --git a/Test/git-issues/git-issue-2733.dfy b/Test/git-issues/git-issue-2733.dfy index 65bc2b991fd..232eab3cc74 100644 --- a/Test/git-issues/git-issue-2733.dfy +++ b/Test/git-issues/git-issue-2733.dfy @@ -1,4 +1,11 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cpp "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { print "XYZ"; // Checks that no extra newline is added to the output diff --git a/Test/git-issues/git-issue-2733.dfy.expect b/Test/git-issues/git-issue-2733.dfy.expect index 77bf25132db..b139e2f3d58 100644 --- a/Test/git-issues/git-issue-2733.dfy.expect +++ b/Test/git-issues/git-issue-2733.dfy.expect @@ -1 +1,15 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification +XYZ +Dafny program verifier did not attempt verification +XYZ +Dafny program verifier did not attempt verification +XYZ +Dafny program verifier did not attempt verification +XYZ +Dafny program verifier did not attempt verification +XYZ +Dafny program verifier did not attempt verification XYZ \ No newline at end of file diff --git a/Test/git-issues/git-issue-2792.dfy b/Test/git-issues/git-issue-2792.dfy index d2fb9db2055..89e736667c0 100644 --- a/Test/git-issues/git-issue-2792.dfy +++ b/Test/git-issues/git-issue-2792.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /compileTarget:java "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Wrapper = Wrapper(s: seq) { diff --git a/Test/git-issues/git-issue-2792.dfy.expect b/Test/git-issues/git-issue-2792.dfy.expect index ca1683c3020..c1e603c58fe 100644 --- a/Test/git-issues/git-issue-2792.dfy.expect +++ b/Test/git-issues/git-issue-2792.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 0 verified, 0 errors [] Wrapper2.Wrapper2([], 2792) diff --git a/Test/git-issues/git-issue-283.dfy b/Test/git-issues/git-issue-283.dfy index 1ca6d48d32c..c7c10f4aea3 100644 --- a/Test/git-issues/git-issue-283.dfy +++ b/Test/git-issues/git-issue-283.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Result = | Success(value: T) diff --git a/Test/git-issues/git-issue-283.dfy.expect b/Test/git-issues/git-issue-283.dfy.expect index a965a70ed4e..2adb114b8a0 100644 --- a/Test/git-issues/git-issue-283.dfy.expect +++ b/Test/git-issues/git-issue-283.dfy.expect @@ -1 +1,14 @@ + +Dafny program verifier finished with 9 verified, 0 errors + +Dafny program verifier did not attempt verification +Done + +Dafny program verifier did not attempt verification +Done + +Dafny program verifier did not attempt verification +Done + +Dafny program verifier did not attempt verification Done diff --git a/Test/git-issues/git-issue-283d.dfy b/Test/git-issues/git-issue-283d.dfy index 46c1056d5e1..54ee58fb456 100644 --- a/Test/git-issues/git-issue-283d.dfy +++ b/Test/git-issues/git-issue-283d.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Foo = R(v: int) diff --git a/Test/git-issues/git-issue-283d.dfy.expect b/Test/git-issues/git-issue-283d.dfy.expect index e69de29bb2d..8da23be5c8c 100644 --- a/Test/git-issues/git-issue-283d.dfy.expect +++ b/Test/git-issues/git-issue-283d.dfy.expect @@ -0,0 +1,10 @@ + +Dafny program verifier finished with 4 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-314.dfy b/Test/git-issues/git-issue-314.dfy index a7fc06564a5..5e3e93ca654 100644 --- a/Test/git-issues/git-issue-314.dfy +++ b/Test/git-issues/git-issue-314.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype S = S(G: array) datatype T = T(F: array, ghost Repr: set) diff --git a/Test/git-issues/git-issue-314.dfy.expect b/Test/git-issues/git-issue-314.dfy.expect index e69de29bb2d..f02fc57989a 100644 --- a/Test/git-issues/git-issue-314.dfy.expect +++ b/Test/git-issues/git-issue-314.dfy.expect @@ -0,0 +1,10 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-332.dfy b/Test/git-issues/git-issue-332.dfy index 5166441405d..ca2b08f3e8d 100644 --- a/Test/git-issues/git-issue-332.dfy +++ b/Test/git-issues/git-issue-332.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var foo := new B.Foo(15); diff --git a/Test/git-issues/git-issue-332.dfy.expect b/Test/git-issues/git-issue-332.dfy.expect index 209e3ef4b62..57cad39addf 100644 --- a/Test/git-issues/git-issue-332.dfy.expect +++ b/Test/git-issues/git-issue-332.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 6 verified, 0 errors 20 diff --git a/Test/git-issues/git-issue-354.dfy b/Test/git-issues/git-issue-354.dfy index c3d63021209..5938c2f71ae 100644 --- a/Test/git-issues/git-issue-354.dfy +++ b/Test/git-issues/git-issue-354.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" class C { static const u: X diff --git a/Test/git-issues/git-issue-354.dfy.expect b/Test/git-issues/git-issue-354.dfy.expect index 4368562357f..cb5ae21dc46 100644 --- a/Test/git-issues/git-issue-354.dfy.expect +++ b/Test/git-issues/git-issue-354.dfy.expect @@ -1,3 +1,25 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification +0 +0 +0.0 +false + +Dafny program verifier did not attempt verification +0 +0 +0.0 +false + +Dafny program verifier did not attempt verification +0 +0 +0.0 +false + +Dafny program verifier did not attempt verification 0 0 0.0 diff --git a/Test/git-issues/git-issue-356.dfy b/Test/git-issues/git-issue-356.dfy index 2d497c0531c..f5c34b0803b 100644 --- a/Test/git-issues/git-issue-356.dfy +++ b/Test/git-issues/git-issue-356.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" module M { type Tx = i: int | 0 <= i <= 100 diff --git a/Test/git-issues/git-issue-356.dfy.expect b/Test/git-issues/git-issue-356.dfy.expect index 9d984ec4ef4..cff4ed233e1 100644 --- a/Test/git-issues/git-issue-356.dfy.expect +++ b/Test/git-issues/git-issue-356.dfy.expect @@ -1,3 +1,39 @@ + +Dafny program verifier finished with 25 verified, 0 errors + +Dafny program verifier did not attempt verification +a d 57005 * * +Z 90 90.0 90 90 +* 42 42.0 42 42 +F 70 70.0 70 70 +# 35 35.0 35 35 +END + +Dafny program verifier did not attempt verification +a d 57005 * * +Z 90 90.0 90 90 +* 42 42.0 42 42 +F 70 70.0 70 70 +# 35 35.0 35 35 +END + +Dafny program verifier did not attempt verification +a d 57005 * * +Z 90 90.0 90 90 +* 42 42.0 42 42 +F 70 70.0 70 70 +# 35 35.0 35 35 +END + +Dafny program verifier did not attempt verification +a d 57005 * * +Z 90 90.0 90 90 +* 42 42.0 42 42 +F 70 70.0 70 70 +# 35 35.0 35 35 +END + +Dafny program verifier did not attempt verification a d 57005 * * Z 90 90.0 90 90 * 42 42.0 42 42 diff --git a/Test/git-issues/git-issue-364.dfy b/Test/git-issues/git-issue-364.dfy index 68c75931746..0fdedc7d9c0 100644 --- a/Test/git-issues/git-issue-364.dfy +++ b/Test/git-issues/git-issue-364.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype NatOutcome = | Success(value: nat) diff --git a/Test/git-issues/git-issue-364.dfy.expect b/Test/git-issues/git-issue-364.dfy.expect index 38478c6c688..1368349d437 100644 --- a/Test/git-issues/git-issue-364.dfy.expect +++ b/Test/git-issues/git-issue-364.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 4 verified, 0 errors NatOutcome.Success(55) false 55 12 0 NatOutcome.Failure("it could be worse") true NatOutcome.Failure("it could be worse") diff --git a/Test/git-issues/git-issue-374.dfy b/Test/git-issues/git-issue-374.dfy index 15b56ec6396..4c031b7d3ff 100644 --- a/Test/git-issues/git-issue-374.dfy +++ b/Test/git-issues/git-issue-374.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" class C { constructor(ghost x: int) diff --git a/Test/git-issues/git-issue-374.dfy.expect b/Test/git-issues/git-issue-374.dfy.expect index e69de29bb2d..f02fc57989a 100644 --- a/Test/git-issues/git-issue-374.dfy.expect +++ b/Test/git-issues/git-issue-374.dfy.expect @@ -0,0 +1,10 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-396.dfy b/Test/git-issues/git-issue-396.dfy index 7866d3d0498..2ab68e51e12 100644 --- a/Test/git-issues/git-issue-396.dfy +++ b/Test/git-issues/git-issue-396.dfy @@ -1,4 +1,8 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" +// RUN: %dafny /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Foo = Bar(value: int) diff --git a/Test/git-issues/git-issue-396.dfy.expect b/Test/git-issues/git-issue-396.dfy.expect index dee79f10940..3dd340d3178 100644 --- a/Test/git-issues/git-issue-396.dfy.expect +++ b/Test/git-issues/git-issue-396.dfy.expect @@ -1 +1,12 @@ + +Dafny program verifier finished with 1 verified, 0 errors +114 + +Dafny program verifier finished with 1 verified, 0 errors +114 + +Dafny program verifier finished with 1 verified, 0 errors +114 + +Dafny program verifier finished with 1 verified, 0 errors 114 diff --git a/Test/git-issues/git-issue-4007.dfy b/Test/git-issues/git-issue-4007.dfy index 5a279e7b8e6..e4c25b82bb8 100644 --- a/Test/git-issues/git-issue-4007.dfy +++ b/Test/git-issues/git-issue-4007.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:4 /compileTarget:py "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var a := 0; @@ -6,4 +7,4 @@ method Main() { a := a + 1; } print a, "\n"; -} +} \ No newline at end of file diff --git a/Test/git-issues/git-issue-4007.dfy.expect b/Test/git-issues/git-issue-4007.dfy.expect index 00750edc07d..3ce6919d35b 100644 --- a/Test/git-issues/git-issue-4007.dfy.expect +++ b/Test/git-issues/git-issue-4007.dfy.expect @@ -1 +1,4 @@ +git-issue-4007.dfy(6,20): Warning: /!\ No terms found to trigger on. + +Dafny program verifier finished with 1 verified, 0 errors 3 diff --git a/Test/git-issues/git-issue-4012.dfy b/Test/git-issues/git-issue-4012.dfy index 5360c0e935b..e065393a211 100644 --- a/Test/git-issues/git-issue-4012.dfy +++ b/Test/git-issues/git-issue-4012.dfy @@ -1,7 +1,8 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:4 /compileTarget:py "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var x: multiset := multiset{}; x := x[1 := 18446744073709551616]; print |x|, "\n"; -} +} \ No newline at end of file diff --git a/Test/git-issues/git-issue-4012.dfy.expect b/Test/git-issues/git-issue-4012.dfy.expect index ab69b99fab4..230fbdbd384 100644 --- a/Test/git-issues/git-issue-4012.dfy.expect +++ b/Test/git-issues/git-issue-4012.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 1 verified, 0 errors 18446744073709551616 diff --git a/Test/git-issues/git-issue-425.dfy b/Test/git-issues/git-issue-425.dfy index 122a10e4fbb..4e555daaed0 100644 --- a/Test/git-issues/git-issue-425.dfy +++ b/Test/git-issues/git-issue-425.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method M() returns (x: int, ghost y: int) { return 42, 43; diff --git a/Test/git-issues/git-issue-425.dfy.expect b/Test/git-issues/git-issue-425.dfy.expect index daaac9e3030..c2284013d9e 100644 --- a/Test/git-issues/git-issue-425.dfy.expect +++ b/Test/git-issues/git-issue-425.dfy.expect @@ -1,2 +1,18 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification +42 +42 + +Dafny program verifier did not attempt verification +42 +42 + +Dafny program verifier did not attempt verification +42 +42 + +Dafny program verifier did not attempt verification 42 42 diff --git a/Test/git-issues/git-issue-443.dfy b/Test/git-issues/git-issue-443.dfy index 6702e37484f..e8745b5ddda 100644 --- a/Test/git-issues/git-issue-443.dfy +++ b/Test/git-issues/git-issue-443.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { print F(), " ", G(802.11), "\n"; // 12 15 diff --git a/Test/git-issues/git-issue-443.dfy.expect b/Test/git-issues/git-issue-443.dfy.expect index 0b64712fdcf..10af01216da 100644 --- a/Test/git-issues/git-issue-443.dfy.expect +++ b/Test/git-issues/git-issue-443.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors 12 15 diff --git a/Test/git-issues/git-issue-446.dfy b/Test/git-issues/git-issue-446.dfy index a66a9272d18..0656587fd03 100644 --- a/Test/git-issues/git-issue-446.dfy +++ b/Test/git-issues/git-issue-446.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Result = Success(value: T) | Failure(error: string) { diff --git a/Test/git-issues/git-issue-446.dfy.expect b/Test/git-issues/git-issue-446.dfy.expect index 8165c2056d0..18195d22344 100644 --- a/Test/git-issues/git-issue-446.dfy.expect +++ b/Test/git-issues/git-issue-446.dfy.expect @@ -1,3 +1,22 @@ + +Dafny program verifier finished with 9 verified, 0 errors + +Dafny program verifier did not attempt verification +true -2 +true 42 +End + +Dafny program verifier did not attempt verification +true -2 +true 42 +End + +Dafny program verifier did not attempt verification +true -2 +true 42 +End + +Dafny program verifier did not attempt verification true -2 true 42 End diff --git a/Test/git-issues/git-issue-446a.dfy b/Test/git-issues/git-issue-446a.dfy index 2c559cea76d..41917680fee 100644 --- a/Test/git-issues/git-issue-446a.dfy +++ b/Test/git-issues/git-issue-446a.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Result = Success(value: T) | Failure(error: string) { diff --git a/Test/git-issues/git-issue-446a.dfy.expect b/Test/git-issues/git-issue-446a.dfy.expect index 9897e1c3f56..fbf9ee6f31d 100644 --- a/Test/git-issues/git-issue-446a.dfy.expect +++ b/Test/git-issues/git-issue-446a.dfy.expect @@ -1,3 +1,22 @@ + +Dafny program verifier finished with 9 verified, 0 errors + +Dafny program verifier did not attempt verification +OK +true OK +true -2 End + +Dafny program verifier did not attempt verification +OK +true OK +true -2 End + +Dafny program verifier did not attempt verification +OK +true OK +true -2 End + +Dafny program verifier did not attempt verification OK true OK true -2 End diff --git a/Test/git-issues/git-issue-446b.dfy b/Test/git-issues/git-issue-446b.dfy index 79e55d9a1f8..aa7ac30d9a7 100644 --- a/Test/git-issues/git-issue-446b.dfy +++ b/Test/git-issues/git-issue-446b.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Result = Success(value: T) | Failure(error: string) { diff --git a/Test/git-issues/git-issue-446b.dfy.expect b/Test/git-issues/git-issue-446b.dfy.expect index 36fdd8ba47b..0e99363fdb9 100644 --- a/Test/git-issues/git-issue-446b.dfy.expect +++ b/Test/git-issues/git-issue-446b.dfy.expect @@ -1,3 +1,28 @@ + +Dafny program verifier finished with 10 verified, 0 errors + +Dafny program verifier did not attempt verification +OK +true OK +true -2 +true 100 +End + +Dafny program verifier did not attempt verification +OK +true OK +true -2 +true 100 +End + +Dafny program verifier did not attempt verification +OK +true OK +true -2 +true 100 +End + +Dafny program verifier did not attempt verification OK true OK true -2 diff --git a/Test/git-issues/git-issue-478-good.dfy b/Test/git-issues/git-issue-478-good.dfy index 9abce41e97c..b3fab26a312 100644 --- a/Test/git-issues/git-issue-478-good.dfy +++ b/Test/git-issues/git-issue-478-good.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // By first defining import LibA and then defining a module LibA, // the latter used to generate: diff --git a/Test/git-issues/git-issue-478-good.dfy.expect b/Test/git-issues/git-issue-478-good.dfy.expect index 6807b84eba5..17aea610943 100644 --- a/Test/git-issues/git-issue-478-good.dfy.expect +++ b/Test/git-issues/git-issue-478-good.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 1 verified, 0 errors hello hello hi diff --git a/Test/git-issues/git-issue-506.dfy b/Test/git-issues/git-issue-506.dfy index b2a409951a1..d25596621de 100644 --- a/Test/git-issues/git-issue-506.dfy +++ b/Test/git-issues/git-issue-506.dfy @@ -1,4 +1,8 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" +// RUN: %dafny /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/git-issues/git-issue-506.dfy.expect b/Test/git-issues/git-issue-506.dfy.expect index ef2606ec5dc..e2bb6d644d9 100644 --- a/Test/git-issues/git-issue-506.dfy.expect +++ b/Test/git-issues/git-issue-506.dfy.expect @@ -1,3 +1,29 @@ + +Dafny program verifier finished with 2 verified, 0 errors +7 301 +8 391 +2 2 +4 5 +6 7 +2 3 7 0 + +Dafny program verifier finished with 2 verified, 0 errors +7 301 +8 391 +2 2 +4 5 +6 7 +2 3 7 0 + +Dafny program verifier finished with 2 verified, 0 errors +7 301 +8 391 +2 2 +4 5 +6 7 +2 3 7 0 + +Dafny program verifier finished with 2 verified, 0 errors 7 301 8 391 2 2 diff --git a/Test/git-issues/git-issue-532.dfy b/Test/git-issues/git-issue-532.dfy index 2a2b5aaaf2e..3d511dbb4c8 100644 --- a/Test/git-issues/git-issue-532.dfy +++ b/Test/git-issues/git-issue-532.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" predicate SuppressNoTriggerWarning(x: X) { true } diff --git a/Test/git-issues/git-issue-532.dfy.expect b/Test/git-issues/git-issue-532.dfy.expect index 0f3ef3de427..1bd9e82cc5a 100644 --- a/Test/git-issues/git-issue-532.dfy.expect +++ b/Test/git-issues/git-issue-532.dfy.expect @@ -1,3 +1,22 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification +t.x=5 The given Tr is a C, and c.y=6 +t.x=100 The given Tr is not a C +t.x=5 The given Tr is a C, and c.y=16 + +Dafny program verifier did not attempt verification +t.x=5 The given Tr is a C, and c.y=6 +t.x=100 The given Tr is not a C +t.x=5 The given Tr is a C, and c.y=16 + +Dafny program verifier did not attempt verification +t.x=5 The given Tr is a C, and c.y=6 +t.x=100 The given Tr is not a C +t.x=5 The given Tr is a C, and c.y=16 + +Dafny program verifier did not attempt verification t.x=5 The given Tr is a C, and c.y=6 t.x=100 The given Tr is not a C t.x=5 The given Tr is a C, and c.y=16 diff --git a/Test/git-issues/git-issue-549.dfy b/Test/git-issues/git-issue-549.dfy index d362a0bd039..2e5ab322f23 100644 --- a/Test/git-issues/git-issue-549.dfy +++ b/Test/git-issues/git-issue-549.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" trait T { function bar(): bv8 diff --git a/Test/git-issues/git-issue-549.dfy.expect b/Test/git-issues/git-issue-549.dfy.expect index 6e0790e778e..3ae509fee5e 100644 --- a/Test/git-issues/git-issue-549.dfy.expect +++ b/Test/git-issues/git-issue-549.dfy.expect @@ -1,2 +1,10 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification +bar() = 1 +bar() = 1 + +Dafny program verifier did not attempt verification bar() = 1 bar() = 1 diff --git a/Test/git-issues/git-issue-622$f.dfy b/Test/git-issues/git-issue-622$f.dfy index f0f15dd9f8c..fe4fdf38e03 100644 --- a/Test/git-issues/git-issue-622$f.dfy +++ b/Test/git-issues/git-issue-622$f.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /spillTargetCode:3 +// RUN: %dafny /compile:3 /compileTarget:java /spillTargetCode:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { } diff --git a/Test/git-issues/git-issue-622$f.dfy.expect b/Test/git-issues/git-issue-622$f.dfy.expect index e69de29bb2d..012f5b99379 100644 --- a/Test/git-issues/git-issue-622$f.dfy.expect +++ b/Test/git-issues/git-issue-622$f.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/git-issues/git-issue-633.dfy b/Test/git-issues/git-issue-633.dfy index 3e4153b69c4..5d9b5aecf58 100644 --- a/Test/git-issues/git-issue-633.dfy +++ b/Test/git-issues/git-issue-633.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /spillTargetCode:3 /Users/salkeldr/Documents/GitHub/dafny/Test/git-issues/git-issue-633A.dfy +// RUN: %dafny /compile:0 "%s" %S/git-issue-633A.dfy > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs /spillTargetCode:3 "%s" %S/git-issue-633A.dfy >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js /spillTargetCode:3 "%s" %S/git-issue-633A.dfy >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go /spillTargetCode:3 "%s" %S/git-issue-633A.dfy >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java /spillTargetCode:3 "%s" %S/git-issue-633A.dfy >> "%t" +// RUN: %diff "%s.expect" "%t" method m() { print "OK\n"; diff --git a/Test/git-issues/git-issue-633.dfy.expect b/Test/git-issues/git-issue-633.dfy.expect index e69de29bb2d..f02fc57989a 100644 --- a/Test/git-issues/git-issue-633.dfy.expect +++ b/Test/git-issues/git-issue-633.dfy.expect @@ -0,0 +1,10 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-684.dfy b/Test/git-issues/git-issue-684.dfy index 4c2b0a8fa02..b1fbd7ab036 100644 --- a/Test/git-issues/git-issue-684.dfy +++ b/Test/git-issues/git-issue-684.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Level1 = Level1(u:int) datatype Level2 = Level2(u:int, l:Level1) diff --git a/Test/git-issues/git-issue-684.dfy.expect b/Test/git-issues/git-issue-684.dfy.expect index e69de29bb2d..65d3b5d6635 100644 --- a/Test/git-issues/git-issue-684.dfy.expect +++ b/Test/git-issues/git-issue-684.dfy.expect @@ -0,0 +1,10 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-686.dfy b/Test/git-issues/git-issue-686.dfy index 9845ce2b027..bbc975200c8 100644 --- a/Test/git-issues/git-issue-686.dfy +++ b/Test/git-issues/git-issue-686.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Color = Blue | Red diff --git a/Test/git-issues/git-issue-686.dfy.expect b/Test/git-issues/git-issue-686.dfy.expect index c12f8e66df2..f30b0581688 100644 --- a/Test/git-issues/git-issue-686.dfy.expect +++ b/Test/git-issues/git-issue-686.dfy.expect @@ -1 +1,24 @@ +git-issue-686.dfy(13,2): Warning: this branch is redundant +git-issue-686.dfy(21,2): Warning: this branch is redundant + +Dafny program verifier finished with 1 verified, 0 errors +git-issue-686.dfy(13,2): Warning: this branch is redundant +git-issue-686.dfy(21,2): Warning: this branch is redundant + +Dafny program verifier did not attempt verification +6 0 +git-issue-686.dfy(13,2): Warning: this branch is redundant +git-issue-686.dfy(21,2): Warning: this branch is redundant + +Dafny program verifier did not attempt verification +6 0 +git-issue-686.dfy(13,2): Warning: this branch is redundant +git-issue-686.dfy(21,2): Warning: this branch is redundant + +Dafny program verifier did not attempt verification +6 0 +git-issue-686.dfy(13,2): Warning: this branch is redundant +git-issue-686.dfy(21,2): Warning: this branch is redundant + +Dafny program verifier did not attempt verification 6 0 diff --git a/Test/git-issues/git-issue-686.dfy.verifier.expect b/Test/git-issues/git-issue-686.dfy.verifier.expect deleted file mode 100644 index 5b8c694a4bc..00000000000 --- a/Test/git-issues/git-issue-686.dfy.verifier.expect +++ /dev/null @@ -1,2 +0,0 @@ -git-issue-686.dfy(13,2): Warning: this branch is redundant -git-issue-686.dfy(21,2): Warning: this branch is redundant diff --git a/Test/git-issues/git-issue-697.dfy b/Test/git-issues/git-issue-697.dfy index 23cce66dee7..095c1a02399 100644 --- a/Test/git-issues/git-issue-697.dfy +++ b/Test/git-issues/git-issue-697.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Cell = Cell(x: int) type EvenCell = c: Cell | c.x % 2 == 0 witness Cell(0) diff --git a/Test/git-issues/git-issue-697.dfy.expect b/Test/git-issues/git-issue-697.dfy.expect index f32a5804e29..188a72ebc36 100644 --- a/Test/git-issues/git-issue-697.dfy.expect +++ b/Test/git-issues/git-issue-697.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-697b.dfy b/Test/git-issues/git-issue-697b.dfy index cdb054d8d78..cfdd3fd0821 100644 --- a/Test/git-issues/git-issue-697b.dfy +++ b/Test/git-issues/git-issue-697b.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Cell = Cell(x: int) type EvenCell = c: Cell | c.x % 2 == 0 witness Cell(0) diff --git a/Test/git-issues/git-issue-697b.dfy.expect b/Test/git-issues/git-issue-697b.dfy.expect index 9c777ac6a0f..b355409912b 100644 --- a/Test/git-issues/git-issue-697b.dfy.expect +++ b/Test/git-issues/git-issue-697b.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors false 2 diff --git a/Test/git-issues/git-issue-697d.dfy b/Test/git-issues/git-issue-697d.dfy index 8b65c2da4f7..71a262fc985 100644 --- a/Test/git-issues/git-issue-697d.dfy +++ b/Test/git-issues/git-issue-697d.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" function nonGhostPredicate(x: int): bool { x % 2 == 0 diff --git a/Test/git-issues/git-issue-697d.dfy.expect b/Test/git-issues/git-issue-697d.dfy.expect index f32a5804e29..48fb59aeae5 100644 --- a/Test/git-issues/git-issue-697d.dfy.expect +++ b/Test/git-issues/git-issue-697d.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 4 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-697e.dfy b/Test/git-issues/git-issue-697e.dfy index 310851abf9a..e4500bfab28 100644 --- a/Test/git-issues/git-issue-697e.dfy +++ b/Test/git-issues/git-issue-697e.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Cell = Cell(x: int) type EvenCell = c: Cell | c.x % 2 == 0 witness Cell(0) diff --git a/Test/git-issues/git-issue-697e.dfy.expect b/Test/git-issues/git-issue-697e.dfy.expect index e69de29bb2d..00a51f822da 100644 --- a/Test/git-issues/git-issue-697e.dfy.expect +++ b/Test/git-issues/git-issue-697e.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 3 verified, 0 errors diff --git a/Test/git-issues/git-issue-697f.dfy b/Test/git-issues/git-issue-697f.dfy index acb8810dfbf..92d1cec2ed8 100644 --- a/Test/git-issues/git-issue-697f.dfy +++ b/Test/git-issues/git-issue-697f.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" ghost function ghostPredicate(x: int): bool { x % 2 == 0 diff --git a/Test/git-issues/git-issue-697f.dfy.expect b/Test/git-issues/git-issue-697f.dfy.expect index b5754e20373..3e2cf8d0f69 100644 --- a/Test/git-issues/git-issue-697f.dfy.expect +++ b/Test/git-issues/git-issue-697f.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 4 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-697g.dfy b/Test/git-issues/git-issue-697g.dfy index 7b30de7f3a0..c3b7581ff61 100644 --- a/Test/git-issues/git-issue-697g.dfy +++ b/Test/git-issues/git-issue-697g.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" function returnNat(c: nat): int { diff --git a/Test/git-issues/git-issue-697g.dfy.expect b/Test/git-issues/git-issue-697g.dfy.expect index f32a5804e29..d9157fa820a 100644 --- a/Test/git-issues/git-issue-697g.dfy.expect +++ b/Test/git-issues/git-issue-697g.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-698.dfy b/Test/git-issues/git-issue-698.dfy index 7b7a9ca15b8..b15295c9b46 100644 --- a/Test/git-issues/git-issue-698.dfy +++ b/Test/git-issues/git-issue-698.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" type Small = x: int | 0 <= x < 100 && x != 3 diff --git a/Test/git-issues/git-issue-698.dfy.expect b/Test/git-issues/git-issue-698.dfy.expect index 27ba77ddaf6..7f965a65d2e 100644 --- a/Test/git-issues/git-issue-698.dfy.expect +++ b/Test/git-issues/git-issue-698.dfy.expect @@ -1 +1,8 @@ + +Dafny program verifier finished with 3 verified, 0 errors + +Dafny program verifier did not attempt verification +true + +Dafny program verifier did not attempt verification true diff --git a/Test/git-issues/git-issue-698b.dfy b/Test/git-issues/git-issue-698b.dfy index dbdbc3b36d3..1d4a92456e6 100644 --- a/Test/git-issues/git-issue-698b.dfy +++ b/Test/git-issues/git-issue-698b.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" type Small = x: int | 0 <= x < 100 && x != 3 @@ -12,4 +13,4 @@ method Main() { var b := !exists n: Small :: F(n) != 100; assert b; print b; -} +} \ No newline at end of file diff --git a/Test/git-issues/git-issue-698b.dfy.expect b/Test/git-issues/git-issue-698b.dfy.expect index f32a5804e29..188a72ebc36 100644 --- a/Test/git-issues/git-issue-698b.dfy.expect +++ b/Test/git-issues/git-issue-698b.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-701.dfy b/Test/git-issues/git-issue-701.dfy index 38984df4ecf..af19f0d89e2 100644 --- a/Test/git-issues/git-issue-701.dfy +++ b/Test/git-issues/git-issue-701.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var ca := new ClassA; diff --git a/Test/git-issues/git-issue-701.dfy.expect b/Test/git-issues/git-issue-701.dfy.expect index 5198c09cbb1..4d20966e641 100644 --- a/Test/git-issues/git-issue-701.dfy.expect +++ b/Test/git-issues/git-issue-701.dfy.expect @@ -1,3 +1,22 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification +0 0 0 +[] [] [] +C.Nothing C.Nothing C.Nothing + +Dafny program verifier did not attempt verification +0 0 0 +[] [] [] +C.Nothing C.Nothing C.Nothing + +Dafny program verifier did not attempt verification +0 0 0 +[] [] [] +C.Nothing C.Nothing C.Nothing + +Dafny program verifier did not attempt verification 0 0 0 [] [] [] C.Nothing C.Nothing C.Nothing diff --git a/Test/git-issues/git-issue-705.dfy b/Test/git-issues/git-issue-705.dfy index 5b2fa1bac01..d4b806800c2 100644 --- a/Test/git-issues/git-issue-705.dfy +++ b/Test/git-issues/git-issue-705.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /spillTargetCode:3 +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs /spillTargetCode:3 "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js /spillTargetCode:3 "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go /spillTargetCode:3 "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java /spillTargetCode:3 "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype MyDataType = AAA { function toString(): int { 222 } diff --git a/Test/git-issues/git-issue-705.dfy.expect b/Test/git-issues/git-issue-705.dfy.expect index 79a1eee7c74..02cf409667a 100644 --- a/Test/git-issues/git-issue-705.dfy.expect +++ b/Test/git-issues/git-issue-705.dfy.expect @@ -1 +1,14 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification +MyDataType.AAA 222 + +Dafny program verifier did not attempt verification +MyDataType.AAA 222 + +Dafny program verifier did not attempt verification +MyDataType.AAA 222 + +Dafny program verifier did not attempt verification MyDataType.AAA 222 diff --git a/Test/git-issues/git-issue-731.dfy b/Test/git-issues/git-issue-731.dfy index 348d40fecea..05d02fea1af 100644 --- a/Test/git-issues/git-issue-731.dfy +++ b/Test/git-issues/git-issue-731.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" trait Trait { const y: Y diff --git a/Test/git-issues/git-issue-731.dfy.expect b/Test/git-issues/git-issue-731.dfy.expect index 7554a44901e..69b2e6af648 100644 --- a/Test/git-issues/git-issue-731.dfy.expect +++ b/Test/git-issues/git-issue-731.dfy.expect @@ -1,2 +1,18 @@ + +Dafny program verifier finished with 3 verified, 0 errors + +Dafny program verifier did not attempt verification +0 0 0 42 +0 0 0 9 + +Dafny program verifier did not attempt verification +0 0 0 42 +0 0 0 9 + +Dafny program verifier did not attempt verification +0 0 0 42 +0 0 0 9 + +Dafny program verifier did not attempt verification 0 0 0 42 0 0 0 9 diff --git a/Test/git-issues/git-issue-731b.dfy b/Test/git-issues/git-issue-731b.dfy index 2a0507839a2..a77dbd6323b 100644 --- a/Test/git-issues/git-issue-731b.dfy +++ b/Test/git-issues/git-issue-731b.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // Testing issue#731 when the class in question has type parameters diff --git a/Test/git-issues/git-issue-731b.dfy.expect b/Test/git-issues/git-issue-731b.dfy.expect index dd3226d2b73..97e6c041920 100644 --- a/Test/git-issues/git-issue-731b.dfy.expect +++ b/Test/git-issues/git-issue-731b.dfy.expect @@ -1 +1,14 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification +0 42 + +Dafny program verifier did not attempt verification +0 42 + +Dafny program verifier did not attempt verification +0 42 + +Dafny program verifier did not attempt verification 0 42 diff --git a/Test/git-issues/git-issue-755.dfy b/Test/git-issues/git-issue-755.dfy index 2227a486a21..25fb3e6a485 100644 --- a/Test/git-issues/git-issue-755.dfy +++ b/Test/git-issues/git-issue-755.dfy @@ -1,5 +1,9 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var s := { 1,9,3,7,5}; diff --git a/Test/git-issues/git-issue-755.dfy.expect b/Test/git-issues/git-issue-755.dfy.expect index 9182de3a24a..c930da26922 100644 --- a/Test/git-issues/git-issue-755.dfy.expect +++ b/Test/git-issues/git-issue-755.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 5 verified, 0 errors + +Dafny program verifier did not attempt verification 1 3 5 @@ -5,3 +9,30 @@ 9 1 3 3 5 + +Dafny program verifier did not attempt verification +1 +9 +3 +7 +5 +1 3 +3 5 + +Dafny program verifier did not attempt verification +1 +9 +3 +7 +5 +1 3 +3 5 + +Dafny program verifier did not attempt verification +1 +3 +5 +7 +9 +3 5 +1 3 diff --git a/Test/git-issues/git-issue-755.dfy.go.expect b/Test/git-issues/git-issue-755.dfy.go.expect deleted file mode 100644 index f41e86c7579..00000000000 --- a/Test/git-issues/git-issue-755.dfy.go.expect +++ /dev/null @@ -1,7 +0,0 @@ -1 -9 -3 -7 -5 -1 3 -3 5 diff --git a/Test/git-issues/git-issue-755.dfy.java.expect b/Test/git-issues/git-issue-755.dfy.java.expect deleted file mode 100644 index f4407f49a6f..00000000000 --- a/Test/git-issues/git-issue-755.dfy.java.expect +++ /dev/null @@ -1,7 +0,0 @@ -1 -3 -5 -7 -9 -3 5 -1 3 diff --git a/Test/git-issues/git-issue-755.dfy.js.expect b/Test/git-issues/git-issue-755.dfy.js.expect deleted file mode 100644 index f41e86c7579..00000000000 --- a/Test/git-issues/git-issue-755.dfy.js.expect +++ /dev/null @@ -1,7 +0,0 @@ -1 -9 -3 -7 -5 -1 3 -3 5 diff --git a/Test/git-issues/git-issue-784.dfy b/Test/git-issues/git-issue-784.dfy index 5f6cf59465c..78b83f01064 100644 --- a/Test/git-issues/git-issue-784.dfy +++ b/Test/git-issues/git-issue-784.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype List = Nil | Cons(T, List) { function App(ys: List): List { diff --git a/Test/git-issues/git-issue-784.dfy.expect b/Test/git-issues/git-issue-784.dfy.expect index e69de29bb2d..8da23be5c8c 100644 --- a/Test/git-issues/git-issue-784.dfy.expect +++ b/Test/git-issues/git-issue-784.dfy.expect @@ -0,0 +1,10 @@ + +Dafny program verifier finished with 4 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-953.dfy b/Test/git-issues/git-issue-953.dfy index 1032ad45a3a..0e9e0198b90 100644 --- a/Test/git-issues/git-issue-953.dfy +++ b/Test/git-issues/git-issue-953.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" module P { datatype T_ = T() // the underscore in this name once caused a problem in Java compilation diff --git a/Test/git-issues/git-issue-953.dfy.expect b/Test/git-issues/git-issue-953.dfy.expect index d992760e80b..b731ec2edbe 100644 --- a/Test/git-issues/git-issue-953.dfy.expect +++ b/Test/git-issues/git-issue-953.dfy.expect @@ -1,3 +1,39 @@ + +Dafny program verifier finished with 6 verified, 0 errors + +Dafny program verifier did not attempt verification +C_Compile.T_.T +P_Compile.T_.T +OtherNamesWithSpecialCharacters_q___Compile.A?_.A?_ OtherNamesWithSpecialCharacters_q___Compile.B?_.B?_ +17 17 0 0 +C2_Compile.C.C(10, 11) +9 + +Dafny program verifier did not attempt verification +C_Compile.T_.T +P_Compile.T_.T +OtherNamesWithSpecialCharacters_q___Compile.A?_.A?_ OtherNamesWithSpecialCharacters_q___Compile.B?_.B?_ +17 17 0 0 +C2_Compile.C.C(10, 11) +9 + +Dafny program verifier did not attempt verification +C_Compile.T_.T +P_Compile.T_.T +OtherNamesWithSpecialCharacters_q___Compile.A?_.A?_ OtherNamesWithSpecialCharacters_q___Compile.B?_.B?_ +17 17 0 0 +C2_Compile.C.C(10, 11) +9 + +Dafny program verifier did not attempt verification +C_Compile.T_.T +P_Compile.T_.T +OtherNamesWithSpecialCharacters_q___Compile.A?_.A?_ OtherNamesWithSpecialCharacters_q___Compile.B?_.B?_ +17 17 0 0 +C2_Compile.C.C(10, 11) +9 + +Dafny program verifier did not attempt verification C_Compile.T_.T P_Compile.T_.T OtherNamesWithSpecialCharacters_q___Compile.A?_.A?_ OtherNamesWithSpecialCharacters_q___Compile.B?_.B?_ diff --git a/Test/git-issues/github-issue-3343.dfy b/Test/git-issues/github-issue-3343.dfy index d518b2a1a41..517a11d7fc1 100644 --- a/Test/git-issues/github-issue-3343.dfy +++ b/Test/git-issues/github-issue-3343.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" +// RUN: %baredafny run "%s" -t:java > "%t" +// RUN: %diff "%s.expect" "%t" method Bug() { var zero := 0; var a := new int[zero] []; diff --git a/Test/git-issues/github-issue-3343.dfy.expect b/Test/git-issues/github-issue-3343.dfy.expect index e69de29bb2d..823a60a105c 100644 --- a/Test/git-issues/github-issue-3343.dfy.expect +++ b/Test/git-issues/github-issue-3343.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 1 verified, 0 errors diff --git a/Test/hofs/Compilation.dfy b/Test/hofs/Compilation.dfy index 7e9c674b495..99fd0a36506 100644 --- a/Test/hofs/Compilation.dfy +++ b/Test/hofs/Compilation.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" class Ref { var val : A diff --git a/Test/hofs/Compilation.dfy.expect b/Test/hofs/Compilation.dfy.expect index 6b7187d2557..760fafc6189 100644 --- a/Test/hofs/Compilation.dfy.expect +++ b/Test/hofs/Compilation.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 2 verified, 0 errors 1 = 1 3 = 3 3 = 3 diff --git a/Test/hofs/Examples.dfy b/Test/hofs/Examples.dfy index bebda559221..cdf177c001f 100644 --- a/Test/hofs/Examples.dfy +++ b/Test/hofs/Examples.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" function Apply(f: A ~> B, x: A): B reads f.reads(x) diff --git a/Test/hofs/Examples.dfy.expect b/Test/hofs/Examples.dfy.expect index e69de29bb2d..851aaf58286 100644 --- a/Test/hofs/Examples.dfy.expect +++ b/Test/hofs/Examples.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 7 verified, 0 errors diff --git a/Test/hofs/Fold.dfy b/Test/hofs/Fold.dfy index 96ddb01591f..336f9121b52 100644 --- a/Test/hofs/Fold.dfy +++ b/Test/hofs/Fold.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype List = Nil | Cons(A,List) diff --git a/Test/hofs/Fold.dfy.expect b/Test/hofs/Fold.dfy.expect index 3abcc310618..144ffab92db 100644 --- a/Test/hofs/Fold.dfy.expect +++ b/Test/hofs/Fold.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors 3 = 3 diff --git a/Test/hofs/Folding.dfy b/Test/hofs/Folding.dfy index ef1dcee80bb..a300ea03b63 100644 --- a/Test/hofs/Folding.dfy +++ b/Test/hofs/Folding.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /induction:3 +// RUN: %dafny /compile:3 /induction:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Specifications and proofs involving foldr (inspired by Liquid Haskell) and foldl // Rustan Leino diff --git a/Test/hofs/Folding.dfy.expect b/Test/hofs/Folding.dfy.expect index 326af12dd76..c4384266dfb 100644 --- a/Test/hofs/Folding.dfy.expect +++ b/Test/hofs/Folding.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 21 verified, 0 errors xs = List.Cons(57, List.Cons(100, List.Cons(-34, List.Cons(1, List.Cons(8, List.Nil))))) foldr = 264 foldl = 264 diff --git a/Test/hofs/Renaming.dfy b/Test/hofs/Renaming.dfy index 391c0e79ef6..cf21fdba2f8 100644 --- a/Test/hofs/Renaming.dfy +++ b/Test/hofs/Renaming.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" function OnId(f : (bool -> bool) -> int) : int reads f.reads(x => x) diff --git a/Test/hofs/Renaming.dfy.expect b/Test/hofs/Renaming.dfy.expect index 13a954d9043..e2b6636dbe4 100644 --- a/Test/hofs/Renaming.dfy.expect +++ b/Test/hofs/Renaming.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 4 verified, 0 errors 10 11 diff --git a/Test/hofs/Requires.dfy b/Test/hofs/Requires.dfy index f5e51244184..de5944b6744 100644 --- a/Test/hofs/Requires.dfy +++ b/Test/hofs/Requires.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/hofs/Requires.dfy.expect b/Test/hofs/Requires.dfy.expect index e69de29bb2d..1981561ca00 100644 --- a/Test/hofs/Requires.dfy.expect +++ b/Test/hofs/Requires.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 10 verified, 0 errors diff --git a/Test/hofs/TreeMapSimple.dfy b/Test/hofs/TreeMapSimple.dfy index b7baf6eb8d7..d93aea46403 100644 --- a/Test/hofs/TreeMapSimple.dfy +++ b/Test/hofs/TreeMapSimple.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { TestY(); diff --git a/Test/hofs/TreeMapSimple.dfy.expect b/Test/hofs/TreeMapSimple.dfy.expect index be0317f1016..9224d605f7e 100644 --- a/Test/hofs/TreeMapSimple.dfy.expect +++ b/Test/hofs/TreeMapSimple.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 11 verified, 0 errors Tree.Branch(100, List.Cons(Tree.Branch(50, List.Nil), List.Nil)) Tree.Branch(100, List.Cons(Tree.Branch(50, List.Nil), List.Nil)) diff --git a/Test/hofs/VectorUpdate.dfy b/Test/hofs/VectorUpdate.dfy index 70c0de3084e..848ed585ca6 100644 --- a/Test/hofs/VectorUpdate.dfy +++ b/Test/hofs/VectorUpdate.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // this is a rather verbose version of the VectorUpdate method method VectorUpdate(N: int, a : array, f : (int,A) ~> A) diff --git a/Test/hofs/VectorUpdate.dfy.expect b/Test/hofs/VectorUpdate.dfy.expect index 7645f125857..b8fae39eab8 100644 --- a/Test/hofs/VectorUpdate.dfy.expect +++ b/Test/hofs/VectorUpdate.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 8 verified, 0 errors 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 100, 50, 33, 25, 20, 16, 14, 12, 11, 10 diff --git a/Test/hofs/WhileLoop.dfy b/Test/hofs/WhileLoop.dfy index 914f47f4522..4af9fbd841b 100644 --- a/Test/hofs/WhileLoop.dfy +++ b/Test/hofs/WhileLoop.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" class Ref { var val: A diff --git a/Test/hofs/WhileLoop.dfy.expect b/Test/hofs/WhileLoop.dfy.expect index 83083b451e1..234ac298c9b 100644 --- a/Test/hofs/WhileLoop.dfy.expect +++ b/Test/hofs/WhileLoop.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 4 verified, 0 errors 22 22 22 diff --git a/Test/irondafny0/optimize0.dfy b/Test/irondafny0/optimize0.dfy index 218c9820626..c4b8b2122ca 100644 --- a/Test/irondafny0/optimize0.dfy +++ b/Test/irondafny0/optimize0.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /optimize +// RUN: %dafny /compile:3 /optimize /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // See https://github.com/dafny-lang/dafny/issues/508 method Main() { diff --git a/Test/irondafny0/optimize0.dfy.expect b/Test/irondafny0/optimize0.dfy.expect index 0d5c8e51c8b..4e37c19c360 100644 --- a/Test/irondafny0/optimize0.dfy.expect +++ b/Test/irondafny0/optimize0.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 0 verified, 0 errors o hai! \ No newline at end of file diff --git a/Test/metatests/OutputEncoding.dfy b/Test/metatests/OutputEncoding.dfy index 59fa53bf298..68c390ac811 100644 --- a/Test/metatests/OutputEncoding.dfy +++ b/Test/metatests/OutputEncoding.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" +// RUN: %baredafny verify %args "%s" > "%t" +// RUN: %baredafny run --no-verify --target=cs %args "%s" >> "%t" +// RUN: %baredafny run --no-verify --target=js %args "%s" >> "%t" +// RUN: %baredafny run --no-verify --target=go %args "%s" >> "%t" +// RUN: %baredafny run --no-verify --target=py %args "%s" >> "%t" +// RUN: %baredafny run --no-verify --target=java %args "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { // This works fine in all languages because € is a single UTF-16 code unit. diff --git a/Test/metatests/OutputEncoding.dfy.expect b/Test/metatests/OutputEncoding.dfy.expect index b25a57298f1..a37241376f3 100644 --- a/Test/metatests/OutputEncoding.dfy.expect +++ b/Test/metatests/OutputEncoding.dfy.expect @@ -1 +1,17 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification +Euro sign: € + +Dafny program verifier did not attempt verification +Euro sign: € + +Dafny program verifier did not attempt verification +Euro sign: € + +Dafny program verifier did not attempt verification +Euro sign: € + +Dafny program verifier did not attempt verification Euro sign: € diff --git a/Test/patterns/OrPatterns.dfy b/Test/patterns/OrPatterns.dfy index 6385bd55c93..4f2610c9379 100644 --- a/Test/patterns/OrPatterns.dfy +++ b/Test/patterns/OrPatterns.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /rprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Enum = One | Two | Three { predicate Even() { diff --git a/Test/patterns/OrPatterns.dfy.expect b/Test/patterns/OrPatterns.dfy.expect index d86bac9de59..a6fce7c4a13 100644 --- a/Test/patterns/OrPatterns.dfy.expect +++ b/Test/patterns/OrPatterns.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 11 verified, 0 errors OK diff --git a/Test/patterns/PatternMatching.dfy b/Test/patterns/PatternMatching.dfy index e8a73b856e4..477126c066a 100644 --- a/Test/patterns/PatternMatching.dfy +++ b/Test/patterns/PatternMatching.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" /* * This file contains a collection of tests for features modified or introduced in PR 458 @@ -221,4 +222,4 @@ method Main() { var r5 := MultipleNestedMatch(A(0), t4, bb); print "Testing MultipleNestedMatch: ", r0, r1, r2, r3, r4, r5, ", should return 012345\n"; -} +} \ No newline at end of file diff --git a/Test/patterns/PatternMatching.dfy.expect b/Test/patterns/PatternMatching.dfy.expect index b4415971ca5..2970273cbfc 100644 --- a/Test/patterns/PatternMatching.dfy.expect +++ b/Test/patterns/PatternMatching.dfy.expect @@ -1,3 +1,6 @@ +PatternMatching.dfy(102,4): Warning: this branch is redundant + +Dafny program verifier finished with 9 verified, 0 errors NestingTest([6]) = 6, should return 6 NestedVariableTest([2::3::4::5::6]) = 0, should return 0 ConstantTest([3::4::5::6]) = 2, should return 2 diff --git a/Test/traits/TraitCompile.dfy b/Test/traits/TraitCompile.dfy index 6e9b925fbc5..03cf3746c6f 100644 --- a/Test/traits/TraitCompile.dfy +++ b/Test/traits/TraitCompile.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" trait TT { @@ -814,4 +820,4 @@ module RedeclaringMembers { true } } -} +} \ No newline at end of file diff --git a/Test/traits/TraitCompile.dfy.expect b/Test/traits/TraitCompile.dfy.expect index b70a9b09d2e..8257b754de2 100644 --- a/Test/traits/TraitCompile.dfy.expect +++ b/Test/traits/TraitCompile.dfy.expect @@ -1,3 +1,259 @@ + +Dafny program verifier finished with 75 verified, 0 errors + +Dafny program verifier did not attempt verification +y=120 +x=12 +d=800 +a5=407 +t=1212 +z=30 +z'=30 +w=30 +d=1000 +a5=507 +t=1512 +t=1512 +t=1515 +This is OtherModule.P(7.0) +From OtherModule.Y: 7 and true +This is OtherModule.P(7.0) +From OtherModule.X: 7 and true +c.f= 15 j.f= 15 +c.f= 18 j.f= 18 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +x=126 +5.2 9 false +true true true true +false false false false +true true true true +false false false false +5.2 5.2 +1.2 1.2 +1.2 1.2 +15 30 +15 30 +15 30 +0 (0, 0) 0 +8 +0 0 0 0 0 0 0 0 0 0 0 0 +13 13 13 13 13 13 13 13 13 13 13 13 +14 14 14 14 14 14 14 14 14 14 14 14 +15 15 15 15 15 15 15 15 15 15 15 15 +16 16 16 16 16 16 16 16 16 16 16 16 +17 17 17 17 17 17 17 17 17 17 17 17 +18 18 18 18 18 18 18 18 18 18 18 18 +19 19 19 19 19 19 19 19 19 19 19 19 +20 20 20 20 20 20 20 20 20 20 20 20 +21 21 21 21 21 21 21 21 21 21 21 21 +22 22 22 22 22 22 22 22 22 22 22 22 +23 23 23 23 23 23 23 23 23 23 23 23 +24 24 24 24 24 24 24 24 24 24 24 24 +f(4) = 7 +f(4) = 7 +g(4) = 7 +g(4) = 7 +41 15 26 +true true +true true +true true +true true +true true true +true true true + +Dafny program verifier did not attempt verification +y=120 +x=12 +d=800 +a5=407 +t=1212 +z=30 +z'=30 +w=30 +d=1000 +a5=507 +t=1512 +t=1512 +t=1515 +This is OtherModule.P(7.0) +From OtherModule.Y: 7 and true +This is OtherModule.P(7.0) +From OtherModule.X: 7 and true +c.f= 15 j.f= 15 +c.f= 18 j.f= 18 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +x=126 +5.2 9 false +true true true true +false false false false +true true true true +false false false false +5.2 5.2 +1.2 1.2 +1.2 1.2 +15 30 +15 30 +15 30 +0 (0, 0) 0 +8 +0 0 0 0 0 0 0 0 0 0 0 0 +13 13 13 13 13 13 13 13 13 13 13 13 +14 14 14 14 14 14 14 14 14 14 14 14 +15 15 15 15 15 15 15 15 15 15 15 15 +16 16 16 16 16 16 16 16 16 16 16 16 +17 17 17 17 17 17 17 17 17 17 17 17 +18 18 18 18 18 18 18 18 18 18 18 18 +19 19 19 19 19 19 19 19 19 19 19 19 +20 20 20 20 20 20 20 20 20 20 20 20 +21 21 21 21 21 21 21 21 21 21 21 21 +22 22 22 22 22 22 22 22 22 22 22 22 +23 23 23 23 23 23 23 23 23 23 23 23 +24 24 24 24 24 24 24 24 24 24 24 24 +f(4) = 7 +f(4) = 7 +g(4) = 7 +g(4) = 7 +41 15 26 +true true +true true +true true +true true +true true true +true true true + +Dafny program verifier did not attempt verification +y=120 +x=12 +d=800 +a5=407 +t=1212 +z=30 +z'=30 +w=30 +d=1000 +a5=507 +t=1512 +t=1512 +t=1515 +This is OtherModule.P(7.0) +From OtherModule.Y: 7 and true +This is OtherModule.P(7.0) +From OtherModule.X: 7 and true +c.f= 15 j.f= 15 +c.f= 18 j.f= 18 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +x=126 +5.2 9 false +true true true true +false false false false +true true true true +false false false false +5.2 5.2 +1.2 1.2 +1.2 1.2 +15 30 +15 30 +15 30 +0 (0, 0) 0 +8 +0 0 0 0 0 0 0 0 0 0 0 0 +13 13 13 13 13 13 13 13 13 13 13 13 +14 14 14 14 14 14 14 14 14 14 14 14 +15 15 15 15 15 15 15 15 15 15 15 15 +16 16 16 16 16 16 16 16 16 16 16 16 +17 17 17 17 17 17 17 17 17 17 17 17 +18 18 18 18 18 18 18 18 18 18 18 18 +19 19 19 19 19 19 19 19 19 19 19 19 +20 20 20 20 20 20 20 20 20 20 20 20 +21 21 21 21 21 21 21 21 21 21 21 21 +22 22 22 22 22 22 22 22 22 22 22 22 +23 23 23 23 23 23 23 23 23 23 23 23 +24 24 24 24 24 24 24 24 24 24 24 24 +f(4) = 7 +f(4) = 7 +g(4) = 7 +g(4) = 7 +41 15 26 +true true +true true +true true +true true +true true true +true true true + +Dafny program verifier did not attempt verification +y=120 +x=12 +d=800 +a5=407 +t=1212 +z=30 +z'=30 +w=30 +d=1000 +a5=507 +t=1512 +t=1512 +t=1515 +This is OtherModule.P(7.0) +From OtherModule.Y: 7 and true +This is OtherModule.P(7.0) +From OtherModule.X: 7 and true +c.f= 15 j.f= 15 +c.f= 18 j.f= 18 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +x=126 +5.2 9 false +true true true true +false false false false +true true true true +false false false false +5.2 5.2 +1.2 1.2 +1.2 1.2 +15 30 +15 30 +15 30 +0 (0, 0) 0 +8 +0 0 0 0 0 0 0 0 0 0 0 0 +13 13 13 13 13 13 13 13 13 13 13 13 +14 14 14 14 14 14 14 14 14 14 14 14 +15 15 15 15 15 15 15 15 15 15 15 15 +16 16 16 16 16 16 16 16 16 16 16 16 +17 17 17 17 17 17 17 17 17 17 17 17 +18 18 18 18 18 18 18 18 18 18 18 18 +19 19 19 19 19 19 19 19 19 19 19 19 +20 20 20 20 20 20 20 20 20 20 20 20 +21 21 21 21 21 21 21 21 21 21 21 21 +22 22 22 22 22 22 22 22 22 22 22 22 +23 23 23 23 23 23 23 23 23 23 23 23 +24 24 24 24 24 24 24 24 24 24 24 24 +f(4) = 7 +f(4) = 7 +g(4) = 7 +g(4) = 7 +41 15 26 +true true +true true +true true +true true +true true true +true true true + +Dafny program verifier did not attempt verification y=120 x=12 d=800 diff --git a/Test/traits/TraitExample.dfy b/Test/traits/TraitExample.dfy index 54c5cbbec6f..d6afb4ce70b 100644 --- a/Test/traits/TraitExample.dfy +++ b/Test/traits/TraitExample.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" trait Automobile { ghost var Repr: set diff --git a/Test/traits/TraitExample.dfy.expect b/Test/traits/TraitExample.dfy.expect index b9783e62141..c1b4ac93962 100644 --- a/Test/traits/TraitExample.dfy.expect +++ b/Test/traits/TraitExample.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 29 verified, 0 errors Fiat: 6 Volvo: 20 Catacar: 26 diff --git a/Test/traits/Traits-Fields.dfy b/Test/traits/Traits-Fields.dfy index 6ae1aaab6d9..2da609c33c8 100644 --- a/Test/traits/Traits-Fields.dfy +++ b/Test/traits/Traits-Fields.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" trait J { diff --git a/Test/traits/Traits-Fields.dfy.expect b/Test/traits/Traits-Fields.dfy.expect index c39bd8b5d5d..cc460fc52f4 100644 --- a/Test/traits/Traits-Fields.dfy.expect +++ b/Test/traits/Traits-Fields.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 2 verified, 0 errors j.x = 9 c.x = 9 diff --git a/Test/traits/TraitsMultipleInheritance.dfy b/Test/traits/TraitsMultipleInheritance.dfy index 67fd8673488..12590e47828 100644 --- a/Test/traits/TraitsMultipleInheritance.dfy +++ b/Test/traits/TraitsMultipleInheritance.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" trait J1{ var x: int diff --git a/Test/traits/TraitsMultipleInheritance.dfy.expect b/Test/traits/TraitsMultipleInheritance.dfy.expect index b116b2d070d..ad1a1011a25 100644 --- a/Test/traits/TraitsMultipleInheritance.dfy.expect +++ b/Test/traits/TraitsMultipleInheritance.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 1 verified, 0 errors c.x + c.y = 30 j1.x + j2.y = 30 diff --git a/Test/unicodechars/comp/Collections.dfy b/Test/unicodechars/comp/Collections.dfy index 34f1a1e2180..fb3e451eb83 100644 --- a/Test/unicodechars/comp/Collections.dfy +++ b/Test/unicodechars/comp/Collections.dfy @@ -1,3 +1,8 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:true /verifyAllModules +// RUN: %dafny /compile:0 /verifyAllModules /unicodeChar:1 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" include "../../comp/Collections.dfy" diff --git a/Test/unicodechars/comp/Collections.dfy.expect b/Test/unicodechars/comp/Collections.dfy.expect index 89f08b08d75..70586502b0d 100644 --- a/Test/unicodechars/comp/Collections.dfy.expect +++ b/Test/unicodechars/comp/Collections.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 40 verified, 0 errors + +Dafny program verifier did not attempt verification Sets: {} {17, 82} {12, 17} cardinality: 0 2 2 union: {17, 82} {12, 17, 82} @@ -123,3 +127,511 @@ Multiset=== 1 3 |s|=2 |u|=4 1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Yellow := 21, Color.Blue := 30] +keys: {Color.Yellow, Color.Blue} +values: {21, 30} +items: {(Color.Yellow, 21), (Color.Blue, 30)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {21, 30} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.go.expect b/Test/unicodechars/comp/Collections.dfy.go.expect deleted file mode 100644 index 2fc0f3b7093..00000000000 --- a/Test/unicodechars/comp/Collections.dfy.go.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.java.expect b/Test/unicodechars/comp/Collections.dfy.java.expect deleted file mode 100644 index 39975cadfc4..00000000000 --- a/Test/unicodechars/comp/Collections.dfy.java.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Yellow := 21, Color.Blue := 30] -keys: {Color.Yellow, Color.Blue} -values: {21, 30} -items: {(Color.Yellow, 21), (Color.Blue, 30)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.js.expect b/Test/unicodechars/comp/Collections.dfy.js.expect deleted file mode 100644 index 2fc0f3b7093..00000000000 --- a/Test/unicodechars/comp/Collections.dfy.js.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.py.expect b/Test/unicodechars/comp/Collections.dfy.py.expect deleted file mode 100644 index e4e346dede0..00000000000 --- a/Test/unicodechars/comp/Collections.dfy.py.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {21, 30} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/unicodechars/comp/Comprehensions.dfy b/Test/unicodechars/comp/Comprehensions.dfy index 7ce8835997f..274f8d3a150 100644 --- a/Test/unicodechars/comp/Comprehensions.dfy +++ b/Test/unicodechars/comp/Comprehensions.dfy @@ -1,3 +1,8 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:true /verifyAllModules -include "../../comp/Comprehensions.dfy" +// RUN: %dafny /compile:0 /unicodeChar:1 /verifyAllModules "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" +include "../../comp/Comprehensions.dfy" \ No newline at end of file diff --git a/Test/unicodechars/comp/Comprehensions.dfy.expect b/Test/unicodechars/comp/Comprehensions.dfy.expect index c9703fc9397..18159ddde0a 100644 --- a/Test/unicodechars/comp/Comprehensions.dfy.expect +++ b/Test/unicodechars/comp/Comprehensions.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 32 verified, 0 errors + +Dafny program verifier did not attempt verification x=13 y=14 x=13 y=14 b=yes true false @@ -60,3 +64,259 @@ true true [137438953474, 137438953475, 137438953476, 137438953477, 137438953479] cdefh cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[14 := 7, 12 := 6, 13 := 6] +map[18 := 14, 17 := 13, 16 := 12] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh diff --git a/Test/unicodechars/comp/Comprehensions.dfy.py.expect b/Test/unicodechars/comp/Comprehensions.dfy.py.expect deleted file mode 100644 index aeaa31fc0f3..00000000000 --- a/Test/unicodechars/comp/Comprehensions.dfy.py.expect +++ /dev/null @@ -1,62 +0,0 @@ -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[14 := 7, 12 := 6, 13 := 6] -map[18 := 14, 17 := 13, 16 := 12] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh diff --git a/Test/unicodechars/comp/NativeNumbers.dfy b/Test/unicodechars/comp/NativeNumbers.dfy index 2dae43b062d..764b4b3b384 100644 --- a/Test/unicodechars/comp/NativeNumbers.dfy +++ b/Test/unicodechars/comp/NativeNumbers.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:true /verifyAllModules // Skip JavaScript because JavaScript doesn't have the same native types -include "../../comp/NativeNumbers.dfy" +// RUN: %dafny /compile:0 /verifyAllModules /unicodeChar:1 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" +include "../../comp/NativeNumbers.dfy" \ No newline at end of file diff --git a/Test/unicodechars/comp/NativeNumbers.dfy.expect b/Test/unicodechars/comp/NativeNumbers.dfy.expect index 354d931a151..b0fc6754f84 100644 --- a/Test/unicodechars/comp/NativeNumbers.dfy.expect +++ b/Test/unicodechars/comp/NativeNumbers.dfy.expect @@ -1,3 +1,259 @@ + +Dafny program verifier finished with 25 verified, 0 errors + +Dafny program verifier did not attempt verification +Casting: + +Small numbers: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 +5 5 5 5 5 5 5 5 5 +6 6 6 6 6 6 6 6 6 +7 7 7 7 7 7 7 7 7 +8 8 8 8 8 8 8 8 8 + +Large unsigned numbers: +255 255 255 255 255 255 255 255 +65535 65535 65535 65535 65535 65535 +4294967295 4294967295 4294967295 4294967295 +18446744073709551615 18446744073709551615 + +Int to large unsigned: +255 65535 4294967295 18446744073709551615 + +Cast from cardinality operator: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 + +Characters: +'C' 67 67 67 67 67 67 67 67 67 +0 127 32767 65535 65535 255 65535 65535 65535 + +Defaults: + +0 0 0 0 0 0 0 0 0 + +Byte arithmetic: + +20 30 +10 10 18 + +Short arithmetic: + +20 30 +10 10 18 + +Bitvectors: + +0 3 4 1 + +Comparison to zero: + +int8: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int16: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int32: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int64: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint8: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint16: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint32: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint64: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N + + +Dafny program verifier did not attempt verification +Casting: + +Small numbers: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 +5 5 5 5 5 5 5 5 5 +6 6 6 6 6 6 6 6 6 +7 7 7 7 7 7 7 7 7 +8 8 8 8 8 8 8 8 8 + +Large unsigned numbers: +255 255 255 255 255 255 255 255 +65535 65535 65535 65535 65535 65535 +4294967295 4294967295 4294967295 4294967295 +18446744073709551615 18446744073709551615 + +Int to large unsigned: +255 65535 4294967295 18446744073709551615 + +Cast from cardinality operator: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 + +Characters: +'C' 67 67 67 67 67 67 67 67 67 +0 127 32767 65535 65535 255 65535 65535 65535 + +Defaults: + +0 0 0 0 0 0 0 0 0 + +Byte arithmetic: + +20 30 +10 10 18 + +Short arithmetic: + +20 30 +10 10 18 + +Bitvectors: + +0 3 4 1 + +Comparison to zero: + +int8: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int16: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int32: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int64: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint8: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint16: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint32: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint64: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N + + +Dafny program verifier did not attempt verification +Casting: + +Small numbers: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 +5 5 5 5 5 5 5 5 5 +6 6 6 6 6 6 6 6 6 +7 7 7 7 7 7 7 7 7 +8 8 8 8 8 8 8 8 8 + +Large unsigned numbers: +255 255 255 255 255 255 255 255 +65535 65535 65535 65535 65535 65535 +4294967295 4294967295 4294967295 4294967295 +18446744073709551615 18446744073709551615 + +Int to large unsigned: +255 65535 4294967295 18446744073709551615 + +Cast from cardinality operator: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 + +Characters: +'C' 67 67 67 67 67 67 67 67 67 +0 127 32767 65535 65535 255 65535 65535 65535 + +Defaults: + +0 0 0 0 0 0 0 0 0 + +Byte arithmetic: + +20 30 +10 10 18 + +Short arithmetic: + +20 30 +10 10 18 + +Bitvectors: + +0 3 4 1 + +Comparison to zero: + +int8: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int16: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int32: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int64: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint8: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint16: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint32: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint64: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N + + +Dafny program verifier did not attempt verification Casting: Small numbers: diff --git a/Test/unicodechars/comp/Numbers.dfy b/Test/unicodechars/comp/Numbers.dfy index dfeeb19dc38..2c9170fe4d7 100644 --- a/Test/unicodechars/comp/Numbers.dfy +++ b/Test/unicodechars/comp/Numbers.dfy @@ -1,3 +1,8 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:true /verifyAllModules -include "../../comp/Numbers.dfy" +// RUN: %dafny /compile:0 /verifyAllModules /unicodeChar:1 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" +include "../../comp/Numbers.dfy" \ No newline at end of file diff --git a/Test/unicodechars/comp/Numbers.dfy.expect b/Test/unicodechars/comp/Numbers.dfy.expect index cce193e1cce..6fa2f59f340 100644 --- a/Test/unicodechars/comp/Numbers.dfy.expect +++ b/Test/unicodechars/comp/Numbers.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 59 verified, 0 errors + +Dafny program verifier did not attempt verification 0 0 3 @@ -109,3 +113,455 @@ true false true false false true false true true false true false 20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +'g' 'Q' '2' +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +(312.0 / 40.0) (1248.0 / 40.0) +(-312.0 / 40.0) (-1248.0 / 40.0) +(-312.0 / 40.0) (1248.0 / 40.0) +(312.0 / 40.0) (-1248.0 / 40.0) +0.0 0.0 0.0 +120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) +123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 (8100.0 / 8100.0) +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +'g' 'Q' '2' +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +'g' 'Q' '2' +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +(312.0 / 40.0) (1248.0 / 40.0) +(-312.0 / 40.0) (-1248.0 / 40.0) +(-312.0 / 40.0) (1248.0 / 40.0) +(312.0 / 40.0) (-1248.0 / 40.0) +0.0 0.0 0.0 +120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) +123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 (8100.0 / 8100.0) +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +'g' 'Q' '2' +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 diff --git a/Test/unicodechars/comp/Numbers.dfy.go.expect b/Test/unicodechars/comp/Numbers.dfy.go.expect deleted file mode 100644 index 95d8ac259c7..00000000000 --- a/Test/unicodechars/comp/Numbers.dfy.go.expect +++ /dev/null @@ -1,111 +0,0 @@ -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -'g' 'Q' '2' -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 diff --git a/Test/unicodechars/comp/Numbers.dfy.py.expect b/Test/unicodechars/comp/Numbers.dfy.py.expect deleted file mode 100644 index 95d8ac259c7..00000000000 --- a/Test/unicodechars/comp/Numbers.dfy.py.expect +++ /dev/null @@ -1,111 +0,0 @@ -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -'g' 'Q' '2' -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 From 7e8163f3396ccca6fc90f968c378c5886c0b51e1 Mon Sep 17 00:00:00 2001 From: Robin Salkeld Date: Thu, 1 Jun 2023 22:03:17 -0700 Subject: [PATCH 17/68] Manually marking nonuniform tests, converting some special cases --- Test/comp/CompileWithArguments.dfy | 1 + Test/comp/MainMethod.dfy | 1 + Test/comp/compile3/JustRun.dfy | 2 + Test/dafny0/ImplicitTypeParamPrint.dfy | 1 + Test/dafny0/ModuleInsertion.dfy | 1 + Test/dafny0/ModulePrint.dfy | 1 + Test/dafny0/PrintEffects.dfy | 1 + Test/dafny0/RuntimeTypeTests0.dfy | 9 +- Test/dafny0/RuntimeTypeTests0.dfy.expect | 44 ------ Test/dafny4/git-issue158.dfy | 1 + Test/exports/ExportRefinement.dfy | 1 + Test/ghost/Comp.dfy | 8 +- Test/ghost/Comp.dfy.expect | 128 ------------------ Test/git-issues/git-issue-1105.dfy | 7 +- Test/git-issues/git-issue-1105.dfy.expect | 11 -- Test/git-issues/git-issue-1129.dfy | 1 + Test/git-issues/git-issue-1604.dfy | 6 +- Test/git-issues/git-issue-1604.dfy.expect | 8 -- Test/git-issues/git-issue-1815b.dfy | 7 +- Test/git-issues/git-issue-1815b.dfy.expect | 10 -- Test/git-issues/git-issue-2173.dfy | 4 +- Test/git-issues/git-issue-2173.dfy.expect | 5 - Test/git-issues/git-issue-2216.dfy | 1 + Test/git-issues/git-issue-2367.dfy | 3 +- Test/git-issues/git-issue-2367.dfy.expect | 4 - Test/git-issues/git-issue-3744.dfy | 1 + Test/git-issues/git-issue-Main0.dfy | 1 + Test/git-issues/git-issue-Main4.dfy | 1 + Test/git-issues/git-issue-MainE.dfy | 1 + Test/separate-verification/app.dfy | 1 + .../comp/CompileWithArguments.dfy | 1 + 31 files changed, 27 insertions(+), 245 deletions(-) diff --git a/Test/comp/CompileWithArguments.dfy b/Test/comp/CompileWithArguments.dfy index 1f61822860b..49fa3666453 100644 --- a/Test/comp/CompileWithArguments.dfy +++ b/Test/comp/CompileWithArguments.dfy @@ -1,3 +1,4 @@ +// NONUNIFORM: Multiple testing scenarios, highly backend sensitive, testing CLI // RUN: %dafny /compile:0 "%s" > "%t" // RUN: %run --no-verify --target:cs "%s" Csharp 1 >> "%t" // RUN: %run --no-verify --target:cpp --unicode-char:false "%s" Cpp Yipee >> "%t" diff --git a/Test/comp/MainMethod.dfy b/Test/comp/MainMethod.dfy index d30ff985927..0f55cbf7757 100644 --- a/Test/comp/MainMethod.dfy +++ b/Test/comp/MainMethod.dfy @@ -1,3 +1,4 @@ +// NONUNIFORM: multiple testing scenarios (could be split into several uniform tests) // RUN: %dafny /compile:0 "%s" > "%t" // RUN: %dafny /noVerify /compile:4 /Main:Cl.Static /compileTarget:cs "%s" >> "%t" diff --git a/Test/comp/compile3/JustRun.dfy b/Test/comp/compile3/JustRun.dfy index 693b23d1378..298221d5e39 100644 --- a/Test/comp/compile3/JustRun.dfy +++ b/Test/comp/compile3/JustRun.dfy @@ -1,3 +1,5 @@ +// NONUNIFORM: /compileVerbose:1 output is backend sensitive +// (although the second set of comamnds could be separated out) // RUN: %dafny /unicodeChar:0 /compileVerbose:1 /compileTarget:cs /compile:3 "%s" > "%t" // RUN: %dafny /unicodeChar:0 /compileVerbose:1 /compileTarget:js /compile:3 "%s" >> "%t" // RUN: %dafny /unicodeChar:0 /compileVerbose:1 /compileTarget:go /compile:3 "%s" >> "%t" diff --git a/Test/dafny0/ImplicitTypeParamPrint.dfy b/Test/dafny0/ImplicitTypeParamPrint.dfy index 7cd073b4296..3fb060b1d3d 100644 --- a/Test/dafny0/ImplicitTypeParamPrint.dfy +++ b/Test/dafny0/ImplicitTypeParamPrint.dfy @@ -1,3 +1,4 @@ +// NONUNIFORM: Multiple tests in one, fairly C# specific // RUN: %dafny /dafnyVerify:0 /compile:0 /env:0 /rprint:"%t.dfy" "%s" // RUN: %dafny /dafnyVerify:0 /compile:0 /env:0 /printMode:DllEmbed /rprint:"%t1.dfy" "%t.dfy" // RUN: %dafny /env:0 /compile:3 /printMode:DllEmbed /rprint:"%t2.dfy" "%t1.dfy" > "%t" diff --git a/Test/dafny0/ModuleInsertion.dfy b/Test/dafny0/ModuleInsertion.dfy index a2d54c5a748..75d77035a38 100644 --- a/Test/dafny0/ModuleInsertion.dfy +++ b/Test/dafny0/ModuleInsertion.dfy @@ -1,3 +1,4 @@ +// NONUNIFORM: Tests printing much more than compilation // RUN: %dafny /env:0 /dprint:- /dafnyVerify:0 "%s" > "%t" // RUN: %dafny /env:0 /rprint:- /compile:3 "%s" >> "%t" // RUN: %diff "%s.expect" "%t" diff --git a/Test/dafny0/ModulePrint.dfy b/Test/dafny0/ModulePrint.dfy index 8be97a80bdf..08e8911e69a 100644 --- a/Test/dafny0/ModulePrint.dfy +++ b/Test/dafny0/ModulePrint.dfy @@ -1,3 +1,4 @@ +// NONUNIFORM: Tests printing much more than compilation // RUN: %dafny /dafnyVerify:0 /compile:0 /env:0 /dprint:"%t.dfy" "%s" > "%t" // RUN: %dafny /dafnyVerify:0 /compile:0 /env:0 /printMode:DllEmbed /dprint:"%t1.dfy" "%t.dfy" >> "%t" // RUN: %dafny /env:0 /compile:3 /printMode:DllEmbed /dprint:"%t2.dfy" "%t1.dfy" >> "%t" diff --git a/Test/dafny0/PrintEffects.dfy b/Test/dafny0/PrintEffects.dfy index 60841f6d88f..40be5c810b6 100644 --- a/Test/dafny0/PrintEffects.dfy +++ b/Test/dafny0/PrintEffects.dfy @@ -1,3 +1,4 @@ +// NONUNIFORM: Multiple testing scenarios (could be split) // RUN: %baredafny run %args "%s" > "%t" // RUN: ! %baredafny run %args --track-print-effects "%s" >> "%t" // RUN: %diff "%s.expect" "%t" diff --git a/Test/dafny0/RuntimeTypeTests0.dfy b/Test/dafny0/RuntimeTypeTests0.dfy index 5f6e6273846..5ddfda42319 100644 --- a/Test/dafny0/RuntimeTypeTests0.dfy +++ b/Test/dafny0/RuntimeTypeTests0.dfy @@ -1,11 +1,6 @@ // UNSUPPORTED: windows -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" + // The code in this file demonstrates complications in sorting out covariance in some // compilation target languages. // diff --git a/Test/dafny0/RuntimeTypeTests0.dfy.expect b/Test/dafny0/RuntimeTypeTests0.dfy.expect index 6d31b1ccc30..2dd1b7e5027 100644 --- a/Test/dafny0/RuntimeTypeTests0.dfy.expect +++ b/Test/dafny0/RuntimeTypeTests0.dfy.expect @@ -1,47 +1,3 @@ - -Dafny program verifier finished with 9 verified, 0 errors - -Dafny program verifier did not attempt verification -{5, 7} and {5, 7} -Dt.Atom(_module.Class0, 10) and Dt.Atom(_module.Class0, 10) -Dt.Atom(_module.Class0, 10) and Dt.Atom(_module.Class0, 10) -{_module.Class0} and {_module.Class0} -[_module.Class0] and [_module.Class0] -multiset{_module.Class0} and multiset{_module.Class0} -map[7 := _module.Class0] and map[7 := _module.Class0] -[_module.Class0, _module.Class0] and [_module.Class0, _module.Class0] - -Dafny program verifier did not attempt verification -{5, 7} and {5, 7} -Dt.Atom(_module.Class0, 10) and Dt.Atom(_module.Class0, 10) -Dt.Atom(_module.Class0, 10) and Dt.Atom(_module.Class0, 10) -{_module.Class0} and {_module.Class0} -[_module.Class0] and [_module.Class0] -multiset{_module.Class0} and multiset{_module.Class0} -map[7 := _module.Class0] and map[7 := _module.Class0] -[_module.Class0, _module.Class0] and [_module.Class0, _module.Class0] - -Dafny program verifier did not attempt verification -{5, 7} and {5, 7} -Dt.Atom(_module.Class0, 10) and Dt.Atom(_module.Class0, 10) -Dt.Atom(_module.Class0, 10) and Dt.Atom(_module.Class0, 10) -{_module.Class0} and {_module.Class0} -[_module.Class0] and [_module.Class0] -multiset{_module.Class0} and multiset{_module.Class0} -map[7 := _module.Class0] and map[7 := _module.Class0] -[_module.Class0, _module.Class0] and [_module.Class0, _module.Class0] - -Dafny program verifier did not attempt verification -{5, 7} and {5, 7} -Dt.Atom(_module.Class0, 10) and Dt.Atom(_module.Class0, 10) -Dt.Atom(_module.Class0, 10) and Dt.Atom(_module.Class0, 10) -{_module.Class0} and {_module.Class0} -[_module.Class0] and [_module.Class0] -multiset{_module.Class0} and multiset{_module.Class0} -map[7 := _module.Class0] and map[7 := _module.Class0] -[_module.Class0, _module.Class0] and [_module.Class0, _module.Class0] - -Dafny program verifier did not attempt verification {5, 7} and {5, 7} Dt.Atom(_module.Class0, 10) and Dt.Atom(_module.Class0, 10) Dt.Atom(_module.Class0, 10) and Dt.Atom(_module.Class0, 10) diff --git a/Test/dafny4/git-issue158.dfy b/Test/dafny4/git-issue158.dfy index e646fd2e6c6..b9c2dea93de 100644 --- a/Test/dafny4/git-issue158.dfy +++ b/Test/dafny4/git-issue158.dfy @@ -1,3 +1,4 @@ +// NONUNIFORM: Multiple testing scenarios (could be split) // RUN: %dafny /compile:3 "%s" > "%t" // RUN: %dafny /compile:3 /optimize "%s" >> "%t" // RUN: %diff "%s.expect" "%t" diff --git a/Test/exports/ExportRefinement.dfy b/Test/exports/ExportRefinement.dfy index 60bf10bc5c6..fd34c4864ee 100644 --- a/Test/exports/ExportRefinement.dfy +++ b/Test/exports/ExportRefinement.dfy @@ -1,3 +1,4 @@ +// NONUNIFORM: Multiple testing scenarios (could be split) // RUN: %dafny /env:0 /compile:3 /dprint:"%t.dfy" "%s" > "%t.result" // RUN: %dafny /env:0 /printMode:DllEmbed /dprint:"%t1.dfy" "%t.dfy" // RUN: %dafny /env:0 /printMode:DllEmbed /dprint:"%t2.dfy" /compile:3 "%t1.dfy" > "%t" diff --git a/Test/ghost/Comp.dfy b/Test/ghost/Comp.dfy index e2ec76b1d8a..9d820764a53 100644 --- a/Test/ghost/Comp.dfy +++ b/Test/ghost/Comp.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 /print:"%t.print" "%s" > "%t" -// RUN: %baredafny run %args --no-verify --target=cs --spill-translation "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation datatype PhantomData = PhantomData(ghost value: T) diff --git a/Test/ghost/Comp.dfy.expect b/Test/ghost/Comp.dfy.expect index 11ffaf94d32..2892981f20f 100644 --- a/Test/ghost/Comp.dfy.expect +++ b/Test/ghost/Comp.dfy.expect @@ -1,131 +1,3 @@ - -Dafny program verifier finished with 7 verified, 0 errors - -Dafny program verifier did not attempt verification -Test0: () -Test1: 0 -Test2: (0, 0) -Test3: ((), 0) -Test0: () -Test1: 22 -Test2: (33, 55) -Test3: ((), 88) -100 200 -(0, 0) (0, 0) 0 0 -9 25 -5 25 -() -5 9 -25 36 -5 -25 -() 14 61 5 25 -3.2 -1213 -3 -100 -0 100 -0 9 -0 19 -19 -0 15 -9 -0 9 - -Dafny program verifier did not attempt verification -Test0: () -Test1: 0 -Test2: (0, 0) -Test3: ((), 0) -Test0: () -Test1: 22 -Test2: (33, 55) -Test3: ((), 88) -100 200 -(0, 0) (0, 0) 0 0 -9 25 -5 25 -() -5 9 -25 36 -5 -25 -() 14 61 5 25 -3.2 -1213 -3 -100 -0 100 -0 9 -0 19 -19 -0 15 -9 -0 9 - -Dafny program verifier did not attempt verification -Test0: () -Test1: 0 -Test2: (0, 0) -Test3: ((), 0) -Test0: () -Test1: 22 -Test2: (33, 55) -Test3: ((), 88) -100 200 -(0, 0) (0, 0) 0 0 -9 25 -5 25 -() -5 9 -25 36 -5 -25 -() 14 61 5 25 -3.2 -1213 -3 -100 -0 100 -0 9 -0 19 -19 -0 15 -9 -0 9 - -Dafny program verifier did not attempt verification -Test0: () -Test1: 0 -Test2: (0, 0) -Test3: ((), 0) -Test0: () -Test1: 22 -Test2: (33, 55) -Test3: ((), 88) -100 200 -(0, 0) (0, 0) 0 0 -9 25 -5 25 -() -5 9 -25 36 -5 -25 -() 14 61 5 25 -3.2 -1213 -3 -100 -0 100 -0 9 -0 19 -19 -0 15 -9 -0 9 - -Dafny program verifier did not attempt verification Test0: () Test1: 0 Test2: (0, 0) diff --git a/Test/git-issues/git-issue-1105.dfy b/Test/git-issues/git-issue-1105.dfy index 2f5020db338..593553acb8b 100644 --- a/Test/git-issues/git-issue-1105.dfy +++ b/Test/git-issues/git-issue-1105.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" // Regression: A constructor like PushOp with 1+ ghost parameters and 0 non-ghost parameters // once caused the Java compiler to emit two 0-parameter constructors diff --git a/Test/git-issues/git-issue-1105.dfy.expect b/Test/git-issues/git-issue-1105.dfy.expect index 5c93be06c4f..85dd689b457 100644 --- a/Test/git-issues/git-issue-1105.dfy.expect +++ b/Test/git-issues/git-issue-1105.dfy.expect @@ -1,12 +1 @@ - -Dafny program verifier did not attempt verification -Op.PushOp() - -Dafny program verifier did not attempt verification -Op.PushOp - -Dafny program verifier did not attempt verification -Op.PushOp - -Dafny program verifier did not attempt verification Op.PushOp() diff --git a/Test/git-issues/git-issue-1129.dfy b/Test/git-issues/git-issue-1129.dfy index 4bfd5fc199a..d641592006b 100644 --- a/Test/git-issues/git-issue-1129.dfy +++ b/Test/git-issues/git-issue-1129.dfy @@ -1,3 +1,4 @@ +// NONUNIFORM: Program expected to fail in backend-specific ways // RUN: %dafny /compile:0 "%s" > "%t" // RUN: %exits-with 3 %dafny /noVerify /compile:4 /compileTarget:cs "%s" > "%t".abyss // RUN: %exits-with 3 %dafny /noVerify /compile:4 /compileTarget:java "%s" > "%t".abyss diff --git a/Test/git-issues/git-issue-1604.dfy b/Test/git-issues/git-issue-1604.dfy index 0891605b46f..6df392a97b5 100644 --- a/Test/git-issues/git-issue-1604.dfy +++ b/Test/git-issues/git-issue-1604.dfy @@ -1,8 +1,4 @@ -// RUN: %dafny /compile:4 /compileTarget:js "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:1 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" trait Tr { } class A extends Tr { } diff --git a/Test/git-issues/git-issue-1604.dfy.expect b/Test/git-issues/git-issue-1604.dfy.expect index 6c5215529dd..b5754e20373 100644 --- a/Test/git-issues/git-issue-1604.dfy.expect +++ b/Test/git-issues/git-issue-1604.dfy.expect @@ -1,9 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors -ok -Dafny program verifier did not attempt verification -ok -Dafny program verifier did not attempt verification -ok -Dafny program verifier did not attempt verification ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-1815b.dfy b/Test/git-issues/git-issue-1815b.dfy index c9019e48475..1b98de70f55 100644 --- a/Test/git-issues/git-issue-1815b.dfy +++ b/Test/git-issues/git-issue-1815b.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %exits-with 3 %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" datatype Y<+U> = Y(y: U) diff --git a/Test/git-issues/git-issue-1815b.dfy.expect b/Test/git-issues/git-issue-1815b.dfy.expect index f02fc57989a..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-1815b.dfy.expect +++ b/Test/git-issues/git-issue-1815b.dfy.expect @@ -1,10 +0,0 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-2173.dfy b/Test/git-issues/git-issue-2173.dfy index 84c4a31ced4..f1b552b84a0 100644 --- a/Test/git-issues/git-issue-2173.dfy +++ b/Test/git-issues/git-issue-2173.dfy @@ -1,4 +1,4 @@ -// RUN: %dafny /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %testDafnyForEachCompiler "%s" datatype T = Leaf(x: int) | T(t: T) { function {:tailrecursion} TR() : int { @@ -8,5 +8,5 @@ datatype T = Leaf(x: int) | T(t: T) { } method Main() { - print Leaf(0).TR(), '\n'; + print Leaf(0).TR(), "\n"; } diff --git a/Test/git-issues/git-issue-2173.dfy.expect b/Test/git-issues/git-issue-2173.dfy.expect index 9c08474e5a1..573541ac970 100644 --- a/Test/git-issues/git-issue-2173.dfy.expect +++ b/Test/git-issues/git-issue-2173.dfy.expect @@ -1,6 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors -Running... - 0 - diff --git a/Test/git-issues/git-issue-2216.dfy b/Test/git-issues/git-issue-2216.dfy index b36f8e16521..277af09736b 100644 --- a/Test/git-issues/git-issue-2216.dfy +++ b/Test/git-issues/git-issue-2216.dfy @@ -1,3 +1,4 @@ +// NONUNIFORM: Too slow on other backends // RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" const REPEAT := 100_000 diff --git a/Test/git-issues/git-issue-2367.dfy b/Test/git-issues/git-issue-2367.dfy index 47ca7789e94..51d40135a2a 100644 --- a/Test/git-issues/git-issue-2367.dfy +++ b/Test/git-issues/git-issue-2367.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %testDafnyForEachCompiler "%s" newtype IntSubset = i:int | true diff --git a/Test/git-issues/git-issue-2367.dfy.expect b/Test/git-issues/git-issue-2367.dfy.expect index 0e50cd7b378..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-2367.dfy.expect +++ b/Test/git-issues/git-issue-2367.dfy.expect @@ -1,4 +0,0 @@ - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-3744.dfy b/Test/git-issues/git-issue-3744.dfy index 1fba07d0984..1ac837a58d0 100644 --- a/Test/git-issues/git-issue-3744.dfy +++ b/Test/git-issues/git-issue-3744.dfy @@ -1,3 +1,4 @@ +// NONUNIFORM: Multiple test scenarios (could be split) // RUN: %baredafny test "%s" > "%t" // RUN: %baredafny run "%s" >> "%t" // RUN: %diff "%s.expect" "%t" diff --git a/Test/git-issues/git-issue-Main0.dfy b/Test/git-issues/git-issue-Main0.dfy index faead45c8a2..945b973ff52 100644 --- a/Test/git-issues/git-issue-Main0.dfy +++ b/Test/git-issues/git-issue-Main0.dfy @@ -1,3 +1,4 @@ +// NONUNIFORM: Multiple test scenarios (could be split) // RUN: %dafny /compile:0 "%s" > "%t" // RUN: %dafny /noVerify /compile:4 /compileTarget:cs /Main:A.B.Main "%s" >> "%t" // RUN: %dafny /noVerify /compile:4 /compileTarget:js /Main:A.B.Main "%s" >> "%t" diff --git a/Test/git-issues/git-issue-Main4.dfy b/Test/git-issues/git-issue-Main4.dfy index ad9d3987b0f..104a0929523 100644 --- a/Test/git-issues/git-issue-Main4.dfy +++ b/Test/git-issues/git-issue-Main4.dfy @@ -1,3 +1,4 @@ +// NONUNIFORM: Multiple test scenarios (could be split) // RUN: %dafny /compile:0 "%s" > "%t" // RUN: %dafny /noVerify /compile:4 /compileTarget:cs /Main:A.AA.Test "%s" >> "%t" // RUN: %dafny /noVerify /compile:4 /compileTarget:js /Main:A.AA.Test "%s" >> "%t" diff --git a/Test/git-issues/git-issue-MainE.dfy b/Test/git-issues/git-issue-MainE.dfy index b30774fed6b..e1f830f22cd 100644 --- a/Test/git-issues/git-issue-MainE.dfy +++ b/Test/git-issues/git-issue-MainE.dfy @@ -1,3 +1,4 @@ +// NONUNIFORM: Multiple test scenarios (could be split) // RUN: %dafny /compile:0 "%s" > "%t" // RUN: %exits-with 3 %dafny /noVerify /compile:4 /Main:A.Test "%s" >> "%t" // RUN: %exits-with 3 %dafny /noVerify /compile:4 /Main:B.Test "%s" >> "%t" diff --git a/Test/separate-verification/app.dfy b/Test/separate-verification/app.dfy index 45a7657a8d7..49d9c150012 100644 --- a/Test/separate-verification/app.dfy +++ b/Test/separate-verification/app.dfy @@ -1,3 +1,4 @@ +// NONUNIFORM: Multiple test scenarios - ideally would still test for each backend though // RUN: %baredafny build %args -t:lib %S/Inputs/wrappers.dfy > %t // RUN: %baredafny build %args -t:lib %S/Inputs/seq.dfy --library %S/Inputs/wrappers.doo >> %t diff --git a/Test/unicodechars/comp/CompileWithArguments.dfy b/Test/unicodechars/comp/CompileWithArguments.dfy index 8ad9d1970ff..2f4976ad46d 100644 --- a/Test/unicodechars/comp/CompileWithArguments.dfy +++ b/Test/unicodechars/comp/CompileWithArguments.dfy @@ -1,3 +1,4 @@ +// NONUNIFORM: Multiple testing scenarios, highly backend sensitive, testing CLI // Note that C++ is not supported yet // RUN: %dafny /compile:0 "%s" > "%t" From 422f950ccebb07d47b6d5483696855f28b96c92e Mon Sep 17 00:00:00 2001 From: Robin Salkeld Date: Thu, 1 Jun 2023 22:36:29 -0700 Subject: [PATCH 18/68] Restore .gitmodules --- .gitmodules | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitmodules b/.gitmodules index e69de29bb2d..90ba01b0d54 100644 --- a/.gitmodules +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "Test/libraries"] + path = Test/libraries + url = https://github.com/dafny-lang/libraries.git From d4fcd16246b02047d28b695ccf22044bc0a7ddf2 Mon Sep 17 00:00:00 2001 From: Robin Salkeld Date: Fri, 2 Jun 2023 06:56:23 -0700 Subject: [PATCH 19/68] Convert all tests --- Test/VerifyThis2015/Problem1.dfy | 3 +- Test/VerifyThis2015/Problem1.dfy.expect | 2 - Test/VerifyThis2015/Problem2.dfy | 3 +- Test/VerifyThis2015/Problem2.dfy.expect | 2 - Test/VerifyThis2015/Problem3.dfy | 3 +- Test/VerifyThis2015/Problem3.dfy.expect | 2 - Test/c++/arrays.dfy | 3 +- Test/c++/arrays.dfy.expect | 2 - Test/c++/bit-vectors.dfy | 3 +- Test/c++/bit-vectors.dfy.expect | 2 - Test/c++/class.dfy | 3 +- Test/c++/class.dfy.expect | 2 - Test/c++/const.dfy | 3 +- Test/c++/const.dfy.expect | 2 - Test/c++/datatypes.dfy | 3 +- Test/c++/datatypes.dfy.expect | 2 - Test/c++/generic.dfy | 3 +- Test/c++/generic.dfy.expect | 2 - Test/c++/hello.dfy | 3 +- Test/c++/hello.dfy.expect | 2 - Test/c++/ints.dfy | 3 +- Test/c++/ints.dfy.expect | 2 - Test/c++/maps.dfy | 3 +- Test/c++/maps.dfy.expect | 2 - Test/c++/recursion.dfy | 3 +- Test/c++/recursion.dfy.expect | 2 - Test/c++/returns.dfy | 3 +- Test/c++/returns.dfy.expect | 2 - Test/c++/seqs.dfy | 3 +- Test/c++/seqs.dfy.expect | 2 - Test/c++/sets.dfy | 3 +- Test/c++/sets.dfy.expect | 2 - Test/c++/while.dfy | 3 +- Test/c++/while.dfy.expect | 2 - Test/comp/Arrays.dfy | 9 +- Test/comp/Arrays.dfy.expect | 396 ------------ Test/comp/Arrays.dfy.go.expect | 96 +++ Test/comp/AsIs-Compile.dfy | 8 +- Test/comp/AsIs-Compile.dfy.expect | 160 ----- Test/comp/AutoInit.dfy | 8 +- Test/comp/AutoInit.dfy.expect | 160 ----- Test/comp/ByMethodCompilation.dfy | 8 +- Test/comp/ByMethodCompilation.dfy.expect | 32 - Test/comp/Calls.dfy | 8 +- Test/comp/Calls.dfy.expect | 40 -- Test/comp/Class.dfy | 8 +- Test/comp/Class.dfy.expect | 72 --- Test/comp/Collections.dfy | 9 +- Test/comp/Collections.dfy.expect | 512 ---------------- Test/comp/Collections.dfy.go.expect | 125 ++++ Test/comp/Collections.dfy.java.expect | 125 ++++ Test/comp/Collections.dfy.js.expect | 125 ++++ Test/comp/Collections.dfy.py.expect | 125 ++++ Test/comp/Comprehensions.dfy | 9 +- Test/comp/Comprehensions.dfy.expect | 260 -------- Test/comp/Comprehensions.dfy.py.expect | 62 ++ Test/comp/ComprehensionsNewSyntax.dfy | 9 +- Test/comp/ComprehensionsNewSyntax.dfy.expect | 148 ----- .../ComprehensionsNewSyntax.dfy.py.expect | 34 ++ Test/comp/CovariantCollections.dfy | 8 +- Test/comp/CovariantCollections.dfy.expect | 220 ------- Test/comp/Datatype.dfy | 9 +- Test/comp/Datatype.dfy.expect | 100 --- Test/comp/Datatype.dfy.java.expect | 22 + Test/comp/Datatype.dfy.py.expect | 22 + Test/comp/DefaultParameters-Compile.dfy | 8 +- .../comp/DefaultParameters-Compile.dfy.expect | 48 -- Test/comp/DowncastClone.dfy | 8 +- Test/comp/DowncastClone.dfy.expect | 40 -- Test/comp/ErasableTypeWrappers.dfy | 8 +- Test/comp/ErasableTypeWrappers.dfy.expect | 84 --- Test/comp/EuclideanDivision.dfy | 8 +- Test/comp/EuclideanDivision.dfy.expect | 36 -- Test/comp/ForLoops-Compilation.dfy | 8 +- Test/comp/ForLoops-Compilation.dfy.expect | 200 ------ Test/comp/ForallNewSyntax.dfy | 8 +- Test/comp/ForallNewSyntax.dfy.expect | 180 ------ Test/comp/Ghosts.dfy | 8 +- Test/comp/Ghosts.dfy.expect | 52 -- Test/comp/Let.dfy | 7 +- Test/comp/Let.dfy.expect | 34 -- Test/comp/MoreAutoInit.dfy | 8 +- Test/comp/MoreAutoInit.dfy.expect | 572 ------------------ Test/comp/NativeNumbers.dfy | 7 +- Test/comp/NativeNumbers.dfy.expect | 256 -------- Test/comp/NestedArrays.dfy | 7 +- Test/comp/NestedArrays.dfy.expect | 16 - Test/comp/Numbers.dfy | 9 +- Test/comp/Numbers.dfy.expect | 456 -------------- Test/comp/Numbers.dfy.go.expect | 111 ++++ Test/comp/Numbers.dfy.py.expect | 111 ++++ Test/comp/Poly.dfy | 9 +- Test/comp/Poly.dfy.expect | 60 -- Test/comp/Poly.dfy.go.expect | 12 + Test/comp/Poly.dfy.py.expect | 12 + Test/comp/Print.dfy | 8 +- Test/comp/Print.dfy.expect | 34 -- Test/comp/Print.dfy.go.expect | 8 + Test/comp/Print.dfy.java.expect | 8 + Test/comp/Print.dfy.js.expect | 8 + Test/comp/StaticMembersOfGenericTypes.dfy | 8 +- .../StaticMembersOfGenericTypes.dfy.expect | 76 --- Test/comp/TailRecursion.dfy | 8 +- Test/comp/TailRecursion.dfy.expect | 76 --- Test/comp/TypeDescriptors.dfy | 8 +- Test/comp/TypeDescriptors.dfy.expect | 152 ----- Test/comp/TypeParams.dfy | 11 +- Test/comp/TypeParams.dfy.expect | 88 --- Test/comp/TypeParams.dfy.go.expect | 19 + Test/comp/TypeParams.dfy.java.expect | 19 + Test/comp/TypeParams.dfy.js.expect | 19 + Test/comp/TypeParams.dfy.py.expect | 19 + Test/comp/UnoptimizedErasableTypeWrappers.dfy | 8 +- ...UnoptimizedErasableTypeWrappers.dfy.expect | 28 - Test/comp/Variance.dfy | 8 +- Test/comp/Variance.dfy.expect | 64 -- Test/comp/Various.dfy | 8 +- Test/comp/Various.dfy.expect | 40 -- Test/comp/firstSteps/0_IKnowThisMuchIs.dfy | 4 +- .../firstSteps/0_IKnowThisMuchIs.dfy.expect | 4 - Test/comp/firstSteps/1_Calls-F.dfy | 4 +- Test/comp/firstSteps/1_Calls-F.dfy.expect | 4 - Test/comp/firstSteps/2_Modules.dfy | 4 +- Test/comp/firstSteps/2_Modules.dfy.expect | 4 - Test/comp/firstSteps/3_Calls-As.dfy | 4 +- Test/comp/firstSteps/3_Calls-As.dfy.expect | 4 - .../4_Calls-FunctionsValues-Class+NT.dfy | 4 +- ..._Calls-FunctionsValues-Class+NT.dfy.expect | 4 - .../firstSteps/5_Calls-FunctionsValues-Dt.dfy | 4 +- .../5_Calls-FunctionsValues-Dt.dfy.expect | 4 - .../firstSteps/6_Calls-VariableCapture.dfy | 4 +- .../6_Calls-VariableCapture.dfy.expect | 4 - Test/comp/firstSteps/7_Arrays.dfy | 4 +- Test/comp/firstSteps/7_Arrays.dfy.expect | 4 - Test/comp/firstSteps/7_Dt_Algebraic.dfy | 6 +- .../firstSteps/7_Dt_Algebraic.dfy.cs.expect | 11 + .../comp/firstSteps/7_Dt_Algebraic.dfy.expect | 17 - Test/dafny0/ArrayElementInitCompile.dfy | 8 +- .../dafny0/ArrayElementInitCompile.dfy.expect | 76 --- Test/dafny0/Bitvectors.dfy | 5 +- Test/dafny0/Bitvectors.dfy.expect | 490 --------------- Test/dafny0/Compilation.dfy | 3 +- Test/dafny0/Compilation.dfy.expect | 2 - Test/dafny0/Constant.dfy | 3 +- Test/dafny0/Constant.dfy.expect | 2 - Test/dafny0/Deprecation.dfy | 3 +- Test/dafny0/Deprecation.dfy.expect | 7 - Test/dafny0/DiscoverBounds.dfy | 3 +- Test/dafny0/DiscoverBounds.dfy.expect | 7 - Test/dafny0/DividedConstructors.dfy | 3 +- Test/dafny0/DividedConstructors.dfy.expect | 186 ------ Test/dafny0/EqualityTypesCompile.dfy | 3 +- Test/dafny0/EqualityTypesCompile.dfy.expect | 2 - Test/dafny0/ForallCompilation.dfy | 3 +- Test/dafny0/ForallCompilation.dfy.expect | 2 - Test/dafny0/ForallCompilationNewSyntax.dfy | 3 +- .../ForallCompilationNewSyntax.dfy.expect | 6 - Test/dafny0/GhostGuards.dfy | 3 +- Test/dafny0/GhostGuards.dfy.expect | 7 - Test/dafny0/GhostITECompilation.dfy | 8 +- Test/dafny0/GhostITECompilation.dfy.expect | 28 - Test/dafny0/InitialValues.dfy | 3 +- Test/dafny0/InitialValues.dfy.expect | 2 - Test/dafny0/MatchBraces.dfy | 5 +- Test/dafny0/MatchBraces.dfy.expect | 133 ---- Test/dafny0/MoForallCompilation.dfy | 3 +- Test/dafny0/MoForallCompilation.dfy.expect | 2 - Test/dafny0/NameclashesCompile.dfy | 3 +- Test/dafny0/NameclashesCompile.dfy.expect | 2 - Test/dafny0/NonZeroInitializationCompile.dfy | 7 +- .../NonZeroInitializationCompile.dfy.expect | 73 --- Test/dafny0/NullComparisonWarnings.dfy | 3 +- Test/dafny0/NullComparisonWarnings.dfy.expect | 13 - Test/dafny0/PrintUTF8.dfy | 3 +- Test/dafny0/PrintUTF8.dfy.expect | 2 - Test/dafny0/RangeCompilation.dfy | 3 +- Test/dafny0/RangeCompilation.dfy.expect | 2 - Test/dafny0/SeqFromArray.dfy | 3 +- Test/dafny0/SeqFromArray.dfy.expect | 2 - Test/dafny0/SharedDestructorsCompile.dfy | 5 +- .../SharedDestructorsCompile.dfy.expect | 17 - Test/dafny0/SiblingImports.dfy | 3 +- Test/dafny0/SiblingImports.dfy.expect | 2 - Test/dafny0/TypeConversionsCompile.dfy | 3 +- Test/dafny0/TypeConversionsCompile.dfy.expect | 225 ------- Test/dafny0/TypeMembers.dfy | 5 +- Test/dafny0/TypeMembers.dfy.expect | 29 - Test/dafny0/TypeMembers.dfy.verifier.expect | 1 + Test/dafny0/Wellfounded.dfy | 3 +- Test/dafny0/Wellfounded.dfy.expect | 4 - Test/dafny2/MinWindowMax.dfy | 3 +- Test/dafny2/MinWindowMax.dfy.expect | 2 - .../SmallestMissingNumber-functional.dfy | 3 +- ...mallestMissingNumber-functional.dfy.expect | 3 - .../SmallestMissingNumber-imperative.dfy | 3 +- ...mallestMissingNumber-imperative.dfy.expect | 2 - Test/dafny2/StoreAndRetrieve.dfy | 7 +- Test/dafny2/StoreAndRetrieve.dfy.expect | 38 -- .../StoreAndRetrieve.dfy.verifier.expect | 5 + Test/dafny2/Z-BirthdayBook.dfy | 3 +- Test/dafny2/Z-BirthdayBook.dfy.expect | 2 - Test/dafny2/pq-intrinsic-extrinsic.dfy | 5 +- Test/dafny2/pq-intrinsic-extrinsic.dfy.expect | 11 - Test/dafny3/Abstemious.dfy | 3 +- Test/dafny3/Abstemious.dfy.expect | 2 - Test/dafny3/CachedContainer.dfy | 7 +- Test/dafny3/CachedContainer.dfy.expect | 78 --- .../CachedContainer.dfy.verifier.expect | 13 + Test/dafny3/Iter.dfy | 3 +- Test/dafny3/Iter.dfy.expect | 2 - Test/dafny4/Ackermann.dfy | 3 +- Test/dafny4/Ackermann.dfy.expect | 4 - Test/dafny4/Bug107.dfy | 3 +- Test/dafny4/Bug107.dfy.expect | 2 - Test/dafny4/Bug108.dfy | 3 +- Test/dafny4/Bug108.dfy.expect | 2 - Test/dafny4/Bug113.dfy | 5 +- Test/dafny4/Bug113.dfy.expect | 2 - Test/dafny4/Bug116.dfy | 3 +- Test/dafny4/Bug116.dfy.expect | 2 - Test/dafny4/Bug140.dfy | 3 +- Test/dafny4/Bug140.dfy.expect | 2 - Test/dafny4/Bug148.dfy | 3 +- Test/dafny4/Bug148.dfy.expect | 2 - Test/dafny4/Bug49.dfy | 3 +- Test/dafny4/Bug49.dfy.expect | 2 - Test/dafny4/Bug60.dfy | 3 +- Test/dafny4/Bug60.dfy.expect | 2 - Test/dafny4/Bug67.dfy | 5 +- Test/dafny4/Bug67.dfy.expect | 2 - Test/dafny4/Bug68.dfy | 5 +- Test/dafny4/Bug68.dfy.expect | 2 - Test/dafny4/Bug89.dfy | 3 +- Test/dafny4/Bug89.dfy.expect | 2 - Test/dafny4/Bug94.dfy | 3 +- Test/dafny4/Bug94.dfy.expect | 2 - Test/dafny4/ClassRefinement.dfy | 7 +- Test/dafny4/ClassRefinement.dfy.expect | 43 -- .../ClassRefinement.dfy.verifier.expect | 6 + Test/dafny4/ExpandedGuardedness.dfy | 3 +- Test/dafny4/ExpandedGuardedness.dfy.expect | 2 - Test/dafny4/FlyingRobots.dfy | 3 +- Test/dafny4/FlyingRobots.dfy.expect | 2 - Test/dafny4/Leq.dfy | 3 +- Test/dafny4/Leq.dfy.expect | 2 - Test/dafny4/McCarthy91.dfy | 3 +- Test/dafny4/McCarthy91.dfy.expect | 2 - Test/dafny4/NatList.dfy | 3 +- Test/dafny4/NatList.dfy.expect | 2 - Test/dafny4/Regression15.dfy | 3 +- Test/dafny4/Regression15.dfy.expect | 2 - Test/dafny4/Regression2.dfy | 3 +- Test/dafny4/Regression2.dfy.expect | 2 - Test/dafny4/Regression3.dfy | 3 +- Test/dafny4/Regression3.dfy.expect | 2 - Test/dafny4/Regression4.dfy | 3 +- Test/dafny4/Regression4.dfy.expect | 2 - Test/dafny4/Regression6.dfy | 3 +- Test/dafny4/Regression6.dfy.expect | 2 - Test/dafny4/Regression7.dfy | 3 +- Test/dafny4/Regression7.dfy.expect | 2 - Test/dafny4/Regression9.dfy | 3 +- Test/dafny4/Regression9.dfy.expect | 2 - Test/dafny4/UnionFind.dfy | 3 +- Test/dafny4/UnionFind.dfy.expect | 2 - Test/dafny4/gcd.dfy | 7 +- Test/dafny4/gcd.dfy.expect | 31 - Test/dafny4/git-issue104.dfy | 8 +- Test/dafny4/git-issue104.dfy.expect | 16 - Test/dafny4/git-issue105.dfy | 3 +- Test/dafny4/git-issue105.dfy.expect | 2 - Test/dafny4/git-issue15.dfy | 3 +- Test/dafny4/git-issue15.dfy.expect | 2 - Test/dafny4/git-issue167.dfy | 3 +- Test/dafny4/git-issue167.dfy.expect | 2 - Test/dafny4/git-issue195.dfy | 3 +- Test/dafny4/git-issue195.dfy.expect | 2 - Test/dafny4/git-issue196.dfy | 3 +- Test/dafny4/git-issue196.dfy.expect | 2 - Test/dafny4/git-issue4.dfy | 3 +- Test/dafny4/git-issue4.dfy.expect | 2 - Test/dafny4/git-issue43.dfy | 3 +- Test/dafny4/git-issue43.dfy.expect | 2 - Test/dafny4/git-issue70.dfy | 3 +- Test/dafny4/git-issue70.dfy.expect | 2 - Test/dafny4/git-issue76.dfy | 5 +- Test/dafny4/git-issue76.dfy.expect | 7 - Test/dafny4/git-issue79.dfy | 3 +- Test/dafny4/git-issue79.dfy.expect | 2 - Test/dafny4/git-issue88.dfy | 3 +- Test/dafny4/git-issue88.dfy.expect | 2 - Test/exceptions/Exceptions1.dfy | 3 +- Test/exceptions/Exceptions1.dfy.expect | 2 - Test/exceptions/Exceptions1Expressions.dfy | 3 +- .../Exceptions1Expressions.dfy.expect | 2 - Test/exports/FIFO.dfy | 3 +- Test/exports/FIFO.dfy.expect | 2 - Test/exports/LIFO.dfy | 3 +- Test/exports/LIFO.dfy.expect | 2 - Test/exports/xrefine2.dfy | 3 +- Test/exports/xrefine2.dfy.expect | 2 - Test/exports/xrefine3.dfy | 3 +- Test/exports/xrefine3.dfy.expect | 2 - Test/git-issues/git-issue-032.dfy | 7 +- Test/git-issues/git-issue-032.dfy.expect | 37 -- .../git-issue-032.dfy.verifier.expect | 3 + Test/git-issues/git-issue-1029.dfy | 3 +- Test/git-issues/git-issue-1029.dfy.expect | 2 - Test/git-issues/git-issue-1093.dfy | 8 +- Test/git-issues/git-issue-1093.dfy.expect | 16 - Test/git-issues/git-issue-1100.dfy | 3 +- Test/git-issues/git-issue-1100.dfy.expect | 2 - Test/git-issues/git-issue-1130.dfy | 3 +- Test/git-issues/git-issue-1130.dfy.expect | 2 - Test/git-issues/git-issue-1150.dfy | 3 +- Test/git-issues/git-issue-1150.dfy.expect | 2 - Test/git-issues/git-issue-1185.dfy | 8 +- Test/git-issues/git-issue-1185.dfy.expect | 13 - .../git-issues/git-issue-1185.dfy.java.expect | 1 + Test/git-issues/git-issue-1514.dfy | 3 +- Test/git-issues/git-issue-1514.dfy.expect | 2 - Test/git-issues/git-issue-1514b.dfy | 3 +- Test/git-issues/git-issue-1514b.dfy.expect | 2 - Test/git-issues/git-issue-1514c.dfy | 5 +- Test/git-issues/git-issue-1514c.dfy.expect | 7 - Test/git-issues/git-issue-1553.dfy | 7 +- Test/git-issues/git-issue-1553.dfy.expect | 10 - Test/git-issues/git-issue-1604b.dfy | 3 +- Test/git-issues/git-issue-1604b.dfy.expect | 2 - Test/git-issues/git-issue-1714.dfy | 3 +- Test/git-issues/git-issue-1714.dfy.expect | 2 - Test/git-issues/git-issue-179.dfy | 8 +- Test/git-issues/git-issue-179.dfy.expect | 22 - Test/git-issues/git-issue-179.dfy.go.expect | 4 + Test/git-issues/git-issue-179.dfy.java.expect | 4 + Test/git-issues/git-issue-179.dfy.js.expect | 4 + Test/git-issues/git-issue-1815a.dfy | 8 +- Test/git-issues/git-issue-1815a.dfy.expect | 16 - Test/git-issues/git-issue-1852.dfy | 5 +- Test/git-issues/git-issue-1852.dfy.expect | 7 - Test/git-issues/git-issue-1903.dfy | 3 +- Test/git-issues/git-issue-1903.dfy.expect | 2 - Test/git-issues/git-issue-1909.dfy | 3 +- Test/git-issues/git-issue-1909.dfy.expect | 2 - Test/git-issues/git-issue-2013.dfy | 8 +- Test/git-issues/git-issue-2013.dfy.expect | 52 -- Test/git-issues/git-issue-2441.dfy | 5 +- Test/git-issues/git-issue-2441.dfy.expect | 6 - Test/git-issues/git-issue-2510.dfy | 3 +- Test/git-issues/git-issue-2510.dfy.expect | 2 - Test/git-issues/git-issue-258.dfy | 8 +- Test/git-issues/git-issue-258.dfy.expect | 73 --- Test/git-issues/git-issue-258.dfy.go.expect | 21 + Test/git-issues/git-issue-258.dfy.js.expect | 21 + Test/git-issues/git-issue-2608.dfy | 3 +- Test/git-issues/git-issue-2608.dfy.expect | 2 - Test/git-issues/git-issue-262.dfy | 7 +- Test/git-issues/git-issue-262.dfy.expect | 18 - Test/git-issues/git-issue-262.dfy.go.expect | 2 + Test/git-issues/git-issue-262.dfy.java.expect | 2 + Test/git-issues/git-issue-262.dfy.js.expect | 6 + Test/git-issues/git-issue-267.dfy | 7 +- Test/git-issues/git-issue-267.dfy.expect | 13 - Test/git-issues/git-issue-2672.dfy | 8 +- Test/git-issues/git-issue-2672.dfy.expect | 44 -- Test/git-issues/git-issue-2726a.dfy | 3 +- Test/git-issues/git-issue-2726a.dfy.expect | 2 - Test/git-issues/git-issue-2733.dfy | 9 +- Test/git-issues/git-issue-2733.dfy.expect | 14 - Test/git-issues/git-issue-2792.dfy | 3 +- Test/git-issues/git-issue-2792.dfy.expect | 2 - Test/git-issues/git-issue-283.dfy | 7 +- Test/git-issues/git-issue-283.dfy.expect | 13 - Test/git-issues/git-issue-283d.dfy | 7 +- Test/git-issues/git-issue-283d.dfy.expect | 10 - Test/git-issues/git-issue-314.dfy | 7 +- Test/git-issues/git-issue-314.dfy.expect | 10 - Test/git-issues/git-issue-332.dfy | 3 +- Test/git-issues/git-issue-332.dfy.expect | 2 - Test/git-issues/git-issue-354.dfy | 7 +- Test/git-issues/git-issue-354.dfy.expect | 22 - Test/git-issues/git-issue-356.dfy | 8 +- Test/git-issues/git-issue-356.dfy.expect | 36 -- Test/git-issues/git-issue-364.dfy | 3 +- Test/git-issues/git-issue-364.dfy.expect | 2 - Test/git-issues/git-issue-374.dfy | 7 +- Test/git-issues/git-issue-374.dfy.expect | 10 - Test/git-issues/git-issue-396.dfy | 6 +- Test/git-issues/git-issue-396.dfy.expect | 11 - Test/git-issues/git-issue-4007.dfy | 5 +- Test/git-issues/git-issue-4007.dfy.expect | 3 - Test/git-issues/git-issue-4012.dfy | 5 +- Test/git-issues/git-issue-4012.dfy.expect | 2 - Test/git-issues/git-issue-425.dfy | 7 +- Test/git-issues/git-issue-425.dfy.expect | 16 - Test/git-issues/git-issue-443.dfy | 3 +- Test/git-issues/git-issue-443.dfy.expect | 2 - Test/git-issues/git-issue-446.dfy | 7 +- Test/git-issues/git-issue-446.dfy.expect | 19 - Test/git-issues/git-issue-446a.dfy | 7 +- Test/git-issues/git-issue-446a.dfy.expect | 19 - Test/git-issues/git-issue-446b.dfy | 7 +- Test/git-issues/git-issue-446b.dfy.expect | 25 - Test/git-issues/git-issue-478-good.dfy | 3 +- Test/git-issues/git-issue-478-good.dfy.expect | 2 - Test/git-issues/git-issue-506.dfy | 6 +- Test/git-issues/git-issue-506.dfy.expect | 26 - Test/git-issues/git-issue-532.dfy | 7 +- Test/git-issues/git-issue-532.dfy.expect | 19 - Test/git-issues/git-issue-549.dfy | 5 +- Test/git-issues/git-issue-549.dfy.expect | 8 - Test/git-issues/git-issue-622$f.dfy | 3 +- Test/git-issues/git-issue-622$f.dfy.expect | 2 - Test/git-issues/git-issue-633.dfy | 7 +- Test/git-issues/git-issue-633.dfy.expect | 10 - Test/git-issues/git-issue-684.dfy | 7 +- Test/git-issues/git-issue-684.dfy.expect | 10 - Test/git-issues/git-issue-686.dfy | 7 +- Test/git-issues/git-issue-686.dfy.expect | 23 - .../git-issue-686.dfy.verifier.expect | 2 + Test/git-issues/git-issue-697.dfy | 3 +- Test/git-issues/git-issue-697.dfy.expect | 2 - Test/git-issues/git-issue-697b.dfy | 3 +- Test/git-issues/git-issue-697b.dfy.expect | 2 - Test/git-issues/git-issue-697d.dfy | 3 +- Test/git-issues/git-issue-697d.dfy.expect | 2 - Test/git-issues/git-issue-697e.dfy | 3 +- Test/git-issues/git-issue-697e.dfy.expect | 2 - Test/git-issues/git-issue-697f.dfy | 3 +- Test/git-issues/git-issue-697f.dfy.expect | 2 - Test/git-issues/git-issue-697g.dfy | 3 +- Test/git-issues/git-issue-697g.dfy.expect | 2 - Test/git-issues/git-issue-698.dfy | 5 +- Test/git-issues/git-issue-698.dfy.expect | 7 - Test/git-issues/git-issue-698b.dfy | 5 +- Test/git-issues/git-issue-698b.dfy.expect | 2 - Test/git-issues/git-issue-701.dfy | 7 +- Test/git-issues/git-issue-701.dfy.expect | 19 - Test/git-issues/git-issue-705.dfy | 7 +- Test/git-issues/git-issue-705.dfy.expect | 13 - Test/git-issues/git-issue-731.dfy | 7 +- Test/git-issues/git-issue-731.dfy.expect | 16 - Test/git-issues/git-issue-731b.dfy | 7 +- Test/git-issues/git-issue-731b.dfy.expect | 13 - Test/git-issues/git-issue-755.dfy | 8 +- Test/git-issues/git-issue-755.dfy.expect | 31 - Test/git-issues/git-issue-755.dfy.go.expect | 7 + Test/git-issues/git-issue-755.dfy.java.expect | 7 + Test/git-issues/git-issue-755.dfy.js.expect | 7 + Test/git-issues/git-issue-784.dfy | 7 +- Test/git-issues/git-issue-784.dfy.expect | 10 - Test/git-issues/git-issue-953.dfy | 8 +- Test/git-issues/git-issue-953.dfy.expect | 36 -- Test/git-issues/github-issue-3343.dfy | 3 +- Test/git-issues/github-issue-3343.dfy.expect | 2 - Test/hofs/Compilation.dfy | 3 +- Test/hofs/Compilation.dfy.expect | 2 - Test/hofs/Examples.dfy | 3 +- Test/hofs/Examples.dfy.expect | 2 - Test/hofs/Fold.dfy | 3 +- Test/hofs/Fold.dfy.expect | 2 - Test/hofs/Folding.dfy | 3 +- Test/hofs/Folding.dfy.expect | 2 - Test/hofs/Renaming.dfy | 3 +- Test/hofs/Renaming.dfy.expect | 2 - Test/hofs/Requires.dfy | 3 +- Test/hofs/Requires.dfy.expect | 2 - Test/hofs/TreeMapSimple.dfy | 3 +- Test/hofs/TreeMapSimple.dfy.expect | 2 - Test/hofs/VectorUpdate.dfy | 3 +- Test/hofs/VectorUpdate.dfy.expect | 2 - Test/hofs/WhileLoop.dfy | 3 +- Test/hofs/WhileLoop.dfy.expect | 2 - Test/irondafny0/optimize0.dfy | 3 +- Test/irondafny0/optimize0.dfy.expect | 2 - Test/metatests/OutputEncoding.dfy | 8 +- Test/metatests/OutputEncoding.dfy.expect | 16 - Test/patterns/OrPatterns.dfy | 3 +- Test/patterns/OrPatterns.dfy.expect | 2 - Test/patterns/PatternMatching.dfy | 5 +- Test/patterns/PatternMatching.dfy.expect | 3 - Test/traits/TraitCompile.dfy | 10 +- Test/traits/TraitCompile.dfy.expect | 256 -------- Test/traits/TraitExample.dfy | 3 +- Test/traits/TraitExample.dfy.expect | 2 - Test/traits/Traits-Fields.dfy | 3 +- Test/traits/Traits-Fields.dfy.expect | 2 - Test/traits/TraitsMultipleInheritance.dfy | 3 +- .../TraitsMultipleInheritance.dfy.expect | 2 - Test/unicodechars/comp/Collections.dfy | 9 +- Test/unicodechars/comp/Collections.dfy.expect | 512 ---------------- .../comp/Collections.dfy.go.expect | 125 ++++ .../comp/Collections.dfy.java.expect | 125 ++++ .../comp/Collections.dfy.js.expect | 125 ++++ .../comp/Collections.dfy.py.expect | 125 ++++ Test/unicodechars/comp/Comprehensions.dfy | 11 +- .../comp/Comprehensions.dfy.expect | 260 -------- .../comp/Comprehensions.dfy.py.expect | 62 ++ Test/unicodechars/comp/NativeNumbers.dfy | 9 +- .../comp/NativeNumbers.dfy.expect | 256 -------- Test/unicodechars/comp/Numbers.dfy | 11 +- Test/unicodechars/comp/Numbers.dfy.expect | 456 -------------- Test/unicodechars/comp/Numbers.dfy.go.expect | 111 ++++ Test/unicodechars/comp/Numbers.dfy.py.expect | 111 ++++ 504 files changed, 2252 insertions(+), 9914 deletions(-) create mode 100644 Test/comp/Arrays.dfy.go.expect create mode 100644 Test/comp/Collections.dfy.go.expect create mode 100644 Test/comp/Collections.dfy.java.expect create mode 100644 Test/comp/Collections.dfy.js.expect create mode 100644 Test/comp/Collections.dfy.py.expect create mode 100644 Test/comp/Comprehensions.dfy.py.expect create mode 100644 Test/comp/ComprehensionsNewSyntax.dfy.py.expect create mode 100644 Test/comp/Datatype.dfy.java.expect create mode 100644 Test/comp/Datatype.dfy.py.expect create mode 100644 Test/comp/Numbers.dfy.go.expect create mode 100644 Test/comp/Numbers.dfy.py.expect create mode 100644 Test/comp/Poly.dfy.go.expect create mode 100644 Test/comp/Poly.dfy.py.expect create mode 100644 Test/comp/Print.dfy.go.expect create mode 100644 Test/comp/Print.dfy.java.expect create mode 100644 Test/comp/Print.dfy.js.expect create mode 100644 Test/comp/TypeParams.dfy.go.expect create mode 100644 Test/comp/TypeParams.dfy.java.expect create mode 100644 Test/comp/TypeParams.dfy.js.expect create mode 100644 Test/comp/TypeParams.dfy.py.expect create mode 100644 Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect create mode 100644 Test/dafny0/TypeMembers.dfy.verifier.expect create mode 100644 Test/dafny2/StoreAndRetrieve.dfy.verifier.expect create mode 100644 Test/dafny3/CachedContainer.dfy.verifier.expect create mode 100644 Test/dafny4/ClassRefinement.dfy.verifier.expect create mode 100644 Test/git-issues/git-issue-032.dfy.verifier.expect create mode 100644 Test/git-issues/git-issue-1185.dfy.java.expect create mode 100644 Test/git-issues/git-issue-179.dfy.go.expect create mode 100644 Test/git-issues/git-issue-179.dfy.java.expect create mode 100644 Test/git-issues/git-issue-179.dfy.js.expect create mode 100644 Test/git-issues/git-issue-258.dfy.go.expect create mode 100644 Test/git-issues/git-issue-258.dfy.js.expect create mode 100644 Test/git-issues/git-issue-262.dfy.go.expect create mode 100644 Test/git-issues/git-issue-262.dfy.java.expect create mode 100644 Test/git-issues/git-issue-262.dfy.js.expect create mode 100644 Test/git-issues/git-issue-686.dfy.verifier.expect create mode 100644 Test/git-issues/git-issue-755.dfy.go.expect create mode 100644 Test/git-issues/git-issue-755.dfy.java.expect create mode 100644 Test/git-issues/git-issue-755.dfy.js.expect create mode 100644 Test/unicodechars/comp/Collections.dfy.go.expect create mode 100644 Test/unicodechars/comp/Collections.dfy.java.expect create mode 100644 Test/unicodechars/comp/Collections.dfy.js.expect create mode 100644 Test/unicodechars/comp/Collections.dfy.py.expect create mode 100644 Test/unicodechars/comp/Comprehensions.dfy.py.expect create mode 100644 Test/unicodechars/comp/Numbers.dfy.go.expect create mode 100644 Test/unicodechars/comp/Numbers.dfy.py.expect diff --git a/Test/VerifyThis2015/Problem1.dfy b/Test/VerifyThis2015/Problem1.dfy index 20bd154ab8d..ab227e1ab85 100644 --- a/Test/VerifyThis2015/Problem1.dfy +++ b/Test/VerifyThis2015/Problem1.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Rustan Leino // 12 April 2015 diff --git a/Test/VerifyThis2015/Problem1.dfy.expect b/Test/VerifyThis2015/Problem1.dfy.expect index 110dd45761d..9e8a46acf90 100644 --- a/Test/VerifyThis2015/Problem1.dfy.expect +++ b/Test/VerifyThis2015/Problem1.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 18 verified, 0 errors true true false diff --git a/Test/VerifyThis2015/Problem2.dfy b/Test/VerifyThis2015/Problem2.dfy index 7466df6d410..9b57395e68b 100644 --- a/Test/VerifyThis2015/Problem2.dfy +++ b/Test/VerifyThis2015/Problem2.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Rustan Leino // 13 April 2015, and many subsequent enhancements and revisions diff --git a/Test/VerifyThis2015/Problem2.dfy.expect b/Test/VerifyThis2015/Problem2.dfy.expect index b49c1470365..e69de29bb2d 100644 --- a/Test/VerifyThis2015/Problem2.dfy.expect +++ b/Test/VerifyThis2015/Problem2.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 32 verified, 0 errors diff --git a/Test/VerifyThis2015/Problem3.dfy b/Test/VerifyThis2015/Problem3.dfy index 3be60b5d81a..1348acf0f4d 100644 --- a/Test/VerifyThis2015/Problem3.dfy +++ b/Test/VerifyThis2015/Problem3.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Rustan Leino // 12 April 2015 // VerifyThis 2015 diff --git a/Test/VerifyThis2015/Problem3.dfy.expect b/Test/VerifyThis2015/Problem3.dfy.expect index 4bb1c2c7251..e69de29bb2d 100644 --- a/Test/VerifyThis2015/Problem3.dfy.expect +++ b/Test/VerifyThis2015/Problem3.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 18 verified, 0 errors diff --git a/Test/c++/arrays.dfy b/Test/c++/arrays.dfy index 47140146468..a02b57e5ff8 100644 --- a/Test/c++/arrays.dfy +++ b/Test/c++/arrays.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/arrays.dfy.expect b/Test/c++/arrays.dfy.expect index 552f9355593..2ce9320d8c2 100644 --- a/Test/c++/arrays.dfy.expect +++ b/Test/c++/arrays.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 9 verified, 0 errors 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/c++/bit-vectors.dfy b/Test/c++/bit-vectors.dfy index b7f5d35df07..d27469e4ca5 100644 --- a/Test/c++/bit-vectors.dfy +++ b/Test/c++/bit-vectors.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint64 = i:int | 0 <= i < 0x10000000000000000 diff --git a/Test/c++/bit-vectors.dfy.expect b/Test/c++/bit-vectors.dfy.expect index e327aa2f73b..c491236b12b 100644 --- a/Test/c++/bit-vectors.dfy.expect +++ b/Test/c++/bit-vectors.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 6 verified, 0 errors 084841024 diff --git a/Test/c++/class.dfy b/Test/c++/class.dfy index 3039bd0466b..b10d703c981 100644 --- a/Test/c++/class.dfy +++ b/Test/c++/class.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/class.dfy.expect b/Test/c++/class.dfy.expect index 93717ecfa9e..80f1587d0a2 100644 --- a/Test/c++/class.dfy.expect +++ b/Test/c++/class.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 16 verified, 0 errors true true false 103 102 102 106 105 105 203 17 0 18 8 9 69 70 diff --git a/Test/c++/const.dfy b/Test/c++/const.dfy index 5ab9a62e0e9..1bfb79f0361 100644 --- a/Test/c++/const.dfy +++ b/Test/c++/const.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false module Holder { const x:bool := false diff --git a/Test/c++/const.dfy.expect b/Test/c++/const.dfy.expect index 823a60a105c..e69de29bb2d 100644 --- a/Test/c++/const.dfy.expect +++ b/Test/c++/const.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 1 verified, 0 errors diff --git a/Test/c++/datatypes.dfy b/Test/c++/datatypes.dfy index 9d077b97575..f56b7907cc3 100644 --- a/Test/c++/datatypes.dfy +++ b/Test/c++/datatypes.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/datatypes.dfy.expect b/Test/c++/datatypes.dfy.expect index efa71b43546..c122f5af791 100644 --- a/Test/c++/datatypes.dfy.expect +++ b/Test/c++/datatypes.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 12 verified, 0 errors Case A: 42 Case B: true This is expected diff --git a/Test/c++/generic.dfy b/Test/c++/generic.dfy index 7995928f93f..374c545b9c1 100644 --- a/Test/c++/generic.dfy +++ b/Test/c++/generic.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false class Test { var t:T diff --git a/Test/c++/generic.dfy.expect b/Test/c++/generic.dfy.expect index 00a51f822da..e69de29bb2d 100644 --- a/Test/c++/generic.dfy.expect +++ b/Test/c++/generic.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 3 verified, 0 errors diff --git a/Test/c++/hello.dfy b/Test/c++/hello.dfy index c887337c7e1..523d3152209 100644 --- a/Test/c++/hello.dfy +++ b/Test/c++/hello.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false method Main() { print "Hello world\n"; diff --git a/Test/c++/hello.dfy.expect b/Test/c++/hello.dfy.expect index 87101fec036..802992c4220 100644 --- a/Test/c++/hello.dfy.expect +++ b/Test/c++/hello.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors Hello world diff --git a/Test/c++/ints.dfy b/Test/c++/ints.dfy index cf7ae63e0da..4490a54817a 100644 --- a/Test/c++/ints.dfy +++ b/Test/c++/ints.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype sbyte = i:int | -0x80 <= i < 0x80 newtype byte = i:int | 0 <= i < 0x100 diff --git a/Test/c++/ints.dfy.expect b/Test/c++/ints.dfy.expect index aeabccf73b0..5fcb7b811cb 100644 --- a/Test/c++/ints.dfy.expect +++ b/Test/c++/ints.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 15 verified, 0 errors Result is z = 42 diff --git a/Test/c++/maps.dfy b/Test/c++/maps.dfy index 951d34e96f1..b88ebd56ad5 100644 --- a/Test/c++/maps.dfy +++ b/Test/c++/maps.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/maps.dfy.expect b/Test/c++/maps.dfy.expect index 482aa604356..80642c23257 100644 --- a/Test/c++/maps.dfy.expect +++ b/Test/c++/maps.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 9 verified, 0 errors Identity: This is expected ValuesIdentity: This is expected KeyMembership: This is expected diff --git a/Test/c++/recursion.dfy b/Test/c++/recursion.dfy index e255b8e6b08..36048aab527 100644 --- a/Test/c++/recursion.dfy +++ b/Test/c++/recursion.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/recursion.dfy.expect b/Test/c++/recursion.dfy.expect index 15dbfe2bcd1..1ea14926e89 100644 --- a/Test/c++/recursion.dfy.expect +++ b/Test/c++/recursion.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors x !y 3 diff --git a/Test/c++/returns.dfy b/Test/c++/returns.dfy index 1ad19a8ce83..9e23121d26a 100644 --- a/Test/c++/returns.dfy +++ b/Test/c++/returns.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint64 = i:int | 0 <= i < 0x10000000000000000 diff --git a/Test/c++/returns.dfy.expect b/Test/c++/returns.dfy.expect index 8db105eaba8..48082f72f08 100644 --- a/Test/c++/returns.dfy.expect +++ b/Test/c++/returns.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors 12 diff --git a/Test/c++/seqs.dfy b/Test/c++/seqs.dfy index f97a42b2851..903208b07f8 100644 --- a/Test/c++/seqs.dfy +++ b/Test/c++/seqs.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint8 = i:int | 0 <= i < 0x100 newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/seqs.dfy.expect b/Test/c++/seqs.dfy.expect index 23f01695bc9..16f5f9d22ea 100644 --- a/Test/c++/seqs.dfy.expect +++ b/Test/c++/seqs.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 11 verified, 0 errors Head second:2 Trunc first:2 Head trunc: This is expected diff --git a/Test/c++/sets.dfy b/Test/c++/sets.dfy index 5bfb6f80f1e..10e2fe0501d 100644 --- a/Test/c++/sets.dfy +++ b/Test/c++/sets.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/sets.dfy.expect b/Test/c++/sets.dfy.expect index 1c8ede8765e..52a1e67717e 100644 --- a/Test/c++/sets.dfy.expect +++ b/Test/c++/sets.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 8 verified, 0 errors Identity: This is expected ValuesIdentity: This is expected DiffIdentity: This is expected diff --git a/Test/c++/while.dfy b/Test/c++/while.dfy index 40dc4699d11..0c0d7ee98df 100644 --- a/Test/c++/while.dfy +++ b/Test/c++/while.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/while.dfy.expect b/Test/c++/while.dfy.expect index 8dfe872ca51..9a44de1e2a3 100644 --- a/Test/c++/while.dfy.expect +++ b/Test/c++/while.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 2 verified, 0 errors 0 1 2 diff --git a/Test/comp/Arrays.dfy b/Test/comp/Arrays.dfy index 566f052e0a6..acb4225b358 100644 --- a/Test/comp/Arrays.dfy +++ b/Test/comp/Arrays.dfy @@ -1,10 +1,5 @@ -// RUN: %baredafny verify %args --relax-definite-assignment "%s" > "%t" -// RUN: %baredafny run --unicode-char:false --no-verify --target=cs %args "%s" >> "%t" -// RUN: %baredafny run --unicode-char:false --no-verify --target=js %args "%s" >> "%t" -// RUN: %baredafny run --unicode-char:false --no-verify --target=go %args "%s" >> "%t" -// RUN: %baredafny run --unicode-char:false --no-verify --target=java %args "%s" >> "%t" -// RUN: %baredafny run --unicode-char:false --no-verify --target=py %args "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false method LinearSearch(a: array, key: int) returns (n: nat) ensures 0 <= n <= a.Length diff --git a/Test/comp/Arrays.dfy.expect b/Test/comp/Arrays.dfy.expect index 8559e2f3c5c..ef3b884f98a 100644 --- a/Test/comp/Arrays.dfy.expect +++ b/Test/comp/Arrays.dfy.expect @@ -1,399 +1,3 @@ - -Dafny program verifier finished with 89 verified, 0 errors - -Dafny program verifier did not attempt verification -0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 -17 -[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] -[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] -[20, 21, 22] -[0, 1, 2, 3, 4, 5, 6, 7] -[0, 1, 2, 3, 4, 5, 6, 7] -d d d -h e l l o -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -1 0 0 0 0 -0 1 0 0 0 -0 0 1 0 0 -cube dims: 3 0 4 -[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] -It's null -hi hello tjena hej hola -hi hello tjena hej hola -hi hello tjena hej hola -d d d -h e l l o -8 8 8 8 -true true true -1 1 1 1 1 -2 2 2 2 2 -3 3 3 3 3 -4 4 4 4 4 -(d, 8, true, 1, 2, 3, 4) -D D D -0 0 0 0 -false false false -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -(D, 0, false, 0, 0, 0, 0) -8 0 -false 0 null null -8 8 -8 8 -8 8 -8 8 -D D D -D D D -D D D -D D r (D, D, r) -D D r -[19, 18, 9, 8] - true - false - true - false - false - false - true - true - false - true - false - true - true - false -hello there -false false -true true -false false -false false -uninitialized bytes: array[0, 0, 0] -bytes from display: array[7, 8, 9] -bytes from lambda: array[20, 21, 22] -uninitialized 1bytes: array[1, 1, 1] -1bytes from display: array[7, 8, 9] -1bytes from lambda: array[20, 21, 22] -17 19 18 20 -100 200 300 120 38 -hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -DDDDDabcdeabcdeggggg -DDDDDabcdeabcdeggggg -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] -DDDDDDDDDDagggggaggg -0 69 50 -0 69 50 -D k n -false false -true true -false false -false false -true true - -Dafny program verifier did not attempt verification -0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 -17 -[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] -[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] -[20, 21, 22] -[0, 1, 2, 3, 4, 5, 6, 7] -[0, 1, 2, 3, 4, 5, 6, 7] -d d d -h e l l o -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -1 0 0 0 0 -0 1 0 0 0 -0 0 1 0 0 -cube dims: 3 0 4 -[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] -It's null -hi hello tjena hej hola -hi hello tjena hej hola -hi hello tjena hej hola -d d d -h e l l o -8 8 8 8 -true true true -1 1 1 1 1 -2 2 2 2 2 -3 3 3 3 3 -4 4 4 4 4 -(d, 8, true, 1, 2, 3, 4) -D D D -0 0 0 0 -false false false -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -(D, 0, false, 0, 0, 0, 0) -8 0 -false 0 null null -8 8 -8 8 -8 8 -8 8 -D D D -D D D -D D D -D D r (D, D, r) -D D r -[19, 18, 9, 8] - true - false - true - false - false - false - true - true - false - true - false - true - true - false -hello there -false false -true true -false false -false false -uninitialized bytes: array[0, 0, 0] -bytes from display: array[7, 8, 9] -bytes from lambda: array[20, 21, 22] -uninitialized 1bytes: array[1, 1, 1] -1bytes from display: array[7, 8, 9] -1bytes from lambda: array[20, 21, 22] -17 19 18 20 -100 200 300 120 38 -hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -DDDDDabcdeabcdeggggg -DDDDDabcdeabcdeggggg -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] -DDDDDDDDDDagggggaggg -0 69 50 -0 69 50 -D k n -false false -true true -false false -false false -true true - -Dafny program verifier did not attempt verification -0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 -17 -[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] -[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] -[20, 21, 22] -[0, 1, 2, 3, 4, 5, 6, 7] -[0, 1, 2, 3, 4, 5, 6, 7] -d d d -h e l l o -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -1 0 0 0 0 -0 1 0 0 0 -0 0 1 0 0 -cube dims: 3 0 4 -[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] -It's null -hi hello tjena hej hola -hi hello tjena hej hola -hi hello tjena hej hola -d d d -h e l l o -8 8 8 8 -true true true -1 1 1 1 1 -2 2 2 2 2 -3 3 3 3 3 -4 4 4 4 4 -(d, 8, true, 1, 2, 3, 4) -D D D -0 0 0 0 -false false false -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -(D, 0, false, 0, 0, 0, 0) -8 0 -false 0 null null -8 8 -8 8 -8 8 -8 8 -D D D -D D D -D D D -D D r (D, D, r) -D D r -[19, 18, 9, 8] - true - false - true - false - false - false - true - true - false - true - false - true - true - false -hello there -false false -true true -false false -false false -uninitialized bytes: array[0, 0, 0] -bytes from display: array[7, 8, 9] -bytes from lambda: array[20, 21, 22] -uninitialized 1bytes: array[1, 1, 1] -1bytes from display: array[7, 8, 9] -1bytes from lambda: array[20, 21, 22] -17 19 18 20 -100 200 300 120 38 -hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -DDDDDabcdeabcdeggggg -DDDDDabcdeabcdeggggg -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] -[D, D, D, D, D, D, D, D, D, D, a, g, g, g, g, g, a, g, g, g] -0 69 50 -0 69 50 -D k n -false false -true true -false false -false false -true true - -Dafny program verifier did not attempt verification -0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 -17 -[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] -[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] -[20, 21, 22] -[0, 1, 2, 3, 4, 5, 6, 7] -[0, 1, 2, 3, 4, 5, 6, 7] -d d d -h e l l o -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -1 0 0 0 0 -0 1 0 0 0 -0 0 1 0 0 -cube dims: 3 0 4 -[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] -It's null -hi hello tjena hej hola -hi hello tjena hej hola -hi hello tjena hej hola -d d d -h e l l o -8 8 8 8 -true true true -1 1 1 1 1 -2 2 2 2 2 -3 3 3 3 3 -4 4 4 4 4 -(d, 8, true, 1, 2, 3, 4) -D D D -0 0 0 0 -false false false -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -(D, 0, false, 0, 0, 0, 0) -8 0 -false 0 null null -8 8 -8 8 -8 8 -8 8 -D D D -D D D -D D D -D D r (D, D, r) -D D r -[19, 18, 9, 8] - true - false - true - false - false - false - true - true - false - true - false - true - true - false -hello there -false false -true true -false false -false false -uninitialized bytes: array[0, 0, 0] -bytes from display: array[7, 8, 9] -bytes from lambda: array[20, 21, 22] -uninitialized 1bytes: array[1, 1, 1] -1bytes from display: array[7, 8, 9] -1bytes from lambda: array[20, 21, 22] -17 19 18 20 -100 200 300 120 38 -hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -DDDDDabcdeabcdeggggg -DDDDDabcdeabcdeggggg -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] -DDDDDDDDDDagggggaggg -0 69 50 -0 69 50 -D k n -false false -true true -false false -false false -true true - -Dafny program verifier did not attempt verification 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/comp/Arrays.dfy.go.expect b/Test/comp/Arrays.dfy.go.expect new file mode 100644 index 00000000000..1217623d90c --- /dev/null +++ b/Test/comp/Arrays.dfy.go.expect @@ -0,0 +1,96 @@ +0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 +17 +[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] +[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] +[20, 21, 22] +[0, 1, 2, 3, 4, 5, 6, 7] +[0, 1, 2, 3, 4, 5, 6, 7] +d d d +h e l l o +0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 +1 0 0 0 0 +0 1 0 0 0 +0 0 1 0 0 +cube dims: 3 0 4 +[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] +It's null +hi hello tjena hej hola +hi hello tjena hej hola +hi hello tjena hej hola +d d d +h e l l o +8 8 8 8 +true true true +1 1 1 1 1 +2 2 2 2 2 +3 3 3 3 3 +4 4 4 4 4 +(d, 8, true, 1, 2, 3, 4) +D D D +0 0 0 0 +false false false +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +(D, 0, false, 0, 0, 0, 0) +8 0 +false 0 null null +8 8 +8 8 +8 8 +8 8 +D D D +D D D +D D D +D D r (D, D, r) +D D r +[19, 18, 9, 8] + true + false + true + false + false + false + true + true + false + true + false + true + true + false +hello there +false false +true true +false false +false false +uninitialized bytes: array[0, 0, 0] +bytes from display: array[7, 8, 9] +bytes from lambda: array[20, 21, 22] +uninitialized 1bytes: array[1, 1, 1] +1bytes from display: array[7, 8, 9] +1bytes from lambda: array[20, 21, 22] +17 19 18 20 +100 200 300 120 38 +hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +DDDDDabcdeabcdeggggg +DDDDDabcdeabcdeggggg +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] +[D, D, D, D, D, D, D, D, D, D, a, g, g, g, g, g, a, g, g, g] +0 69 50 +0 69 50 +D k n +false false +true true +false false +false false +true true diff --git a/Test/comp/AsIs-Compile.dfy b/Test/comp/AsIs-Compile.dfy index 47084ed7633..319847564e2 100644 --- a/Test/comp/AsIs-Compile.dfy +++ b/Test/comp/AsIs-Compile.dfy @@ -1,10 +1,4 @@ -// RUN: %baredafny verify %args "%s" > "%t" -// RUN: %baredafny run --no-verify -t=cs %args "%s" >> "%t" -// RUN: %baredafny run --no-verify -t=js %args "%s" >> "%t" -// RUN: %baredafny run --no-verify -t=go %args "%s" >> "%t" -// RUN: %baredafny run --no-verify -t=java %args "%s" >> "%t" -// RUN: %baredafny run --no-verify -t=py %args "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" method Main() { var a: A, b: B, c: C, k: K, l: L := new M, new M, new M, new K, new L; diff --git a/Test/comp/AsIs-Compile.dfy.expect b/Test/comp/AsIs-Compile.dfy.expect index 36dfe46e91d..acc78c6e155 100644 --- a/Test/comp/AsIs-Compile.dfy.expect +++ b/Test/comp/AsIs-Compile.dfy.expect @@ -1,163 +1,3 @@ - -Dafny program verifier finished with 6 verified, 0 errors - -Dafny program verifier did not attempt verification -true true true true true -true true true true true -IsComparisons ---- -false true false false - true false false - true false -false false true false - false true false - false false -false false false true - false false true - false true -false true false false - false true false - false false -true true -false true -TestNullIs ---- -true true -true true -true true true true true true -true true true true true true -true true true true true true -true true true true true true -true true -false true -true true true true true true -false true false true false true -true true true true true true -false true false true false true -TestFromTraits ---- -5 -0 -4 -4 -4 -4 - -Dafny program verifier did not attempt verification -true true true true true -true true true true true -IsComparisons ---- -false true false false - true false false - true false -false false true false - false true false - false false -false false false true - false false true - false true -false true false false - false true false - false false -true true -false true -TestNullIs ---- -true true -true true -true true true true true true -true true true true true true -true true true true true true -true true true true true true -true true -false true -true true true true true true -false true false true false true -true true true true true true -false true false true false true -TestFromTraits ---- -5 -0 -4 -4 -4 -4 - -Dafny program verifier did not attempt verification -true true true true true -true true true true true -IsComparisons ---- -false true false false - true false false - true false -false false true false - false true false - false false -false false false true - false false true - false true -false true false false - false true false - false false -true true -false true -TestNullIs ---- -true true -true true -true true true true true true -true true true true true true -true true true true true true -true true true true true true -true true -false true -true true true true true true -false true false true false true -true true true true true true -false true false true false true -TestFromTraits ---- -5 -0 -4 -4 -4 -4 - -Dafny program verifier did not attempt verification -true true true true true -true true true true true -IsComparisons ---- -false true false false - true false false - true false -false false true false - false true false - false false -false false false true - false false true - false true -false true false false - false true false - false false -true true -false true -TestNullIs ---- -true true -true true -true true true true true true -true true true true true true -true true true true true true -true true true true true true -true true -false true -true true true true true true -false true false true false true -true true true true true true -false true false true false true -TestFromTraits ---- -5 -0 -4 -4 -4 -4 - -Dafny program verifier did not attempt verification true true true true true true true true true true IsComparisons ---- diff --git a/Test/comp/AutoInit.dfy b/Test/comp/AutoInit.dfy index b284619a80c..c0e752efa36 100644 --- a/Test/comp/AutoInit.dfy +++ b/Test/comp/AutoInit.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This file tests the compilation of some default values. It also includes some // regression tests for equality, printing, and tuples. diff --git a/Test/comp/AutoInit.dfy.expect b/Test/comp/AutoInit.dfy.expect index c8ed022d09b..a282fc36633 100644 --- a/Test/comp/AutoInit.dfy.expect +++ b/Test/comp/AutoInit.dfy.expect @@ -1,163 +1,3 @@ - -Dafny program verifier finished with 21 verified, 0 errors - -Dafny program verifier did not attempt verification -3 false 0 -false false true -() (0, false, false, []) -(null, 0) (null, 0) true -(null, null, null, 0) (null, null, null, 0) true -true false false true -true false false true -17 -1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or -(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) -1 -ww == null -- yes, as expected -true true true true -true true true -true true true -null null -null null -null null null -null null null -null null null -null null null -null null -null null null -null null null -DatatypeDefaultValues_Compile.EnumDatatype.MakeZero - DatatypeDefaultValues_Compile.IntList.Nil - 0 -DatatypeDefaultValues_Compile.GenericTree.Leaf - DatatypeDefaultValues_Compile.Complicated.ComplA(0, false) - DatatypeDefaultValues_Compile.CellCell.MakeCellCell(0) -null - null -ImportedTypes_mLibrary_Compile.Color.Red(0) and ImportedTypes_mLibrary_Compile.Color.Red(0) -ImportedTypes_mLibrary_Compile.CoColor.Yellow and ImportedTypes_mLibrary_Compile.CoColor.Yellow -ImportedTypes_mLibrary_Compile.MoColor.MoYellow and ImportedTypes_mLibrary_Compile.MoColor.MoYellow -0.0 and 0.0 -13 - -Dafny program verifier did not attempt verification -3 false 0 -false false true -() (0, false, false, []) -(null, 0) (null, 0) true -(null, null, null, 0) (null, null, null, 0) true -true false false true -true false false true -17 -1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or -(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) -1 -ww == null -- yes, as expected -true true true true -true true true -true true true -null null -null null -null null null -null null null -null null null -null null null -null null -null null null -null null null -DatatypeDefaultValues_Compile.EnumDatatype.MakeZero - DatatypeDefaultValues_Compile.IntList.Nil - 0 -DatatypeDefaultValues_Compile.GenericTree.Leaf - DatatypeDefaultValues_Compile.Complicated.ComplA(0, false) - DatatypeDefaultValues_Compile.CellCell.MakeCellCell(0) -null - null -ImportedTypes_mLibrary_Compile.Color.Red(0) and ImportedTypes_mLibrary_Compile.Color.Red(0) -ImportedTypes_mLibrary_Compile.CoColor.Yellow and ImportedTypes_mLibrary_Compile.CoColor.Yellow -ImportedTypes_mLibrary_Compile.MoColor.MoYellow and ImportedTypes_mLibrary_Compile.MoColor.MoYellow -0.0 and 0.0 -13 - -Dafny program verifier did not attempt verification -3 false 0 -false false true -() (0, false, false, []) -(null, 0) (null, 0) true -(null, null, null, 0) (null, null, null, 0) true -true false false true -true false false true -17 -1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or -(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) -1 -ww == null -- yes, as expected -true true true true -true true true -true true true -null null -null null -null null null -null null null -null null null -null null null -null null -null null null -null null null -DatatypeDefaultValues_Compile.EnumDatatype.MakeZero - DatatypeDefaultValues_Compile.IntList.Nil - 0 -DatatypeDefaultValues_Compile.GenericTree.Leaf - DatatypeDefaultValues_Compile.Complicated.ComplA(0, false) - DatatypeDefaultValues_Compile.CellCell.MakeCellCell(0) -null - null -ImportedTypes_mLibrary_Compile.Color.Red(0) and ImportedTypes_mLibrary_Compile.Color.Red(0) -ImportedTypes_mLibrary_Compile.CoColor.Yellow and ImportedTypes_mLibrary_Compile.CoColor.Yellow -ImportedTypes_mLibrary_Compile.MoColor.MoYellow and ImportedTypes_mLibrary_Compile.MoColor.MoYellow -0.0 and 0.0 -13 - -Dafny program verifier did not attempt verification -3 false 0 -false false true -() (0, false, false, []) -(null, 0) (null, 0) true -(null, null, null, 0) (null, null, null, 0) true -true false false true -true false false true -17 -1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or -(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) -1 -ww == null -- yes, as expected -true true true true -true true true -true true true -null null -null null -null null null -null null null -null null null -null null null -null null -null null null -null null null -DatatypeDefaultValues_Compile.EnumDatatype.MakeZero - DatatypeDefaultValues_Compile.IntList.Nil - 0 -DatatypeDefaultValues_Compile.GenericTree.Leaf - DatatypeDefaultValues_Compile.Complicated.ComplA(0, false) - DatatypeDefaultValues_Compile.CellCell.MakeCellCell(0) -null - null -ImportedTypes_mLibrary_Compile.Color.Red(0) and ImportedTypes_mLibrary_Compile.Color.Red(0) -ImportedTypes_mLibrary_Compile.CoColor.Yellow and ImportedTypes_mLibrary_Compile.CoColor.Yellow -ImportedTypes_mLibrary_Compile.MoColor.MoYellow and ImportedTypes_mLibrary_Compile.MoColor.MoYellow -0.0 and 0.0 -13 - -Dafny program verifier did not attempt verification 3 false 0 false false true () (0, false, false, []) diff --git a/Test/comp/ByMethodCompilation.dfy b/Test/comp/ByMethodCompilation.dfy index ea62d84b21e..7432f72f7d4 100644 --- a/Test/comp/ByMethodCompilation.dfy +++ b/Test/comp/ByMethodCompilation.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method Main() { var four := Four(); diff --git a/Test/comp/ByMethodCompilation.dfy.expect b/Test/comp/ByMethodCompilation.dfy.expect index 1519a955b0c..d61780e3fb8 100644 --- a/Test/comp/ByMethodCompilation.dfy.expect +++ b/Test/comp/ByMethodCompilation.dfy.expect @@ -1,35 +1,3 @@ - -Dafny program verifier finished with 13 verified, 0 errors - -Dafny program verifier did not attempt verification -hello -four is 4 -Recursive(7) = 14 -NonCompilableFunction: 4 7 -Sums: 14 3 - -Dafny program verifier did not attempt verification -hello -four is 4 -Recursive(7) = 14 -NonCompilableFunction: 4 7 -Sums: 14 3 - -Dafny program verifier did not attempt verification -hello -four is 4 -Recursive(7) = 14 -NonCompilableFunction: 4 7 -Sums: 14 3 - -Dafny program verifier did not attempt verification -hello -four is 4 -Recursive(7) = 14 -NonCompilableFunction: 4 7 -Sums: 14 3 - -Dafny program verifier did not attempt verification hello four is 4 Recursive(7) = 14 diff --git a/Test/comp/Calls.dfy b/Test/comp/Calls.dfy index 4a4916aea0c..c56bc3e5286 100644 --- a/Test/comp/Calls.dfy +++ b/Test/comp/Calls.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function F(x: int, y: bool): int { x + if y then 2 else 3 diff --git a/Test/comp/Calls.dfy.expect b/Test/comp/Calls.dfy.expect index 3317b8be164..cf4e1bc155b 100644 --- a/Test/comp/Calls.dfy.expect +++ b/Test/comp/Calls.dfy.expect @@ -1,43 +1,3 @@ - -Dafny program verifier finished with 6 verified, 0 errors - -Dafny program verifier did not attempt verification -5 0 0 false 0 false 0 -5 3 5 3 5 3 -5 3 5 3 5 3 -15 -[0, 1, 2, 4] -[0, 2, 4] ---> 5 <-- - -Dafny program verifier did not attempt verification -5 0 0 false 0 false 0 -5 3 5 3 5 3 -5 3 5 3 5 3 -15 -[0, 1, 2, 4] -[0, 2, 4] ---> 5 <-- - -Dafny program verifier did not attempt verification -5 0 0 false 0 false 0 -5 3 5 3 5 3 -5 3 5 3 5 3 -15 -[0, 1, 2, 4] -[0, 2, 4] ---> 5 <-- - -Dafny program verifier did not attempt verification -5 0 0 false 0 false 0 -5 3 5 3 5 3 -5 3 5 3 5 3 -15 -[0, 1, 2, 4] -[0, 2, 4] ---> 5 <-- - -Dafny program verifier did not attempt verification 5 0 0 false 0 false 0 5 3 5 3 5 3 5 3 5 3 5 3 diff --git a/Test/comp/Class.dfy b/Test/comp/Class.dfy index fb994f008e7..23591e43450 100644 --- a/Test/comp/Class.dfy +++ b/Test/comp/Class.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation class MyClass { var a: int diff --git a/Test/comp/Class.dfy.expect b/Test/comp/Class.dfy.expect index ba1482a164b..47e49966664 100644 --- a/Test/comp/Class.dfy.expect +++ b/Test/comp/Class.dfy.expect @@ -1,75 +1,3 @@ - -Dafny program verifier finished with 16 verified, 0 errors - -Dafny program verifier did not attempt verification -true true false -103 103 103 106 106 106 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -0 18 9 70 -0 18 9 70 -0 18 9 70 -70 -hi later -21 4 42 5 1 -TestGhostables -15 -Init called with x=15 -16 - -Dafny program verifier did not attempt verification -true true false -103 103 103 106 106 106 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -0 18 9 70 -0 18 9 70 -0 18 9 70 -70 -hi later -21 4 42 5 1 -TestGhostables -15 -Init called with x=15 -16 - -Dafny program verifier did not attempt verification -true true false -103 103 103 106 106 106 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -0 18 9 70 -0 18 9 70 -0 18 9 70 -70 -hi later -21 4 42 5 1 -TestGhostables -15 -Init called with x=15 -16 - -Dafny program verifier did not attempt verification -true true false -103 103 103 106 106 106 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -0 18 9 70 -0 18 9 70 -0 18 9 70 -70 -hi later -21 4 42 5 1 -TestGhostables -15 -Init called with x=15 -16 - -Dafny program verifier did not attempt verification true true false 103 103 103 106 106 106 203 17 0 18 8 9 69 70 diff --git a/Test/comp/Collections.dfy b/Test/comp/Collections.dfy index 104eb9f90ac..9457e44b170 100644 --- a/Test/comp/Collections.dfy +++ b/Test/comp/Collections.dfy @@ -1,10 +1,5 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false method Main() { Sets(); diff --git a/Test/comp/Collections.dfy.expect b/Test/comp/Collections.dfy.expect index 2361c1a88db..e705d887a7d 100644 --- a/Test/comp/Collections.dfy.expect +++ b/Test/comp/Collections.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 40 verified, 0 errors - -Dafny program verifier did not attempt verification Sets: {} {17, 82} {12, 17} cardinality: 0 2 2 union: {17, 82} {12, 17, 82} @@ -127,511 +123,3 @@ Multiset=== 1 3 |s|=2 |u|=4 1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Yellow := 21, Color.Blue := 30] -keys: {Color.Yellow, Color.Blue} -values: {21, 30} -items: {(Color.Yellow, 21), (Color.Blue, 30)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {21, 30} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/comp/Collections.dfy.go.expect b/Test/comp/Collections.dfy.go.expect new file mode 100644 index 00000000000..309d0c550c4 --- /dev/null +++ b/Test/comp/Collections.dfy.go.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/comp/Collections.dfy.java.expect b/Test/comp/Collections.dfy.java.expect new file mode 100644 index 00000000000..ed929a4d34c --- /dev/null +++ b/Test/comp/Collections.dfy.java.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Yellow := 21, Color.Blue := 30] +keys: {Color.Yellow, Color.Blue} +values: {21, 30} +items: {(Color.Yellow, 21), (Color.Blue, 30)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/comp/Collections.dfy.js.expect b/Test/comp/Collections.dfy.js.expect new file mode 100644 index 00000000000..309d0c550c4 --- /dev/null +++ b/Test/comp/Collections.dfy.js.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/comp/Collections.dfy.py.expect b/Test/comp/Collections.dfy.py.expect new file mode 100644 index 00000000000..61b4217bbaf --- /dev/null +++ b/Test/comp/Collections.dfy.py.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {21, 30} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/comp/Comprehensions.dfy b/Test/comp/Comprehensions.dfy index 29ac368f2c3..73c43b22bfa 100644 --- a/Test/comp/Comprehensions.dfy +++ b/Test/comp/Comprehensions.dfy @@ -1,10 +1,5 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false method Main() { AssignSuchThat(); diff --git a/Test/comp/Comprehensions.dfy.expect b/Test/comp/Comprehensions.dfy.expect index 18159ddde0a..c9703fc9397 100644 --- a/Test/comp/Comprehensions.dfy.expect +++ b/Test/comp/Comprehensions.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 32 verified, 0 errors - -Dafny program verifier did not attempt verification x=13 y=14 x=13 y=14 b=yes true false @@ -64,259 +60,3 @@ true true [137438953474, 137438953475, 137438953476, 137438953477, 137438953479] cdefh cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[14 := 7, 12 := 6, 13 := 6] -map[18 := 14, 17 := 13, 16 := 12] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh diff --git a/Test/comp/Comprehensions.dfy.py.expect b/Test/comp/Comprehensions.dfy.py.expect new file mode 100644 index 00000000000..aeaa31fc0f3 --- /dev/null +++ b/Test/comp/Comprehensions.dfy.py.expect @@ -0,0 +1,62 @@ +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[14 := 7, 12 := 6, 13 := 6] +map[18 := 14, 17 := 13, 16 := 12] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh diff --git a/Test/comp/ComprehensionsNewSyntax.dfy b/Test/comp/ComprehensionsNewSyntax.dfy index a324b622e8a..6cd88aeb4f7 100644 --- a/Test/comp/ComprehensionsNewSyntax.dfy +++ b/Test/comp/ComprehensionsNewSyntax.dfy @@ -1,10 +1,5 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method Main() { Quantifier(); diff --git a/Test/comp/ComprehensionsNewSyntax.dfy.expect b/Test/comp/ComprehensionsNewSyntax.dfy.expect index 408769f4b67..b70314ff87b 100644 --- a/Test/comp/ComprehensionsNewSyntax.dfy.expect +++ b/Test/comp/ComprehensionsNewSyntax.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 10 verified, 0 errors - -Dafny program verifier did not attempt verification true false true false map[12 := 6, 13 := 6, 14 := 7] @@ -36,147 +32,3 @@ false false false false true true true true false false false false true true true true - -Dafny program verifier did not attempt verification -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true - -Dafny program verifier did not attempt verification -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true - -Dafny program verifier did not attempt verification -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true - -Dafny program verifier did not attempt verification -true false -true false -map[14 := 7, 12 := 6, 13 := 6] -map[18 := 14, 17 := 13, 16 := 12] -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true diff --git a/Test/comp/ComprehensionsNewSyntax.dfy.py.expect b/Test/comp/ComprehensionsNewSyntax.dfy.py.expect new file mode 100644 index 00000000000..b19cef0ba0e --- /dev/null +++ b/Test/comp/ComprehensionsNewSyntax.dfy.py.expect @@ -0,0 +1,34 @@ +true false +true false +map[14 := 7, 12 := 6, 13 := 6] +map[18 := 14, 17 := 13, 16 := 12] +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true diff --git a/Test/comp/CovariantCollections.dfy b/Test/comp/CovariantCollections.dfy index 12301df3b09..6dd73ee7fea 100644 --- a/Test/comp/CovariantCollections.dfy +++ b/Test/comp/CovariantCollections.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method Main() { Sequences(); diff --git a/Test/comp/CovariantCollections.dfy.expect b/Test/comp/CovariantCollections.dfy.expect index e029d3abc3b..a9d00f4a65d 100644 --- a/Test/comp/CovariantCollections.dfy.expect +++ b/Test/comp/CovariantCollections.dfy.expect @@ -1,223 +1,3 @@ - -Dafny program verifier finished with 25 verified, 0 errors - -Dafny program verifier did not attempt verification -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17] [12, 17] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - comprehension: {82} - union: {17, 82} {12, 17, 82} - intersection: {} {17} - difference: {} {82} - subset: true false true - proper subset: true false false - membership: false true true -Multisets: {} {17, 17, 82, 82} {12, 17} - cardinality: 0 4 2 - update: {17, 17, 42, 42, 42} {12, 17, 42} - multiplicity: 2 0 20 - union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} - intersection: {} {17, 82, 82} - difference: {} {17, 82, 82} - subset: true false true - proper subset: true false false - membership: false true true -Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} - cardinality: 0 3 2 - update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} - comprehension: {17 := 12, 82 := 12} - Keys: {12, 17, 82} - Values: {17, 82} - eq: false true true - eq: true true true true true true - eq: true true true true true true - eq: true false true false true false - eq: true false true false true false - eq: true true true true true true - eq: true true true true true true -set: {20, 30} -multiset: {20, 30} -seq: [20, 30] -map: {20 := 30, 30 := 20} -true -true -1 1 -1 1 - -Dafny program verifier did not attempt verification -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17] [12, 17] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - comprehension: {82} - union: {17, 82} {12, 17, 82} - intersection: {} {17} - difference: {} {82} - subset: true false true - proper subset: true false false - membership: false true true -Multisets: {} {17, 17, 82, 82} {12, 17} - cardinality: 0 4 2 - update: {17, 17, 42, 42, 42} {12, 17, 42} - multiplicity: 2 0 20 - union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} - intersection: {} {17, 82, 82} - difference: {} {17, 82, 82} - subset: true false true - proper subset: true false false - membership: false true true -Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} - cardinality: 0 3 2 - update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} - comprehension: {17 := 12, 82 := 12} - Keys: {12, 17, 82} - Values: {17, 82} - eq: false true true - eq: true true true true true true - eq: true true true true true true - eq: true false true false true false - eq: true false true false true false - eq: true true true true true true - eq: true true true true true true -set: {20, 30} -multiset: {20, 30} -seq: [20, 30] -map: {20 := 30, 30 := 20} -true -true -1 1 -1 1 - -Dafny program verifier did not attempt verification -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17] [12, 17] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - comprehension: {82} - union: {17, 82} {12, 17, 82} - intersection: {} {17} - difference: {} {82} - subset: true false true - proper subset: true false false - membership: false true true -Multisets: {} {17, 17, 82, 82} {12, 17} - cardinality: 0 4 2 - update: {17, 17, 42, 42, 42} {12, 17, 42} - multiplicity: 2 0 20 - union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} - intersection: {} {17, 82, 82} - difference: {} {17, 82, 82} - subset: true false true - proper subset: true false false - membership: false true true -Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} - cardinality: 0 3 2 - update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} - comprehension: {17 := 12, 82 := 12} - Keys: {12, 17, 82} - Values: {17, 82} - eq: false true true - eq: true true true true true true - eq: true true true true true true - eq: true false true false true false - eq: true false true false true false - eq: true true true true true true - eq: true true true true true true -set: {20, 30} -multiset: {20, 30} -seq: [20, 30] -map: {20 := 30, 30 := 20} -true -true -1 1 -1 1 - -Dafny program verifier did not attempt verification -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17] [12, 17] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - comprehension: {82} - union: {17, 82} {12, 17, 82} - intersection: {} {17} - difference: {} {82} - subset: true false true - proper subset: true false false - membership: false true true -Multisets: {} {17, 17, 82, 82} {12, 17} - cardinality: 0 4 2 - update: {17, 17, 42, 42, 42} {12, 17, 42} - multiplicity: 2 0 20 - union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} - intersection: {} {17, 82, 82} - difference: {} {17, 82, 82} - subset: true false true - proper subset: true false false - membership: false true true -Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} - cardinality: 0 3 2 - update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} - comprehension: {17 := 12, 82 := 12} - Keys: {12, 17, 82} - Values: {17, 82} - eq: false true true - eq: true true true true true true - eq: true true true true true true - eq: true false true false true false - eq: true false true false true false - eq: true true true true true true - eq: true true true true true true -set: {20, 30} -multiset: {20, 30} -seq: [20, 30] -map: {20 := 30, 30 := 20} -true -true -1 1 -1 1 - -Dafny program verifier did not attempt verification Sequences: [] [17, 82, 17, 82] [12, 17] cardinality: 0 4 2 update: [42, 82, 17, 82] [42, 17] diff --git a/Test/comp/Datatype.dfy b/Test/comp/Datatype.dfy index 0f4bab7c469..3b3f0641c1a 100644 --- a/Test/comp/Datatype.dfy +++ b/Test/comp/Datatype.dfy @@ -1,10 +1,5 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation datatype List = Nil | Cons(head: int, tail: List) diff --git a/Test/comp/Datatype.dfy.expect b/Test/comp/Datatype.dfy.expect index 84dceeb16e6..93e37a9562a 100644 --- a/Test/comp/Datatype.dfy.expect +++ b/Test/comp/Datatype.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 12 verified, 0 errors - -Dafny program verifier did not attempt verification List.Nil List.Cons(5, List.Nil) (List.Nil, List.Cons(5, List.Nil)) @@ -24,99 +20,3 @@ Record.Record(58, true) 199 800 801 802 800 801 802 - -Dafny program verifier did not attempt verification -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) -0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) -Stream.Next -Stream.Next -{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} -CoBerry.Hjortron true true false -false -42 'q' hello -1701 -Record.Record(58, true) -199 -800 801 802 -800 801 802 - -Dafny program verifier did not attempt verification -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) -0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) -Stream.Next -Stream.Next -{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} -CoBerry.Hjortron true true false -false -42 'q' hello -1701 -Record.Record(58, true) -199 -800 801 802 -800 801 802 - -Dafny program verifier did not attempt verification -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) -0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) -Stream.Next -Stream.Next -{Berry.Jordgubb, Berry.Smultron, Berry.Hallon} -CoBerry.Hjortron true true false -false -42 'q' hello -1701 -Record.Record(58, true) -199 -800 801 802 -800 801 802 - -Dafny program verifier did not attempt verification -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) -0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) -Stream.Next -Stream.Next -{Berry.Hallon, Berry.Smultron, Berry.Jordgubb} -CoBerry.Hjortron true true false -false -42 'q' hello -1701 -Record.Record(58, true) -199 -800 801 802 -800 801 802 diff --git a/Test/comp/Datatype.dfy.java.expect b/Test/comp/Datatype.dfy.java.expect new file mode 100644 index 00000000000..e5a32fd58bc --- /dev/null +++ b/Test/comp/Datatype.dfy.java.expect @@ -0,0 +1,22 @@ +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) +0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) +Stream.Next +Stream.Next +{Berry.Jordgubb, Berry.Smultron, Berry.Hallon} +CoBerry.Hjortron true true false +false +42 'q' hello +1701 +Record.Record(58, true) +199 +800 801 802 +800 801 802 diff --git a/Test/comp/Datatype.dfy.py.expect b/Test/comp/Datatype.dfy.py.expect new file mode 100644 index 00000000000..0f64b73ba2d --- /dev/null +++ b/Test/comp/Datatype.dfy.py.expect @@ -0,0 +1,22 @@ +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) +0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) +Stream.Next +Stream.Next +{Berry.Hallon, Berry.Smultron, Berry.Jordgubb} +CoBerry.Hjortron true true false +false +42 'q' hello +1701 +Record.Record(58, true) +199 +800 801 802 +800 801 802 diff --git a/Test/comp/DefaultParameters-Compile.dfy b/Test/comp/DefaultParameters-Compile.dfy index 145b8670647..cd6ba1163b1 100644 --- a/Test/comp/DefaultParameters-Compile.dfy +++ b/Test/comp/DefaultParameters-Compile.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method M(x: int := 16) { print x, "\n"; diff --git a/Test/comp/DefaultParameters-Compile.dfy.expect b/Test/comp/DefaultParameters-Compile.dfy.expect index b94739d5be1..b4b87321eb5 100644 --- a/Test/comp/DefaultParameters-Compile.dfy.expect +++ b/Test/comp/DefaultParameters-Compile.dfy.expect @@ -1,51 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification -12 -16 -1 2 -1 3 -10 20 -11 13 -Color.Blue(2, 1) Color.Red(3, 4) -5 5 6 -6 6 7 - -Dafny program verifier did not attempt verification -12 -16 -1 2 -1 3 -10 20 -11 13 -Color.Blue(2, 1) Color.Red(3, 4) -5 5 6 -6 6 7 - -Dafny program verifier did not attempt verification -12 -16 -1 2 -1 3 -10 20 -11 13 -Color.Blue(2, 1) Color.Red(3, 4) -5 5 6 -6 6 7 - -Dafny program verifier did not attempt verification -12 -16 -1 2 -1 3 -10 20 -11 13 -Color.Blue(2, 1) Color.Red(3, 4) -5 5 6 -6 6 7 - -Dafny program verifier did not attempt verification 12 16 1 2 diff --git a/Test/comp/DowncastClone.dfy b/Test/comp/DowncastClone.dfy index b90066da781..cb1f095b3f4 100644 --- a/Test/comp/DowncastClone.dfy +++ b/Test/comp/DowncastClone.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Co<+T> = Co(T) | C datatype ReCo<+T> = ReCo(T) diff --git a/Test/comp/DowncastClone.dfy.expect b/Test/comp/DowncastClone.dfy.expect index 982b36b396c..b0613294f3c 100644 --- a/Test/comp/DowncastClone.dfy.expect +++ b/Test/comp/DowncastClone.dfy.expect @@ -1,43 +1,3 @@ - -Dafny program verifier finished with 7 verified, 0 errors - -Dafny program verifier did not attempt verification -Co.Co(_module.Y) and Co.Co(_module.Y) -_module.Y and _module.Y -_module.Y _module.Y -false and false -false and false -_module.Y and _module.Y -Done - -Dafny program verifier did not attempt verification -Co.Co(_module.Y) and Co.Co(_module.Y) -_module.Y and _module.Y -_module.Y _module.Y -false and false -false and false -_module.Y and _module.Y -Done - -Dafny program verifier did not attempt verification -Co.Co(_module.Y) and Co.Co(_module.Y) -_module.Y and _module.Y -_module.Y _module.Y -false and false -false and false -_module.Y and _module.Y -Done - -Dafny program verifier did not attempt verification -Co.Co(_module.Y) and Co.Co(_module.Y) -_module.Y and _module.Y -_module.Y _module.Y -false and false -false and false -_module.Y and _module.Y -Done - -Dafny program verifier did not attempt verification Co.Co(_module.Y) and Co.Co(_module.Y) _module.Y and _module.Y _module.Y _module.Y diff --git a/Test/comp/ErasableTypeWrappers.dfy b/Test/comp/ErasableTypeWrappers.dfy index d62d3736622..a280099699f 100644 --- a/Test/comp/ErasableTypeWrappers.dfy +++ b/Test/comp/ErasableTypeWrappers.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false datatype SingletonRecord = SingletonRecord(u: int) datatype GhostOrNot = ghost Ghost(a: int, b: int) | Compiled(x: int) diff --git a/Test/comp/ErasableTypeWrappers.dfy.expect b/Test/comp/ErasableTypeWrappers.dfy.expect index 602e30d2075..7dd41a194ac 100644 --- a/Test/comp/ErasableTypeWrappers.dfy.expect +++ b/Test/comp/ErasableTypeWrappers.dfy.expect @@ -1,87 +1,3 @@ - -Dafny program verifier finished with 10 verified, 0 errors - -Dafny program verifier did not attempt verification -62 63 (2, 5) (2, 5) 3 -62 63 5 5 3 -5 5 3 -1062 1063 1005 1005 1003 -true true true -20 20 *20 21 20 -20 20 *20 21 20 -true false -true false true false -true false -0 (0, 0) 0 Color.Pink -13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false - 3.14 2.7 -18.0 18.0 3.0 false -18.0 4.0 true -HasConst.MakeC(4) (4, 4) -4 (4, 4) -OptimizationChecks_Compile.Ints.Ints(5, 7) OptimizationChecks_Compile.Ints.Ints(5, 7) OptimizationChecks_Compile.Ints.AnotherIntsWrapper(OptimizationChecks_Compile.Ints.Ints(5, 7)) - -Dafny program verifier did not attempt verification -62 63 (2, 5) (2, 5) 3 -62 63 5 5 3 -5 5 3 -1062 1063 1005 1005 1003 -true true true -20 20 *20 21 20 -20 20 *20 21 20 -true false -true false true false -true false -0 (0, 0) 0 Color.Pink -13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false - 3.14 2.7 -18.0 18.0 3.0 false -18.0 4.0 true -HasConst.MakeC(4) (4, 4) -4 (4, 4) -OptimizationChecks_Compile.Ints.Ints(5, 7) OptimizationChecks_Compile.Ints.Ints(5, 7) OptimizationChecks_Compile.Ints.AnotherIntsWrapper(OptimizationChecks_Compile.Ints.Ints(5, 7)) - -Dafny program verifier did not attempt verification -62 63 (2, 5) (2, 5) 3 -62 63 5 5 3 -5 5 3 -1062 1063 1005 1005 1003 -true true true -20 20 *20 21 20 -20 20 *20 21 20 -true false -true false true false -true false -0 (0, 0) 0 Color.Pink -13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false - 3.14 2.7 -18.0 18.0 3.0 false -18.0 4.0 true -HasConst.MakeC(4) (4, 4) -4 (4, 4) -OptimizationChecks_Compile.Ints.Ints(5, 7) OptimizationChecks_Compile.Ints.Ints(5, 7) OptimizationChecks_Compile.Ints.AnotherIntsWrapper(OptimizationChecks_Compile.Ints.Ints(5, 7)) - -Dafny program verifier did not attempt verification -62 63 (2, 5) (2, 5) 3 -62 63 5 5 3 -5 5 3 -1062 1063 1005 1005 1003 -true true true -20 20 *20 21 20 -20 20 *20 21 20 -true false -true false true false -true false -0 (0, 0) 0 Color.Pink -13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false - 3.14 2.7 -18.0 18.0 3.0 false -18.0 4.0 true -HasConst.MakeC(4) (4, 4) -4 (4, 4) -OptimizationChecks_Compile.Ints.Ints(5, 7) OptimizationChecks_Compile.Ints.Ints(5, 7) OptimizationChecks_Compile.Ints.AnotherIntsWrapper(OptimizationChecks_Compile.Ints.Ints(5, 7)) - -Dafny program verifier did not attempt verification 62 63 (2, 5) (2, 5) 3 62 63 5 5 3 5 5 3 diff --git a/Test/comp/EuclideanDivision.dfy b/Test/comp/EuclideanDivision.dfy index 7ae1803cad8..1286dcd125b 100644 --- a/Test/comp/EuclideanDivision.dfy +++ b/Test/comp/EuclideanDivision.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Some runtimes (like the one for C#) have three implementations // of Euclidean div/mod: one for `int`, one for `long`, and one diff --git a/Test/comp/EuclideanDivision.dfy.expect b/Test/comp/EuclideanDivision.dfy.expect index b538c9494de..e2585ff8c70 100644 --- a/Test/comp/EuclideanDivision.dfy.expect +++ b/Test/comp/EuclideanDivision.dfy.expect @@ -1,39 +1,3 @@ - -Dafny program verifier finished with 11 verified, 0 errors - -Dafny program verifier did not attempt verification -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 - -Dafny program verifier did not attempt verification -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 - -Dafny program verifier did not attempt verification -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 - -Dafny program verifier did not attempt verification -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 - -Dafny program verifier did not attempt verification 2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 diff --git a/Test/comp/ForLoops-Compilation.dfy b/Test/comp/ForLoops-Compilation.dfy index 97101b82961..b468d21f69f 100644 --- a/Test/comp/ForLoops-Compilation.dfy +++ b/Test/comp/ForLoops-Compilation.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method Main() { TestM(0, 0); diff --git a/Test/comp/ForLoops-Compilation.dfy.expect b/Test/comp/ForLoops-Compilation.dfy.expect index d67a5429fed..97724a714bc 100644 --- a/Test/comp/ForLoops-Compilation.dfy.expect +++ b/Test/comp/ForLoops-Compilation.dfy.expect @@ -1,203 +1,3 @@ - -Dafny program verifier finished with 23 verified, 0 errors - -Dafny program verifier did not attempt verification -0 0 0 0 --2 -2 -2 -2 -0 0 0 0 -145 145 145 145 -0 0 -0 0 -57 57 -0 0 -32385 32385 -0 0 --128 -128 -126 126 -0 0 -0 * 2 == 0 -2 * 0 == 0 -1 * 1 == 1 -6 * 5 == 30 -0 + 3 == 3 -3 + 0 == 3 -4 + 0 == 4 -0 + 0 == 0 -19 + 14 == 33 -4 4 4 -== BC10 == -0 --++--++---- *** -1 --++--++----++-- -2 --++--++----++--++--++--++--++--++--++ *** -3 --++--++----++--++--++--++--++--++--++ *** -4 --++--++----++--++--++--++--++--++--++ *** -5 --++--++----++--++--++--++--++--++--++ *** -6 --++--++----++--++--++--++--++--++--++ *** -7 --++--++----++--++--++--++--++--++--++ *** -8 --++--++----++--++--++--++--++--++--++ *** -9 --++--++----++--++--++--++--++--++--++ *** -== BC11 == -0 ||--++----++-- *** -1 ||--++----++--++-- -2 ||--++----++--++--++--++--++--++--++--++ *** -3 ||--++----++--++--++--++--++--++--++--++ *** -4 ||--++----++--++--++--++--++--++--++--++ *** -5 ||--++----++--++--++--++--++--++--++--++ *** -6 ||--++----++--++--++--++--++--++--++--++ *** -7 ||--++----++--++--++--++--++--++--++--++ *** -8 ||--++----++--++--++--++--++--++--++--++ *** -9 ||--++----++--++--++--++--++--++--++--++ *** -true true true 15 -all good - -Dafny program verifier did not attempt verification -0 0 0 0 --2 -2 -2 -2 -0 0 0 0 -145 145 145 145 -0 0 -0 0 -57 57 -0 0 -32385 32385 -0 0 --128 -128 -126 126 -0 0 -0 * 2 == 0 -2 * 0 == 0 -1 * 1 == 1 -6 * 5 == 30 -0 + 3 == 3 -3 + 0 == 3 -4 + 0 == 4 -0 + 0 == 0 -19 + 14 == 33 -4 4 4 -== BC10 == -0 --++--++---- *** -1 --++--++----++-- -2 --++--++----++--++--++--++--++--++--++ *** -3 --++--++----++--++--++--++--++--++--++ *** -4 --++--++----++--++--++--++--++--++--++ *** -5 --++--++----++--++--++--++--++--++--++ *** -6 --++--++----++--++--++--++--++--++--++ *** -7 --++--++----++--++--++--++--++--++--++ *** -8 --++--++----++--++--++--++--++--++--++ *** -9 --++--++----++--++--++--++--++--++--++ *** -== BC11 == -0 ||--++----++-- *** -1 ||--++----++--++-- -2 ||--++----++--++--++--++--++--++--++--++ *** -3 ||--++----++--++--++--++--++--++--++--++ *** -4 ||--++----++--++--++--++--++--++--++--++ *** -5 ||--++----++--++--++--++--++--++--++--++ *** -6 ||--++----++--++--++--++--++--++--++--++ *** -7 ||--++----++--++--++--++--++--++--++--++ *** -8 ||--++----++--++--++--++--++--++--++--++ *** -9 ||--++----++--++--++--++--++--++--++--++ *** -true true true 15 -all good - -Dafny program verifier did not attempt verification -0 0 0 0 --2 -2 -2 -2 -0 0 0 0 -145 145 145 145 -0 0 -0 0 -57 57 -0 0 -32385 32385 -0 0 --128 -128 -126 126 -0 0 -0 * 2 == 0 -2 * 0 == 0 -1 * 1 == 1 -6 * 5 == 30 -0 + 3 == 3 -3 + 0 == 3 -4 + 0 == 4 -0 + 0 == 0 -19 + 14 == 33 -4 4 4 -== BC10 == -0 --++--++---- *** -1 --++--++----++-- -2 --++--++----++--++--++--++--++--++--++ *** -3 --++--++----++--++--++--++--++--++--++ *** -4 --++--++----++--++--++--++--++--++--++ *** -5 --++--++----++--++--++--++--++--++--++ *** -6 --++--++----++--++--++--++--++--++--++ *** -7 --++--++----++--++--++--++--++--++--++ *** -8 --++--++----++--++--++--++--++--++--++ *** -9 --++--++----++--++--++--++--++--++--++ *** -== BC11 == -0 ||--++----++-- *** -1 ||--++----++--++-- -2 ||--++----++--++--++--++--++--++--++--++ *** -3 ||--++----++--++--++--++--++--++--++--++ *** -4 ||--++----++--++--++--++--++--++--++--++ *** -5 ||--++----++--++--++--++--++--++--++--++ *** -6 ||--++----++--++--++--++--++--++--++--++ *** -7 ||--++----++--++--++--++--++--++--++--++ *** -8 ||--++----++--++--++--++--++--++--++--++ *** -9 ||--++----++--++--++--++--++--++--++--++ *** -true true true 15 -all good - -Dafny program verifier did not attempt verification -0 0 0 0 --2 -2 -2 -2 -0 0 0 0 -145 145 145 145 -0 0 -0 0 -57 57 -0 0 -32385 32385 -0 0 --128 -128 -126 126 -0 0 -0 * 2 == 0 -2 * 0 == 0 -1 * 1 == 1 -6 * 5 == 30 -0 + 3 == 3 -3 + 0 == 3 -4 + 0 == 4 -0 + 0 == 0 -19 + 14 == 33 -4 4 4 -== BC10 == -0 --++--++---- *** -1 --++--++----++-- -2 --++--++----++--++--++--++--++--++--++ *** -3 --++--++----++--++--++--++--++--++--++ *** -4 --++--++----++--++--++--++--++--++--++ *** -5 --++--++----++--++--++--++--++--++--++ *** -6 --++--++----++--++--++--++--++--++--++ *** -7 --++--++----++--++--++--++--++--++--++ *** -8 --++--++----++--++--++--++--++--++--++ *** -9 --++--++----++--++--++--++--++--++--++ *** -== BC11 == -0 ||--++----++-- *** -1 ||--++----++--++-- -2 ||--++----++--++--++--++--++--++--++--++ *** -3 ||--++----++--++--++--++--++--++--++--++ *** -4 ||--++----++--++--++--++--++--++--++--++ *** -5 ||--++----++--++--++--++--++--++--++--++ *** -6 ||--++----++--++--++--++--++--++--++--++ *** -7 ||--++----++--++--++--++--++--++--++--++ *** -8 ||--++----++--++--++--++--++--++--++--++ *** -9 ||--++----++--++--++--++--++--++--++--++ *** -true true true 15 -all good - -Dafny program verifier did not attempt verification 0 0 0 0 -2 -2 -2 -2 0 0 0 0 diff --git a/Test/comp/ForallNewSyntax.dfy b/Test/comp/ForallNewSyntax.dfy index c17bf86830e..85e609b37b3 100644 --- a/Test/comp/ForallNewSyntax.dfy +++ b/Test/comp/ForallNewSyntax.dfy @@ -1,10 +1,4 @@ -// RUN: %baredafny verify %args --relax-definite-assignment --function-syntax:3 --quantifier-syntax:4 "%s" > "%t" -// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:cs "%s" >> "%t" -// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:js "%s" >> "%t" -// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:go "%s" >> "%t" -// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:java "%s" >> "%t" -// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --function-syntax:3 --quantifier-syntax:4 --relax-definite-assignment method Main() { var arrayTests := new ArrayTests(); diff --git a/Test/comp/ForallNewSyntax.dfy.expect b/Test/comp/ForallNewSyntax.dfy.expect index 241ea9ea521..5b33d939607 100644 --- a/Test/comp/ForallNewSyntax.dfy.expect +++ b/Test/comp/ForallNewSyntax.dfy.expect @@ -1,183 +1,3 @@ - -Dafny program verifier finished with 25 verified, 0 errors - -Dafny program verifier did not attempt verification -Arrays: Basic cases -[0, 1, 2, 3, 4] -[0, 1, 2, 3, 4] -[0, 1, 4, 3, 8] - -Arrays: Wrong index -[0, 0, 1, 2, 3] -[0, 0, 1, 2, 3] -[1, 2, 3, 4, 5] - -Arrays: Sequence conversion -[2, 1, 4, 5, 6] -[0, 3, 3, 3, 4] - -Arrays: Index collection -[1, 1, 2, 3, 4] -[1, 1, 2, 3, 4] - -Arrays: Functions -[1, 1, 3, 4, 5] -[1, 1, 3, 4, 5] -[1, 2, 3, 3, 5] -[1, 2, 3, 4, 5] - -Multi-dimensional arrays -[[0, 2, 4], [1, 3, 5], [2, 4, 6]] -[[0, 1, 2], [2, 3, 4], [4, 5, 6]] - -Objects: Basic cases -[(0, 1.0), (0, 2.0), (0, 3.0)] -[(2, 1.0), (2, 2.0), (4, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] - -Objects: Bad field accesses -[(2, 1.0), (3, 2.0), (4, 3.0)] -[(2, 1.0), (2, 2.0), (2, 3.0)] -[(2, 1.0), (3, 2.0), (1, 3.0)] - -Objects: Functions -[(2, 1.0), (4, 2.0), (6, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] -[(3, 1.0), (4, 2.0), (5, 3.0)] - -Dafny program verifier did not attempt verification -Arrays: Basic cases -[0, 1, 2, 3, 4] -[0, 1, 2, 3, 4] -[0, 1, 4, 3, 8] - -Arrays: Wrong index -[0, 0, 1, 2, 3] -[0, 0, 1, 2, 3] -[1, 2, 3, 4, 5] - -Arrays: Sequence conversion -[2, 1, 4, 5, 6] -[0, 3, 3, 3, 4] - -Arrays: Index collection -[1, 1, 2, 3, 4] -[1, 1, 2, 3, 4] - -Arrays: Functions -[1, 1, 3, 4, 5] -[1, 1, 3, 4, 5] -[1, 2, 3, 3, 5] -[1, 2, 3, 4, 5] - -Multi-dimensional arrays -[[0, 2, 4], [1, 3, 5], [2, 4, 6]] -[[0, 1, 2], [2, 3, 4], [4, 5, 6]] - -Objects: Basic cases -[(0, 1.0), (0, 2.0), (0, 3.0)] -[(2, 1.0), (2, 2.0), (4, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] - -Objects: Bad field accesses -[(2, 1.0), (3, 2.0), (4, 3.0)] -[(2, 1.0), (2, 2.0), (2, 3.0)] -[(2, 1.0), (3, 2.0), (1, 3.0)] - -Objects: Functions -[(2, 1.0), (4, 2.0), (6, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] -[(3, 1.0), (4, 2.0), (5, 3.0)] - -Dafny program verifier did not attempt verification -Arrays: Basic cases -[0, 1, 2, 3, 4] -[0, 1, 2, 3, 4] -[0, 1, 4, 3, 8] - -Arrays: Wrong index -[0, 0, 1, 2, 3] -[0, 0, 1, 2, 3] -[1, 2, 3, 4, 5] - -Arrays: Sequence conversion -[2, 1, 4, 5, 6] -[0, 3, 3, 3, 4] - -Arrays: Index collection -[1, 1, 2, 3, 4] -[1, 1, 2, 3, 4] - -Arrays: Functions -[1, 1, 3, 4, 5] -[1, 1, 3, 4, 5] -[1, 2, 3, 3, 5] -[1, 2, 3, 4, 5] - -Multi-dimensional arrays -[[0, 2, 4], [1, 3, 5], [2, 4, 6]] -[[0, 1, 2], [2, 3, 4], [4, 5, 6]] - -Objects: Basic cases -[(0, 1.0), (0, 2.0), (0, 3.0)] -[(2, 1.0), (2, 2.0), (4, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] - -Objects: Bad field accesses -[(2, 1.0), (3, 2.0), (4, 3.0)] -[(2, 1.0), (2, 2.0), (2, 3.0)] -[(2, 1.0), (3, 2.0), (1, 3.0)] - -Objects: Functions -[(2, 1.0), (4, 2.0), (6, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] -[(3, 1.0), (4, 2.0), (5, 3.0)] - -Dafny program verifier did not attempt verification -Arrays: Basic cases -[0, 1, 2, 3, 4] -[0, 1, 2, 3, 4] -[0, 1, 4, 3, 8] - -Arrays: Wrong index -[0, 0, 1, 2, 3] -[0, 0, 1, 2, 3] -[1, 2, 3, 4, 5] - -Arrays: Sequence conversion -[2, 1, 4, 5, 6] -[0, 3, 3, 3, 4] - -Arrays: Index collection -[1, 1, 2, 3, 4] -[1, 1, 2, 3, 4] - -Arrays: Functions -[1, 1, 3, 4, 5] -[1, 1, 3, 4, 5] -[1, 2, 3, 3, 5] -[1, 2, 3, 4, 5] - -Multi-dimensional arrays -[[0, 2, 4], [1, 3, 5], [2, 4, 6]] -[[0, 1, 2], [2, 3, 4], [4, 5, 6]] - -Objects: Basic cases -[(0, 1.0), (0, 2.0), (0, 3.0)] -[(2, 1.0), (2, 2.0), (4, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] - -Objects: Bad field accesses -[(2, 1.0), (3, 2.0), (4, 3.0)] -[(2, 1.0), (2, 2.0), (2, 3.0)] -[(2, 1.0), (3, 2.0), (1, 3.0)] - -Objects: Functions -[(2, 1.0), (4, 2.0), (6, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] -[(3, 1.0), (4, 2.0), (5, 3.0)] - -Dafny program verifier did not attempt verification Arrays: Basic cases [0, 1, 2, 3, 4] [0, 1, 2, 3, 4] diff --git a/Test/comp/Ghosts.dfy b/Test/comp/Ghosts.dfy index 506fe0facb1..8afe8a36d3f 100644 --- a/Test/comp/Ghosts.dfy +++ b/Test/comp/Ghosts.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method M1() returns (x: int) { diff --git a/Test/comp/Ghosts.dfy.expect b/Test/comp/Ghosts.dfy.expect index 430a9c18fc0..d075ea048c1 100644 --- a/Test/comp/Ghosts.dfy.expect +++ b/Test/comp/Ghosts.dfy.expect @@ -1,55 +1,3 @@ - -Dafny program verifier finished with 8 verified, 0 errors - -Dafny program verifier did not attempt verification -hello, M2 -hello, M2 -hello, M3 -hello, M1 -hello, M1 -hello, M1 -hello, M2 -hello, M3 -hello, N0 -hello, N1 - -Dafny program verifier did not attempt verification -hello, M2 -hello, M2 -hello, M3 -hello, M1 -hello, M1 -hello, M1 -hello, M2 -hello, M3 -hello, N0 -hello, N1 - -Dafny program verifier did not attempt verification -hello, M2 -hello, M2 -hello, M3 -hello, M1 -hello, M1 -hello, M1 -hello, M2 -hello, M3 -hello, N0 -hello, N1 - -Dafny program verifier did not attempt verification -hello, M2 -hello, M2 -hello, M3 -hello, M1 -hello, M1 -hello, M1 -hello, M2 -hello, M3 -hello, N0 -hello, N1 - -Dafny program verifier did not attempt verification hello, M2 hello, M2 hello, M3 diff --git a/Test/comp/Let.dfy b/Test/comp/Let.dfy index 64dce8b90e6..2a639009c78 100644 --- a/Test/comp/Let.dfy +++ b/Test/comp/Let.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cs "%s" > "%t" -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method M() returns (x: int) { x := var y := 50; y; // non-top-level let diff --git a/Test/comp/Let.dfy.expect b/Test/comp/Let.dfy.expect index 667abc32458..f05dfc414c1 100644 --- a/Test/comp/Let.dfy.expect +++ b/Test/comp/Let.dfy.expect @@ -1,37 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors -50 58 -Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) -5 7 9 10 12 30 -5 7 -5 7 -12.0 15.0 15.0 15.0 - -Dafny program verifier finished with 5 verified, 0 errors -50 58 -Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) -5 7 9 10 12 30 -5 7 -5 7 -12.0 15.0 15.0 15.0 - -Dafny program verifier finished with 5 verified, 0 errors -50 58 -Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) -5 7 9 10 12 30 -5 7 -5 7 -12.0 15.0 15.0 15.0 - -Dafny program verifier finished with 5 verified, 0 errors -50 58 -Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) -5 7 9 10 12 30 -5 7 -5 7 -12.0 15.0 15.0 15.0 - -Dafny program verifier finished with 5 verified, 0 errors 50 58 Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) 5 7 9 10 12 30 diff --git a/Test/comp/MoreAutoInit.dfy b/Test/comp/MoreAutoInit.dfy index 46bdf7148f1..c72083f1be5 100644 --- a/Test/comp/MoreAutoInit.dfy +++ b/Test/comp/MoreAutoInit.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { Methods.TestStart(); diff --git a/Test/comp/MoreAutoInit.dfy.expect b/Test/comp/MoreAutoInit.dfy.expect index cc1ae3b994a..a3a230fd0f1 100644 --- a/Test/comp/MoreAutoInit.dfy.expect +++ b/Test/comp/MoreAutoInit.dfy.expect @@ -1,575 +1,3 @@ - -Dafny program verifier finished with 38 verified, 0 errors - -Dafny program verifier did not attempt verification -Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -{} - ++ {} -[] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -{2} - ++ {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni - ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni -Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni - ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni -Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni -Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni - ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni - ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni -[] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] - ** [] ++ [] -[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [] - ** [] ++ [] -[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [] -[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] - ++ [Consts_Compile.Uni.Uni] ++ [] - ** [] ++ [] ++ [] -15 -0-0 0.0-0.0 false-false 'D'-'D' 0 -0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 -0-0 0-0 0-0 0-0 1 1 -0.0-0.0 68.0 -null-null null-null null-null null-null -0 -0:0:0 -0-0 -{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] -DefaultValuedExpressions_Compile.Color.Red-DefaultValuedExpressions_Compile.Color.Red DefaultValuedExpressions_Compile.PossibleCell.Nothing-DefaultValuedExpressions_Compile.PossibleCell.Nothing DefaultValuedExpressions_Compile.Cell.LittleCell(0)-DefaultValuedExpressions_Compile.Cell.LittleCell(0) -()-() (0, 0.0)-(0, 0.0) -(DefaultValuedExpressions_Compile.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions_Compile.Color.Red, (0, 0.0), ()) -null-null null-null -0-0 0-0 0-0 3 4 5 -0-0 11 0-0 8 - -Dafny program verifier did not attempt verification -Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -{} - ++ {} -[] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -{2} - ++ {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni - ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni -Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni - ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni -Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni -Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni - ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni - ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni -[] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] - ** [] ++ [] -[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [] - ** [] ++ [] -[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [] -[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] - ++ [Consts_Compile.Uni.Uni] ++ [] - ** [] ++ [] ++ [] -15 -0-0 0.0-0.0 false-false 'D'-'D' 0 -0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 -0-0 0-0 0-0 0-0 1 1 -0.0-0.0 68.0 -null-null null-null null-null null-null -0 -0:0:0 -0-0 -{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] -DefaultValuedExpressions_Compile.Color.Red-DefaultValuedExpressions_Compile.Color.Red DefaultValuedExpressions_Compile.PossibleCell.Nothing-DefaultValuedExpressions_Compile.PossibleCell.Nothing DefaultValuedExpressions_Compile.Cell.LittleCell(0)-DefaultValuedExpressions_Compile.Cell.LittleCell(0) -()-() (0, 0.0)-(0, 0.0) -(DefaultValuedExpressions_Compile.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions_Compile.Color.Red, (0, 0.0), ()) -null-null null-null -0-0 0-0 0-0 3 4 5 -0-0 11 0-0 8 - -Dafny program verifier did not attempt verification -Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -{} - ++ {} -[] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -{2} - ++ {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni - ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni -Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni - ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni -Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni -Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni - ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni - ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni -[] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] - ** [] ++ [] -[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [] - ** [] ++ [] -[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [] -[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] - ++ [Consts_Compile.Uni.Uni] ++ [] - ** [] ++ [] ++ [] -15 -0-0 0.0-0.0 false-false 'D'-'D' 0 -0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 -0-0 0-0 0-0 0-0 1 1 -0.0-0.0 68.0 -null-null null-null null-null null-null -0 -0:0:0 -0-0 -{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] -DefaultValuedExpressions_Compile.Color.Red-DefaultValuedExpressions_Compile.Color.Red DefaultValuedExpressions_Compile.PossibleCell.Nothing-DefaultValuedExpressions_Compile.PossibleCell.Nothing DefaultValuedExpressions_Compile.Cell.LittleCell(0)-DefaultValuedExpressions_Compile.Cell.LittleCell(0) -()-() (0, 0.0)-(0, 0.0) -(DefaultValuedExpressions_Compile.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions_Compile.Color.Red, (0, 0.0), ()) -null-null null-null -0-0 0-0 0-0 3 4 5 -0-0 11 0-0 8 - -Dafny program verifier did not attempt verification -Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -{} - ++ {} -[] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -{2} - ++ {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni - ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni -Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni - ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni -Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni -Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni - ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni - ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni -[] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] - ** [] ++ [] -[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [] - ** [] ++ [] -[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [] -[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] - ++ [Consts_Compile.Uni.Uni] ++ [] - ** [] ++ [] ++ [] -15 -0-0 0.0-0.0 false-false 'D'-'D' 0 -0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 -0-0 0-0 0-0 0-0 1 1 -0.0-0.0 68.0 -null-null null-null null-null null-null -0 -0:0:0 -0-0 -{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] -DefaultValuedExpressions_Compile.Color.Red-DefaultValuedExpressions_Compile.Color.Red DefaultValuedExpressions_Compile.PossibleCell.Nothing-DefaultValuedExpressions_Compile.PossibleCell.Nothing DefaultValuedExpressions_Compile.Cell.LittleCell(0)-DefaultValuedExpressions_Compile.Cell.LittleCell(0) -()-() (0, 0.0)-(0, 0.0) -(DefaultValuedExpressions_Compile.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions_Compile.Color.Red, (0, 0.0), ()) -null-null null-null -0-0 0-0 0-0 3 4 5 -0-0 11 0-0 8 - -Dafny program verifier did not attempt verification Methods_Compile.Uni.Uni ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni diff --git a/Test/comp/NativeNumbers.dfy b/Test/comp/NativeNumbers.dfy index c63d02cf643..e1fadb1c406 100644 --- a/Test/comp/NativeNumbers.dfy +++ b/Test/comp/NativeNumbers.dfy @@ -1,11 +1,6 @@ +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false // Skip JavaScript because JavaScript doesn't have the same native types -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" method Main() { CastTests(); diff --git a/Test/comp/NativeNumbers.dfy.expect b/Test/comp/NativeNumbers.dfy.expect index 2be030252cf..6a9d263fc73 100644 --- a/Test/comp/NativeNumbers.dfy.expect +++ b/Test/comp/NativeNumbers.dfy.expect @@ -1,259 +1,3 @@ - -Dafny program verifier finished with 25 verified, 0 errors - -Dafny program verifier did not attempt verification -Casting: - -Small numbers: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 -5 5 5 5 5 5 5 5 5 -6 6 6 6 6 6 6 6 6 -7 7 7 7 7 7 7 7 7 -8 8 8 8 8 8 8 8 8 - -Large unsigned numbers: -255 255 255 255 255 255 255 255 -65535 65535 65535 65535 65535 65535 -4294967295 4294967295 4294967295 4294967295 -18446744073709551615 18446744073709551615 - -Int to large unsigned: -255 65535 4294967295 18446744073709551615 - -Cast from cardinality operator: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 - -Characters: -C 67 67 67 67 67 67 67 67 67 -0 127 32767 65535 65535 255 65535 65535 65535 - -Defaults: - -0 0 0 0 0 0 0 0 0 - -Byte arithmetic: - -20 30 -10 10 18 - -Short arithmetic: - -20 30 -10 10 18 - -Bitvectors: - -0 3 4 1 - -Comparison to zero: - -int8: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int16: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int32: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int64: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint8: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint16: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint32: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint64: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N - - -Dafny program verifier did not attempt verification -Casting: - -Small numbers: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 -5 5 5 5 5 5 5 5 5 -6 6 6 6 6 6 6 6 6 -7 7 7 7 7 7 7 7 7 -8 8 8 8 8 8 8 8 8 - -Large unsigned numbers: -255 255 255 255 255 255 255 255 -65535 65535 65535 65535 65535 65535 -4294967295 4294967295 4294967295 4294967295 -18446744073709551615 18446744073709551615 - -Int to large unsigned: -255 65535 4294967295 18446744073709551615 - -Cast from cardinality operator: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 - -Characters: -C 67 67 67 67 67 67 67 67 67 -0 127 32767 65535 65535 255 65535 65535 65535 - -Defaults: - -0 0 0 0 0 0 0 0 0 - -Byte arithmetic: - -20 30 -10 10 18 - -Short arithmetic: - -20 30 -10 10 18 - -Bitvectors: - -0 3 4 1 - -Comparison to zero: - -int8: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int16: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int32: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int64: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint8: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint16: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint32: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint64: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N - - -Dafny program verifier did not attempt verification -Casting: - -Small numbers: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 -5 5 5 5 5 5 5 5 5 -6 6 6 6 6 6 6 6 6 -7 7 7 7 7 7 7 7 7 -8 8 8 8 8 8 8 8 8 - -Large unsigned numbers: -255 255 255 255 255 255 255 255 -65535 65535 65535 65535 65535 65535 -4294967295 4294967295 4294967295 4294967295 -18446744073709551615 18446744073709551615 - -Int to large unsigned: -255 65535 4294967295 18446744073709551615 - -Cast from cardinality operator: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 - -Characters: -C 67 67 67 67 67 67 67 67 67 -0 127 32767 65535 65535 255 65535 65535 65535 - -Defaults: - -0 0 0 0 0 0 0 0 0 - -Byte arithmetic: - -20 30 -10 10 18 - -Short arithmetic: - -20 30 -10 10 18 - -Bitvectors: - -0 3 4 1 - -Comparison to zero: - -int8: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int16: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int32: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int64: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint8: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint16: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint32: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint64: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N - - -Dafny program verifier did not attempt verification Casting: Small numbers: diff --git a/Test/comp/NestedArrays.dfy b/Test/comp/NestedArrays.dfy index 0c2b313a32c..39d256f4936 100644 --- a/Test/comp/NestedArrays.dfy +++ b/Test/comp/NestedArrays.dfy @@ -1,9 +1,4 @@ -// RUN: %baredafny verify --relax-definite-assignment %args "%s" > "%t" -// RUN: %baredafny run --no-verify --target=cs %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=js %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=go %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=py %args "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /* Note, compiling to arrays in Java is difficult. In fact, this is currently * broken, see https://github.com/dafny-lang/dafny/issues/3055. Until this gets diff --git a/Test/comp/NestedArrays.dfy.expect b/Test/comp/NestedArrays.dfy.expect index a24d140b9d4..aa47d0d46d4 100644 --- a/Test/comp/NestedArrays.dfy.expect +++ b/Test/comp/NestedArrays.dfy.expect @@ -1,18 +1,2 @@ - -Dafny program verifier finished with 4 verified, 0 errors - -Dafny program verifier did not attempt verification -0 -0 - -Dafny program verifier did not attempt verification -0 -0 - -Dafny program verifier did not attempt verification -0 -0 - -Dafny program verifier did not attempt verification 0 0 diff --git a/Test/comp/Numbers.dfy b/Test/comp/Numbers.dfy index 36bf24dcdb4..c76bc87fdc0 100644 --- a/Test/comp/Numbers.dfy +++ b/Test/comp/Numbers.dfy @@ -1,10 +1,5 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false method Main() { Literals(); diff --git a/Test/comp/Numbers.dfy.expect b/Test/comp/Numbers.dfy.expect index 8d994e1c7c6..7eacf4e709d 100644 --- a/Test/comp/Numbers.dfy.expect +++ b/Test/comp/Numbers.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 59 verified, 0 errors - -Dafny program verifier did not attempt verification 0 0 3 @@ -113,455 +109,3 @@ true false true false false true false true true false true false 20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -g Q 2 -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -(312.0 / 40.0) (1248.0 / 40.0) -(-312.0 / 40.0) (-1248.0 / 40.0) -(-312.0 / 40.0) (1248.0 / 40.0) -(312.0 / 40.0) (-1248.0 / 40.0) -0.0 0.0 0.0 -120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) -123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 (8100.0 / 8100.0) -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -g Q 2 -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -g Q 2 -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -(312.0 / 40.0) (1248.0 / 40.0) -(-312.0 / 40.0) (-1248.0 / 40.0) -(-312.0 / 40.0) (1248.0 / 40.0) -(312.0 / 40.0) (-1248.0 / 40.0) -0.0 0.0 0.0 -120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) -123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 (8100.0 / 8100.0) -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -g Q 2 -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 diff --git a/Test/comp/Numbers.dfy.go.expect b/Test/comp/Numbers.dfy.go.expect new file mode 100644 index 00000000000..ce109553619 --- /dev/null +++ b/Test/comp/Numbers.dfy.go.expect @@ -0,0 +1,111 @@ +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +g Q 2 +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 diff --git a/Test/comp/Numbers.dfy.py.expect b/Test/comp/Numbers.dfy.py.expect new file mode 100644 index 00000000000..ce109553619 --- /dev/null +++ b/Test/comp/Numbers.dfy.py.expect @@ -0,0 +1,111 @@ +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +g Q 2 +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 diff --git a/Test/comp/Poly.dfy b/Test/comp/Poly.dfy index f3c3aa58599..5af5e8134e9 100644 --- a/Test/comp/Poly.dfy +++ b/Test/comp/Poly.dfy @@ -1,10 +1,5 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation trait Shape { function Center(): (real, real) reads this diff --git a/Test/comp/Poly.dfy.expect b/Test/comp/Poly.dfy.expect index 4ffff82d5ab..7dc24821586 100644 --- a/Test/comp/Poly.dfy.expect +++ b/Test/comp/Poly.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 15 verified, 0 errors - -Dafny program verifier did not attempt verification Center of square: ((1.0 / 2.0), (1.0 / 2.0)) Center of circle: (1.0, 1.0) Center: ((1.0 / 2.0), (1.0 / 2.0)) @@ -14,59 +10,3 @@ Center: ((1.0 / 2.0), (1.0 / 2.0)) Center: (1.0, 1.0) Center: ((1.0 / 2.0), (1.0 / 2.0)) Center: (1.0, 1.0) - -Dafny program verifier did not attempt verification -Center of square: ((1.0 / 2.0), (1.0 / 2.0)) -Center of circle: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) - -Dafny program verifier did not attempt verification -Center of square: ((1.0 / 2.0), (1.0 / 2.0)) -Center of circle: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) - -Dafny program verifier did not attempt verification -Center of square: (0.5, 0.5) -Center of circle: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) - -Dafny program verifier did not attempt verification -Center of square: (0.5, 0.5) -Center of circle: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) diff --git a/Test/comp/Poly.dfy.go.expect b/Test/comp/Poly.dfy.go.expect new file mode 100644 index 00000000000..88e09c5e6ff --- /dev/null +++ b/Test/comp/Poly.dfy.go.expect @@ -0,0 +1,12 @@ +Center of square: (0.5, 0.5) +Center of circle: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) diff --git a/Test/comp/Poly.dfy.py.expect b/Test/comp/Poly.dfy.py.expect new file mode 100644 index 00000000000..88e09c5e6ff --- /dev/null +++ b/Test/comp/Poly.dfy.py.expect @@ -0,0 +1,12 @@ +Center of square: (0.5, 0.5) +Center of circle: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) diff --git a/Test/comp/Print.dfy b/Test/comp/Print.dfy index 166bae4c351..39f8a447396 100644 --- a/Test/comp/Print.dfy +++ b/Test/comp/Print.dfy @@ -1,9 +1,5 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false // Python salts hashes so they are not deterministic. diff --git a/Test/comp/Print.dfy.expect b/Test/comp/Print.dfy.expect index c2b186af0ec..88ded65afab 100644 --- a/Test/comp/Print.dfy.expect +++ b/Test/comp/Print.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification Strings in collections: [abc, def] [[abc, def]] @@ -10,33 +6,3 @@ Strings in collections: [] [] [aaaaa] - -Dafny program verifier did not attempt verification -Strings in collections: - [abc, def] - [[abc, def]] - {abc, def} - [abc, def] - [] - [] - [aaaaa] - -Dafny program verifier did not attempt verification -Strings in collections: - [abc, def] - [[abc, def]] - {abc, def} - [abc, def] - [] - [] - [aaaaa] - -Dafny program verifier did not attempt verification -Strings in collections: - [abc, def] - [[abc, def]] - {abc, def} - [abc, def] - [] - [] - [aaaaa] diff --git a/Test/comp/Print.dfy.go.expect b/Test/comp/Print.dfy.go.expect new file mode 100644 index 00000000000..7ac90f01b3c --- /dev/null +++ b/Test/comp/Print.dfy.go.expect @@ -0,0 +1,8 @@ +Strings in collections: + [abc, def] + [[abc, def]] + {abc, def} + [abc, def] + [] + [] + [aaaaa] diff --git a/Test/comp/Print.dfy.java.expect b/Test/comp/Print.dfy.java.expect new file mode 100644 index 00000000000..7ac90f01b3c --- /dev/null +++ b/Test/comp/Print.dfy.java.expect @@ -0,0 +1,8 @@ +Strings in collections: + [abc, def] + [[abc, def]] + {abc, def} + [abc, def] + [] + [] + [aaaaa] diff --git a/Test/comp/Print.dfy.js.expect b/Test/comp/Print.dfy.js.expect new file mode 100644 index 00000000000..7ac90f01b3c --- /dev/null +++ b/Test/comp/Print.dfy.js.expect @@ -0,0 +1,8 @@ +Strings in collections: + [abc, def] + [[abc, def]] + {abc, def} + [abc, def] + [] + [] + [aaaaa] diff --git a/Test/comp/StaticMembersOfGenericTypes.dfy b/Test/comp/StaticMembersOfGenericTypes.dfy index 8c402dab951..8a8614d21a5 100644 --- a/Test/comp/StaticMembersOfGenericTypes.dfy +++ b/Test/comp/StaticMembersOfGenericTypes.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { GenericClass(); diff --git a/Test/comp/StaticMembersOfGenericTypes.dfy.expect b/Test/comp/StaticMembersOfGenericTypes.dfy.expect index 54e32b42ee5..196f1295e12 100644 --- a/Test/comp/StaticMembersOfGenericTypes.dfy.expect +++ b/Test/comp/StaticMembersOfGenericTypes.dfy.expect @@ -1,79 +1,3 @@ - -Dafny program verifier finished with 9 verified, 0 errors - -Dafny program verifier did not attempt verification -(0, 1) (true, 2, 3) -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -(2.0, true) (3.0, false) -(2.0, true) (3.0, false) -true false -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -50 3 4 -149 - -Dafny program verifier did not attempt verification -(0, 1) (true, 2, 3) -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -(2.0, true) (3.0, false) -(2.0, true) (3.0, false) -true false -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -50 3 4 -149 - -Dafny program verifier did not attempt verification -(0, 1) (true, 2, 3) -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -(2.0, true) (3.0, false) -(2.0, true) (3.0, false) -true false -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -50 3 4 -149 - -Dafny program verifier did not attempt verification -(0, 1) (true, 2, 3) -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -(2.0, true) (3.0, false) -(2.0, true) (3.0, false) -true false -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -50 3 4 -149 - -Dafny program verifier did not attempt verification (0, 1) (true, 2, 3) 0 25 (20, 21) (20, 21) 23 22 0 25 (20, 21) (20, 21) 23 22 diff --git a/Test/comp/TailRecursion.dfy b/Test/comp/TailRecursion.dfy index 68ba6ee4669..b3631d5eccc 100644 --- a/Test/comp/TailRecursion.dfy +++ b/Test/comp/TailRecursion.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { // In the following, 2_000_000 is too large an argument without tail-calls diff --git a/Test/comp/TailRecursion.dfy.expect b/Test/comp/TailRecursion.dfy.expect index 23c852a41fe..4b9da7e5093 100644 --- a/Test/comp/TailRecursion.dfy.expect +++ b/Test/comp/TailRecursion.dfy.expect @@ -1,79 +1,3 @@ - -Dafny program verifier finished with 28 verified, 0 errors - -Dafny program verifier did not attempt verification -2000000 2000000 -2000000 2000000 -1000000 1000000 -10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 -TriangleNumber(10) = 55 -TriangleNumber_Real(10) = 55.0 -TriangleNumber_ORDINAL(10) = 55 -Factorial(5) = 120 -Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] -UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] -Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 -TheBigSubtract(100) = -12 -TailNat(10) = 50 -17 17 17 -2000000 - -Dafny program verifier did not attempt verification -2000000 2000000 -2000000 2000000 -1000000 1000000 -10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 -TriangleNumber(10) = 55 -TriangleNumber_Real(10) = 55.0 -TriangleNumber_ORDINAL(10) = 55 -Factorial(5) = 120 -Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] -UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] -Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 -TheBigSubtract(100) = -12 -TailNat(10) = 50 -17 17 17 -2000000 - -Dafny program verifier did not attempt verification -2000000 2000000 -2000000 2000000 -1000000 1000000 -10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 -TriangleNumber(10) = 55 -TriangleNumber_Real(10) = 55.0 -TriangleNumber_ORDINAL(10) = 55 -Factorial(5) = 120 -Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] -UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] -Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 -TheBigSubtract(100) = -12 -TailNat(10) = 50 -17 17 17 -2000000 - -Dafny program verifier did not attempt verification -2000000 2000000 -2000000 2000000 -1000000 1000000 -10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 -TriangleNumber(10) = 55 -TriangleNumber_Real(10) = 55.0 -TriangleNumber_ORDINAL(10) = 55 -Factorial(5) = 120 -Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] -UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] -Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 -TheBigSubtract(100) = -12 -TailNat(10) = 50 -17 17 17 -2000000 - -Dafny program verifier did not attempt verification 2000000 2000000 2000000 2000000 1000000 1000000 diff --git a/Test/comp/TypeDescriptors.dfy b/Test/comp/TypeDescriptors.dfy index 636cb3db583..5bedbb900e4 100644 --- a/Test/comp/TypeDescriptors.dfy +++ b/Test/comp/TypeDescriptors.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Method(s: string, g: G) { var zero: G; diff --git a/Test/comp/TypeDescriptors.dfy.expect b/Test/comp/TypeDescriptors.dfy.expect index 9b1e8487bdc..1b09338c83d 100644 --- a/Test/comp/TypeDescriptors.dfy.expect +++ b/Test/comp/TypeDescriptors.dfy.expect @@ -1,155 +1,3 @@ - -Dafny program verifier finished with 11 verified, 0 errors - -Dafny program verifier did not attempt verification -int: 8 0 -bool: true false -char: 'r' 'D' -real: 1.618 0.0 -ORDINAL: 0 -bv0: 0 0 -bv21: 121 0 -bv32: 132 0 -bv191: 191 0 -set: {7} {} -multiset: multiset{7, 7} multiset{} -seq: [7] [] -map: map[2 := 7] map[] -pos: 3 1 -Hundred: 6 0 -HundredOdd: 13 19 -JustOdd: 131 5 -(): () () -(int, real): (2, 3.2) (0, 0.0) -(int, pos): (2, 3) (0, 1) -AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) -Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) -Stream: Stream.More -A=int: 15 0 -B=int: 16 0 -datatype.B=: {14} {} -object?: null -Class?>: null -Trait?>: null -array?: null -array2?: null -int --> bool: null -array? ~> bool: null - -Dafny program verifier did not attempt verification -int: 8 0 -bool: true false -char: 'r' 'D' -real: 1.618 0.0 -ORDINAL: 0 -bv0: 0 0 -bv21: 121 0 -bv32: 132 0 -bv191: 191 0 -set: {7} {} -multiset: multiset{7, 7} multiset{} -seq: [7] [] -map: map[2 := 7] map[] -pos: 3 1 -Hundred: 6 0 -HundredOdd: 13 19 -JustOdd: 131 5 -(): () () -(int, real): (2, 3.2) (0, 0.0) -(int, pos): (2, 3) (0, 1) -AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) -Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) -Stream: Stream.More -A=int: 15 0 -B=int: 16 0 -datatype.B=: {14} {} -object?: null -Class?>: null -Trait?>: null -array?: null -array2?: null -int --> bool: null -array? ~> bool: null - -Dafny program verifier did not attempt verification -int: 8 0 -bool: true false -char: 'r' 'D' -real: 1.618 0.0 -ORDINAL: 0 -bv0: 0 0 -bv21: 121 0 -bv32: 132 0 -bv191: 191 0 -set: {7} {} -multiset: multiset{7, 7} multiset{} -seq: [7] [] -map: map[2 := 7] map[] -pos: 3 1 -Hundred: 6 0 -HundredOdd: 13 19 -JustOdd: 131 5 -(): () () -(int, real): (2, 3.2) (0, 0.0) -(int, pos): (2, 3) (0, 1) -AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) -Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) -Stream: Stream.More -A=int: 15 0 -B=int: 16 0 -datatype.B=: {14} {} -object?: null -Class?>: null -Trait?>: null -array?: null -array2?: null -int --> bool: null -array? ~> bool: null - -Dafny program verifier did not attempt verification -int: 8 0 -bool: true false -char: 'r' 'D' -real: 1.618 0.0 -ORDINAL: 0 -bv0: 0 0 -bv21: 121 0 -bv32: 132 0 -bv191: 191 0 -set: {7} {} -multiset: multiset{7, 7} multiset{} -seq: [7] [] -map: map[2 := 7] map[] -pos: 3 1 -Hundred: 6 0 -HundredOdd: 13 19 -JustOdd: 131 5 -(): () () -(int, real): (2, 3.2) (0, 0.0) -(int, pos): (2, 3) (0, 1) -AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) -Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) -Stream: Stream.More -A=int: 15 0 -B=int: 16 0 -datatype.B=: {14} {} -object?: null -Class?>: null -Trait?>: null -array?: null -array2?: null -int --> bool: null -array? ~> bool: null - -Dafny program verifier did not attempt verification int: 8 0 bool: true false char: 'r' 'D' diff --git a/Test/comp/TypeParams.dfy b/Test/comp/TypeParams.dfy index 11d1b3bac6a..c595881e028 100644 --- a/Test/comp/TypeParams.dfy +++ b/Test/comp/TypeParams.dfy @@ -1,11 +1,6 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" - -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation + datatype Color = Orange | Pink | Teal type Six = x | x <= 6 diff --git a/Test/comp/TypeParams.dfy.expect b/Test/comp/TypeParams.dfy.expect index ac8ef1c58e5..1381a030f65 100644 --- a/Test/comp/TypeParams.dfy.expect +++ b/Test/comp/TypeParams.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 17 verified, 0 errors - -Dafny program verifier did not attempt verification 0 0 0 false Color.Orange 0.0 {} Color.Orange null null null null null {} multiset{} [] map[] {} map[] @@ -21,87 +17,3 @@ System.Func`2[Dafny.BigRational,System.Boolean] System.Func`1[System.Numerics.BigInteger] System.Func`3[_module._IColor,Dafny.ISet`1[System.UInt16],System.UInt32] 0 0 - -Dafny program verifier did not attempt verification -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -function () { return false; } -function () { return _dafny.ZERO; } -function () { return _dafny.ZERO; } -0 0 - -Dafny program verifier did not attempt verification -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -func(dafny.Real) bool -func() dafny.Int -func(main.Color, dafny.Set) uint32 -0 0 - -Dafny program verifier did not attempt verification -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -Function -Function -Function -0 0 - -Dafny program verifier did not attempt verification -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -Function -Function -Function -0 0 diff --git a/Test/comp/TypeParams.dfy.go.expect b/Test/comp/TypeParams.dfy.go.expect new file mode 100644 index 00000000000..e3a8e67d066 --- /dev/null +++ b/Test/comp/TypeParams.dfy.go.expect @@ -0,0 +1,19 @@ +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +func(dafny.Real) bool +func() dafny.Int +func(main.Color, dafny.Set) uint32 +0 0 diff --git a/Test/comp/TypeParams.dfy.java.expect b/Test/comp/TypeParams.dfy.java.expect new file mode 100644 index 00000000000..5f843ba06d1 --- /dev/null +++ b/Test/comp/TypeParams.dfy.java.expect @@ -0,0 +1,19 @@ +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +Function +Function +Function +0 0 diff --git a/Test/comp/TypeParams.dfy.js.expect b/Test/comp/TypeParams.dfy.js.expect new file mode 100644 index 00000000000..865c33ea48b --- /dev/null +++ b/Test/comp/TypeParams.dfy.js.expect @@ -0,0 +1,19 @@ +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +function () { return false; } +function () { return _dafny.ZERO; } +function () { return _dafny.ZERO; } +0 0 diff --git a/Test/comp/TypeParams.dfy.py.expect b/Test/comp/TypeParams.dfy.py.expect new file mode 100644 index 00000000000..5f843ba06d1 --- /dev/null +++ b/Test/comp/TypeParams.dfy.py.expect @@ -0,0 +1,19 @@ +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +Function +Function +Function +0 0 diff --git a/Test/comp/UnoptimizedErasableTypeWrappers.dfy b/Test/comp/UnoptimizedErasableTypeWrappers.dfy index 58f0682ed41..b7911aed9db 100644 --- a/Test/comp/UnoptimizedErasableTypeWrappers.dfy +++ b/Test/comp/UnoptimizedErasableTypeWrappers.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --optimize-erasable-datatype-wrapper:false --relax-definite-assignment --spill-translation datatype SingletonRecord = SingletonRecord(u: int) datatype WithGhost = WithGhost(u: int, ghost v: int) diff --git a/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect b/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect index be1d7190b0f..3371376a52b 100644 --- a/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect +++ b/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect @@ -1,31 +1,3 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification -SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) -() (30) (31) (30, 32) -15 20 -30 31 30 32 - -Dafny program verifier did not attempt verification -SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) -() (30) (31) (30, 32) -15 20 -30 31 30 32 - -Dafny program verifier did not attempt verification -SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) -() (30) (31) (30, 32) -15 20 -30 31 30 32 - -Dafny program verifier did not attempt verification -SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) -() (30) (31) (30, 32) -15 20 -30 31 30 32 - -Dafny program verifier did not attempt verification SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) () (30) (31) (30, 32) 15 20 diff --git a/Test/comp/Variance.dfy b/Test/comp/Variance.dfy index 6c198495209..2ee3cfe3324 100644 --- a/Test/comp/Variance.dfy +++ b/Test/comp/Variance.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 /deprecation:0 "%s" > "%t" -// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /deprecation:0 datatype Co<+T> = Co(z: T) { const x: int; diff --git a/Test/comp/Variance.dfy.expect b/Test/comp/Variance.dfy.expect index cf08d82ac07..5bb565b6bb4 100644 --- a/Test/comp/Variance.dfy.expect +++ b/Test/comp/Variance.dfy.expect @@ -1,67 +1,3 @@ - -Dafny program verifier finished with 13 verified, 0 errors - -Dafny program verifier did not attempt verification -Co.Co(_module.Int) and Co.Co(_module.Int) -true0[]0000 -Non.Non(_module.Int) and Non.Non(_module.Int) -true0[]0000 -0 and 0 -_module.Int0[]0000 -CCo.CCo and CCo.CCo -true0[]0000 -CNon.CNon and CNon.CNon -true0[]0000 -CCon.CCon and CCon.CCon -_module.Int0[]0000 -Done - -Dafny program verifier did not attempt verification -Co.Co(_module.Int) and Co.Co(_module.Int) -true0[]0000 -Non.Non(_module.Int) and Non.Non(_module.Int) -true0[]0000 -0 and 0 -_module.Int0[]0000 -CCo.CCo and CCo.CCo -true0[]0000 -CNon.CNon and CNon.CNon -true0[]0000 -CCon.CCon and CCon.CCon -_module.Int0[]0000 -Done - -Dafny program verifier did not attempt verification -Co.Co(_module.Int) and Co.Co(_module.Int) -true0[]0000 -Non.Non(_module.Int) and Non.Non(_module.Int) -true0[]0000 -0 and 0 -_module.Int0[]0000 -CCo.CCo and CCo.CCo -true0[]0000 -CNon.CNon and CNon.CNon -true0[]0000 -CCon.CCon and CCon.CCon -_module.Int0[]0000 -Done - -Dafny program verifier did not attempt verification -Co.Co(_module.Int) and Co.Co(_module.Int) -true0[]0000 -Non.Non(_module.Int) and Non.Non(_module.Int) -true0[]0000 -0 and 0 -_module.Int0[]0000 -CCo.CCo and CCo.CCo -true0[]0000 -CNon.CNon and CNon.CNon -true0[]0000 -CCon.CCon and CCon.CCon -_module.Int0[]0000 -Done - -Dafny program verifier did not attempt verification Co.Co(_module.Int) and Co.Co(_module.Int) true0[]0000 Non.Non(_module.Int) and Non.Non(_module.Int) diff --git a/Test/comp/Various.dfy b/Test/comp/Various.dfy index 1f29c511a83..502801e4c2a 100644 --- a/Test/comp/Various.dfy +++ b/Test/comp/Various.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Match(tp: (nat, nat)) { match tp diff --git a/Test/comp/Various.dfy.expect b/Test/comp/Various.dfy.expect index 502e2d04792..66f013c00f7 100644 --- a/Test/comp/Various.dfy.expect +++ b/Test/comp/Various.dfy.expect @@ -1,43 +1,3 @@ - -Dafny program verifier finished with 4 verified, 0 errors - -Dafny program verifier did not attempt verification -match -1 -Kablammo!! -0 -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] - -Dafny program verifier did not attempt verification -match -1 -Kablammo!! -0 -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] - -Dafny program verifier did not attempt verification -match -1 -Kablammo!! -0 -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] - -Dafny program verifier did not attempt verification -match -1 -Kablammo!! -0 -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] - -Dafny program verifier did not attempt verification match 1 Kablammo!! diff --git a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy index 10fe57dec8f..2cf77360cab 100644 --- a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy +++ b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // An extremely small program intended to be the first target input for // brand new Dafny compilers. Avoids any use of strings (and therefore sequences) diff --git a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect index e1dcaef650b..f32a5804e29 100644 --- a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect +++ b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect @@ -1,5 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification true \ No newline at end of file diff --git a/Test/comp/firstSteps/1_Calls-F.dfy b/Test/comp/firstSteps/1_Calls-F.dfy index 32566f59f3b..4fe5b83e551 100644 --- a/Test/comp/firstSteps/1_Calls-F.dfy +++ b/Test/comp/firstSteps/1_Calls-F.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/1_Calls-F.dfy.expect b/Test/comp/firstSteps/1_Calls-F.dfy.expect index 58e0a68ec1c..7ed6ff82de6 100644 --- a/Test/comp/firstSteps/1_Calls-F.dfy.expect +++ b/Test/comp/firstSteps/1_Calls-F.dfy.expect @@ -1,5 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification 5 diff --git a/Test/comp/firstSteps/2_Modules.dfy b/Test/comp/firstSteps/2_Modules.dfy index 750b8d60c21..d0effcb5a71 100644 --- a/Test/comp/firstSteps/2_Modules.dfy +++ b/Test/comp/firstSteps/2_Modules.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module A { const i: nat := 1 diff --git a/Test/comp/firstSteps/2_Modules.dfy.expect b/Test/comp/firstSteps/2_Modules.dfy.expect index 9a4b57459c7..b85905ec0b9 100644 --- a/Test/comp/firstSteps/2_Modules.dfy.expect +++ b/Test/comp/firstSteps/2_Modules.dfy.expect @@ -1,5 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification 1 2 3 diff --git a/Test/comp/firstSteps/3_Calls-As.dfy b/Test/comp/firstSteps/3_Calls-As.dfy index f22bbdbd3f6..38889421865 100644 --- a/Test/comp/firstSteps/3_Calls-As.dfy +++ b/Test/comp/firstSteps/3_Calls-As.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/3_Calls-As.dfy.expect b/Test/comp/firstSteps/3_Calls-As.dfy.expect index eea6c52592c..a1c59bb761f 100644 --- a/Test/comp/firstSteps/3_Calls-As.dfy.expect +++ b/Test/comp/firstSteps/3_Calls-As.dfy.expect @@ -1,5 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification 0 0 false 0 false 0 diff --git a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy index 89fb669dca0..6a66781ff0d 100644 --- a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy +++ b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect index e7498a27e3e..a8d09f0a6f5 100644 --- a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect +++ b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect @@ -1,6 +1,2 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification 5 3 5 3 5 3 5 3 diff --git a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy index 096523f8956..1175b1eca8f 100644 --- a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy +++ b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect index 8954da2b386..ef3de96e567 100644 --- a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect +++ b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect @@ -1,6 +1,2 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification 5 3 5 3 diff --git a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy index 1fbaebdf4e9..5d970ac4de5 100644 --- a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy +++ b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect index b6ffe78bcbb..4ff62e33956 100644 --- a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect +++ b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 4 verified, 0 errors - -Dafny program verifier did not attempt verification 15 [0, 1, 2, 4] [0, 2, 4] diff --git a/Test/comp/firstSteps/7_Arrays.dfy b/Test/comp/firstSteps/7_Arrays.dfy index 07ddf89594b..d02c942c9bb 100644 --- a/Test/comp/firstSteps/7_Arrays.dfy +++ b/Test/comp/firstSteps/7_Arrays.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Arrays.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/7_Arrays.dfy.expect b/Test/comp/firstSteps/7_Arrays.dfy.expect index 75e824c80bb..fa00285c692 100644 --- a/Test/comp/firstSteps/7_Arrays.dfy.expect +++ b/Test/comp/firstSteps/7_Arrays.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 7 verified, 0 errors - -Dafny program verifier did not attempt verification 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/comp/firstSteps/7_Dt_Algebraic.dfy b/Test/comp/firstSteps/7_Dt_Algebraic.dfy index 991462d8bdf..46a2995b37f 100644 --- a/Test/comp/firstSteps/7_Dt_Algebraic.dfy +++ b/Test/comp/firstSteps/7_Dt_Algebraic.dfy @@ -1,7 +1,5 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Dt.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect new file mode 100644 index 00000000000..ba1b72ea6f7 --- /dev/null +++ b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect @@ -0,0 +1,11 @@ +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} +42 'q' hello +1701 diff --git a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect index ec9b49fe420..e3ff7faba6e 100644 --- a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect +++ b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 7 verified, 0 errors - -Dafny program verifier did not attempt verification List.Nil List.Cons(5, List.Nil) (List.Nil, List.Cons(5, List.Nil)) @@ -13,16 +9,3 @@ List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, Li {Berry.Hallon, Berry.Smultron, Berry.Jordgubb} 42 'q' hello 1701 - -Dafny program verifier did not attempt verification -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} -42 'q' hello -1701 diff --git a/Test/dafny0/ArrayElementInitCompile.dfy b/Test/dafny0/ArrayElementInitCompile.dfy index 7d652486b9e..3714cf0fe8e 100644 --- a/Test/dafny0/ArrayElementInitCompile.dfy +++ b/Test/dafny0/ArrayElementInitCompile.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 /print:"%t.print" /rprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false method Main() { diff --git a/Test/dafny0/ArrayElementInitCompile.dfy.expect b/Test/dafny0/ArrayElementInitCompile.dfy.expect index a5241c75f19..eaa3e759999 100644 --- a/Test/dafny0/ArrayElementInitCompile.dfy.expect +++ b/Test/dafny0/ArrayElementInitCompile.dfy.expect @@ -1,79 +1,3 @@ - -Dafny program verifier finished with 18 verified, 0 errors - -Dafny program verifier did not attempt verification -67 67 67 67 67 67 67 67 -0 1 2 3 -1 2 3 4 -2 3 4 5 -3 4 5 6 -4 5 6 7 -O . O . O . O . O . O . -12 12 12 12 12 12 12 12 12 12 12 12 -D E -y z -4 3 -7 -100 75 98 25 - -looks like this rocks --2 -1 0 1 2 3 4 - -Dafny program verifier did not attempt verification -67 67 67 67 67 67 67 67 -0 1 2 3 -1 2 3 4 -2 3 4 5 -3 4 5 6 -4 5 6 7 -O . O . O . O . O . O . -12 12 12 12 12 12 12 12 12 12 12 12 -D E -y z -4 3 -7 -100 75 98 25 - -looks like this rocks --2 -1 0 1 2 3 4 - -Dafny program verifier did not attempt verification -67 67 67 67 67 67 67 67 -0 1 2 3 -1 2 3 4 -2 3 4 5 -3 4 5 6 -4 5 6 7 -O . O . O . O . O . O . -12 12 12 12 12 12 12 12 12 12 12 12 -D E -y z -4 3 -7 -100 75 98 25 - -looks like this rocks --2 -1 0 1 2 3 4 - -Dafny program verifier did not attempt verification -67 67 67 67 67 67 67 67 -0 1 2 3 -1 2 3 4 -2 3 4 5 -3 4 5 6 -4 5 6 7 -O . O . O . O . O . O . -12 12 12 12 12 12 12 12 12 12 12 12 -D E -y z -4 3 -7 -100 75 98 25 - -looks like this rocks --2 -1 0 1 2 3 4 - -Dafny program verifier did not attempt verification 67 67 67 67 67 67 67 67 0 1 2 3 1 2 3 4 diff --git a/Test/dafny0/Bitvectors.dfy b/Test/dafny0/Bitvectors.dfy index 9dbb798fa4a..7cdeaefb0c1 100644 --- a/Test/dafny0/Bitvectors.dfy +++ b/Test/dafny0/Bitvectors.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /print:"%t.print" /rprint:- /env:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /env:0 method M(a: bv1, b: bv32) returns (c: bv32, d: bv1) { diff --git a/Test/dafny0/Bitvectors.dfy.expect b/Test/dafny0/Bitvectors.dfy.expect index 09b34e5011a..ed1c7328e83 100644 --- a/Test/dafny0/Bitvectors.dfy.expect +++ b/Test/dafny0/Bitvectors.dfy.expect @@ -1,493 +1,3 @@ -// Bitvectors.dfy - -/* -module _System { - /* CALL GRAPH for module _System: - * SCC at height 1: - * RotateLeft - * SCC at height 1: - * RotateRight - * SCC at height 0: - * array - * SCC at height 0: - * nat - * SCC at height 0: - * object - */ - type string(==,0) = seq - - type {:axiom} nat(==,0) = x: int - | 0 <= x - - trait {:compile false} object { } - /*-- non-null type - type {:axiom} object(==) = c: object? | c != null /*special witness*/ - */ - - class {:compile false} array { - var Length: int // immutable - } - /*-- non-null type - type {:axiom} array(==) = c: array? | c != null /*special witness*/ - */ - - type {:compile false} /*_#Func1*/ -T0 ~> +R { - ghost function requires(x0: T0): bool - reads reads(x0) - - ghost function reads(x0: T0): set - reads reads(x0) - } - - type {:compile false} /*_#PartialFunc1*/ -T0 --> +R = f: T0 ~> R - | forall x0: T0 :: f.reads(x0) == {} - /*special witness*/ - - type {:compile false} /*_#TotalFunc1*/ -T0 -> +R = f: T0 --> R - | forall x0: T0 :: f.requires(x0) - /*special witness*/ - - type {:compile false} /*_#Func0*/ () ~> +R { - ghost function requires(): bool - reads reads() - - ghost function reads(): set - reads reads() - } - - type {:compile false} /*_#PartialFunc0*/ () --> +R = f: () ~> R - | f.reads() == {} - /*special witness*/ - - type {:compile false} /*_#TotalFunc0*/ () -> +R = f: () --> R - | f.requires() - /*special witness*/ - - datatype {:compile false} /*_tuple#2*/ (+T0, +T1) = _#Make2(0: T0, 1: T1) - - type bool { } - - type int { } - - type real { - var Floor: int // immutable - } - - type ORDINAL { - var IsLimit: bool // immutable - var IsSucc: bool // immutable - var Offset: int // immutable - var IsNat: bool // immutable - } - - type _bv { - function RotateLeft(w: nat): selftype - - function RotateRight(w: nat): selftype - } - - type map<+T, +U> { - var Keys: set // immutable - var Values: set // immutable - var Items: set<(T, U)> // immutable - } - - type imap<*T, +U> { - var Keys: iset // immutable - var Values: iset // immutable - var Items: iset<(T, U)> // immutable - } - - datatype {:compile false} /*_tuple#0*/ () = _#Make0 -} -// bitvector types in use: bv1 bv32 bv47 bv16 bv0 bv67 bv64 bv53 bv33 bv31 bv15 bv8 bv6 bv2 bv7 bv12 bv3 -*/ - -/* CALL GRAPH for module _module: - * SCC at height 2: - * Main - * SCC at height 1: - * DoArith32 - * SCC at height 1: - * Rotates - * SCC at height 1: - * Shifts - * SCC at height 1: - * TestCompilationTruncations - * SCC at height 0: - * Arithmetic - * SCC at height 0: - * BitwiseOperations - * SCC at height 0: - * Bv0Stuff - * SCC at height 0: - * Handful - * SCC at height 0: - * M - * SCC at height 0: - * M0 - * SCC at height 0: - * M1 - * SCC at height 0: - * M15 - * SCC at height 0: - * M16 - * SCC at height 0: - * M31 - * SCC at height 0: - * M32 - * SCC at height 0: - * M33 - * SCC at height 0: - * M53 - * SCC at height 0: - * M6 - * SCC at height 0: - * M64 - * SCC at height 0: - * M67 - * SCC at height 0: - * M8 - * SCC at height 0: - * P2 - * SCC at height 0: - * PrintRotates - * SCC at height 0: - * PrintShifts - * SCC at height 0: - * SummoTests - * SCC at height 0: - * Unary - */ -newtype Handful = x: int - | 0 <= x < 80 - -method M(a: bv1, b: bv32) - returns (c: bv32, d: bv1) - decreases a, b -{ - c := b; - d := a; - var x: bv32 := 5000; - c := x; - var y: bv32 := 4000; - y := c; -} - -method Main() -{ - var x: bv32 := 4000; - var y: bv32 := 4000; - var z: bv32; - var w: bv32; - if x == y { - z := x; - } else { - w := y; - } - print x, " ", y, " ", z, " ", w, "\n"; - var t: bv47, u: bv47, v: bv47 := BitwiseOperations(); - print t, " ", u, " ", v, "\n"; - DoArith32(); - var unry: bv16 := Unary(5); - print "bv16: 5 - 2 == ", unry, "\n"; - unry := Unary(1); - print "bv16: 1 - 2 == ", unry, "\n"; - SummoTests(); - var zz0: bv0; - var zz1: bv0 := Bv0Stuff(zz0, 0); - print zz0, " ", zz1, "\n"; - print zz0 < zz1, " ", zz0 <= zz1, " ", zz0 >= zz1, " ", zz0 > zz1, "\n"; - TestCompilationTruncations(); - Shifts(); - Rotates(); -} - -method BitwiseOperations() returns (a: bv47, b: bv47, c: bv47) -{ - b, c := 2053, 1099; - a := b & c; - a := a | a | (b & b & c & (a ^ b ^ c) & a); -} - -method Arithmetic(x: bv32, y: bv32) - returns (r: bv32, s: bv32) - ensures r == x + y && s == y - x - decreases x, y -{ - r := x + y; - s := y - x; -} - -method DoArith32() -{ - var r: bv32, s: bv32 := Arithmetic(65, 120); - print r, " ", s, "\n"; - var x: bv32, y: bv32 := 2147483647, 2147483651; - r, s := Arithmetic(x, y); - assert r == 2 && s == 4; - print r, " ", s, "\n"; - assert x < y && x <= y && y >= x && y > x; - print "Comparisons: ", x < y, " ", x <= y, " ", x >= y, " ", x > y, "\n"; -} - -method Unary(x: bv16) returns (y: bv16) - ensures y == x - 2 - decreases x -{ - y := --!-!!--x; - y := !-y; - var F: bv16 := 65535; - calc == { - y; - == - !---!-!!--x; - == - F - ---!-!!--x; - == - { - assert ---!-!!--x == -!-!!--x; - } - F - -!-!!--x; - == - F + !-!!--x; - == - F + F - -!!--x; - == - F + F + !!--x; - == - { - assert !!--x == --x == x; - } - F + F + x; - == - x - 2; - } -} - -method SummoTests() -{ - var a: bv64 := 5; - a := 2 * 2 * 2 * 2 * 2 * a * 2 * 2 * 2 * 2 * 2; - var b: bv64 := a / 512; - assert b == 10; - assert b / 3 == 3 && b / 4 == 2; - assert b % 3 == 1 && b % 4 == 2; - print b / 3, " ", b % 4, "\n"; -} - -method Bv0Stuff(x: bv0, y: bv0) returns (z: bv0) - ensures z == 0 - decreases x, y -{ - z := x + y; - z := x * z - y; - z := (x ^ z) | (y & y); - z := !z + -z; -} - -method TestCompilationTruncations() -{ - M67(-1, 3); - M64(-1, 3); - M53(-1, 3); - M33(-1, 3); - M32(-1, 3); - M31(-1, 3); - M16(-1, 3); - M15(-1, 3); - M8(-1, 3); - M6(-1, 3); - M1(1, 1); - M0(0, 0); - P2(3, 2); -} - -method M67(a: bv67, b: bv67) - decreases a, b -{ - print "bv67: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; -} - -method M64(a: bv64, b: bv64) - decreases a, b -{ - print "bv64: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; -} - -method M53(a: bv53, b: bv53) - decreases a, b -{ - print "bv53: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; -} - -method M33(a: bv33, b: bv33) - decreases a, b -{ - print "bv33: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; -} - -method M32(a: bv32, b: bv32) - decreases a, b -{ - print "bv32: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; -} - -method M31(a: bv31, b: bv31) - decreases a, b -{ - print "bv31: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; -} - -method M16(a: bv16, b: bv16) - decreases a, b -{ - print "bv16: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; -} - -method M15(a: bv15, b: bv15) - decreases a, b -{ - print "bv15: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; -} - -method M8(a: bv8, b: bv8) - decreases a, b -{ - print "bv8: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; -} - -method M6(a: bv6, b: bv6) - decreases a, b -{ - print "bv6: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; -} - -method M1(a: bv1, b: bv1) - decreases a, b -{ - print "bv1: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; -} - -method M0(a: bv0, b: bv0) - decreases a, b -{ - print "bv0: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; -} - -method P2(a: bv2, b: bv2) - requires b != 0 - decreases a, b -{ - print "bv2:\n"; - print " ", a, " + ", b, " == ", a + b, "\n"; - print " ", a, " - ", b, " == ", a - b, "\n"; - print " ", a, " * ", b, " == ", a * b, "\n"; - print " ", a, " / ", b, " == ", a / b, "\n"; - print " ", a, " % ", b, " == ", a % b, "\n"; -} - -method Shifts() -{ - var x: int, h: Handful, b67: bv67, w: bv32, seven: bv7, bb: bv2, noll: bv0; - x, h := 3, 3; - b67, w, seven := 5, 5, 5; - PrintShifts("bv67", b67, 8 * b67, b67 << x as bv7, b67 << h as bv7); - PrintShifts("bv32", w, 8 * w, w << x as bv6, w << h as bv6); - PrintShifts("bv7", seven, 8 * seven, seven << x as bv3, seven << h as bv3); - bb, x, h := 1, 1, 1; - PrintShifts("bv2", bb, 2 * bb, bb << x as bv2, bb << h as bv2); - x, h := 0, 0; - PrintShifts("bv0", noll, 0 * noll, noll << x as bv0, noll << h as bv0); - b67, w, bb, noll := 73786976294838206465, 1, 1, 0; - var One67: bv67 := 1; - PrintShifts("bv67 again", b67 << One67 as bv7, b67 << w as bv7, b67 << bb as bv7, b67 << noll as bv7); - b67, w, bb, noll := 2, 3221225472 + 2000, 1, 0; - var Two32: bv32 := 2; - PrintShifts("bv32 again", w << b67 as bv6, w << Two32 as bv6, w << bb as bv6, w << noll as bv6); - seven, b67, w, bb, noll := 127, 2, 2, 2, 0; - PrintShifts("bv7 again", seven << b67 as bv3, seven << w as bv3, seven << bb as bv3, seven << noll as bv3); - b67, w, bb := 0, 0, 0; - PrintShifts("bv0 again", noll << b67 as bv0, noll << w as bv0, noll << bb as bv0, noll << noll as bv0); -} - -method PrintShifts(s: string, a: T, b: T, c: T, d: T) - decreases s -{ - print "PrintShifts: ", s, ": ", a, " ", b, " ", c, " ", d, "\n"; -} - -method Rotates() -{ - var x: int, w: bv12, seven: bv7, bb: bv2, noll: bv0; - x := 3; - w, seven, noll := 5, 5, 0; - PrintRotates("bv12", w, w.RotateLeft(x).RotateRight(x)); - PrintRotates("bv7", seven, seven.RotateLeft(x).RotateRight(x)); - bb, x := 1, 1; - PrintRotates("bv2", bb, bb.RotateLeft(x).RotateRight(x)); - x := 0; - PrintRotates("bv0", noll, noll.RotateLeft(x).RotateRight(x)); - x := 5; - w, seven := 3072 + 2000, 127; - PrintRotates("bv12 again", w, w.RotateLeft(x).RotateRight(x)); - PrintRotates("bv7 again", seven, seven.RotateLeft(x).RotateRight(x)); -} - -method PrintRotates(s: string, a: T, b: T) - decreases s -{ - print "PrintRotates: ", s, ": ", a, " ", b, "\n"; -} - -Dafny program verifier finished with 11 verified, 0 errors - -Dafny program verifier did not attempt verification -4000 4000 4000 0 -1 2053 1099 -185 55 -2 4 -Comparisons: true true false false -bv16: 5 - 2 == 3 -bv16: 1 - 2 == 65535 -3 2 -0 0 -false true true false -bv67: 147573952589676412927 + 3 == 2 - 3 == 147573952589676412925 !! 3 == ! 147573952589676412924 == 3 -bv64: 18446744073709551615 + 3 == 2 - 3 == 18446744073709551613 !! 3 == ! 18446744073709551612 == 3 -bv53: 9007199254740991 + 3 == 2 - 3 == 9007199254740989 !! 3 == ! 9007199254740988 == 3 -bv33: 8589934591 + 3 == 2 - 3 == 8589934589 !! 3 == ! 8589934588 == 3 -bv32: 4294967295 + 3 == 2 - 3 == 4294967293 !! 3 == ! 4294967292 == 3 -bv31: 2147483647 + 3 == 2 - 3 == 2147483645 !! 3 == ! 2147483644 == 3 -bv16: 65535 + 3 == 2 - 3 == 65533 !! 3 == ! 65532 == 3 -bv15: 32767 + 3 == 2 - 3 == 32765 !! 3 == ! 32764 == 3 -bv8: 255 + 3 == 2 - 3 == 253 !! 3 == ! 252 == 3 -bv6: 63 + 3 == 2 - 3 == 61 !! 3 == ! 60 == 3 -bv1: 1 + 1 == 0 - 1 == 1 !! 1 == ! 0 == 1 -bv0: 0 + 0 == 0 - 0 == 0 !! 0 == ! 0 == 0 -bv2: - 3 + 2 == 1 - 3 - 2 == 1 - 3 * 2 == 2 - 3 / 2 == 1 - 3 % 2 == 1 -PrintShifts: bv67: 5 40 40 40 -PrintShifts: bv32: 5 40 40 40 -PrintShifts: bv7: 5 40 40 40 -PrintShifts: bv2: 1 2 2 2 -PrintShifts: bv0: 0 0 0 0 -PrintShifts: bv67 again: 2 2 2 73786976294838206465 -PrintShifts: bv32 again: 8000 8000 2147487648 3221227472 -PrintShifts: bv7 again: 124 124 124 127 -PrintShifts: bv0 again: 0 0 0 0 -PrintRotates: bv12: 5 5 -PrintRotates: bv7: 5 5 -PrintRotates: bv2: 1 1 -PrintRotates: bv0: 0 0 -PrintRotates: bv12 again: 976 976 -PrintRotates: bv7 again: 127 127 - -Dafny program verifier did not attempt verification 4000 4000 4000 0 1 2053 1099 185 55 diff --git a/Test/dafny0/Compilation.dfy b/Test/dafny0/Compilation.dfy index d13af7dcf41..8c9594aa61f 100644 --- a/Test/dafny0/Compilation.dfy +++ b/Test/dafny0/Compilation.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /deprecation:0 /autoTriggers:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /autoTriggers:0 /deprecation:0 // The tests in this file are designed to run through the compiler. They contain // program snippets that are tricky to compile or whose compilation once was buggy. diff --git a/Test/dafny0/Compilation.dfy.expect b/Test/dafny0/Compilation.dfy.expect index d0fa1540237..1010a177b6f 100644 --- a/Test/dafny0/Compilation.dfy.expect +++ b/Test/dafny0/Compilation.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 29 verified, 0 errors 400 320 40 diff --git a/Test/dafny0/Constant.dfy b/Test/dafny0/Constant.dfy index f021e7d4482..1fdeedc3335 100644 --- a/Test/dafny0/Constant.dfy +++ b/Test/dafny0/Constant.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment const one:int := 1 const two:int := one * 2 diff --git a/Test/dafny0/Constant.dfy.expect b/Test/dafny0/Constant.dfy.expect index 6099b08c38c..1a7b981715f 100644 --- a/Test/dafny0/Constant.dfy.expect +++ b/Test/dafny0/Constant.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 17 verified, 0 errors one := 1 two := 2 three := 3 diff --git a/Test/dafny0/Deprecation.dfy b/Test/dafny0/Deprecation.dfy index 8c9c688d463..86521043d43 100644 --- a/Test/dafny0/Deprecation.dfy +++ b/Test/dafny0/Deprecation.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This file contains tests for messags about various deprecated features. // As those features go away completely, so can the corresponding tests. diff --git a/Test/dafny0/Deprecation.dfy.expect b/Test/dafny0/Deprecation.dfy.expect index 4ff88d31ade..0dffd975ac7 100644 --- a/Test/dafny0/Deprecation.dfy.expect +++ b/Test/dafny0/Deprecation.dfy.expect @@ -1,8 +1 @@ -Deprecation.dfy(16,13): Warning: constructors no longer need 'this' to be listed in modifies clauses -Deprecation.dfy(23,0): Warning: the old keyword phrase 'inductive predicate' has been renamed to 'least predicate' -Deprecation.dfy(26,0): Warning: the old keyword 'copredicate' has been renamed to the keyword phrase 'greatest predicate' -Deprecation.dfy(29,0): Warning: the old keyword phrase 'inductive lemma' has been renamed to 'least lemma' -Deprecation.dfy(32,0): Warning: the old keyword 'colemma' has been renamed to the keyword phrase 'greatest lemma' - -Dafny program verifier finished with 0 verified, 0 errors yet here we are diff --git a/Test/dafny0/DiscoverBounds.dfy b/Test/dafny0/DiscoverBounds.dfy index 31f9717ee79..18e56158613 100644 --- a/Test/dafny0/DiscoverBounds.dfy +++ b/Test/dafny0/DiscoverBounds.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /print:"%t.print" /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment newtype NT = x | 0 <= x < 100 newtype UT = NT diff --git a/Test/dafny0/DiscoverBounds.dfy.expect b/Test/dafny0/DiscoverBounds.dfy.expect index e43954c7be1..909a58326d0 100644 --- a/Test/dafny0/DiscoverBounds.dfy.expect +++ b/Test/dafny0/DiscoverBounds.dfy.expect @@ -1,10 +1,3 @@ -DiscoverBounds.dfy(32,7): Warning: /!\ No terms found to trigger on. -DiscoverBounds.dfy(33,7): Warning: /!\ No terms found to trigger on. -DiscoverBounds.dfy(34,7): Warning: /!\ No terms found to trigger on. -DiscoverBounds.dfy(35,7): Warning: /!\ No terms found to trigger on. -DiscoverBounds.dfy(36,7): Warning: /!\ No terms found to trigger on. - -Dafny program verifier finished with 7 verified, 0 errors 0 0 -2 diff --git a/Test/dafny0/DividedConstructors.dfy b/Test/dafny0/DividedConstructors.dfy index 8d5bf605ba0..069cb7adb58 100644 --- a/Test/dafny0/DividedConstructors.dfy +++ b/Test/dafny0/DividedConstructors.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /env:0 /dprint:- "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /env:0 method Main() { var m := new M0.MyClass.Init(20); diff --git a/Test/dafny0/DividedConstructors.dfy.expect b/Test/dafny0/DividedConstructors.dfy.expect index f7412d8d0a1..2dcc1ba6402 100644 --- a/Test/dafny0/DividedConstructors.dfy.expect +++ b/Test/dafny0/DividedConstructors.dfy.expect @@ -1,188 +1,2 @@ -DividedConstructors.dfy(62,9): Warning: the ... refinement feature in statements is deprecated -// DividedConstructors.dfy - - -module M0 { - class MyClass { - var a: nat - const b := 17 - var c: real - - constructor Init(x: nat) - { - this.a := x; - c := 3.14; - new; - a := a + b; - assert c == 3.14; - assert this.a == 17 + x; - } - - constructor (z: real) - ensures c <= 2.0 * z - { - a, c := 50, 2.0 * z; - new; - } - - constructor Make() - ensures 10 <= a - { - new; - a := a + b; - } - - constructor Create() - ensures 30 <= a - { - new; - a := a + 2 * b; - } - } -} - -module M1 refines M0 { - class MyClass ... { - const d := 'D' - var e: char - - constructor Init ... - { - e := 'e'; - new; - e := 'x'; - ...; - assert e == 'x'; - } - - constructor ... - { - e := 'y'; - new; - } - - constructor Make ... - { - new; - e := 'z'; - } - - constructor Create ... - { - e := 'w'; - } - } -} - -module TypeOfThis { - class LinkedList { - ghost var Repr: set> - ghost var Rapr: set> - ghost var S: set - ghost var T: set - - constructor Init() - { - Repr := {this}; - } - - constructor Init'() - { - Rapr := {this}; - } - - constructor Create() - { - S := {this}; - } - - constructor Create'() - { - T := {this}; - } - - constructor Two() - { - new; - var ll: LinkedList? := this; - var o: object? := this; - if - case true => - T := {o}; - case true => - S := {o}; - case true => - Repr := {ll}; - case true => - Rapr := {ll}; - case true => - S := {ll}; - case true => - T := {ll}; - } - - method Mutate() - modifies this - { - Repr := {this}; - Rapr := {this}; - S := {this}; - T := {this}; - } - } -} - -module Regression { - class A { - var b: bool - var y: int - - constructor Make0() - ensures b == false - { - b := false; - } - - constructor Make1() - ensures b == true - { - b := true; - } - - constructor Make2() - { - b := false; - new; - assert !b; - } - - constructor Make3() - ensures b == false && y == 65 - { - b := false; - y := 65; - new; - assert !b; - assert y == 65; - } - - constructor Make4(bb: bool, yy: int) - ensures b == bb && y == yy - { - b, y := bb, yy; - } - } -} -method Main() -{ - var m := new M0.MyClass.Init(20); - print m.a, ", ", m.b, ", ", m.c, "\n"; - var r0 := new Regression.A.Make0(); - var r1 := new Regression.A.Make1(); - assert r0.b != r1.b; - print r0.b, ", ", r1.b, "\n"; -} - -Dafny program verifier finished with 17 verified, 0 errors 37, 17, 3.14 false, true diff --git a/Test/dafny0/EqualityTypesCompile.dfy b/Test/dafny0/EqualityTypesCompile.dfy index de7954710e9..a36d1818c1d 100644 --- a/Test/dafny0/EqualityTypesCompile.dfy +++ b/Test/dafny0/EqualityTypesCompile.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype List = Nil | Cons(A, List) | ICons(int, List) datatype TwoLists = Two(List, List) diff --git a/Test/dafny0/EqualityTypesCompile.dfy.expect b/Test/dafny0/EqualityTypesCompile.dfy.expect index d2f1950e7f7..0246dc39633 100644 --- a/Test/dafny0/EqualityTypesCompile.dfy.expect +++ b/Test/dafny0/EqualityTypesCompile.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors from M: false from N: false from H: false diff --git a/Test/dafny0/ForallCompilation.dfy b/Test/dafny0/ForallCompilation.dfy index 40c381521e8..731ce83015f 100644 --- a/Test/dafny0/ForallCompilation.dfy +++ b/Test/dafny0/ForallCompilation.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" /autoTriggers:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /autoTriggers:0 method Main() { var c := new MyClass; diff --git a/Test/dafny0/ForallCompilation.dfy.expect b/Test/dafny0/ForallCompilation.dfy.expect index 66ffe3665d5..e69de29bb2d 100644 --- a/Test/dafny0/ForallCompilation.dfy.expect +++ b/Test/dafny0/ForallCompilation.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 14 verified, 0 errors diff --git a/Test/dafny0/ForallCompilationNewSyntax.dfy b/Test/dafny0/ForallCompilationNewSyntax.dfy index b7132df78ae..ac354d6338c 100644 --- a/Test/dafny0/ForallCompilationNewSyntax.dfy +++ b/Test/dafny0/ForallCompilationNewSyntax.dfy @@ -1,5 +1,4 @@ -// RUN: %baredafny run %args --relax-definite-assignment --quantifier-syntax:4 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --quantifier-syntax:4 --relax-definite-assignment method Main() { var c := new MyClass; diff --git a/Test/dafny0/ForallCompilationNewSyntax.dfy.expect b/Test/dafny0/ForallCompilationNewSyntax.dfy.expect index 5b7ec4613bb..e69de29bb2d 100644 --- a/Test/dafny0/ForallCompilationNewSyntax.dfy.expect +++ b/Test/dafny0/ForallCompilationNewSyntax.dfy.expect @@ -1,6 +0,0 @@ -ForallCompilationNewSyntax.dfy(26,4): Warning: /!\ No terms found to trigger on. -ForallCompilationNewSyntax.dfy(35,4): Warning: /!\ No terms found to trigger on. -ForallCompilationNewSyntax.dfy(44,4): Warning: /!\ No terms found to trigger on. -ForallCompilationNewSyntax.dfy(64,4): Warning: /!\ No trigger covering all quantified variables found. - -Dafny program verifier finished with 14 verified, 0 errors diff --git a/Test/dafny0/GhostGuards.dfy b/Test/dafny0/GhostGuards.dfy index b17c98662ce..49877792a47 100644 --- a/Test/dafny0/GhostGuards.dfy +++ b/Test/dafny0/GhostGuards.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /printTooltips /rprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Dt = Green | Dog diff --git a/Test/dafny0/GhostGuards.dfy.expect b/Test/dafny0/GhostGuards.dfy.expect index 8bb8a71d69d..e69de29bb2d 100644 --- a/Test/dafny0/GhostGuards.dfy.expect +++ b/Test/dafny0/GhostGuards.dfy.expect @@ -1,7 +0,0 @@ -GhostGuards.dfy(12,9): Info: ghost if -GhostGuards.dfy(18,2): Info: ghost if -GhostGuards.dfy(28,2): Info: ghost while -GhostGuards.dfy(41,2): Info: ghost while -GhostGuards.dfy(54,2): Info: ghost match - -Dafny program verifier finished with 1 verified, 0 errors diff --git a/Test/dafny0/GhostITECompilation.dfy b/Test/dafny0/GhostITECompilation.dfy index d761ddbc6ea..bd7cfa28a95 100644 --- a/Test/dafny0/GhostITECompilation.dfy +++ b/Test/dafny0/GhostITECompilation.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 /functionSyntax:4 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --function-syntax:4 --relax-definite-assignment function F(x: nat, ghost y: nat): nat { diff --git a/Test/dafny0/GhostITECompilation.dfy.expect b/Test/dafny0/GhostITECompilation.dfy.expect index 1ec406bf52c..b4988e5cf11 100644 --- a/Test/dafny0/GhostITECompilation.dfy.expect +++ b/Test/dafny0/GhostITECompilation.dfy.expect @@ -1,31 +1,3 @@ - -Dafny program verifier finished with 6 verified, 0 errors - -Dafny program verifier did not attempt verification -65 -65 -65 -65 - -Dafny program verifier did not attempt verification -65 -65 -65 -65 - -Dafny program verifier did not attempt verification -65 -65 -65 -65 - -Dafny program verifier did not attempt verification -65 -65 -65 -65 - -Dafny program verifier did not attempt verification 65 65 65 diff --git a/Test/dafny0/InitialValues.dfy b/Test/dafny0/InitialValues.dfy index 7dcb05cc9c9..0848d244d71 100644 --- a/Test/dafny0/InitialValues.dfy +++ b/Test/dafny0/InitialValues.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/dafny0/InitialValues.dfy.expect b/Test/dafny0/InitialValues.dfy.expect index ada1b783c16..18903dcc3dd 100644 --- a/Test/dafny0/InitialValues.dfy.expect +++ b/Test/dafny0/InitialValues.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 2 verified, 0 errors r= 0.0 s= 3.4 a= 0.0 b= 3.4 z= 0.0 a==z = true diff --git a/Test/dafny0/MatchBraces.dfy b/Test/dafny0/MatchBraces.dfy index b3b87fd5e4a..6a1fb7cd52c 100644 --- a/Test/dafny0/MatchBraces.dfy +++ b/Test/dafny0/MatchBraces.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /print:"%t.print" /env:0 /dprint:- "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /env:0 datatype Color = Red | Green | Blue diff --git a/Test/dafny0/MatchBraces.dfy.expect b/Test/dafny0/MatchBraces.dfy.expect index b6129bafcc0..4f89bff47e5 100644 --- a/Test/dafny0/MatchBraces.dfy.expect +++ b/Test/dafny0/MatchBraces.dfy.expect @@ -1,135 +1,2 @@ -// MatchBraces.dfy - -datatype Color = Red | Green | Blue - -method Main() -{ - M(Green, Red); - M(Blue, Blue); -} - -method M(c: Color, d: Color) -{ - var x := match c case Red => 5 case Green => 7 case Blue => 11; - var y := match c case Red => 0.3 case Green => (match d case Red => 0.18 case Green => 0.21 case Blue => 0.98) case Blue => 98.0; - var z := match c case Red => Green case Green => match d { case Red => Red case Green => Blue case Blue => Red } case Blue => Green; - var w := match c { case Red => 2 case Green => 3 case Blue => 4 } + 10; - var t := match c case Red => 0 case Green => match d { case Red => 2 case Green => 2 case Blue => 1 } + (match d case Red => 10 case Green => 8 case Blue => 5) case Blue => match d { case Red => 20 case Green => 20 case Blue => 10 } + match d case Red => 110 case Green => 108 case Blue => 105; - print x, " ", y, " ", z, " ", w, " ", t, "\n"; -} - -ghost function Heat(c: Color): int -{ - match c - case Red => - 10 - case Green => - 12 - case Blue => - 14 -} - -ghost function IceCream(c: Color): int -{ - match c { - case Red => - 0 - case Green => - 4 - case Blue => - 1 - } -} - -ghost function Flowers(c: Color, d: Color): int -{ - match c { - case Red => - match d { - case Red => - 0 - case Green => - 1 - case Blue => - 2 - } - case Green => - match d { case Red => 3 case Green => 3 case Blue => 2 } + 20 - case Blue => - match d { case Red => 9 case Green => 8 case Blue => 7 } + match d case Red => 23 case Green => 29 case Blue => 31 - } -} - -method P(c: Color, d: Color) -{ - var x: int; - match c { - case {:split false} Red => - x := 20; - case {:split false} Green => - case {:split false} Blue => - } - match c - case {:split false} Red => - match d { - case {:split false} Red => - case {:split false} Green => - case {:split false} Blue => - } - case {:split false} Green => - var y := 25; - var z := y + 3; - case {:split false} Blue => - { - var y := 25; - var z := y + 3; - } - match d - case {:split false} Red => - case {:split false} Green => - x := x + 1; - case {:split false} Blue => -} - -lemma HeatIsEven(c: Color) - ensures Heat(c) % 2 == 0 -{ - match c - case {:split false} Red => - assert 10 % 2 == 0; - case {:split false} Green => - assert 12 % 2 == 0; - case {:split false} Blue => -} - -method DegenerateExamples(c: Color) - requires Heat(c) == 10 -{ - match c - case {:split false} Red => - case {:split false} Green => - match c { - } - case {:split false} Blue => - match c -} - -method MoreDegenerateExamples(c: Color) - requires Heat(c) == 10 -{ - if c == Green { - var x: int := match c; - var y: int := match c { }; - var z := match c case Blue => 4; - } -} - -Dafny program verifier finished with 5 verified, 0 errors - -Dafny program verifier did not attempt verification -7 0.18 Color.Red 13 12 -11 98.0 Color.Green 14 115 - -Dafny program verifier did not attempt verification 7 0.18 Color.Red 13 12 11 98.0 Color.Green 14 115 diff --git a/Test/dafny0/MoForallCompilation.dfy b/Test/dafny0/MoForallCompilation.dfy index 835712edbce..af080853463 100644 --- a/Test/dafny0/MoForallCompilation.dfy +++ b/Test/dafny0/MoForallCompilation.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { TestAggregateArrayUpdate(); diff --git a/Test/dafny0/MoForallCompilation.dfy.expect b/Test/dafny0/MoForallCompilation.dfy.expect index c431c74c6aa..7bb606c1528 100644 --- a/Test/dafny0/MoForallCompilation.dfy.expect +++ b/Test/dafny0/MoForallCompilation.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 18 verified, 0 errors -4.0 -3.0 -2.0 -1.0 0.0 1.0 2.0 3.0 7.0 6.0 5.0 4.0 3.0 2.0 1.0 0.0 true true true true true true false false diff --git a/Test/dafny0/NameclashesCompile.dfy b/Test/dafny0/NameclashesCompile.dfy index 4d06065c675..46cae4b2338 100644 --- a/Test/dafny0/NameclashesCompile.dfy +++ b/Test/dafny0/NameclashesCompile.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var r0, r1; diff --git a/Test/dafny0/NameclashesCompile.dfy.expect b/Test/dafny0/NameclashesCompile.dfy.expect index 1434bb632f6..f001bdaeb1e 100644 --- a/Test/dafny0/NameclashesCompile.dfy.expect +++ b/Test/dafny0/NameclashesCompile.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 2 verified, 0 errors 15.0 15.1 94 99 0.8 14.3 14.4 18.9 18.92 diff --git a/Test/dafny0/NonZeroInitializationCompile.dfy b/Test/dafny0/NonZeroInitializationCompile.dfy index 48b61a39369..2fedae6d60d 100644 --- a/Test/dafny0/NonZeroInitializationCompile.dfy +++ b/Test/dafny0/NonZeroInitializationCompile.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment type MyInt = x | 6 <= x witness 6 newtype MyNewInt = x | 6 <= x witness 12 diff --git a/Test/dafny0/NonZeroInitializationCompile.dfy.expect b/Test/dafny0/NonZeroInitializationCompile.dfy.expect index 69539e473c2..2e20350afad 100644 --- a/Test/dafny0/NonZeroInitializationCompile.dfy.expect +++ b/Test/dafny0/NonZeroInitializationCompile.dfy.expect @@ -1,76 +1,3 @@ - -Dafny program verifier finished with 15 verified, 0 errors - -Dafny program verifier did not attempt verification -These are the arbitrary values chosen by the compiler: 6, 12 -short, short': 0, -35 -nes: {57} -f0, f1: (0, false), (29, true) -dt: Dt.Atom(-35) -cl { u: 12, x: 0, r: 3.14, nes: {57} } -cl' { u: 12, x: 0, ': 3.14, nes: {20, 57} } - -x: real :: 0.0 versus 0.0 -ch: char :: 'D' versus 'D' -s: set :: {} versus {} -d: Xt :: AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) versus AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) -y: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) -z: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) - -x: real :: 0.0 versus 0.0 -ch: char :: 'D' versus 'D' -s: set :: {} versus {} -d: Xt :: AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) versus AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) -y: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) -z: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) - -Dafny program verifier did not attempt verification -These are the arbitrary values chosen by the compiler: 6, 12 -short, short': 0, -35 -nes: {57} -f0, f1: (0, false), (29, true) -dt: Dt.Atom(-35) -cl { u: 12, x: 0, r: 3.14, nes: {57} } -cl' { u: 12, x: 0, ': 3.14, nes: {20, 57} } - -x: real :: 0.0 versus 0.0 -ch: char :: 'D' versus 'D' -s: set :: {} versus {} -d: Xt :: AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) versus AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) -y: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) -z: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) - -x: real :: 0.0 versus 0.0 -ch: char :: 'D' versus 'D' -s: set :: {} versus {} -d: Xt :: AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) versus AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) -y: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) -z: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) - -Dafny program verifier did not attempt verification -These are the arbitrary values chosen by the compiler: 6, 12 -short, short': 0, -35 -nes: {57} -f0, f1: (0, false), (29, true) -dt: Dt.Atom(-35) -cl { u: 12, x: 0, r: 3.14, nes: {57} } -cl' { u: 12, x: 0, ': 3.14, nes: {20, 57} } - -x: real :: 0.0 versus 0.0 -ch: char :: 'D' versus 'D' -s: set :: {} versus {} -d: Xt :: AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) versus AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) -y: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) -z: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) - -x: real :: 0.0 versus 0.0 -ch: char :: 'D' versus 'D' -s: set :: {} versus {} -d: Xt :: AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) versus AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) -y: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) -z: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) - -Dafny program verifier did not attempt verification These are the arbitrary values chosen by the compiler: 6, 12 short, short': 0, -35 nes: {57} diff --git a/Test/dafny0/NullComparisonWarnings.dfy b/Test/dafny0/NullComparisonWarnings.dfy index eb9183040bc..35fd5ffb3f4 100644 --- a/Test/dafny0/NullComparisonWarnings.dfy +++ b/Test/dafny0/NullComparisonWarnings.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { print "despite the warnings, the program still compiles\n"; diff --git a/Test/dafny0/NullComparisonWarnings.dfy.expect b/Test/dafny0/NullComparisonWarnings.dfy.expect index d8cf4a9960c..f2b4545fac7 100644 --- a/Test/dafny0/NullComparisonWarnings.dfy.expect +++ b/Test/dafny0/NullComparisonWarnings.dfy.expect @@ -1,14 +1 @@ -NullComparisonWarnings.dfy(27,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(28,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'y' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(29,14): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for field 'next' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(30,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(31,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'y' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(32,14): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for field 'next' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(34,12): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(37,12): Warning: the type of the other operand is a set of non-null elements, so the inclusion test of 'null' will always return 'false' -NullComparisonWarnings.dfy(38,12): Warning: the type of the other operand is a set of non-null elements, so the non-inclusion test of 'null' will always return 'true' -NullComparisonWarnings.dfy(40,41): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'u' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(45,12): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' - -Dafny program verifier finished with 4 verified, 0 errors despite the warnings, the program still compiles diff --git a/Test/dafny0/PrintUTF8.dfy b/Test/dafny0/PrintUTF8.dfy index 5d4e376b19d..eff7baa32a9 100644 --- a/Test/dafny0/PrintUTF8.dfy +++ b/Test/dafny0/PrintUTF8.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { print "Mikaël fixed UTF8\n"; diff --git a/Test/dafny0/PrintUTF8.dfy.expect b/Test/dafny0/PrintUTF8.dfy.expect index 52a23e906cc..818549280d3 100644 --- a/Test/dafny0/PrintUTF8.dfy.expect +++ b/Test/dafny0/PrintUTF8.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors Mikaël fixed UTF8 diff --git a/Test/dafny0/RangeCompilation.dfy b/Test/dafny0/RangeCompilation.dfy index 53a8d6e33e5..3f3e6aed0f8 100644 --- a/Test/dafny0/RangeCompilation.dfy +++ b/Test/dafny0/RangeCompilation.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment newtype Byte = x | 0 <= x < 256 predicate GoodByte(b: Byte) { diff --git a/Test/dafny0/RangeCompilation.dfy.expect b/Test/dafny0/RangeCompilation.dfy.expect index 82fbbb9b698..9e0f9e5f028 100644 --- a/Test/dafny0/RangeCompilation.dfy.expect +++ b/Test/dafny0/RangeCompilation.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 4 verified, 0 errors b=2 i=4 diff --git a/Test/dafny0/SeqFromArray.dfy b/Test/dafny0/SeqFromArray.dfy index 6bab732c906..39f72303d18 100644 --- a/Test/dafny0/SeqFromArray.dfy +++ b/Test/dafny0/SeqFromArray.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // /autoTriggers:1 added to suppress instabilities diff --git a/Test/dafny0/SeqFromArray.dfy.expect b/Test/dafny0/SeqFromArray.dfy.expect index 1981561ca00..e69de29bb2d 100644 --- a/Test/dafny0/SeqFromArray.dfy.expect +++ b/Test/dafny0/SeqFromArray.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 10 verified, 0 errors diff --git a/Test/dafny0/SharedDestructorsCompile.dfy b/Test/dafny0/SharedDestructorsCompile.dfy index 8171cf72404..64d8b245b58 100644 --- a/Test/dafny0/SharedDestructorsCompile.dfy +++ b/Test/dafny0/SharedDestructorsCompile.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Dt = | A(x: int, y: real) diff --git a/Test/dafny0/SharedDestructorsCompile.dfy.expect b/Test/dafny0/SharedDestructorsCompile.dfy.expect index e037db03c40..060d152d77b 100644 --- a/Test/dafny0/SharedDestructorsCompile.dfy.expect +++ b/Test/dafny0/SharedDestructorsCompile.dfy.expect @@ -1,20 +1,3 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification -Dt.A(10, 12.0): x=10 y=12.0 -Dt.B(_module.MyClass, 6): h=_module.MyClass x=6 -Dt.C(3.14): y=3.14 -Dt.C(3.14) -Dt.A(71, 0.1) -Klef.C3(44, 100, 66, 200) -Datte.AA(10, 2) Datte.AA(10, 5) -Datte.BB(false, 12) Datte.BB(false, 6) -Datte.CC(3.2) Datte.CC(3.4) -Datte.DD(100, {7}, 5, 9.0) Datte.DD(30, {7}, 5, 9.0) -Datte.DD(100, {7}, 5, 9.0) Datte.DD(30, {7}, 5, 2.0) - -Dafny program verifier did not attempt verification Dt.A(10, 12.0): x=10 y=12.0 Dt.B(_module.MyClass, 6): h=_module.MyClass x=6 Dt.C(3.14): y=3.14 diff --git a/Test/dafny0/SiblingImports.dfy b/Test/dafny0/SiblingImports.dfy index 3fb01d9d1b8..756e4b253f3 100644 --- a/Test/dafny0/SiblingImports.dfy +++ b/Test/dafny0/SiblingImports.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { ClientA.Test(); diff --git a/Test/dafny0/SiblingImports.dfy.expect b/Test/dafny0/SiblingImports.dfy.expect index ba4df82a925..fb6171563ac 100644 --- a/Test/dafny0/SiblingImports.dfy.expect +++ b/Test/dafny0/SiblingImports.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors ClientA.Inner.Five: 5 ClientB.Inner.Five: 5 ClientC.Inner.Five: 5 diff --git a/Test/dafny0/TypeConversionsCompile.dfy b/Test/dafny0/TypeConversionsCompile.dfy index 066af1b305b..b7d02dd31f3 100644 --- a/Test/dafny0/TypeConversionsCompile.dfy +++ b/Test/dafny0/TypeConversionsCompile.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /env:0 /rprint:- "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /env:0 newtype Handful = x | 0 <= x < 0x8000 // this type turns native newtype Abundance = y | -20 <= y < 0x200_0000_0000 // still fits inside a "long" diff --git a/Test/dafny0/TypeConversionsCompile.dfy.expect b/Test/dafny0/TypeConversionsCompile.dfy.expect index d6b02b34eae..78990cf4a30 100644 --- a/Test/dafny0/TypeConversionsCompile.dfy.expect +++ b/Test/dafny0/TypeConversionsCompile.dfy.expect @@ -1,228 +1,3 @@ -// TypeConversionsCompile.dfy - -/* -module _System { - /* CALL GRAPH for module _System: - * SCC at height 1: - * RotateLeft - * SCC at height 1: - * RotateRight - * SCC at height 0: - * array - * SCC at height 0: - * nat - * SCC at height 0: - * object - */ - type string(==,0) = seq - - type {:axiom} nat(==,0) = x: int - | 0 <= x - - trait {:compile false} object { } - /*-- non-null type - type {:axiom} object(==) = c: object? | c != null /*special witness*/ - */ - - class {:compile false} array { - var Length: int // immutable - } - /*-- non-null type - type {:axiom} array(==) = c: array? | c != null /*special witness*/ - */ - - type {:compile false} /*_#Func1*/ -T0 ~> +R { - ghost function requires(x0: T0): bool - reads reads(x0) - - ghost function reads(x0: T0): set - reads reads(x0) - } - - type {:compile false} /*_#PartialFunc1*/ -T0 --> +R = f: T0 ~> R - | forall x0: T0 :: f.reads(x0) == {} - /*special witness*/ - - type {:compile false} /*_#TotalFunc1*/ -T0 -> +R = f: T0 --> R - | forall x0: T0 :: f.requires(x0) - /*special witness*/ - - type {:compile false} /*_#Func0*/ () ~> +R { - ghost function requires(): bool - reads reads() - - ghost function reads(): set - reads reads() - } - - type {:compile false} /*_#PartialFunc0*/ () --> +R = f: () ~> R - | f.reads() == {} - /*special witness*/ - - type {:compile false} /*_#TotalFunc0*/ () -> +R = f: () --> R - | f.requires() - /*special witness*/ - - datatype {:compile false} /*_tuple#2*/ (+T0, +T1) = _#Make2(0: T0, 1: T1) - - type bool { } - - type int { } - - type real { - var Floor: int // immutable - } - - type ORDINAL { - var IsLimit: bool // immutable - var IsSucc: bool // immutable - var Offset: int // immutable - var IsNat: bool // immutable - } - - type _bv { - function RotateLeft(w: nat): selftype - - function RotateRight(w: nat): selftype - } - - type map<+T, +U> { - var Keys: set // immutable - var Values: set // immutable - var Items: set<(T, U)> // immutable - } - - type imap<*T, +U> { - var Keys: iset // immutable - var Values: iset // immutable - var Items: iset<(T, U)> // immutable - } - - datatype {:compile false} /*_tuple#0*/ () = _#Make0 -} -// bitvector types in use: bv67 bv32 bv7 bv0 bv300 -*/ - -/* CALL GRAPH for module _module: - * SCC at height 2: - * Main - * SCC at height 1: - * Difficult - * SCC at height 1: - * Print - * SCC at height 0: - * Abundance - * SCC at height 0: - * EvenInt - * SCC at height 0: - * Handful - * SCC at height 0: - * OrdinalTests - * SCC at height 0: - * PrintExpected - * SCC at height 0: - * SmallReal - * SCC at height 0: - * int64 - */ -newtype Handful = x: int - | 0 <= x < 32768 - -newtype Abundance = y: int - | -20 <= y < 2199023255552 - -newtype int64 = y: int - | -9223372036854775808 <= y < 9223372036854775808 - -newtype EvenInt = x: int - | x % 2 == 0 - -newtype SmallReal = r: real - | -4.0 <= r < 300.0 - -method Print(x: int, n: nat, r: real, handful: Handful, even: EvenInt, small: SmallReal, b67: bv67, w: bv32, seven: bv7, noll: bv0) - decreases x, n, r, handful, even, small, b67, w, seven, noll -{ - print x, " ", n, " ", r, " ", handful, " ", even, " ", small, " ", b67, " ", w, " ", seven, " ", noll, "\n"; -} - -method PrintExpected(got: T, expected: T) -{ - print "got ", got, ", expected ", expected, "\n"; -} - -method Main() -{ - var x: int, n: nat, r: real := 3, 4, 5.0; - var handful: Handful, even: EvenInt, small: SmallReal := 5, 6, -1.0; - var b67: bv67, w: bv32, seven: bv7, noll: bv0 := 147573952589676412927, 4294967295, 127, 0; - Print(x, n, r, handful, even, small, b67, w, seven, noll); - PrintExpected(x as bv7, 3); - PrintExpected(0 as bv0, 0); - PrintExpected(r as int, 5); - PrintExpected((2.0 * r) as EvenInt, 10); - PrintExpected(x as real, 3.0); - PrintExpected(even as real, 6.0); - PrintExpected((small + 3.0) as Handful, 2); - PrintExpected(noll as Handful, 0); - PrintExpected(noll as SmallReal, 0.0); - PrintExpected(w as real, 4294967295.0); - PrintExpected(seven as real, 127.0); - PrintExpected(noll as bv32, 0); - PrintExpected(noll as bv67, 0); - PrintExpected(seven as bv32, 127); - PrintExpected(seven as bv67, 127); - b67 := 50; - PrintExpected(r as bv67, 5); - PrintExpected(r as bv32, 5); - PrintExpected(w as bv67, 4294967295); - PrintExpected(r as bv7, 5); - PrintExpected(0.0 as bv0, 0); - PrintExpected(handful as bv67, 5); - PrintExpected(handful as bv32, 5); - PrintExpected(handful as bv7, 5); - PrintExpected(handful as int, 5); - PrintExpected(noll as bv32 as bv0, 0); - PrintExpected(noll as bv67 as bv0, 0); - PrintExpected(seven as bv32 as bv7, 127); - PrintExpected(seven as bv67 as bv7, 127); - PrintExpected(handful as real, 5.0); - Difficult(); - var a0: Abundance, a1: Abundance, a2: Abundance, lng: int64; - var s: set := {4.0, 6.3, r, 1000.2}; - var a: array := new char[68]; - handful := 120 as Handful; - a0, a1 := -1 as Abundance, 4 as Abundance; - a2 := 8589934592 as Abundance; - w, lng := 6345789 as bv32, -9223372036854775808 as int64; - print handful, " ", a0, " ", a1, " ", a2, " ", w, " ", lng, "\n"; - x, handful, a0, w := |s|, |s| as Handful, |s| as Abundance, |s| as bv32; - print x, " ", handful, " ", a0, " ", w, "\n"; - x, handful, a0, w := a.Length, a.Length as Handful, a.Length as Abundance, a.Length as bv32; - print x, " ", handful, " ", a0, " ", w, "\n"; - OrdinalTests(); -} - -method Difficult() -{ - if 14 as real as int as bv67 == 14 { - PrintExpected(14 as real as int as bv67 as EvenInt as SmallReal as Handful as bv7 as bv32 as int, 14); - } -} - -method OrdinalTests() -{ - var ord: ORDINAL := 143; - var iord: int := ord as int; - var oord: ORDINAL := iord as ORDINAL; - print "Something about ORDINAL: ", ord, " ", iord, " ", oord, " ", ord + 4, " ", ord - 100, "\n"; - print "ORDINAL and bitvectors: ", 20 as bv32 as ORDINAL, " ", 20 as bv300 as ORDINAL, "\n"; - print ord.IsLimit, " ", ord.Offset, " ", ord.IsNat, "\n"; - ord := 0; - print ord.IsLimit, " ", ord.Offset, " ", ord.IsNat, "\n"; -} - -Dafny program verifier finished with 8 verified, 0 errors 3 4 5.0 5 6 -1.0 147573952589676412927 4294967295 127 0 got 3, expected 3 got 0, expected 0 diff --git a/Test/dafny0/TypeMembers.dfy b/Test/dafny0/TypeMembers.dfy index 2ab57767ad5..f2bea4039c9 100644 --- a/Test/dafny0/TypeMembers.dfy +++ b/Test/dafny0/TypeMembers.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { BasicTests(); diff --git a/Test/dafny0/TypeMembers.dfy.expect b/Test/dafny0/TypeMembers.dfy.expect index 1d406ca85dc..923cb07e841 100644 --- a/Test/dafny0/TypeMembers.dfy.expect +++ b/Test/dafny0/TypeMembers.dfy.expect @@ -1,32 +1,3 @@ -TypeMembers.dfy(117,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect - -Dafny program verifier finished with 29 verified, 0 errors -TypeMembers.dfy(117,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect - -Dafny program verifier did not attempt verification -DaTy.Yes 10 26 -8 11 10 11 10 -35 10 14 -22 22 -9 Dt.Business(false, 5) -76 77 -19 -0 0 -19 82 83 -93 Co.Cobalt -27 27 -18 -11 18 18 22 -15 30 29 -95 11 -162 165 -11 18 18 3 -15 30 29 -95 11 -162 165 -TypeMembers.dfy(117,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect - -Dafny program verifier did not attempt verification DaTy.Yes 10 26 8 11 10 11 10 35 10 14 diff --git a/Test/dafny0/TypeMembers.dfy.verifier.expect b/Test/dafny0/TypeMembers.dfy.verifier.expect new file mode 100644 index 00000000000..7b6aaff62cf --- /dev/null +++ b/Test/dafny0/TypeMembers.dfy.verifier.expect @@ -0,0 +1 @@ +TypeMembers.dfy(117,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect diff --git a/Test/dafny0/Wellfounded.dfy b/Test/dafny0/Wellfounded.dfy index 2ed488974c6..7ec2be06b38 100644 --- a/Test/dafny0/Wellfounded.dfy +++ b/Test/dafny0/Wellfounded.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var d := Int(10); diff --git a/Test/dafny0/Wellfounded.dfy.expect b/Test/dafny0/Wellfounded.dfy.expect index 73d7a1e7ca2..52742a67098 100644 --- a/Test/dafny0/Wellfounded.dfy.expect +++ b/Test/dafny0/Wellfounded.dfy.expect @@ -1,7 +1,3 @@ -Wellfounded.dfy(49,14): Warning: /!\ No terms found to trigger on. -Wellfounded.dfy(77,5): Warning: /!\ No terms found to trigger on. - -Dafny program verifier finished with 3 verified, 0 errors M(d, d) = 10 M(a1, d) = 10 M(a2, d) = 10 diff --git a/Test/dafny2/MinWindowMax.dfy b/Test/dafny2/MinWindowMax.dfy index 71ccb539d7d..32342cdd8b9 100644 --- a/Test/dafny2/MinWindowMax.dfy +++ b/Test/dafny2/MinWindowMax.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Minimum window-max problem. // Rustan Leino diff --git a/Test/dafny2/MinWindowMax.dfy.expect b/Test/dafny2/MinWindowMax.dfy.expect index f6f6e52d9bc..1bb5609994e 100644 --- a/Test/dafny2/MinWindowMax.dfy.expect +++ b/Test/dafny2/MinWindowMax.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 12 verified, 0 errors Window size 1: min window-max is -5 Window size 2: min window-max is 2 Window size 3: min window-max is 3 diff --git a/Test/dafny2/SmallestMissingNumber-functional.dfy b/Test/dafny2/SmallestMissingNumber-functional.dfy index 047475c2680..a1544efab5f 100644 --- a/Test/dafny2/SmallestMissingNumber-functional.dfy +++ b/Test/dafny2/SmallestMissingNumber-functional.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Smallest missing number problem, functional version without duplicates. // A purely functional solution to the programming problem in Richard Bird's diff --git a/Test/dafny2/SmallestMissingNumber-functional.dfy.expect b/Test/dafny2/SmallestMissingNumber-functional.dfy.expect index 208b183ee3e..5d75da8ddd3 100644 --- a/Test/dafny2/SmallestMissingNumber-functional.dfy.expect +++ b/Test/dafny2/SmallestMissingNumber-functional.dfy.expect @@ -1,4 +1 @@ -SmallestMissingNumber-functional.dfy(213,11): Warning: /!\ No terms found to trigger on. - -Dafny program verifier finished with 21 verified, 0 errors 0 1 4 5 diff --git a/Test/dafny2/SmallestMissingNumber-imperative.dfy b/Test/dafny2/SmallestMissingNumber-imperative.dfy index b8539481a54..314bf4e464c 100644 --- a/Test/dafny2/SmallestMissingNumber-imperative.dfy +++ b/Test/dafny2/SmallestMissingNumber-imperative.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Smallest missing number. // An imperative solution to the programming problem in Richard Bird's diff --git a/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect b/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect index bc4a868fdff..cfb25913041 100644 --- a/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect +++ b/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 8 verified, 0 errors 0 1 5 diff --git a/Test/dafny2/StoreAndRetrieve.dfy b/Test/dafny2/StoreAndRetrieve.dfy index 968b6948e0d..87b7bc78127 100644 --- a/Test/dafny2/StoreAndRetrieve.dfy +++ b/Test/dafny2/StoreAndRetrieve.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This file shows an example program that uses both refinement and :autocontracts // specify a class that stores a set of things that can be retrieved using a query. diff --git a/Test/dafny2/StoreAndRetrieve.dfy.expect b/Test/dafny2/StoreAndRetrieve.dfy.expect index 1d7d71d5202..030f5bfab39 100644 --- a/Test/dafny2/StoreAndRetrieve.dfy.expect +++ b/Test/dafny2/StoreAndRetrieve.dfy.expect @@ -1,39 +1 @@ -StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier finished with 19 verified, 0 errors -StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -20.3 -StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -20.3 -StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -20.3 -StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification 20.3 diff --git a/Test/dafny2/StoreAndRetrieve.dfy.verifier.expect b/Test/dafny2/StoreAndRetrieve.dfy.verifier.expect new file mode 100644 index 00000000000..7727ed0c4f5 --- /dev/null +++ b/Test/dafny2/StoreAndRetrieve.dfy.verifier.expect @@ -0,0 +1,5 @@ +StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny2/Z-BirthdayBook.dfy b/Test/dafny2/Z-BirthdayBook.dfy index d9580e7cca2..10fc159b1a3 100644 --- a/Test/dafny2/Z-BirthdayBook.dfy +++ b/Test/dafny2/Z-BirthdayBook.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // The birthday book example from the Z Reference Manual // Rustan Leino, 22 Feb 2018 diff --git a/Test/dafny2/Z-BirthdayBook.dfy.expect b/Test/dafny2/Z-BirthdayBook.dfy.expect index 31762ddd5b4..c6f2230e21a 100644 --- a/Test/dafny2/Z-BirthdayBook.dfy.expect +++ b/Test/dafny2/Z-BirthdayBook.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 21 verified, 0 errors Send cards to: {['M', 'i', 'k', 'e'], ['S', 'u', 's', 'a', 'n']} diff --git a/Test/dafny2/pq-intrinsic-extrinsic.dfy b/Test/dafny2/pq-intrinsic-extrinsic.dfy index c797c92445d..588c2f9e2b1 100644 --- a/Test/dafny2/pq-intrinsic-extrinsic.dfy +++ b/Test/dafny2/pq-intrinsic-extrinsic.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This file contains several versions of a priority queue implemented by Braun trees: // diff --git a/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect b/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect index bc2608f44b7..5c90c26e0eb 100644 --- a/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect +++ b/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect @@ -1,14 +1,3 @@ - -Dafny program verifier finished with 32 verified, 0 errors - -Dafny program verifier did not attempt verification -PriorityQueue_extrinsic: 3 -PriorityQueue_layered: 3 -PriorityQueue_intrinsic: 3 -PriorityQueue_on_intrinsic: 3 -PriorityQueue_direct: 3 - -Dafny program verifier did not attempt verification PriorityQueue_extrinsic: 3 PriorityQueue_layered: 3 PriorityQueue_intrinsic: 3 diff --git a/Test/dafny3/Abstemious.dfy b/Test/dafny3/Abstemious.dfy index 263c1f1fb00..62d891f950f 100644 --- a/Test/dafny3/Abstemious.dfy +++ b/Test/dafny3/Abstemious.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Examples from https://www.haskell.org/tutorial/functions.html diff --git a/Test/dafny3/Abstemious.dfy.expect b/Test/dafny3/Abstemious.dfy.expect index 96f109b0b58..3511a04a840 100644 --- a/Test/dafny3/Abstemious.dfy.expect +++ b/Test/dafny3/Abstemious.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 19 verified, 0 errors ones(): 1 1 1 1 1 1 1 ... from(3): 3 4 5 6 7 8 9 ... Map(plus1, ones()): 2 2 2 2 2 2 2 ... diff --git a/Test/dafny3/CachedContainer.dfy b/Test/dafny3/CachedContainer.dfy index 77c3e45897f..e36e76d6851 100644 --- a/Test/dafny3/CachedContainer.dfy +++ b/Test/dafny3/CachedContainer.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This file contains an example chain of module refinements, starting from a // simple interface M0 to an implementation M3. Module Client.Test() is diff --git a/Test/dafny3/CachedContainer.dfy.expect b/Test/dafny3/CachedContainer.dfy.expect index 08f4fb30b0a..ed2a587c3f1 100644 --- a/Test/dafny3/CachedContainer.dfy.expect +++ b/Test/dafny3/CachedContainer.dfy.expect @@ -1,79 +1 @@ -CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier finished with 29 verified, 0 errors -CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -false true false true -CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -false true false true -CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -false true false true -CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification false true false true diff --git a/Test/dafny3/CachedContainer.dfy.verifier.expect b/Test/dafny3/CachedContainer.dfy.verifier.expect new file mode 100644 index 00000000000..dce146911e0 --- /dev/null +++ b/Test/dafny3/CachedContainer.dfy.verifier.expect @@ -0,0 +1,13 @@ +CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny3/Iter.dfy b/Test/dafny3/Iter.dfy index 81431f2c64b..46befa24dd8 100644 --- a/Test/dafny3/Iter.dfy +++ b/Test/dafny3/Iter.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class List { ghost var Contents: seq diff --git a/Test/dafny3/Iter.dfy.expect b/Test/dafny3/Iter.dfy.expect index 69d7373d5d5..0ed11070541 100644 --- a/Test/dafny3/Iter.dfy.expect +++ b/Test/dafny3/Iter.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 12 verified, 0 errors 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 98 0 2 4 6 8 10 12 14 diff --git a/Test/dafny4/Ackermann.dfy b/Test/dafny4/Ackermann.dfy index 27968070e9b..a4ef351c96b 100644 --- a/Test/dafny4/Ackermann.dfy +++ b/Test/dafny4/Ackermann.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Rustan Leino, 8 Sep 2015. // This file proves that the Ackermann function is monotonic in each argument diff --git a/Test/dafny4/Ackermann.dfy.expect b/Test/dafny4/Ackermann.dfy.expect index c995dac9c9a..43d9513ef4b 100644 --- a/Test/dafny4/Ackermann.dfy.expect +++ b/Test/dafny4/Ackermann.dfy.expect @@ -1,5 +1 @@ -Ackermann.dfy(163,4): Warning: /!\ No terms found to trigger on. -Ackermann.dfy(181,4): Warning: /!\ No terms found to trigger on. - -Dafny program verifier finished with 14 verified, 0 errors Ack(3, 4) = 125 diff --git a/Test/dafny4/Bug107.dfy b/Test/dafny4/Bug107.dfy index e417fc90a53..b7ab69c9a8d 100644 --- a/Test/dafny4/Bug107.dfy +++ b/Test/dafny4/Bug107.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/dafny4/Bug107.dfy.expect b/Test/dafny4/Bug107.dfy.expect index ad79213a18c..62f9457511f 100644 --- a/Test/dafny4/Bug107.dfy.expect +++ b/Test/dafny4/Bug107.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors 6 \ No newline at end of file diff --git a/Test/dafny4/Bug108.dfy b/Test/dafny4/Bug108.dfy index c64ec32a340..8228fe44f87 100644 --- a/Test/dafny4/Bug108.dfy +++ b/Test/dafny4/Bug108.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var A := map[0 := 1]; diff --git a/Test/dafny4/Bug108.dfy.expect b/Test/dafny4/Bug108.dfy.expect index c1c63f6c5c1..0777a01b26d 100644 --- a/Test/dafny4/Bug108.dfy.expect +++ b/Test/dafny4/Bug108.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 1 verified, 0 errors map[0 := 1] map[0 := 1] diff --git a/Test/dafny4/Bug113.dfy b/Test/dafny4/Bug113.dfy index 23c759540cd..0bec0c1ce31 100644 --- a/Test/dafny4/Bug113.dfy +++ b/Test/dafny4/Bug113.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype D = D(q:int, r:int, s:int, t:int) @@ -7,4 +6,4 @@ method Main() { print D(10, 20, 30, 40); print "\n"; -} \ No newline at end of file +} diff --git a/Test/dafny4/Bug113.dfy.expect b/Test/dafny4/Bug113.dfy.expect index 3ea1396ad00..e2eeff32e9a 100644 --- a/Test/dafny4/Bug113.dfy.expect +++ b/Test/dafny4/Bug113.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors D.D(10, 20, 30, 40) diff --git a/Test/dafny4/Bug116.dfy b/Test/dafny4/Bug116.dfy index e29da0f609d..501b74c74d5 100644 --- a/Test/dafny4/Bug116.dfy +++ b/Test/dafny4/Bug116.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // test various compiler-target keywords diff --git a/Test/dafny4/Bug116.dfy.expect b/Test/dafny4/Bug116.dfy.expect index 21aa85d71f0..93102ef3120 100644 --- a/Test/dafny4/Bug116.dfy.expect +++ b/Test/dafny4/Bug116.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors struct.S byte.arguments enum_Compile.goto.switch enum_Compile.goto.switch 20 + 20 == 40 diff --git a/Test/dafny4/Bug140.dfy b/Test/dafny4/Bug140.dfy index edde966c149..8280db8f665 100644 --- a/Test/dafny4/Bug140.dfy +++ b/Test/dafny4/Bug140.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class Node { ghost var List: seq diff --git a/Test/dafny4/Bug140.dfy.expect b/Test/dafny4/Bug140.dfy.expect index bad48de4d6b..a40ee1166fb 100644 --- a/Test/dafny4/Bug140.dfy.expect +++ b/Test/dafny4/Bug140.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 8 verified, 0 errors 1 2 diff --git a/Test/dafny4/Bug148.dfy b/Test/dafny4/Bug148.dfy index da1ebf99447..f31cef2cdc8 100644 --- a/Test/dafny4/Bug148.dfy +++ b/Test/dafny4/Bug148.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/dafny4/Bug148.dfy.expect b/Test/dafny4/Bug148.dfy.expect index 79d02517ceb..9ed6ca4768b 100644 --- a/Test/dafny4/Bug148.dfy.expect +++ b/Test/dafny4/Bug148.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 0 verified, 0 errors true false true diff --git a/Test/dafny4/Bug49.dfy b/Test/dafny4/Bug49.dfy index 68722830422..868f4a3964b 100644 --- a/Test/dafny4/Bug49.dfy +++ b/Test/dafny4/Bug49.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/dafny4/Bug49.dfy.expect b/Test/dafny4/Bug49.dfy.expect index 4e02a08bbee..800c2bd15ba 100644 --- a/Test/dafny4/Bug49.dfy.expect +++ b/Test/dafny4/Bug49.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 13 verified, 0 errors 6 6 5 diff --git a/Test/dafny4/Bug60.dfy b/Test/dafny4/Bug60.dfy index 0aa9209269d..f4585753f5f 100644 --- a/Test/dafny4/Bug60.dfy +++ b/Test/dafny4/Bug60.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This method can be used to test compilation. method Main() diff --git a/Test/dafny4/Bug60.dfy.expect b/Test/dafny4/Bug60.dfy.expect index 49740e95682..fd56dc3fcbc 100644 --- a/Test/dafny4/Bug60.dfy.expect +++ b/Test/dafny4/Bug60.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 0 verified, 0 errors ({2, 3}, map[2 := 20, 3 := 30]) (2, 2) {2, 3} diff --git a/Test/dafny4/Bug67.dfy b/Test/dafny4/Bug67.dfy index 731018a293b..f01d4239a75 100644 --- a/Test/dafny4/Bug67.dfy +++ b/Test/dafny4/Bug67.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype d = D(m:seq) @@ -8,4 +7,4 @@ method Main() assert D([10, 20]) == D([10, 20]); // succeeds print [10, 20] == [10, 20], "\n"; // prints True print D([10, 20]) == D([10, 20]); // prints False -} \ No newline at end of file +} diff --git a/Test/dafny4/Bug67.dfy.expect b/Test/dafny4/Bug67.dfy.expect index c716cab3144..0be5d980da4 100644 --- a/Test/dafny4/Bug67.dfy.expect +++ b/Test/dafny4/Bug67.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 1 verified, 0 errors true true \ No newline at end of file diff --git a/Test/dafny4/Bug68.dfy b/Test/dafny4/Bug68.dfy index a211206acba..bf50015f90c 100644 --- a/Test/dafny4/Bug68.dfy +++ b/Test/dafny4/Bug68.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method M1() { @@ -62,4 +61,4 @@ method Main() M3(); M3'(); M4(); -} \ No newline at end of file +} diff --git a/Test/dafny4/Bug68.dfy.expect b/Test/dafny4/Bug68.dfy.expect index f4ef534187d..814ccfee2df 100644 --- a/Test/dafny4/Bug68.dfy.expect +++ b/Test/dafny4/Bug68.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 8 verified, 0 errors true true true diff --git a/Test/dafny4/Bug89.dfy b/Test/dafny4/Bug89.dfy index 4aec1acb8b7..c7b77b44f99 100644 --- a/Test/dafny4/Bug89.dfy +++ b/Test/dafny4/Bug89.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method F() returns(x:int) ensures x == 6 diff --git a/Test/dafny4/Bug89.dfy.expect b/Test/dafny4/Bug89.dfy.expect index ed41c274352..62f9457511f 100644 --- a/Test/dafny4/Bug89.dfy.expect +++ b/Test/dafny4/Bug89.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors 6 \ No newline at end of file diff --git a/Test/dafny4/Bug94.dfy b/Test/dafny4/Bug94.dfy index be931445654..c41458539fc 100644 --- a/Test/dafny4/Bug94.dfy +++ b/Test/dafny4/Bug94.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment ghost function foo() : (int, int) { diff --git a/Test/dafny4/Bug94.dfy.expect b/Test/dafny4/Bug94.dfy.expect index ab0cfbb2d9e..3f10ffe7a4c 100644 --- a/Test/dafny4/Bug94.dfy.expect +++ b/Test/dafny4/Bug94.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors 15 \ No newline at end of file diff --git a/Test/dafny4/ClassRefinement.dfy b/Test/dafny4/ClassRefinement.dfy index 320749ec197..3d5fd1006eb 100644 --- a/Test/dafny4/ClassRefinement.dfy +++ b/Test/dafny4/ClassRefinement.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment abstract module M0 { class Counter { diff --git a/Test/dafny4/ClassRefinement.dfy.expect b/Test/dafny4/ClassRefinement.dfy.expect index f456b6777f3..cba3471eb57 100644 --- a/Test/dafny4/ClassRefinement.dfy.expect +++ b/Test/dafny4/ClassRefinement.dfy.expect @@ -1,44 +1 @@ -ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated -ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier finished with 11 verified, 0 errors -ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated -ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -2 1 -ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated -ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -2 1 -ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated -ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -2 1 -ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated -ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification 2 1 diff --git a/Test/dafny4/ClassRefinement.dfy.verifier.expect b/Test/dafny4/ClassRefinement.dfy.verifier.expect new file mode 100644 index 00000000000..85d37d75847 --- /dev/null +++ b/Test/dafny4/ClassRefinement.dfy.verifier.expect @@ -0,0 +1,6 @@ +ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated +ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny4/ExpandedGuardedness.dfy b/Test/dafny4/ExpandedGuardedness.dfy index 5cd7828f932..af620ec40e8 100644 --- a/Test/dafny4/ExpandedGuardedness.dfy +++ b/Test/dafny4/ExpandedGuardedness.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/dafny4/ExpandedGuardedness.dfy.expect b/Test/dafny4/ExpandedGuardedness.dfy.expect index d05670701e0..e0f3b041a66 100644 --- a/Test/dafny4/ExpandedGuardedness.dfy.expect +++ b/Test/dafny4/ExpandedGuardedness.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 12 verified, 0 errors Up 19 20 21 22 23 Up2 19 20 21 22 23 UpIf 19 20 22 24 26 diff --git a/Test/dafny4/FlyingRobots.dfy b/Test/dafny4/FlyingRobots.dfy index 41223cca1aa..f14a2a467cd 100644 --- a/Test/dafny4/FlyingRobots.dfy +++ b/Test/dafny4/FlyingRobots.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // The flying robots examples from an F* tutorial. It demonstrates how to specify // mutable data structures in the heap. diff --git a/Test/dafny4/FlyingRobots.dfy.expect b/Test/dafny4/FlyingRobots.dfy.expect index 5ed0d97333e..e69de29bb2d 100644 --- a/Test/dafny4/FlyingRobots.dfy.expect +++ b/Test/dafny4/FlyingRobots.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 31 verified, 0 errors diff --git a/Test/dafny4/Leq.dfy b/Test/dafny4/Leq.dfy index fac12757ba0..fdbc1078ca3 100644 --- a/Test/dafny4/Leq.dfy +++ b/Test/dafny4/Leq.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Rustan Leino, 22 Sep 2015. // This file considers two definitions of Leq on naturals+infinity. One diff --git a/Test/dafny4/Leq.dfy.expect b/Test/dafny4/Leq.dfy.expect index 15301952c57..e69de29bb2d 100644 --- a/Test/dafny4/Leq.dfy.expect +++ b/Test/dafny4/Leq.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 16 verified, 0 errors diff --git a/Test/dafny4/McCarthy91.dfy b/Test/dafny4/McCarthy91.dfy index 466d30328cc..428f11eb269 100644 --- a/Test/dafny4/McCarthy91.dfy +++ b/Test/dafny4/McCarthy91.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // The usual recursive method for computing McCarthy's 91 function method Main() { diff --git a/Test/dafny4/McCarthy91.dfy.expect b/Test/dafny4/McCarthy91.dfy.expect index b63f7a0b03b..1511cff2c81 100644 --- a/Test/dafny4/McCarthy91.dfy.expect +++ b/Test/dafny4/McCarthy91.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors M(3) = 91 M(99) = 91 M(100) = 91 diff --git a/Test/dafny4/NatList.dfy b/Test/dafny4/NatList.dfy index 567fd461259..5a1b0358eaf 100644 --- a/Test/dafny4/NatList.dfy +++ b/Test/dafny4/NatList.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This file tests some programs where "nat" is a type parameter to // a datatype. diff --git a/Test/dafny4/NatList.dfy.expect b/Test/dafny4/NatList.dfy.expect index 2ceb3169787..5382a29cb9f 100644 --- a/Test/dafny4/NatList.dfy.expect +++ b/Test/dafny4/NatList.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 11 verified, 0 errors ns = List.Cons(4, List.Cons(10, List.Nil)) Sum(ns) = 14 ns' = List.Cons(20, List.Nil) diff --git a/Test/dafny4/Regression15.dfy b/Test/dafny4/Regression15.dfy index 37f31ba7e90..5ecb5ee4e2b 100644 --- a/Test/dafny4/Regression15.dfy +++ b/Test/dafny4/Regression15.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var b; diff --git a/Test/dafny4/Regression15.dfy.expect b/Test/dafny4/Regression15.dfy.expect index 584190727b9..4cf7b8a8eb1 100644 --- a/Test/dafny4/Regression15.dfy.expect +++ b/Test/dafny4/Regression15.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 3 verified, 0 errors false true true diff --git a/Test/dafny4/Regression2.dfy b/Test/dafny4/Regression2.dfy index 213bf265401..0d28285e74c 100644 --- a/Test/dafny4/Regression2.dfy +++ b/Test/dafny4/Regression2.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module NativeTypes { newtype uint64 = int diff --git a/Test/dafny4/Regression2.dfy.expect b/Test/dafny4/Regression2.dfy.expect index 3f8ac383f86..8a739fb435a 100644 --- a/Test/dafny4/Regression2.dfy.expect +++ b/Test/dafny4/Regression2.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors true true true diff --git a/Test/dafny4/Regression3.dfy b/Test/dafny4/Regression3.dfy index adaa0d2763d..fc60fad3cb1 100644 --- a/Test/dafny4/Regression3.dfy +++ b/Test/dafny4/Regression3.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/dafny4/Regression3.dfy.expect b/Test/dafny4/Regression3.dfy.expect index 841338987c7..1223bf9ffaf 100644 --- a/Test/dafny4/Regression3.dfy.expect +++ b/Test/dafny4/Regression3.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 3 verified, 0 errors 55 Trunc( -3.0 ) = -3 (expected -3) Trunc( -2.8 ) = -3 (expected -3) diff --git a/Test/dafny4/Regression4.dfy b/Test/dafny4/Regression4.dfy index 5f881a5083f..e4bc4cbef85 100644 --- a/Test/dafny4/Regression4.dfy +++ b/Test/dafny4/Regression4.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { } diff --git a/Test/dafny4/Regression4.dfy.expect b/Test/dafny4/Regression4.dfy.expect index ba00363fc08..e69de29bb2d 100644 --- a/Test/dafny4/Regression4.dfy.expect +++ b/Test/dafny4/Regression4.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 4 verified, 0 errors diff --git a/Test/dafny4/Regression6.dfy b/Test/dafny4/Regression6.dfy index f1551d3ef2d..b589ec0ce7d 100644 --- a/Test/dafny4/Regression6.dfy +++ b/Test/dafny4/Regression6.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function Sum(a: array, lo: int, hi: int): int requires 0 <= lo <= hi <= a.Length diff --git a/Test/dafny4/Regression6.dfy.expect b/Test/dafny4/Regression6.dfy.expect index 17464f29e0b..54573bead10 100644 --- a/Test/dafny4/Regression6.dfy.expect +++ b/Test/dafny4/Regression6.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors 0 1028 0 diff --git a/Test/dafny4/Regression7.dfy b/Test/dafny4/Regression7.dfy index 8ce421a62f3..ef3ca5eea44 100644 --- a/Test/dafny4/Regression7.dfy +++ b/Test/dafny4/Regression7.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /rprint:"%t.rprint" /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module ListLibrary { datatype List = Nil | Cons(head: B, tail: List) diff --git a/Test/dafny4/Regression7.dfy.expect b/Test/dafny4/Regression7.dfy.expect index 19e63b05225..70b01f973a0 100644 --- a/Test/dafny4/Regression7.dfy.expect +++ b/Test/dafny4/Regression7.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors ListLibrary_Compile.List.Cons(28.0, ListLibrary_Compile.List.Nil) diff --git a/Test/dafny4/Regression9.dfy b/Test/dafny4/Regression9.dfy index d9e44547252..086007a3ef8 100644 --- a/Test/dafny4/Regression9.dfy +++ b/Test/dafny4/Regression9.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Some tests for the type inference that was revamped // to better support subset types. diff --git a/Test/dafny4/Regression9.dfy.expect b/Test/dafny4/Regression9.dfy.expect index 5a26eaeabfb..2183b22cfa9 100644 --- a/Test/dafny4/Regression9.dfy.expect +++ b/Test/dafny4/Regression9.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors 'D''D''D' diff --git a/Test/dafny4/UnionFind.dfy b/Test/dafny4/UnionFind.dfy index 1968d0d3b26..e862fb64e64 100644 --- a/Test/dafny4/UnionFind.dfy +++ b/Test/dafny4/UnionFind.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Rustan Leino, Nov 2015 // Module M0 gives the high-level specification of the UnionFind data structure diff --git a/Test/dafny4/UnionFind.dfy.expect b/Test/dafny4/UnionFind.dfy.expect index 961b161b8dc..1cb72129e49 100644 --- a/Test/dafny4/UnionFind.dfy.expect +++ b/Test/dafny4/UnionFind.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 63 verified, 0 errors false true true false true true diff --git a/Test/dafny4/gcd.dfy b/Test/dafny4/gcd.dfy index 384e338435f..fa92223fa49 100644 --- a/Test/dafny4/gcd.dfy +++ b/Test/dafny4/gcd.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation // A text describing this file is found in a Dafny Power User note: http://leino.science/papers/krml279.html diff --git a/Test/dafny4/gcd.dfy.expect b/Test/dafny4/gcd.dfy.expect index ecbe2b6f64a..c17551a37a4 100644 --- a/Test/dafny4/gcd.dfy.expect +++ b/Test/dafny4/gcd.dfy.expect @@ -1,34 +1,3 @@ - -Dafny program verifier finished with 19 verified, 0 errors - -Dafny program verifier did not attempt verification -15 gcd 9 = 3 -14 gcd 22 = 2 -371 gcd 1 = 1 -1 gcd 2 = 1 -1 gcd 1 = 1 -13 gcd 13 = 13 -60 gcd 60 = 60 - -Dafny program verifier did not attempt verification -15 gcd 9 = 3 -14 gcd 22 = 2 -371 gcd 1 = 1 -1 gcd 2 = 1 -1 gcd 1 = 1 -13 gcd 13 = 13 -60 gcd 60 = 60 - -Dafny program verifier did not attempt verification -15 gcd 9 = 3 -14 gcd 22 = 2 -371 gcd 1 = 1 -1 gcd 2 = 1 -1 gcd 1 = 1 -13 gcd 13 = 13 -60 gcd 60 = 60 - -Dafny program verifier did not attempt verification 15 gcd 9 = 3 14 gcd 22 = 2 371 gcd 1 = 1 diff --git a/Test/dafny4/git-issue104.dfy b/Test/dafny4/git-issue104.dfy index 86683a2ed88..b05ec4de1cc 100644 --- a/Test/dafny4/git-issue104.dfy +++ b/Test/dafny4/git-issue104.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment predicate bug(a: array) reads a diff --git a/Test/dafny4/git-issue104.dfy.expect b/Test/dafny4/git-issue104.dfy.expect index f572edb2471..836a5934c8f 100644 --- a/Test/dafny4/git-issue104.dfy.expect +++ b/Test/dafny4/git-issue104.dfy.expect @@ -1,17 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification -true false - -Dafny program verifier did not attempt verification -true false - -Dafny program verifier did not attempt verification -true false - -Dafny program verifier did not attempt verification -true false - -Dafny program verifier did not attempt verification true false diff --git a/Test/dafny4/git-issue105.dfy b/Test/dafny4/git-issue105.dfy index 09cfce29a6e..4cff2330cba 100644 --- a/Test/dafny4/git-issue105.dfy +++ b/Test/dafny4/git-issue105.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method lol() returns (c: int) { diff --git a/Test/dafny4/git-issue105.dfy.expect b/Test/dafny4/git-issue105.dfy.expect index 012f5b99379..e69de29bb2d 100644 --- a/Test/dafny4/git-issue105.dfy.expect +++ b/Test/dafny4/git-issue105.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/dafny4/git-issue15.dfy b/Test/dafny4/git-issue15.dfy index 96905286209..7c77a67ccf9 100755 --- a/Test/dafny4/git-issue15.dfy +++ b/Test/dafny4/git-issue15.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype obj = Obj(fooBar:map) datatype foo = Foo diff --git a/Test/dafny4/git-issue15.dfy.expect b/Test/dafny4/git-issue15.dfy.expect index e52de78d0b1..00750edc07d 100755 --- a/Test/dafny4/git-issue15.dfy.expect +++ b/Test/dafny4/git-issue15.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors 3 diff --git a/Test/dafny4/git-issue167.dfy b/Test/dafny4/git-issue167.dfy index d02943dc42d..d98d425c345 100644 --- a/Test/dafny4/git-issue167.dfy +++ b/Test/dafny4/git-issue167.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { LetTest(); diff --git a/Test/dafny4/git-issue167.dfy.expect b/Test/dafny4/git-issue167.dfy.expect index 0a230fe846e..8c5e1ed8df7 100644 --- a/Test/dafny4/git-issue167.dfy.expect +++ b/Test/dafny4/git-issue167.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 4 verified, 0 errors 30 {6, 7} {['M', 'i', 'l', 'l', 'a'], ['A', 'l', 'f', 'o', 'n', 's']} diff --git a/Test/dafny4/git-issue195.dfy b/Test/dafny4/git-issue195.dfy index ac4b1306ac6..fccdc5461c8 100644 --- a/Test/dafny4/git-issue195.dfy +++ b/Test/dafny4/git-issue195.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Block = Block(prevBlockHash:Hash, txs:seq, proof:VProof) diff --git a/Test/dafny4/git-issue195.dfy.expect b/Test/dafny4/git-issue195.dfy.expect index 30692fdef2a..638bfb50b2d 100644 --- a/Test/dafny4/git-issue195.dfy.expect +++ b/Test/dafny4/git-issue195.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 4 verified, 0 errors true true true true true diff --git a/Test/dafny4/git-issue196.dfy b/Test/dafny4/git-issue196.dfy index 64eb0e9123f..056687ab1a5 100644 --- a/Test/dafny4/git-issue196.dfy +++ b/Test/dafny4/git-issue196.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class A { var a: array> diff --git a/Test/dafny4/git-issue196.dfy.expect b/Test/dafny4/git-issue196.dfy.expect index a333f982b8f..ee25a2c5027 100644 --- a/Test/dafny4/git-issue196.dfy.expect +++ b/Test/dafny4/git-issue196.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 9 verified, 0 errors 42 42 42 5000 5000 5000 5000 5000 diff --git a/Test/dafny4/git-issue4.dfy b/Test/dafny4/git-issue4.dfy index b19cf3ce6df..b17a545e219 100644 --- a/Test/dafny4/git-issue4.dfy +++ b/Test/dafny4/git-issue4.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function IntToChar(i:int):char requires 0 <= i < 10 diff --git a/Test/dafny4/git-issue4.dfy.expect b/Test/dafny4/git-issue4.dfy.expect index 33af1e040b7..24e24eb63cc 100644 --- a/Test/dafny4/git-issue4.dfy.expect +++ b/Test/dafny4/git-issue4.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors '8' 8 '8' 56 56 diff --git a/Test/dafny4/git-issue43.dfy b/Test/dafny4/git-issue43.dfy index edf056a1a91..d320d7761bc 100644 --- a/Test/dafny4/git-issue43.dfy +++ b/Test/dafny4/git-issue43.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class System { } diff --git a/Test/dafny4/git-issue43.dfy.expect b/Test/dafny4/git-issue43.dfy.expect index 012f5b99379..e69de29bb2d 100644 --- a/Test/dafny4/git-issue43.dfy.expect +++ b/Test/dafny4/git-issue43.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/dafny4/git-issue70.dfy b/Test/dafny4/git-issue70.dfy index c8db7c9618d..3a3a01e0af7 100644 --- a/Test/dafny4/git-issue70.dfy +++ b/Test/dafny4/git-issue70.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/dafny4/git-issue70.dfy.expect b/Test/dafny4/git-issue70.dfy.expect index 526e9a5b349..36ede89b639 100644 --- a/Test/dafny4/git-issue70.dfy.expect +++ b/Test/dafny4/git-issue70.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 3 verified, 0 errors map test {4, 6} {5, 7} diff --git a/Test/dafny4/git-issue76.dfy b/Test/dafny4/git-issue76.dfy index 708ee911b24..85613dba2f2 100644 --- a/Test/dafny4/git-issue76.dfy +++ b/Test/dafny4/git-issue76.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { M0(); diff --git a/Test/dafny4/git-issue76.dfy.expect b/Test/dafny4/git-issue76.dfy.expect index 546da03a267..0cfbf08886f 100644 --- a/Test/dafny4/git-issue76.dfy.expect +++ b/Test/dafny4/git-issue76.dfy.expect @@ -1,8 +1 @@ - -Dafny program verifier finished with 7 verified, 0 errors - -Dafny program verifier did not attempt verification -2 - -Dafny program verifier did not attempt verification 2 diff --git a/Test/dafny4/git-issue79.dfy b/Test/dafny4/git-issue79.dfy index 046a7c5e375..f3fb17b8531 100644 --- a/Test/dafny4/git-issue79.dfy +++ b/Test/dafny4/git-issue79.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype EInt = Int(val: int) | Unknown type Pair = (string, EInt) diff --git a/Test/dafny4/git-issue79.dfy.expect b/Test/dafny4/git-issue79.dfy.expect index 012f5b99379..e69de29bb2d 100644 --- a/Test/dafny4/git-issue79.dfy.expect +++ b/Test/dafny4/git-issue79.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/dafny4/git-issue88.dfy b/Test/dafny4/git-issue88.dfy index 1c188333783..83c0b4a8ef9 100644 --- a/Test/dafny4/git-issue88.dfy +++ b/Test/dafny4/git-issue88.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment type Grid = array2 diff --git a/Test/dafny4/git-issue88.dfy.expect b/Test/dafny4/git-issue88.dfy.expect index 00a51f822da..e69de29bb2d 100644 --- a/Test/dafny4/git-issue88.dfy.expect +++ b/Test/dafny4/git-issue88.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 3 verified, 0 errors diff --git a/Test/exceptions/Exceptions1.dfy b/Test/exceptions/Exceptions1.dfy index 11bb2f7923d..4ffd3291f2f 100644 --- a/Test/exceptions/Exceptions1.dfy +++ b/Test/exceptions/Exceptions1.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" /rprint:"%t.rprint" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "./NatOutcome.dfy" include "./VoidOutcome.dfy" diff --git a/Test/exceptions/Exceptions1.dfy.expect b/Test/exceptions/Exceptions1.dfy.expect index e61be2a11ad..c87eb938c55 100644 --- a/Test/exceptions/Exceptions1.dfy.expect +++ b/Test/exceptions/Exceptions1.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 7 verified, 0 errors true_true_true_88_42_33_Success=100 ___VoidSuccess true_true_false_88_42_Failure diff --git a/Test/exceptions/Exceptions1Expressions.dfy b/Test/exceptions/Exceptions1Expressions.dfy index c0f3c67cd39..a57e5b78c7e 100644 --- a/Test/exceptions/Exceptions1Expressions.dfy +++ b/Test/exceptions/Exceptions1Expressions.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" /rprint:"%t.rprint" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "./NatOutcomeDt.dfy" include "./VoidOutcomeDt.dfy" diff --git a/Test/exceptions/Exceptions1Expressions.dfy.expect b/Test/exceptions/Exceptions1Expressions.dfy.expect index 3da30f30d36..3f1b38ab150 100644 --- a/Test/exceptions/Exceptions1Expressions.dfy.expect +++ b/Test/exceptions/Exceptions1Expressions.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors true_true_true_Success=100 VoidSuccess true_true_false_Failure diff --git a/Test/exports/FIFO.dfy b/Test/exports/FIFO.dfy index 173e412eaa9..95a8d25510c 100644 --- a/Test/exports/FIFO.dfy +++ b/Test/exports/FIFO.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "Queue.dfyi" diff --git a/Test/exports/FIFO.dfy.expect b/Test/exports/FIFO.dfy.expect index 8350309cc2a..4539bbf2d22 100644 --- a/Test/exports/FIFO.dfy.expect +++ b/Test/exports/FIFO.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors 0 1 2 diff --git a/Test/exports/LIFO.dfy b/Test/exports/LIFO.dfy index ea691935620..513dd457c3f 100644 --- a/Test/exports/LIFO.dfy +++ b/Test/exports/LIFO.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "Queue.dfyi" diff --git a/Test/exports/LIFO.dfy.expect b/Test/exports/LIFO.dfy.expect index 48aa7787d09..ae136939b64 100644 --- a/Test/exports/LIFO.dfy.expect +++ b/Test/exports/LIFO.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors 2 1 0 diff --git a/Test/exports/xrefine2.dfy b/Test/exports/xrefine2.dfy index 0b25240916c..2409cc0509a 100644 --- a/Test/exports/xrefine2.dfy +++ b/Test/exports/xrefine2.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module ProtocolImpl { diff --git a/Test/exports/xrefine2.dfy.expect b/Test/exports/xrefine2.dfy.expect index 34e1b357779..858dbd09862 100644 --- a/Test/exports/xrefine2.dfy.expect +++ b/Test/exports/xrefine2.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 4 verified, 0 errors HI.foo(h1) => true HI.foo(h2) => true PI.orange(1) => 2 diff --git a/Test/exports/xrefine3.dfy b/Test/exports/xrefine3.dfy index 24d6fa062f0..bb2480bfed7 100644 --- a/Test/exports/xrefine3.dfy +++ b/Test/exports/xrefine3.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module AlphaImpl { diff --git a/Test/exports/xrefine3.dfy.expect b/Test/exports/xrefine3.dfy.expect index 488ab11c36a..ae50cef0985 100644 --- a/Test/exports/xrefine3.dfy.expect +++ b/Test/exports/xrefine3.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors o hai! diff --git a/Test/git-issues/git-issue-032.dfy b/Test/git-issues/git-issue-032.dfy index bde5b2f2a69..d7dd61440a7 100644 --- a/Test/git-issues/git-issue-032.dfy +++ b/Test/git-issues/git-issue-032.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/git-issues/git-issue-032.dfy.expect b/Test/git-issues/git-issue-032.dfy.expect index 91c285009c1..2a64997c6f7 100644 --- a/Test/git-issues/git-issue-032.dfy.expect +++ b/Test/git-issues/git-issue-032.dfy.expect @@ -1,40 +1,3 @@ -git-issue-032.dfy(18,35): Warning: this branch is redundant -git-issue-032.dfy(27,34): Warning: this branch is redundant -git-issue-032.dfy(28,35): Warning: this branch is redundant - -Dafny program verifier finished with 1 verified, 0 errors -git-issue-032.dfy(18,35): Warning: this branch is redundant -git-issue-032.dfy(27,34): Warning: this branch is redundant -git-issue-032.dfy(28,35): Warning: this branch is redundant - -Dafny program verifier did not attempt verification -OK3 -OK -OKOK -00 -git-issue-032.dfy(18,35): Warning: this branch is redundant -git-issue-032.dfy(27,34): Warning: this branch is redundant -git-issue-032.dfy(28,35): Warning: this branch is redundant - -Dafny program verifier did not attempt verification -OK3 -OK -OKOK -00 -git-issue-032.dfy(18,35): Warning: this branch is redundant -git-issue-032.dfy(27,34): Warning: this branch is redundant -git-issue-032.dfy(28,35): Warning: this branch is redundant - -Dafny program verifier did not attempt verification -OK3 -OK -OKOK -00 -git-issue-032.dfy(18,35): Warning: this branch is redundant -git-issue-032.dfy(27,34): Warning: this branch is redundant -git-issue-032.dfy(28,35): Warning: this branch is redundant - -Dafny program verifier did not attempt verification OK3 OK OKOK diff --git a/Test/git-issues/git-issue-032.dfy.verifier.expect b/Test/git-issues/git-issue-032.dfy.verifier.expect new file mode 100644 index 00000000000..885d7bff92c --- /dev/null +++ b/Test/git-issues/git-issue-032.dfy.verifier.expect @@ -0,0 +1,3 @@ +git-issue-032.dfy(18,35): Warning: this branch is redundant +git-issue-032.dfy(27,34): Warning: this branch is redundant +git-issue-032.dfy(28,35): Warning: this branch is redundant diff --git a/Test/git-issues/git-issue-1029.dfy b/Test/git-issues/git-issue-1029.dfy index a310a99c169..7e1e7a31cf2 100644 --- a/Test/git-issues/git-issue-1029.dfy +++ b/Test/git-issues/git-issue-1029.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module ValueType { export S diff --git a/Test/git-issues/git-issue-1029.dfy.expect b/Test/git-issues/git-issue-1029.dfy.expect index 075fcd93aed..f603f618f29 100644 --- a/Test/git-issues/git-issue-1029.dfy.expect +++ b/Test/git-issues/git-issue-1029.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors [true, true, false] UI_Compile.Op2.GetOps([true, true, false], [true, true, false]) diff --git a/Test/git-issues/git-issue-1093.dfy b/Test/git-issues/git-issue-1093.dfy index 9365397496f..97797296680 100644 --- a/Test/git-issues/git-issue-1093.dfy +++ b/Test/git-issues/git-issue-1093.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { UnusedLabel(); diff --git a/Test/git-issues/git-issue-1093.dfy.expect b/Test/git-issues/git-issue-1093.dfy.expect index 0cadf5e4199..f599e28b8ab 100644 --- a/Test/git-issues/git-issue-1093.dfy.expect +++ b/Test/git-issues/git-issue-1093.dfy.expect @@ -1,17 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification -10 - -Dafny program verifier did not attempt verification -10 - -Dafny program verifier did not attempt verification -10 - -Dafny program verifier did not attempt verification -10 - -Dafny program verifier did not attempt verification 10 diff --git a/Test/git-issues/git-issue-1100.dfy b/Test/git-issues/git-issue-1100.dfy index 533d7688731..2c4bb564136 100644 --- a/Test/git-issues/git-issue-1100.dfy +++ b/Test/git-issues/git-issue-1100.dfy @@ -1,4 +1,3 @@ -// RUN: %dafny /compile:3 /unicodeChar:0 /compileTarget:cpp %S/../c++/arrays.dfy > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false /Users/salkeldr/Documents/GitHub/dafny/Test/git-issues/../c++/arrays.dfy // Test compilation of a file in another directory diff --git a/Test/git-issues/git-issue-1100.dfy.expect b/Test/git-issues/git-issue-1100.dfy.expect index 552f9355593..2ce9320d8c2 100644 --- a/Test/git-issues/git-issue-1100.dfy.expect +++ b/Test/git-issues/git-issue-1100.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 9 verified, 0 errors 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/git-issues/git-issue-1130.dfy b/Test/git-issues/git-issue-1130.dfy index 5b7fc5068e2..f1f5ad5a54b 100644 --- a/Test/git-issues/git-issue-1130.dfy +++ b/Test/git-issues/git-issue-1130.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var a := new Issue.Foo(); diff --git a/Test/git-issues/git-issue-1130.dfy.expect b/Test/git-issues/git-issue-1130.dfy.expect index 6c3dd07b1f1..de97a6dc4ca 100644 --- a/Test/git-issues/git-issue-1130.dfy.expect +++ b/Test/git-issues/git-issue-1130.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 13 verified, 0 errors 012 diff --git a/Test/git-issues/git-issue-1150.dfy b/Test/git-issues/git-issue-1150.dfy index d4cee3c3ef2..d3416a53813 100644 --- a/Test/git-issues/git-issue-1150.dfy +++ b/Test/git-issues/git-issue-1150.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Foo = Foo(x: nat) { diff --git a/Test/git-issues/git-issue-1150.dfy.expect b/Test/git-issues/git-issue-1150.dfy.expect index fb4be1897cf..f34d8df4a11 100644 --- a/Test/git-issues/git-issue-1150.dfy.expect +++ b/Test/git-issues/git-issue-1150.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 1 verified, 0 errors Foo.Foo(2) true Foo.Foo(5) false diff --git a/Test/git-issues/git-issue-1185.dfy b/Test/git-issues/git-issue-1185.dfy index 32c340b0736..c7ad72134d1 100644 --- a/Test/git-issues/git-issue-1185.dfy +++ b/Test/git-issues/git-issue-1185.dfy @@ -1,9 +1,5 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment predicate P(s: set) requires s != {} diff --git a/Test/git-issues/git-issue-1185.dfy.expect b/Test/git-issues/git-issue-1185.dfy.expect index 90ab58a1f5a..525ce875525 100644 --- a/Test/git-issues/git-issue-1185.dfy.expect +++ b/Test/git-issues/git-issue-1185.dfy.expect @@ -1,14 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification -{12, 20} true 6 - -Dafny program verifier did not attempt verification -{20, 12} true 6 - -Dafny program verifier did not attempt verification -{12, 20} true 6 - -Dafny program verifier did not attempt verification {12, 20} true 6 diff --git a/Test/git-issues/git-issue-1185.dfy.java.expect b/Test/git-issues/git-issue-1185.dfy.java.expect new file mode 100644 index 00000000000..8ba669ad273 --- /dev/null +++ b/Test/git-issues/git-issue-1185.dfy.java.expect @@ -0,0 +1 @@ +{20, 12} true 6 diff --git a/Test/git-issues/git-issue-1514.dfy b/Test/git-issues/git-issue-1514.dfy index 74b75478609..816eadce69b 100644 --- a/Test/git-issues/git-issue-1514.dfy +++ b/Test/git-issues/git-issue-1514.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "Wrappers.dfy" import opened Wrappers diff --git a/Test/git-issues/git-issue-1514.dfy.expect b/Test/git-issues/git-issue-1514.dfy.expect index 2f22d47cee8..b5754e20373 100644 --- a/Test/git-issues/git-issue-1514.dfy.expect +++ b/Test/git-issues/git-issue-1514.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-1514b.dfy b/Test/git-issues/git-issue-1514b.dfy index 1d8cd122d28..050a4a71760 100644 --- a/Test/git-issues/git-issue-1514b.dfy +++ b/Test/git-issues/git-issue-1514b.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "Wrappers.dfy" import opened Wrappers diff --git a/Test/git-issues/git-issue-1514b.dfy.expect b/Test/git-issues/git-issue-1514b.dfy.expect index 2f22d47cee8..b5754e20373 100644 --- a/Test/git-issues/git-issue-1514b.dfy.expect +++ b/Test/git-issues/git-issue-1514b.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-1514c.dfy b/Test/git-issues/git-issue-1514c.dfy index d9df7d108c1..578316f217c 100644 --- a/Test/git-issues/git-issue-1514c.dfy +++ b/Test/git-issues/git-issue-1514c.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "Wrappers.dfy" import opened Wrappers diff --git a/Test/git-issues/git-issue-1514c.dfy.expect b/Test/git-issues/git-issue-1514c.dfy.expect index 694254c28aa..9766475a418 100644 --- a/Test/git-issues/git-issue-1514c.dfy.expect +++ b/Test/git-issues/git-issue-1514c.dfy.expect @@ -1,8 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification -ok - -Dafny program verifier did not attempt verification ok diff --git a/Test/git-issues/git-issue-1553.dfy b/Test/git-issues/git-issue-1553.dfy index 6267018c92d..81cbef7aa7e 100644 --- a/Test/git-issues/git-issue-1553.dfy +++ b/Test/git-issues/git-issue-1553.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { } method Test() { diff --git a/Test/git-issues/git-issue-1553.dfy.expect b/Test/git-issues/git-issue-1553.dfy.expect index 65d3b5d6635..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-1553.dfy.expect +++ b/Test/git-issues/git-issue-1553.dfy.expect @@ -1,10 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-1604b.dfy b/Test/git-issues/git-issue-1604b.dfy index 497ee5017d5..c00b95102f4 100644 --- a/Test/git-issues/git-issue-1604b.dfy +++ b/Test/git-issues/git-issue-1604b.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /errorLimit:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /errorLimit:0 // Double constraints. Will this still work? diff --git a/Test/git-issues/git-issue-1604b.dfy.expect b/Test/git-issues/git-issue-1604b.dfy.expect index 93d7203e654..b5754e20373 100644 --- a/Test/git-issues/git-issue-1604b.dfy.expect +++ b/Test/git-issues/git-issue-1604b.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 5 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-1714.dfy b/Test/git-issues/git-issue-1714.dfy index 6ce8915a7af..540a41c39cb 100644 --- a/Test/git-issues/git-issue-1714.dfy +++ b/Test/git-issues/git-issue-1714.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait Base {} class Derived extends Base { var n: int constructor() { n := 0; } } diff --git a/Test/git-issues/git-issue-1714.dfy.expect b/Test/git-issues/git-issue-1714.dfy.expect index 67dd7d95642..88039063d09 100644 --- a/Test/git-issues/git-issue-1714.dfy.expect +++ b/Test/git-issues/git-issue-1714.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors (b as Derived).n == 0 diff --git a/Test/git-issues/git-issue-179.dfy b/Test/git-issues/git-issue-179.dfy index 283a04f1a68..d37d3048490 100644 --- a/Test/git-issues/git-issue-179.dfy +++ b/Test/git-issues/git-issue-179.dfy @@ -1,9 +1,5 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var mp: map; diff --git a/Test/git-issues/git-issue-179.dfy.expect b/Test/git-issues/git-issue-179.dfy.expect index 3f922ac5bd4..97cb7aa6c7a 100644 --- a/Test/git-issues/git-issue-179.dfy.expect +++ b/Test/git-issues/git-issue-179.dfy.expect @@ -1,26 +1,4 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification {(3, false), (4, true), (5, false)} {3, 4, 5} {false, true} true false true false - -Dafny program verifier did not attempt verification -{(5, false), (4, true), (3, false)} -{5, 4, 3} -{false, true} -true false true false - -Dafny program verifier did not attempt verification -{(5, false), (4, true), (3, false)} -{5, 4, 3} -{false, true} -true false true false - -Dafny program verifier did not attempt verification -{(5, false), (3, false), (4, true)} -{3, 4, 5} -{false, true} -true false true false diff --git a/Test/git-issues/git-issue-179.dfy.go.expect b/Test/git-issues/git-issue-179.dfy.go.expect new file mode 100644 index 00000000000..3b6c1b2603f --- /dev/null +++ b/Test/git-issues/git-issue-179.dfy.go.expect @@ -0,0 +1,4 @@ +{(5, false), (4, true), (3, false)} +{5, 4, 3} +{false, true} +true false true false diff --git a/Test/git-issues/git-issue-179.dfy.java.expect b/Test/git-issues/git-issue-179.dfy.java.expect new file mode 100644 index 00000000000..ebe17288dfd --- /dev/null +++ b/Test/git-issues/git-issue-179.dfy.java.expect @@ -0,0 +1,4 @@ +{(5, false), (3, false), (4, true)} +{3, 4, 5} +{false, true} +true false true false diff --git a/Test/git-issues/git-issue-179.dfy.js.expect b/Test/git-issues/git-issue-179.dfy.js.expect new file mode 100644 index 00000000000..3b6c1b2603f --- /dev/null +++ b/Test/git-issues/git-issue-179.dfy.js.expect @@ -0,0 +1,4 @@ +{(5, false), (4, true), (3, false)} +{5, 4, 3} +{false, true} +true false true false diff --git a/Test/git-issues/git-issue-1815a.dfy b/Test/git-issues/git-issue-1815a.dfy index 91fb7a32aa6..72d55a1cb4f 100644 --- a/Test/git-issues/git-issue-1815a.dfy +++ b/Test/git-issues/git-issue-1815a.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Dt<+U> = Dt(x: U, i: int) diff --git a/Test/git-issues/git-issue-1815a.dfy.expect b/Test/git-issues/git-issue-1815a.dfy.expect index 7b2651302d9..19f86f493ab 100644 --- a/Test/git-issues/git-issue-1815a.dfy.expect +++ b/Test/git-issues/git-issue-1815a.dfy.expect @@ -1,17 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification -done - -Dafny program verifier did not attempt verification -done - -Dafny program verifier did not attempt verification -done - -Dafny program verifier did not attempt verification -done - -Dafny program verifier did not attempt verification done diff --git a/Test/git-issues/git-issue-1852.dfy b/Test/git-issues/git-issue-1852.dfy index 516835e8ea8..046f3fca1fc 100644 --- a/Test/git-issues/git-issue-1852.dfy +++ b/Test/git-issues/git-issue-1852.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module A { export diff --git a/Test/git-issues/git-issue-1852.dfy.expect b/Test/git-issues/git-issue-1852.dfy.expect index e9cd0ea2e07..299a71f3fe4 100644 --- a/Test/git-issues/git-issue-1852.dfy.expect +++ b/Test/git-issues/git-issue-1852.dfy.expect @@ -1,8 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification -5 5 - -Dafny program verifier did not attempt verification 5 5 diff --git a/Test/git-issues/git-issue-1903.dfy b/Test/git-issues/git-issue-1903.dfy index 7edb2a46c61..60ee1c121ab 100644 --- a/Test/git-issues/git-issue-1903.dfy +++ b/Test/git-issues/git-issue-1903.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method g(x : seq := []) { diff --git a/Test/git-issues/git-issue-1903.dfy.expect b/Test/git-issues/git-issue-1903.dfy.expect index 3170fb0c7f2..84cc8d360f9 100644 --- a/Test/git-issues/git-issue-1903.dfy.expect +++ b/Test/git-issues/git-issue-1903.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors worked! diff --git a/Test/git-issues/git-issue-1909.dfy b/Test/git-issues/git-issue-1909.dfy index 7fb5b3b8c48..83d9ec1d785 100644 --- a/Test/git-issues/git-issue-1909.dfy +++ b/Test/git-issues/git-issue-1909.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype ABC = ABC(nameonly a: int, nameonly b: int, nameonly c: int) diff --git a/Test/git-issues/git-issue-1909.dfy.expect b/Test/git-issues/git-issue-1909.dfy.expect index b4eb7e7774e..ab6f7d69d36 100644 --- a/Test/git-issues/git-issue-1909.dfy.expect +++ b/Test/git-issues/git-issue-1909.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors ABC.ABC(19, 21, 23) ABC.ABC(19, 42, 23) ABC.ABC(100, 42, 90) diff --git a/Test/git-issues/git-issue-2013.dfy b/Test/git-issues/git-issue-2013.dfy index d1d3e15880e..1f3962988ee 100644 --- a/Test/git-issues/git-issue-2013.dfy +++ b/Test/git-issues/git-issue-2013.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/git-issues/git-issue-2013.dfy.expect b/Test/git-issues/git-issue-2013.dfy.expect index bbf7e59b073..2cf9744efb3 100644 --- a/Test/git-issues/git-issue-2013.dfy.expect +++ b/Test/git-issues/git-issue-2013.dfy.expect @@ -1,55 +1,3 @@ - -Dafny program verifier finished with 12 verified, 0 errors - -Dafny program verifier did not attempt verification -16 -16 -12 30 30 -Result.Success(8) Result.Failure(_module.MyClassException) -{100} {100} {100} -{MoreTests_Compile.C} {MoreTests_Compile.C} {MoreTests_Compile.C} -100 100 100 -MoreTests_Compile.C MoreTests_Compile.C MoreTests_Compile.C -Conveyance_Compile.NonVariantResult.NVSuccess(Conveyance_Compile.Car) Conveyance_Compile.CovariantResult.CVSuccess(Conveyance_Compile.Car) -Regression_mM_Compile.Stream.Next - -Dafny program verifier did not attempt verification -16 -16 -12 30 30 -Result.Success(8) Result.Failure(_module.MyClassException) -{100} {100} {100} -{MoreTests_Compile.C} {MoreTests_Compile.C} {MoreTests_Compile.C} -100 100 100 -MoreTests_Compile.C MoreTests_Compile.C MoreTests_Compile.C -Conveyance_Compile.NonVariantResult.NVSuccess(Conveyance_Compile.Car) Conveyance_Compile.CovariantResult.CVSuccess(Conveyance_Compile.Car) -Regression_mM_Compile.Stream.Next - -Dafny program verifier did not attempt verification -16 -16 -12 30 30 -Result.Success(8) Result.Failure(_module.MyClassException) -{100} {100} {100} -{MoreTests_Compile.C} {MoreTests_Compile.C} {MoreTests_Compile.C} -100 100 100 -MoreTests_Compile.C MoreTests_Compile.C MoreTests_Compile.C -Conveyance_Compile.NonVariantResult.NVSuccess(Conveyance_Compile.Car) Conveyance_Compile.CovariantResult.CVSuccess(Conveyance_Compile.Car) -Regression_mM_Compile.Stream.Next - -Dafny program verifier did not attempt verification -16 -16 -12 30 30 -Result.Success(8) Result.Failure(_module.MyClassException) -{100} {100} {100} -{MoreTests_Compile.C} {MoreTests_Compile.C} {MoreTests_Compile.C} -100 100 100 -MoreTests_Compile.C MoreTests_Compile.C MoreTests_Compile.C -Conveyance_Compile.NonVariantResult.NVSuccess(Conveyance_Compile.Car) Conveyance_Compile.CovariantResult.CVSuccess(Conveyance_Compile.Car) -Regression_mM_Compile.Stream.Next - -Dafny program verifier did not attempt verification 16 16 12 30 30 diff --git a/Test/git-issues/git-issue-2441.dfy b/Test/git-issues/git-issue-2441.dfy index bc9c8721ee2..4179ecc87bc 100644 --- a/Test/git-issues/git-issue-2441.dfy +++ b/Test/git-issues/git-issue-2441.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype A = A(B: B) datatype B = X diff --git a/Test/git-issues/git-issue-2441.dfy.expect b/Test/git-issues/git-issue-2441.dfy.expect index 0c3f603d584..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-2441.dfy.expect +++ b/Test/git-issues/git-issue-2441.dfy.expect @@ -1,6 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-2510.dfy b/Test/git-issues/git-issue-2510.dfy index 22ef8e47058..11ee2877bb3 100644 --- a/Test/git-issues/git-issue-2510.dfy +++ b/Test/git-issues/git-issue-2510.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:4 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /// Check that the compiler accepts `:- assume {:axiom} …`. diff --git a/Test/git-issues/git-issue-2510.dfy.expect b/Test/git-issues/git-issue-2510.dfy.expect index b341a39a78d..56a6051ca2b 100644 --- a/Test/git-issues/git-issue-2510.dfy.expect +++ b/Test/git-issues/git-issue-2510.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors 1 \ No newline at end of file diff --git a/Test/git-issues/git-issue-258.dfy b/Test/git-issues/git-issue-258.dfy index dbc437cebbc..97820c26461 100644 --- a/Test/git-issues/git-issue-258.dfy +++ b/Test/git-issues/git-issue-258.dfy @@ -1,9 +1,5 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /compile:3 /unicodeChar:0 /spillTargetCode:3 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /compile:3 /unicodeChar:0 /spillTargetCode:3 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /compile:3 /unicodeChar:0 /spillTargetCode:3 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /compile:3 /unicodeChar:0 /spillTargetCode:3 /compileTarget:go "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false /spillTargetCode:3 method pr(s: seq) { print s, "\n"; diff --git a/Test/git-issues/git-issue-258.dfy.expect b/Test/git-issues/git-issue-258.dfy.expect index 8cf196174b8..31b98032806 100644 --- a/Test/git-issues/git-issue-258.dfy.expect +++ b/Test/git-issues/git-issue-258.dfy.expect @@ -1,83 +1,10 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier finished with 1 verified, 0 errors -hi -hi - - -HI! -hi - -HI! - -[23, 45] -[23, 45] -[] -[] -abcabc -abcabc -abcdef -abcdef - - -[1, 2, 3, 4] -[1, 2, 3, 4] - -Dafny program verifier finished with 1 verified, 0 errors -hi -hi - - -HI! -hi - -HI! - -[23, 45] -[23, 45] -[] -[] -abcabc -abcabc -abcdef -abcdef - - -[1, 2, 3, 4] -[1, 2, 3, 4] - -Dafny program verifier finished with 1 verified, 0 errors hi hi HI! hi -[] -HI! - -[23, 45] -[23, 45] -[] -[] -abcabc -abcabc -abcdef -abcdef - - -[1, 2, 3, 4] -[1, 2, 3, 4] - -Dafny program verifier finished with 1 verified, 0 errors -hi -hi - -HI! -hi -[] HI! [23, 45] diff --git a/Test/git-issues/git-issue-258.dfy.go.expect b/Test/git-issues/git-issue-258.dfy.go.expect new file mode 100644 index 00000000000..2745afdf6e1 --- /dev/null +++ b/Test/git-issues/git-issue-258.dfy.go.expect @@ -0,0 +1,21 @@ +hi +hi + + +HI! +hi +[] +HI! + +[23, 45] +[23, 45] +[] +[] +abcabc +abcabc +abcdef +abcdef + + +[1, 2, 3, 4] +[1, 2, 3, 4] diff --git a/Test/git-issues/git-issue-258.dfy.js.expect b/Test/git-issues/git-issue-258.dfy.js.expect new file mode 100644 index 00000000000..2745afdf6e1 --- /dev/null +++ b/Test/git-issues/git-issue-258.dfy.js.expect @@ -0,0 +1,21 @@ +hi +hi + + +HI! +hi +[] +HI! + +[23, 45] +[23, 45] +[] +[] +abcabc +abcabc +abcdef +abcdef + + +[1, 2, 3, 4] +[1, 2, 3, 4] diff --git a/Test/git-issues/git-issue-2608.dfy b/Test/git-issues/git-issue-2608.dfy index 459c9ffbf94..c606177f94f 100644 --- a/Test/git-issues/git-issue-2608.dfy +++ b/Test/git-issues/git-issue-2608.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /compileTarget:js "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method GetNext(i: int) returns (j: int, possible: bool) { if i == 1 { diff --git a/Test/git-issues/git-issue-2608.dfy.expect b/Test/git-issues/git-issue-2608.dfy.expect index dce7ba1814a..d9ed583f710 100644 --- a/Test/git-issues/git-issue-2608.dfy.expect +++ b/Test/git-issues/git-issue-2608.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors 82411246231944714271214 \ No newline at end of file diff --git a/Test/git-issues/git-issue-262.dfy b/Test/git-issues/git-issue-262.dfy index 2c00ad94a39..22d9a31b2fe 100644 --- a/Test/git-issues/git-issue-262.dfy +++ b/Test/git-issues/git-issue-262.dfy @@ -1,8 +1,5 @@ -// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" -// RUN: %dafny /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function tst(x: nat): nat { x + 1 diff --git a/Test/git-issues/git-issue-262.dfy.expect b/Test/git-issues/git-issue-262.dfy.expect index 76af42cd4a3..41d8cd55158 100644 --- a/Test/git-issues/git-issue-262.dfy.expect +++ b/Test/git-issues/git-issue-262.dfy.expect @@ -1,20 +1,2 @@ - -Dafny program verifier finished with 2 verified, 0 errors System.Func`2[System.Numerics.BigInteger,System.Numerics.BigInteger] System.Func`2[System.Numerics.BigInteger,System.Numerics.BigInteger] - -Dafny program verifier finished with 2 verified, 0 errors -tst(x) { - return (x).plus(_dafny.ONE); - } -tst(x) { - return (x).plus(_dafny.ONE); - } - -Dafny program verifier finished with 2 verified, 0 errors -func(dafny.Int) dafny.Int -func(dafny.Int) dafny.Int - -Dafny program verifier finished with 2 verified, 0 errors -Function -Function diff --git a/Test/git-issues/git-issue-262.dfy.go.expect b/Test/git-issues/git-issue-262.dfy.go.expect new file mode 100644 index 00000000000..578754c176c --- /dev/null +++ b/Test/git-issues/git-issue-262.dfy.go.expect @@ -0,0 +1,2 @@ +func(dafny.Int) dafny.Int +func(dafny.Int) dafny.Int diff --git a/Test/git-issues/git-issue-262.dfy.java.expect b/Test/git-issues/git-issue-262.dfy.java.expect new file mode 100644 index 00000000000..aa5478ef8c9 --- /dev/null +++ b/Test/git-issues/git-issue-262.dfy.java.expect @@ -0,0 +1,2 @@ +Function +Function diff --git a/Test/git-issues/git-issue-262.dfy.js.expect b/Test/git-issues/git-issue-262.dfy.js.expect new file mode 100644 index 00000000000..e181ef2fef8 --- /dev/null +++ b/Test/git-issues/git-issue-262.dfy.js.expect @@ -0,0 +1,6 @@ +tst(x) { + return (x).plus(_dafny.ONE); + } +tst(x) { + return (x).plus(_dafny.ONE); + } diff --git a/Test/git-issues/git-issue-267.dfy b/Test/git-issues/git-issue-267.dfy index cef2fcc6c17..2b0b3281589 100644 --- a/Test/git-issues/git-issue-267.dfy +++ b/Test/git-issues/git-issue-267.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var c := 1; diff --git a/Test/git-issues/git-issue-267.dfy.expect b/Test/git-issues/git-issue-267.dfy.expect index d71aef2f440..cd7da05e3d2 100644 --- a/Test/git-issues/git-issue-267.dfy.expect +++ b/Test/git-issues/git-issue-267.dfy.expect @@ -1,14 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification -210 - -Dafny program verifier did not attempt verification -210 - -Dafny program verifier did not attempt verification -210 - -Dafny program verifier did not attempt verification 210 diff --git a/Test/git-issues/git-issue-2672.dfy b/Test/git-issues/git-issue-2672.dfy index 338299ee8b7..52c5b9c638c 100644 --- a/Test/git-issues/git-issue-2672.dfy +++ b/Test/git-issues/git-issue-2672.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment newtype sreal = r: real | r > -4 as real newtype sint = r: int | r > -4 as int diff --git a/Test/git-issues/git-issue-2672.dfy.expect b/Test/git-issues/git-issue-2672.dfy.expect index c9c3244b6f4..43440a83d53 100644 --- a/Test/git-issues/git-issue-2672.dfy.expect +++ b/Test/git-issues/git-issue-2672.dfy.expect @@ -1,47 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors - -Dafny program verifier did not attempt verification -true true true true true true true true true true -false false false false false false false false false false -false false false false false false false false false false -true true true true true true true true true true -true true true true true true true true true true -false false false false false false false false false false -true true true -false false false - -Dafny program verifier did not attempt verification -true true true true true true true true true true -false false false false false false false false false false -false false false false false false false false false false -true true true true true true true true true true -true true true true true true true true true true -false false false false false false false false false false -true true true -false false false - -Dafny program verifier did not attempt verification -true true true true true true true true true true -false false false false false false false false false false -false false false false false false false false false false -true true true true true true true true true true -true true true true true true true true true true -false false false false false false false false false false -true true true -false false false - -Dafny program verifier did not attempt verification -true true true true true true true true true true -false false false false false false false false false false -false false false false false false false false false false -true true true true true true true true true true -true true true true true true true true true true -false false false false false false false false false false -true true true -false false false - -Dafny program verifier did not attempt verification true true true true true true true true true true false false false false false false false false false false false false false false false false false false false false diff --git a/Test/git-issues/git-issue-2726a.dfy b/Test/git-issues/git-issue-2726a.dfy index 641fefbbdc4..a43d5dd0107 100644 --- a/Test/git-issues/git-issue-2726a.dfy +++ b/Test/git-issues/git-issue-2726a.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /compileTarget:cs "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment const digits := ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"] diff --git a/Test/git-issues/git-issue-2726a.dfy.expect b/Test/git-issues/git-issue-2726a.dfy.expect index 6985935c88c..8e1bedb2a64 100644 --- a/Test/git-issues/git-issue-2726a.dfy.expect +++ b/Test/git-issues/git-issue-2726a.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors 4 42 422 diff --git a/Test/git-issues/git-issue-2733.dfy b/Test/git-issues/git-issue-2733.dfy index 232eab3cc74..65bc2b991fd 100644 --- a/Test/git-issues/git-issue-2733.dfy +++ b/Test/git-issues/git-issue-2733.dfy @@ -1,11 +1,4 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cpp "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false method Main() { print "XYZ"; // Checks that no extra newline is added to the output diff --git a/Test/git-issues/git-issue-2733.dfy.expect b/Test/git-issues/git-issue-2733.dfy.expect index b139e2f3d58..77bf25132db 100644 --- a/Test/git-issues/git-issue-2733.dfy.expect +++ b/Test/git-issues/git-issue-2733.dfy.expect @@ -1,15 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification -XYZ -Dafny program verifier did not attempt verification -XYZ -Dafny program verifier did not attempt verification -XYZ -Dafny program verifier did not attempt verification -XYZ -Dafny program verifier did not attempt verification -XYZ -Dafny program verifier did not attempt verification XYZ \ No newline at end of file diff --git a/Test/git-issues/git-issue-2792.dfy b/Test/git-issues/git-issue-2792.dfy index 89e736667c0..d2fb9db2055 100644 --- a/Test/git-issues/git-issue-2792.dfy +++ b/Test/git-issues/git-issue-2792.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /compileTarget:java "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Wrapper = Wrapper(s: seq) { diff --git a/Test/git-issues/git-issue-2792.dfy.expect b/Test/git-issues/git-issue-2792.dfy.expect index c1e603c58fe..ca1683c3020 100644 --- a/Test/git-issues/git-issue-2792.dfy.expect +++ b/Test/git-issues/git-issue-2792.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors [] Wrapper2.Wrapper2([], 2792) diff --git a/Test/git-issues/git-issue-283.dfy b/Test/git-issues/git-issue-283.dfy index c7c10f4aea3..1ca6d48d32c 100644 --- a/Test/git-issues/git-issue-283.dfy +++ b/Test/git-issues/git-issue-283.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Result = | Success(value: T) diff --git a/Test/git-issues/git-issue-283.dfy.expect b/Test/git-issues/git-issue-283.dfy.expect index 2adb114b8a0..a965a70ed4e 100644 --- a/Test/git-issues/git-issue-283.dfy.expect +++ b/Test/git-issues/git-issue-283.dfy.expect @@ -1,14 +1 @@ - -Dafny program verifier finished with 9 verified, 0 errors - -Dafny program verifier did not attempt verification -Done - -Dafny program verifier did not attempt verification -Done - -Dafny program verifier did not attempt verification -Done - -Dafny program verifier did not attempt verification Done diff --git a/Test/git-issues/git-issue-283d.dfy b/Test/git-issues/git-issue-283d.dfy index 54ee58fb456..46c1056d5e1 100644 --- a/Test/git-issues/git-issue-283d.dfy +++ b/Test/git-issues/git-issue-283d.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Foo = R(v: int) diff --git a/Test/git-issues/git-issue-283d.dfy.expect b/Test/git-issues/git-issue-283d.dfy.expect index 8da23be5c8c..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-283d.dfy.expect +++ b/Test/git-issues/git-issue-283d.dfy.expect @@ -1,10 +0,0 @@ - -Dafny program verifier finished with 4 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-314.dfy b/Test/git-issues/git-issue-314.dfy index 5e3e93ca654..a7fc06564a5 100644 --- a/Test/git-issues/git-issue-314.dfy +++ b/Test/git-issues/git-issue-314.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype S = S(G: array) datatype T = T(F: array, ghost Repr: set) diff --git a/Test/git-issues/git-issue-314.dfy.expect b/Test/git-issues/git-issue-314.dfy.expect index f02fc57989a..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-314.dfy.expect +++ b/Test/git-issues/git-issue-314.dfy.expect @@ -1,10 +0,0 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-332.dfy b/Test/git-issues/git-issue-332.dfy index ca2b08f3e8d..5166441405d 100644 --- a/Test/git-issues/git-issue-332.dfy +++ b/Test/git-issues/git-issue-332.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var foo := new B.Foo(15); diff --git a/Test/git-issues/git-issue-332.dfy.expect b/Test/git-issues/git-issue-332.dfy.expect index 57cad39addf..209e3ef4b62 100644 --- a/Test/git-issues/git-issue-332.dfy.expect +++ b/Test/git-issues/git-issue-332.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 6 verified, 0 errors 20 diff --git a/Test/git-issues/git-issue-354.dfy b/Test/git-issues/git-issue-354.dfy index 5938c2f71ae..c3d63021209 100644 --- a/Test/git-issues/git-issue-354.dfy +++ b/Test/git-issues/git-issue-354.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class C { static const u: X diff --git a/Test/git-issues/git-issue-354.dfy.expect b/Test/git-issues/git-issue-354.dfy.expect index cb5ae21dc46..4368562357f 100644 --- a/Test/git-issues/git-issue-354.dfy.expect +++ b/Test/git-issues/git-issue-354.dfy.expect @@ -1,25 +1,3 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification -0 -0 -0.0 -false - -Dafny program verifier did not attempt verification -0 -0 -0.0 -false - -Dafny program verifier did not attempt verification -0 -0 -0.0 -false - -Dafny program verifier did not attempt verification 0 0 0.0 diff --git a/Test/git-issues/git-issue-356.dfy b/Test/git-issues/git-issue-356.dfy index f5c34b0803b..2d497c0531c 100644 --- a/Test/git-issues/git-issue-356.dfy +++ b/Test/git-issues/git-issue-356.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false module M { type Tx = i: int | 0 <= i <= 100 diff --git a/Test/git-issues/git-issue-356.dfy.expect b/Test/git-issues/git-issue-356.dfy.expect index cff4ed233e1..9d984ec4ef4 100644 --- a/Test/git-issues/git-issue-356.dfy.expect +++ b/Test/git-issues/git-issue-356.dfy.expect @@ -1,39 +1,3 @@ - -Dafny program verifier finished with 25 verified, 0 errors - -Dafny program verifier did not attempt verification -a d 57005 * * -Z 90 90.0 90 90 -* 42 42.0 42 42 -F 70 70.0 70 70 -# 35 35.0 35 35 -END - -Dafny program verifier did not attempt verification -a d 57005 * * -Z 90 90.0 90 90 -* 42 42.0 42 42 -F 70 70.0 70 70 -# 35 35.0 35 35 -END - -Dafny program verifier did not attempt verification -a d 57005 * * -Z 90 90.0 90 90 -* 42 42.0 42 42 -F 70 70.0 70 70 -# 35 35.0 35 35 -END - -Dafny program verifier did not attempt verification -a d 57005 * * -Z 90 90.0 90 90 -* 42 42.0 42 42 -F 70 70.0 70 70 -# 35 35.0 35 35 -END - -Dafny program verifier did not attempt verification a d 57005 * * Z 90 90.0 90 90 * 42 42.0 42 42 diff --git a/Test/git-issues/git-issue-364.dfy b/Test/git-issues/git-issue-364.dfy index 0fdedc7d9c0..68c75931746 100644 --- a/Test/git-issues/git-issue-364.dfy +++ b/Test/git-issues/git-issue-364.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype NatOutcome = | Success(value: nat) diff --git a/Test/git-issues/git-issue-364.dfy.expect b/Test/git-issues/git-issue-364.dfy.expect index 1368349d437..38478c6c688 100644 --- a/Test/git-issues/git-issue-364.dfy.expect +++ b/Test/git-issues/git-issue-364.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 4 verified, 0 errors NatOutcome.Success(55) false 55 12 0 NatOutcome.Failure("it could be worse") true NatOutcome.Failure("it could be worse") diff --git a/Test/git-issues/git-issue-374.dfy b/Test/git-issues/git-issue-374.dfy index 4c031b7d3ff..15b56ec6396 100644 --- a/Test/git-issues/git-issue-374.dfy +++ b/Test/git-issues/git-issue-374.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class C { constructor(ghost x: int) diff --git a/Test/git-issues/git-issue-374.dfy.expect b/Test/git-issues/git-issue-374.dfy.expect index f02fc57989a..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-374.dfy.expect +++ b/Test/git-issues/git-issue-374.dfy.expect @@ -1,10 +0,0 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-396.dfy b/Test/git-issues/git-issue-396.dfy index 2ab68e51e12..7866d3d0498 100644 --- a/Test/git-issues/git-issue-396.dfy +++ b/Test/git-issues/git-issue-396.dfy @@ -1,8 +1,4 @@ -// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" -// RUN: %dafny /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Foo = Bar(value: int) diff --git a/Test/git-issues/git-issue-396.dfy.expect b/Test/git-issues/git-issue-396.dfy.expect index 3dd340d3178..dee79f10940 100644 --- a/Test/git-issues/git-issue-396.dfy.expect +++ b/Test/git-issues/git-issue-396.dfy.expect @@ -1,12 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors -114 - -Dafny program verifier finished with 1 verified, 0 errors -114 - -Dafny program verifier finished with 1 verified, 0 errors -114 - -Dafny program verifier finished with 1 verified, 0 errors 114 diff --git a/Test/git-issues/git-issue-4007.dfy b/Test/git-issues/git-issue-4007.dfy index e4c25b82bb8..5a279e7b8e6 100644 --- a/Test/git-issues/git-issue-4007.dfy +++ b/Test/git-issues/git-issue-4007.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:4 /compileTarget:py "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var a := 0; @@ -7,4 +6,4 @@ method Main() { a := a + 1; } print a, "\n"; -} \ No newline at end of file +} diff --git a/Test/git-issues/git-issue-4007.dfy.expect b/Test/git-issues/git-issue-4007.dfy.expect index 3ce6919d35b..00750edc07d 100644 --- a/Test/git-issues/git-issue-4007.dfy.expect +++ b/Test/git-issues/git-issue-4007.dfy.expect @@ -1,4 +1 @@ -git-issue-4007.dfy(6,20): Warning: /!\ No terms found to trigger on. - -Dafny program verifier finished with 1 verified, 0 errors 3 diff --git a/Test/git-issues/git-issue-4012.dfy b/Test/git-issues/git-issue-4012.dfy index e065393a211..5360c0e935b 100644 --- a/Test/git-issues/git-issue-4012.dfy +++ b/Test/git-issues/git-issue-4012.dfy @@ -1,8 +1,7 @@ -// RUN: %dafny /compile:4 /compileTarget:py "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var x: multiset := multiset{}; x := x[1 := 18446744073709551616]; print |x|, "\n"; -} \ No newline at end of file +} diff --git a/Test/git-issues/git-issue-4012.dfy.expect b/Test/git-issues/git-issue-4012.dfy.expect index 230fbdbd384..ab69b99fab4 100644 --- a/Test/git-issues/git-issue-4012.dfy.expect +++ b/Test/git-issues/git-issue-4012.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors 18446744073709551616 diff --git a/Test/git-issues/git-issue-425.dfy b/Test/git-issues/git-issue-425.dfy index 4e555daaed0..122a10e4fbb 100644 --- a/Test/git-issues/git-issue-425.dfy +++ b/Test/git-issues/git-issue-425.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method M() returns (x: int, ghost y: int) { return 42, 43; diff --git a/Test/git-issues/git-issue-425.dfy.expect b/Test/git-issues/git-issue-425.dfy.expect index c2284013d9e..daaac9e3030 100644 --- a/Test/git-issues/git-issue-425.dfy.expect +++ b/Test/git-issues/git-issue-425.dfy.expect @@ -1,18 +1,2 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification -42 -42 - -Dafny program verifier did not attempt verification -42 -42 - -Dafny program verifier did not attempt verification -42 -42 - -Dafny program verifier did not attempt verification 42 42 diff --git a/Test/git-issues/git-issue-443.dfy b/Test/git-issues/git-issue-443.dfy index e8745b5ddda..6702e37484f 100644 --- a/Test/git-issues/git-issue-443.dfy +++ b/Test/git-issues/git-issue-443.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { print F(), " ", G(802.11), "\n"; // 12 15 diff --git a/Test/git-issues/git-issue-443.dfy.expect b/Test/git-issues/git-issue-443.dfy.expect index 10af01216da..0b64712fdcf 100644 --- a/Test/git-issues/git-issue-443.dfy.expect +++ b/Test/git-issues/git-issue-443.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors 12 15 diff --git a/Test/git-issues/git-issue-446.dfy b/Test/git-issues/git-issue-446.dfy index 0656587fd03..a66a9272d18 100644 --- a/Test/git-issues/git-issue-446.dfy +++ b/Test/git-issues/git-issue-446.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Result = Success(value: T) | Failure(error: string) { diff --git a/Test/git-issues/git-issue-446.dfy.expect b/Test/git-issues/git-issue-446.dfy.expect index 18195d22344..8165c2056d0 100644 --- a/Test/git-issues/git-issue-446.dfy.expect +++ b/Test/git-issues/git-issue-446.dfy.expect @@ -1,22 +1,3 @@ - -Dafny program verifier finished with 9 verified, 0 errors - -Dafny program verifier did not attempt verification -true -2 -true 42 -End - -Dafny program verifier did not attempt verification -true -2 -true 42 -End - -Dafny program verifier did not attempt verification -true -2 -true 42 -End - -Dafny program verifier did not attempt verification true -2 true 42 End diff --git a/Test/git-issues/git-issue-446a.dfy b/Test/git-issues/git-issue-446a.dfy index 41917680fee..2c559cea76d 100644 --- a/Test/git-issues/git-issue-446a.dfy +++ b/Test/git-issues/git-issue-446a.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Result = Success(value: T) | Failure(error: string) { diff --git a/Test/git-issues/git-issue-446a.dfy.expect b/Test/git-issues/git-issue-446a.dfy.expect index fbf9ee6f31d..9897e1c3f56 100644 --- a/Test/git-issues/git-issue-446a.dfy.expect +++ b/Test/git-issues/git-issue-446a.dfy.expect @@ -1,22 +1,3 @@ - -Dafny program verifier finished with 9 verified, 0 errors - -Dafny program verifier did not attempt verification -OK -true OK -true -2 End - -Dafny program verifier did not attempt verification -OK -true OK -true -2 End - -Dafny program verifier did not attempt verification -OK -true OK -true -2 End - -Dafny program verifier did not attempt verification OK true OK true -2 End diff --git a/Test/git-issues/git-issue-446b.dfy b/Test/git-issues/git-issue-446b.dfy index aa7ac30d9a7..79e55d9a1f8 100644 --- a/Test/git-issues/git-issue-446b.dfy +++ b/Test/git-issues/git-issue-446b.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Result = Success(value: T) | Failure(error: string) { diff --git a/Test/git-issues/git-issue-446b.dfy.expect b/Test/git-issues/git-issue-446b.dfy.expect index 0e99363fdb9..36fdd8ba47b 100644 --- a/Test/git-issues/git-issue-446b.dfy.expect +++ b/Test/git-issues/git-issue-446b.dfy.expect @@ -1,28 +1,3 @@ - -Dafny program verifier finished with 10 verified, 0 errors - -Dafny program verifier did not attempt verification -OK -true OK -true -2 -true 100 -End - -Dafny program verifier did not attempt verification -OK -true OK -true -2 -true 100 -End - -Dafny program verifier did not attempt verification -OK -true OK -true -2 -true 100 -End - -Dafny program verifier did not attempt verification OK true OK true -2 diff --git a/Test/git-issues/git-issue-478-good.dfy b/Test/git-issues/git-issue-478-good.dfy index b3fab26a312..9abce41e97c 100644 --- a/Test/git-issues/git-issue-478-good.dfy +++ b/Test/git-issues/git-issue-478-good.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // By first defining import LibA and then defining a module LibA, // the latter used to generate: diff --git a/Test/git-issues/git-issue-478-good.dfy.expect b/Test/git-issues/git-issue-478-good.dfy.expect index 17aea610943..6807b84eba5 100644 --- a/Test/git-issues/git-issue-478-good.dfy.expect +++ b/Test/git-issues/git-issue-478-good.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors hello hello hi diff --git a/Test/git-issues/git-issue-506.dfy b/Test/git-issues/git-issue-506.dfy index d25596621de..b2a409951a1 100644 --- a/Test/git-issues/git-issue-506.dfy +++ b/Test/git-issues/git-issue-506.dfy @@ -1,8 +1,4 @@ -// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" -// RUN: %dafny /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/git-issues/git-issue-506.dfy.expect b/Test/git-issues/git-issue-506.dfy.expect index e2bb6d644d9..ef2606ec5dc 100644 --- a/Test/git-issues/git-issue-506.dfy.expect +++ b/Test/git-issues/git-issue-506.dfy.expect @@ -1,29 +1,3 @@ - -Dafny program verifier finished with 2 verified, 0 errors -7 301 -8 391 -2 2 -4 5 -6 7 -2 3 7 0 - -Dafny program verifier finished with 2 verified, 0 errors -7 301 -8 391 -2 2 -4 5 -6 7 -2 3 7 0 - -Dafny program verifier finished with 2 verified, 0 errors -7 301 -8 391 -2 2 -4 5 -6 7 -2 3 7 0 - -Dafny program verifier finished with 2 verified, 0 errors 7 301 8 391 2 2 diff --git a/Test/git-issues/git-issue-532.dfy b/Test/git-issues/git-issue-532.dfy index 3d511dbb4c8..2a2b5aaaf2e 100644 --- a/Test/git-issues/git-issue-532.dfy +++ b/Test/git-issues/git-issue-532.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment predicate SuppressNoTriggerWarning(x: X) { true } diff --git a/Test/git-issues/git-issue-532.dfy.expect b/Test/git-issues/git-issue-532.dfy.expect index 1bd9e82cc5a..0f3ef3de427 100644 --- a/Test/git-issues/git-issue-532.dfy.expect +++ b/Test/git-issues/git-issue-532.dfy.expect @@ -1,22 +1,3 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification -t.x=5 The given Tr is a C, and c.y=6 -t.x=100 The given Tr is not a C -t.x=5 The given Tr is a C, and c.y=16 - -Dafny program verifier did not attempt verification -t.x=5 The given Tr is a C, and c.y=6 -t.x=100 The given Tr is not a C -t.x=5 The given Tr is a C, and c.y=16 - -Dafny program verifier did not attempt verification -t.x=5 The given Tr is a C, and c.y=6 -t.x=100 The given Tr is not a C -t.x=5 The given Tr is a C, and c.y=16 - -Dafny program verifier did not attempt verification t.x=5 The given Tr is a C, and c.y=6 t.x=100 The given Tr is not a C t.x=5 The given Tr is a C, and c.y=16 diff --git a/Test/git-issues/git-issue-549.dfy b/Test/git-issues/git-issue-549.dfy index 2e5ab322f23..d362a0bd039 100644 --- a/Test/git-issues/git-issue-549.dfy +++ b/Test/git-issues/git-issue-549.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait T { function bar(): bv8 diff --git a/Test/git-issues/git-issue-549.dfy.expect b/Test/git-issues/git-issue-549.dfy.expect index 3ae509fee5e..6e0790e778e 100644 --- a/Test/git-issues/git-issue-549.dfy.expect +++ b/Test/git-issues/git-issue-549.dfy.expect @@ -1,10 +1,2 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification -bar() = 1 -bar() = 1 - -Dafny program verifier did not attempt verification bar() = 1 bar() = 1 diff --git a/Test/git-issues/git-issue-622$f.dfy b/Test/git-issues/git-issue-622$f.dfy index fe4fdf38e03..f0f15dd9f8c 100644 --- a/Test/git-issues/git-issue-622$f.dfy +++ b/Test/git-issues/git-issue-622$f.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /compileTarget:java /spillTargetCode:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /spillTargetCode:3 method Main() { } diff --git a/Test/git-issues/git-issue-622$f.dfy.expect b/Test/git-issues/git-issue-622$f.dfy.expect index 012f5b99379..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-622$f.dfy.expect +++ b/Test/git-issues/git-issue-622$f.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/git-issues/git-issue-633.dfy b/Test/git-issues/git-issue-633.dfy index 5d9b5aecf58..3e4153b69c4 100644 --- a/Test/git-issues/git-issue-633.dfy +++ b/Test/git-issues/git-issue-633.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" %S/git-issue-633A.dfy > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs /spillTargetCode:3 "%s" %S/git-issue-633A.dfy >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js /spillTargetCode:3 "%s" %S/git-issue-633A.dfy >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go /spillTargetCode:3 "%s" %S/git-issue-633A.dfy >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java /spillTargetCode:3 "%s" %S/git-issue-633A.dfy >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /spillTargetCode:3 /Users/salkeldr/Documents/GitHub/dafny/Test/git-issues/git-issue-633A.dfy method m() { print "OK\n"; diff --git a/Test/git-issues/git-issue-633.dfy.expect b/Test/git-issues/git-issue-633.dfy.expect index f02fc57989a..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-633.dfy.expect +++ b/Test/git-issues/git-issue-633.dfy.expect @@ -1,10 +0,0 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-684.dfy b/Test/git-issues/git-issue-684.dfy index b1fbd7ab036..4c2b0a8fa02 100644 --- a/Test/git-issues/git-issue-684.dfy +++ b/Test/git-issues/git-issue-684.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Level1 = Level1(u:int) datatype Level2 = Level2(u:int, l:Level1) diff --git a/Test/git-issues/git-issue-684.dfy.expect b/Test/git-issues/git-issue-684.dfy.expect index 65d3b5d6635..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-684.dfy.expect +++ b/Test/git-issues/git-issue-684.dfy.expect @@ -1,10 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-686.dfy b/Test/git-issues/git-issue-686.dfy index bbc975200c8..9845ce2b027 100644 --- a/Test/git-issues/git-issue-686.dfy +++ b/Test/git-issues/git-issue-686.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Color = Blue | Red diff --git a/Test/git-issues/git-issue-686.dfy.expect b/Test/git-issues/git-issue-686.dfy.expect index f30b0581688..c12f8e66df2 100644 --- a/Test/git-issues/git-issue-686.dfy.expect +++ b/Test/git-issues/git-issue-686.dfy.expect @@ -1,24 +1 @@ -git-issue-686.dfy(13,2): Warning: this branch is redundant -git-issue-686.dfy(21,2): Warning: this branch is redundant - -Dafny program verifier finished with 1 verified, 0 errors -git-issue-686.dfy(13,2): Warning: this branch is redundant -git-issue-686.dfy(21,2): Warning: this branch is redundant - -Dafny program verifier did not attempt verification -6 0 -git-issue-686.dfy(13,2): Warning: this branch is redundant -git-issue-686.dfy(21,2): Warning: this branch is redundant - -Dafny program verifier did not attempt verification -6 0 -git-issue-686.dfy(13,2): Warning: this branch is redundant -git-issue-686.dfy(21,2): Warning: this branch is redundant - -Dafny program verifier did not attempt verification -6 0 -git-issue-686.dfy(13,2): Warning: this branch is redundant -git-issue-686.dfy(21,2): Warning: this branch is redundant - -Dafny program verifier did not attempt verification 6 0 diff --git a/Test/git-issues/git-issue-686.dfy.verifier.expect b/Test/git-issues/git-issue-686.dfy.verifier.expect new file mode 100644 index 00000000000..5b8c694a4bc --- /dev/null +++ b/Test/git-issues/git-issue-686.dfy.verifier.expect @@ -0,0 +1,2 @@ +git-issue-686.dfy(13,2): Warning: this branch is redundant +git-issue-686.dfy(21,2): Warning: this branch is redundant diff --git a/Test/git-issues/git-issue-697.dfy b/Test/git-issues/git-issue-697.dfy index 095c1a02399..23cce66dee7 100644 --- a/Test/git-issues/git-issue-697.dfy +++ b/Test/git-issues/git-issue-697.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Cell = Cell(x: int) type EvenCell = c: Cell | c.x % 2 == 0 witness Cell(0) diff --git a/Test/git-issues/git-issue-697.dfy.expect b/Test/git-issues/git-issue-697.dfy.expect index 188a72ebc36..f32a5804e29 100644 --- a/Test/git-issues/git-issue-697.dfy.expect +++ b/Test/git-issues/git-issue-697.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-697b.dfy b/Test/git-issues/git-issue-697b.dfy index cfdd3fd0821..cdb054d8d78 100644 --- a/Test/git-issues/git-issue-697b.dfy +++ b/Test/git-issues/git-issue-697b.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Cell = Cell(x: int) type EvenCell = c: Cell | c.x % 2 == 0 witness Cell(0) diff --git a/Test/git-issues/git-issue-697b.dfy.expect b/Test/git-issues/git-issue-697b.dfy.expect index b355409912b..9c777ac6a0f 100644 --- a/Test/git-issues/git-issue-697b.dfy.expect +++ b/Test/git-issues/git-issue-697b.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors false 2 diff --git a/Test/git-issues/git-issue-697d.dfy b/Test/git-issues/git-issue-697d.dfy index 71a262fc985..8b65c2da4f7 100644 --- a/Test/git-issues/git-issue-697d.dfy +++ b/Test/git-issues/git-issue-697d.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function nonGhostPredicate(x: int): bool { x % 2 == 0 diff --git a/Test/git-issues/git-issue-697d.dfy.expect b/Test/git-issues/git-issue-697d.dfy.expect index 48fb59aeae5..f32a5804e29 100644 --- a/Test/git-issues/git-issue-697d.dfy.expect +++ b/Test/git-issues/git-issue-697d.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 4 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-697e.dfy b/Test/git-issues/git-issue-697e.dfy index e4500bfab28..310851abf9a 100644 --- a/Test/git-issues/git-issue-697e.dfy +++ b/Test/git-issues/git-issue-697e.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Cell = Cell(x: int) type EvenCell = c: Cell | c.x % 2 == 0 witness Cell(0) diff --git a/Test/git-issues/git-issue-697e.dfy.expect b/Test/git-issues/git-issue-697e.dfy.expect index 00a51f822da..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-697e.dfy.expect +++ b/Test/git-issues/git-issue-697e.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 3 verified, 0 errors diff --git a/Test/git-issues/git-issue-697f.dfy b/Test/git-issues/git-issue-697f.dfy index 92d1cec2ed8..acb8810dfbf 100644 --- a/Test/git-issues/git-issue-697f.dfy +++ b/Test/git-issues/git-issue-697f.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment ghost function ghostPredicate(x: int): bool { x % 2 == 0 diff --git a/Test/git-issues/git-issue-697f.dfy.expect b/Test/git-issues/git-issue-697f.dfy.expect index 3e2cf8d0f69..b5754e20373 100644 --- a/Test/git-issues/git-issue-697f.dfy.expect +++ b/Test/git-issues/git-issue-697f.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 4 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-697g.dfy b/Test/git-issues/git-issue-697g.dfy index c3b7581ff61..7b30de7f3a0 100644 --- a/Test/git-issues/git-issue-697g.dfy +++ b/Test/git-issues/git-issue-697g.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function returnNat(c: nat): int { diff --git a/Test/git-issues/git-issue-697g.dfy.expect b/Test/git-issues/git-issue-697g.dfy.expect index d9157fa820a..f32a5804e29 100644 --- a/Test/git-issues/git-issue-697g.dfy.expect +++ b/Test/git-issues/git-issue-697g.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-698.dfy b/Test/git-issues/git-issue-698.dfy index b15295c9b46..7b7a9ca15b8 100644 --- a/Test/git-issues/git-issue-698.dfy +++ b/Test/git-issues/git-issue-698.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment type Small = x: int | 0 <= x < 100 && x != 3 diff --git a/Test/git-issues/git-issue-698.dfy.expect b/Test/git-issues/git-issue-698.dfy.expect index 7f965a65d2e..27ba77ddaf6 100644 --- a/Test/git-issues/git-issue-698.dfy.expect +++ b/Test/git-issues/git-issue-698.dfy.expect @@ -1,8 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification -true - -Dafny program verifier did not attempt verification true diff --git a/Test/git-issues/git-issue-698b.dfy b/Test/git-issues/git-issue-698b.dfy index 1d4a92456e6..dbdbc3b36d3 100644 --- a/Test/git-issues/git-issue-698b.dfy +++ b/Test/git-issues/git-issue-698b.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment type Small = x: int | 0 <= x < 100 && x != 3 @@ -13,4 +12,4 @@ method Main() { var b := !exists n: Small :: F(n) != 100; assert b; print b; -} \ No newline at end of file +} diff --git a/Test/git-issues/git-issue-698b.dfy.expect b/Test/git-issues/git-issue-698b.dfy.expect index 188a72ebc36..f32a5804e29 100644 --- a/Test/git-issues/git-issue-698b.dfy.expect +++ b/Test/git-issues/git-issue-698b.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-701.dfy b/Test/git-issues/git-issue-701.dfy index af19f0d89e2..38984df4ecf 100644 --- a/Test/git-issues/git-issue-701.dfy +++ b/Test/git-issues/git-issue-701.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var ca := new ClassA; diff --git a/Test/git-issues/git-issue-701.dfy.expect b/Test/git-issues/git-issue-701.dfy.expect index 4d20966e641..5198c09cbb1 100644 --- a/Test/git-issues/git-issue-701.dfy.expect +++ b/Test/git-issues/git-issue-701.dfy.expect @@ -1,22 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification -0 0 0 -[] [] [] -C.Nothing C.Nothing C.Nothing - -Dafny program verifier did not attempt verification -0 0 0 -[] [] [] -C.Nothing C.Nothing C.Nothing - -Dafny program verifier did not attempt verification -0 0 0 -[] [] [] -C.Nothing C.Nothing C.Nothing - -Dafny program verifier did not attempt verification 0 0 0 [] [] [] C.Nothing C.Nothing C.Nothing diff --git a/Test/git-issues/git-issue-705.dfy b/Test/git-issues/git-issue-705.dfy index d4b806800c2..5b2fa1bac01 100644 --- a/Test/git-issues/git-issue-705.dfy +++ b/Test/git-issues/git-issue-705.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs /spillTargetCode:3 "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js /spillTargetCode:3 "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go /spillTargetCode:3 "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java /spillTargetCode:3 "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /spillTargetCode:3 datatype MyDataType = AAA { function toString(): int { 222 } diff --git a/Test/git-issues/git-issue-705.dfy.expect b/Test/git-issues/git-issue-705.dfy.expect index 02cf409667a..79a1eee7c74 100644 --- a/Test/git-issues/git-issue-705.dfy.expect +++ b/Test/git-issues/git-issue-705.dfy.expect @@ -1,14 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification -MyDataType.AAA 222 - -Dafny program verifier did not attempt verification -MyDataType.AAA 222 - -Dafny program verifier did not attempt verification -MyDataType.AAA 222 - -Dafny program verifier did not attempt verification MyDataType.AAA 222 diff --git a/Test/git-issues/git-issue-731.dfy b/Test/git-issues/git-issue-731.dfy index 05d02fea1af..348d40fecea 100644 --- a/Test/git-issues/git-issue-731.dfy +++ b/Test/git-issues/git-issue-731.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait Trait { const y: Y diff --git a/Test/git-issues/git-issue-731.dfy.expect b/Test/git-issues/git-issue-731.dfy.expect index 69b2e6af648..7554a44901e 100644 --- a/Test/git-issues/git-issue-731.dfy.expect +++ b/Test/git-issues/git-issue-731.dfy.expect @@ -1,18 +1,2 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification -0 0 0 42 -0 0 0 9 - -Dafny program verifier did not attempt verification -0 0 0 42 -0 0 0 9 - -Dafny program verifier did not attempt verification -0 0 0 42 -0 0 0 9 - -Dafny program verifier did not attempt verification 0 0 0 42 0 0 0 9 diff --git a/Test/git-issues/git-issue-731b.dfy b/Test/git-issues/git-issue-731b.dfy index a77dbd6323b..2a0507839a2 100644 --- a/Test/git-issues/git-issue-731b.dfy +++ b/Test/git-issues/git-issue-731b.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Testing issue#731 when the class in question has type parameters diff --git a/Test/git-issues/git-issue-731b.dfy.expect b/Test/git-issues/git-issue-731b.dfy.expect index 97e6c041920..dd3226d2b73 100644 --- a/Test/git-issues/git-issue-731b.dfy.expect +++ b/Test/git-issues/git-issue-731b.dfy.expect @@ -1,14 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification -0 42 - -Dafny program verifier did not attempt verification -0 42 - -Dafny program verifier did not attempt verification -0 42 - -Dafny program verifier did not attempt verification 0 42 diff --git a/Test/git-issues/git-issue-755.dfy b/Test/git-issues/git-issue-755.dfy index 25fb3e6a485..2227a486a21 100644 --- a/Test/git-issues/git-issue-755.dfy +++ b/Test/git-issues/git-issue-755.dfy @@ -1,9 +1,5 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var s := { 1,9,3,7,5}; diff --git a/Test/git-issues/git-issue-755.dfy.expect b/Test/git-issues/git-issue-755.dfy.expect index c930da26922..9182de3a24a 100644 --- a/Test/git-issues/git-issue-755.dfy.expect +++ b/Test/git-issues/git-issue-755.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors - -Dafny program verifier did not attempt verification 1 3 5 @@ -9,30 +5,3 @@ Dafny program verifier did not attempt verification 9 1 3 3 5 - -Dafny program verifier did not attempt verification -1 -9 -3 -7 -5 -1 3 -3 5 - -Dafny program verifier did not attempt verification -1 -9 -3 -7 -5 -1 3 -3 5 - -Dafny program verifier did not attempt verification -1 -3 -5 -7 -9 -3 5 -1 3 diff --git a/Test/git-issues/git-issue-755.dfy.go.expect b/Test/git-issues/git-issue-755.dfy.go.expect new file mode 100644 index 00000000000..f41e86c7579 --- /dev/null +++ b/Test/git-issues/git-issue-755.dfy.go.expect @@ -0,0 +1,7 @@ +1 +9 +3 +7 +5 +1 3 +3 5 diff --git a/Test/git-issues/git-issue-755.dfy.java.expect b/Test/git-issues/git-issue-755.dfy.java.expect new file mode 100644 index 00000000000..f4407f49a6f --- /dev/null +++ b/Test/git-issues/git-issue-755.dfy.java.expect @@ -0,0 +1,7 @@ +1 +3 +5 +7 +9 +3 5 +1 3 diff --git a/Test/git-issues/git-issue-755.dfy.js.expect b/Test/git-issues/git-issue-755.dfy.js.expect new file mode 100644 index 00000000000..f41e86c7579 --- /dev/null +++ b/Test/git-issues/git-issue-755.dfy.js.expect @@ -0,0 +1,7 @@ +1 +9 +3 +7 +5 +1 3 +3 5 diff --git a/Test/git-issues/git-issue-784.dfy b/Test/git-issues/git-issue-784.dfy index 78b83f01064..5f6cf59465c 100644 --- a/Test/git-issues/git-issue-784.dfy +++ b/Test/git-issues/git-issue-784.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype List = Nil | Cons(T, List) { function App(ys: List): List { diff --git a/Test/git-issues/git-issue-784.dfy.expect b/Test/git-issues/git-issue-784.dfy.expect index 8da23be5c8c..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-784.dfy.expect +++ b/Test/git-issues/git-issue-784.dfy.expect @@ -1,10 +0,0 @@ - -Dafny program verifier finished with 4 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-953.dfy b/Test/git-issues/git-issue-953.dfy index 0e9e0198b90..1032ad45a3a 100644 --- a/Test/git-issues/git-issue-953.dfy +++ b/Test/git-issues/git-issue-953.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module P { datatype T_ = T() // the underscore in this name once caused a problem in Java compilation diff --git a/Test/git-issues/git-issue-953.dfy.expect b/Test/git-issues/git-issue-953.dfy.expect index b731ec2edbe..d992760e80b 100644 --- a/Test/git-issues/git-issue-953.dfy.expect +++ b/Test/git-issues/git-issue-953.dfy.expect @@ -1,39 +1,3 @@ - -Dafny program verifier finished with 6 verified, 0 errors - -Dafny program verifier did not attempt verification -C_Compile.T_.T -P_Compile.T_.T -OtherNamesWithSpecialCharacters_q___Compile.A?_.A?_ OtherNamesWithSpecialCharacters_q___Compile.B?_.B?_ -17 17 0 0 -C2_Compile.C.C(10, 11) -9 - -Dafny program verifier did not attempt verification -C_Compile.T_.T -P_Compile.T_.T -OtherNamesWithSpecialCharacters_q___Compile.A?_.A?_ OtherNamesWithSpecialCharacters_q___Compile.B?_.B?_ -17 17 0 0 -C2_Compile.C.C(10, 11) -9 - -Dafny program verifier did not attempt verification -C_Compile.T_.T -P_Compile.T_.T -OtherNamesWithSpecialCharacters_q___Compile.A?_.A?_ OtherNamesWithSpecialCharacters_q___Compile.B?_.B?_ -17 17 0 0 -C2_Compile.C.C(10, 11) -9 - -Dafny program verifier did not attempt verification -C_Compile.T_.T -P_Compile.T_.T -OtherNamesWithSpecialCharacters_q___Compile.A?_.A?_ OtherNamesWithSpecialCharacters_q___Compile.B?_.B?_ -17 17 0 0 -C2_Compile.C.C(10, 11) -9 - -Dafny program verifier did not attempt verification C_Compile.T_.T P_Compile.T_.T OtherNamesWithSpecialCharacters_q___Compile.A?_.A?_ OtherNamesWithSpecialCharacters_q___Compile.B?_.B?_ diff --git a/Test/git-issues/github-issue-3343.dfy b/Test/git-issues/github-issue-3343.dfy index 517a11d7fc1..d518b2a1a41 100644 --- a/Test/git-issues/github-issue-3343.dfy +++ b/Test/git-issues/github-issue-3343.dfy @@ -1,5 +1,4 @@ -// RUN: %baredafny run "%s" -t:java > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" method Bug() { var zero := 0; var a := new int[zero] []; diff --git a/Test/git-issues/github-issue-3343.dfy.expect b/Test/git-issues/github-issue-3343.dfy.expect index 823a60a105c..e69de29bb2d 100644 --- a/Test/git-issues/github-issue-3343.dfy.expect +++ b/Test/git-issues/github-issue-3343.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 1 verified, 0 errors diff --git a/Test/hofs/Compilation.dfy b/Test/hofs/Compilation.dfy index 99fd0a36506..7e9c674b495 100644 --- a/Test/hofs/Compilation.dfy +++ b/Test/hofs/Compilation.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class Ref { var val : A diff --git a/Test/hofs/Compilation.dfy.expect b/Test/hofs/Compilation.dfy.expect index 760fafc6189..6b7187d2557 100644 --- a/Test/hofs/Compilation.dfy.expect +++ b/Test/hofs/Compilation.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 2 verified, 0 errors 1 = 1 3 = 3 3 = 3 diff --git a/Test/hofs/Examples.dfy b/Test/hofs/Examples.dfy index cdf177c001f..bebda559221 100644 --- a/Test/hofs/Examples.dfy +++ b/Test/hofs/Examples.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function Apply(f: A ~> B, x: A): B reads f.reads(x) diff --git a/Test/hofs/Examples.dfy.expect b/Test/hofs/Examples.dfy.expect index 851aaf58286..e69de29bb2d 100644 --- a/Test/hofs/Examples.dfy.expect +++ b/Test/hofs/Examples.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 7 verified, 0 errors diff --git a/Test/hofs/Fold.dfy b/Test/hofs/Fold.dfy index 336f9121b52..96ddb01591f 100644 --- a/Test/hofs/Fold.dfy +++ b/Test/hofs/Fold.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype List = Nil | Cons(A,List) diff --git a/Test/hofs/Fold.dfy.expect b/Test/hofs/Fold.dfy.expect index 144ffab92db..3abcc310618 100644 --- a/Test/hofs/Fold.dfy.expect +++ b/Test/hofs/Fold.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors 3 = 3 diff --git a/Test/hofs/Folding.dfy b/Test/hofs/Folding.dfy index a300ea03b63..ef1dcee80bb 100644 --- a/Test/hofs/Folding.dfy +++ b/Test/hofs/Folding.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /induction:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /induction:3 // Specifications and proofs involving foldr (inspired by Liquid Haskell) and foldl // Rustan Leino diff --git a/Test/hofs/Folding.dfy.expect b/Test/hofs/Folding.dfy.expect index c4384266dfb..326af12dd76 100644 --- a/Test/hofs/Folding.dfy.expect +++ b/Test/hofs/Folding.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 21 verified, 0 errors xs = List.Cons(57, List.Cons(100, List.Cons(-34, List.Cons(1, List.Cons(8, List.Nil))))) foldr = 264 foldl = 264 diff --git a/Test/hofs/Renaming.dfy b/Test/hofs/Renaming.dfy index cf21fdba2f8..391c0e79ef6 100644 --- a/Test/hofs/Renaming.dfy +++ b/Test/hofs/Renaming.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function OnId(f : (bool -> bool) -> int) : int reads f.reads(x => x) diff --git a/Test/hofs/Renaming.dfy.expect b/Test/hofs/Renaming.dfy.expect index e2b6636dbe4..13a954d9043 100644 --- a/Test/hofs/Renaming.dfy.expect +++ b/Test/hofs/Renaming.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 4 verified, 0 errors 10 11 diff --git a/Test/hofs/Requires.dfy b/Test/hofs/Requires.dfy index de5944b6744..f5e51244184 100644 --- a/Test/hofs/Requires.dfy +++ b/Test/hofs/Requires.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/hofs/Requires.dfy.expect b/Test/hofs/Requires.dfy.expect index 1981561ca00..e69de29bb2d 100644 --- a/Test/hofs/Requires.dfy.expect +++ b/Test/hofs/Requires.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 10 verified, 0 errors diff --git a/Test/hofs/TreeMapSimple.dfy b/Test/hofs/TreeMapSimple.dfy index d93aea46403..b7baf6eb8d7 100644 --- a/Test/hofs/TreeMapSimple.dfy +++ b/Test/hofs/TreeMapSimple.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { TestY(); diff --git a/Test/hofs/TreeMapSimple.dfy.expect b/Test/hofs/TreeMapSimple.dfy.expect index 9224d605f7e..be0317f1016 100644 --- a/Test/hofs/TreeMapSimple.dfy.expect +++ b/Test/hofs/TreeMapSimple.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 11 verified, 0 errors Tree.Branch(100, List.Cons(Tree.Branch(50, List.Nil), List.Nil)) Tree.Branch(100, List.Cons(Tree.Branch(50, List.Nil), List.Nil)) diff --git a/Test/hofs/VectorUpdate.dfy b/Test/hofs/VectorUpdate.dfy index 848ed585ca6..70c0de3084e 100644 --- a/Test/hofs/VectorUpdate.dfy +++ b/Test/hofs/VectorUpdate.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // this is a rather verbose version of the VectorUpdate method method VectorUpdate(N: int, a : array, f : (int,A) ~> A) diff --git a/Test/hofs/VectorUpdate.dfy.expect b/Test/hofs/VectorUpdate.dfy.expect index b8fae39eab8..7645f125857 100644 --- a/Test/hofs/VectorUpdate.dfy.expect +++ b/Test/hofs/VectorUpdate.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 8 verified, 0 errors 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 100, 50, 33, 25, 20, 16, 14, 12, 11, 10 diff --git a/Test/hofs/WhileLoop.dfy b/Test/hofs/WhileLoop.dfy index 4af9fbd841b..914f47f4522 100644 --- a/Test/hofs/WhileLoop.dfy +++ b/Test/hofs/WhileLoop.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class Ref { var val: A diff --git a/Test/hofs/WhileLoop.dfy.expect b/Test/hofs/WhileLoop.dfy.expect index 234ac298c9b..83083b451e1 100644 --- a/Test/hofs/WhileLoop.dfy.expect +++ b/Test/hofs/WhileLoop.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 4 verified, 0 errors 22 22 22 diff --git a/Test/irondafny0/optimize0.dfy b/Test/irondafny0/optimize0.dfy index c4b8b2122ca..218c9820626 100644 --- a/Test/irondafny0/optimize0.dfy +++ b/Test/irondafny0/optimize0.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /optimize /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /optimize // See https://github.com/dafny-lang/dafny/issues/508 method Main() { diff --git a/Test/irondafny0/optimize0.dfy.expect b/Test/irondafny0/optimize0.dfy.expect index 4e37c19c360..0d5c8e51c8b 100644 --- a/Test/irondafny0/optimize0.dfy.expect +++ b/Test/irondafny0/optimize0.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors o hai! \ No newline at end of file diff --git a/Test/metatests/OutputEncoding.dfy b/Test/metatests/OutputEncoding.dfy index 68c390ac811..59fa53bf298 100644 --- a/Test/metatests/OutputEncoding.dfy +++ b/Test/metatests/OutputEncoding.dfy @@ -1,10 +1,4 @@ -// RUN: %baredafny verify %args "%s" > "%t" -// RUN: %baredafny run --no-verify --target=cs %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=js %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=go %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=py %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=java %args "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" method Main() { // This works fine in all languages because € is a single UTF-16 code unit. diff --git a/Test/metatests/OutputEncoding.dfy.expect b/Test/metatests/OutputEncoding.dfy.expect index a37241376f3..b25a57298f1 100644 --- a/Test/metatests/OutputEncoding.dfy.expect +++ b/Test/metatests/OutputEncoding.dfy.expect @@ -1,17 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification -Euro sign: € - -Dafny program verifier did not attempt verification -Euro sign: € - -Dafny program verifier did not attempt verification -Euro sign: € - -Dafny program verifier did not attempt verification -Euro sign: € - -Dafny program verifier did not attempt verification Euro sign: € diff --git a/Test/patterns/OrPatterns.dfy b/Test/patterns/OrPatterns.dfy index 4f2610c9379..6385bd55c93 100644 --- a/Test/patterns/OrPatterns.dfy +++ b/Test/patterns/OrPatterns.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /rprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Enum = One | Two | Three { predicate Even() { diff --git a/Test/patterns/OrPatterns.dfy.expect b/Test/patterns/OrPatterns.dfy.expect index a6fce7c4a13..d86bac9de59 100644 --- a/Test/patterns/OrPatterns.dfy.expect +++ b/Test/patterns/OrPatterns.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 11 verified, 0 errors OK diff --git a/Test/patterns/PatternMatching.dfy b/Test/patterns/PatternMatching.dfy index 477126c066a..e8a73b856e4 100644 --- a/Test/patterns/PatternMatching.dfy +++ b/Test/patterns/PatternMatching.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /* * This file contains a collection of tests for features modified or introduced in PR 458 @@ -222,4 +221,4 @@ method Main() { var r5 := MultipleNestedMatch(A(0), t4, bb); print "Testing MultipleNestedMatch: ", r0, r1, r2, r3, r4, r5, ", should return 012345\n"; -} \ No newline at end of file +} diff --git a/Test/patterns/PatternMatching.dfy.expect b/Test/patterns/PatternMatching.dfy.expect index 2970273cbfc..b4415971ca5 100644 --- a/Test/patterns/PatternMatching.dfy.expect +++ b/Test/patterns/PatternMatching.dfy.expect @@ -1,6 +1,3 @@ -PatternMatching.dfy(102,4): Warning: this branch is redundant - -Dafny program verifier finished with 9 verified, 0 errors NestingTest([6]) = 6, should return 6 NestedVariableTest([2::3::4::5::6]) = 0, should return 0 ConstantTest([3::4::5::6]) = 2, should return 2 diff --git a/Test/traits/TraitCompile.dfy b/Test/traits/TraitCompile.dfy index 03cf3746c6f..6e9b925fbc5 100644 --- a/Test/traits/TraitCompile.dfy +++ b/Test/traits/TraitCompile.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait TT { @@ -820,4 +814,4 @@ module RedeclaringMembers { true } } -} \ No newline at end of file +} diff --git a/Test/traits/TraitCompile.dfy.expect b/Test/traits/TraitCompile.dfy.expect index 8257b754de2..b70a9b09d2e 100644 --- a/Test/traits/TraitCompile.dfy.expect +++ b/Test/traits/TraitCompile.dfy.expect @@ -1,259 +1,3 @@ - -Dafny program verifier finished with 75 verified, 0 errors - -Dafny program verifier did not attempt verification -y=120 -x=12 -d=800 -a5=407 -t=1212 -z=30 -z'=30 -w=30 -d=1000 -a5=507 -t=1512 -t=1512 -t=1515 -This is OtherModule.P(7.0) -From OtherModule.Y: 7 and true -This is OtherModule.P(7.0) -From OtherModule.X: 7 and true -c.f= 15 j.f= 15 -c.f= 18 j.f= 18 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -x=126 -5.2 9 false -true true true true -false false false false -true true true true -false false false false -5.2 5.2 -1.2 1.2 -1.2 1.2 -15 30 -15 30 -15 30 -0 (0, 0) 0 -8 -0 0 0 0 0 0 0 0 0 0 0 0 -13 13 13 13 13 13 13 13 13 13 13 13 -14 14 14 14 14 14 14 14 14 14 14 14 -15 15 15 15 15 15 15 15 15 15 15 15 -16 16 16 16 16 16 16 16 16 16 16 16 -17 17 17 17 17 17 17 17 17 17 17 17 -18 18 18 18 18 18 18 18 18 18 18 18 -19 19 19 19 19 19 19 19 19 19 19 19 -20 20 20 20 20 20 20 20 20 20 20 20 -21 21 21 21 21 21 21 21 21 21 21 21 -22 22 22 22 22 22 22 22 22 22 22 22 -23 23 23 23 23 23 23 23 23 23 23 23 -24 24 24 24 24 24 24 24 24 24 24 24 -f(4) = 7 -f(4) = 7 -g(4) = 7 -g(4) = 7 -41 15 26 -true true -true true -true true -true true -true true true -true true true - -Dafny program verifier did not attempt verification -y=120 -x=12 -d=800 -a5=407 -t=1212 -z=30 -z'=30 -w=30 -d=1000 -a5=507 -t=1512 -t=1512 -t=1515 -This is OtherModule.P(7.0) -From OtherModule.Y: 7 and true -This is OtherModule.P(7.0) -From OtherModule.X: 7 and true -c.f= 15 j.f= 15 -c.f= 18 j.f= 18 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -x=126 -5.2 9 false -true true true true -false false false false -true true true true -false false false false -5.2 5.2 -1.2 1.2 -1.2 1.2 -15 30 -15 30 -15 30 -0 (0, 0) 0 -8 -0 0 0 0 0 0 0 0 0 0 0 0 -13 13 13 13 13 13 13 13 13 13 13 13 -14 14 14 14 14 14 14 14 14 14 14 14 -15 15 15 15 15 15 15 15 15 15 15 15 -16 16 16 16 16 16 16 16 16 16 16 16 -17 17 17 17 17 17 17 17 17 17 17 17 -18 18 18 18 18 18 18 18 18 18 18 18 -19 19 19 19 19 19 19 19 19 19 19 19 -20 20 20 20 20 20 20 20 20 20 20 20 -21 21 21 21 21 21 21 21 21 21 21 21 -22 22 22 22 22 22 22 22 22 22 22 22 -23 23 23 23 23 23 23 23 23 23 23 23 -24 24 24 24 24 24 24 24 24 24 24 24 -f(4) = 7 -f(4) = 7 -g(4) = 7 -g(4) = 7 -41 15 26 -true true -true true -true true -true true -true true true -true true true - -Dafny program verifier did not attempt verification -y=120 -x=12 -d=800 -a5=407 -t=1212 -z=30 -z'=30 -w=30 -d=1000 -a5=507 -t=1512 -t=1512 -t=1515 -This is OtherModule.P(7.0) -From OtherModule.Y: 7 and true -This is OtherModule.P(7.0) -From OtherModule.X: 7 and true -c.f= 15 j.f= 15 -c.f= 18 j.f= 18 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -x=126 -5.2 9 false -true true true true -false false false false -true true true true -false false false false -5.2 5.2 -1.2 1.2 -1.2 1.2 -15 30 -15 30 -15 30 -0 (0, 0) 0 -8 -0 0 0 0 0 0 0 0 0 0 0 0 -13 13 13 13 13 13 13 13 13 13 13 13 -14 14 14 14 14 14 14 14 14 14 14 14 -15 15 15 15 15 15 15 15 15 15 15 15 -16 16 16 16 16 16 16 16 16 16 16 16 -17 17 17 17 17 17 17 17 17 17 17 17 -18 18 18 18 18 18 18 18 18 18 18 18 -19 19 19 19 19 19 19 19 19 19 19 19 -20 20 20 20 20 20 20 20 20 20 20 20 -21 21 21 21 21 21 21 21 21 21 21 21 -22 22 22 22 22 22 22 22 22 22 22 22 -23 23 23 23 23 23 23 23 23 23 23 23 -24 24 24 24 24 24 24 24 24 24 24 24 -f(4) = 7 -f(4) = 7 -g(4) = 7 -g(4) = 7 -41 15 26 -true true -true true -true true -true true -true true true -true true true - -Dafny program verifier did not attempt verification -y=120 -x=12 -d=800 -a5=407 -t=1212 -z=30 -z'=30 -w=30 -d=1000 -a5=507 -t=1512 -t=1512 -t=1515 -This is OtherModule.P(7.0) -From OtherModule.Y: 7 and true -This is OtherModule.P(7.0) -From OtherModule.X: 7 and true -c.f= 15 j.f= 15 -c.f= 18 j.f= 18 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -x=126 -5.2 9 false -true true true true -false false false false -true true true true -false false false false -5.2 5.2 -1.2 1.2 -1.2 1.2 -15 30 -15 30 -15 30 -0 (0, 0) 0 -8 -0 0 0 0 0 0 0 0 0 0 0 0 -13 13 13 13 13 13 13 13 13 13 13 13 -14 14 14 14 14 14 14 14 14 14 14 14 -15 15 15 15 15 15 15 15 15 15 15 15 -16 16 16 16 16 16 16 16 16 16 16 16 -17 17 17 17 17 17 17 17 17 17 17 17 -18 18 18 18 18 18 18 18 18 18 18 18 -19 19 19 19 19 19 19 19 19 19 19 19 -20 20 20 20 20 20 20 20 20 20 20 20 -21 21 21 21 21 21 21 21 21 21 21 21 -22 22 22 22 22 22 22 22 22 22 22 22 -23 23 23 23 23 23 23 23 23 23 23 23 -24 24 24 24 24 24 24 24 24 24 24 24 -f(4) = 7 -f(4) = 7 -g(4) = 7 -g(4) = 7 -41 15 26 -true true -true true -true true -true true -true true true -true true true - -Dafny program verifier did not attempt verification y=120 x=12 d=800 diff --git a/Test/traits/TraitExample.dfy b/Test/traits/TraitExample.dfy index d6afb4ce70b..54c5cbbec6f 100644 --- a/Test/traits/TraitExample.dfy +++ b/Test/traits/TraitExample.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait Automobile { ghost var Repr: set diff --git a/Test/traits/TraitExample.dfy.expect b/Test/traits/TraitExample.dfy.expect index c1b4ac93962..b9783e62141 100644 --- a/Test/traits/TraitExample.dfy.expect +++ b/Test/traits/TraitExample.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 29 verified, 0 errors Fiat: 6 Volvo: 20 Catacar: 26 diff --git a/Test/traits/Traits-Fields.dfy b/Test/traits/Traits-Fields.dfy index 2da609c33c8..6ae1aaab6d9 100644 --- a/Test/traits/Traits-Fields.dfy +++ b/Test/traits/Traits-Fields.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait J { diff --git a/Test/traits/Traits-Fields.dfy.expect b/Test/traits/Traits-Fields.dfy.expect index cc460fc52f4..c39bd8b5d5d 100644 --- a/Test/traits/Traits-Fields.dfy.expect +++ b/Test/traits/Traits-Fields.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 2 verified, 0 errors j.x = 9 c.x = 9 diff --git a/Test/traits/TraitsMultipleInheritance.dfy b/Test/traits/TraitsMultipleInheritance.dfy index 12590e47828..67fd8673488 100644 --- a/Test/traits/TraitsMultipleInheritance.dfy +++ b/Test/traits/TraitsMultipleInheritance.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait J1{ var x: int diff --git a/Test/traits/TraitsMultipleInheritance.dfy.expect b/Test/traits/TraitsMultipleInheritance.dfy.expect index ad1a1011a25..b116b2d070d 100644 --- a/Test/traits/TraitsMultipleInheritance.dfy.expect +++ b/Test/traits/TraitsMultipleInheritance.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 1 verified, 0 errors c.x + c.y = 30 j1.x + j2.y = 30 diff --git a/Test/unicodechars/comp/Collections.dfy b/Test/unicodechars/comp/Collections.dfy index fb3e451eb83..34f1a1e2180 100644 --- a/Test/unicodechars/comp/Collections.dfy +++ b/Test/unicodechars/comp/Collections.dfy @@ -1,8 +1,3 @@ -// RUN: %dafny /compile:0 /verifyAllModules /unicodeChar:1 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:true /verifyAllModules include "../../comp/Collections.dfy" diff --git a/Test/unicodechars/comp/Collections.dfy.expect b/Test/unicodechars/comp/Collections.dfy.expect index 70586502b0d..89f08b08d75 100644 --- a/Test/unicodechars/comp/Collections.dfy.expect +++ b/Test/unicodechars/comp/Collections.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 40 verified, 0 errors - -Dafny program verifier did not attempt verification Sets: {} {17, 82} {12, 17} cardinality: 0 2 2 union: {17, 82} {12, 17, 82} @@ -127,511 +123,3 @@ Multiset=== 1 3 |s|=2 |u|=4 1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Yellow := 21, Color.Blue := 30] -keys: {Color.Yellow, Color.Blue} -values: {21, 30} -items: {(Color.Yellow, 21), (Color.Blue, 30)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {21, 30} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.go.expect b/Test/unicodechars/comp/Collections.dfy.go.expect new file mode 100644 index 00000000000..2fc0f3b7093 --- /dev/null +++ b/Test/unicodechars/comp/Collections.dfy.go.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.java.expect b/Test/unicodechars/comp/Collections.dfy.java.expect new file mode 100644 index 00000000000..39975cadfc4 --- /dev/null +++ b/Test/unicodechars/comp/Collections.dfy.java.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Yellow := 21, Color.Blue := 30] +keys: {Color.Yellow, Color.Blue} +values: {21, 30} +items: {(Color.Yellow, 21), (Color.Blue, 30)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.js.expect b/Test/unicodechars/comp/Collections.dfy.js.expect new file mode 100644 index 00000000000..2fc0f3b7093 --- /dev/null +++ b/Test/unicodechars/comp/Collections.dfy.js.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.py.expect b/Test/unicodechars/comp/Collections.dfy.py.expect new file mode 100644 index 00000000000..e4e346dede0 --- /dev/null +++ b/Test/unicodechars/comp/Collections.dfy.py.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {21, 30} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/unicodechars/comp/Comprehensions.dfy b/Test/unicodechars/comp/Comprehensions.dfy index 274f8d3a150..7ce8835997f 100644 --- a/Test/unicodechars/comp/Comprehensions.dfy +++ b/Test/unicodechars/comp/Comprehensions.dfy @@ -1,8 +1,3 @@ -// RUN: %dafny /compile:0 /unicodeChar:1 /verifyAllModules "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" -include "../../comp/Comprehensions.dfy" \ No newline at end of file +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:true /verifyAllModules +include "../../comp/Comprehensions.dfy" diff --git a/Test/unicodechars/comp/Comprehensions.dfy.expect b/Test/unicodechars/comp/Comprehensions.dfy.expect index 18159ddde0a..c9703fc9397 100644 --- a/Test/unicodechars/comp/Comprehensions.dfy.expect +++ b/Test/unicodechars/comp/Comprehensions.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 32 verified, 0 errors - -Dafny program verifier did not attempt verification x=13 y=14 x=13 y=14 b=yes true false @@ -64,259 +60,3 @@ true true [137438953474, 137438953475, 137438953476, 137438953477, 137438953479] cdefh cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[14 := 7, 12 := 6, 13 := 6] -map[18 := 14, 17 := 13, 16 := 12] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh diff --git a/Test/unicodechars/comp/Comprehensions.dfy.py.expect b/Test/unicodechars/comp/Comprehensions.dfy.py.expect new file mode 100644 index 00000000000..aeaa31fc0f3 --- /dev/null +++ b/Test/unicodechars/comp/Comprehensions.dfy.py.expect @@ -0,0 +1,62 @@ +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[14 := 7, 12 := 6, 13 := 6] +map[18 := 14, 17 := 13, 16 := 12] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh diff --git a/Test/unicodechars/comp/NativeNumbers.dfy b/Test/unicodechars/comp/NativeNumbers.dfy index 764b4b3b384..2dae43b062d 100644 --- a/Test/unicodechars/comp/NativeNumbers.dfy +++ b/Test/unicodechars/comp/NativeNumbers.dfy @@ -1,9 +1,4 @@ +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:true /verifyAllModules // Skip JavaScript because JavaScript doesn't have the same native types -// RUN: %dafny /compile:0 /verifyAllModules /unicodeChar:1 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" -include "../../comp/NativeNumbers.dfy" \ No newline at end of file +include "../../comp/NativeNumbers.dfy" diff --git a/Test/unicodechars/comp/NativeNumbers.dfy.expect b/Test/unicodechars/comp/NativeNumbers.dfy.expect index b0fc6754f84..354d931a151 100644 --- a/Test/unicodechars/comp/NativeNumbers.dfy.expect +++ b/Test/unicodechars/comp/NativeNumbers.dfy.expect @@ -1,259 +1,3 @@ - -Dafny program verifier finished with 25 verified, 0 errors - -Dafny program verifier did not attempt verification -Casting: - -Small numbers: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 -5 5 5 5 5 5 5 5 5 -6 6 6 6 6 6 6 6 6 -7 7 7 7 7 7 7 7 7 -8 8 8 8 8 8 8 8 8 - -Large unsigned numbers: -255 255 255 255 255 255 255 255 -65535 65535 65535 65535 65535 65535 -4294967295 4294967295 4294967295 4294967295 -18446744073709551615 18446744073709551615 - -Int to large unsigned: -255 65535 4294967295 18446744073709551615 - -Cast from cardinality operator: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 - -Characters: -'C' 67 67 67 67 67 67 67 67 67 -0 127 32767 65535 65535 255 65535 65535 65535 - -Defaults: - -0 0 0 0 0 0 0 0 0 - -Byte arithmetic: - -20 30 -10 10 18 - -Short arithmetic: - -20 30 -10 10 18 - -Bitvectors: - -0 3 4 1 - -Comparison to zero: - -int8: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int16: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int32: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int64: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint8: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint16: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint32: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint64: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N - - -Dafny program verifier did not attempt verification -Casting: - -Small numbers: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 -5 5 5 5 5 5 5 5 5 -6 6 6 6 6 6 6 6 6 -7 7 7 7 7 7 7 7 7 -8 8 8 8 8 8 8 8 8 - -Large unsigned numbers: -255 255 255 255 255 255 255 255 -65535 65535 65535 65535 65535 65535 -4294967295 4294967295 4294967295 4294967295 -18446744073709551615 18446744073709551615 - -Int to large unsigned: -255 65535 4294967295 18446744073709551615 - -Cast from cardinality operator: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 - -Characters: -'C' 67 67 67 67 67 67 67 67 67 -0 127 32767 65535 65535 255 65535 65535 65535 - -Defaults: - -0 0 0 0 0 0 0 0 0 - -Byte arithmetic: - -20 30 -10 10 18 - -Short arithmetic: - -20 30 -10 10 18 - -Bitvectors: - -0 3 4 1 - -Comparison to zero: - -int8: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int16: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int32: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int64: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint8: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint16: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint32: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint64: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N - - -Dafny program verifier did not attempt verification -Casting: - -Small numbers: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 -5 5 5 5 5 5 5 5 5 -6 6 6 6 6 6 6 6 6 -7 7 7 7 7 7 7 7 7 -8 8 8 8 8 8 8 8 8 - -Large unsigned numbers: -255 255 255 255 255 255 255 255 -65535 65535 65535 65535 65535 65535 -4294967295 4294967295 4294967295 4294967295 -18446744073709551615 18446744073709551615 - -Int to large unsigned: -255 65535 4294967295 18446744073709551615 - -Cast from cardinality operator: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 - -Characters: -'C' 67 67 67 67 67 67 67 67 67 -0 127 32767 65535 65535 255 65535 65535 65535 - -Defaults: - -0 0 0 0 0 0 0 0 0 - -Byte arithmetic: - -20 30 -10 10 18 - -Short arithmetic: - -20 30 -10 10 18 - -Bitvectors: - -0 3 4 1 - -Comparison to zero: - -int8: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int16: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int32: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int64: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint8: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint16: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint32: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint64: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N - - -Dafny program verifier did not attempt verification Casting: Small numbers: diff --git a/Test/unicodechars/comp/Numbers.dfy b/Test/unicodechars/comp/Numbers.dfy index 2c9170fe4d7..dfeeb19dc38 100644 --- a/Test/unicodechars/comp/Numbers.dfy +++ b/Test/unicodechars/comp/Numbers.dfy @@ -1,8 +1,3 @@ -// RUN: %dafny /compile:0 /verifyAllModules /unicodeChar:1 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" -include "../../comp/Numbers.dfy" \ No newline at end of file +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:true /verifyAllModules +include "../../comp/Numbers.dfy" diff --git a/Test/unicodechars/comp/Numbers.dfy.expect b/Test/unicodechars/comp/Numbers.dfy.expect index 6fa2f59f340..cce193e1cce 100644 --- a/Test/unicodechars/comp/Numbers.dfy.expect +++ b/Test/unicodechars/comp/Numbers.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 59 verified, 0 errors - -Dafny program verifier did not attempt verification 0 0 3 @@ -113,455 +109,3 @@ true false true false false true false true true false true false 20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -'g' 'Q' '2' -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -(312.0 / 40.0) (1248.0 / 40.0) -(-312.0 / 40.0) (-1248.0 / 40.0) -(-312.0 / 40.0) (1248.0 / 40.0) -(312.0 / 40.0) (-1248.0 / 40.0) -0.0 0.0 0.0 -120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) -123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 (8100.0 / 8100.0) -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -'g' 'Q' '2' -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -'g' 'Q' '2' -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -(312.0 / 40.0) (1248.0 / 40.0) -(-312.0 / 40.0) (-1248.0 / 40.0) -(-312.0 / 40.0) (1248.0 / 40.0) -(312.0 / 40.0) (-1248.0 / 40.0) -0.0 0.0 0.0 -120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) -123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 (8100.0 / 8100.0) -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -'g' 'Q' '2' -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 diff --git a/Test/unicodechars/comp/Numbers.dfy.go.expect b/Test/unicodechars/comp/Numbers.dfy.go.expect new file mode 100644 index 00000000000..95d8ac259c7 --- /dev/null +++ b/Test/unicodechars/comp/Numbers.dfy.go.expect @@ -0,0 +1,111 @@ +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +'g' 'Q' '2' +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 diff --git a/Test/unicodechars/comp/Numbers.dfy.py.expect b/Test/unicodechars/comp/Numbers.dfy.py.expect new file mode 100644 index 00000000000..95d8ac259c7 --- /dev/null +++ b/Test/unicodechars/comp/Numbers.dfy.py.expect @@ -0,0 +1,111 @@ +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +'g' 'Q' '2' +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 From 543d99e679eaff93cc5b6377c390e08bc6c4177b Mon Sep 17 00:00:00 2001 From: Robin Salkeld Date: Fri, 2 Jun 2023 08:51:16 -0700 Subject: [PATCH 20/68] Build warning and whitespace --- Source/IntegrationTests/LitTests.cs | 96 ++++++++++--------- Source/TestDafny/MultiBackendTest.cs | 8 +- .../Lit/NonUniformTestCommand.cs | 2 +- .../XUnitExtensions/Lit/OutputCheckCommand.cs | 2 +- 4 files changed, 55 insertions(+), 53 deletions(-) diff --git a/Source/IntegrationTests/LitTests.cs b/Source/IntegrationTests/LitTests.cs index fceee21a44f..a2e048bb437 100644 --- a/Source/IntegrationTests/LitTests.cs +++ b/Source/IntegrationTests/LitTests.cs @@ -48,7 +48,7 @@ static LitTests() { // This is false by default because the main dafny CLI implementation currently has shared static state, which // causes errors when invoking the CLI in the same process on multiple inputs in sequence, much less in parallel. InvokeMainMethodsDirectly = Environment.GetEnvironmentVariable("DAFNY_INTEGRATION_TEST_IN_PROCESS") == "true"; - + // Allow extra arguments to Dafny subprocesses. This can be especially // useful for capturing prover logs. var extraDafnyArguments = @@ -221,7 +221,7 @@ private static bool NeedsConverting(LitTestCase testCase) { foreach (var command in testCase.Commands) { var leafCommand = GetLeafCommand(command); - + if (leafCommand is NonUniformTestCommand) { return false; } @@ -242,33 +242,30 @@ private static bool NeedsConverting(LitTestCase testCase) { return false; } - + private static void ConvertToMultiBackendTestIfNecessary(string path) { var testCase = LitTestCase.Read(path, Config); if (!NeedsConverting(testCase)) { return; } - - // TODO: HACK - var wasLegacyCli = testCase.Commands.Any(c => c.ToString().Contains("/compile")); - + bool IgnoreArgument(string arg, string testFilePath) { if (arg == testFilePath) { return true; } - + if (DafnyDriver.NewDefaultArgumentsForTesting.Contains(arg)) { return true; } if (DafnyDriver.DefaultArgumentsForTesting.Contains(arg)) { return true; } - + if (arg is "%dafny" or "%basedafny" or "%args" or "verify" or "run" or "--no-verify" or "/noVerify") { return true; } - + if (arg.StartsWith("/compile:") || arg.StartsWith("/compileTarget:")) { return true; } @@ -279,49 +276,54 @@ bool IgnoreArgument(string arg, string testFilePath) { if (arg.StartsWith("/print") || arg.StartsWith("/dprint") || arg.StartsWith("/rprint")) { return true; } - + return false; } - + var commonExtraOptions = new HashSet(); var extraOptionsLocked = false; string? expectFile = null; // null is used here to mean /compile:0 or dafny verify var backends = new List(); + var wasLegacyCli = false; foreach (var command in testCase.Commands) { var leafCommand = GetLeafCommand(command); switch (leafCommand) { case ShellLitCommand or DafnyDriverLitCommand: { - var arguments = GetDafnyArguments(leafCommand); - if (arguments == null) { - throw new ArgumentException(); - } - - var backend = GetBackendFromCommand(arguments); - if (backends.Contains(backend)) { - throw new ArgumentException($"More than one command for the same backend: {backend}"); - } - backends.Add(backend); - - // Filter out options we can ignore - var options = arguments.Where(arg => !IgnoreArgument(arg, testCase.FilePath)); - if (extraOptionsLocked) { - foreach (string arg in options) { - if (!commonExtraOptions.Contains(arg)) { - throw new ArgumentException($"Inconsistent option: {arg}"); - } + var arguments = GetDafnyArguments(leafCommand); + if (arguments == null) { + throw new ArgumentException(); } - } else { - foreach (var arg in options) { - commonExtraOptions.Add(arg); + + if (arguments.Any(arg => arg.StartsWith("/compile"))) { + wasLegacyCli = true; } - if (backend != null) { - extraOptionsLocked = true; + + var backend = GetBackendFromCommand(arguments); + if (backends.Contains(backend)) { + throw new ArgumentException($"More than one command for the same backend: {backend}"); + } + backends.Add(backend); + + // Filter out options we can ignore + var options = arguments.Where(arg => !IgnoreArgument(arg, testCase.FilePath)); + if (extraOptionsLocked) { + foreach (string arg in options) { + if (!commonExtraOptions.Contains(arg)) { + throw new ArgumentException($"Inconsistent option: {arg}"); + } + } + } else { + foreach (var arg in options) { + commonExtraOptions.Add(arg); + } + if (backend != null) { + extraOptionsLocked = true; + } } - } - break; - } + break; + } case DiffCommand diffCommand: // The last line should be the standard '// RUN: %diff "%s.expect" "%t"' line expectFile = diffCommand.ExpectedPath; @@ -330,12 +332,12 @@ bool IgnoreArgument(string arg, string testFilePath) { throw new ArgumentException($"Unrecognized command type: {command}"); } } - + if (expectFile == null) { throw new ArgumentException($"No %diff command found"); } var expectContent = File.ReadAllText(expectFile); - + // Partition according to the "\nDafny program verifier did not attempt verification/finished with..." lines var delimiter = new Regex("\nDafny program verifier[^\n]*\n"); // TODO: why skip(1)? @@ -368,9 +370,9 @@ bool IgnoreArgument(string arg, string testFilePath) { } } File.WriteAllText(expectFile, commonExpectChunk); - + var testFileLines = File.ReadAllLines(testCase.FilePath); - + var multiBackendCommand = "// RUN: %testDafnyForEachCompiler \"%s\""; var testDafnyExtraArgs = new SortedSet(); foreach (var extraOption in commonExtraOptions) { @@ -391,7 +393,7 @@ bool IgnoreArgument(string arg, string testFilePath) { if (testDafnyExtraArgs.Any()) { multiBackendCommand += " -- " + string.Join(" ", testDafnyExtraArgs); } - + var newLines = new List { multiBackendCommand, }; @@ -400,7 +402,7 @@ bool IgnoreArgument(string arg, string testFilePath) { // This is by far the most common source of inconsistent output. newLines.Insert(0, "// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108"); } - + File.WriteAllLines(testCase.FilePath, newLines); } @@ -416,14 +418,14 @@ private static ILitCommand GetLeafCommand(ILitCommand command) { return command; } - private static IEnumerable? GetDafnyArguments(ILitCommand command) { + private static IList? GetDafnyArguments(ILitCommand command) { switch (command) { case ShellLitCommand slc: if (slc.Arguments.Length >= 2 && slc.Arguments[0] == "dotnet" && slc.Arguments[1].EndsWith("Dafny.dll")) { return slc.Arguments[2..]; } else { return null; - } + } case DafnyDriverLitCommand ddlc: return ddlc.Arguments; default: @@ -432,7 +434,7 @@ private static ILitCommand GetLeafCommand(ILitCommand command) { } private static string? GetBackendFromCommand(IEnumerable arguments) { - + if (arguments.Any(arg => arg is "/compile:0" or "verify")) { return null; } diff --git a/Source/TestDafny/MultiBackendTest.cs b/Source/TestDafny/MultiBackendTest.cs index 9a20673fa73..2d88f8507c6 100644 --- a/Source/TestDafny/MultiBackendTest.cs +++ b/Source/TestDafny/MultiBackendTest.cs @@ -26,7 +26,7 @@ public class ForEachCompilerOptions { [Verb("features", HelpText = "Print the Markdown content documenting feature support for each compiler.")] public class FeaturesOptions { - [Value(1)] + [Value(1)] public IEnumerable OtherArgs { get; set; } = Array.Empty(); } @@ -81,7 +81,7 @@ private int ForEachCompiler(ForEachCompilerOptions options) { // var testDir = Path.GetDirectoryName(options.TestFile!); // var tmpDPrint = Path.Join(testDir, "Output", $"{fileName}.dprint"); // var tmpPrint = Path.Join(testDir, "Output", $"{fileName}.print"); - + var dafnyArgs = new List() { $"verify", options.TestFile! @@ -128,7 +128,7 @@ private int ForEachCompiler(ForEachCompilerOptions options) { // Such as empty constructors with ensures clauses, generated from iterators continue; } - + // Check for backend-specific exceptions (because of known bugs or inconsistencies) var expectedOutput = commonExpectedOutput; string? checkFile = null; @@ -217,7 +217,7 @@ private int RunWithCompiler(ForEachCompilerOptions options, IExecutableBackend b return checkResult; } - + output.WriteLine("Execution failed, for reasons other than known unsupported features. Output:"); output.WriteLine(outputString); output.WriteLine("Error:"); diff --git a/Source/XUnitExtensions/Lit/NonUniformTestCommand.cs b/Source/XUnitExtensions/Lit/NonUniformTestCommand.cs index b1bc3d38937..1ae7d9ba176 100644 --- a/Source/XUnitExtensions/Lit/NonUniformTestCommand.cs +++ b/Source/XUnitExtensions/Lit/NonUniformTestCommand.cs @@ -3,7 +3,7 @@ namespace XUnitExtensions.Lit; -public class NonUniformTestCommand : ILitCommand { +public class NonUniformTestCommand : ILitCommand { private NonUniformTestCommand(string reason) { Reason = reason; } diff --git a/Source/XUnitExtensions/Lit/OutputCheckCommand.cs b/Source/XUnitExtensions/Lit/OutputCheckCommand.cs index f802adba4a3..1a53aafd8b5 100644 --- a/Source/XUnitExtensions/Lit/OutputCheckCommand.cs +++ b/Source/XUnitExtensions/Lit/OutputCheckCommand.cs @@ -192,7 +192,7 @@ public static IList ParseCheckFile(string fileName) { .Select(e => e!) .ToList(); } - + public (int, string, string) Execute(TextReader inputReader, TextWriter outputWriter, TextWriter errorWriter) { if (options.FileToCheck == null) { From e21c2d9d19e5928f3bcaa1b5e10eb428e2d7c867 Mon Sep 17 00:00:00 2001 From: Robin Salkeld Date: Fri, 2 Jun 2023 09:14:34 -0700 Subject: [PATCH 21/68] Exceptions for firstSteps tests --- Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.java.check | 3 +++ Test/comp/firstSteps/1_Calls-F.dfy.java.check | 3 +++ Test/comp/firstSteps/2_Modules.dfy.java.check | 3 +++ Test/comp/firstSteps/3_Calls-As.dfy.java.check | 3 +++ .../4_Calls-FunctionsValues-Class+NT.dfy.java.check | 3 +++ .../5_Calls-FunctionsValues-Dt.dfy.java.check | 3 +++ .../firstSteps/6_Calls-VariableCapture.dfy.java.check | 3 +++ Test/comp/firstSteps/7_Arrays.dfy.java.check | 3 +++ Test/comp/firstSteps/7_Dt_Algebraic.dfy.go.expect | 11 +++++++++++ Test/comp/firstSteps/7_Dt_Algebraic.dfy.java.check | 3 +++ Test/comp/firstSteps/7_Dt_Algebraic.dfy.js.expect | 11 +++++++++++ 11 files changed, 49 insertions(+) create mode 100644 Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.java.check create mode 100644 Test/comp/firstSteps/1_Calls-F.dfy.java.check create mode 100644 Test/comp/firstSteps/2_Modules.dfy.java.check create mode 100644 Test/comp/firstSteps/3_Calls-As.dfy.java.check create mode 100644 Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.java.check create mode 100644 Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.java.check create mode 100644 Test/comp/firstSteps/6_Calls-VariableCapture.dfy.java.check create mode 100644 Test/comp/firstSteps/7_Arrays.dfy.java.check create mode 100644 Test/comp/firstSteps/7_Dt_Algebraic.dfy.go.expect create mode 100644 Test/comp/firstSteps/7_Dt_Algebraic.dfy.java.check create mode 100644 Test/comp/firstSteps/7_Dt_Algebraic.dfy.js.expect diff --git a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.java.check b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.java.check new file mode 100644 index 00000000000..d38ba3c6a4b --- /dev/null +++ b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.java.check @@ -0,0 +1,3 @@ +// https://github.com/dafny-lang/dafny/issues/4104 +// CHECK: error: illegal underscore +// CHECK-NEXT: public class 0_IKnowThisMuchIs { diff --git a/Test/comp/firstSteps/1_Calls-F.dfy.java.check b/Test/comp/firstSteps/1_Calls-F.dfy.java.check new file mode 100644 index 00000000000..21ce042d640 --- /dev/null +++ b/Test/comp/firstSteps/1_Calls-F.dfy.java.check @@ -0,0 +1,3 @@ +// https://github.com/dafny-lang/dafny/issues/4104 +// CHECK: error: illegal underscore +// CHECK-NEXT: public class 1_Calls_F { diff --git a/Test/comp/firstSteps/2_Modules.dfy.java.check b/Test/comp/firstSteps/2_Modules.dfy.java.check new file mode 100644 index 00000000000..704a0178a32 --- /dev/null +++ b/Test/comp/firstSteps/2_Modules.dfy.java.check @@ -0,0 +1,3 @@ +// https://github.com/dafny-lang/dafny/issues/4104 +// CHECK: error: illegal underscore +// CHECK-NEXT: public class 2_Modules { diff --git a/Test/comp/firstSteps/3_Calls-As.dfy.java.check b/Test/comp/firstSteps/3_Calls-As.dfy.java.check new file mode 100644 index 00000000000..b6f0630d90e --- /dev/null +++ b/Test/comp/firstSteps/3_Calls-As.dfy.java.check @@ -0,0 +1,3 @@ +// https://github.com/dafny-lang/dafny/issues/4104 +// CHECK: error: illegal underscore +// CHECK-NEXT: public class 3_Calls_As { diff --git a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.java.check b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.java.check new file mode 100644 index 00000000000..f05b2acad3a --- /dev/null +++ b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.java.check @@ -0,0 +1,3 @@ +// https://github.com/dafny-lang/dafny/issues/4104 +// CHECK: error: illegal underscore +// CHECK-NEXT: public class 4_Calls_FunctionsValues_Class_NT { diff --git a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.java.check b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.java.check new file mode 100644 index 00000000000..9087e86fea9 --- /dev/null +++ b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.java.check @@ -0,0 +1,3 @@ +// https://github.com/dafny-lang/dafny/issues/4104 +// CHECK: error: illegal underscore +// CHECK-NEXT: public class 5_Calls_FunctionsValues_Dt { diff --git a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.java.check b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.java.check new file mode 100644 index 00000000000..7c94590ff8c --- /dev/null +++ b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.java.check @@ -0,0 +1,3 @@ +// https://github.com/dafny-lang/dafny/issues/4104 +// CHECK: error: illegal underscore +// CHECK-NEXT: public class 6_Calls_VariableCapture { diff --git a/Test/comp/firstSteps/7_Arrays.dfy.java.check b/Test/comp/firstSteps/7_Arrays.dfy.java.check new file mode 100644 index 00000000000..4ffed508523 --- /dev/null +++ b/Test/comp/firstSteps/7_Arrays.dfy.java.check @@ -0,0 +1,3 @@ +// https://github.com/dafny-lang/dafny/issues/4104 +// CHECK: error: illegal underscore +// CHECK-NEXT: public class 7_Arrays { diff --git a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.go.expect b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.go.expect new file mode 100644 index 00000000000..ba1b72ea6f7 --- /dev/null +++ b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.go.expect @@ -0,0 +1,11 @@ +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} +42 'q' hello +1701 diff --git a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.java.check b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.java.check new file mode 100644 index 00000000000..4174ce1faf3 --- /dev/null +++ b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.java.check @@ -0,0 +1,3 @@ +// https://github.com/dafny-lang/dafny/issues/4104 +// CHECK: error: illegal underscore +// CHECK-NEXT: public class 7_Dt_Algebraic { diff --git a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.js.expect b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.js.expect new file mode 100644 index 00000000000..ba1b72ea6f7 --- /dev/null +++ b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.js.expect @@ -0,0 +1,11 @@ +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} +42 'q' hello +1701 From 35964c2ca5b4c7fd7a6a9bc5c58639b0e3d58925 Mon Sep 17 00:00:00 2001 From: Robin Salkeld Date: Fri, 2 Jun 2023 09:23:27 -0700 Subject: [PATCH 22/68] Tweaks --- Source/IntegrationTests/LitTests.cs | 3 +++ Source/XUnitExtensions/Lit/OutputCheckCommand.cs | 11 ++++++----- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/Source/IntegrationTests/LitTests.cs b/Source/IntegrationTests/LitTests.cs index a2e048bb437..277cca7e471 100644 --- a/Source/IntegrationTests/LitTests.cs +++ b/Source/IntegrationTests/LitTests.cs @@ -276,6 +276,9 @@ bool IgnoreArgument(string arg, string testFilePath) { if (arg.StartsWith("/print") || arg.StartsWith("/dprint") || arg.StartsWith("/rprint")) { return true; } + if (arg.StartsWith("/env")) { + return true; + } return false; } diff --git a/Source/XUnitExtensions/Lit/OutputCheckCommand.cs b/Source/XUnitExtensions/Lit/OutputCheckCommand.cs index 1a53aafd8b5..e73bbddb1f8 100644 --- a/Source/XUnitExtensions/Lit/OutputCheckCommand.cs +++ b/Source/XUnitExtensions/Lit/OutputCheckCommand.cs @@ -186,11 +186,16 @@ public static ILitCommand Parse(IEnumerable args, LitTestConfiguration c } public static IList ParseCheckFile(string fileName) { - return File.ReadAllLines(fileName) + var result = File.ReadAllLines(fileName) .Select((line, index) => CheckDirective.Parse(fileName, index + 1, line)) .Where(e => e != null).Cast() .Select(e => e!) .ToList(); + if (!result.Any()) { + throw new ArgumentException($"'{fileName}' does not contain any CHECK directives"); + } + + return result; } public (int, string, string) Execute(TextReader inputReader, @@ -204,11 +209,7 @@ public static IList ParseCheckFile(string fileName) { if (fileName == null) { return (0, "", ""); } - var checkDirectives = ParseCheckFile(options.CheckFile!); - if (!checkDirectives.Any()) { - return (1, "", $"ERROR: '{fileName}' does not contain any CHECK directives"); - } return Execute(linesToCheck, checkDirectives); } From f59314ead4748896ed7ceea1e6f1a37a588fa9ee Mon Sep 17 00:00:00 2001 From: Robin Salkeld Date: Fri, 2 Jun 2023 09:23:41 -0700 Subject: [PATCH 23/68] Revert "Convert all tests" This reverts commit d4fcd16246b02047d28b695ccf22044bc0a7ddf2. --- Test/VerifyThis2015/Problem1.dfy | 3 +- Test/VerifyThis2015/Problem1.dfy.expect | 2 + Test/VerifyThis2015/Problem2.dfy | 3 +- Test/VerifyThis2015/Problem2.dfy.expect | 2 + Test/VerifyThis2015/Problem3.dfy | 3 +- Test/VerifyThis2015/Problem3.dfy.expect | 2 + Test/c++/arrays.dfy | 3 +- Test/c++/arrays.dfy.expect | 2 + Test/c++/bit-vectors.dfy | 3 +- Test/c++/bit-vectors.dfy.expect | 2 + Test/c++/class.dfy | 3 +- Test/c++/class.dfy.expect | 2 + Test/c++/const.dfy | 3 +- Test/c++/const.dfy.expect | 2 + Test/c++/datatypes.dfy | 3 +- Test/c++/datatypes.dfy.expect | 2 + Test/c++/generic.dfy | 3 +- Test/c++/generic.dfy.expect | 2 + Test/c++/hello.dfy | 3 +- Test/c++/hello.dfy.expect | 2 + Test/c++/ints.dfy | 3 +- Test/c++/ints.dfy.expect | 2 + Test/c++/maps.dfy | 3 +- Test/c++/maps.dfy.expect | 2 + Test/c++/recursion.dfy | 3 +- Test/c++/recursion.dfy.expect | 2 + Test/c++/returns.dfy | 3 +- Test/c++/returns.dfy.expect | 2 + Test/c++/seqs.dfy | 3 +- Test/c++/seqs.dfy.expect | 2 + Test/c++/sets.dfy | 3 +- Test/c++/sets.dfy.expect | 2 + Test/c++/while.dfy | 3 +- Test/c++/while.dfy.expect | 2 + Test/comp/Arrays.dfy | 9 +- Test/comp/Arrays.dfy.expect | 396 ++++++++++++ Test/comp/Arrays.dfy.go.expect | 96 --- Test/comp/AsIs-Compile.dfy | 8 +- Test/comp/AsIs-Compile.dfy.expect | 160 +++++ Test/comp/AutoInit.dfy | 8 +- Test/comp/AutoInit.dfy.expect | 160 +++++ Test/comp/ByMethodCompilation.dfy | 8 +- Test/comp/ByMethodCompilation.dfy.expect | 32 + Test/comp/Calls.dfy | 8 +- Test/comp/Calls.dfy.expect | 40 ++ Test/comp/Class.dfy | 8 +- Test/comp/Class.dfy.expect | 72 +++ Test/comp/Collections.dfy | 9 +- Test/comp/Collections.dfy.expect | 512 ++++++++++++++++ Test/comp/Collections.dfy.go.expect | 125 ---- Test/comp/Collections.dfy.java.expect | 125 ---- Test/comp/Collections.dfy.js.expect | 125 ---- Test/comp/Collections.dfy.py.expect | 125 ---- Test/comp/Comprehensions.dfy | 9 +- Test/comp/Comprehensions.dfy.expect | 260 ++++++++ Test/comp/Comprehensions.dfy.py.expect | 62 -- Test/comp/ComprehensionsNewSyntax.dfy | 9 +- Test/comp/ComprehensionsNewSyntax.dfy.expect | 148 +++++ .../ComprehensionsNewSyntax.dfy.py.expect | 34 -- Test/comp/CovariantCollections.dfy | 8 +- Test/comp/CovariantCollections.dfy.expect | 220 +++++++ Test/comp/Datatype.dfy | 9 +- Test/comp/Datatype.dfy.expect | 100 +++ Test/comp/Datatype.dfy.java.expect | 22 - Test/comp/Datatype.dfy.py.expect | 22 - Test/comp/DefaultParameters-Compile.dfy | 8 +- .../comp/DefaultParameters-Compile.dfy.expect | 48 ++ Test/comp/DowncastClone.dfy | 8 +- Test/comp/DowncastClone.dfy.expect | 40 ++ Test/comp/ErasableTypeWrappers.dfy | 8 +- Test/comp/ErasableTypeWrappers.dfy.expect | 84 +++ Test/comp/EuclideanDivision.dfy | 8 +- Test/comp/EuclideanDivision.dfy.expect | 36 ++ Test/comp/ForLoops-Compilation.dfy | 8 +- Test/comp/ForLoops-Compilation.dfy.expect | 200 ++++++ Test/comp/ForallNewSyntax.dfy | 8 +- Test/comp/ForallNewSyntax.dfy.expect | 180 ++++++ Test/comp/Ghosts.dfy | 8 +- Test/comp/Ghosts.dfy.expect | 52 ++ Test/comp/Let.dfy | 7 +- Test/comp/Let.dfy.expect | 34 ++ Test/comp/MoreAutoInit.dfy | 8 +- Test/comp/MoreAutoInit.dfy.expect | 572 ++++++++++++++++++ Test/comp/NativeNumbers.dfy | 7 +- Test/comp/NativeNumbers.dfy.expect | 256 ++++++++ Test/comp/NestedArrays.dfy | 7 +- Test/comp/NestedArrays.dfy.expect | 16 + Test/comp/Numbers.dfy | 9 +- Test/comp/Numbers.dfy.expect | 456 ++++++++++++++ Test/comp/Numbers.dfy.go.expect | 111 ---- Test/comp/Numbers.dfy.py.expect | 111 ---- Test/comp/Poly.dfy | 9 +- Test/comp/Poly.dfy.expect | 60 ++ Test/comp/Poly.dfy.go.expect | 12 - Test/comp/Poly.dfy.py.expect | 12 - Test/comp/Print.dfy | 8 +- Test/comp/Print.dfy.expect | 34 ++ Test/comp/Print.dfy.go.expect | 8 - Test/comp/Print.dfy.java.expect | 8 - Test/comp/Print.dfy.js.expect | 8 - Test/comp/StaticMembersOfGenericTypes.dfy | 8 +- .../StaticMembersOfGenericTypes.dfy.expect | 76 +++ Test/comp/TailRecursion.dfy | 8 +- Test/comp/TailRecursion.dfy.expect | 76 +++ Test/comp/TypeDescriptors.dfy | 8 +- Test/comp/TypeDescriptors.dfy.expect | 152 +++++ Test/comp/TypeParams.dfy | 11 +- Test/comp/TypeParams.dfy.expect | 88 +++ Test/comp/TypeParams.dfy.go.expect | 19 - Test/comp/TypeParams.dfy.java.expect | 19 - Test/comp/TypeParams.dfy.js.expect | 19 - Test/comp/TypeParams.dfy.py.expect | 19 - Test/comp/UnoptimizedErasableTypeWrappers.dfy | 8 +- ...UnoptimizedErasableTypeWrappers.dfy.expect | 28 + Test/comp/Variance.dfy | 8 +- Test/comp/Variance.dfy.expect | 64 ++ Test/comp/Various.dfy | 8 +- Test/comp/Various.dfy.expect | 40 ++ Test/comp/firstSteps/0_IKnowThisMuchIs.dfy | 4 +- .../firstSteps/0_IKnowThisMuchIs.dfy.expect | 4 + Test/comp/firstSteps/1_Calls-F.dfy | 4 +- Test/comp/firstSteps/1_Calls-F.dfy.expect | 4 + Test/comp/firstSteps/2_Modules.dfy | 4 +- Test/comp/firstSteps/2_Modules.dfy.expect | 4 + Test/comp/firstSteps/3_Calls-As.dfy | 4 +- Test/comp/firstSteps/3_Calls-As.dfy.expect | 4 + .../4_Calls-FunctionsValues-Class+NT.dfy | 4 +- ..._Calls-FunctionsValues-Class+NT.dfy.expect | 4 + .../firstSteps/5_Calls-FunctionsValues-Dt.dfy | 4 +- .../5_Calls-FunctionsValues-Dt.dfy.expect | 4 + .../firstSteps/6_Calls-VariableCapture.dfy | 4 +- .../6_Calls-VariableCapture.dfy.expect | 4 + Test/comp/firstSteps/7_Arrays.dfy | 4 +- Test/comp/firstSteps/7_Arrays.dfy.expect | 4 + Test/comp/firstSteps/7_Dt_Algebraic.dfy | 6 +- .../firstSteps/7_Dt_Algebraic.dfy.cs.expect | 11 - .../comp/firstSteps/7_Dt_Algebraic.dfy.expect | 17 + Test/dafny0/ArrayElementInitCompile.dfy | 8 +- .../dafny0/ArrayElementInitCompile.dfy.expect | 76 +++ Test/dafny0/Bitvectors.dfy | 5 +- Test/dafny0/Bitvectors.dfy.expect | 490 +++++++++++++++ Test/dafny0/Compilation.dfy | 3 +- Test/dafny0/Compilation.dfy.expect | 2 + Test/dafny0/Constant.dfy | 3 +- Test/dafny0/Constant.dfy.expect | 2 + Test/dafny0/Deprecation.dfy | 3 +- Test/dafny0/Deprecation.dfy.expect | 7 + Test/dafny0/DiscoverBounds.dfy | 3 +- Test/dafny0/DiscoverBounds.dfy.expect | 7 + Test/dafny0/DividedConstructors.dfy | 3 +- Test/dafny0/DividedConstructors.dfy.expect | 186 ++++++ Test/dafny0/EqualityTypesCompile.dfy | 3 +- Test/dafny0/EqualityTypesCompile.dfy.expect | 2 + Test/dafny0/ForallCompilation.dfy | 3 +- Test/dafny0/ForallCompilation.dfy.expect | 2 + Test/dafny0/ForallCompilationNewSyntax.dfy | 3 +- .../ForallCompilationNewSyntax.dfy.expect | 6 + Test/dafny0/GhostGuards.dfy | 3 +- Test/dafny0/GhostGuards.dfy.expect | 7 + Test/dafny0/GhostITECompilation.dfy | 8 +- Test/dafny0/GhostITECompilation.dfy.expect | 28 + Test/dafny0/InitialValues.dfy | 3 +- Test/dafny0/InitialValues.dfy.expect | 2 + Test/dafny0/MatchBraces.dfy | 5 +- Test/dafny0/MatchBraces.dfy.expect | 133 ++++ Test/dafny0/MoForallCompilation.dfy | 3 +- Test/dafny0/MoForallCompilation.dfy.expect | 2 + Test/dafny0/NameclashesCompile.dfy | 3 +- Test/dafny0/NameclashesCompile.dfy.expect | 2 + Test/dafny0/NonZeroInitializationCompile.dfy | 7 +- .../NonZeroInitializationCompile.dfy.expect | 73 +++ Test/dafny0/NullComparisonWarnings.dfy | 3 +- Test/dafny0/NullComparisonWarnings.dfy.expect | 13 + Test/dafny0/PrintUTF8.dfy | 3 +- Test/dafny0/PrintUTF8.dfy.expect | 2 + Test/dafny0/RangeCompilation.dfy | 3 +- Test/dafny0/RangeCompilation.dfy.expect | 2 + Test/dafny0/SeqFromArray.dfy | 3 +- Test/dafny0/SeqFromArray.dfy.expect | 2 + Test/dafny0/SharedDestructorsCompile.dfy | 5 +- .../SharedDestructorsCompile.dfy.expect | 17 + Test/dafny0/SiblingImports.dfy | 3 +- Test/dafny0/SiblingImports.dfy.expect | 2 + Test/dafny0/TypeConversionsCompile.dfy | 3 +- Test/dafny0/TypeConversionsCompile.dfy.expect | 225 +++++++ Test/dafny0/TypeMembers.dfy | 5 +- Test/dafny0/TypeMembers.dfy.expect | 29 + Test/dafny0/TypeMembers.dfy.verifier.expect | 1 - Test/dafny0/Wellfounded.dfy | 3 +- Test/dafny0/Wellfounded.dfy.expect | 4 + Test/dafny2/MinWindowMax.dfy | 3 +- Test/dafny2/MinWindowMax.dfy.expect | 2 + .../SmallestMissingNumber-functional.dfy | 3 +- ...mallestMissingNumber-functional.dfy.expect | 3 + .../SmallestMissingNumber-imperative.dfy | 3 +- ...mallestMissingNumber-imperative.dfy.expect | 2 + Test/dafny2/StoreAndRetrieve.dfy | 7 +- Test/dafny2/StoreAndRetrieve.dfy.expect | 38 ++ .../StoreAndRetrieve.dfy.verifier.expect | 5 - Test/dafny2/Z-BirthdayBook.dfy | 3 +- Test/dafny2/Z-BirthdayBook.dfy.expect | 2 + Test/dafny2/pq-intrinsic-extrinsic.dfy | 5 +- Test/dafny2/pq-intrinsic-extrinsic.dfy.expect | 11 + Test/dafny3/Abstemious.dfy | 3 +- Test/dafny3/Abstemious.dfy.expect | 2 + Test/dafny3/CachedContainer.dfy | 7 +- Test/dafny3/CachedContainer.dfy.expect | 78 +++ .../CachedContainer.dfy.verifier.expect | 13 - Test/dafny3/Iter.dfy | 3 +- Test/dafny3/Iter.dfy.expect | 2 + Test/dafny4/Ackermann.dfy | 3 +- Test/dafny4/Ackermann.dfy.expect | 4 + Test/dafny4/Bug107.dfy | 3 +- Test/dafny4/Bug107.dfy.expect | 2 + Test/dafny4/Bug108.dfy | 3 +- Test/dafny4/Bug108.dfy.expect | 2 + Test/dafny4/Bug113.dfy | 5 +- Test/dafny4/Bug113.dfy.expect | 2 + Test/dafny4/Bug116.dfy | 3 +- Test/dafny4/Bug116.dfy.expect | 2 + Test/dafny4/Bug140.dfy | 3 +- Test/dafny4/Bug140.dfy.expect | 2 + Test/dafny4/Bug148.dfy | 3 +- Test/dafny4/Bug148.dfy.expect | 2 + Test/dafny4/Bug49.dfy | 3 +- Test/dafny4/Bug49.dfy.expect | 2 + Test/dafny4/Bug60.dfy | 3 +- Test/dafny4/Bug60.dfy.expect | 2 + Test/dafny4/Bug67.dfy | 5 +- Test/dafny4/Bug67.dfy.expect | 2 + Test/dafny4/Bug68.dfy | 5 +- Test/dafny4/Bug68.dfy.expect | 2 + Test/dafny4/Bug89.dfy | 3 +- Test/dafny4/Bug89.dfy.expect | 2 + Test/dafny4/Bug94.dfy | 3 +- Test/dafny4/Bug94.dfy.expect | 2 + Test/dafny4/ClassRefinement.dfy | 7 +- Test/dafny4/ClassRefinement.dfy.expect | 43 ++ .../ClassRefinement.dfy.verifier.expect | 6 - Test/dafny4/ExpandedGuardedness.dfy | 3 +- Test/dafny4/ExpandedGuardedness.dfy.expect | 2 + Test/dafny4/FlyingRobots.dfy | 3 +- Test/dafny4/FlyingRobots.dfy.expect | 2 + Test/dafny4/Leq.dfy | 3 +- Test/dafny4/Leq.dfy.expect | 2 + Test/dafny4/McCarthy91.dfy | 3 +- Test/dafny4/McCarthy91.dfy.expect | 2 + Test/dafny4/NatList.dfy | 3 +- Test/dafny4/NatList.dfy.expect | 2 + Test/dafny4/Regression15.dfy | 3 +- Test/dafny4/Regression15.dfy.expect | 2 + Test/dafny4/Regression2.dfy | 3 +- Test/dafny4/Regression2.dfy.expect | 2 + Test/dafny4/Regression3.dfy | 3 +- Test/dafny4/Regression3.dfy.expect | 2 + Test/dafny4/Regression4.dfy | 3 +- Test/dafny4/Regression4.dfy.expect | 2 + Test/dafny4/Regression6.dfy | 3 +- Test/dafny4/Regression6.dfy.expect | 2 + Test/dafny4/Regression7.dfy | 3 +- Test/dafny4/Regression7.dfy.expect | 2 + Test/dafny4/Regression9.dfy | 3 +- Test/dafny4/Regression9.dfy.expect | 2 + Test/dafny4/UnionFind.dfy | 3 +- Test/dafny4/UnionFind.dfy.expect | 2 + Test/dafny4/gcd.dfy | 7 +- Test/dafny4/gcd.dfy.expect | 31 + Test/dafny4/git-issue104.dfy | 8 +- Test/dafny4/git-issue104.dfy.expect | 16 + Test/dafny4/git-issue105.dfy | 3 +- Test/dafny4/git-issue105.dfy.expect | 2 + Test/dafny4/git-issue15.dfy | 3 +- Test/dafny4/git-issue15.dfy.expect | 2 + Test/dafny4/git-issue167.dfy | 3 +- Test/dafny4/git-issue167.dfy.expect | 2 + Test/dafny4/git-issue195.dfy | 3 +- Test/dafny4/git-issue195.dfy.expect | 2 + Test/dafny4/git-issue196.dfy | 3 +- Test/dafny4/git-issue196.dfy.expect | 2 + Test/dafny4/git-issue4.dfy | 3 +- Test/dafny4/git-issue4.dfy.expect | 2 + Test/dafny4/git-issue43.dfy | 3 +- Test/dafny4/git-issue43.dfy.expect | 2 + Test/dafny4/git-issue70.dfy | 3 +- Test/dafny4/git-issue70.dfy.expect | 2 + Test/dafny4/git-issue76.dfy | 5 +- Test/dafny4/git-issue76.dfy.expect | 7 + Test/dafny4/git-issue79.dfy | 3 +- Test/dafny4/git-issue79.dfy.expect | 2 + Test/dafny4/git-issue88.dfy | 3 +- Test/dafny4/git-issue88.dfy.expect | 2 + Test/exceptions/Exceptions1.dfy | 3 +- Test/exceptions/Exceptions1.dfy.expect | 2 + Test/exceptions/Exceptions1Expressions.dfy | 3 +- .../Exceptions1Expressions.dfy.expect | 2 + Test/exports/FIFO.dfy | 3 +- Test/exports/FIFO.dfy.expect | 2 + Test/exports/LIFO.dfy | 3 +- Test/exports/LIFO.dfy.expect | 2 + Test/exports/xrefine2.dfy | 3 +- Test/exports/xrefine2.dfy.expect | 2 + Test/exports/xrefine3.dfy | 3 +- Test/exports/xrefine3.dfy.expect | 2 + Test/git-issues/git-issue-032.dfy | 7 +- Test/git-issues/git-issue-032.dfy.expect | 37 ++ .../git-issue-032.dfy.verifier.expect | 3 - Test/git-issues/git-issue-1029.dfy | 3 +- Test/git-issues/git-issue-1029.dfy.expect | 2 + Test/git-issues/git-issue-1093.dfy | 8 +- Test/git-issues/git-issue-1093.dfy.expect | 16 + Test/git-issues/git-issue-1100.dfy | 3 +- Test/git-issues/git-issue-1100.dfy.expect | 2 + Test/git-issues/git-issue-1130.dfy | 3 +- Test/git-issues/git-issue-1130.dfy.expect | 2 + Test/git-issues/git-issue-1150.dfy | 3 +- Test/git-issues/git-issue-1150.dfy.expect | 2 + Test/git-issues/git-issue-1185.dfy | 8 +- Test/git-issues/git-issue-1185.dfy.expect | 13 + .../git-issues/git-issue-1185.dfy.java.expect | 1 - Test/git-issues/git-issue-1514.dfy | 3 +- Test/git-issues/git-issue-1514.dfy.expect | 2 + Test/git-issues/git-issue-1514b.dfy | 3 +- Test/git-issues/git-issue-1514b.dfy.expect | 2 + Test/git-issues/git-issue-1514c.dfy | 5 +- Test/git-issues/git-issue-1514c.dfy.expect | 7 + Test/git-issues/git-issue-1553.dfy | 7 +- Test/git-issues/git-issue-1553.dfy.expect | 10 + Test/git-issues/git-issue-1604b.dfy | 3 +- Test/git-issues/git-issue-1604b.dfy.expect | 2 + Test/git-issues/git-issue-1714.dfy | 3 +- Test/git-issues/git-issue-1714.dfy.expect | 2 + Test/git-issues/git-issue-179.dfy | 8 +- Test/git-issues/git-issue-179.dfy.expect | 22 + Test/git-issues/git-issue-179.dfy.go.expect | 4 - Test/git-issues/git-issue-179.dfy.java.expect | 4 - Test/git-issues/git-issue-179.dfy.js.expect | 4 - Test/git-issues/git-issue-1815a.dfy | 8 +- Test/git-issues/git-issue-1815a.dfy.expect | 16 + Test/git-issues/git-issue-1852.dfy | 5 +- Test/git-issues/git-issue-1852.dfy.expect | 7 + Test/git-issues/git-issue-1903.dfy | 3 +- Test/git-issues/git-issue-1903.dfy.expect | 2 + Test/git-issues/git-issue-1909.dfy | 3 +- Test/git-issues/git-issue-1909.dfy.expect | 2 + Test/git-issues/git-issue-2013.dfy | 8 +- Test/git-issues/git-issue-2013.dfy.expect | 52 ++ Test/git-issues/git-issue-2441.dfy | 5 +- Test/git-issues/git-issue-2441.dfy.expect | 6 + Test/git-issues/git-issue-2510.dfy | 3 +- Test/git-issues/git-issue-2510.dfy.expect | 2 + Test/git-issues/git-issue-258.dfy | 8 +- Test/git-issues/git-issue-258.dfy.expect | 73 +++ Test/git-issues/git-issue-258.dfy.go.expect | 21 - Test/git-issues/git-issue-258.dfy.js.expect | 21 - Test/git-issues/git-issue-2608.dfy | 3 +- Test/git-issues/git-issue-2608.dfy.expect | 2 + Test/git-issues/git-issue-262.dfy | 7 +- Test/git-issues/git-issue-262.dfy.expect | 18 + Test/git-issues/git-issue-262.dfy.go.expect | 2 - Test/git-issues/git-issue-262.dfy.java.expect | 2 - Test/git-issues/git-issue-262.dfy.js.expect | 6 - Test/git-issues/git-issue-267.dfy | 7 +- Test/git-issues/git-issue-267.dfy.expect | 13 + Test/git-issues/git-issue-2672.dfy | 8 +- Test/git-issues/git-issue-2672.dfy.expect | 44 ++ Test/git-issues/git-issue-2726a.dfy | 3 +- Test/git-issues/git-issue-2726a.dfy.expect | 2 + Test/git-issues/git-issue-2733.dfy | 9 +- Test/git-issues/git-issue-2733.dfy.expect | 14 + Test/git-issues/git-issue-2792.dfy | 3 +- Test/git-issues/git-issue-2792.dfy.expect | 2 + Test/git-issues/git-issue-283.dfy | 7 +- Test/git-issues/git-issue-283.dfy.expect | 13 + Test/git-issues/git-issue-283d.dfy | 7 +- Test/git-issues/git-issue-283d.dfy.expect | 10 + Test/git-issues/git-issue-314.dfy | 7 +- Test/git-issues/git-issue-314.dfy.expect | 10 + Test/git-issues/git-issue-332.dfy | 3 +- Test/git-issues/git-issue-332.dfy.expect | 2 + Test/git-issues/git-issue-354.dfy | 7 +- Test/git-issues/git-issue-354.dfy.expect | 22 + Test/git-issues/git-issue-356.dfy | 8 +- Test/git-issues/git-issue-356.dfy.expect | 36 ++ Test/git-issues/git-issue-364.dfy | 3 +- Test/git-issues/git-issue-364.dfy.expect | 2 + Test/git-issues/git-issue-374.dfy | 7 +- Test/git-issues/git-issue-374.dfy.expect | 10 + Test/git-issues/git-issue-396.dfy | 6 +- Test/git-issues/git-issue-396.dfy.expect | 11 + Test/git-issues/git-issue-4007.dfy | 5 +- Test/git-issues/git-issue-4007.dfy.expect | 3 + Test/git-issues/git-issue-4012.dfy | 5 +- Test/git-issues/git-issue-4012.dfy.expect | 2 + Test/git-issues/git-issue-425.dfy | 7 +- Test/git-issues/git-issue-425.dfy.expect | 16 + Test/git-issues/git-issue-443.dfy | 3 +- Test/git-issues/git-issue-443.dfy.expect | 2 + Test/git-issues/git-issue-446.dfy | 7 +- Test/git-issues/git-issue-446.dfy.expect | 19 + Test/git-issues/git-issue-446a.dfy | 7 +- Test/git-issues/git-issue-446a.dfy.expect | 19 + Test/git-issues/git-issue-446b.dfy | 7 +- Test/git-issues/git-issue-446b.dfy.expect | 25 + Test/git-issues/git-issue-478-good.dfy | 3 +- Test/git-issues/git-issue-478-good.dfy.expect | 2 + Test/git-issues/git-issue-506.dfy | 6 +- Test/git-issues/git-issue-506.dfy.expect | 26 + Test/git-issues/git-issue-532.dfy | 7 +- Test/git-issues/git-issue-532.dfy.expect | 19 + Test/git-issues/git-issue-549.dfy | 5 +- Test/git-issues/git-issue-549.dfy.expect | 8 + Test/git-issues/git-issue-622$f.dfy | 3 +- Test/git-issues/git-issue-622$f.dfy.expect | 2 + Test/git-issues/git-issue-633.dfy | 7 +- Test/git-issues/git-issue-633.dfy.expect | 10 + Test/git-issues/git-issue-684.dfy | 7 +- Test/git-issues/git-issue-684.dfy.expect | 10 + Test/git-issues/git-issue-686.dfy | 7 +- Test/git-issues/git-issue-686.dfy.expect | 23 + .../git-issue-686.dfy.verifier.expect | 2 - Test/git-issues/git-issue-697.dfy | 3 +- Test/git-issues/git-issue-697.dfy.expect | 2 + Test/git-issues/git-issue-697b.dfy | 3 +- Test/git-issues/git-issue-697b.dfy.expect | 2 + Test/git-issues/git-issue-697d.dfy | 3 +- Test/git-issues/git-issue-697d.dfy.expect | 2 + Test/git-issues/git-issue-697e.dfy | 3 +- Test/git-issues/git-issue-697e.dfy.expect | 2 + Test/git-issues/git-issue-697f.dfy | 3 +- Test/git-issues/git-issue-697f.dfy.expect | 2 + Test/git-issues/git-issue-697g.dfy | 3 +- Test/git-issues/git-issue-697g.dfy.expect | 2 + Test/git-issues/git-issue-698.dfy | 5 +- Test/git-issues/git-issue-698.dfy.expect | 7 + Test/git-issues/git-issue-698b.dfy | 5 +- Test/git-issues/git-issue-698b.dfy.expect | 2 + Test/git-issues/git-issue-701.dfy | 7 +- Test/git-issues/git-issue-701.dfy.expect | 19 + Test/git-issues/git-issue-705.dfy | 7 +- Test/git-issues/git-issue-705.dfy.expect | 13 + Test/git-issues/git-issue-731.dfy | 7 +- Test/git-issues/git-issue-731.dfy.expect | 16 + Test/git-issues/git-issue-731b.dfy | 7 +- Test/git-issues/git-issue-731b.dfy.expect | 13 + Test/git-issues/git-issue-755.dfy | 8 +- Test/git-issues/git-issue-755.dfy.expect | 31 + Test/git-issues/git-issue-755.dfy.go.expect | 7 - Test/git-issues/git-issue-755.dfy.java.expect | 7 - Test/git-issues/git-issue-755.dfy.js.expect | 7 - Test/git-issues/git-issue-784.dfy | 7 +- Test/git-issues/git-issue-784.dfy.expect | 10 + Test/git-issues/git-issue-953.dfy | 8 +- Test/git-issues/git-issue-953.dfy.expect | 36 ++ Test/git-issues/github-issue-3343.dfy | 3 +- Test/git-issues/github-issue-3343.dfy.expect | 2 + Test/hofs/Compilation.dfy | 3 +- Test/hofs/Compilation.dfy.expect | 2 + Test/hofs/Examples.dfy | 3 +- Test/hofs/Examples.dfy.expect | 2 + Test/hofs/Fold.dfy | 3 +- Test/hofs/Fold.dfy.expect | 2 + Test/hofs/Folding.dfy | 3 +- Test/hofs/Folding.dfy.expect | 2 + Test/hofs/Renaming.dfy | 3 +- Test/hofs/Renaming.dfy.expect | 2 + Test/hofs/Requires.dfy | 3 +- Test/hofs/Requires.dfy.expect | 2 + Test/hofs/TreeMapSimple.dfy | 3 +- Test/hofs/TreeMapSimple.dfy.expect | 2 + Test/hofs/VectorUpdate.dfy | 3 +- Test/hofs/VectorUpdate.dfy.expect | 2 + Test/hofs/WhileLoop.dfy | 3 +- Test/hofs/WhileLoop.dfy.expect | 2 + Test/irondafny0/optimize0.dfy | 3 +- Test/irondafny0/optimize0.dfy.expect | 2 + Test/metatests/OutputEncoding.dfy | 8 +- Test/metatests/OutputEncoding.dfy.expect | 16 + Test/patterns/OrPatterns.dfy | 3 +- Test/patterns/OrPatterns.dfy.expect | 2 + Test/patterns/PatternMatching.dfy | 5 +- Test/patterns/PatternMatching.dfy.expect | 3 + Test/traits/TraitCompile.dfy | 10 +- Test/traits/TraitCompile.dfy.expect | 256 ++++++++ Test/traits/TraitExample.dfy | 3 +- Test/traits/TraitExample.dfy.expect | 2 + Test/traits/Traits-Fields.dfy | 3 +- Test/traits/Traits-Fields.dfy.expect | 2 + Test/traits/TraitsMultipleInheritance.dfy | 3 +- .../TraitsMultipleInheritance.dfy.expect | 2 + Test/unicodechars/comp/Collections.dfy | 9 +- Test/unicodechars/comp/Collections.dfy.expect | 512 ++++++++++++++++ .../comp/Collections.dfy.go.expect | 125 ---- .../comp/Collections.dfy.java.expect | 125 ---- .../comp/Collections.dfy.js.expect | 125 ---- .../comp/Collections.dfy.py.expect | 125 ---- Test/unicodechars/comp/Comprehensions.dfy | 11 +- .../comp/Comprehensions.dfy.expect | 260 ++++++++ .../comp/Comprehensions.dfy.py.expect | 62 -- Test/unicodechars/comp/NativeNumbers.dfy | 9 +- .../comp/NativeNumbers.dfy.expect | 256 ++++++++ Test/unicodechars/comp/Numbers.dfy | 11 +- Test/unicodechars/comp/Numbers.dfy.expect | 456 ++++++++++++++ Test/unicodechars/comp/Numbers.dfy.go.expect | 111 ---- Test/unicodechars/comp/Numbers.dfy.py.expect | 111 ---- 504 files changed, 9914 insertions(+), 2252 deletions(-) delete mode 100644 Test/comp/Arrays.dfy.go.expect delete mode 100644 Test/comp/Collections.dfy.go.expect delete mode 100644 Test/comp/Collections.dfy.java.expect delete mode 100644 Test/comp/Collections.dfy.js.expect delete mode 100644 Test/comp/Collections.dfy.py.expect delete mode 100644 Test/comp/Comprehensions.dfy.py.expect delete mode 100644 Test/comp/ComprehensionsNewSyntax.dfy.py.expect delete mode 100644 Test/comp/Datatype.dfy.java.expect delete mode 100644 Test/comp/Datatype.dfy.py.expect delete mode 100644 Test/comp/Numbers.dfy.go.expect delete mode 100644 Test/comp/Numbers.dfy.py.expect delete mode 100644 Test/comp/Poly.dfy.go.expect delete mode 100644 Test/comp/Poly.dfy.py.expect delete mode 100644 Test/comp/Print.dfy.go.expect delete mode 100644 Test/comp/Print.dfy.java.expect delete mode 100644 Test/comp/Print.dfy.js.expect delete mode 100644 Test/comp/TypeParams.dfy.go.expect delete mode 100644 Test/comp/TypeParams.dfy.java.expect delete mode 100644 Test/comp/TypeParams.dfy.js.expect delete mode 100644 Test/comp/TypeParams.dfy.py.expect delete mode 100644 Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect delete mode 100644 Test/dafny0/TypeMembers.dfy.verifier.expect delete mode 100644 Test/dafny2/StoreAndRetrieve.dfy.verifier.expect delete mode 100644 Test/dafny3/CachedContainer.dfy.verifier.expect delete mode 100644 Test/dafny4/ClassRefinement.dfy.verifier.expect delete mode 100644 Test/git-issues/git-issue-032.dfy.verifier.expect delete mode 100644 Test/git-issues/git-issue-1185.dfy.java.expect delete mode 100644 Test/git-issues/git-issue-179.dfy.go.expect delete mode 100644 Test/git-issues/git-issue-179.dfy.java.expect delete mode 100644 Test/git-issues/git-issue-179.dfy.js.expect delete mode 100644 Test/git-issues/git-issue-258.dfy.go.expect delete mode 100644 Test/git-issues/git-issue-258.dfy.js.expect delete mode 100644 Test/git-issues/git-issue-262.dfy.go.expect delete mode 100644 Test/git-issues/git-issue-262.dfy.java.expect delete mode 100644 Test/git-issues/git-issue-262.dfy.js.expect delete mode 100644 Test/git-issues/git-issue-686.dfy.verifier.expect delete mode 100644 Test/git-issues/git-issue-755.dfy.go.expect delete mode 100644 Test/git-issues/git-issue-755.dfy.java.expect delete mode 100644 Test/git-issues/git-issue-755.dfy.js.expect delete mode 100644 Test/unicodechars/comp/Collections.dfy.go.expect delete mode 100644 Test/unicodechars/comp/Collections.dfy.java.expect delete mode 100644 Test/unicodechars/comp/Collections.dfy.js.expect delete mode 100644 Test/unicodechars/comp/Collections.dfy.py.expect delete mode 100644 Test/unicodechars/comp/Comprehensions.dfy.py.expect delete mode 100644 Test/unicodechars/comp/Numbers.dfy.go.expect delete mode 100644 Test/unicodechars/comp/Numbers.dfy.py.expect diff --git a/Test/VerifyThis2015/Problem1.dfy b/Test/VerifyThis2015/Problem1.dfy index ab227e1ab85..20bd154ab8d 100644 --- a/Test/VerifyThis2015/Problem1.dfy +++ b/Test/VerifyThis2015/Problem1.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Rustan Leino // 12 April 2015 diff --git a/Test/VerifyThis2015/Problem1.dfy.expect b/Test/VerifyThis2015/Problem1.dfy.expect index 9e8a46acf90..110dd45761d 100644 --- a/Test/VerifyThis2015/Problem1.dfy.expect +++ b/Test/VerifyThis2015/Problem1.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 18 verified, 0 errors true true false diff --git a/Test/VerifyThis2015/Problem2.dfy b/Test/VerifyThis2015/Problem2.dfy index 9b57395e68b..7466df6d410 100644 --- a/Test/VerifyThis2015/Problem2.dfy +++ b/Test/VerifyThis2015/Problem2.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Rustan Leino // 13 April 2015, and many subsequent enhancements and revisions diff --git a/Test/VerifyThis2015/Problem2.dfy.expect b/Test/VerifyThis2015/Problem2.dfy.expect index e69de29bb2d..b49c1470365 100644 --- a/Test/VerifyThis2015/Problem2.dfy.expect +++ b/Test/VerifyThis2015/Problem2.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 32 verified, 0 errors diff --git a/Test/VerifyThis2015/Problem3.dfy b/Test/VerifyThis2015/Problem3.dfy index 1348acf0f4d..3be60b5d81a 100644 --- a/Test/VerifyThis2015/Problem3.dfy +++ b/Test/VerifyThis2015/Problem3.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Rustan Leino // 12 April 2015 // VerifyThis 2015 diff --git a/Test/VerifyThis2015/Problem3.dfy.expect b/Test/VerifyThis2015/Problem3.dfy.expect index e69de29bb2d..4bb1c2c7251 100644 --- a/Test/VerifyThis2015/Problem3.dfy.expect +++ b/Test/VerifyThis2015/Problem3.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 18 verified, 0 errors diff --git a/Test/c++/arrays.dfy b/Test/c++/arrays.dfy index a02b57e5ff8..47140146468 100644 --- a/Test/c++/arrays.dfy +++ b/Test/c++/arrays.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/arrays.dfy.expect b/Test/c++/arrays.dfy.expect index 2ce9320d8c2..552f9355593 100644 --- a/Test/c++/arrays.dfy.expect +++ b/Test/c++/arrays.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 9 verified, 0 errors 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/c++/bit-vectors.dfy b/Test/c++/bit-vectors.dfy index d27469e4ca5..b7f5d35df07 100644 --- a/Test/c++/bit-vectors.dfy +++ b/Test/c++/bit-vectors.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint64 = i:int | 0 <= i < 0x10000000000000000 diff --git a/Test/c++/bit-vectors.dfy.expect b/Test/c++/bit-vectors.dfy.expect index c491236b12b..e327aa2f73b 100644 --- a/Test/c++/bit-vectors.dfy.expect +++ b/Test/c++/bit-vectors.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 6 verified, 0 errors 084841024 diff --git a/Test/c++/class.dfy b/Test/c++/class.dfy index b10d703c981..3039bd0466b 100644 --- a/Test/c++/class.dfy +++ b/Test/c++/class.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/class.dfy.expect b/Test/c++/class.dfy.expect index 80f1587d0a2..93717ecfa9e 100644 --- a/Test/c++/class.dfy.expect +++ b/Test/c++/class.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 16 verified, 0 errors true true false 103 102 102 106 105 105 203 17 0 18 8 9 69 70 diff --git a/Test/c++/const.dfy b/Test/c++/const.dfy index 1bfb79f0361..5ab9a62e0e9 100644 --- a/Test/c++/const.dfy +++ b/Test/c++/const.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" module Holder { const x:bool := false diff --git a/Test/c++/const.dfy.expect b/Test/c++/const.dfy.expect index e69de29bb2d..823a60a105c 100644 --- a/Test/c++/const.dfy.expect +++ b/Test/c++/const.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 1 verified, 0 errors diff --git a/Test/c++/datatypes.dfy b/Test/c++/datatypes.dfy index f56b7907cc3..9d077b97575 100644 --- a/Test/c++/datatypes.dfy +++ b/Test/c++/datatypes.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/datatypes.dfy.expect b/Test/c++/datatypes.dfy.expect index c122f5af791..efa71b43546 100644 --- a/Test/c++/datatypes.dfy.expect +++ b/Test/c++/datatypes.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 12 verified, 0 errors Case A: 42 Case B: true This is expected diff --git a/Test/c++/generic.dfy b/Test/c++/generic.dfy index 374c545b9c1..7995928f93f 100644 --- a/Test/c++/generic.dfy +++ b/Test/c++/generic.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" class Test { var t:T diff --git a/Test/c++/generic.dfy.expect b/Test/c++/generic.dfy.expect index e69de29bb2d..00a51f822da 100644 --- a/Test/c++/generic.dfy.expect +++ b/Test/c++/generic.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 3 verified, 0 errors diff --git a/Test/c++/hello.dfy b/Test/c++/hello.dfy index 523d3152209..c887337c7e1 100644 --- a/Test/c++/hello.dfy +++ b/Test/c++/hello.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { print "Hello world\n"; diff --git a/Test/c++/hello.dfy.expect b/Test/c++/hello.dfy.expect index 802992c4220..87101fec036 100644 --- a/Test/c++/hello.dfy.expect +++ b/Test/c++/hello.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 0 verified, 0 errors Hello world diff --git a/Test/c++/ints.dfy b/Test/c++/ints.dfy index 4490a54817a..cf7ae63e0da 100644 --- a/Test/c++/ints.dfy +++ b/Test/c++/ints.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype sbyte = i:int | -0x80 <= i < 0x80 newtype byte = i:int | 0 <= i < 0x100 diff --git a/Test/c++/ints.dfy.expect b/Test/c++/ints.dfy.expect index 5fcb7b811cb..aeabccf73b0 100644 --- a/Test/c++/ints.dfy.expect +++ b/Test/c++/ints.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 15 verified, 0 errors Result is z = 42 diff --git a/Test/c++/maps.dfy b/Test/c++/maps.dfy index b88ebd56ad5..951d34e96f1 100644 --- a/Test/c++/maps.dfy +++ b/Test/c++/maps.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/maps.dfy.expect b/Test/c++/maps.dfy.expect index 80642c23257..482aa604356 100644 --- a/Test/c++/maps.dfy.expect +++ b/Test/c++/maps.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 9 verified, 0 errors Identity: This is expected ValuesIdentity: This is expected KeyMembership: This is expected diff --git a/Test/c++/recursion.dfy b/Test/c++/recursion.dfy index 36048aab527..e255b8e6b08 100644 --- a/Test/c++/recursion.dfy +++ b/Test/c++/recursion.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/recursion.dfy.expect b/Test/c++/recursion.dfy.expect index 1ea14926e89..15dbfe2bcd1 100644 --- a/Test/c++/recursion.dfy.expect +++ b/Test/c++/recursion.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 5 verified, 0 errors x !y 3 diff --git a/Test/c++/returns.dfy b/Test/c++/returns.dfy index 9e23121d26a..1ad19a8ce83 100644 --- a/Test/c++/returns.dfy +++ b/Test/c++/returns.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint64 = i:int | 0 <= i < 0x10000000000000000 diff --git a/Test/c++/returns.dfy.expect b/Test/c++/returns.dfy.expect index 48082f72f08..8db105eaba8 100644 --- a/Test/c++/returns.dfy.expect +++ b/Test/c++/returns.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors 12 diff --git a/Test/c++/seqs.dfy b/Test/c++/seqs.dfy index 903208b07f8..f97a42b2851 100644 --- a/Test/c++/seqs.dfy +++ b/Test/c++/seqs.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint8 = i:int | 0 <= i < 0x100 newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/seqs.dfy.expect b/Test/c++/seqs.dfy.expect index 16f5f9d22ea..23f01695bc9 100644 --- a/Test/c++/seqs.dfy.expect +++ b/Test/c++/seqs.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 11 verified, 0 errors Head second:2 Trunc first:2 Head trunc: This is expected diff --git a/Test/c++/sets.dfy b/Test/c++/sets.dfy index 10e2fe0501d..5bfb6f80f1e 100644 --- a/Test/c++/sets.dfy +++ b/Test/c++/sets.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/sets.dfy.expect b/Test/c++/sets.dfy.expect index 52a1e67717e..1c8ede8765e 100644 --- a/Test/c++/sets.dfy.expect +++ b/Test/c++/sets.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 8 verified, 0 errors Identity: This is expected ValuesIdentity: This is expected DiffIdentity: This is expected diff --git a/Test/c++/while.dfy b/Test/c++/while.dfy index 0c0d7ee98df..40dc4699d11 100644 --- a/Test/c++/while.dfy +++ b/Test/c++/while.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/while.dfy.expect b/Test/c++/while.dfy.expect index 9a44de1e2a3..8dfe872ca51 100644 --- a/Test/c++/while.dfy.expect +++ b/Test/c++/while.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 2 verified, 0 errors 0 1 2 diff --git a/Test/comp/Arrays.dfy b/Test/comp/Arrays.dfy index acb4225b358..566f052e0a6 100644 --- a/Test/comp/Arrays.dfy +++ b/Test/comp/Arrays.dfy @@ -1,5 +1,10 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false +// RUN: %baredafny verify %args --relax-definite-assignment "%s" > "%t" +// RUN: %baredafny run --unicode-char:false --no-verify --target=cs %args "%s" >> "%t" +// RUN: %baredafny run --unicode-char:false --no-verify --target=js %args "%s" >> "%t" +// RUN: %baredafny run --unicode-char:false --no-verify --target=go %args "%s" >> "%t" +// RUN: %baredafny run --unicode-char:false --no-verify --target=java %args "%s" >> "%t" +// RUN: %baredafny run --unicode-char:false --no-verify --target=py %args "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method LinearSearch(a: array, key: int) returns (n: nat) ensures 0 <= n <= a.Length diff --git a/Test/comp/Arrays.dfy.expect b/Test/comp/Arrays.dfy.expect index ef3b884f98a..8559e2f3c5c 100644 --- a/Test/comp/Arrays.dfy.expect +++ b/Test/comp/Arrays.dfy.expect @@ -1,3 +1,399 @@ + +Dafny program verifier finished with 89 verified, 0 errors + +Dafny program verifier did not attempt verification +0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 +17 +[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] +[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] +[20, 21, 22] +[0, 1, 2, 3, 4, 5, 6, 7] +[0, 1, 2, 3, 4, 5, 6, 7] +d d d +h e l l o +0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 +1 0 0 0 0 +0 1 0 0 0 +0 0 1 0 0 +cube dims: 3 0 4 +[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] +It's null +hi hello tjena hej hola +hi hello tjena hej hola +hi hello tjena hej hola +d d d +h e l l o +8 8 8 8 +true true true +1 1 1 1 1 +2 2 2 2 2 +3 3 3 3 3 +4 4 4 4 4 +(d, 8, true, 1, 2, 3, 4) +D D D +0 0 0 0 +false false false +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +(D, 0, false, 0, 0, 0, 0) +8 0 +false 0 null null +8 8 +8 8 +8 8 +8 8 +D D D +D D D +D D D +D D r (D, D, r) +D D r +[19, 18, 9, 8] + true + false + true + false + false + false + true + true + false + true + false + true + true + false +hello there +false false +true true +false false +false false +uninitialized bytes: array[0, 0, 0] +bytes from display: array[7, 8, 9] +bytes from lambda: array[20, 21, 22] +uninitialized 1bytes: array[1, 1, 1] +1bytes from display: array[7, 8, 9] +1bytes from lambda: array[20, 21, 22] +17 19 18 20 +100 200 300 120 38 +hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +DDDDDabcdeabcdeggggg +DDDDDabcdeabcdeggggg +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] +DDDDDDDDDDagggggaggg +0 69 50 +0 69 50 +D k n +false false +true true +false false +false false +true true + +Dafny program verifier did not attempt verification +0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 +17 +[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] +[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] +[20, 21, 22] +[0, 1, 2, 3, 4, 5, 6, 7] +[0, 1, 2, 3, 4, 5, 6, 7] +d d d +h e l l o +0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 +1 0 0 0 0 +0 1 0 0 0 +0 0 1 0 0 +cube dims: 3 0 4 +[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] +It's null +hi hello tjena hej hola +hi hello tjena hej hola +hi hello tjena hej hola +d d d +h e l l o +8 8 8 8 +true true true +1 1 1 1 1 +2 2 2 2 2 +3 3 3 3 3 +4 4 4 4 4 +(d, 8, true, 1, 2, 3, 4) +D D D +0 0 0 0 +false false false +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +(D, 0, false, 0, 0, 0, 0) +8 0 +false 0 null null +8 8 +8 8 +8 8 +8 8 +D D D +D D D +D D D +D D r (D, D, r) +D D r +[19, 18, 9, 8] + true + false + true + false + false + false + true + true + false + true + false + true + true + false +hello there +false false +true true +false false +false false +uninitialized bytes: array[0, 0, 0] +bytes from display: array[7, 8, 9] +bytes from lambda: array[20, 21, 22] +uninitialized 1bytes: array[1, 1, 1] +1bytes from display: array[7, 8, 9] +1bytes from lambda: array[20, 21, 22] +17 19 18 20 +100 200 300 120 38 +hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +DDDDDabcdeabcdeggggg +DDDDDabcdeabcdeggggg +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] +DDDDDDDDDDagggggaggg +0 69 50 +0 69 50 +D k n +false false +true true +false false +false false +true true + +Dafny program verifier did not attempt verification +0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 +17 +[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] +[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] +[20, 21, 22] +[0, 1, 2, 3, 4, 5, 6, 7] +[0, 1, 2, 3, 4, 5, 6, 7] +d d d +h e l l o +0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 +1 0 0 0 0 +0 1 0 0 0 +0 0 1 0 0 +cube dims: 3 0 4 +[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] +It's null +hi hello tjena hej hola +hi hello tjena hej hola +hi hello tjena hej hola +d d d +h e l l o +8 8 8 8 +true true true +1 1 1 1 1 +2 2 2 2 2 +3 3 3 3 3 +4 4 4 4 4 +(d, 8, true, 1, 2, 3, 4) +D D D +0 0 0 0 +false false false +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +(D, 0, false, 0, 0, 0, 0) +8 0 +false 0 null null +8 8 +8 8 +8 8 +8 8 +D D D +D D D +D D D +D D r (D, D, r) +D D r +[19, 18, 9, 8] + true + false + true + false + false + false + true + true + false + true + false + true + true + false +hello there +false false +true true +false false +false false +uninitialized bytes: array[0, 0, 0] +bytes from display: array[7, 8, 9] +bytes from lambda: array[20, 21, 22] +uninitialized 1bytes: array[1, 1, 1] +1bytes from display: array[7, 8, 9] +1bytes from lambda: array[20, 21, 22] +17 19 18 20 +100 200 300 120 38 +hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +DDDDDabcdeabcdeggggg +DDDDDabcdeabcdeggggg +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] +[D, D, D, D, D, D, D, D, D, D, a, g, g, g, g, g, a, g, g, g] +0 69 50 +0 69 50 +D k n +false false +true true +false false +false false +true true + +Dafny program verifier did not attempt verification +0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 +17 +[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] +[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] +[20, 21, 22] +[0, 1, 2, 3, 4, 5, 6, 7] +[0, 1, 2, 3, 4, 5, 6, 7] +d d d +h e l l o +0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 +1 0 0 0 0 +0 1 0 0 0 +0 0 1 0 0 +cube dims: 3 0 4 +[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] +It's null +hi hello tjena hej hola +hi hello tjena hej hola +hi hello tjena hej hola +d d d +h e l l o +8 8 8 8 +true true true +1 1 1 1 1 +2 2 2 2 2 +3 3 3 3 3 +4 4 4 4 4 +(d, 8, true, 1, 2, 3, 4) +D D D +0 0 0 0 +false false false +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +(D, 0, false, 0, 0, 0, 0) +8 0 +false 0 null null +8 8 +8 8 +8 8 +8 8 +D D D +D D D +D D D +D D r (D, D, r) +D D r +[19, 18, 9, 8] + true + false + true + false + false + false + true + true + false + true + false + true + true + false +hello there +false false +true true +false false +false false +uninitialized bytes: array[0, 0, 0] +bytes from display: array[7, 8, 9] +bytes from lambda: array[20, 21, 22] +uninitialized 1bytes: array[1, 1, 1] +1bytes from display: array[7, 8, 9] +1bytes from lambda: array[20, 21, 22] +17 19 18 20 +100 200 300 120 38 +hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +DDDDDabcdeabcdeggggg +DDDDDabcdeabcdeggggg +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] +DDDDDDDDDDagggggaggg +0 69 50 +0 69 50 +D k n +false false +true true +false false +false false +true true + +Dafny program verifier did not attempt verification 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/comp/Arrays.dfy.go.expect b/Test/comp/Arrays.dfy.go.expect deleted file mode 100644 index 1217623d90c..00000000000 --- a/Test/comp/Arrays.dfy.go.expect +++ /dev/null @@ -1,96 +0,0 @@ -0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 -17 -[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] -[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] -[20, 21, 22] -[0, 1, 2, 3, 4, 5, 6, 7] -[0, 1, 2, 3, 4, 5, 6, 7] -d d d -h e l l o -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -1 0 0 0 0 -0 1 0 0 0 -0 0 1 0 0 -cube dims: 3 0 4 -[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] -It's null -hi hello tjena hej hola -hi hello tjena hej hola -hi hello tjena hej hola -d d d -h e l l o -8 8 8 8 -true true true -1 1 1 1 1 -2 2 2 2 2 -3 3 3 3 3 -4 4 4 4 4 -(d, 8, true, 1, 2, 3, 4) -D D D -0 0 0 0 -false false false -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -(D, 0, false, 0, 0, 0, 0) -8 0 -false 0 null null -8 8 -8 8 -8 8 -8 8 -D D D -D D D -D D D -D D r (D, D, r) -D D r -[19, 18, 9, 8] - true - false - true - false - false - false - true - true - false - true - false - true - true - false -hello there -false false -true true -false false -false false -uninitialized bytes: array[0, 0, 0] -bytes from display: array[7, 8, 9] -bytes from lambda: array[20, 21, 22] -uninitialized 1bytes: array[1, 1, 1] -1bytes from display: array[7, 8, 9] -1bytes from lambda: array[20, 21, 22] -17 19 18 20 -100 200 300 120 38 -hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -DDDDDabcdeabcdeggggg -DDDDDabcdeabcdeggggg -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] -[D, D, D, D, D, D, D, D, D, D, a, g, g, g, g, g, a, g, g, g] -0 69 50 -0 69 50 -D k n -false false -true true -false false -false false -true true diff --git a/Test/comp/AsIs-Compile.dfy b/Test/comp/AsIs-Compile.dfy index 319847564e2..47084ed7633 100644 --- a/Test/comp/AsIs-Compile.dfy +++ b/Test/comp/AsIs-Compile.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" +// RUN: %baredafny verify %args "%s" > "%t" +// RUN: %baredafny run --no-verify -t=cs %args "%s" >> "%t" +// RUN: %baredafny run --no-verify -t=js %args "%s" >> "%t" +// RUN: %baredafny run --no-verify -t=go %args "%s" >> "%t" +// RUN: %baredafny run --no-verify -t=java %args "%s" >> "%t" +// RUN: %baredafny run --no-verify -t=py %args "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var a: A, b: B, c: C, k: K, l: L := new M, new M, new M, new K, new L; diff --git a/Test/comp/AsIs-Compile.dfy.expect b/Test/comp/AsIs-Compile.dfy.expect index acc78c6e155..36dfe46e91d 100644 --- a/Test/comp/AsIs-Compile.dfy.expect +++ b/Test/comp/AsIs-Compile.dfy.expect @@ -1,3 +1,163 @@ + +Dafny program verifier finished with 6 verified, 0 errors + +Dafny program verifier did not attempt verification +true true true true true +true true true true true +IsComparisons ---- +false true false false + true false false + true false +false false true false + false true false + false false +false false false true + false false true + false true +false true false false + false true false + false false +true true +false true +TestNullIs ---- +true true +true true +true true true true true true +true true true true true true +true true true true true true +true true true true true true +true true +false true +true true true true true true +false true false true false true +true true true true true true +false true false true false true +TestFromTraits ---- +5 +0 +4 +4 +4 +4 + +Dafny program verifier did not attempt verification +true true true true true +true true true true true +IsComparisons ---- +false true false false + true false false + true false +false false true false + false true false + false false +false false false true + false false true + false true +false true false false + false true false + false false +true true +false true +TestNullIs ---- +true true +true true +true true true true true true +true true true true true true +true true true true true true +true true true true true true +true true +false true +true true true true true true +false true false true false true +true true true true true true +false true false true false true +TestFromTraits ---- +5 +0 +4 +4 +4 +4 + +Dafny program verifier did not attempt verification +true true true true true +true true true true true +IsComparisons ---- +false true false false + true false false + true false +false false true false + false true false + false false +false false false true + false false true + false true +false true false false + false true false + false false +true true +false true +TestNullIs ---- +true true +true true +true true true true true true +true true true true true true +true true true true true true +true true true true true true +true true +false true +true true true true true true +false true false true false true +true true true true true true +false true false true false true +TestFromTraits ---- +5 +0 +4 +4 +4 +4 + +Dafny program verifier did not attempt verification +true true true true true +true true true true true +IsComparisons ---- +false true false false + true false false + true false +false false true false + false true false + false false +false false false true + false false true + false true +false true false false + false true false + false false +true true +false true +TestNullIs ---- +true true +true true +true true true true true true +true true true true true true +true true true true true true +true true true true true true +true true +false true +true true true true true true +false true false true false true +true true true true true true +false true false true false true +TestFromTraits ---- +5 +0 +4 +4 +4 +4 + +Dafny program verifier did not attempt verification true true true true true true true true true true IsComparisons ---- diff --git a/Test/comp/AutoInit.dfy b/Test/comp/AutoInit.dfy index c0e752efa36..b284619a80c 100644 --- a/Test/comp/AutoInit.dfy +++ b/Test/comp/AutoInit.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // This file tests the compilation of some default values. It also includes some // regression tests for equality, printing, and tuples. diff --git a/Test/comp/AutoInit.dfy.expect b/Test/comp/AutoInit.dfy.expect index a282fc36633..c8ed022d09b 100644 --- a/Test/comp/AutoInit.dfy.expect +++ b/Test/comp/AutoInit.dfy.expect @@ -1,3 +1,163 @@ + +Dafny program verifier finished with 21 verified, 0 errors + +Dafny program verifier did not attempt verification +3 false 0 +false false true +() (0, false, false, []) +(null, 0) (null, 0) true +(null, null, null, 0) (null, null, null, 0) true +true false false true +true false false true +17 +1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or +(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) +1 +ww == null -- yes, as expected +true true true true +true true true +true true true +null null +null null +null null null +null null null +null null null +null null null +null null +null null null +null null null +DatatypeDefaultValues_Compile.EnumDatatype.MakeZero + DatatypeDefaultValues_Compile.IntList.Nil + 0 +DatatypeDefaultValues_Compile.GenericTree.Leaf + DatatypeDefaultValues_Compile.Complicated.ComplA(0, false) + DatatypeDefaultValues_Compile.CellCell.MakeCellCell(0) +null + null +ImportedTypes_mLibrary_Compile.Color.Red(0) and ImportedTypes_mLibrary_Compile.Color.Red(0) +ImportedTypes_mLibrary_Compile.CoColor.Yellow and ImportedTypes_mLibrary_Compile.CoColor.Yellow +ImportedTypes_mLibrary_Compile.MoColor.MoYellow and ImportedTypes_mLibrary_Compile.MoColor.MoYellow +0.0 and 0.0 +13 + +Dafny program verifier did not attempt verification +3 false 0 +false false true +() (0, false, false, []) +(null, 0) (null, 0) true +(null, null, null, 0) (null, null, null, 0) true +true false false true +true false false true +17 +1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or +(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) +1 +ww == null -- yes, as expected +true true true true +true true true +true true true +null null +null null +null null null +null null null +null null null +null null null +null null +null null null +null null null +DatatypeDefaultValues_Compile.EnumDatatype.MakeZero + DatatypeDefaultValues_Compile.IntList.Nil + 0 +DatatypeDefaultValues_Compile.GenericTree.Leaf + DatatypeDefaultValues_Compile.Complicated.ComplA(0, false) + DatatypeDefaultValues_Compile.CellCell.MakeCellCell(0) +null + null +ImportedTypes_mLibrary_Compile.Color.Red(0) and ImportedTypes_mLibrary_Compile.Color.Red(0) +ImportedTypes_mLibrary_Compile.CoColor.Yellow and ImportedTypes_mLibrary_Compile.CoColor.Yellow +ImportedTypes_mLibrary_Compile.MoColor.MoYellow and ImportedTypes_mLibrary_Compile.MoColor.MoYellow +0.0 and 0.0 +13 + +Dafny program verifier did not attempt verification +3 false 0 +false false true +() (0, false, false, []) +(null, 0) (null, 0) true +(null, null, null, 0) (null, null, null, 0) true +true false false true +true false false true +17 +1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or +(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) +1 +ww == null -- yes, as expected +true true true true +true true true +true true true +null null +null null +null null null +null null null +null null null +null null null +null null +null null null +null null null +DatatypeDefaultValues_Compile.EnumDatatype.MakeZero + DatatypeDefaultValues_Compile.IntList.Nil + 0 +DatatypeDefaultValues_Compile.GenericTree.Leaf + DatatypeDefaultValues_Compile.Complicated.ComplA(0, false) + DatatypeDefaultValues_Compile.CellCell.MakeCellCell(0) +null + null +ImportedTypes_mLibrary_Compile.Color.Red(0) and ImportedTypes_mLibrary_Compile.Color.Red(0) +ImportedTypes_mLibrary_Compile.CoColor.Yellow and ImportedTypes_mLibrary_Compile.CoColor.Yellow +ImportedTypes_mLibrary_Compile.MoColor.MoYellow and ImportedTypes_mLibrary_Compile.MoColor.MoYellow +0.0 and 0.0 +13 + +Dafny program verifier did not attempt verification +3 false 0 +false false true +() (0, false, false, []) +(null, 0) (null, 0) true +(null, null, null, 0) (null, null, null, 0) true +true false false true +true false false true +17 +1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or +(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) +1 +ww == null -- yes, as expected +true true true true +true true true +true true true +null null +null null +null null null +null null null +null null null +null null null +null null +null null null +null null null +DatatypeDefaultValues_Compile.EnumDatatype.MakeZero + DatatypeDefaultValues_Compile.IntList.Nil + 0 +DatatypeDefaultValues_Compile.GenericTree.Leaf + DatatypeDefaultValues_Compile.Complicated.ComplA(0, false) + DatatypeDefaultValues_Compile.CellCell.MakeCellCell(0) +null + null +ImportedTypes_mLibrary_Compile.Color.Red(0) and ImportedTypes_mLibrary_Compile.Color.Red(0) +ImportedTypes_mLibrary_Compile.CoColor.Yellow and ImportedTypes_mLibrary_Compile.CoColor.Yellow +ImportedTypes_mLibrary_Compile.MoColor.MoYellow and ImportedTypes_mLibrary_Compile.MoColor.MoYellow +0.0 and 0.0 +13 + +Dafny program verifier did not attempt verification 3 false 0 false false true () (0, false, false, []) diff --git a/Test/comp/ByMethodCompilation.dfy b/Test/comp/ByMethodCompilation.dfy index 7432f72f7d4..ea62d84b21e 100644 --- a/Test/comp/ByMethodCompilation.dfy +++ b/Test/comp/ByMethodCompilation.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var four := Four(); diff --git a/Test/comp/ByMethodCompilation.dfy.expect b/Test/comp/ByMethodCompilation.dfy.expect index d61780e3fb8..1519a955b0c 100644 --- a/Test/comp/ByMethodCompilation.dfy.expect +++ b/Test/comp/ByMethodCompilation.dfy.expect @@ -1,3 +1,35 @@ + +Dafny program verifier finished with 13 verified, 0 errors + +Dafny program verifier did not attempt verification +hello +four is 4 +Recursive(7) = 14 +NonCompilableFunction: 4 7 +Sums: 14 3 + +Dafny program verifier did not attempt verification +hello +four is 4 +Recursive(7) = 14 +NonCompilableFunction: 4 7 +Sums: 14 3 + +Dafny program verifier did not attempt verification +hello +four is 4 +Recursive(7) = 14 +NonCompilableFunction: 4 7 +Sums: 14 3 + +Dafny program verifier did not attempt verification +hello +four is 4 +Recursive(7) = 14 +NonCompilableFunction: 4 7 +Sums: 14 3 + +Dafny program verifier did not attempt verification hello four is 4 Recursive(7) = 14 diff --git a/Test/comp/Calls.dfy b/Test/comp/Calls.dfy index c56bc3e5286..4a4916aea0c 100644 --- a/Test/comp/Calls.dfy +++ b/Test/comp/Calls.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" function F(x: int, y: bool): int { x + if y then 2 else 3 diff --git a/Test/comp/Calls.dfy.expect b/Test/comp/Calls.dfy.expect index cf4e1bc155b..3317b8be164 100644 --- a/Test/comp/Calls.dfy.expect +++ b/Test/comp/Calls.dfy.expect @@ -1,3 +1,43 @@ + +Dafny program verifier finished with 6 verified, 0 errors + +Dafny program verifier did not attempt verification +5 0 0 false 0 false 0 +5 3 5 3 5 3 +5 3 5 3 5 3 +15 +[0, 1, 2, 4] +[0, 2, 4] +--> 5 <-- + +Dafny program verifier did not attempt verification +5 0 0 false 0 false 0 +5 3 5 3 5 3 +5 3 5 3 5 3 +15 +[0, 1, 2, 4] +[0, 2, 4] +--> 5 <-- + +Dafny program verifier did not attempt verification +5 0 0 false 0 false 0 +5 3 5 3 5 3 +5 3 5 3 5 3 +15 +[0, 1, 2, 4] +[0, 2, 4] +--> 5 <-- + +Dafny program verifier did not attempt verification +5 0 0 false 0 false 0 +5 3 5 3 5 3 +5 3 5 3 5 3 +15 +[0, 1, 2, 4] +[0, 2, 4] +--> 5 <-- + +Dafny program verifier did not attempt verification 5 0 0 false 0 false 0 5 3 5 3 5 3 5 3 5 3 5 3 diff --git a/Test/comp/Class.dfy b/Test/comp/Class.dfy index 23591e43450..fb994f008e7 100644 --- a/Test/comp/Class.dfy +++ b/Test/comp/Class.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" class MyClass { var a: int diff --git a/Test/comp/Class.dfy.expect b/Test/comp/Class.dfy.expect index 47e49966664..ba1482a164b 100644 --- a/Test/comp/Class.dfy.expect +++ b/Test/comp/Class.dfy.expect @@ -1,3 +1,75 @@ + +Dafny program verifier finished with 16 verified, 0 errors + +Dafny program verifier did not attempt verification +true true false +103 103 103 106 106 106 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +0 18 9 70 +0 18 9 70 +0 18 9 70 +70 +hi later +21 4 42 5 1 +TestGhostables +15 +Init called with x=15 +16 + +Dafny program verifier did not attempt verification +true true false +103 103 103 106 106 106 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +0 18 9 70 +0 18 9 70 +0 18 9 70 +70 +hi later +21 4 42 5 1 +TestGhostables +15 +Init called with x=15 +16 + +Dafny program verifier did not attempt verification +true true false +103 103 103 106 106 106 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +0 18 9 70 +0 18 9 70 +0 18 9 70 +70 +hi later +21 4 42 5 1 +TestGhostables +15 +Init called with x=15 +16 + +Dafny program verifier did not attempt verification +true true false +103 103 103 106 106 106 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +0 18 9 70 +0 18 9 70 +0 18 9 70 +70 +hi later +21 4 42 5 1 +TestGhostables +15 +Init called with x=15 +16 + +Dafny program verifier did not attempt verification true true false 103 103 103 106 106 106 203 17 0 18 8 9 69 70 diff --git a/Test/comp/Collections.dfy b/Test/comp/Collections.dfy index 9457e44b170..104eb9f90ac 100644 --- a/Test/comp/Collections.dfy +++ b/Test/comp/Collections.dfy @@ -1,5 +1,10 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { Sets(); diff --git a/Test/comp/Collections.dfy.expect b/Test/comp/Collections.dfy.expect index e705d887a7d..2361c1a88db 100644 --- a/Test/comp/Collections.dfy.expect +++ b/Test/comp/Collections.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 40 verified, 0 errors + +Dafny program verifier did not attempt verification Sets: {} {17, 82} {12, 17} cardinality: 0 2 2 union: {17, 82} {12, 17, 82} @@ -123,3 +127,511 @@ Multiset=== 1 3 |s|=2 |u|=4 1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Yellow := 21, Color.Blue := 30] +keys: {Color.Yellow, Color.Blue} +values: {21, 30} +items: {(Color.Yellow, 21), (Color.Blue, 30)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {21, 30} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/comp/Collections.dfy.go.expect b/Test/comp/Collections.dfy.go.expect deleted file mode 100644 index 309d0c550c4..00000000000 --- a/Test/comp/Collections.dfy.go.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/comp/Collections.dfy.java.expect b/Test/comp/Collections.dfy.java.expect deleted file mode 100644 index ed929a4d34c..00000000000 --- a/Test/comp/Collections.dfy.java.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Yellow := 21, Color.Blue := 30] -keys: {Color.Yellow, Color.Blue} -values: {21, 30} -items: {(Color.Yellow, 21), (Color.Blue, 30)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/comp/Collections.dfy.js.expect b/Test/comp/Collections.dfy.js.expect deleted file mode 100644 index 309d0c550c4..00000000000 --- a/Test/comp/Collections.dfy.js.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/comp/Collections.dfy.py.expect b/Test/comp/Collections.dfy.py.expect deleted file mode 100644 index 61b4217bbaf..00000000000 --- a/Test/comp/Collections.dfy.py.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {21, 30} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/comp/Comprehensions.dfy b/Test/comp/Comprehensions.dfy index 73c43b22bfa..29ac368f2c3 100644 --- a/Test/comp/Comprehensions.dfy +++ b/Test/comp/Comprehensions.dfy @@ -1,5 +1,10 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { AssignSuchThat(); diff --git a/Test/comp/Comprehensions.dfy.expect b/Test/comp/Comprehensions.dfy.expect index c9703fc9397..18159ddde0a 100644 --- a/Test/comp/Comprehensions.dfy.expect +++ b/Test/comp/Comprehensions.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 32 verified, 0 errors + +Dafny program verifier did not attempt verification x=13 y=14 x=13 y=14 b=yes true false @@ -60,3 +64,259 @@ true true [137438953474, 137438953475, 137438953476, 137438953477, 137438953479] cdefh cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[14 := 7, 12 := 6, 13 := 6] +map[18 := 14, 17 := 13, 16 := 12] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh diff --git a/Test/comp/Comprehensions.dfy.py.expect b/Test/comp/Comprehensions.dfy.py.expect deleted file mode 100644 index aeaa31fc0f3..00000000000 --- a/Test/comp/Comprehensions.dfy.py.expect +++ /dev/null @@ -1,62 +0,0 @@ -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[14 := 7, 12 := 6, 13 := 6] -map[18 := 14, 17 := 13, 16 := 12] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh diff --git a/Test/comp/ComprehensionsNewSyntax.dfy b/Test/comp/ComprehensionsNewSyntax.dfy index 6cd88aeb4f7..a324b622e8a 100644 --- a/Test/comp/ComprehensionsNewSyntax.dfy +++ b/Test/comp/ComprehensionsNewSyntax.dfy @@ -1,5 +1,10 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { Quantifier(); diff --git a/Test/comp/ComprehensionsNewSyntax.dfy.expect b/Test/comp/ComprehensionsNewSyntax.dfy.expect index b70314ff87b..408769f4b67 100644 --- a/Test/comp/ComprehensionsNewSyntax.dfy.expect +++ b/Test/comp/ComprehensionsNewSyntax.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 10 verified, 0 errors + +Dafny program verifier did not attempt verification true false true false map[12 := 6, 13 := 6, 14 := 7] @@ -32,3 +36,147 @@ false false false false true true true true false false false false true true true true + +Dafny program verifier did not attempt verification +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true + +Dafny program verifier did not attempt verification +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true + +Dafny program verifier did not attempt verification +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true + +Dafny program verifier did not attempt verification +true false +true false +map[14 := 7, 12 := 6, 13 := 6] +map[18 := 14, 17 := 13, 16 := 12] +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true diff --git a/Test/comp/ComprehensionsNewSyntax.dfy.py.expect b/Test/comp/ComprehensionsNewSyntax.dfy.py.expect deleted file mode 100644 index b19cef0ba0e..00000000000 --- a/Test/comp/ComprehensionsNewSyntax.dfy.py.expect +++ /dev/null @@ -1,34 +0,0 @@ -true false -true false -map[14 := 7, 12 := 6, 13 := 6] -map[18 := 14, 17 := 13, 16 := 12] -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true diff --git a/Test/comp/CovariantCollections.dfy b/Test/comp/CovariantCollections.dfy index 6dd73ee7fea..12301df3b09 100644 --- a/Test/comp/CovariantCollections.dfy +++ b/Test/comp/CovariantCollections.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { Sequences(); diff --git a/Test/comp/CovariantCollections.dfy.expect b/Test/comp/CovariantCollections.dfy.expect index a9d00f4a65d..e029d3abc3b 100644 --- a/Test/comp/CovariantCollections.dfy.expect +++ b/Test/comp/CovariantCollections.dfy.expect @@ -1,3 +1,223 @@ + +Dafny program verifier finished with 25 verified, 0 errors + +Dafny program verifier did not attempt verification +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17] [12, 17] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + comprehension: {82} + union: {17, 82} {12, 17, 82} + intersection: {} {17} + difference: {} {82} + subset: true false true + proper subset: true false false + membership: false true true +Multisets: {} {17, 17, 82, 82} {12, 17} + cardinality: 0 4 2 + update: {17, 17, 42, 42, 42} {12, 17, 42} + multiplicity: 2 0 20 + union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} + intersection: {} {17, 82, 82} + difference: {} {17, 82, 82} + subset: true false true + proper subset: true false false + membership: false true true +Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} + cardinality: 0 3 2 + update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} + comprehension: {17 := 12, 82 := 12} + Keys: {12, 17, 82} + Values: {17, 82} + eq: false true true + eq: true true true true true true + eq: true true true true true true + eq: true false true false true false + eq: true false true false true false + eq: true true true true true true + eq: true true true true true true +set: {20, 30} +multiset: {20, 30} +seq: [20, 30] +map: {20 := 30, 30 := 20} +true +true +1 1 +1 1 + +Dafny program verifier did not attempt verification +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17] [12, 17] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + comprehension: {82} + union: {17, 82} {12, 17, 82} + intersection: {} {17} + difference: {} {82} + subset: true false true + proper subset: true false false + membership: false true true +Multisets: {} {17, 17, 82, 82} {12, 17} + cardinality: 0 4 2 + update: {17, 17, 42, 42, 42} {12, 17, 42} + multiplicity: 2 0 20 + union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} + intersection: {} {17, 82, 82} + difference: {} {17, 82, 82} + subset: true false true + proper subset: true false false + membership: false true true +Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} + cardinality: 0 3 2 + update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} + comprehension: {17 := 12, 82 := 12} + Keys: {12, 17, 82} + Values: {17, 82} + eq: false true true + eq: true true true true true true + eq: true true true true true true + eq: true false true false true false + eq: true false true false true false + eq: true true true true true true + eq: true true true true true true +set: {20, 30} +multiset: {20, 30} +seq: [20, 30] +map: {20 := 30, 30 := 20} +true +true +1 1 +1 1 + +Dafny program verifier did not attempt verification +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17] [12, 17] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + comprehension: {82} + union: {17, 82} {12, 17, 82} + intersection: {} {17} + difference: {} {82} + subset: true false true + proper subset: true false false + membership: false true true +Multisets: {} {17, 17, 82, 82} {12, 17} + cardinality: 0 4 2 + update: {17, 17, 42, 42, 42} {12, 17, 42} + multiplicity: 2 0 20 + union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} + intersection: {} {17, 82, 82} + difference: {} {17, 82, 82} + subset: true false true + proper subset: true false false + membership: false true true +Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} + cardinality: 0 3 2 + update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} + comprehension: {17 := 12, 82 := 12} + Keys: {12, 17, 82} + Values: {17, 82} + eq: false true true + eq: true true true true true true + eq: true true true true true true + eq: true false true false true false + eq: true false true false true false + eq: true true true true true true + eq: true true true true true true +set: {20, 30} +multiset: {20, 30} +seq: [20, 30] +map: {20 := 30, 30 := 20} +true +true +1 1 +1 1 + +Dafny program verifier did not attempt verification +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17] [12, 17] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + comprehension: {82} + union: {17, 82} {12, 17, 82} + intersection: {} {17} + difference: {} {82} + subset: true false true + proper subset: true false false + membership: false true true +Multisets: {} {17, 17, 82, 82} {12, 17} + cardinality: 0 4 2 + update: {17, 17, 42, 42, 42} {12, 17, 42} + multiplicity: 2 0 20 + union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} + intersection: {} {17, 82, 82} + difference: {} {17, 82, 82} + subset: true false true + proper subset: true false false + membership: false true true +Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} + cardinality: 0 3 2 + update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} + comprehension: {17 := 12, 82 := 12} + Keys: {12, 17, 82} + Values: {17, 82} + eq: false true true + eq: true true true true true true + eq: true true true true true true + eq: true false true false true false + eq: true false true false true false + eq: true true true true true true + eq: true true true true true true +set: {20, 30} +multiset: {20, 30} +seq: [20, 30] +map: {20 := 30, 30 := 20} +true +true +1 1 +1 1 + +Dafny program verifier did not attempt verification Sequences: [] [17, 82, 17, 82] [12, 17] cardinality: 0 4 2 update: [42, 82, 17, 82] [42, 17] diff --git a/Test/comp/Datatype.dfy b/Test/comp/Datatype.dfy index 3b3f0641c1a..0f4bab7c469 100644 --- a/Test/comp/Datatype.dfy +++ b/Test/comp/Datatype.dfy @@ -1,5 +1,10 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype List = Nil | Cons(head: int, tail: List) diff --git a/Test/comp/Datatype.dfy.expect b/Test/comp/Datatype.dfy.expect index 93e37a9562a..84dceeb16e6 100644 --- a/Test/comp/Datatype.dfy.expect +++ b/Test/comp/Datatype.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 12 verified, 0 errors + +Dafny program verifier did not attempt verification List.Nil List.Cons(5, List.Nil) (List.Nil, List.Cons(5, List.Nil)) @@ -20,3 +24,99 @@ Record.Record(58, true) 199 800 801 802 800 801 802 + +Dafny program verifier did not attempt verification +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) +0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) +Stream.Next +Stream.Next +{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} +CoBerry.Hjortron true true false +false +42 'q' hello +1701 +Record.Record(58, true) +199 +800 801 802 +800 801 802 + +Dafny program verifier did not attempt verification +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) +0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) +Stream.Next +Stream.Next +{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} +CoBerry.Hjortron true true false +false +42 'q' hello +1701 +Record.Record(58, true) +199 +800 801 802 +800 801 802 + +Dafny program verifier did not attempt verification +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) +0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) +Stream.Next +Stream.Next +{Berry.Jordgubb, Berry.Smultron, Berry.Hallon} +CoBerry.Hjortron true true false +false +42 'q' hello +1701 +Record.Record(58, true) +199 +800 801 802 +800 801 802 + +Dafny program verifier did not attempt verification +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) +0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) +Stream.Next +Stream.Next +{Berry.Hallon, Berry.Smultron, Berry.Jordgubb} +CoBerry.Hjortron true true false +false +42 'q' hello +1701 +Record.Record(58, true) +199 +800 801 802 +800 801 802 diff --git a/Test/comp/Datatype.dfy.java.expect b/Test/comp/Datatype.dfy.java.expect deleted file mode 100644 index e5a32fd58bc..00000000000 --- a/Test/comp/Datatype.dfy.java.expect +++ /dev/null @@ -1,22 +0,0 @@ -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) -0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) -Stream.Next -Stream.Next -{Berry.Jordgubb, Berry.Smultron, Berry.Hallon} -CoBerry.Hjortron true true false -false -42 'q' hello -1701 -Record.Record(58, true) -199 -800 801 802 -800 801 802 diff --git a/Test/comp/Datatype.dfy.py.expect b/Test/comp/Datatype.dfy.py.expect deleted file mode 100644 index 0f64b73ba2d..00000000000 --- a/Test/comp/Datatype.dfy.py.expect +++ /dev/null @@ -1,22 +0,0 @@ -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) -0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) -Stream.Next -Stream.Next -{Berry.Hallon, Berry.Smultron, Berry.Jordgubb} -CoBerry.Hjortron true true false -false -42 'q' hello -1701 -Record.Record(58, true) -199 -800 801 802 -800 801 802 diff --git a/Test/comp/DefaultParameters-Compile.dfy b/Test/comp/DefaultParameters-Compile.dfy index cd6ba1163b1..145b8670647 100644 --- a/Test/comp/DefaultParameters-Compile.dfy +++ b/Test/comp/DefaultParameters-Compile.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method M(x: int := 16) { print x, "\n"; diff --git a/Test/comp/DefaultParameters-Compile.dfy.expect b/Test/comp/DefaultParameters-Compile.dfy.expect index b4b87321eb5..b94739d5be1 100644 --- a/Test/comp/DefaultParameters-Compile.dfy.expect +++ b/Test/comp/DefaultParameters-Compile.dfy.expect @@ -1,3 +1,51 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification +12 +16 +1 2 +1 3 +10 20 +11 13 +Color.Blue(2, 1) Color.Red(3, 4) +5 5 6 +6 6 7 + +Dafny program verifier did not attempt verification +12 +16 +1 2 +1 3 +10 20 +11 13 +Color.Blue(2, 1) Color.Red(3, 4) +5 5 6 +6 6 7 + +Dafny program verifier did not attempt verification +12 +16 +1 2 +1 3 +10 20 +11 13 +Color.Blue(2, 1) Color.Red(3, 4) +5 5 6 +6 6 7 + +Dafny program verifier did not attempt verification +12 +16 +1 2 +1 3 +10 20 +11 13 +Color.Blue(2, 1) Color.Red(3, 4) +5 5 6 +6 6 7 + +Dafny program verifier did not attempt verification 12 16 1 2 diff --git a/Test/comp/DowncastClone.dfy b/Test/comp/DowncastClone.dfy index cb1f095b3f4..b90066da781 100644 --- a/Test/comp/DowncastClone.dfy +++ b/Test/comp/DowncastClone.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Co<+T> = Co(T) | C datatype ReCo<+T> = ReCo(T) diff --git a/Test/comp/DowncastClone.dfy.expect b/Test/comp/DowncastClone.dfy.expect index b0613294f3c..982b36b396c 100644 --- a/Test/comp/DowncastClone.dfy.expect +++ b/Test/comp/DowncastClone.dfy.expect @@ -1,3 +1,43 @@ + +Dafny program verifier finished with 7 verified, 0 errors + +Dafny program verifier did not attempt verification +Co.Co(_module.Y) and Co.Co(_module.Y) +_module.Y and _module.Y +_module.Y _module.Y +false and false +false and false +_module.Y and _module.Y +Done + +Dafny program verifier did not attempt verification +Co.Co(_module.Y) and Co.Co(_module.Y) +_module.Y and _module.Y +_module.Y _module.Y +false and false +false and false +_module.Y and _module.Y +Done + +Dafny program verifier did not attempt verification +Co.Co(_module.Y) and Co.Co(_module.Y) +_module.Y and _module.Y +_module.Y _module.Y +false and false +false and false +_module.Y and _module.Y +Done + +Dafny program verifier did not attempt verification +Co.Co(_module.Y) and Co.Co(_module.Y) +_module.Y and _module.Y +_module.Y _module.Y +false and false +false and false +_module.Y and _module.Y +Done + +Dafny program verifier did not attempt verification Co.Co(_module.Y) and Co.Co(_module.Y) _module.Y and _module.Y _module.Y _module.Y diff --git a/Test/comp/ErasableTypeWrappers.dfy b/Test/comp/ErasableTypeWrappers.dfy index a280099699f..d62d3736622 100644 --- a/Test/comp/ErasableTypeWrappers.dfy +++ b/Test/comp/ErasableTypeWrappers.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype SingletonRecord = SingletonRecord(u: int) datatype GhostOrNot = ghost Ghost(a: int, b: int) | Compiled(x: int) diff --git a/Test/comp/ErasableTypeWrappers.dfy.expect b/Test/comp/ErasableTypeWrappers.dfy.expect index 7dd41a194ac..602e30d2075 100644 --- a/Test/comp/ErasableTypeWrappers.dfy.expect +++ b/Test/comp/ErasableTypeWrappers.dfy.expect @@ -1,3 +1,87 @@ + +Dafny program verifier finished with 10 verified, 0 errors + +Dafny program verifier did not attempt verification +62 63 (2, 5) (2, 5) 3 +62 63 5 5 3 +5 5 3 +1062 1063 1005 1005 1003 +true true true +20 20 *20 21 20 +20 20 *20 21 20 +true false +true false true false +true false +0 (0, 0) 0 Color.Pink +13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false + 3.14 2.7 +18.0 18.0 3.0 false +18.0 4.0 true +HasConst.MakeC(4) (4, 4) +4 (4, 4) +OptimizationChecks_Compile.Ints.Ints(5, 7) OptimizationChecks_Compile.Ints.Ints(5, 7) OptimizationChecks_Compile.Ints.AnotherIntsWrapper(OptimizationChecks_Compile.Ints.Ints(5, 7)) + +Dafny program verifier did not attempt verification +62 63 (2, 5) (2, 5) 3 +62 63 5 5 3 +5 5 3 +1062 1063 1005 1005 1003 +true true true +20 20 *20 21 20 +20 20 *20 21 20 +true false +true false true false +true false +0 (0, 0) 0 Color.Pink +13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false + 3.14 2.7 +18.0 18.0 3.0 false +18.0 4.0 true +HasConst.MakeC(4) (4, 4) +4 (4, 4) +OptimizationChecks_Compile.Ints.Ints(5, 7) OptimizationChecks_Compile.Ints.Ints(5, 7) OptimizationChecks_Compile.Ints.AnotherIntsWrapper(OptimizationChecks_Compile.Ints.Ints(5, 7)) + +Dafny program verifier did not attempt verification +62 63 (2, 5) (2, 5) 3 +62 63 5 5 3 +5 5 3 +1062 1063 1005 1005 1003 +true true true +20 20 *20 21 20 +20 20 *20 21 20 +true false +true false true false +true false +0 (0, 0) 0 Color.Pink +13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false + 3.14 2.7 +18.0 18.0 3.0 false +18.0 4.0 true +HasConst.MakeC(4) (4, 4) +4 (4, 4) +OptimizationChecks_Compile.Ints.Ints(5, 7) OptimizationChecks_Compile.Ints.Ints(5, 7) OptimizationChecks_Compile.Ints.AnotherIntsWrapper(OptimizationChecks_Compile.Ints.Ints(5, 7)) + +Dafny program verifier did not attempt verification +62 63 (2, 5) (2, 5) 3 +62 63 5 5 3 +5 5 3 +1062 1063 1005 1005 1003 +true true true +20 20 *20 21 20 +20 20 *20 21 20 +true false +true false true false +true false +0 (0, 0) 0 Color.Pink +13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false + 3.14 2.7 +18.0 18.0 3.0 false +18.0 4.0 true +HasConst.MakeC(4) (4, 4) +4 (4, 4) +OptimizationChecks_Compile.Ints.Ints(5, 7) OptimizationChecks_Compile.Ints.Ints(5, 7) OptimizationChecks_Compile.Ints.AnotherIntsWrapper(OptimizationChecks_Compile.Ints.Ints(5, 7)) + +Dafny program verifier did not attempt verification 62 63 (2, 5) (2, 5) 3 62 63 5 5 3 5 5 3 diff --git a/Test/comp/EuclideanDivision.dfy b/Test/comp/EuclideanDivision.dfy index 1286dcd125b..7ae1803cad8 100644 --- a/Test/comp/EuclideanDivision.dfy +++ b/Test/comp/EuclideanDivision.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // Some runtimes (like the one for C#) have three implementations // of Euclidean div/mod: one for `int`, one for `long`, and one diff --git a/Test/comp/EuclideanDivision.dfy.expect b/Test/comp/EuclideanDivision.dfy.expect index e2585ff8c70..b538c9494de 100644 --- a/Test/comp/EuclideanDivision.dfy.expect +++ b/Test/comp/EuclideanDivision.dfy.expect @@ -1,3 +1,39 @@ + +Dafny program verifier finished with 11 verified, 0 errors + +Dafny program verifier did not attempt verification +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 + +Dafny program verifier did not attempt verification +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 + +Dafny program verifier did not attempt verification +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 + +Dafny program verifier did not attempt verification +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 + +Dafny program verifier did not attempt verification 2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 diff --git a/Test/comp/ForLoops-Compilation.dfy b/Test/comp/ForLoops-Compilation.dfy index b468d21f69f..97101b82961 100644 --- a/Test/comp/ForLoops-Compilation.dfy +++ b/Test/comp/ForLoops-Compilation.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { TestM(0, 0); diff --git a/Test/comp/ForLoops-Compilation.dfy.expect b/Test/comp/ForLoops-Compilation.dfy.expect index 97724a714bc..d67a5429fed 100644 --- a/Test/comp/ForLoops-Compilation.dfy.expect +++ b/Test/comp/ForLoops-Compilation.dfy.expect @@ -1,3 +1,203 @@ + +Dafny program verifier finished with 23 verified, 0 errors + +Dafny program verifier did not attempt verification +0 0 0 0 +-2 -2 -2 -2 +0 0 0 0 +145 145 145 145 +0 0 +0 0 +57 57 +0 0 +32385 32385 +0 0 +-128 -128 +126 126 +0 0 +0 * 2 == 0 +2 * 0 == 0 +1 * 1 == 1 +6 * 5 == 30 +0 + 3 == 3 +3 + 0 == 3 +4 + 0 == 4 +0 + 0 == 0 +19 + 14 == 33 +4 4 4 +== BC10 == +0 --++--++---- *** +1 --++--++----++-- +2 --++--++----++--++--++--++--++--++--++ *** +3 --++--++----++--++--++--++--++--++--++ *** +4 --++--++----++--++--++--++--++--++--++ *** +5 --++--++----++--++--++--++--++--++--++ *** +6 --++--++----++--++--++--++--++--++--++ *** +7 --++--++----++--++--++--++--++--++--++ *** +8 --++--++----++--++--++--++--++--++--++ *** +9 --++--++----++--++--++--++--++--++--++ *** +== BC11 == +0 ||--++----++-- *** +1 ||--++----++--++-- +2 ||--++----++--++--++--++--++--++--++--++ *** +3 ||--++----++--++--++--++--++--++--++--++ *** +4 ||--++----++--++--++--++--++--++--++--++ *** +5 ||--++----++--++--++--++--++--++--++--++ *** +6 ||--++----++--++--++--++--++--++--++--++ *** +7 ||--++----++--++--++--++--++--++--++--++ *** +8 ||--++----++--++--++--++--++--++--++--++ *** +9 ||--++----++--++--++--++--++--++--++--++ *** +true true true 15 +all good + +Dafny program verifier did not attempt verification +0 0 0 0 +-2 -2 -2 -2 +0 0 0 0 +145 145 145 145 +0 0 +0 0 +57 57 +0 0 +32385 32385 +0 0 +-128 -128 +126 126 +0 0 +0 * 2 == 0 +2 * 0 == 0 +1 * 1 == 1 +6 * 5 == 30 +0 + 3 == 3 +3 + 0 == 3 +4 + 0 == 4 +0 + 0 == 0 +19 + 14 == 33 +4 4 4 +== BC10 == +0 --++--++---- *** +1 --++--++----++-- +2 --++--++----++--++--++--++--++--++--++ *** +3 --++--++----++--++--++--++--++--++--++ *** +4 --++--++----++--++--++--++--++--++--++ *** +5 --++--++----++--++--++--++--++--++--++ *** +6 --++--++----++--++--++--++--++--++--++ *** +7 --++--++----++--++--++--++--++--++--++ *** +8 --++--++----++--++--++--++--++--++--++ *** +9 --++--++----++--++--++--++--++--++--++ *** +== BC11 == +0 ||--++----++-- *** +1 ||--++----++--++-- +2 ||--++----++--++--++--++--++--++--++--++ *** +3 ||--++----++--++--++--++--++--++--++--++ *** +4 ||--++----++--++--++--++--++--++--++--++ *** +5 ||--++----++--++--++--++--++--++--++--++ *** +6 ||--++----++--++--++--++--++--++--++--++ *** +7 ||--++----++--++--++--++--++--++--++--++ *** +8 ||--++----++--++--++--++--++--++--++--++ *** +9 ||--++----++--++--++--++--++--++--++--++ *** +true true true 15 +all good + +Dafny program verifier did not attempt verification +0 0 0 0 +-2 -2 -2 -2 +0 0 0 0 +145 145 145 145 +0 0 +0 0 +57 57 +0 0 +32385 32385 +0 0 +-128 -128 +126 126 +0 0 +0 * 2 == 0 +2 * 0 == 0 +1 * 1 == 1 +6 * 5 == 30 +0 + 3 == 3 +3 + 0 == 3 +4 + 0 == 4 +0 + 0 == 0 +19 + 14 == 33 +4 4 4 +== BC10 == +0 --++--++---- *** +1 --++--++----++-- +2 --++--++----++--++--++--++--++--++--++ *** +3 --++--++----++--++--++--++--++--++--++ *** +4 --++--++----++--++--++--++--++--++--++ *** +5 --++--++----++--++--++--++--++--++--++ *** +6 --++--++----++--++--++--++--++--++--++ *** +7 --++--++----++--++--++--++--++--++--++ *** +8 --++--++----++--++--++--++--++--++--++ *** +9 --++--++----++--++--++--++--++--++--++ *** +== BC11 == +0 ||--++----++-- *** +1 ||--++----++--++-- +2 ||--++----++--++--++--++--++--++--++--++ *** +3 ||--++----++--++--++--++--++--++--++--++ *** +4 ||--++----++--++--++--++--++--++--++--++ *** +5 ||--++----++--++--++--++--++--++--++--++ *** +6 ||--++----++--++--++--++--++--++--++--++ *** +7 ||--++----++--++--++--++--++--++--++--++ *** +8 ||--++----++--++--++--++--++--++--++--++ *** +9 ||--++----++--++--++--++--++--++--++--++ *** +true true true 15 +all good + +Dafny program verifier did not attempt verification +0 0 0 0 +-2 -2 -2 -2 +0 0 0 0 +145 145 145 145 +0 0 +0 0 +57 57 +0 0 +32385 32385 +0 0 +-128 -128 +126 126 +0 0 +0 * 2 == 0 +2 * 0 == 0 +1 * 1 == 1 +6 * 5 == 30 +0 + 3 == 3 +3 + 0 == 3 +4 + 0 == 4 +0 + 0 == 0 +19 + 14 == 33 +4 4 4 +== BC10 == +0 --++--++---- *** +1 --++--++----++-- +2 --++--++----++--++--++--++--++--++--++ *** +3 --++--++----++--++--++--++--++--++--++ *** +4 --++--++----++--++--++--++--++--++--++ *** +5 --++--++----++--++--++--++--++--++--++ *** +6 --++--++----++--++--++--++--++--++--++ *** +7 --++--++----++--++--++--++--++--++--++ *** +8 --++--++----++--++--++--++--++--++--++ *** +9 --++--++----++--++--++--++--++--++--++ *** +== BC11 == +0 ||--++----++-- *** +1 ||--++----++--++-- +2 ||--++----++--++--++--++--++--++--++--++ *** +3 ||--++----++--++--++--++--++--++--++--++ *** +4 ||--++----++--++--++--++--++--++--++--++ *** +5 ||--++----++--++--++--++--++--++--++--++ *** +6 ||--++----++--++--++--++--++--++--++--++ *** +7 ||--++----++--++--++--++--++--++--++--++ *** +8 ||--++----++--++--++--++--++--++--++--++ *** +9 ||--++----++--++--++--++--++--++--++--++ *** +true true true 15 +all good + +Dafny program verifier did not attempt verification 0 0 0 0 -2 -2 -2 -2 0 0 0 0 diff --git a/Test/comp/ForallNewSyntax.dfy b/Test/comp/ForallNewSyntax.dfy index 85e609b37b3..c17bf86830e 100644 --- a/Test/comp/ForallNewSyntax.dfy +++ b/Test/comp/ForallNewSyntax.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --function-syntax:3 --quantifier-syntax:4 --relax-definite-assignment +// RUN: %baredafny verify %args --relax-definite-assignment --function-syntax:3 --quantifier-syntax:4 "%s" > "%t" +// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:cs "%s" >> "%t" +// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:js "%s" >> "%t" +// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:go "%s" >> "%t" +// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:java "%s" >> "%t" +// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var arrayTests := new ArrayTests(); diff --git a/Test/comp/ForallNewSyntax.dfy.expect b/Test/comp/ForallNewSyntax.dfy.expect index 5b33d939607..241ea9ea521 100644 --- a/Test/comp/ForallNewSyntax.dfy.expect +++ b/Test/comp/ForallNewSyntax.dfy.expect @@ -1,3 +1,183 @@ + +Dafny program verifier finished with 25 verified, 0 errors + +Dafny program verifier did not attempt verification +Arrays: Basic cases +[0, 1, 2, 3, 4] +[0, 1, 2, 3, 4] +[0, 1, 4, 3, 8] + +Arrays: Wrong index +[0, 0, 1, 2, 3] +[0, 0, 1, 2, 3] +[1, 2, 3, 4, 5] + +Arrays: Sequence conversion +[2, 1, 4, 5, 6] +[0, 3, 3, 3, 4] + +Arrays: Index collection +[1, 1, 2, 3, 4] +[1, 1, 2, 3, 4] + +Arrays: Functions +[1, 1, 3, 4, 5] +[1, 1, 3, 4, 5] +[1, 2, 3, 3, 5] +[1, 2, 3, 4, 5] + +Multi-dimensional arrays +[[0, 2, 4], [1, 3, 5], [2, 4, 6]] +[[0, 1, 2], [2, 3, 4], [4, 5, 6]] + +Objects: Basic cases +[(0, 1.0), (0, 2.0), (0, 3.0)] +[(2, 1.0), (2, 2.0), (4, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] + +Objects: Bad field accesses +[(2, 1.0), (3, 2.0), (4, 3.0)] +[(2, 1.0), (2, 2.0), (2, 3.0)] +[(2, 1.0), (3, 2.0), (1, 3.0)] + +Objects: Functions +[(2, 1.0), (4, 2.0), (6, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] +[(3, 1.0), (4, 2.0), (5, 3.0)] + +Dafny program verifier did not attempt verification +Arrays: Basic cases +[0, 1, 2, 3, 4] +[0, 1, 2, 3, 4] +[0, 1, 4, 3, 8] + +Arrays: Wrong index +[0, 0, 1, 2, 3] +[0, 0, 1, 2, 3] +[1, 2, 3, 4, 5] + +Arrays: Sequence conversion +[2, 1, 4, 5, 6] +[0, 3, 3, 3, 4] + +Arrays: Index collection +[1, 1, 2, 3, 4] +[1, 1, 2, 3, 4] + +Arrays: Functions +[1, 1, 3, 4, 5] +[1, 1, 3, 4, 5] +[1, 2, 3, 3, 5] +[1, 2, 3, 4, 5] + +Multi-dimensional arrays +[[0, 2, 4], [1, 3, 5], [2, 4, 6]] +[[0, 1, 2], [2, 3, 4], [4, 5, 6]] + +Objects: Basic cases +[(0, 1.0), (0, 2.0), (0, 3.0)] +[(2, 1.0), (2, 2.0), (4, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] + +Objects: Bad field accesses +[(2, 1.0), (3, 2.0), (4, 3.0)] +[(2, 1.0), (2, 2.0), (2, 3.0)] +[(2, 1.0), (3, 2.0), (1, 3.0)] + +Objects: Functions +[(2, 1.0), (4, 2.0), (6, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] +[(3, 1.0), (4, 2.0), (5, 3.0)] + +Dafny program verifier did not attempt verification +Arrays: Basic cases +[0, 1, 2, 3, 4] +[0, 1, 2, 3, 4] +[0, 1, 4, 3, 8] + +Arrays: Wrong index +[0, 0, 1, 2, 3] +[0, 0, 1, 2, 3] +[1, 2, 3, 4, 5] + +Arrays: Sequence conversion +[2, 1, 4, 5, 6] +[0, 3, 3, 3, 4] + +Arrays: Index collection +[1, 1, 2, 3, 4] +[1, 1, 2, 3, 4] + +Arrays: Functions +[1, 1, 3, 4, 5] +[1, 1, 3, 4, 5] +[1, 2, 3, 3, 5] +[1, 2, 3, 4, 5] + +Multi-dimensional arrays +[[0, 2, 4], [1, 3, 5], [2, 4, 6]] +[[0, 1, 2], [2, 3, 4], [4, 5, 6]] + +Objects: Basic cases +[(0, 1.0), (0, 2.0), (0, 3.0)] +[(2, 1.0), (2, 2.0), (4, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] + +Objects: Bad field accesses +[(2, 1.0), (3, 2.0), (4, 3.0)] +[(2, 1.0), (2, 2.0), (2, 3.0)] +[(2, 1.0), (3, 2.0), (1, 3.0)] + +Objects: Functions +[(2, 1.0), (4, 2.0), (6, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] +[(3, 1.0), (4, 2.0), (5, 3.0)] + +Dafny program verifier did not attempt verification +Arrays: Basic cases +[0, 1, 2, 3, 4] +[0, 1, 2, 3, 4] +[0, 1, 4, 3, 8] + +Arrays: Wrong index +[0, 0, 1, 2, 3] +[0, 0, 1, 2, 3] +[1, 2, 3, 4, 5] + +Arrays: Sequence conversion +[2, 1, 4, 5, 6] +[0, 3, 3, 3, 4] + +Arrays: Index collection +[1, 1, 2, 3, 4] +[1, 1, 2, 3, 4] + +Arrays: Functions +[1, 1, 3, 4, 5] +[1, 1, 3, 4, 5] +[1, 2, 3, 3, 5] +[1, 2, 3, 4, 5] + +Multi-dimensional arrays +[[0, 2, 4], [1, 3, 5], [2, 4, 6]] +[[0, 1, 2], [2, 3, 4], [4, 5, 6]] + +Objects: Basic cases +[(0, 1.0), (0, 2.0), (0, 3.0)] +[(2, 1.0), (2, 2.0), (4, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] + +Objects: Bad field accesses +[(2, 1.0), (3, 2.0), (4, 3.0)] +[(2, 1.0), (2, 2.0), (2, 3.0)] +[(2, 1.0), (3, 2.0), (1, 3.0)] + +Objects: Functions +[(2, 1.0), (4, 2.0), (6, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] +[(3, 1.0), (4, 2.0), (5, 3.0)] + +Dafny program verifier did not attempt verification Arrays: Basic cases [0, 1, 2, 3, 4] [0, 1, 2, 3, 4] diff --git a/Test/comp/Ghosts.dfy b/Test/comp/Ghosts.dfy index 8afe8a36d3f..506fe0facb1 100644 --- a/Test/comp/Ghosts.dfy +++ b/Test/comp/Ghosts.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method M1() returns (x: int) { diff --git a/Test/comp/Ghosts.dfy.expect b/Test/comp/Ghosts.dfy.expect index d075ea048c1..430a9c18fc0 100644 --- a/Test/comp/Ghosts.dfy.expect +++ b/Test/comp/Ghosts.dfy.expect @@ -1,3 +1,55 @@ + +Dafny program verifier finished with 8 verified, 0 errors + +Dafny program verifier did not attempt verification +hello, M2 +hello, M2 +hello, M3 +hello, M1 +hello, M1 +hello, M1 +hello, M2 +hello, M3 +hello, N0 +hello, N1 + +Dafny program verifier did not attempt verification +hello, M2 +hello, M2 +hello, M3 +hello, M1 +hello, M1 +hello, M1 +hello, M2 +hello, M3 +hello, N0 +hello, N1 + +Dafny program verifier did not attempt verification +hello, M2 +hello, M2 +hello, M3 +hello, M1 +hello, M1 +hello, M1 +hello, M2 +hello, M3 +hello, N0 +hello, N1 + +Dafny program verifier did not attempt verification +hello, M2 +hello, M2 +hello, M3 +hello, M1 +hello, M1 +hello, M1 +hello, M2 +hello, M3 +hello, N0 +hello, N1 + +Dafny program verifier did not attempt verification hello, M2 hello, M2 hello, M3 diff --git a/Test/comp/Let.dfy b/Test/comp/Let.dfy index 2a639009c78..64dce8b90e6 100644 --- a/Test/comp/Let.dfy +++ b/Test/comp/Let.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cs "%s" > "%t" +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method M() returns (x: int) { x := var y := 50; y; // non-top-level let diff --git a/Test/comp/Let.dfy.expect b/Test/comp/Let.dfy.expect index f05dfc414c1..667abc32458 100644 --- a/Test/comp/Let.dfy.expect +++ b/Test/comp/Let.dfy.expect @@ -1,3 +1,37 @@ + +Dafny program verifier finished with 5 verified, 0 errors +50 58 +Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) +5 7 9 10 12 30 +5 7 +5 7 +12.0 15.0 15.0 15.0 + +Dafny program verifier finished with 5 verified, 0 errors +50 58 +Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) +5 7 9 10 12 30 +5 7 +5 7 +12.0 15.0 15.0 15.0 + +Dafny program verifier finished with 5 verified, 0 errors +50 58 +Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) +5 7 9 10 12 30 +5 7 +5 7 +12.0 15.0 15.0 15.0 + +Dafny program verifier finished with 5 verified, 0 errors +50 58 +Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) +5 7 9 10 12 30 +5 7 +5 7 +12.0 15.0 15.0 15.0 + +Dafny program verifier finished with 5 verified, 0 errors 50 58 Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) 5 7 9 10 12 30 diff --git a/Test/comp/MoreAutoInit.dfy b/Test/comp/MoreAutoInit.dfy index c72083f1be5..46bdf7148f1 100644 --- a/Test/comp/MoreAutoInit.dfy +++ b/Test/comp/MoreAutoInit.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { Methods.TestStart(); diff --git a/Test/comp/MoreAutoInit.dfy.expect b/Test/comp/MoreAutoInit.dfy.expect index a3a230fd0f1..cc1ae3b994a 100644 --- a/Test/comp/MoreAutoInit.dfy.expect +++ b/Test/comp/MoreAutoInit.dfy.expect @@ -1,3 +1,575 @@ + +Dafny program verifier finished with 38 verified, 0 errors + +Dafny program verifier did not attempt verification +Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +{} + ++ {} +[] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +{2} + ++ {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni + ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni +Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni + ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni +Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni +Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni + ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni + ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni +[] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] + ** [] ++ [] +[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [] + ** [] ++ [] +[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [] +[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] + ++ [Consts_Compile.Uni.Uni] ++ [] + ** [] ++ [] ++ [] +15 +0-0 0.0-0.0 false-false 'D'-'D' 0 +0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 +0-0 0-0 0-0 0-0 1 1 +0.0-0.0 68.0 +null-null null-null null-null null-null +0 +0:0:0 +0-0 +{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] +DefaultValuedExpressions_Compile.Color.Red-DefaultValuedExpressions_Compile.Color.Red DefaultValuedExpressions_Compile.PossibleCell.Nothing-DefaultValuedExpressions_Compile.PossibleCell.Nothing DefaultValuedExpressions_Compile.Cell.LittleCell(0)-DefaultValuedExpressions_Compile.Cell.LittleCell(0) +()-() (0, 0.0)-(0, 0.0) +(DefaultValuedExpressions_Compile.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions_Compile.Color.Red, (0, 0.0), ()) +null-null null-null +0-0 0-0 0-0 3 4 5 +0-0 11 0-0 8 + +Dafny program verifier did not attempt verification +Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +{} + ++ {} +[] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +{2} + ++ {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni + ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni +Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni + ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni +Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni +Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni + ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni + ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni +[] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] + ** [] ++ [] +[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [] + ** [] ++ [] +[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [] +[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] + ++ [Consts_Compile.Uni.Uni] ++ [] + ** [] ++ [] ++ [] +15 +0-0 0.0-0.0 false-false 'D'-'D' 0 +0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 +0-0 0-0 0-0 0-0 1 1 +0.0-0.0 68.0 +null-null null-null null-null null-null +0 +0:0:0 +0-0 +{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] +DefaultValuedExpressions_Compile.Color.Red-DefaultValuedExpressions_Compile.Color.Red DefaultValuedExpressions_Compile.PossibleCell.Nothing-DefaultValuedExpressions_Compile.PossibleCell.Nothing DefaultValuedExpressions_Compile.Cell.LittleCell(0)-DefaultValuedExpressions_Compile.Cell.LittleCell(0) +()-() (0, 0.0)-(0, 0.0) +(DefaultValuedExpressions_Compile.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions_Compile.Color.Red, (0, 0.0), ()) +null-null null-null +0-0 0-0 0-0 3 4 5 +0-0 11 0-0 8 + +Dafny program verifier did not attempt verification +Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +{} + ++ {} +[] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +{2} + ++ {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni + ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni +Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni + ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni +Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni +Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni + ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni + ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni +[] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] + ** [] ++ [] +[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [] + ** [] ++ [] +[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [] +[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] + ++ [Consts_Compile.Uni.Uni] ++ [] + ** [] ++ [] ++ [] +15 +0-0 0.0-0.0 false-false 'D'-'D' 0 +0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 +0-0 0-0 0-0 0-0 1 1 +0.0-0.0 68.0 +null-null null-null null-null null-null +0 +0:0:0 +0-0 +{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] +DefaultValuedExpressions_Compile.Color.Red-DefaultValuedExpressions_Compile.Color.Red DefaultValuedExpressions_Compile.PossibleCell.Nothing-DefaultValuedExpressions_Compile.PossibleCell.Nothing DefaultValuedExpressions_Compile.Cell.LittleCell(0)-DefaultValuedExpressions_Compile.Cell.LittleCell(0) +()-() (0, 0.0)-(0, 0.0) +(DefaultValuedExpressions_Compile.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions_Compile.Color.Red, (0, 0.0), ()) +null-null null-null +0-0 0-0 0-0 3 4 5 +0-0 11 0-0 8 + +Dafny program verifier did not attempt verification +Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +{} + ++ {} +[] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +{2} + ++ {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni + ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni +Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni + ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni +Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni +Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni + ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni + ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni +[] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] + ** [] ++ [] +[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [] + ** [] ++ [] +[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [] +[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] + ++ [Consts_Compile.Uni.Uni] ++ [] + ** [] ++ [] ++ [] +15 +0-0 0.0-0.0 false-false 'D'-'D' 0 +0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 +0-0 0-0 0-0 0-0 1 1 +0.0-0.0 68.0 +null-null null-null null-null null-null +0 +0:0:0 +0-0 +{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] +DefaultValuedExpressions_Compile.Color.Red-DefaultValuedExpressions_Compile.Color.Red DefaultValuedExpressions_Compile.PossibleCell.Nothing-DefaultValuedExpressions_Compile.PossibleCell.Nothing DefaultValuedExpressions_Compile.Cell.LittleCell(0)-DefaultValuedExpressions_Compile.Cell.LittleCell(0) +()-() (0, 0.0)-(0, 0.0) +(DefaultValuedExpressions_Compile.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions_Compile.Color.Red, (0, 0.0), ()) +null-null null-null +0-0 0-0 0-0 3 4 5 +0-0 11 0-0 8 + +Dafny program verifier did not attempt verification Methods_Compile.Uni.Uni ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni diff --git a/Test/comp/NativeNumbers.dfy b/Test/comp/NativeNumbers.dfy index e1fadb1c406..c63d02cf643 100644 --- a/Test/comp/NativeNumbers.dfy +++ b/Test/comp/NativeNumbers.dfy @@ -1,6 +1,11 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false // Skip JavaScript because JavaScript doesn't have the same native types +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { CastTests(); diff --git a/Test/comp/NativeNumbers.dfy.expect b/Test/comp/NativeNumbers.dfy.expect index 6a9d263fc73..2be030252cf 100644 --- a/Test/comp/NativeNumbers.dfy.expect +++ b/Test/comp/NativeNumbers.dfy.expect @@ -1,3 +1,259 @@ + +Dafny program verifier finished with 25 verified, 0 errors + +Dafny program verifier did not attempt verification +Casting: + +Small numbers: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 +5 5 5 5 5 5 5 5 5 +6 6 6 6 6 6 6 6 6 +7 7 7 7 7 7 7 7 7 +8 8 8 8 8 8 8 8 8 + +Large unsigned numbers: +255 255 255 255 255 255 255 255 +65535 65535 65535 65535 65535 65535 +4294967295 4294967295 4294967295 4294967295 +18446744073709551615 18446744073709551615 + +Int to large unsigned: +255 65535 4294967295 18446744073709551615 + +Cast from cardinality operator: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 + +Characters: +C 67 67 67 67 67 67 67 67 67 +0 127 32767 65535 65535 255 65535 65535 65535 + +Defaults: + +0 0 0 0 0 0 0 0 0 + +Byte arithmetic: + +20 30 +10 10 18 + +Short arithmetic: + +20 30 +10 10 18 + +Bitvectors: + +0 3 4 1 + +Comparison to zero: + +int8: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int16: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int32: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int64: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint8: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint16: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint32: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint64: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N + + +Dafny program verifier did not attempt verification +Casting: + +Small numbers: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 +5 5 5 5 5 5 5 5 5 +6 6 6 6 6 6 6 6 6 +7 7 7 7 7 7 7 7 7 +8 8 8 8 8 8 8 8 8 + +Large unsigned numbers: +255 255 255 255 255 255 255 255 +65535 65535 65535 65535 65535 65535 +4294967295 4294967295 4294967295 4294967295 +18446744073709551615 18446744073709551615 + +Int to large unsigned: +255 65535 4294967295 18446744073709551615 + +Cast from cardinality operator: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 + +Characters: +C 67 67 67 67 67 67 67 67 67 +0 127 32767 65535 65535 255 65535 65535 65535 + +Defaults: + +0 0 0 0 0 0 0 0 0 + +Byte arithmetic: + +20 30 +10 10 18 + +Short arithmetic: + +20 30 +10 10 18 + +Bitvectors: + +0 3 4 1 + +Comparison to zero: + +int8: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int16: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int32: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int64: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint8: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint16: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint32: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint64: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N + + +Dafny program verifier did not attempt verification +Casting: + +Small numbers: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 +5 5 5 5 5 5 5 5 5 +6 6 6 6 6 6 6 6 6 +7 7 7 7 7 7 7 7 7 +8 8 8 8 8 8 8 8 8 + +Large unsigned numbers: +255 255 255 255 255 255 255 255 +65535 65535 65535 65535 65535 65535 +4294967295 4294967295 4294967295 4294967295 +18446744073709551615 18446744073709551615 + +Int to large unsigned: +255 65535 4294967295 18446744073709551615 + +Cast from cardinality operator: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 + +Characters: +C 67 67 67 67 67 67 67 67 67 +0 127 32767 65535 65535 255 65535 65535 65535 + +Defaults: + +0 0 0 0 0 0 0 0 0 + +Byte arithmetic: + +20 30 +10 10 18 + +Short arithmetic: + +20 30 +10 10 18 + +Bitvectors: + +0 3 4 1 + +Comparison to zero: + +int8: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int16: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int32: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int64: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint8: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint16: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint32: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint64: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N + + +Dafny program verifier did not attempt verification Casting: Small numbers: diff --git a/Test/comp/NestedArrays.dfy b/Test/comp/NestedArrays.dfy index 39d256f4936..0c2b313a32c 100644 --- a/Test/comp/NestedArrays.dfy +++ b/Test/comp/NestedArrays.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %baredafny verify --relax-definite-assignment %args "%s" > "%t" +// RUN: %baredafny run --no-verify --target=cs %args "%s" >> "%t" +// RUN: %baredafny run --no-verify --target=js %args "%s" >> "%t" +// RUN: %baredafny run --no-verify --target=go %args "%s" >> "%t" +// RUN: %baredafny run --no-verify --target=py %args "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" /* Note, compiling to arrays in Java is difficult. In fact, this is currently * broken, see https://github.com/dafny-lang/dafny/issues/3055. Until this gets diff --git a/Test/comp/NestedArrays.dfy.expect b/Test/comp/NestedArrays.dfy.expect index aa47d0d46d4..a24d140b9d4 100644 --- a/Test/comp/NestedArrays.dfy.expect +++ b/Test/comp/NestedArrays.dfy.expect @@ -1,2 +1,18 @@ + +Dafny program verifier finished with 4 verified, 0 errors + +Dafny program verifier did not attempt verification +0 +0 + +Dafny program verifier did not attempt verification +0 +0 + +Dafny program verifier did not attempt verification +0 +0 + +Dafny program verifier did not attempt verification 0 0 diff --git a/Test/comp/Numbers.dfy b/Test/comp/Numbers.dfy index c76bc87fdc0..36bf24dcdb4 100644 --- a/Test/comp/Numbers.dfy +++ b/Test/comp/Numbers.dfy @@ -1,5 +1,10 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { Literals(); diff --git a/Test/comp/Numbers.dfy.expect b/Test/comp/Numbers.dfy.expect index 7eacf4e709d..8d994e1c7c6 100644 --- a/Test/comp/Numbers.dfy.expect +++ b/Test/comp/Numbers.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 59 verified, 0 errors + +Dafny program verifier did not attempt verification 0 0 3 @@ -109,3 +113,455 @@ true false true false false true false true true false true false 20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +g Q 2 +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +(312.0 / 40.0) (1248.0 / 40.0) +(-312.0 / 40.0) (-1248.0 / 40.0) +(-312.0 / 40.0) (1248.0 / 40.0) +(312.0 / 40.0) (-1248.0 / 40.0) +0.0 0.0 0.0 +120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) +123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 (8100.0 / 8100.0) +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +g Q 2 +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +g Q 2 +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +(312.0 / 40.0) (1248.0 / 40.0) +(-312.0 / 40.0) (-1248.0 / 40.0) +(-312.0 / 40.0) (1248.0 / 40.0) +(312.0 / 40.0) (-1248.0 / 40.0) +0.0 0.0 0.0 +120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) +123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 (8100.0 / 8100.0) +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +g Q 2 +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 diff --git a/Test/comp/Numbers.dfy.go.expect b/Test/comp/Numbers.dfy.go.expect deleted file mode 100644 index ce109553619..00000000000 --- a/Test/comp/Numbers.dfy.go.expect +++ /dev/null @@ -1,111 +0,0 @@ -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -g Q 2 -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 diff --git a/Test/comp/Numbers.dfy.py.expect b/Test/comp/Numbers.dfy.py.expect deleted file mode 100644 index ce109553619..00000000000 --- a/Test/comp/Numbers.dfy.py.expect +++ /dev/null @@ -1,111 +0,0 @@ -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -g Q 2 -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 diff --git a/Test/comp/Poly.dfy b/Test/comp/Poly.dfy index 5af5e8134e9..f3c3aa58599 100644 --- a/Test/comp/Poly.dfy +++ b/Test/comp/Poly.dfy @@ -1,5 +1,10 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" trait Shape { function Center(): (real, real) reads this diff --git a/Test/comp/Poly.dfy.expect b/Test/comp/Poly.dfy.expect index 7dc24821586..4ffff82d5ab 100644 --- a/Test/comp/Poly.dfy.expect +++ b/Test/comp/Poly.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 15 verified, 0 errors + +Dafny program verifier did not attempt verification Center of square: ((1.0 / 2.0), (1.0 / 2.0)) Center of circle: (1.0, 1.0) Center: ((1.0 / 2.0), (1.0 / 2.0)) @@ -10,3 +14,59 @@ Center: ((1.0 / 2.0), (1.0 / 2.0)) Center: (1.0, 1.0) Center: ((1.0 / 2.0), (1.0 / 2.0)) Center: (1.0, 1.0) + +Dafny program verifier did not attempt verification +Center of square: ((1.0 / 2.0), (1.0 / 2.0)) +Center of circle: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) + +Dafny program verifier did not attempt verification +Center of square: ((1.0 / 2.0), (1.0 / 2.0)) +Center of circle: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) + +Dafny program verifier did not attempt verification +Center of square: (0.5, 0.5) +Center of circle: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) + +Dafny program verifier did not attempt verification +Center of square: (0.5, 0.5) +Center of circle: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) diff --git a/Test/comp/Poly.dfy.go.expect b/Test/comp/Poly.dfy.go.expect deleted file mode 100644 index 88e09c5e6ff..00000000000 --- a/Test/comp/Poly.dfy.go.expect +++ /dev/null @@ -1,12 +0,0 @@ -Center of square: (0.5, 0.5) -Center of circle: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) diff --git a/Test/comp/Poly.dfy.py.expect b/Test/comp/Poly.dfy.py.expect deleted file mode 100644 index 88e09c5e6ff..00000000000 --- a/Test/comp/Poly.dfy.py.expect +++ /dev/null @@ -1,12 +0,0 @@ -Center of square: (0.5, 0.5) -Center of circle: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) diff --git a/Test/comp/Print.dfy b/Test/comp/Print.dfy index 39f8a447396..166bae4c351 100644 --- a/Test/comp/Print.dfy +++ b/Test/comp/Print.dfy @@ -1,5 +1,9 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // Python salts hashes so they are not deterministic. diff --git a/Test/comp/Print.dfy.expect b/Test/comp/Print.dfy.expect index 88ded65afab..c2b186af0ec 100644 --- a/Test/comp/Print.dfy.expect +++ b/Test/comp/Print.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification Strings in collections: [abc, def] [[abc, def]] @@ -6,3 +10,33 @@ Strings in collections: [] [] [aaaaa] + +Dafny program verifier did not attempt verification +Strings in collections: + [abc, def] + [[abc, def]] + {abc, def} + [abc, def] + [] + [] + [aaaaa] + +Dafny program verifier did not attempt verification +Strings in collections: + [abc, def] + [[abc, def]] + {abc, def} + [abc, def] + [] + [] + [aaaaa] + +Dafny program verifier did not attempt verification +Strings in collections: + [abc, def] + [[abc, def]] + {abc, def} + [abc, def] + [] + [] + [aaaaa] diff --git a/Test/comp/Print.dfy.go.expect b/Test/comp/Print.dfy.go.expect deleted file mode 100644 index 7ac90f01b3c..00000000000 --- a/Test/comp/Print.dfy.go.expect +++ /dev/null @@ -1,8 +0,0 @@ -Strings in collections: - [abc, def] - [[abc, def]] - {abc, def} - [abc, def] - [] - [] - [aaaaa] diff --git a/Test/comp/Print.dfy.java.expect b/Test/comp/Print.dfy.java.expect deleted file mode 100644 index 7ac90f01b3c..00000000000 --- a/Test/comp/Print.dfy.java.expect +++ /dev/null @@ -1,8 +0,0 @@ -Strings in collections: - [abc, def] - [[abc, def]] - {abc, def} - [abc, def] - [] - [] - [aaaaa] diff --git a/Test/comp/Print.dfy.js.expect b/Test/comp/Print.dfy.js.expect deleted file mode 100644 index 7ac90f01b3c..00000000000 --- a/Test/comp/Print.dfy.js.expect +++ /dev/null @@ -1,8 +0,0 @@ -Strings in collections: - [abc, def] - [[abc, def]] - {abc, def} - [abc, def] - [] - [] - [aaaaa] diff --git a/Test/comp/StaticMembersOfGenericTypes.dfy b/Test/comp/StaticMembersOfGenericTypes.dfy index 8a8614d21a5..8c402dab951 100644 --- a/Test/comp/StaticMembersOfGenericTypes.dfy +++ b/Test/comp/StaticMembersOfGenericTypes.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { GenericClass(); diff --git a/Test/comp/StaticMembersOfGenericTypes.dfy.expect b/Test/comp/StaticMembersOfGenericTypes.dfy.expect index 196f1295e12..54e32b42ee5 100644 --- a/Test/comp/StaticMembersOfGenericTypes.dfy.expect +++ b/Test/comp/StaticMembersOfGenericTypes.dfy.expect @@ -1,3 +1,79 @@ + +Dafny program verifier finished with 9 verified, 0 errors + +Dafny program verifier did not attempt verification +(0, 1) (true, 2, 3) +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +(2.0, true) (3.0, false) +(2.0, true) (3.0, false) +true false +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +50 3 4 +149 + +Dafny program verifier did not attempt verification +(0, 1) (true, 2, 3) +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +(2.0, true) (3.0, false) +(2.0, true) (3.0, false) +true false +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +50 3 4 +149 + +Dafny program verifier did not attempt verification +(0, 1) (true, 2, 3) +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +(2.0, true) (3.0, false) +(2.0, true) (3.0, false) +true false +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +50 3 4 +149 + +Dafny program verifier did not attempt verification +(0, 1) (true, 2, 3) +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +(2.0, true) (3.0, false) +(2.0, true) (3.0, false) +true false +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +50 3 4 +149 + +Dafny program verifier did not attempt verification (0, 1) (true, 2, 3) 0 25 (20, 21) (20, 21) 23 22 0 25 (20, 21) (20, 21) 23 22 diff --git a/Test/comp/TailRecursion.dfy b/Test/comp/TailRecursion.dfy index b3631d5eccc..68ba6ee4669 100644 --- a/Test/comp/TailRecursion.dfy +++ b/Test/comp/TailRecursion.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { // In the following, 2_000_000 is too large an argument without tail-calls diff --git a/Test/comp/TailRecursion.dfy.expect b/Test/comp/TailRecursion.dfy.expect index 4b9da7e5093..23c852a41fe 100644 --- a/Test/comp/TailRecursion.dfy.expect +++ b/Test/comp/TailRecursion.dfy.expect @@ -1,3 +1,79 @@ + +Dafny program verifier finished with 28 verified, 0 errors + +Dafny program verifier did not attempt verification +2000000 2000000 +2000000 2000000 +1000000 1000000 +10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 +TriangleNumber(10) = 55 +TriangleNumber_Real(10) = 55.0 +TriangleNumber_ORDINAL(10) = 55 +Factorial(5) = 120 +Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] +UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] +Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 +TheBigSubtract(100) = -12 +TailNat(10) = 50 +17 17 17 +2000000 + +Dafny program verifier did not attempt verification +2000000 2000000 +2000000 2000000 +1000000 1000000 +10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 +TriangleNumber(10) = 55 +TriangleNumber_Real(10) = 55.0 +TriangleNumber_ORDINAL(10) = 55 +Factorial(5) = 120 +Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] +UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] +Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 +TheBigSubtract(100) = -12 +TailNat(10) = 50 +17 17 17 +2000000 + +Dafny program verifier did not attempt verification +2000000 2000000 +2000000 2000000 +1000000 1000000 +10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 +TriangleNumber(10) = 55 +TriangleNumber_Real(10) = 55.0 +TriangleNumber_ORDINAL(10) = 55 +Factorial(5) = 120 +Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] +UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] +Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 +TheBigSubtract(100) = -12 +TailNat(10) = 50 +17 17 17 +2000000 + +Dafny program verifier did not attempt verification +2000000 2000000 +2000000 2000000 +1000000 1000000 +10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 +TriangleNumber(10) = 55 +TriangleNumber_Real(10) = 55.0 +TriangleNumber_ORDINAL(10) = 55 +Factorial(5) = 120 +Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] +UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] +Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 +TheBigSubtract(100) = -12 +TailNat(10) = 50 +17 17 17 +2000000 + +Dafny program verifier did not attempt verification 2000000 2000000 2000000 2000000 1000000 1000000 diff --git a/Test/comp/TypeDescriptors.dfy b/Test/comp/TypeDescriptors.dfy index 5bedbb900e4..636cb3db583 100644 --- a/Test/comp/TypeDescriptors.dfy +++ b/Test/comp/TypeDescriptors.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Method(s: string, g: G) { var zero: G; diff --git a/Test/comp/TypeDescriptors.dfy.expect b/Test/comp/TypeDescriptors.dfy.expect index 1b09338c83d..9b1e8487bdc 100644 --- a/Test/comp/TypeDescriptors.dfy.expect +++ b/Test/comp/TypeDescriptors.dfy.expect @@ -1,3 +1,155 @@ + +Dafny program verifier finished with 11 verified, 0 errors + +Dafny program verifier did not attempt verification +int: 8 0 +bool: true false +char: 'r' 'D' +real: 1.618 0.0 +ORDINAL: 0 +bv0: 0 0 +bv21: 121 0 +bv32: 132 0 +bv191: 191 0 +set: {7} {} +multiset: multiset{7, 7} multiset{} +seq: [7] [] +map: map[2 := 7] map[] +pos: 3 1 +Hundred: 6 0 +HundredOdd: 13 19 +JustOdd: 131 5 +(): () () +(int, real): (2, 3.2) (0, 0.0) +(int, pos): (2, 3) (0, 1) +AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) +Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) +Stream: Stream.More +A=int: 15 0 +B=int: 16 0 +datatype.B=: {14} {} +object?: null +Class?>: null +Trait?>: null +array?: null +array2?: null +int --> bool: null +array? ~> bool: null + +Dafny program verifier did not attempt verification +int: 8 0 +bool: true false +char: 'r' 'D' +real: 1.618 0.0 +ORDINAL: 0 +bv0: 0 0 +bv21: 121 0 +bv32: 132 0 +bv191: 191 0 +set: {7} {} +multiset: multiset{7, 7} multiset{} +seq: [7] [] +map: map[2 := 7] map[] +pos: 3 1 +Hundred: 6 0 +HundredOdd: 13 19 +JustOdd: 131 5 +(): () () +(int, real): (2, 3.2) (0, 0.0) +(int, pos): (2, 3) (0, 1) +AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) +Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) +Stream: Stream.More +A=int: 15 0 +B=int: 16 0 +datatype.B=: {14} {} +object?: null +Class?>: null +Trait?>: null +array?: null +array2?: null +int --> bool: null +array? ~> bool: null + +Dafny program verifier did not attempt verification +int: 8 0 +bool: true false +char: 'r' 'D' +real: 1.618 0.0 +ORDINAL: 0 +bv0: 0 0 +bv21: 121 0 +bv32: 132 0 +bv191: 191 0 +set: {7} {} +multiset: multiset{7, 7} multiset{} +seq: [7] [] +map: map[2 := 7] map[] +pos: 3 1 +Hundred: 6 0 +HundredOdd: 13 19 +JustOdd: 131 5 +(): () () +(int, real): (2, 3.2) (0, 0.0) +(int, pos): (2, 3) (0, 1) +AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) +Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) +Stream: Stream.More +A=int: 15 0 +B=int: 16 0 +datatype.B=: {14} {} +object?: null +Class?>: null +Trait?>: null +array?: null +array2?: null +int --> bool: null +array? ~> bool: null + +Dafny program verifier did not attempt verification +int: 8 0 +bool: true false +char: 'r' 'D' +real: 1.618 0.0 +ORDINAL: 0 +bv0: 0 0 +bv21: 121 0 +bv32: 132 0 +bv191: 191 0 +set: {7} {} +multiset: multiset{7, 7} multiset{} +seq: [7] [] +map: map[2 := 7] map[] +pos: 3 1 +Hundred: 6 0 +HundredOdd: 13 19 +JustOdd: 131 5 +(): () () +(int, real): (2, 3.2) (0, 0.0) +(int, pos): (2, 3) (0, 1) +AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) +Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) +Stream: Stream.More +A=int: 15 0 +B=int: 16 0 +datatype.B=: {14} {} +object?: null +Class?>: null +Trait?>: null +array?: null +array2?: null +int --> bool: null +array? ~> bool: null + +Dafny program verifier did not attempt verification int: 8 0 bool: true false char: 'r' 'D' diff --git a/Test/comp/TypeParams.dfy b/Test/comp/TypeParams.dfy index c595881e028..11d1b3bac6a 100644 --- a/Test/comp/TypeParams.dfy +++ b/Test/comp/TypeParams.dfy @@ -1,6 +1,11 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation - +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" + +// RUN: %diff "%s.expect" "%t" datatype Color = Orange | Pink | Teal type Six = x | x <= 6 diff --git a/Test/comp/TypeParams.dfy.expect b/Test/comp/TypeParams.dfy.expect index 1381a030f65..ac8ef1c58e5 100644 --- a/Test/comp/TypeParams.dfy.expect +++ b/Test/comp/TypeParams.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 17 verified, 0 errors + +Dafny program verifier did not attempt verification 0 0 0 false Color.Orange 0.0 {} Color.Orange null null null null null {} multiset{} [] map[] {} map[] @@ -17,3 +21,87 @@ System.Func`2[Dafny.BigRational,System.Boolean] System.Func`1[System.Numerics.BigInteger] System.Func`3[_module._IColor,Dafny.ISet`1[System.UInt16],System.UInt32] 0 0 + +Dafny program verifier did not attempt verification +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +function () { return false; } +function () { return _dafny.ZERO; } +function () { return _dafny.ZERO; } +0 0 + +Dafny program verifier did not attempt verification +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +func(dafny.Real) bool +func() dafny.Int +func(main.Color, dafny.Set) uint32 +0 0 + +Dafny program verifier did not attempt verification +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +Function +Function +Function +0 0 + +Dafny program verifier did not attempt verification +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +Function +Function +Function +0 0 diff --git a/Test/comp/TypeParams.dfy.go.expect b/Test/comp/TypeParams.dfy.go.expect deleted file mode 100644 index e3a8e67d066..00000000000 --- a/Test/comp/TypeParams.dfy.go.expect +++ /dev/null @@ -1,19 +0,0 @@ -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -func(dafny.Real) bool -func() dafny.Int -func(main.Color, dafny.Set) uint32 -0 0 diff --git a/Test/comp/TypeParams.dfy.java.expect b/Test/comp/TypeParams.dfy.java.expect deleted file mode 100644 index 5f843ba06d1..00000000000 --- a/Test/comp/TypeParams.dfy.java.expect +++ /dev/null @@ -1,19 +0,0 @@ -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -Function -Function -Function -0 0 diff --git a/Test/comp/TypeParams.dfy.js.expect b/Test/comp/TypeParams.dfy.js.expect deleted file mode 100644 index 865c33ea48b..00000000000 --- a/Test/comp/TypeParams.dfy.js.expect +++ /dev/null @@ -1,19 +0,0 @@ -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -function () { return false; } -function () { return _dafny.ZERO; } -function () { return _dafny.ZERO; } -0 0 diff --git a/Test/comp/TypeParams.dfy.py.expect b/Test/comp/TypeParams.dfy.py.expect deleted file mode 100644 index 5f843ba06d1..00000000000 --- a/Test/comp/TypeParams.dfy.py.expect +++ /dev/null @@ -1,19 +0,0 @@ -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -Function -Function -Function -0 0 diff --git a/Test/comp/UnoptimizedErasableTypeWrappers.dfy b/Test/comp/UnoptimizedErasableTypeWrappers.dfy index b7911aed9db..58f0682ed41 100644 --- a/Test/comp/UnoptimizedErasableTypeWrappers.dfy +++ b/Test/comp/UnoptimizedErasableTypeWrappers.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --optimize-erasable-datatype-wrapper:false --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype SingletonRecord = SingletonRecord(u: int) datatype WithGhost = WithGhost(u: int, ghost v: int) diff --git a/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect b/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect index 3371376a52b..be1d7190b0f 100644 --- a/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect +++ b/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect @@ -1,3 +1,31 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification +SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) +() (30) (31) (30, 32) +15 20 +30 31 30 32 + +Dafny program verifier did not attempt verification +SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) +() (30) (31) (30, 32) +15 20 +30 31 30 32 + +Dafny program verifier did not attempt verification +SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) +() (30) (31) (30, 32) +15 20 +30 31 30 32 + +Dafny program verifier did not attempt verification +SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) +() (30) (31) (30, 32) +15 20 +30 31 30 32 + +Dafny program verifier did not attempt verification SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) () (30) (31) (30, 32) 15 20 diff --git a/Test/comp/Variance.dfy b/Test/comp/Variance.dfy index 2ee3cfe3324..6c198495209 100644 --- a/Test/comp/Variance.dfy +++ b/Test/comp/Variance.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /deprecation:0 +// RUN: %dafny /compile:0 /deprecation:0 "%s" > "%t" +// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Co<+T> = Co(z: T) { const x: int; diff --git a/Test/comp/Variance.dfy.expect b/Test/comp/Variance.dfy.expect index 5bb565b6bb4..cf08d82ac07 100644 --- a/Test/comp/Variance.dfy.expect +++ b/Test/comp/Variance.dfy.expect @@ -1,3 +1,67 @@ + +Dafny program verifier finished with 13 verified, 0 errors + +Dafny program verifier did not attempt verification +Co.Co(_module.Int) and Co.Co(_module.Int) +true0[]0000 +Non.Non(_module.Int) and Non.Non(_module.Int) +true0[]0000 +0 and 0 +_module.Int0[]0000 +CCo.CCo and CCo.CCo +true0[]0000 +CNon.CNon and CNon.CNon +true0[]0000 +CCon.CCon and CCon.CCon +_module.Int0[]0000 +Done + +Dafny program verifier did not attempt verification +Co.Co(_module.Int) and Co.Co(_module.Int) +true0[]0000 +Non.Non(_module.Int) and Non.Non(_module.Int) +true0[]0000 +0 and 0 +_module.Int0[]0000 +CCo.CCo and CCo.CCo +true0[]0000 +CNon.CNon and CNon.CNon +true0[]0000 +CCon.CCon and CCon.CCon +_module.Int0[]0000 +Done + +Dafny program verifier did not attempt verification +Co.Co(_module.Int) and Co.Co(_module.Int) +true0[]0000 +Non.Non(_module.Int) and Non.Non(_module.Int) +true0[]0000 +0 and 0 +_module.Int0[]0000 +CCo.CCo and CCo.CCo +true0[]0000 +CNon.CNon and CNon.CNon +true0[]0000 +CCon.CCon and CCon.CCon +_module.Int0[]0000 +Done + +Dafny program verifier did not attempt verification +Co.Co(_module.Int) and Co.Co(_module.Int) +true0[]0000 +Non.Non(_module.Int) and Non.Non(_module.Int) +true0[]0000 +0 and 0 +_module.Int0[]0000 +CCo.CCo and CCo.CCo +true0[]0000 +CNon.CNon and CNon.CNon +true0[]0000 +CCon.CCon and CCon.CCon +_module.Int0[]0000 +Done + +Dafny program verifier did not attempt verification Co.Co(_module.Int) and Co.Co(_module.Int) true0[]0000 Non.Non(_module.Int) and Non.Non(_module.Int) diff --git a/Test/comp/Various.dfy b/Test/comp/Various.dfy index 502801e4c2a..1f29c511a83 100644 --- a/Test/comp/Various.dfy +++ b/Test/comp/Various.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Match(tp: (nat, nat)) { match tp diff --git a/Test/comp/Various.dfy.expect b/Test/comp/Various.dfy.expect index 66f013c00f7..502e2d04792 100644 --- a/Test/comp/Various.dfy.expect +++ b/Test/comp/Various.dfy.expect @@ -1,3 +1,43 @@ + +Dafny program verifier finished with 4 verified, 0 errors + +Dafny program verifier did not attempt verification +match +1 +Kablammo!! +0 +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] + +Dafny program verifier did not attempt verification +match +1 +Kablammo!! +0 +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] + +Dafny program verifier did not attempt verification +match +1 +Kablammo!! +0 +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] + +Dafny program verifier did not attempt verification +match +1 +Kablammo!! +0 +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] + +Dafny program verifier did not attempt verification match 1 Kablammo!! diff --git a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy index 2cf77360cab..10fe57dec8f 100644 --- a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy +++ b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // An extremely small program intended to be the first target input for // brand new Dafny compilers. Avoids any use of strings (and therefore sequences) diff --git a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect index f32a5804e29..e1dcaef650b 100644 --- a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect +++ b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect @@ -1 +1,5 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification true \ No newline at end of file diff --git a/Test/comp/firstSteps/1_Calls-F.dfy b/Test/comp/firstSteps/1_Calls-F.dfy index 4fe5b83e551..32566f59f3b 100644 --- a/Test/comp/firstSteps/1_Calls-F.dfy +++ b/Test/comp/firstSteps/1_Calls-F.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/1_Calls-F.dfy.expect b/Test/comp/firstSteps/1_Calls-F.dfy.expect index 7ed6ff82de6..58e0a68ec1c 100644 --- a/Test/comp/firstSteps/1_Calls-F.dfy.expect +++ b/Test/comp/firstSteps/1_Calls-F.dfy.expect @@ -1 +1,5 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification 5 diff --git a/Test/comp/firstSteps/2_Modules.dfy b/Test/comp/firstSteps/2_Modules.dfy index d0effcb5a71..750b8d60c21 100644 --- a/Test/comp/firstSteps/2_Modules.dfy +++ b/Test/comp/firstSteps/2_Modules.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" module A { const i: nat := 1 diff --git a/Test/comp/firstSteps/2_Modules.dfy.expect b/Test/comp/firstSteps/2_Modules.dfy.expect index b85905ec0b9..9a4b57459c7 100644 --- a/Test/comp/firstSteps/2_Modules.dfy.expect +++ b/Test/comp/firstSteps/2_Modules.dfy.expect @@ -1 +1,5 @@ + +Dafny program verifier finished with 3 verified, 0 errors + +Dafny program verifier did not attempt verification 1 2 3 diff --git a/Test/comp/firstSteps/3_Calls-As.dfy b/Test/comp/firstSteps/3_Calls-As.dfy index 38889421865..f22bbdbd3f6 100644 --- a/Test/comp/firstSteps/3_Calls-As.dfy +++ b/Test/comp/firstSteps/3_Calls-As.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/3_Calls-As.dfy.expect b/Test/comp/firstSteps/3_Calls-As.dfy.expect index a1c59bb761f..eea6c52592c 100644 --- a/Test/comp/firstSteps/3_Calls-As.dfy.expect +++ b/Test/comp/firstSteps/3_Calls-As.dfy.expect @@ -1 +1,5 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification 0 0 false 0 false 0 diff --git a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy index 6a66781ff0d..89fb669dca0 100644 --- a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy +++ b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect index a8d09f0a6f5..e7498a27e3e 100644 --- a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect +++ b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect @@ -1,2 +1,6 @@ + +Dafny program verifier finished with 3 verified, 0 errors + +Dafny program verifier did not attempt verification 5 3 5 3 5 3 5 3 diff --git a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy index 1175b1eca8f..096523f8956 100644 --- a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy +++ b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect index ef3de96e567..8954da2b386 100644 --- a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect +++ b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect @@ -1,2 +1,6 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification 5 3 5 3 diff --git a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy index 5d970ac4de5..1fbaebdf4e9 100644 --- a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy +++ b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect index 4ff62e33956..b6ffe78bcbb 100644 --- a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect +++ b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 4 verified, 0 errors + +Dafny program verifier did not attempt verification 15 [0, 1, 2, 4] [0, 2, 4] diff --git a/Test/comp/firstSteps/7_Arrays.dfy b/Test/comp/firstSteps/7_Arrays.dfy index d02c942c9bb..07ddf89594b 100644 --- a/Test/comp/firstSteps/7_Arrays.dfy +++ b/Test/comp/firstSteps/7_Arrays.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // This fragment of comp/Arrays.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/7_Arrays.dfy.expect b/Test/comp/firstSteps/7_Arrays.dfy.expect index fa00285c692..75e824c80bb 100644 --- a/Test/comp/firstSteps/7_Arrays.dfy.expect +++ b/Test/comp/firstSteps/7_Arrays.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 7 verified, 0 errors + +Dafny program verifier did not attempt verification 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/comp/firstSteps/7_Dt_Algebraic.dfy b/Test/comp/firstSteps/7_Dt_Algebraic.dfy index 46a2995b37f..991462d8bdf 100644 --- a/Test/comp/firstSteps/7_Dt_Algebraic.dfy +++ b/Test/comp/firstSteps/7_Dt_Algebraic.dfy @@ -1,5 +1,7 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // This fragment of comp/Dt.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect deleted file mode 100644 index ba1b72ea6f7..00000000000 --- a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect +++ /dev/null @@ -1,11 +0,0 @@ -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} -42 'q' hello -1701 diff --git a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect index e3ff7faba6e..ec9b49fe420 100644 --- a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect +++ b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 7 verified, 0 errors + +Dafny program verifier did not attempt verification List.Nil List.Cons(5, List.Nil) (List.Nil, List.Cons(5, List.Nil)) @@ -9,3 +13,16 @@ List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, Li {Berry.Hallon, Berry.Smultron, Berry.Jordgubb} 42 'q' hello 1701 + +Dafny program verifier did not attempt verification +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} +42 'q' hello +1701 diff --git a/Test/dafny0/ArrayElementInitCompile.dfy b/Test/dafny0/ArrayElementInitCompile.dfy index 3714cf0fe8e..7d652486b9e 100644 --- a/Test/dafny0/ArrayElementInitCompile.dfy +++ b/Test/dafny0/ArrayElementInitCompile.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 /print:"%t.print" /rprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny0/ArrayElementInitCompile.dfy.expect b/Test/dafny0/ArrayElementInitCompile.dfy.expect index eaa3e759999..a5241c75f19 100644 --- a/Test/dafny0/ArrayElementInitCompile.dfy.expect +++ b/Test/dafny0/ArrayElementInitCompile.dfy.expect @@ -1,3 +1,79 @@ + +Dafny program verifier finished with 18 verified, 0 errors + +Dafny program verifier did not attempt verification +67 67 67 67 67 67 67 67 +0 1 2 3 +1 2 3 4 +2 3 4 5 +3 4 5 6 +4 5 6 7 +O . O . O . O . O . O . +12 12 12 12 12 12 12 12 12 12 12 12 +D E +y z +4 3 +7 +100 75 98 25 + +looks like this rocks +-2 -1 0 1 2 3 4 + +Dafny program verifier did not attempt verification +67 67 67 67 67 67 67 67 +0 1 2 3 +1 2 3 4 +2 3 4 5 +3 4 5 6 +4 5 6 7 +O . O . O . O . O . O . +12 12 12 12 12 12 12 12 12 12 12 12 +D E +y z +4 3 +7 +100 75 98 25 + +looks like this rocks +-2 -1 0 1 2 3 4 + +Dafny program verifier did not attempt verification +67 67 67 67 67 67 67 67 +0 1 2 3 +1 2 3 4 +2 3 4 5 +3 4 5 6 +4 5 6 7 +O . O . O . O . O . O . +12 12 12 12 12 12 12 12 12 12 12 12 +D E +y z +4 3 +7 +100 75 98 25 + +looks like this rocks +-2 -1 0 1 2 3 4 + +Dafny program verifier did not attempt verification +67 67 67 67 67 67 67 67 +0 1 2 3 +1 2 3 4 +2 3 4 5 +3 4 5 6 +4 5 6 7 +O . O . O . O . O . O . +12 12 12 12 12 12 12 12 12 12 12 12 +D E +y z +4 3 +7 +100 75 98 25 + +looks like this rocks +-2 -1 0 1 2 3 4 + +Dafny program verifier did not attempt verification 67 67 67 67 67 67 67 67 0 1 2 3 1 2 3 4 diff --git a/Test/dafny0/Bitvectors.dfy b/Test/dafny0/Bitvectors.dfy index 7cdeaefb0c1..9dbb798fa4a 100644 --- a/Test/dafny0/Bitvectors.dfy +++ b/Test/dafny0/Bitvectors.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /env:0 +// RUN: %dafny /compile:0 /print:"%t.print" /rprint:- /env:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method M(a: bv1, b: bv32) returns (c: bv32, d: bv1) { diff --git a/Test/dafny0/Bitvectors.dfy.expect b/Test/dafny0/Bitvectors.dfy.expect index ed1c7328e83..09b34e5011a 100644 --- a/Test/dafny0/Bitvectors.dfy.expect +++ b/Test/dafny0/Bitvectors.dfy.expect @@ -1,3 +1,493 @@ +// Bitvectors.dfy + +/* +module _System { + /* CALL GRAPH for module _System: + * SCC at height 1: + * RotateLeft + * SCC at height 1: + * RotateRight + * SCC at height 0: + * array + * SCC at height 0: + * nat + * SCC at height 0: + * object + */ + type string(==,0) = seq + + type {:axiom} nat(==,0) = x: int + | 0 <= x + + trait {:compile false} object { } + /*-- non-null type + type {:axiom} object(==) = c: object? | c != null /*special witness*/ + */ + + class {:compile false} array { + var Length: int // immutable + } + /*-- non-null type + type {:axiom} array(==) = c: array? | c != null /*special witness*/ + */ + + type {:compile false} /*_#Func1*/ -T0 ~> +R { + ghost function requires(x0: T0): bool + reads reads(x0) + + ghost function reads(x0: T0): set + reads reads(x0) + } + + type {:compile false} /*_#PartialFunc1*/ -T0 --> +R = f: T0 ~> R + | forall x0: T0 :: f.reads(x0) == {} + /*special witness*/ + + type {:compile false} /*_#TotalFunc1*/ -T0 -> +R = f: T0 --> R + | forall x0: T0 :: f.requires(x0) + /*special witness*/ + + type {:compile false} /*_#Func0*/ () ~> +R { + ghost function requires(): bool + reads reads() + + ghost function reads(): set + reads reads() + } + + type {:compile false} /*_#PartialFunc0*/ () --> +R = f: () ~> R + | f.reads() == {} + /*special witness*/ + + type {:compile false} /*_#TotalFunc0*/ () -> +R = f: () --> R + | f.requires() + /*special witness*/ + + datatype {:compile false} /*_tuple#2*/ (+T0, +T1) = _#Make2(0: T0, 1: T1) + + type bool { } + + type int { } + + type real { + var Floor: int // immutable + } + + type ORDINAL { + var IsLimit: bool // immutable + var IsSucc: bool // immutable + var Offset: int // immutable + var IsNat: bool // immutable + } + + type _bv { + function RotateLeft(w: nat): selftype + + function RotateRight(w: nat): selftype + } + + type map<+T, +U> { + var Keys: set // immutable + var Values: set // immutable + var Items: set<(T, U)> // immutable + } + + type imap<*T, +U> { + var Keys: iset // immutable + var Values: iset // immutable + var Items: iset<(T, U)> // immutable + } + + datatype {:compile false} /*_tuple#0*/ () = _#Make0 +} +// bitvector types in use: bv1 bv32 bv47 bv16 bv0 bv67 bv64 bv53 bv33 bv31 bv15 bv8 bv6 bv2 bv7 bv12 bv3 +*/ + +/* CALL GRAPH for module _module: + * SCC at height 2: + * Main + * SCC at height 1: + * DoArith32 + * SCC at height 1: + * Rotates + * SCC at height 1: + * Shifts + * SCC at height 1: + * TestCompilationTruncations + * SCC at height 0: + * Arithmetic + * SCC at height 0: + * BitwiseOperations + * SCC at height 0: + * Bv0Stuff + * SCC at height 0: + * Handful + * SCC at height 0: + * M + * SCC at height 0: + * M0 + * SCC at height 0: + * M1 + * SCC at height 0: + * M15 + * SCC at height 0: + * M16 + * SCC at height 0: + * M31 + * SCC at height 0: + * M32 + * SCC at height 0: + * M33 + * SCC at height 0: + * M53 + * SCC at height 0: + * M6 + * SCC at height 0: + * M64 + * SCC at height 0: + * M67 + * SCC at height 0: + * M8 + * SCC at height 0: + * P2 + * SCC at height 0: + * PrintRotates + * SCC at height 0: + * PrintShifts + * SCC at height 0: + * SummoTests + * SCC at height 0: + * Unary + */ +newtype Handful = x: int + | 0 <= x < 80 + +method M(a: bv1, b: bv32) + returns (c: bv32, d: bv1) + decreases a, b +{ + c := b; + d := a; + var x: bv32 := 5000; + c := x; + var y: bv32 := 4000; + y := c; +} + +method Main() +{ + var x: bv32 := 4000; + var y: bv32 := 4000; + var z: bv32; + var w: bv32; + if x == y { + z := x; + } else { + w := y; + } + print x, " ", y, " ", z, " ", w, "\n"; + var t: bv47, u: bv47, v: bv47 := BitwiseOperations(); + print t, " ", u, " ", v, "\n"; + DoArith32(); + var unry: bv16 := Unary(5); + print "bv16: 5 - 2 == ", unry, "\n"; + unry := Unary(1); + print "bv16: 1 - 2 == ", unry, "\n"; + SummoTests(); + var zz0: bv0; + var zz1: bv0 := Bv0Stuff(zz0, 0); + print zz0, " ", zz1, "\n"; + print zz0 < zz1, " ", zz0 <= zz1, " ", zz0 >= zz1, " ", zz0 > zz1, "\n"; + TestCompilationTruncations(); + Shifts(); + Rotates(); +} + +method BitwiseOperations() returns (a: bv47, b: bv47, c: bv47) +{ + b, c := 2053, 1099; + a := b & c; + a := a | a | (b & b & c & (a ^ b ^ c) & a); +} + +method Arithmetic(x: bv32, y: bv32) + returns (r: bv32, s: bv32) + ensures r == x + y && s == y - x + decreases x, y +{ + r := x + y; + s := y - x; +} + +method DoArith32() +{ + var r: bv32, s: bv32 := Arithmetic(65, 120); + print r, " ", s, "\n"; + var x: bv32, y: bv32 := 2147483647, 2147483651; + r, s := Arithmetic(x, y); + assert r == 2 && s == 4; + print r, " ", s, "\n"; + assert x < y && x <= y && y >= x && y > x; + print "Comparisons: ", x < y, " ", x <= y, " ", x >= y, " ", x > y, "\n"; +} + +method Unary(x: bv16) returns (y: bv16) + ensures y == x - 2 + decreases x +{ + y := --!-!!--x; + y := !-y; + var F: bv16 := 65535; + calc == { + y; + == + !---!-!!--x; + == + F - ---!-!!--x; + == + { + assert ---!-!!--x == -!-!!--x; + } + F - -!-!!--x; + == + F + !-!!--x; + == + F + F - -!!--x; + == + F + F + !!--x; + == + { + assert !!--x == --x == x; + } + F + F + x; + == + x - 2; + } +} + +method SummoTests() +{ + var a: bv64 := 5; + a := 2 * 2 * 2 * 2 * 2 * a * 2 * 2 * 2 * 2 * 2; + var b: bv64 := a / 512; + assert b == 10; + assert b / 3 == 3 && b / 4 == 2; + assert b % 3 == 1 && b % 4 == 2; + print b / 3, " ", b % 4, "\n"; +} + +method Bv0Stuff(x: bv0, y: bv0) returns (z: bv0) + ensures z == 0 + decreases x, y +{ + z := x + y; + z := x * z - y; + z := (x ^ z) | (y & y); + z := !z + -z; +} + +method TestCompilationTruncations() +{ + M67(-1, 3); + M64(-1, 3); + M53(-1, 3); + M33(-1, 3); + M32(-1, 3); + M31(-1, 3); + M16(-1, 3); + M15(-1, 3); + M8(-1, 3); + M6(-1, 3); + M1(1, 1); + M0(0, 0); + P2(3, 2); +} + +method M67(a: bv67, b: bv67) + decreases a, b +{ + print "bv67: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; +} + +method M64(a: bv64, b: bv64) + decreases a, b +{ + print "bv64: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; +} + +method M53(a: bv53, b: bv53) + decreases a, b +{ + print "bv53: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; +} + +method M33(a: bv33, b: bv33) + decreases a, b +{ + print "bv33: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; +} + +method M32(a: bv32, b: bv32) + decreases a, b +{ + print "bv32: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; +} + +method M31(a: bv31, b: bv31) + decreases a, b +{ + print "bv31: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; +} + +method M16(a: bv16, b: bv16) + decreases a, b +{ + print "bv16: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; +} + +method M15(a: bv15, b: bv15) + decreases a, b +{ + print "bv15: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; +} + +method M8(a: bv8, b: bv8) + decreases a, b +{ + print "bv8: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; +} + +method M6(a: bv6, b: bv6) + decreases a, b +{ + print "bv6: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; +} + +method M1(a: bv1, b: bv1) + decreases a, b +{ + print "bv1: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; +} + +method M0(a: bv0, b: bv0) + decreases a, b +{ + print "bv0: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; +} + +method P2(a: bv2, b: bv2) + requires b != 0 + decreases a, b +{ + print "bv2:\n"; + print " ", a, " + ", b, " == ", a + b, "\n"; + print " ", a, " - ", b, " == ", a - b, "\n"; + print " ", a, " * ", b, " == ", a * b, "\n"; + print " ", a, " / ", b, " == ", a / b, "\n"; + print " ", a, " % ", b, " == ", a % b, "\n"; +} + +method Shifts() +{ + var x: int, h: Handful, b67: bv67, w: bv32, seven: bv7, bb: bv2, noll: bv0; + x, h := 3, 3; + b67, w, seven := 5, 5, 5; + PrintShifts("bv67", b67, 8 * b67, b67 << x as bv7, b67 << h as bv7); + PrintShifts("bv32", w, 8 * w, w << x as bv6, w << h as bv6); + PrintShifts("bv7", seven, 8 * seven, seven << x as bv3, seven << h as bv3); + bb, x, h := 1, 1, 1; + PrintShifts("bv2", bb, 2 * bb, bb << x as bv2, bb << h as bv2); + x, h := 0, 0; + PrintShifts("bv0", noll, 0 * noll, noll << x as bv0, noll << h as bv0); + b67, w, bb, noll := 73786976294838206465, 1, 1, 0; + var One67: bv67 := 1; + PrintShifts("bv67 again", b67 << One67 as bv7, b67 << w as bv7, b67 << bb as bv7, b67 << noll as bv7); + b67, w, bb, noll := 2, 3221225472 + 2000, 1, 0; + var Two32: bv32 := 2; + PrintShifts("bv32 again", w << b67 as bv6, w << Two32 as bv6, w << bb as bv6, w << noll as bv6); + seven, b67, w, bb, noll := 127, 2, 2, 2, 0; + PrintShifts("bv7 again", seven << b67 as bv3, seven << w as bv3, seven << bb as bv3, seven << noll as bv3); + b67, w, bb := 0, 0, 0; + PrintShifts("bv0 again", noll << b67 as bv0, noll << w as bv0, noll << bb as bv0, noll << noll as bv0); +} + +method PrintShifts(s: string, a: T, b: T, c: T, d: T) + decreases s +{ + print "PrintShifts: ", s, ": ", a, " ", b, " ", c, " ", d, "\n"; +} + +method Rotates() +{ + var x: int, w: bv12, seven: bv7, bb: bv2, noll: bv0; + x := 3; + w, seven, noll := 5, 5, 0; + PrintRotates("bv12", w, w.RotateLeft(x).RotateRight(x)); + PrintRotates("bv7", seven, seven.RotateLeft(x).RotateRight(x)); + bb, x := 1, 1; + PrintRotates("bv2", bb, bb.RotateLeft(x).RotateRight(x)); + x := 0; + PrintRotates("bv0", noll, noll.RotateLeft(x).RotateRight(x)); + x := 5; + w, seven := 3072 + 2000, 127; + PrintRotates("bv12 again", w, w.RotateLeft(x).RotateRight(x)); + PrintRotates("bv7 again", seven, seven.RotateLeft(x).RotateRight(x)); +} + +method PrintRotates(s: string, a: T, b: T) + decreases s +{ + print "PrintRotates: ", s, ": ", a, " ", b, "\n"; +} + +Dafny program verifier finished with 11 verified, 0 errors + +Dafny program verifier did not attempt verification +4000 4000 4000 0 +1 2053 1099 +185 55 +2 4 +Comparisons: true true false false +bv16: 5 - 2 == 3 +bv16: 1 - 2 == 65535 +3 2 +0 0 +false true true false +bv67: 147573952589676412927 + 3 == 2 - 3 == 147573952589676412925 !! 3 == ! 147573952589676412924 == 3 +bv64: 18446744073709551615 + 3 == 2 - 3 == 18446744073709551613 !! 3 == ! 18446744073709551612 == 3 +bv53: 9007199254740991 + 3 == 2 - 3 == 9007199254740989 !! 3 == ! 9007199254740988 == 3 +bv33: 8589934591 + 3 == 2 - 3 == 8589934589 !! 3 == ! 8589934588 == 3 +bv32: 4294967295 + 3 == 2 - 3 == 4294967293 !! 3 == ! 4294967292 == 3 +bv31: 2147483647 + 3 == 2 - 3 == 2147483645 !! 3 == ! 2147483644 == 3 +bv16: 65535 + 3 == 2 - 3 == 65533 !! 3 == ! 65532 == 3 +bv15: 32767 + 3 == 2 - 3 == 32765 !! 3 == ! 32764 == 3 +bv8: 255 + 3 == 2 - 3 == 253 !! 3 == ! 252 == 3 +bv6: 63 + 3 == 2 - 3 == 61 !! 3 == ! 60 == 3 +bv1: 1 + 1 == 0 - 1 == 1 !! 1 == ! 0 == 1 +bv0: 0 + 0 == 0 - 0 == 0 !! 0 == ! 0 == 0 +bv2: + 3 + 2 == 1 + 3 - 2 == 1 + 3 * 2 == 2 + 3 / 2 == 1 + 3 % 2 == 1 +PrintShifts: bv67: 5 40 40 40 +PrintShifts: bv32: 5 40 40 40 +PrintShifts: bv7: 5 40 40 40 +PrintShifts: bv2: 1 2 2 2 +PrintShifts: bv0: 0 0 0 0 +PrintShifts: bv67 again: 2 2 2 73786976294838206465 +PrintShifts: bv32 again: 8000 8000 2147487648 3221227472 +PrintShifts: bv7 again: 124 124 124 127 +PrintShifts: bv0 again: 0 0 0 0 +PrintRotates: bv12: 5 5 +PrintRotates: bv7: 5 5 +PrintRotates: bv2: 1 1 +PrintRotates: bv0: 0 0 +PrintRotates: bv12 again: 976 976 +PrintRotates: bv7 again: 127 127 + +Dafny program verifier did not attempt verification 4000 4000 4000 0 1 2053 1099 185 55 diff --git a/Test/dafny0/Compilation.dfy b/Test/dafny0/Compilation.dfy index 8c9594aa61f..d13af7dcf41 100644 --- a/Test/dafny0/Compilation.dfy +++ b/Test/dafny0/Compilation.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /autoTriggers:0 /deprecation:0 +// RUN: %dafny /compile:3 /deprecation:0 /autoTriggers:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // The tests in this file are designed to run through the compiler. They contain // program snippets that are tricky to compile or whose compilation once was buggy. diff --git a/Test/dafny0/Compilation.dfy.expect b/Test/dafny0/Compilation.dfy.expect index 1010a177b6f..d0fa1540237 100644 --- a/Test/dafny0/Compilation.dfy.expect +++ b/Test/dafny0/Compilation.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 29 verified, 0 errors 400 320 40 diff --git a/Test/dafny0/Constant.dfy b/Test/dafny0/Constant.dfy index 1fdeedc3335..f021e7d4482 100644 --- a/Test/dafny0/Constant.dfy +++ b/Test/dafny0/Constant.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" const one:int := 1 const two:int := one * 2 diff --git a/Test/dafny0/Constant.dfy.expect b/Test/dafny0/Constant.dfy.expect index 1a7b981715f..6099b08c38c 100644 --- a/Test/dafny0/Constant.dfy.expect +++ b/Test/dafny0/Constant.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 17 verified, 0 errors one := 1 two := 2 three := 3 diff --git a/Test/dafny0/Deprecation.dfy b/Test/dafny0/Deprecation.dfy index 86521043d43..8c9c688d463 100644 --- a/Test/dafny0/Deprecation.dfy +++ b/Test/dafny0/Deprecation.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // This file contains tests for messags about various deprecated features. // As those features go away completely, so can the corresponding tests. diff --git a/Test/dafny0/Deprecation.dfy.expect b/Test/dafny0/Deprecation.dfy.expect index 0dffd975ac7..4ff88d31ade 100644 --- a/Test/dafny0/Deprecation.dfy.expect +++ b/Test/dafny0/Deprecation.dfy.expect @@ -1 +1,8 @@ +Deprecation.dfy(16,13): Warning: constructors no longer need 'this' to be listed in modifies clauses +Deprecation.dfy(23,0): Warning: the old keyword phrase 'inductive predicate' has been renamed to 'least predicate' +Deprecation.dfy(26,0): Warning: the old keyword 'copredicate' has been renamed to the keyword phrase 'greatest predicate' +Deprecation.dfy(29,0): Warning: the old keyword phrase 'inductive lemma' has been renamed to 'least lemma' +Deprecation.dfy(32,0): Warning: the old keyword 'colemma' has been renamed to the keyword phrase 'greatest lemma' + +Dafny program verifier finished with 0 verified, 0 errors yet here we are diff --git a/Test/dafny0/DiscoverBounds.dfy b/Test/dafny0/DiscoverBounds.dfy index 18e56158613..31f9717ee79 100644 --- a/Test/dafny0/DiscoverBounds.dfy +++ b/Test/dafny0/DiscoverBounds.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /print:"%t.print" /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype NT = x | 0 <= x < 100 newtype UT = NT diff --git a/Test/dafny0/DiscoverBounds.dfy.expect b/Test/dafny0/DiscoverBounds.dfy.expect index 909a58326d0..e43954c7be1 100644 --- a/Test/dafny0/DiscoverBounds.dfy.expect +++ b/Test/dafny0/DiscoverBounds.dfy.expect @@ -1,3 +1,10 @@ +DiscoverBounds.dfy(32,7): Warning: /!\ No terms found to trigger on. +DiscoverBounds.dfy(33,7): Warning: /!\ No terms found to trigger on. +DiscoverBounds.dfy(34,7): Warning: /!\ No terms found to trigger on. +DiscoverBounds.dfy(35,7): Warning: /!\ No terms found to trigger on. +DiscoverBounds.dfy(36,7): Warning: /!\ No terms found to trigger on. + +Dafny program verifier finished with 7 verified, 0 errors 0 0 -2 diff --git a/Test/dafny0/DividedConstructors.dfy b/Test/dafny0/DividedConstructors.dfy index 069cb7adb58..8d5bf605ba0 100644 --- a/Test/dafny0/DividedConstructors.dfy +++ b/Test/dafny0/DividedConstructors.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /env:0 +// RUN: %dafny /compile:3 /env:0 /dprint:- "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var m := new M0.MyClass.Init(20); diff --git a/Test/dafny0/DividedConstructors.dfy.expect b/Test/dafny0/DividedConstructors.dfy.expect index 2dcc1ba6402..f7412d8d0a1 100644 --- a/Test/dafny0/DividedConstructors.dfy.expect +++ b/Test/dafny0/DividedConstructors.dfy.expect @@ -1,2 +1,188 @@ +DividedConstructors.dfy(62,9): Warning: the ... refinement feature in statements is deprecated +// DividedConstructors.dfy + + +module M0 { + class MyClass { + var a: nat + const b := 17 + var c: real + + constructor Init(x: nat) + { + this.a := x; + c := 3.14; + new; + a := a + b; + assert c == 3.14; + assert this.a == 17 + x; + } + + constructor (z: real) + ensures c <= 2.0 * z + { + a, c := 50, 2.0 * z; + new; + } + + constructor Make() + ensures 10 <= a + { + new; + a := a + b; + } + + constructor Create() + ensures 30 <= a + { + new; + a := a + 2 * b; + } + } +} + +module M1 refines M0 { + class MyClass ... { + const d := 'D' + var e: char + + constructor Init ... + { + e := 'e'; + new; + e := 'x'; + ...; + assert e == 'x'; + } + + constructor ... + { + e := 'y'; + new; + } + + constructor Make ... + { + new; + e := 'z'; + } + + constructor Create ... + { + e := 'w'; + } + } +} + +module TypeOfThis { + class LinkedList { + ghost var Repr: set> + ghost var Rapr: set> + ghost var S: set + ghost var T: set + + constructor Init() + { + Repr := {this}; + } + + constructor Init'() + { + Rapr := {this}; + } + + constructor Create() + { + S := {this}; + } + + constructor Create'() + { + T := {this}; + } + + constructor Two() + { + new; + var ll: LinkedList? := this; + var o: object? := this; + if + case true => + T := {o}; + case true => + S := {o}; + case true => + Repr := {ll}; + case true => + Rapr := {ll}; + case true => + S := {ll}; + case true => + T := {ll}; + } + + method Mutate() + modifies this + { + Repr := {this}; + Rapr := {this}; + S := {this}; + T := {this}; + } + } +} + +module Regression { + class A { + var b: bool + var y: int + + constructor Make0() + ensures b == false + { + b := false; + } + + constructor Make1() + ensures b == true + { + b := true; + } + + constructor Make2() + { + b := false; + new; + assert !b; + } + + constructor Make3() + ensures b == false && y == 65 + { + b := false; + y := 65; + new; + assert !b; + assert y == 65; + } + + constructor Make4(bb: bool, yy: int) + ensures b == bb && y == yy + { + b, y := bb, yy; + } + } +} +method Main() +{ + var m := new M0.MyClass.Init(20); + print m.a, ", ", m.b, ", ", m.c, "\n"; + var r0 := new Regression.A.Make0(); + var r1 := new Regression.A.Make1(); + assert r0.b != r1.b; + print r0.b, ", ", r1.b, "\n"; +} + +Dafny program verifier finished with 17 verified, 0 errors 37, 17, 3.14 false, true diff --git a/Test/dafny0/EqualityTypesCompile.dfy b/Test/dafny0/EqualityTypesCompile.dfy index a36d1818c1d..de7954710e9 100644 --- a/Test/dafny0/EqualityTypesCompile.dfy +++ b/Test/dafny0/EqualityTypesCompile.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype List = Nil | Cons(A, List) | ICons(int, List) datatype TwoLists = Two(List, List) diff --git a/Test/dafny0/EqualityTypesCompile.dfy.expect b/Test/dafny0/EqualityTypesCompile.dfy.expect index 0246dc39633..d2f1950e7f7 100644 --- a/Test/dafny0/EqualityTypesCompile.dfy.expect +++ b/Test/dafny0/EqualityTypesCompile.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 1 verified, 0 errors from M: false from N: false from H: false diff --git a/Test/dafny0/ForallCompilation.dfy b/Test/dafny0/ForallCompilation.dfy index 731ce83015f..40c381521e8 100644 --- a/Test/dafny0/ForallCompilation.dfy +++ b/Test/dafny0/ForallCompilation.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /autoTriggers:0 +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" /autoTriggers:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var c := new MyClass; diff --git a/Test/dafny0/ForallCompilation.dfy.expect b/Test/dafny0/ForallCompilation.dfy.expect index e69de29bb2d..66ffe3665d5 100644 --- a/Test/dafny0/ForallCompilation.dfy.expect +++ b/Test/dafny0/ForallCompilation.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 14 verified, 0 errors diff --git a/Test/dafny0/ForallCompilationNewSyntax.dfy b/Test/dafny0/ForallCompilationNewSyntax.dfy index ac354d6338c..b7132df78ae 100644 --- a/Test/dafny0/ForallCompilationNewSyntax.dfy +++ b/Test/dafny0/ForallCompilationNewSyntax.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --quantifier-syntax:4 --relax-definite-assignment +// RUN: %baredafny run %args --relax-definite-assignment --quantifier-syntax:4 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var c := new MyClass; diff --git a/Test/dafny0/ForallCompilationNewSyntax.dfy.expect b/Test/dafny0/ForallCompilationNewSyntax.dfy.expect index e69de29bb2d..5b7ec4613bb 100644 --- a/Test/dafny0/ForallCompilationNewSyntax.dfy.expect +++ b/Test/dafny0/ForallCompilationNewSyntax.dfy.expect @@ -0,0 +1,6 @@ +ForallCompilationNewSyntax.dfy(26,4): Warning: /!\ No terms found to trigger on. +ForallCompilationNewSyntax.dfy(35,4): Warning: /!\ No terms found to trigger on. +ForallCompilationNewSyntax.dfy(44,4): Warning: /!\ No terms found to trigger on. +ForallCompilationNewSyntax.dfy(64,4): Warning: /!\ No trigger covering all quantified variables found. + +Dafny program verifier finished with 14 verified, 0 errors diff --git a/Test/dafny0/GhostGuards.dfy b/Test/dafny0/GhostGuards.dfy index 49877792a47..b17c98662ce 100644 --- a/Test/dafny0/GhostGuards.dfy +++ b/Test/dafny0/GhostGuards.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /printTooltips /rprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Dt = Green | Dog diff --git a/Test/dafny0/GhostGuards.dfy.expect b/Test/dafny0/GhostGuards.dfy.expect index e69de29bb2d..8bb8a71d69d 100644 --- a/Test/dafny0/GhostGuards.dfy.expect +++ b/Test/dafny0/GhostGuards.dfy.expect @@ -0,0 +1,7 @@ +GhostGuards.dfy(12,9): Info: ghost if +GhostGuards.dfy(18,2): Info: ghost if +GhostGuards.dfy(28,2): Info: ghost while +GhostGuards.dfy(41,2): Info: ghost while +GhostGuards.dfy(54,2): Info: ghost match + +Dafny program verifier finished with 1 verified, 0 errors diff --git a/Test/dafny0/GhostITECompilation.dfy b/Test/dafny0/GhostITECompilation.dfy index bd7cfa28a95..d761ddbc6ea 100644 --- a/Test/dafny0/GhostITECompilation.dfy +++ b/Test/dafny0/GhostITECompilation.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --function-syntax:4 --relax-definite-assignment +// RUN: %dafny /compile:0 /functionSyntax:4 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" function F(x: nat, ghost y: nat): nat { diff --git a/Test/dafny0/GhostITECompilation.dfy.expect b/Test/dafny0/GhostITECompilation.dfy.expect index b4988e5cf11..1ec406bf52c 100644 --- a/Test/dafny0/GhostITECompilation.dfy.expect +++ b/Test/dafny0/GhostITECompilation.dfy.expect @@ -1,3 +1,31 @@ + +Dafny program verifier finished with 6 verified, 0 errors + +Dafny program verifier did not attempt verification +65 +65 +65 +65 + +Dafny program verifier did not attempt verification +65 +65 +65 +65 + +Dafny program verifier did not attempt verification +65 +65 +65 +65 + +Dafny program verifier did not attempt verification +65 +65 +65 +65 + +Dafny program verifier did not attempt verification 65 65 65 diff --git a/Test/dafny0/InitialValues.dfy b/Test/dafny0/InitialValues.dfy index 0848d244d71..7dcb05cc9c9 100644 --- a/Test/dafny0/InitialValues.dfy +++ b/Test/dafny0/InitialValues.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny0/InitialValues.dfy.expect b/Test/dafny0/InitialValues.dfy.expect index 18903dcc3dd..ada1b783c16 100644 --- a/Test/dafny0/InitialValues.dfy.expect +++ b/Test/dafny0/InitialValues.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 2 verified, 0 errors r= 0.0 s= 3.4 a= 0.0 b= 3.4 z= 0.0 a==z = true diff --git a/Test/dafny0/MatchBraces.dfy b/Test/dafny0/MatchBraces.dfy index 6a1fb7cd52c..b3b87fd5e4a 100644 --- a/Test/dafny0/MatchBraces.dfy +++ b/Test/dafny0/MatchBraces.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /env:0 +// RUN: %dafny /compile:0 /print:"%t.print" /env:0 /dprint:- "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Color = Red | Green | Blue diff --git a/Test/dafny0/MatchBraces.dfy.expect b/Test/dafny0/MatchBraces.dfy.expect index 4f89bff47e5..b6129bafcc0 100644 --- a/Test/dafny0/MatchBraces.dfy.expect +++ b/Test/dafny0/MatchBraces.dfy.expect @@ -1,2 +1,135 @@ +// MatchBraces.dfy + +datatype Color = Red | Green | Blue + +method Main() +{ + M(Green, Red); + M(Blue, Blue); +} + +method M(c: Color, d: Color) +{ + var x := match c case Red => 5 case Green => 7 case Blue => 11; + var y := match c case Red => 0.3 case Green => (match d case Red => 0.18 case Green => 0.21 case Blue => 0.98) case Blue => 98.0; + var z := match c case Red => Green case Green => match d { case Red => Red case Green => Blue case Blue => Red } case Blue => Green; + var w := match c { case Red => 2 case Green => 3 case Blue => 4 } + 10; + var t := match c case Red => 0 case Green => match d { case Red => 2 case Green => 2 case Blue => 1 } + (match d case Red => 10 case Green => 8 case Blue => 5) case Blue => match d { case Red => 20 case Green => 20 case Blue => 10 } + match d case Red => 110 case Green => 108 case Blue => 105; + print x, " ", y, " ", z, " ", w, " ", t, "\n"; +} + +ghost function Heat(c: Color): int +{ + match c + case Red => + 10 + case Green => + 12 + case Blue => + 14 +} + +ghost function IceCream(c: Color): int +{ + match c { + case Red => + 0 + case Green => + 4 + case Blue => + 1 + } +} + +ghost function Flowers(c: Color, d: Color): int +{ + match c { + case Red => + match d { + case Red => + 0 + case Green => + 1 + case Blue => + 2 + } + case Green => + match d { case Red => 3 case Green => 3 case Blue => 2 } + 20 + case Blue => + match d { case Red => 9 case Green => 8 case Blue => 7 } + match d case Red => 23 case Green => 29 case Blue => 31 + } +} + +method P(c: Color, d: Color) +{ + var x: int; + match c { + case {:split false} Red => + x := 20; + case {:split false} Green => + case {:split false} Blue => + } + match c + case {:split false} Red => + match d { + case {:split false} Red => + case {:split false} Green => + case {:split false} Blue => + } + case {:split false} Green => + var y := 25; + var z := y + 3; + case {:split false} Blue => + { + var y := 25; + var z := y + 3; + } + match d + case {:split false} Red => + case {:split false} Green => + x := x + 1; + case {:split false} Blue => +} + +lemma HeatIsEven(c: Color) + ensures Heat(c) % 2 == 0 +{ + match c + case {:split false} Red => + assert 10 % 2 == 0; + case {:split false} Green => + assert 12 % 2 == 0; + case {:split false} Blue => +} + +method DegenerateExamples(c: Color) + requires Heat(c) == 10 +{ + match c + case {:split false} Red => + case {:split false} Green => + match c { + } + case {:split false} Blue => + match c +} + +method MoreDegenerateExamples(c: Color) + requires Heat(c) == 10 +{ + if c == Green { + var x: int := match c; + var y: int := match c { }; + var z := match c case Blue => 4; + } +} + +Dafny program verifier finished with 5 verified, 0 errors + +Dafny program verifier did not attempt verification +7 0.18 Color.Red 13 12 +11 98.0 Color.Green 14 115 + +Dafny program verifier did not attempt verification 7 0.18 Color.Red 13 12 11 98.0 Color.Green 14 115 diff --git a/Test/dafny0/MoForallCompilation.dfy b/Test/dafny0/MoForallCompilation.dfy index af080853463..835712edbce 100644 --- a/Test/dafny0/MoForallCompilation.dfy +++ b/Test/dafny0/MoForallCompilation.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { TestAggregateArrayUpdate(); diff --git a/Test/dafny0/MoForallCompilation.dfy.expect b/Test/dafny0/MoForallCompilation.dfy.expect index 7bb606c1528..c431c74c6aa 100644 --- a/Test/dafny0/MoForallCompilation.dfy.expect +++ b/Test/dafny0/MoForallCompilation.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 18 verified, 0 errors -4.0 -3.0 -2.0 -1.0 0.0 1.0 2.0 3.0 7.0 6.0 5.0 4.0 3.0 2.0 1.0 0.0 true true true true true true false false diff --git a/Test/dafny0/NameclashesCompile.dfy b/Test/dafny0/NameclashesCompile.dfy index 46cae4b2338..4d06065c675 100644 --- a/Test/dafny0/NameclashesCompile.dfy +++ b/Test/dafny0/NameclashesCompile.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var r0, r1; diff --git a/Test/dafny0/NameclashesCompile.dfy.expect b/Test/dafny0/NameclashesCompile.dfy.expect index f001bdaeb1e..1434bb632f6 100644 --- a/Test/dafny0/NameclashesCompile.dfy.expect +++ b/Test/dafny0/NameclashesCompile.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 2 verified, 0 errors 15.0 15.1 94 99 0.8 14.3 14.4 18.9 18.92 diff --git a/Test/dafny0/NonZeroInitializationCompile.dfy b/Test/dafny0/NonZeroInitializationCompile.dfy index 2fedae6d60d..48b61a39369 100644 --- a/Test/dafny0/NonZeroInitializationCompile.dfy +++ b/Test/dafny0/NonZeroInitializationCompile.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" type MyInt = x | 6 <= x witness 6 newtype MyNewInt = x | 6 <= x witness 12 diff --git a/Test/dafny0/NonZeroInitializationCompile.dfy.expect b/Test/dafny0/NonZeroInitializationCompile.dfy.expect index 2e20350afad..69539e473c2 100644 --- a/Test/dafny0/NonZeroInitializationCompile.dfy.expect +++ b/Test/dafny0/NonZeroInitializationCompile.dfy.expect @@ -1,3 +1,76 @@ + +Dafny program verifier finished with 15 verified, 0 errors + +Dafny program verifier did not attempt verification +These are the arbitrary values chosen by the compiler: 6, 12 +short, short': 0, -35 +nes: {57} +f0, f1: (0, false), (29, true) +dt: Dt.Atom(-35) +cl { u: 12, x: 0, r: 3.14, nes: {57} } +cl' { u: 12, x: 0, ': 3.14, nes: {20, 57} } + +x: real :: 0.0 versus 0.0 +ch: char :: 'D' versus 'D' +s: set :: {} versus {} +d: Xt :: AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) versus AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) +y: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) +z: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) + +x: real :: 0.0 versus 0.0 +ch: char :: 'D' versus 'D' +s: set :: {} versus {} +d: Xt :: AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) versus AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) +y: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) +z: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) + +Dafny program verifier did not attempt verification +These are the arbitrary values chosen by the compiler: 6, 12 +short, short': 0, -35 +nes: {57} +f0, f1: (0, false), (29, true) +dt: Dt.Atom(-35) +cl { u: 12, x: 0, r: 3.14, nes: {57} } +cl' { u: 12, x: 0, ': 3.14, nes: {20, 57} } + +x: real :: 0.0 versus 0.0 +ch: char :: 'D' versus 'D' +s: set :: {} versus {} +d: Xt :: AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) versus AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) +y: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) +z: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) + +x: real :: 0.0 versus 0.0 +ch: char :: 'D' versus 'D' +s: set :: {} versus {} +d: Xt :: AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) versus AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) +y: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) +z: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) + +Dafny program verifier did not attempt verification +These are the arbitrary values chosen by the compiler: 6, 12 +short, short': 0, -35 +nes: {57} +f0, f1: (0, false), (29, true) +dt: Dt.Atom(-35) +cl { u: 12, x: 0, r: 3.14, nes: {57} } +cl' { u: 12, x: 0, ': 3.14, nes: {20, 57} } + +x: real :: 0.0 versus 0.0 +ch: char :: 'D' versus 'D' +s: set :: {} versus {} +d: Xt :: AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) versus AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) +y: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) +z: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) + +x: real :: 0.0 versus 0.0 +ch: char :: 'D' versus 'D' +s: set :: {} versus {} +d: Xt :: AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) versus AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) +y: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) +z: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) + +Dafny program verifier did not attempt verification These are the arbitrary values chosen by the compiler: 6, 12 short, short': 0, -35 nes: {57} diff --git a/Test/dafny0/NullComparisonWarnings.dfy b/Test/dafny0/NullComparisonWarnings.dfy index 35fd5ffb3f4..eb9183040bc 100644 --- a/Test/dafny0/NullComparisonWarnings.dfy +++ b/Test/dafny0/NullComparisonWarnings.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { print "despite the warnings, the program still compiles\n"; diff --git a/Test/dafny0/NullComparisonWarnings.dfy.expect b/Test/dafny0/NullComparisonWarnings.dfy.expect index f2b4545fac7..d8cf4a9960c 100644 --- a/Test/dafny0/NullComparisonWarnings.dfy.expect +++ b/Test/dafny0/NullComparisonWarnings.dfy.expect @@ -1 +1,14 @@ +NullComparisonWarnings.dfy(27,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(28,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'y' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(29,14): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for field 'next' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(30,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(31,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'y' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(32,14): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for field 'next' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(34,12): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(37,12): Warning: the type of the other operand is a set of non-null elements, so the inclusion test of 'null' will always return 'false' +NullComparisonWarnings.dfy(38,12): Warning: the type of the other operand is a set of non-null elements, so the non-inclusion test of 'null' will always return 'true' +NullComparisonWarnings.dfy(40,41): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'u' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(45,12): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' + +Dafny program verifier finished with 4 verified, 0 errors despite the warnings, the program still compiles diff --git a/Test/dafny0/PrintUTF8.dfy b/Test/dafny0/PrintUTF8.dfy index eff7baa32a9..5d4e376b19d 100644 --- a/Test/dafny0/PrintUTF8.dfy +++ b/Test/dafny0/PrintUTF8.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { print "Mikaël fixed UTF8\n"; diff --git a/Test/dafny0/PrintUTF8.dfy.expect b/Test/dafny0/PrintUTF8.dfy.expect index 818549280d3..52a23e906cc 100644 --- a/Test/dafny0/PrintUTF8.dfy.expect +++ b/Test/dafny0/PrintUTF8.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 0 verified, 0 errors Mikaël fixed UTF8 diff --git a/Test/dafny0/RangeCompilation.dfy b/Test/dafny0/RangeCompilation.dfy index 3f3e6aed0f8..53a8d6e33e5 100644 --- a/Test/dafny0/RangeCompilation.dfy +++ b/Test/dafny0/RangeCompilation.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype Byte = x | 0 <= x < 256 predicate GoodByte(b: Byte) { diff --git a/Test/dafny0/RangeCompilation.dfy.expect b/Test/dafny0/RangeCompilation.dfy.expect index 9e0f9e5f028..82fbbb9b698 100644 --- a/Test/dafny0/RangeCompilation.dfy.expect +++ b/Test/dafny0/RangeCompilation.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 4 verified, 0 errors b=2 i=4 diff --git a/Test/dafny0/SeqFromArray.dfy b/Test/dafny0/SeqFromArray.dfy index 39f72303d18..6bab732c906 100644 --- a/Test/dafny0/SeqFromArray.dfy +++ b/Test/dafny0/SeqFromArray.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // /autoTriggers:1 added to suppress instabilities diff --git a/Test/dafny0/SeqFromArray.dfy.expect b/Test/dafny0/SeqFromArray.dfy.expect index e69de29bb2d..1981561ca00 100644 --- a/Test/dafny0/SeqFromArray.dfy.expect +++ b/Test/dafny0/SeqFromArray.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 10 verified, 0 errors diff --git a/Test/dafny0/SharedDestructorsCompile.dfy b/Test/dafny0/SharedDestructorsCompile.dfy index 64d8b245b58..8171cf72404 100644 --- a/Test/dafny0/SharedDestructorsCompile.dfy +++ b/Test/dafny0/SharedDestructorsCompile.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Dt = | A(x: int, y: real) diff --git a/Test/dafny0/SharedDestructorsCompile.dfy.expect b/Test/dafny0/SharedDestructorsCompile.dfy.expect index 060d152d77b..e037db03c40 100644 --- a/Test/dafny0/SharedDestructorsCompile.dfy.expect +++ b/Test/dafny0/SharedDestructorsCompile.dfy.expect @@ -1,3 +1,20 @@ + +Dafny program verifier finished with 3 verified, 0 errors + +Dafny program verifier did not attempt verification +Dt.A(10, 12.0): x=10 y=12.0 +Dt.B(_module.MyClass, 6): h=_module.MyClass x=6 +Dt.C(3.14): y=3.14 +Dt.C(3.14) +Dt.A(71, 0.1) +Klef.C3(44, 100, 66, 200) +Datte.AA(10, 2) Datte.AA(10, 5) +Datte.BB(false, 12) Datte.BB(false, 6) +Datte.CC(3.2) Datte.CC(3.4) +Datte.DD(100, {7}, 5, 9.0) Datte.DD(30, {7}, 5, 9.0) +Datte.DD(100, {7}, 5, 9.0) Datte.DD(30, {7}, 5, 2.0) + +Dafny program verifier did not attempt verification Dt.A(10, 12.0): x=10 y=12.0 Dt.B(_module.MyClass, 6): h=_module.MyClass x=6 Dt.C(3.14): y=3.14 diff --git a/Test/dafny0/SiblingImports.dfy b/Test/dafny0/SiblingImports.dfy index 756e4b253f3..3fb01d9d1b8 100644 --- a/Test/dafny0/SiblingImports.dfy +++ b/Test/dafny0/SiblingImports.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { ClientA.Test(); diff --git a/Test/dafny0/SiblingImports.dfy.expect b/Test/dafny0/SiblingImports.dfy.expect index fb6171563ac..ba4df82a925 100644 --- a/Test/dafny0/SiblingImports.dfy.expect +++ b/Test/dafny0/SiblingImports.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 1 verified, 0 errors ClientA.Inner.Five: 5 ClientB.Inner.Five: 5 ClientC.Inner.Five: 5 diff --git a/Test/dafny0/TypeConversionsCompile.dfy b/Test/dafny0/TypeConversionsCompile.dfy index b7d02dd31f3..066af1b305b 100644 --- a/Test/dafny0/TypeConversionsCompile.dfy +++ b/Test/dafny0/TypeConversionsCompile.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /env:0 +// RUN: %dafny /compile:3 /print:"%t.print" /env:0 /rprint:- "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype Handful = x | 0 <= x < 0x8000 // this type turns native newtype Abundance = y | -20 <= y < 0x200_0000_0000 // still fits inside a "long" diff --git a/Test/dafny0/TypeConversionsCompile.dfy.expect b/Test/dafny0/TypeConversionsCompile.dfy.expect index 78990cf4a30..d6b02b34eae 100644 --- a/Test/dafny0/TypeConversionsCompile.dfy.expect +++ b/Test/dafny0/TypeConversionsCompile.dfy.expect @@ -1,3 +1,228 @@ +// TypeConversionsCompile.dfy + +/* +module _System { + /* CALL GRAPH for module _System: + * SCC at height 1: + * RotateLeft + * SCC at height 1: + * RotateRight + * SCC at height 0: + * array + * SCC at height 0: + * nat + * SCC at height 0: + * object + */ + type string(==,0) = seq + + type {:axiom} nat(==,0) = x: int + | 0 <= x + + trait {:compile false} object { } + /*-- non-null type + type {:axiom} object(==) = c: object? | c != null /*special witness*/ + */ + + class {:compile false} array { + var Length: int // immutable + } + /*-- non-null type + type {:axiom} array(==) = c: array? | c != null /*special witness*/ + */ + + type {:compile false} /*_#Func1*/ -T0 ~> +R { + ghost function requires(x0: T0): bool + reads reads(x0) + + ghost function reads(x0: T0): set + reads reads(x0) + } + + type {:compile false} /*_#PartialFunc1*/ -T0 --> +R = f: T0 ~> R + | forall x0: T0 :: f.reads(x0) == {} + /*special witness*/ + + type {:compile false} /*_#TotalFunc1*/ -T0 -> +R = f: T0 --> R + | forall x0: T0 :: f.requires(x0) + /*special witness*/ + + type {:compile false} /*_#Func0*/ () ~> +R { + ghost function requires(): bool + reads reads() + + ghost function reads(): set + reads reads() + } + + type {:compile false} /*_#PartialFunc0*/ () --> +R = f: () ~> R + | f.reads() == {} + /*special witness*/ + + type {:compile false} /*_#TotalFunc0*/ () -> +R = f: () --> R + | f.requires() + /*special witness*/ + + datatype {:compile false} /*_tuple#2*/ (+T0, +T1) = _#Make2(0: T0, 1: T1) + + type bool { } + + type int { } + + type real { + var Floor: int // immutable + } + + type ORDINAL { + var IsLimit: bool // immutable + var IsSucc: bool // immutable + var Offset: int // immutable + var IsNat: bool // immutable + } + + type _bv { + function RotateLeft(w: nat): selftype + + function RotateRight(w: nat): selftype + } + + type map<+T, +U> { + var Keys: set // immutable + var Values: set // immutable + var Items: set<(T, U)> // immutable + } + + type imap<*T, +U> { + var Keys: iset // immutable + var Values: iset // immutable + var Items: iset<(T, U)> // immutable + } + + datatype {:compile false} /*_tuple#0*/ () = _#Make0 +} +// bitvector types in use: bv67 bv32 bv7 bv0 bv300 +*/ + +/* CALL GRAPH for module _module: + * SCC at height 2: + * Main + * SCC at height 1: + * Difficult + * SCC at height 1: + * Print + * SCC at height 0: + * Abundance + * SCC at height 0: + * EvenInt + * SCC at height 0: + * Handful + * SCC at height 0: + * OrdinalTests + * SCC at height 0: + * PrintExpected + * SCC at height 0: + * SmallReal + * SCC at height 0: + * int64 + */ +newtype Handful = x: int + | 0 <= x < 32768 + +newtype Abundance = y: int + | -20 <= y < 2199023255552 + +newtype int64 = y: int + | -9223372036854775808 <= y < 9223372036854775808 + +newtype EvenInt = x: int + | x % 2 == 0 + +newtype SmallReal = r: real + | -4.0 <= r < 300.0 + +method Print(x: int, n: nat, r: real, handful: Handful, even: EvenInt, small: SmallReal, b67: bv67, w: bv32, seven: bv7, noll: bv0) + decreases x, n, r, handful, even, small, b67, w, seven, noll +{ + print x, " ", n, " ", r, " ", handful, " ", even, " ", small, " ", b67, " ", w, " ", seven, " ", noll, "\n"; +} + +method PrintExpected(got: T, expected: T) +{ + print "got ", got, ", expected ", expected, "\n"; +} + +method Main() +{ + var x: int, n: nat, r: real := 3, 4, 5.0; + var handful: Handful, even: EvenInt, small: SmallReal := 5, 6, -1.0; + var b67: bv67, w: bv32, seven: bv7, noll: bv0 := 147573952589676412927, 4294967295, 127, 0; + Print(x, n, r, handful, even, small, b67, w, seven, noll); + PrintExpected(x as bv7, 3); + PrintExpected(0 as bv0, 0); + PrintExpected(r as int, 5); + PrintExpected((2.0 * r) as EvenInt, 10); + PrintExpected(x as real, 3.0); + PrintExpected(even as real, 6.0); + PrintExpected((small + 3.0) as Handful, 2); + PrintExpected(noll as Handful, 0); + PrintExpected(noll as SmallReal, 0.0); + PrintExpected(w as real, 4294967295.0); + PrintExpected(seven as real, 127.0); + PrintExpected(noll as bv32, 0); + PrintExpected(noll as bv67, 0); + PrintExpected(seven as bv32, 127); + PrintExpected(seven as bv67, 127); + b67 := 50; + PrintExpected(r as bv67, 5); + PrintExpected(r as bv32, 5); + PrintExpected(w as bv67, 4294967295); + PrintExpected(r as bv7, 5); + PrintExpected(0.0 as bv0, 0); + PrintExpected(handful as bv67, 5); + PrintExpected(handful as bv32, 5); + PrintExpected(handful as bv7, 5); + PrintExpected(handful as int, 5); + PrintExpected(noll as bv32 as bv0, 0); + PrintExpected(noll as bv67 as bv0, 0); + PrintExpected(seven as bv32 as bv7, 127); + PrintExpected(seven as bv67 as bv7, 127); + PrintExpected(handful as real, 5.0); + Difficult(); + var a0: Abundance, a1: Abundance, a2: Abundance, lng: int64; + var s: set := {4.0, 6.3, r, 1000.2}; + var a: array := new char[68]; + handful := 120 as Handful; + a0, a1 := -1 as Abundance, 4 as Abundance; + a2 := 8589934592 as Abundance; + w, lng := 6345789 as bv32, -9223372036854775808 as int64; + print handful, " ", a0, " ", a1, " ", a2, " ", w, " ", lng, "\n"; + x, handful, a0, w := |s|, |s| as Handful, |s| as Abundance, |s| as bv32; + print x, " ", handful, " ", a0, " ", w, "\n"; + x, handful, a0, w := a.Length, a.Length as Handful, a.Length as Abundance, a.Length as bv32; + print x, " ", handful, " ", a0, " ", w, "\n"; + OrdinalTests(); +} + +method Difficult() +{ + if 14 as real as int as bv67 == 14 { + PrintExpected(14 as real as int as bv67 as EvenInt as SmallReal as Handful as bv7 as bv32 as int, 14); + } +} + +method OrdinalTests() +{ + var ord: ORDINAL := 143; + var iord: int := ord as int; + var oord: ORDINAL := iord as ORDINAL; + print "Something about ORDINAL: ", ord, " ", iord, " ", oord, " ", ord + 4, " ", ord - 100, "\n"; + print "ORDINAL and bitvectors: ", 20 as bv32 as ORDINAL, " ", 20 as bv300 as ORDINAL, "\n"; + print ord.IsLimit, " ", ord.Offset, " ", ord.IsNat, "\n"; + ord := 0; + print ord.IsLimit, " ", ord.Offset, " ", ord.IsNat, "\n"; +} + +Dafny program verifier finished with 8 verified, 0 errors 3 4 5.0 5 6 -1.0 147573952589676412927 4294967295 127 0 got 3, expected 3 got 0, expected 0 diff --git a/Test/dafny0/TypeMembers.dfy b/Test/dafny0/TypeMembers.dfy index f2bea4039c9..2ab57767ad5 100644 --- a/Test/dafny0/TypeMembers.dfy +++ b/Test/dafny0/TypeMembers.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { BasicTests(); diff --git a/Test/dafny0/TypeMembers.dfy.expect b/Test/dafny0/TypeMembers.dfy.expect index 923cb07e841..1d406ca85dc 100644 --- a/Test/dafny0/TypeMembers.dfy.expect +++ b/Test/dafny0/TypeMembers.dfy.expect @@ -1,3 +1,32 @@ +TypeMembers.dfy(117,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect + +Dafny program verifier finished with 29 verified, 0 errors +TypeMembers.dfy(117,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect + +Dafny program verifier did not attempt verification +DaTy.Yes 10 26 +8 11 10 11 10 +35 10 14 +22 22 +9 Dt.Business(false, 5) +76 77 +19 +0 0 +19 82 83 +93 Co.Cobalt +27 27 +18 +11 18 18 22 +15 30 29 +95 11 +162 165 +11 18 18 3 +15 30 29 +95 11 +162 165 +TypeMembers.dfy(117,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect + +Dafny program verifier did not attempt verification DaTy.Yes 10 26 8 11 10 11 10 35 10 14 diff --git a/Test/dafny0/TypeMembers.dfy.verifier.expect b/Test/dafny0/TypeMembers.dfy.verifier.expect deleted file mode 100644 index 7b6aaff62cf..00000000000 --- a/Test/dafny0/TypeMembers.dfy.verifier.expect +++ /dev/null @@ -1 +0,0 @@ -TypeMembers.dfy(117,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect diff --git a/Test/dafny0/Wellfounded.dfy b/Test/dafny0/Wellfounded.dfy index 7ec2be06b38..2ed488974c6 100644 --- a/Test/dafny0/Wellfounded.dfy +++ b/Test/dafny0/Wellfounded.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var d := Int(10); diff --git a/Test/dafny0/Wellfounded.dfy.expect b/Test/dafny0/Wellfounded.dfy.expect index 52742a67098..73d7a1e7ca2 100644 --- a/Test/dafny0/Wellfounded.dfy.expect +++ b/Test/dafny0/Wellfounded.dfy.expect @@ -1,3 +1,7 @@ +Wellfounded.dfy(49,14): Warning: /!\ No terms found to trigger on. +Wellfounded.dfy(77,5): Warning: /!\ No terms found to trigger on. + +Dafny program verifier finished with 3 verified, 0 errors M(d, d) = 10 M(a1, d) = 10 M(a2, d) = 10 diff --git a/Test/dafny2/MinWindowMax.dfy b/Test/dafny2/MinWindowMax.dfy index 32342cdd8b9..71ccb539d7d 100644 --- a/Test/dafny2/MinWindowMax.dfy +++ b/Test/dafny2/MinWindowMax.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Minimum window-max problem. // Rustan Leino diff --git a/Test/dafny2/MinWindowMax.dfy.expect b/Test/dafny2/MinWindowMax.dfy.expect index 1bb5609994e..f6f6e52d9bc 100644 --- a/Test/dafny2/MinWindowMax.dfy.expect +++ b/Test/dafny2/MinWindowMax.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 12 verified, 0 errors Window size 1: min window-max is -5 Window size 2: min window-max is 2 Window size 3: min window-max is 3 diff --git a/Test/dafny2/SmallestMissingNumber-functional.dfy b/Test/dafny2/SmallestMissingNumber-functional.dfy index a1544efab5f..047475c2680 100644 --- a/Test/dafny2/SmallestMissingNumber-functional.dfy +++ b/Test/dafny2/SmallestMissingNumber-functional.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Smallest missing number problem, functional version without duplicates. // A purely functional solution to the programming problem in Richard Bird's diff --git a/Test/dafny2/SmallestMissingNumber-functional.dfy.expect b/Test/dafny2/SmallestMissingNumber-functional.dfy.expect index 5d75da8ddd3..208b183ee3e 100644 --- a/Test/dafny2/SmallestMissingNumber-functional.dfy.expect +++ b/Test/dafny2/SmallestMissingNumber-functional.dfy.expect @@ -1 +1,4 @@ +SmallestMissingNumber-functional.dfy(213,11): Warning: /!\ No terms found to trigger on. + +Dafny program verifier finished with 21 verified, 0 errors 0 1 4 5 diff --git a/Test/dafny2/SmallestMissingNumber-imperative.dfy b/Test/dafny2/SmallestMissingNumber-imperative.dfy index 314bf4e464c..b8539481a54 100644 --- a/Test/dafny2/SmallestMissingNumber-imperative.dfy +++ b/Test/dafny2/SmallestMissingNumber-imperative.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Smallest missing number. // An imperative solution to the programming problem in Richard Bird's diff --git a/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect b/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect index cfb25913041..bc4a868fdff 100644 --- a/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect +++ b/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 8 verified, 0 errors 0 1 5 diff --git a/Test/dafny2/StoreAndRetrieve.dfy b/Test/dafny2/StoreAndRetrieve.dfy index 87b7bc78127..968b6948e0d 100644 --- a/Test/dafny2/StoreAndRetrieve.dfy +++ b/Test/dafny2/StoreAndRetrieve.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // This file shows an example program that uses both refinement and :autocontracts // specify a class that stores a set of things that can be retrieved using a query. diff --git a/Test/dafny2/StoreAndRetrieve.dfy.expect b/Test/dafny2/StoreAndRetrieve.dfy.expect index 030f5bfab39..1d7d71d5202 100644 --- a/Test/dafny2/StoreAndRetrieve.dfy.expect +++ b/Test/dafny2/StoreAndRetrieve.dfy.expect @@ -1 +1,39 @@ +StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier finished with 19 verified, 0 errors +StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +20.3 +StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +20.3 +StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +20.3 +StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification 20.3 diff --git a/Test/dafny2/StoreAndRetrieve.dfy.verifier.expect b/Test/dafny2/StoreAndRetrieve.dfy.verifier.expect deleted file mode 100644 index 7727ed0c4f5..00000000000 --- a/Test/dafny2/StoreAndRetrieve.dfy.verifier.expect +++ /dev/null @@ -1,5 +0,0 @@ -StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny2/Z-BirthdayBook.dfy b/Test/dafny2/Z-BirthdayBook.dfy index 10fc159b1a3..d9580e7cca2 100644 --- a/Test/dafny2/Z-BirthdayBook.dfy +++ b/Test/dafny2/Z-BirthdayBook.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // The birthday book example from the Z Reference Manual // Rustan Leino, 22 Feb 2018 diff --git a/Test/dafny2/Z-BirthdayBook.dfy.expect b/Test/dafny2/Z-BirthdayBook.dfy.expect index c6f2230e21a..31762ddd5b4 100644 --- a/Test/dafny2/Z-BirthdayBook.dfy.expect +++ b/Test/dafny2/Z-BirthdayBook.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 21 verified, 0 errors Send cards to: {['M', 'i', 'k', 'e'], ['S', 'u', 's', 'a', 'n']} diff --git a/Test/dafny2/pq-intrinsic-extrinsic.dfy b/Test/dafny2/pq-intrinsic-extrinsic.dfy index 588c2f9e2b1..c797c92445d 100644 --- a/Test/dafny2/pq-intrinsic-extrinsic.dfy +++ b/Test/dafny2/pq-intrinsic-extrinsic.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // This file contains several versions of a priority queue implemented by Braun trees: // diff --git a/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect b/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect index 5c90c26e0eb..bc2608f44b7 100644 --- a/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect +++ b/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect @@ -1,3 +1,14 @@ + +Dafny program verifier finished with 32 verified, 0 errors + +Dafny program verifier did not attempt verification +PriorityQueue_extrinsic: 3 +PriorityQueue_layered: 3 +PriorityQueue_intrinsic: 3 +PriorityQueue_on_intrinsic: 3 +PriorityQueue_direct: 3 + +Dafny program verifier did not attempt verification PriorityQueue_extrinsic: 3 PriorityQueue_layered: 3 PriorityQueue_intrinsic: 3 diff --git a/Test/dafny3/Abstemious.dfy b/Test/dafny3/Abstemious.dfy index 62d891f950f..263c1f1fb00 100644 --- a/Test/dafny3/Abstemious.dfy +++ b/Test/dafny3/Abstemious.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Examples from https://www.haskell.org/tutorial/functions.html diff --git a/Test/dafny3/Abstemious.dfy.expect b/Test/dafny3/Abstemious.dfy.expect index 3511a04a840..96f109b0b58 100644 --- a/Test/dafny3/Abstemious.dfy.expect +++ b/Test/dafny3/Abstemious.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 19 verified, 0 errors ones(): 1 1 1 1 1 1 1 ... from(3): 3 4 5 6 7 8 9 ... Map(plus1, ones()): 2 2 2 2 2 2 2 ... diff --git a/Test/dafny3/CachedContainer.dfy b/Test/dafny3/CachedContainer.dfy index e36e76d6851..77c3e45897f 100644 --- a/Test/dafny3/CachedContainer.dfy +++ b/Test/dafny3/CachedContainer.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // This file contains an example chain of module refinements, starting from a // simple interface M0 to an implementation M3. Module Client.Test() is diff --git a/Test/dafny3/CachedContainer.dfy.expect b/Test/dafny3/CachedContainer.dfy.expect index ed2a587c3f1..08f4fb30b0a 100644 --- a/Test/dafny3/CachedContainer.dfy.expect +++ b/Test/dafny3/CachedContainer.dfy.expect @@ -1 +1,79 @@ +CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier finished with 29 verified, 0 errors +CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +false true false true +CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +false true false true +CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +false true false true +CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification false true false true diff --git a/Test/dafny3/CachedContainer.dfy.verifier.expect b/Test/dafny3/CachedContainer.dfy.verifier.expect deleted file mode 100644 index dce146911e0..00000000000 --- a/Test/dafny3/CachedContainer.dfy.verifier.expect +++ /dev/null @@ -1,13 +0,0 @@ -CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny3/Iter.dfy b/Test/dafny3/Iter.dfy index 46befa24dd8..81431f2c64b 100644 --- a/Test/dafny3/Iter.dfy +++ b/Test/dafny3/Iter.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" class List { ghost var Contents: seq diff --git a/Test/dafny3/Iter.dfy.expect b/Test/dafny3/Iter.dfy.expect index 0ed11070541..69d7373d5d5 100644 --- a/Test/dafny3/Iter.dfy.expect +++ b/Test/dafny3/Iter.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 12 verified, 0 errors 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 98 0 2 4 6 8 10 12 14 diff --git a/Test/dafny4/Ackermann.dfy b/Test/dafny4/Ackermann.dfy index a4ef351c96b..27968070e9b 100644 --- a/Test/dafny4/Ackermann.dfy +++ b/Test/dafny4/Ackermann.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Rustan Leino, 8 Sep 2015. // This file proves that the Ackermann function is monotonic in each argument diff --git a/Test/dafny4/Ackermann.dfy.expect b/Test/dafny4/Ackermann.dfy.expect index 43d9513ef4b..c995dac9c9a 100644 --- a/Test/dafny4/Ackermann.dfy.expect +++ b/Test/dafny4/Ackermann.dfy.expect @@ -1 +1,5 @@ +Ackermann.dfy(163,4): Warning: /!\ No terms found to trigger on. +Ackermann.dfy(181,4): Warning: /!\ No terms found to trigger on. + +Dafny program verifier finished with 14 verified, 0 errors Ack(3, 4) = 125 diff --git a/Test/dafny4/Bug107.dfy b/Test/dafny4/Bug107.dfy index b7ab69c9a8d..e417fc90a53 100644 --- a/Test/dafny4/Bug107.dfy +++ b/Test/dafny4/Bug107.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny4/Bug107.dfy.expect b/Test/dafny4/Bug107.dfy.expect index 62f9457511f..ad79213a18c 100644 --- a/Test/dafny4/Bug107.dfy.expect +++ b/Test/dafny4/Bug107.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 1 verified, 0 errors 6 \ No newline at end of file diff --git a/Test/dafny4/Bug108.dfy b/Test/dafny4/Bug108.dfy index 8228fe44f87..c64ec32a340 100644 --- a/Test/dafny4/Bug108.dfy +++ b/Test/dafny4/Bug108.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var A := map[0 := 1]; diff --git a/Test/dafny4/Bug108.dfy.expect b/Test/dafny4/Bug108.dfy.expect index 0777a01b26d..c1c63f6c5c1 100644 --- a/Test/dafny4/Bug108.dfy.expect +++ b/Test/dafny4/Bug108.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 1 verified, 0 errors map[0 := 1] map[0 := 1] diff --git a/Test/dafny4/Bug113.dfy b/Test/dafny4/Bug113.dfy index 0bec0c1ce31..23c759540cd 100644 --- a/Test/dafny4/Bug113.dfy +++ b/Test/dafny4/Bug113.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype D = D(q:int, r:int, s:int, t:int) @@ -6,4 +7,4 @@ method Main() { print D(10, 20, 30, 40); print "\n"; -} +} \ No newline at end of file diff --git a/Test/dafny4/Bug113.dfy.expect b/Test/dafny4/Bug113.dfy.expect index e2eeff32e9a..3ea1396ad00 100644 --- a/Test/dafny4/Bug113.dfy.expect +++ b/Test/dafny4/Bug113.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 0 verified, 0 errors D.D(10, 20, 30, 40) diff --git a/Test/dafny4/Bug116.dfy b/Test/dafny4/Bug116.dfy index 501b74c74d5..e29da0f609d 100644 --- a/Test/dafny4/Bug116.dfy +++ b/Test/dafny4/Bug116.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // test various compiler-target keywords diff --git a/Test/dafny4/Bug116.dfy.expect b/Test/dafny4/Bug116.dfy.expect index 93102ef3120..21aa85d71f0 100644 --- a/Test/dafny4/Bug116.dfy.expect +++ b/Test/dafny4/Bug116.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 1 verified, 0 errors struct.S byte.arguments enum_Compile.goto.switch enum_Compile.goto.switch 20 + 20 == 40 diff --git a/Test/dafny4/Bug140.dfy b/Test/dafny4/Bug140.dfy index 8280db8f665..edde966c149 100644 --- a/Test/dafny4/Bug140.dfy +++ b/Test/dafny4/Bug140.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" class Node { ghost var List: seq diff --git a/Test/dafny4/Bug140.dfy.expect b/Test/dafny4/Bug140.dfy.expect index a40ee1166fb..bad48de4d6b 100644 --- a/Test/dafny4/Bug140.dfy.expect +++ b/Test/dafny4/Bug140.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 8 verified, 0 errors 1 2 diff --git a/Test/dafny4/Bug148.dfy b/Test/dafny4/Bug148.dfy index f31cef2cdc8..da1ebf99447 100644 --- a/Test/dafny4/Bug148.dfy +++ b/Test/dafny4/Bug148.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny4/Bug148.dfy.expect b/Test/dafny4/Bug148.dfy.expect index 9ed6ca4768b..79d02517ceb 100644 --- a/Test/dafny4/Bug148.dfy.expect +++ b/Test/dafny4/Bug148.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 0 verified, 0 errors true false true diff --git a/Test/dafny4/Bug49.dfy b/Test/dafny4/Bug49.dfy index 868f4a3964b..68722830422 100644 --- a/Test/dafny4/Bug49.dfy +++ b/Test/dafny4/Bug49.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny4/Bug49.dfy.expect b/Test/dafny4/Bug49.dfy.expect index 800c2bd15ba..4e02a08bbee 100644 --- a/Test/dafny4/Bug49.dfy.expect +++ b/Test/dafny4/Bug49.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 13 verified, 0 errors 6 6 5 diff --git a/Test/dafny4/Bug60.dfy b/Test/dafny4/Bug60.dfy index f4585753f5f..0aa9209269d 100644 --- a/Test/dafny4/Bug60.dfy +++ b/Test/dafny4/Bug60.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // This method can be used to test compilation. method Main() diff --git a/Test/dafny4/Bug60.dfy.expect b/Test/dafny4/Bug60.dfy.expect index fd56dc3fcbc..49740e95682 100644 --- a/Test/dafny4/Bug60.dfy.expect +++ b/Test/dafny4/Bug60.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 0 verified, 0 errors ({2, 3}, map[2 := 20, 3 := 30]) (2, 2) {2, 3} diff --git a/Test/dafny4/Bug67.dfy b/Test/dafny4/Bug67.dfy index f01d4239a75..731018a293b 100644 --- a/Test/dafny4/Bug67.dfy +++ b/Test/dafny4/Bug67.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype d = D(m:seq) @@ -7,4 +8,4 @@ method Main() assert D([10, 20]) == D([10, 20]); // succeeds print [10, 20] == [10, 20], "\n"; // prints True print D([10, 20]) == D([10, 20]); // prints False -} +} \ No newline at end of file diff --git a/Test/dafny4/Bug67.dfy.expect b/Test/dafny4/Bug67.dfy.expect index 0be5d980da4..c716cab3144 100644 --- a/Test/dafny4/Bug67.dfy.expect +++ b/Test/dafny4/Bug67.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 1 verified, 0 errors true true \ No newline at end of file diff --git a/Test/dafny4/Bug68.dfy b/Test/dafny4/Bug68.dfy index bf50015f90c..a211206acba 100644 --- a/Test/dafny4/Bug68.dfy +++ b/Test/dafny4/Bug68.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method M1() { @@ -61,4 +62,4 @@ method Main() M3(); M3'(); M4(); -} +} \ No newline at end of file diff --git a/Test/dafny4/Bug68.dfy.expect b/Test/dafny4/Bug68.dfy.expect index 814ccfee2df..f4ef534187d 100644 --- a/Test/dafny4/Bug68.dfy.expect +++ b/Test/dafny4/Bug68.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 8 verified, 0 errors true true true diff --git a/Test/dafny4/Bug89.dfy b/Test/dafny4/Bug89.dfy index c7b77b44f99..4aec1acb8b7 100644 --- a/Test/dafny4/Bug89.dfy +++ b/Test/dafny4/Bug89.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method F() returns(x:int) ensures x == 6 diff --git a/Test/dafny4/Bug89.dfy.expect b/Test/dafny4/Bug89.dfy.expect index 62f9457511f..ed41c274352 100644 --- a/Test/dafny4/Bug89.dfy.expect +++ b/Test/dafny4/Bug89.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors 6 \ No newline at end of file diff --git a/Test/dafny4/Bug94.dfy b/Test/dafny4/Bug94.dfy index c41458539fc..be931445654 100644 --- a/Test/dafny4/Bug94.dfy +++ b/Test/dafny4/Bug94.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" ghost function foo() : (int, int) { diff --git a/Test/dafny4/Bug94.dfy.expect b/Test/dafny4/Bug94.dfy.expect index 3f10ffe7a4c..ab0cfbb2d9e 100644 --- a/Test/dafny4/Bug94.dfy.expect +++ b/Test/dafny4/Bug94.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 1 verified, 0 errors 15 \ No newline at end of file diff --git a/Test/dafny4/ClassRefinement.dfy b/Test/dafny4/ClassRefinement.dfy index 3d5fd1006eb..320749ec197 100644 --- a/Test/dafny4/ClassRefinement.dfy +++ b/Test/dafny4/ClassRefinement.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" abstract module M0 { class Counter { diff --git a/Test/dafny4/ClassRefinement.dfy.expect b/Test/dafny4/ClassRefinement.dfy.expect index cba3471eb57..f456b6777f3 100644 --- a/Test/dafny4/ClassRefinement.dfy.expect +++ b/Test/dafny4/ClassRefinement.dfy.expect @@ -1 +1,44 @@ +ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated +ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier finished with 11 verified, 0 errors +ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated +ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +2 1 +ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated +ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +2 1 +ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated +ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +2 1 +ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated +ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification 2 1 diff --git a/Test/dafny4/ClassRefinement.dfy.verifier.expect b/Test/dafny4/ClassRefinement.dfy.verifier.expect deleted file mode 100644 index 85d37d75847..00000000000 --- a/Test/dafny4/ClassRefinement.dfy.verifier.expect +++ /dev/null @@ -1,6 +0,0 @@ -ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated -ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny4/ExpandedGuardedness.dfy b/Test/dafny4/ExpandedGuardedness.dfy index af620ec40e8..5cd7828f932 100644 --- a/Test/dafny4/ExpandedGuardedness.dfy +++ b/Test/dafny4/ExpandedGuardedness.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny4/ExpandedGuardedness.dfy.expect b/Test/dafny4/ExpandedGuardedness.dfy.expect index e0f3b041a66..d05670701e0 100644 --- a/Test/dafny4/ExpandedGuardedness.dfy.expect +++ b/Test/dafny4/ExpandedGuardedness.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 12 verified, 0 errors Up 19 20 21 22 23 Up2 19 20 21 22 23 UpIf 19 20 22 24 26 diff --git a/Test/dafny4/FlyingRobots.dfy b/Test/dafny4/FlyingRobots.dfy index f14a2a467cd..41223cca1aa 100644 --- a/Test/dafny4/FlyingRobots.dfy +++ b/Test/dafny4/FlyingRobots.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // The flying robots examples from an F* tutorial. It demonstrates how to specify // mutable data structures in the heap. diff --git a/Test/dafny4/FlyingRobots.dfy.expect b/Test/dafny4/FlyingRobots.dfy.expect index e69de29bb2d..5ed0d97333e 100644 --- a/Test/dafny4/FlyingRobots.dfy.expect +++ b/Test/dafny4/FlyingRobots.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 31 verified, 0 errors diff --git a/Test/dafny4/Leq.dfy b/Test/dafny4/Leq.dfy index fdbc1078ca3..fac12757ba0 100644 --- a/Test/dafny4/Leq.dfy +++ b/Test/dafny4/Leq.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Rustan Leino, 22 Sep 2015. // This file considers two definitions of Leq on naturals+infinity. One diff --git a/Test/dafny4/Leq.dfy.expect b/Test/dafny4/Leq.dfy.expect index e69de29bb2d..15301952c57 100644 --- a/Test/dafny4/Leq.dfy.expect +++ b/Test/dafny4/Leq.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 16 verified, 0 errors diff --git a/Test/dafny4/McCarthy91.dfy b/Test/dafny4/McCarthy91.dfy index 428f11eb269..466d30328cc 100644 --- a/Test/dafny4/McCarthy91.dfy +++ b/Test/dafny4/McCarthy91.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // The usual recursive method for computing McCarthy's 91 function method Main() { diff --git a/Test/dafny4/McCarthy91.dfy.expect b/Test/dafny4/McCarthy91.dfy.expect index 1511cff2c81..b63f7a0b03b 100644 --- a/Test/dafny4/McCarthy91.dfy.expect +++ b/Test/dafny4/McCarthy91.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 5 verified, 0 errors M(3) = 91 M(99) = 91 M(100) = 91 diff --git a/Test/dafny4/NatList.dfy b/Test/dafny4/NatList.dfy index 5a1b0358eaf..567fd461259 100644 --- a/Test/dafny4/NatList.dfy +++ b/Test/dafny4/NatList.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // This file tests some programs where "nat" is a type parameter to // a datatype. diff --git a/Test/dafny4/NatList.dfy.expect b/Test/dafny4/NatList.dfy.expect index 5382a29cb9f..2ceb3169787 100644 --- a/Test/dafny4/NatList.dfy.expect +++ b/Test/dafny4/NatList.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 11 verified, 0 errors ns = List.Cons(4, List.Cons(10, List.Nil)) Sum(ns) = 14 ns' = List.Cons(20, List.Nil) diff --git a/Test/dafny4/Regression15.dfy b/Test/dafny4/Regression15.dfy index 5ecb5ee4e2b..37f31ba7e90 100644 --- a/Test/dafny4/Regression15.dfy +++ b/Test/dafny4/Regression15.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var b; diff --git a/Test/dafny4/Regression15.dfy.expect b/Test/dafny4/Regression15.dfy.expect index 4cf7b8a8eb1..584190727b9 100644 --- a/Test/dafny4/Regression15.dfy.expect +++ b/Test/dafny4/Regression15.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 3 verified, 0 errors false true true diff --git a/Test/dafny4/Regression2.dfy b/Test/dafny4/Regression2.dfy index 0d28285e74c..213bf265401 100644 --- a/Test/dafny4/Regression2.dfy +++ b/Test/dafny4/Regression2.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" module NativeTypes { newtype uint64 = int diff --git a/Test/dafny4/Regression2.dfy.expect b/Test/dafny4/Regression2.dfy.expect index 8a739fb435a..3f8ac383f86 100644 --- a/Test/dafny4/Regression2.dfy.expect +++ b/Test/dafny4/Regression2.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 0 verified, 0 errors true true true diff --git a/Test/dafny4/Regression3.dfy b/Test/dafny4/Regression3.dfy index fc60fad3cb1..adaa0d2763d 100644 --- a/Test/dafny4/Regression3.dfy +++ b/Test/dafny4/Regression3.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny4/Regression3.dfy.expect b/Test/dafny4/Regression3.dfy.expect index 1223bf9ffaf..841338987c7 100644 --- a/Test/dafny4/Regression3.dfy.expect +++ b/Test/dafny4/Regression3.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 3 verified, 0 errors 55 Trunc( -3.0 ) = -3 (expected -3) Trunc( -2.8 ) = -3 (expected -3) diff --git a/Test/dafny4/Regression4.dfy b/Test/dafny4/Regression4.dfy index e4bc4cbef85..5f881a5083f 100644 --- a/Test/dafny4/Regression4.dfy +++ b/Test/dafny4/Regression4.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { } diff --git a/Test/dafny4/Regression4.dfy.expect b/Test/dafny4/Regression4.dfy.expect index e69de29bb2d..ba00363fc08 100644 --- a/Test/dafny4/Regression4.dfy.expect +++ b/Test/dafny4/Regression4.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 4 verified, 0 errors diff --git a/Test/dafny4/Regression6.dfy b/Test/dafny4/Regression6.dfy index b589ec0ce7d..f1551d3ef2d 100644 --- a/Test/dafny4/Regression6.dfy +++ b/Test/dafny4/Regression6.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" function Sum(a: array, lo: int, hi: int): int requires 0 <= lo <= hi <= a.Length diff --git a/Test/dafny4/Regression6.dfy.expect b/Test/dafny4/Regression6.dfy.expect index 54573bead10..17464f29e0b 100644 --- a/Test/dafny4/Regression6.dfy.expect +++ b/Test/dafny4/Regression6.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors 0 1028 0 diff --git a/Test/dafny4/Regression7.dfy b/Test/dafny4/Regression7.dfy index ef3ca5eea44..8ce421a62f3 100644 --- a/Test/dafny4/Regression7.dfy +++ b/Test/dafny4/Regression7.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /rprint:"%t.rprint" /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" module ListLibrary { datatype List = Nil | Cons(head: B, tail: List) diff --git a/Test/dafny4/Regression7.dfy.expect b/Test/dafny4/Regression7.dfy.expect index 70b01f973a0..19e63b05225 100644 --- a/Test/dafny4/Regression7.dfy.expect +++ b/Test/dafny4/Regression7.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors ListLibrary_Compile.List.Cons(28.0, ListLibrary_Compile.List.Nil) diff --git a/Test/dafny4/Regression9.dfy b/Test/dafny4/Regression9.dfy index 086007a3ef8..d9e44547252 100644 --- a/Test/dafny4/Regression9.dfy +++ b/Test/dafny4/Regression9.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Some tests for the type inference that was revamped // to better support subset types. diff --git a/Test/dafny4/Regression9.dfy.expect b/Test/dafny4/Regression9.dfy.expect index 2183b22cfa9..5a26eaeabfb 100644 --- a/Test/dafny4/Regression9.dfy.expect +++ b/Test/dafny4/Regression9.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors 'D''D''D' diff --git a/Test/dafny4/UnionFind.dfy b/Test/dafny4/UnionFind.dfy index e862fb64e64..1968d0d3b26 100644 --- a/Test/dafny4/UnionFind.dfy +++ b/Test/dafny4/UnionFind.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Rustan Leino, Nov 2015 // Module M0 gives the high-level specification of the UnionFind data structure diff --git a/Test/dafny4/UnionFind.dfy.expect b/Test/dafny4/UnionFind.dfy.expect index 1cb72129e49..961b161b8dc 100644 --- a/Test/dafny4/UnionFind.dfy.expect +++ b/Test/dafny4/UnionFind.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 63 verified, 0 errors false true true false true true diff --git a/Test/dafny4/gcd.dfy b/Test/dafny4/gcd.dfy index fa92223fa49..384e338435f 100644 --- a/Test/dafny4/gcd.dfy +++ b/Test/dafny4/gcd.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // A text describing this file is found in a Dafny Power User note: http://leino.science/papers/krml279.html diff --git a/Test/dafny4/gcd.dfy.expect b/Test/dafny4/gcd.dfy.expect index c17551a37a4..ecbe2b6f64a 100644 --- a/Test/dafny4/gcd.dfy.expect +++ b/Test/dafny4/gcd.dfy.expect @@ -1,3 +1,34 @@ + +Dafny program verifier finished with 19 verified, 0 errors + +Dafny program verifier did not attempt verification +15 gcd 9 = 3 +14 gcd 22 = 2 +371 gcd 1 = 1 +1 gcd 2 = 1 +1 gcd 1 = 1 +13 gcd 13 = 13 +60 gcd 60 = 60 + +Dafny program verifier did not attempt verification +15 gcd 9 = 3 +14 gcd 22 = 2 +371 gcd 1 = 1 +1 gcd 2 = 1 +1 gcd 1 = 1 +13 gcd 13 = 13 +60 gcd 60 = 60 + +Dafny program verifier did not attempt verification +15 gcd 9 = 3 +14 gcd 22 = 2 +371 gcd 1 = 1 +1 gcd 2 = 1 +1 gcd 1 = 1 +13 gcd 13 = 13 +60 gcd 60 = 60 + +Dafny program verifier did not attempt verification 15 gcd 9 = 3 14 gcd 22 = 2 371 gcd 1 = 1 diff --git a/Test/dafny4/git-issue104.dfy b/Test/dafny4/git-issue104.dfy index b05ec4de1cc..86683a2ed88 100644 --- a/Test/dafny4/git-issue104.dfy +++ b/Test/dafny4/git-issue104.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" predicate bug(a: array) reads a diff --git a/Test/dafny4/git-issue104.dfy.expect b/Test/dafny4/git-issue104.dfy.expect index 836a5934c8f..f572edb2471 100644 --- a/Test/dafny4/git-issue104.dfy.expect +++ b/Test/dafny4/git-issue104.dfy.expect @@ -1 +1,17 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification +true false + +Dafny program verifier did not attempt verification +true false + +Dafny program verifier did not attempt verification +true false + +Dafny program verifier did not attempt verification +true false + +Dafny program verifier did not attempt verification true false diff --git a/Test/dafny4/git-issue105.dfy b/Test/dafny4/git-issue105.dfy index 4cff2330cba..09cfce29a6e 100644 --- a/Test/dafny4/git-issue105.dfy +++ b/Test/dafny4/git-issue105.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method lol() returns (c: int) { diff --git a/Test/dafny4/git-issue105.dfy.expect b/Test/dafny4/git-issue105.dfy.expect index e69de29bb2d..012f5b99379 100644 --- a/Test/dafny4/git-issue105.dfy.expect +++ b/Test/dafny4/git-issue105.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/dafny4/git-issue15.dfy b/Test/dafny4/git-issue15.dfy index 7c77a67ccf9..96905286209 100755 --- a/Test/dafny4/git-issue15.dfy +++ b/Test/dafny4/git-issue15.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype obj = Obj(fooBar:map) datatype foo = Foo diff --git a/Test/dafny4/git-issue15.dfy.expect b/Test/dafny4/git-issue15.dfy.expect index 00750edc07d..e52de78d0b1 100755 --- a/Test/dafny4/git-issue15.dfy.expect +++ b/Test/dafny4/git-issue15.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 1 verified, 0 errors 3 diff --git a/Test/dafny4/git-issue167.dfy b/Test/dafny4/git-issue167.dfy index d98d425c345..d02943dc42d 100644 --- a/Test/dafny4/git-issue167.dfy +++ b/Test/dafny4/git-issue167.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { LetTest(); diff --git a/Test/dafny4/git-issue167.dfy.expect b/Test/dafny4/git-issue167.dfy.expect index 8c5e1ed8df7..0a230fe846e 100644 --- a/Test/dafny4/git-issue167.dfy.expect +++ b/Test/dafny4/git-issue167.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 4 verified, 0 errors 30 {6, 7} {['M', 'i', 'l', 'l', 'a'], ['A', 'l', 'f', 'o', 'n', 's']} diff --git a/Test/dafny4/git-issue195.dfy b/Test/dafny4/git-issue195.dfy index fccdc5461c8..ac4b1306ac6 100644 --- a/Test/dafny4/git-issue195.dfy +++ b/Test/dafny4/git-issue195.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Block = Block(prevBlockHash:Hash, txs:seq, proof:VProof) diff --git a/Test/dafny4/git-issue195.dfy.expect b/Test/dafny4/git-issue195.dfy.expect index 638bfb50b2d..30692fdef2a 100644 --- a/Test/dafny4/git-issue195.dfy.expect +++ b/Test/dafny4/git-issue195.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 4 verified, 0 errors true true true true true diff --git a/Test/dafny4/git-issue196.dfy b/Test/dafny4/git-issue196.dfy index 056687ab1a5..64eb0e9123f 100644 --- a/Test/dafny4/git-issue196.dfy +++ b/Test/dafny4/git-issue196.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" class A { var a: array> diff --git a/Test/dafny4/git-issue196.dfy.expect b/Test/dafny4/git-issue196.dfy.expect index ee25a2c5027..a333f982b8f 100644 --- a/Test/dafny4/git-issue196.dfy.expect +++ b/Test/dafny4/git-issue196.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 9 verified, 0 errors 42 42 42 5000 5000 5000 5000 5000 diff --git a/Test/dafny4/git-issue4.dfy b/Test/dafny4/git-issue4.dfy index b17a545e219..b19cf3ce6df 100644 --- a/Test/dafny4/git-issue4.dfy +++ b/Test/dafny4/git-issue4.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" function IntToChar(i:int):char requires 0 <= i < 10 diff --git a/Test/dafny4/git-issue4.dfy.expect b/Test/dafny4/git-issue4.dfy.expect index 24e24eb63cc..33af1e040b7 100644 --- a/Test/dafny4/git-issue4.dfy.expect +++ b/Test/dafny4/git-issue4.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 5 verified, 0 errors '8' 8 '8' 56 56 diff --git a/Test/dafny4/git-issue43.dfy b/Test/dafny4/git-issue43.dfy index d320d7761bc..edf056a1a91 100644 --- a/Test/dafny4/git-issue43.dfy +++ b/Test/dafny4/git-issue43.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" class System { } diff --git a/Test/dafny4/git-issue43.dfy.expect b/Test/dafny4/git-issue43.dfy.expect index e69de29bb2d..012f5b99379 100644 --- a/Test/dafny4/git-issue43.dfy.expect +++ b/Test/dafny4/git-issue43.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/dafny4/git-issue70.dfy b/Test/dafny4/git-issue70.dfy index 3a3a01e0af7..c8db7c9618d 100644 --- a/Test/dafny4/git-issue70.dfy +++ b/Test/dafny4/git-issue70.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny4/git-issue70.dfy.expect b/Test/dafny4/git-issue70.dfy.expect index 36ede89b639..526e9a5b349 100644 --- a/Test/dafny4/git-issue70.dfy.expect +++ b/Test/dafny4/git-issue70.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 3 verified, 0 errors map test {4, 6} {5, 7} diff --git a/Test/dafny4/git-issue76.dfy b/Test/dafny4/git-issue76.dfy index 85613dba2f2..708ee911b24 100644 --- a/Test/dafny4/git-issue76.dfy +++ b/Test/dafny4/git-issue76.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { M0(); diff --git a/Test/dafny4/git-issue76.dfy.expect b/Test/dafny4/git-issue76.dfy.expect index 0cfbf08886f..546da03a267 100644 --- a/Test/dafny4/git-issue76.dfy.expect +++ b/Test/dafny4/git-issue76.dfy.expect @@ -1 +1,8 @@ + +Dafny program verifier finished with 7 verified, 0 errors + +Dafny program verifier did not attempt verification +2 + +Dafny program verifier did not attempt verification 2 diff --git a/Test/dafny4/git-issue79.dfy b/Test/dafny4/git-issue79.dfy index f3fb17b8531..046a7c5e375 100644 --- a/Test/dafny4/git-issue79.dfy +++ b/Test/dafny4/git-issue79.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype EInt = Int(val: int) | Unknown type Pair = (string, EInt) diff --git a/Test/dafny4/git-issue79.dfy.expect b/Test/dafny4/git-issue79.dfy.expect index e69de29bb2d..012f5b99379 100644 --- a/Test/dafny4/git-issue79.dfy.expect +++ b/Test/dafny4/git-issue79.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/dafny4/git-issue88.dfy b/Test/dafny4/git-issue88.dfy index 83c0b4a8ef9..1c188333783 100644 --- a/Test/dafny4/git-issue88.dfy +++ b/Test/dafny4/git-issue88.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" type Grid = array2 diff --git a/Test/dafny4/git-issue88.dfy.expect b/Test/dafny4/git-issue88.dfy.expect index e69de29bb2d..00a51f822da 100644 --- a/Test/dafny4/git-issue88.dfy.expect +++ b/Test/dafny4/git-issue88.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 3 verified, 0 errors diff --git a/Test/exceptions/Exceptions1.dfy b/Test/exceptions/Exceptions1.dfy index 4ffd3291f2f..11bb2f7923d 100644 --- a/Test/exceptions/Exceptions1.dfy +++ b/Test/exceptions/Exceptions1.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" /rprint:"%t.rprint" > "%t" +// RUN: %diff "%s.expect" "%t" include "./NatOutcome.dfy" include "./VoidOutcome.dfy" diff --git a/Test/exceptions/Exceptions1.dfy.expect b/Test/exceptions/Exceptions1.dfy.expect index c87eb938c55..e61be2a11ad 100644 --- a/Test/exceptions/Exceptions1.dfy.expect +++ b/Test/exceptions/Exceptions1.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 7 verified, 0 errors true_true_true_88_42_33_Success=100 ___VoidSuccess true_true_false_88_42_Failure diff --git a/Test/exceptions/Exceptions1Expressions.dfy b/Test/exceptions/Exceptions1Expressions.dfy index a57e5b78c7e..c0f3c67cd39 100644 --- a/Test/exceptions/Exceptions1Expressions.dfy +++ b/Test/exceptions/Exceptions1Expressions.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" /rprint:"%t.rprint" > "%t" +// RUN: %diff "%s.expect" "%t" include "./NatOutcomeDt.dfy" include "./VoidOutcomeDt.dfy" diff --git a/Test/exceptions/Exceptions1Expressions.dfy.expect b/Test/exceptions/Exceptions1Expressions.dfy.expect index 3f1b38ab150..3da30f30d36 100644 --- a/Test/exceptions/Exceptions1Expressions.dfy.expect +++ b/Test/exceptions/Exceptions1Expressions.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 5 verified, 0 errors true_true_true_Success=100 VoidSuccess true_true_false_Failure diff --git a/Test/exports/FIFO.dfy b/Test/exports/FIFO.dfy index 95a8d25510c..173e412eaa9 100644 --- a/Test/exports/FIFO.dfy +++ b/Test/exports/FIFO.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" include "Queue.dfyi" diff --git a/Test/exports/FIFO.dfy.expect b/Test/exports/FIFO.dfy.expect index 4539bbf2d22..8350309cc2a 100644 --- a/Test/exports/FIFO.dfy.expect +++ b/Test/exports/FIFO.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 5 verified, 0 errors 0 1 2 diff --git a/Test/exports/LIFO.dfy b/Test/exports/LIFO.dfy index 513dd457c3f..ea691935620 100644 --- a/Test/exports/LIFO.dfy +++ b/Test/exports/LIFO.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" include "Queue.dfyi" diff --git a/Test/exports/LIFO.dfy.expect b/Test/exports/LIFO.dfy.expect index ae136939b64..48aa7787d09 100644 --- a/Test/exports/LIFO.dfy.expect +++ b/Test/exports/LIFO.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 5 verified, 0 errors 2 1 0 diff --git a/Test/exports/xrefine2.dfy b/Test/exports/xrefine2.dfy index 2409cc0509a..0b25240916c 100644 --- a/Test/exports/xrefine2.dfy +++ b/Test/exports/xrefine2.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" module ProtocolImpl { diff --git a/Test/exports/xrefine2.dfy.expect b/Test/exports/xrefine2.dfy.expect index 858dbd09862..34e1b357779 100644 --- a/Test/exports/xrefine2.dfy.expect +++ b/Test/exports/xrefine2.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 4 verified, 0 errors HI.foo(h1) => true HI.foo(h2) => true PI.orange(1) => 2 diff --git a/Test/exports/xrefine3.dfy b/Test/exports/xrefine3.dfy index bb2480bfed7..24d6fa062f0 100644 --- a/Test/exports/xrefine3.dfy +++ b/Test/exports/xrefine3.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" module AlphaImpl { diff --git a/Test/exports/xrefine3.dfy.expect b/Test/exports/xrefine3.dfy.expect index ae50cef0985..488ab11c36a 100644 --- a/Test/exports/xrefine3.dfy.expect +++ b/Test/exports/xrefine3.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors o hai! diff --git a/Test/git-issues/git-issue-032.dfy b/Test/git-issues/git-issue-032.dfy index d7dd61440a7..bde5b2f2a69 100644 --- a/Test/git-issues/git-issue-032.dfy +++ b/Test/git-issues/git-issue-032.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/git-issues/git-issue-032.dfy.expect b/Test/git-issues/git-issue-032.dfy.expect index 2a64997c6f7..91c285009c1 100644 --- a/Test/git-issues/git-issue-032.dfy.expect +++ b/Test/git-issues/git-issue-032.dfy.expect @@ -1,3 +1,40 @@ +git-issue-032.dfy(18,35): Warning: this branch is redundant +git-issue-032.dfy(27,34): Warning: this branch is redundant +git-issue-032.dfy(28,35): Warning: this branch is redundant + +Dafny program verifier finished with 1 verified, 0 errors +git-issue-032.dfy(18,35): Warning: this branch is redundant +git-issue-032.dfy(27,34): Warning: this branch is redundant +git-issue-032.dfy(28,35): Warning: this branch is redundant + +Dafny program verifier did not attempt verification +OK3 +OK +OKOK +00 +git-issue-032.dfy(18,35): Warning: this branch is redundant +git-issue-032.dfy(27,34): Warning: this branch is redundant +git-issue-032.dfy(28,35): Warning: this branch is redundant + +Dafny program verifier did not attempt verification +OK3 +OK +OKOK +00 +git-issue-032.dfy(18,35): Warning: this branch is redundant +git-issue-032.dfy(27,34): Warning: this branch is redundant +git-issue-032.dfy(28,35): Warning: this branch is redundant + +Dafny program verifier did not attempt verification +OK3 +OK +OKOK +00 +git-issue-032.dfy(18,35): Warning: this branch is redundant +git-issue-032.dfy(27,34): Warning: this branch is redundant +git-issue-032.dfy(28,35): Warning: this branch is redundant + +Dafny program verifier did not attempt verification OK3 OK OKOK diff --git a/Test/git-issues/git-issue-032.dfy.verifier.expect b/Test/git-issues/git-issue-032.dfy.verifier.expect deleted file mode 100644 index 885d7bff92c..00000000000 --- a/Test/git-issues/git-issue-032.dfy.verifier.expect +++ /dev/null @@ -1,3 +0,0 @@ -git-issue-032.dfy(18,35): Warning: this branch is redundant -git-issue-032.dfy(27,34): Warning: this branch is redundant -git-issue-032.dfy(28,35): Warning: this branch is redundant diff --git a/Test/git-issues/git-issue-1029.dfy b/Test/git-issues/git-issue-1029.dfy index 7e1e7a31cf2..a310a99c169 100644 --- a/Test/git-issues/git-issue-1029.dfy +++ b/Test/git-issues/git-issue-1029.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" module ValueType { export S diff --git a/Test/git-issues/git-issue-1029.dfy.expect b/Test/git-issues/git-issue-1029.dfy.expect index f603f618f29..075fcd93aed 100644 --- a/Test/git-issues/git-issue-1029.dfy.expect +++ b/Test/git-issues/git-issue-1029.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors [true, true, false] UI_Compile.Op2.GetOps([true, true, false], [true, true, false]) diff --git a/Test/git-issues/git-issue-1093.dfy b/Test/git-issues/git-issue-1093.dfy index 97797296680..9365397496f 100644 --- a/Test/git-issues/git-issue-1093.dfy +++ b/Test/git-issues/git-issue-1093.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { UnusedLabel(); diff --git a/Test/git-issues/git-issue-1093.dfy.expect b/Test/git-issues/git-issue-1093.dfy.expect index f599e28b8ab..0cadf5e4199 100644 --- a/Test/git-issues/git-issue-1093.dfy.expect +++ b/Test/git-issues/git-issue-1093.dfy.expect @@ -1 +1,17 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification +10 + +Dafny program verifier did not attempt verification +10 + +Dafny program verifier did not attempt verification +10 + +Dafny program verifier did not attempt verification +10 + +Dafny program verifier did not attempt verification 10 diff --git a/Test/git-issues/git-issue-1100.dfy b/Test/git-issues/git-issue-1100.dfy index 2c4bb564136..533d7688731 100644 --- a/Test/git-issues/git-issue-1100.dfy +++ b/Test/git-issues/git-issue-1100.dfy @@ -1,3 +1,4 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false /Users/salkeldr/Documents/GitHub/dafny/Test/git-issues/../c++/arrays.dfy +// RUN: %dafny /compile:3 /unicodeChar:0 /compileTarget:cpp %S/../c++/arrays.dfy > "%t" +// RUN: %diff "%s.expect" "%t" // Test compilation of a file in another directory diff --git a/Test/git-issues/git-issue-1100.dfy.expect b/Test/git-issues/git-issue-1100.dfy.expect index 2ce9320d8c2..552f9355593 100644 --- a/Test/git-issues/git-issue-1100.dfy.expect +++ b/Test/git-issues/git-issue-1100.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 9 verified, 0 errors 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/git-issues/git-issue-1130.dfy b/Test/git-issues/git-issue-1130.dfy index f1f5ad5a54b..5b7fc5068e2 100644 --- a/Test/git-issues/git-issue-1130.dfy +++ b/Test/git-issues/git-issue-1130.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var a := new Issue.Foo(); diff --git a/Test/git-issues/git-issue-1130.dfy.expect b/Test/git-issues/git-issue-1130.dfy.expect index de97a6dc4ca..6c3dd07b1f1 100644 --- a/Test/git-issues/git-issue-1130.dfy.expect +++ b/Test/git-issues/git-issue-1130.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 13 verified, 0 errors 012 diff --git a/Test/git-issues/git-issue-1150.dfy b/Test/git-issues/git-issue-1150.dfy index d3416a53813..d4cee3c3ef2 100644 --- a/Test/git-issues/git-issue-1150.dfy +++ b/Test/git-issues/git-issue-1150.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Foo = Foo(x: nat) { diff --git a/Test/git-issues/git-issue-1150.dfy.expect b/Test/git-issues/git-issue-1150.dfy.expect index f34d8df4a11..fb4be1897cf 100644 --- a/Test/git-issues/git-issue-1150.dfy.expect +++ b/Test/git-issues/git-issue-1150.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 1 verified, 0 errors Foo.Foo(2) true Foo.Foo(5) false diff --git a/Test/git-issues/git-issue-1185.dfy b/Test/git-issues/git-issue-1185.dfy index c7ad72134d1..32c340b0736 100644 --- a/Test/git-issues/git-issue-1185.dfy +++ b/Test/git-issues/git-issue-1185.dfy @@ -1,5 +1,9 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" predicate P(s: set) requires s != {} diff --git a/Test/git-issues/git-issue-1185.dfy.expect b/Test/git-issues/git-issue-1185.dfy.expect index 525ce875525..90ab58a1f5a 100644 --- a/Test/git-issues/git-issue-1185.dfy.expect +++ b/Test/git-issues/git-issue-1185.dfy.expect @@ -1 +1,14 @@ + +Dafny program verifier finished with 3 verified, 0 errors + +Dafny program verifier did not attempt verification +{12, 20} true 6 + +Dafny program verifier did not attempt verification +{20, 12} true 6 + +Dafny program verifier did not attempt verification +{12, 20} true 6 + +Dafny program verifier did not attempt verification {12, 20} true 6 diff --git a/Test/git-issues/git-issue-1185.dfy.java.expect b/Test/git-issues/git-issue-1185.dfy.java.expect deleted file mode 100644 index 8ba669ad273..00000000000 --- a/Test/git-issues/git-issue-1185.dfy.java.expect +++ /dev/null @@ -1 +0,0 @@ -{20, 12} true 6 diff --git a/Test/git-issues/git-issue-1514.dfy b/Test/git-issues/git-issue-1514.dfy index 816eadce69b..74b75478609 100644 --- a/Test/git-issues/git-issue-1514.dfy +++ b/Test/git-issues/git-issue-1514.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" include "Wrappers.dfy" import opened Wrappers diff --git a/Test/git-issues/git-issue-1514.dfy.expect b/Test/git-issues/git-issue-1514.dfy.expect index b5754e20373..2f22d47cee8 100644 --- a/Test/git-issues/git-issue-1514.dfy.expect +++ b/Test/git-issues/git-issue-1514.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-1514b.dfy b/Test/git-issues/git-issue-1514b.dfy index 050a4a71760..1d8cd122d28 100644 --- a/Test/git-issues/git-issue-1514b.dfy +++ b/Test/git-issues/git-issue-1514b.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" include "Wrappers.dfy" import opened Wrappers diff --git a/Test/git-issues/git-issue-1514b.dfy.expect b/Test/git-issues/git-issue-1514b.dfy.expect index b5754e20373..2f22d47cee8 100644 --- a/Test/git-issues/git-issue-1514b.dfy.expect +++ b/Test/git-issues/git-issue-1514b.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-1514c.dfy b/Test/git-issues/git-issue-1514c.dfy index 578316f217c..d9df7d108c1 100644 --- a/Test/git-issues/git-issue-1514c.dfy +++ b/Test/git-issues/git-issue-1514c.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" include "Wrappers.dfy" import opened Wrappers diff --git a/Test/git-issues/git-issue-1514c.dfy.expect b/Test/git-issues/git-issue-1514c.dfy.expect index 9766475a418..694254c28aa 100644 --- a/Test/git-issues/git-issue-1514c.dfy.expect +++ b/Test/git-issues/git-issue-1514c.dfy.expect @@ -1 +1,8 @@ + +Dafny program verifier finished with 3 verified, 0 errors + +Dafny program verifier did not attempt verification +ok + +Dafny program verifier did not attempt verification ok diff --git a/Test/git-issues/git-issue-1553.dfy b/Test/git-issues/git-issue-1553.dfy index 81cbef7aa7e..6267018c92d 100644 --- a/Test/git-issues/git-issue-1553.dfy +++ b/Test/git-issues/git-issue-1553.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { } method Test() { diff --git a/Test/git-issues/git-issue-1553.dfy.expect b/Test/git-issues/git-issue-1553.dfy.expect index e69de29bb2d..65d3b5d6635 100644 --- a/Test/git-issues/git-issue-1553.dfy.expect +++ b/Test/git-issues/git-issue-1553.dfy.expect @@ -0,0 +1,10 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-1604b.dfy b/Test/git-issues/git-issue-1604b.dfy index c00b95102f4..497ee5017d5 100644 --- a/Test/git-issues/git-issue-1604b.dfy +++ b/Test/git-issues/git-issue-1604b.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /errorLimit:0 +// RUN: %dafny /compile:3 /errorLimit:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Double constraints. Will this still work? diff --git a/Test/git-issues/git-issue-1604b.dfy.expect b/Test/git-issues/git-issue-1604b.dfy.expect index b5754e20373..93d7203e654 100644 --- a/Test/git-issues/git-issue-1604b.dfy.expect +++ b/Test/git-issues/git-issue-1604b.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 5 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-1714.dfy b/Test/git-issues/git-issue-1714.dfy index 540a41c39cb..6ce8915a7af 100644 --- a/Test/git-issues/git-issue-1714.dfy +++ b/Test/git-issues/git-issue-1714.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" +// RUN: %diff "%s.expect" "%t" trait Base {} class Derived extends Base { var n: int constructor() { n := 0; } } diff --git a/Test/git-issues/git-issue-1714.dfy.expect b/Test/git-issues/git-issue-1714.dfy.expect index 88039063d09..67dd7d95642 100644 --- a/Test/git-issues/git-issue-1714.dfy.expect +++ b/Test/git-issues/git-issue-1714.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors (b as Derived).n == 0 diff --git a/Test/git-issues/git-issue-179.dfy b/Test/git-issues/git-issue-179.dfy index d37d3048490..283a04f1a68 100644 --- a/Test/git-issues/git-issue-179.dfy +++ b/Test/git-issues/git-issue-179.dfy @@ -1,5 +1,9 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var mp: map; diff --git a/Test/git-issues/git-issue-179.dfy.expect b/Test/git-issues/git-issue-179.dfy.expect index 97cb7aa6c7a..3f922ac5bd4 100644 --- a/Test/git-issues/git-issue-179.dfy.expect +++ b/Test/git-issues/git-issue-179.dfy.expect @@ -1,4 +1,26 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification {(3, false), (4, true), (5, false)} {3, 4, 5} {false, true} true false true false + +Dafny program verifier did not attempt verification +{(5, false), (4, true), (3, false)} +{5, 4, 3} +{false, true} +true false true false + +Dafny program verifier did not attempt verification +{(5, false), (4, true), (3, false)} +{5, 4, 3} +{false, true} +true false true false + +Dafny program verifier did not attempt verification +{(5, false), (3, false), (4, true)} +{3, 4, 5} +{false, true} +true false true false diff --git a/Test/git-issues/git-issue-179.dfy.go.expect b/Test/git-issues/git-issue-179.dfy.go.expect deleted file mode 100644 index 3b6c1b2603f..00000000000 --- a/Test/git-issues/git-issue-179.dfy.go.expect +++ /dev/null @@ -1,4 +0,0 @@ -{(5, false), (4, true), (3, false)} -{5, 4, 3} -{false, true} -true false true false diff --git a/Test/git-issues/git-issue-179.dfy.java.expect b/Test/git-issues/git-issue-179.dfy.java.expect deleted file mode 100644 index ebe17288dfd..00000000000 --- a/Test/git-issues/git-issue-179.dfy.java.expect +++ /dev/null @@ -1,4 +0,0 @@ -{(5, false), (3, false), (4, true)} -{3, 4, 5} -{false, true} -true false true false diff --git a/Test/git-issues/git-issue-179.dfy.js.expect b/Test/git-issues/git-issue-179.dfy.js.expect deleted file mode 100644 index 3b6c1b2603f..00000000000 --- a/Test/git-issues/git-issue-179.dfy.js.expect +++ /dev/null @@ -1,4 +0,0 @@ -{(5, false), (4, true), (3, false)} -{5, 4, 3} -{false, true} -true false true false diff --git a/Test/git-issues/git-issue-1815a.dfy b/Test/git-issues/git-issue-1815a.dfy index 72d55a1cb4f..91fb7a32aa6 100644 --- a/Test/git-issues/git-issue-1815a.dfy +++ b/Test/git-issues/git-issue-1815a.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Dt<+U> = Dt(x: U, i: int) diff --git a/Test/git-issues/git-issue-1815a.dfy.expect b/Test/git-issues/git-issue-1815a.dfy.expect index 19f86f493ab..7b2651302d9 100644 --- a/Test/git-issues/git-issue-1815a.dfy.expect +++ b/Test/git-issues/git-issue-1815a.dfy.expect @@ -1 +1,17 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification +done + +Dafny program verifier did not attempt verification +done + +Dafny program verifier did not attempt verification +done + +Dafny program verifier did not attempt verification +done + +Dafny program verifier did not attempt verification done diff --git a/Test/git-issues/git-issue-1852.dfy b/Test/git-issues/git-issue-1852.dfy index 046f3fca1fc..516835e8ea8 100644 --- a/Test/git-issues/git-issue-1852.dfy +++ b/Test/git-issues/git-issue-1852.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" module A { export diff --git a/Test/git-issues/git-issue-1852.dfy.expect b/Test/git-issues/git-issue-1852.dfy.expect index 299a71f3fe4..e9cd0ea2e07 100644 --- a/Test/git-issues/git-issue-1852.dfy.expect +++ b/Test/git-issues/git-issue-1852.dfy.expect @@ -1 +1,8 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification +5 5 + +Dafny program verifier did not attempt verification 5 5 diff --git a/Test/git-issues/git-issue-1903.dfy b/Test/git-issues/git-issue-1903.dfy index 60ee1c121ab..7edb2a46c61 100644 --- a/Test/git-issues/git-issue-1903.dfy +++ b/Test/git-issues/git-issue-1903.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method g(x : seq := []) { diff --git a/Test/git-issues/git-issue-1903.dfy.expect b/Test/git-issues/git-issue-1903.dfy.expect index 84cc8d360f9..3170fb0c7f2 100644 --- a/Test/git-issues/git-issue-1903.dfy.expect +++ b/Test/git-issues/git-issue-1903.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 1 verified, 0 errors worked! diff --git a/Test/git-issues/git-issue-1909.dfy b/Test/git-issues/git-issue-1909.dfy index 83d9ec1d785..7fb5b3b8c48 100644 --- a/Test/git-issues/git-issue-1909.dfy +++ b/Test/git-issues/git-issue-1909.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype ABC = ABC(nameonly a: int, nameonly b: int, nameonly c: int) diff --git a/Test/git-issues/git-issue-1909.dfy.expect b/Test/git-issues/git-issue-1909.dfy.expect index ab6f7d69d36..b4eb7e7774e 100644 --- a/Test/git-issues/git-issue-1909.dfy.expect +++ b/Test/git-issues/git-issue-1909.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 1 verified, 0 errors ABC.ABC(19, 21, 23) ABC.ABC(19, 42, 23) ABC.ABC(100, 42, 90) diff --git a/Test/git-issues/git-issue-2013.dfy b/Test/git-issues/git-issue-2013.dfy index 1f3962988ee..d1d3e15880e 100644 --- a/Test/git-issues/git-issue-2013.dfy +++ b/Test/git-issues/git-issue-2013.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/git-issues/git-issue-2013.dfy.expect b/Test/git-issues/git-issue-2013.dfy.expect index 2cf9744efb3..bbf7e59b073 100644 --- a/Test/git-issues/git-issue-2013.dfy.expect +++ b/Test/git-issues/git-issue-2013.dfy.expect @@ -1,3 +1,55 @@ + +Dafny program verifier finished with 12 verified, 0 errors + +Dafny program verifier did not attempt verification +16 +16 +12 30 30 +Result.Success(8) Result.Failure(_module.MyClassException) +{100} {100} {100} +{MoreTests_Compile.C} {MoreTests_Compile.C} {MoreTests_Compile.C} +100 100 100 +MoreTests_Compile.C MoreTests_Compile.C MoreTests_Compile.C +Conveyance_Compile.NonVariantResult.NVSuccess(Conveyance_Compile.Car) Conveyance_Compile.CovariantResult.CVSuccess(Conveyance_Compile.Car) +Regression_mM_Compile.Stream.Next + +Dafny program verifier did not attempt verification +16 +16 +12 30 30 +Result.Success(8) Result.Failure(_module.MyClassException) +{100} {100} {100} +{MoreTests_Compile.C} {MoreTests_Compile.C} {MoreTests_Compile.C} +100 100 100 +MoreTests_Compile.C MoreTests_Compile.C MoreTests_Compile.C +Conveyance_Compile.NonVariantResult.NVSuccess(Conveyance_Compile.Car) Conveyance_Compile.CovariantResult.CVSuccess(Conveyance_Compile.Car) +Regression_mM_Compile.Stream.Next + +Dafny program verifier did not attempt verification +16 +16 +12 30 30 +Result.Success(8) Result.Failure(_module.MyClassException) +{100} {100} {100} +{MoreTests_Compile.C} {MoreTests_Compile.C} {MoreTests_Compile.C} +100 100 100 +MoreTests_Compile.C MoreTests_Compile.C MoreTests_Compile.C +Conveyance_Compile.NonVariantResult.NVSuccess(Conveyance_Compile.Car) Conveyance_Compile.CovariantResult.CVSuccess(Conveyance_Compile.Car) +Regression_mM_Compile.Stream.Next + +Dafny program verifier did not attempt verification +16 +16 +12 30 30 +Result.Success(8) Result.Failure(_module.MyClassException) +{100} {100} {100} +{MoreTests_Compile.C} {MoreTests_Compile.C} {MoreTests_Compile.C} +100 100 100 +MoreTests_Compile.C MoreTests_Compile.C MoreTests_Compile.C +Conveyance_Compile.NonVariantResult.NVSuccess(Conveyance_Compile.Car) Conveyance_Compile.CovariantResult.CVSuccess(Conveyance_Compile.Car) +Regression_mM_Compile.Stream.Next + +Dafny program verifier did not attempt verification 16 16 12 30 30 diff --git a/Test/git-issues/git-issue-2441.dfy b/Test/git-issues/git-issue-2441.dfy index 4179ecc87bc..bc9c8721ee2 100644 --- a/Test/git-issues/git-issue-2441.dfy +++ b/Test/git-issues/git-issue-2441.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype A = A(B: B) datatype B = X diff --git a/Test/git-issues/git-issue-2441.dfy.expect b/Test/git-issues/git-issue-2441.dfy.expect index e69de29bb2d..0c3f603d584 100644 --- a/Test/git-issues/git-issue-2441.dfy.expect +++ b/Test/git-issues/git-issue-2441.dfy.expect @@ -0,0 +1,6 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-2510.dfy b/Test/git-issues/git-issue-2510.dfy index 11ee2877bb3..22ef8e47058 100644 --- a/Test/git-issues/git-issue-2510.dfy +++ b/Test/git-issues/git-issue-2510.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:4 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" /// Check that the compiler accepts `:- assume {:axiom} …`. diff --git a/Test/git-issues/git-issue-2510.dfy.expect b/Test/git-issues/git-issue-2510.dfy.expect index 56a6051ca2b..b341a39a78d 100644 --- a/Test/git-issues/git-issue-2510.dfy.expect +++ b/Test/git-issues/git-issue-2510.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors 1 \ No newline at end of file diff --git a/Test/git-issues/git-issue-258.dfy b/Test/git-issues/git-issue-258.dfy index 97820c26461..dbc437cebbc 100644 --- a/Test/git-issues/git-issue-258.dfy +++ b/Test/git-issues/git-issue-258.dfy @@ -1,5 +1,9 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false /spillTargetCode:3 +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /compile:3 /unicodeChar:0 /spillTargetCode:3 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /compile:3 /unicodeChar:0 /spillTargetCode:3 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /compile:3 /unicodeChar:0 /spillTargetCode:3 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /compile:3 /unicodeChar:0 /spillTargetCode:3 /compileTarget:go "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method pr(s: seq) { print s, "\n"; diff --git a/Test/git-issues/git-issue-258.dfy.expect b/Test/git-issues/git-issue-258.dfy.expect index 31b98032806..8cf196174b8 100644 --- a/Test/git-issues/git-issue-258.dfy.expect +++ b/Test/git-issues/git-issue-258.dfy.expect @@ -1,10 +1,83 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier finished with 1 verified, 0 errors +hi +hi + + +HI! +hi + +HI! + +[23, 45] +[23, 45] +[] +[] +abcabc +abcabc +abcdef +abcdef + + +[1, 2, 3, 4] +[1, 2, 3, 4] + +Dafny program verifier finished with 1 verified, 0 errors +hi +hi + + +HI! +hi + +HI! + +[23, 45] +[23, 45] +[] +[] +abcabc +abcabc +abcdef +abcdef + + +[1, 2, 3, 4] +[1, 2, 3, 4] + +Dafny program verifier finished with 1 verified, 0 errors hi hi HI! hi +[] +HI! + +[23, 45] +[23, 45] +[] +[] +abcabc +abcabc +abcdef +abcdef + + +[1, 2, 3, 4] +[1, 2, 3, 4] + +Dafny program verifier finished with 1 verified, 0 errors +hi +hi + +HI! +hi +[] HI! [23, 45] diff --git a/Test/git-issues/git-issue-258.dfy.go.expect b/Test/git-issues/git-issue-258.dfy.go.expect deleted file mode 100644 index 2745afdf6e1..00000000000 --- a/Test/git-issues/git-issue-258.dfy.go.expect +++ /dev/null @@ -1,21 +0,0 @@ -hi -hi - - -HI! -hi -[] -HI! - -[23, 45] -[23, 45] -[] -[] -abcabc -abcabc -abcdef -abcdef - - -[1, 2, 3, 4] -[1, 2, 3, 4] diff --git a/Test/git-issues/git-issue-258.dfy.js.expect b/Test/git-issues/git-issue-258.dfy.js.expect deleted file mode 100644 index 2745afdf6e1..00000000000 --- a/Test/git-issues/git-issue-258.dfy.js.expect +++ /dev/null @@ -1,21 +0,0 @@ -hi -hi - - -HI! -hi -[] -HI! - -[23, 45] -[23, 45] -[] -[] -abcabc -abcabc -abcdef -abcdef - - -[1, 2, 3, 4] -[1, 2, 3, 4] diff --git a/Test/git-issues/git-issue-2608.dfy b/Test/git-issues/git-issue-2608.dfy index c606177f94f..459c9ffbf94 100644 --- a/Test/git-issues/git-issue-2608.dfy +++ b/Test/git-issues/git-issue-2608.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /compileTarget:js "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method GetNext(i: int) returns (j: int, possible: bool) { if i == 1 { diff --git a/Test/git-issues/git-issue-2608.dfy.expect b/Test/git-issues/git-issue-2608.dfy.expect index d9ed583f710..dce7ba1814a 100644 --- a/Test/git-issues/git-issue-2608.dfy.expect +++ b/Test/git-issues/git-issue-2608.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors 82411246231944714271214 \ No newline at end of file diff --git a/Test/git-issues/git-issue-262.dfy b/Test/git-issues/git-issue-262.dfy index 22d9a31b2fe..2c00ad94a39 100644 --- a/Test/git-issues/git-issue-262.dfy +++ b/Test/git-issues/git-issue-262.dfy @@ -1,5 +1,8 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" +// RUN: %dafny /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" function tst(x: nat): nat { x + 1 diff --git a/Test/git-issues/git-issue-262.dfy.expect b/Test/git-issues/git-issue-262.dfy.expect index 41d8cd55158..76af42cd4a3 100644 --- a/Test/git-issues/git-issue-262.dfy.expect +++ b/Test/git-issues/git-issue-262.dfy.expect @@ -1,2 +1,20 @@ + +Dafny program verifier finished with 2 verified, 0 errors System.Func`2[System.Numerics.BigInteger,System.Numerics.BigInteger] System.Func`2[System.Numerics.BigInteger,System.Numerics.BigInteger] + +Dafny program verifier finished with 2 verified, 0 errors +tst(x) { + return (x).plus(_dafny.ONE); + } +tst(x) { + return (x).plus(_dafny.ONE); + } + +Dafny program verifier finished with 2 verified, 0 errors +func(dafny.Int) dafny.Int +func(dafny.Int) dafny.Int + +Dafny program verifier finished with 2 verified, 0 errors +Function +Function diff --git a/Test/git-issues/git-issue-262.dfy.go.expect b/Test/git-issues/git-issue-262.dfy.go.expect deleted file mode 100644 index 578754c176c..00000000000 --- a/Test/git-issues/git-issue-262.dfy.go.expect +++ /dev/null @@ -1,2 +0,0 @@ -func(dafny.Int) dafny.Int -func(dafny.Int) dafny.Int diff --git a/Test/git-issues/git-issue-262.dfy.java.expect b/Test/git-issues/git-issue-262.dfy.java.expect deleted file mode 100644 index aa5478ef8c9..00000000000 --- a/Test/git-issues/git-issue-262.dfy.java.expect +++ /dev/null @@ -1,2 +0,0 @@ -Function -Function diff --git a/Test/git-issues/git-issue-262.dfy.js.expect b/Test/git-issues/git-issue-262.dfy.js.expect deleted file mode 100644 index e181ef2fef8..00000000000 --- a/Test/git-issues/git-issue-262.dfy.js.expect +++ /dev/null @@ -1,6 +0,0 @@ -tst(x) { - return (x).plus(_dafny.ONE); - } -tst(x) { - return (x).plus(_dafny.ONE); - } diff --git a/Test/git-issues/git-issue-267.dfy b/Test/git-issues/git-issue-267.dfy index 2b0b3281589..cef2fcc6c17 100644 --- a/Test/git-issues/git-issue-267.dfy +++ b/Test/git-issues/git-issue-267.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var c := 1; diff --git a/Test/git-issues/git-issue-267.dfy.expect b/Test/git-issues/git-issue-267.dfy.expect index cd7da05e3d2..d71aef2f440 100644 --- a/Test/git-issues/git-issue-267.dfy.expect +++ b/Test/git-issues/git-issue-267.dfy.expect @@ -1 +1,14 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification +210 + +Dafny program verifier did not attempt verification +210 + +Dafny program verifier did not attempt verification +210 + +Dafny program verifier did not attempt verification 210 diff --git a/Test/git-issues/git-issue-2672.dfy b/Test/git-issues/git-issue-2672.dfy index 52c5b9c638c..338299ee8b7 100644 --- a/Test/git-issues/git-issue-2672.dfy +++ b/Test/git-issues/git-issue-2672.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" newtype sreal = r: real | r > -4 as real newtype sint = r: int | r > -4 as int diff --git a/Test/git-issues/git-issue-2672.dfy.expect b/Test/git-issues/git-issue-2672.dfy.expect index 43440a83d53..c9c3244b6f4 100644 --- a/Test/git-issues/git-issue-2672.dfy.expect +++ b/Test/git-issues/git-issue-2672.dfy.expect @@ -1,3 +1,47 @@ + +Dafny program verifier finished with 5 verified, 0 errors + +Dafny program verifier did not attempt verification +true true true true true true true true true true +false false false false false false false false false false +false false false false false false false false false false +true true true true true true true true true true +true true true true true true true true true true +false false false false false false false false false false +true true true +false false false + +Dafny program verifier did not attempt verification +true true true true true true true true true true +false false false false false false false false false false +false false false false false false false false false false +true true true true true true true true true true +true true true true true true true true true true +false false false false false false false false false false +true true true +false false false + +Dafny program verifier did not attempt verification +true true true true true true true true true true +false false false false false false false false false false +false false false false false false false false false false +true true true true true true true true true true +true true true true true true true true true true +false false false false false false false false false false +true true true +false false false + +Dafny program verifier did not attempt verification +true true true true true true true true true true +false false false false false false false false false false +false false false false false false false false false false +true true true true true true true true true true +true true true true true true true true true true +false false false false false false false false false false +true true true +false false false + +Dafny program verifier did not attempt verification true true true true true true true true true true false false false false false false false false false false false false false false false false false false false false diff --git a/Test/git-issues/git-issue-2726a.dfy b/Test/git-issues/git-issue-2726a.dfy index a43d5dd0107..641fefbbdc4 100644 --- a/Test/git-issues/git-issue-2726a.dfy +++ b/Test/git-issues/git-issue-2726a.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /compileTarget:cs "%s" > "%t" +// RUN: %diff "%s.expect" "%t" const digits := ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"] diff --git a/Test/git-issues/git-issue-2726a.dfy.expect b/Test/git-issues/git-issue-2726a.dfy.expect index 8e1bedb2a64..6985935c88c 100644 --- a/Test/git-issues/git-issue-2726a.dfy.expect +++ b/Test/git-issues/git-issue-2726a.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 1 verified, 0 errors 4 42 422 diff --git a/Test/git-issues/git-issue-2733.dfy b/Test/git-issues/git-issue-2733.dfy index 65bc2b991fd..232eab3cc74 100644 --- a/Test/git-issues/git-issue-2733.dfy +++ b/Test/git-issues/git-issue-2733.dfy @@ -1,4 +1,11 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cpp "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { print "XYZ"; // Checks that no extra newline is added to the output diff --git a/Test/git-issues/git-issue-2733.dfy.expect b/Test/git-issues/git-issue-2733.dfy.expect index 77bf25132db..b139e2f3d58 100644 --- a/Test/git-issues/git-issue-2733.dfy.expect +++ b/Test/git-issues/git-issue-2733.dfy.expect @@ -1 +1,15 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification +XYZ +Dafny program verifier did not attempt verification +XYZ +Dafny program verifier did not attempt verification +XYZ +Dafny program verifier did not attempt verification +XYZ +Dafny program verifier did not attempt verification +XYZ +Dafny program verifier did not attempt verification XYZ \ No newline at end of file diff --git a/Test/git-issues/git-issue-2792.dfy b/Test/git-issues/git-issue-2792.dfy index d2fb9db2055..89e736667c0 100644 --- a/Test/git-issues/git-issue-2792.dfy +++ b/Test/git-issues/git-issue-2792.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /compileTarget:java "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Wrapper = Wrapper(s: seq) { diff --git a/Test/git-issues/git-issue-2792.dfy.expect b/Test/git-issues/git-issue-2792.dfy.expect index ca1683c3020..c1e603c58fe 100644 --- a/Test/git-issues/git-issue-2792.dfy.expect +++ b/Test/git-issues/git-issue-2792.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 0 verified, 0 errors [] Wrapper2.Wrapper2([], 2792) diff --git a/Test/git-issues/git-issue-283.dfy b/Test/git-issues/git-issue-283.dfy index 1ca6d48d32c..c7c10f4aea3 100644 --- a/Test/git-issues/git-issue-283.dfy +++ b/Test/git-issues/git-issue-283.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Result = | Success(value: T) diff --git a/Test/git-issues/git-issue-283.dfy.expect b/Test/git-issues/git-issue-283.dfy.expect index a965a70ed4e..2adb114b8a0 100644 --- a/Test/git-issues/git-issue-283.dfy.expect +++ b/Test/git-issues/git-issue-283.dfy.expect @@ -1 +1,14 @@ + +Dafny program verifier finished with 9 verified, 0 errors + +Dafny program verifier did not attempt verification +Done + +Dafny program verifier did not attempt verification +Done + +Dafny program verifier did not attempt verification +Done + +Dafny program verifier did not attempt verification Done diff --git a/Test/git-issues/git-issue-283d.dfy b/Test/git-issues/git-issue-283d.dfy index 46c1056d5e1..54ee58fb456 100644 --- a/Test/git-issues/git-issue-283d.dfy +++ b/Test/git-issues/git-issue-283d.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Foo = R(v: int) diff --git a/Test/git-issues/git-issue-283d.dfy.expect b/Test/git-issues/git-issue-283d.dfy.expect index e69de29bb2d..8da23be5c8c 100644 --- a/Test/git-issues/git-issue-283d.dfy.expect +++ b/Test/git-issues/git-issue-283d.dfy.expect @@ -0,0 +1,10 @@ + +Dafny program verifier finished with 4 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-314.dfy b/Test/git-issues/git-issue-314.dfy index a7fc06564a5..5e3e93ca654 100644 --- a/Test/git-issues/git-issue-314.dfy +++ b/Test/git-issues/git-issue-314.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype S = S(G: array) datatype T = T(F: array, ghost Repr: set) diff --git a/Test/git-issues/git-issue-314.dfy.expect b/Test/git-issues/git-issue-314.dfy.expect index e69de29bb2d..f02fc57989a 100644 --- a/Test/git-issues/git-issue-314.dfy.expect +++ b/Test/git-issues/git-issue-314.dfy.expect @@ -0,0 +1,10 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-332.dfy b/Test/git-issues/git-issue-332.dfy index 5166441405d..ca2b08f3e8d 100644 --- a/Test/git-issues/git-issue-332.dfy +++ b/Test/git-issues/git-issue-332.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var foo := new B.Foo(15); diff --git a/Test/git-issues/git-issue-332.dfy.expect b/Test/git-issues/git-issue-332.dfy.expect index 209e3ef4b62..57cad39addf 100644 --- a/Test/git-issues/git-issue-332.dfy.expect +++ b/Test/git-issues/git-issue-332.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 6 verified, 0 errors 20 diff --git a/Test/git-issues/git-issue-354.dfy b/Test/git-issues/git-issue-354.dfy index c3d63021209..5938c2f71ae 100644 --- a/Test/git-issues/git-issue-354.dfy +++ b/Test/git-issues/git-issue-354.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" class C { static const u: X diff --git a/Test/git-issues/git-issue-354.dfy.expect b/Test/git-issues/git-issue-354.dfy.expect index 4368562357f..cb5ae21dc46 100644 --- a/Test/git-issues/git-issue-354.dfy.expect +++ b/Test/git-issues/git-issue-354.dfy.expect @@ -1,3 +1,25 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification +0 +0 +0.0 +false + +Dafny program verifier did not attempt verification +0 +0 +0.0 +false + +Dafny program verifier did not attempt verification +0 +0 +0.0 +false + +Dafny program verifier did not attempt verification 0 0 0.0 diff --git a/Test/git-issues/git-issue-356.dfy b/Test/git-issues/git-issue-356.dfy index 2d497c0531c..f5c34b0803b 100644 --- a/Test/git-issues/git-issue-356.dfy +++ b/Test/git-issues/git-issue-356.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" module M { type Tx = i: int | 0 <= i <= 100 diff --git a/Test/git-issues/git-issue-356.dfy.expect b/Test/git-issues/git-issue-356.dfy.expect index 9d984ec4ef4..cff4ed233e1 100644 --- a/Test/git-issues/git-issue-356.dfy.expect +++ b/Test/git-issues/git-issue-356.dfy.expect @@ -1,3 +1,39 @@ + +Dafny program verifier finished with 25 verified, 0 errors + +Dafny program verifier did not attempt verification +a d 57005 * * +Z 90 90.0 90 90 +* 42 42.0 42 42 +F 70 70.0 70 70 +# 35 35.0 35 35 +END + +Dafny program verifier did not attempt verification +a d 57005 * * +Z 90 90.0 90 90 +* 42 42.0 42 42 +F 70 70.0 70 70 +# 35 35.0 35 35 +END + +Dafny program verifier did not attempt verification +a d 57005 * * +Z 90 90.0 90 90 +* 42 42.0 42 42 +F 70 70.0 70 70 +# 35 35.0 35 35 +END + +Dafny program verifier did not attempt verification +a d 57005 * * +Z 90 90.0 90 90 +* 42 42.0 42 42 +F 70 70.0 70 70 +# 35 35.0 35 35 +END + +Dafny program verifier did not attempt verification a d 57005 * * Z 90 90.0 90 90 * 42 42.0 42 42 diff --git a/Test/git-issues/git-issue-364.dfy b/Test/git-issues/git-issue-364.dfy index 68c75931746..0fdedc7d9c0 100644 --- a/Test/git-issues/git-issue-364.dfy +++ b/Test/git-issues/git-issue-364.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype NatOutcome = | Success(value: nat) diff --git a/Test/git-issues/git-issue-364.dfy.expect b/Test/git-issues/git-issue-364.dfy.expect index 38478c6c688..1368349d437 100644 --- a/Test/git-issues/git-issue-364.dfy.expect +++ b/Test/git-issues/git-issue-364.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 4 verified, 0 errors NatOutcome.Success(55) false 55 12 0 NatOutcome.Failure("it could be worse") true NatOutcome.Failure("it could be worse") diff --git a/Test/git-issues/git-issue-374.dfy b/Test/git-issues/git-issue-374.dfy index 15b56ec6396..4c031b7d3ff 100644 --- a/Test/git-issues/git-issue-374.dfy +++ b/Test/git-issues/git-issue-374.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" class C { constructor(ghost x: int) diff --git a/Test/git-issues/git-issue-374.dfy.expect b/Test/git-issues/git-issue-374.dfy.expect index e69de29bb2d..f02fc57989a 100644 --- a/Test/git-issues/git-issue-374.dfy.expect +++ b/Test/git-issues/git-issue-374.dfy.expect @@ -0,0 +1,10 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-396.dfy b/Test/git-issues/git-issue-396.dfy index 7866d3d0498..2ab68e51e12 100644 --- a/Test/git-issues/git-issue-396.dfy +++ b/Test/git-issues/git-issue-396.dfy @@ -1,4 +1,8 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" +// RUN: %dafny /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Foo = Bar(value: int) diff --git a/Test/git-issues/git-issue-396.dfy.expect b/Test/git-issues/git-issue-396.dfy.expect index dee79f10940..3dd340d3178 100644 --- a/Test/git-issues/git-issue-396.dfy.expect +++ b/Test/git-issues/git-issue-396.dfy.expect @@ -1 +1,12 @@ + +Dafny program verifier finished with 1 verified, 0 errors +114 + +Dafny program verifier finished with 1 verified, 0 errors +114 + +Dafny program verifier finished with 1 verified, 0 errors +114 + +Dafny program verifier finished with 1 verified, 0 errors 114 diff --git a/Test/git-issues/git-issue-4007.dfy b/Test/git-issues/git-issue-4007.dfy index 5a279e7b8e6..e4c25b82bb8 100644 --- a/Test/git-issues/git-issue-4007.dfy +++ b/Test/git-issues/git-issue-4007.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:4 /compileTarget:py "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var a := 0; @@ -6,4 +7,4 @@ method Main() { a := a + 1; } print a, "\n"; -} +} \ No newline at end of file diff --git a/Test/git-issues/git-issue-4007.dfy.expect b/Test/git-issues/git-issue-4007.dfy.expect index 00750edc07d..3ce6919d35b 100644 --- a/Test/git-issues/git-issue-4007.dfy.expect +++ b/Test/git-issues/git-issue-4007.dfy.expect @@ -1 +1,4 @@ +git-issue-4007.dfy(6,20): Warning: /!\ No terms found to trigger on. + +Dafny program verifier finished with 1 verified, 0 errors 3 diff --git a/Test/git-issues/git-issue-4012.dfy b/Test/git-issues/git-issue-4012.dfy index 5360c0e935b..e065393a211 100644 --- a/Test/git-issues/git-issue-4012.dfy +++ b/Test/git-issues/git-issue-4012.dfy @@ -1,7 +1,8 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:4 /compileTarget:py "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var x: multiset := multiset{}; x := x[1 := 18446744073709551616]; print |x|, "\n"; -} +} \ No newline at end of file diff --git a/Test/git-issues/git-issue-4012.dfy.expect b/Test/git-issues/git-issue-4012.dfy.expect index ab69b99fab4..230fbdbd384 100644 --- a/Test/git-issues/git-issue-4012.dfy.expect +++ b/Test/git-issues/git-issue-4012.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 1 verified, 0 errors 18446744073709551616 diff --git a/Test/git-issues/git-issue-425.dfy b/Test/git-issues/git-issue-425.dfy index 122a10e4fbb..4e555daaed0 100644 --- a/Test/git-issues/git-issue-425.dfy +++ b/Test/git-issues/git-issue-425.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method M() returns (x: int, ghost y: int) { return 42, 43; diff --git a/Test/git-issues/git-issue-425.dfy.expect b/Test/git-issues/git-issue-425.dfy.expect index daaac9e3030..c2284013d9e 100644 --- a/Test/git-issues/git-issue-425.dfy.expect +++ b/Test/git-issues/git-issue-425.dfy.expect @@ -1,2 +1,18 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification +42 +42 + +Dafny program verifier did not attempt verification +42 +42 + +Dafny program verifier did not attempt verification +42 +42 + +Dafny program verifier did not attempt verification 42 42 diff --git a/Test/git-issues/git-issue-443.dfy b/Test/git-issues/git-issue-443.dfy index 6702e37484f..e8745b5ddda 100644 --- a/Test/git-issues/git-issue-443.dfy +++ b/Test/git-issues/git-issue-443.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { print F(), " ", G(802.11), "\n"; // 12 15 diff --git a/Test/git-issues/git-issue-443.dfy.expect b/Test/git-issues/git-issue-443.dfy.expect index 0b64712fdcf..10af01216da 100644 --- a/Test/git-issues/git-issue-443.dfy.expect +++ b/Test/git-issues/git-issue-443.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors 12 15 diff --git a/Test/git-issues/git-issue-446.dfy b/Test/git-issues/git-issue-446.dfy index a66a9272d18..0656587fd03 100644 --- a/Test/git-issues/git-issue-446.dfy +++ b/Test/git-issues/git-issue-446.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Result = Success(value: T) | Failure(error: string) { diff --git a/Test/git-issues/git-issue-446.dfy.expect b/Test/git-issues/git-issue-446.dfy.expect index 8165c2056d0..18195d22344 100644 --- a/Test/git-issues/git-issue-446.dfy.expect +++ b/Test/git-issues/git-issue-446.dfy.expect @@ -1,3 +1,22 @@ + +Dafny program verifier finished with 9 verified, 0 errors + +Dafny program verifier did not attempt verification +true -2 +true 42 +End + +Dafny program verifier did not attempt verification +true -2 +true 42 +End + +Dafny program verifier did not attempt verification +true -2 +true 42 +End + +Dafny program verifier did not attempt verification true -2 true 42 End diff --git a/Test/git-issues/git-issue-446a.dfy b/Test/git-issues/git-issue-446a.dfy index 2c559cea76d..41917680fee 100644 --- a/Test/git-issues/git-issue-446a.dfy +++ b/Test/git-issues/git-issue-446a.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Result = Success(value: T) | Failure(error: string) { diff --git a/Test/git-issues/git-issue-446a.dfy.expect b/Test/git-issues/git-issue-446a.dfy.expect index 9897e1c3f56..fbf9ee6f31d 100644 --- a/Test/git-issues/git-issue-446a.dfy.expect +++ b/Test/git-issues/git-issue-446a.dfy.expect @@ -1,3 +1,22 @@ + +Dafny program verifier finished with 9 verified, 0 errors + +Dafny program verifier did not attempt verification +OK +true OK +true -2 End + +Dafny program verifier did not attempt verification +OK +true OK +true -2 End + +Dafny program verifier did not attempt verification +OK +true OK +true -2 End + +Dafny program verifier did not attempt verification OK true OK true -2 End diff --git a/Test/git-issues/git-issue-446b.dfy b/Test/git-issues/git-issue-446b.dfy index 79e55d9a1f8..aa7ac30d9a7 100644 --- a/Test/git-issues/git-issue-446b.dfy +++ b/Test/git-issues/git-issue-446b.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Result = Success(value: T) | Failure(error: string) { diff --git a/Test/git-issues/git-issue-446b.dfy.expect b/Test/git-issues/git-issue-446b.dfy.expect index 36fdd8ba47b..0e99363fdb9 100644 --- a/Test/git-issues/git-issue-446b.dfy.expect +++ b/Test/git-issues/git-issue-446b.dfy.expect @@ -1,3 +1,28 @@ + +Dafny program verifier finished with 10 verified, 0 errors + +Dafny program verifier did not attempt verification +OK +true OK +true -2 +true 100 +End + +Dafny program verifier did not attempt verification +OK +true OK +true -2 +true 100 +End + +Dafny program verifier did not attempt verification +OK +true OK +true -2 +true 100 +End + +Dafny program verifier did not attempt verification OK true OK true -2 diff --git a/Test/git-issues/git-issue-478-good.dfy b/Test/git-issues/git-issue-478-good.dfy index 9abce41e97c..b3fab26a312 100644 --- a/Test/git-issues/git-issue-478-good.dfy +++ b/Test/git-issues/git-issue-478-good.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // By first defining import LibA and then defining a module LibA, // the latter used to generate: diff --git a/Test/git-issues/git-issue-478-good.dfy.expect b/Test/git-issues/git-issue-478-good.dfy.expect index 6807b84eba5..17aea610943 100644 --- a/Test/git-issues/git-issue-478-good.dfy.expect +++ b/Test/git-issues/git-issue-478-good.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 1 verified, 0 errors hello hello hi diff --git a/Test/git-issues/git-issue-506.dfy b/Test/git-issues/git-issue-506.dfy index b2a409951a1..d25596621de 100644 --- a/Test/git-issues/git-issue-506.dfy +++ b/Test/git-issues/git-issue-506.dfy @@ -1,4 +1,8 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" +// RUN: %dafny /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/git-issues/git-issue-506.dfy.expect b/Test/git-issues/git-issue-506.dfy.expect index ef2606ec5dc..e2bb6d644d9 100644 --- a/Test/git-issues/git-issue-506.dfy.expect +++ b/Test/git-issues/git-issue-506.dfy.expect @@ -1,3 +1,29 @@ + +Dafny program verifier finished with 2 verified, 0 errors +7 301 +8 391 +2 2 +4 5 +6 7 +2 3 7 0 + +Dafny program verifier finished with 2 verified, 0 errors +7 301 +8 391 +2 2 +4 5 +6 7 +2 3 7 0 + +Dafny program verifier finished with 2 verified, 0 errors +7 301 +8 391 +2 2 +4 5 +6 7 +2 3 7 0 + +Dafny program verifier finished with 2 verified, 0 errors 7 301 8 391 2 2 diff --git a/Test/git-issues/git-issue-532.dfy b/Test/git-issues/git-issue-532.dfy index 2a2b5aaaf2e..3d511dbb4c8 100644 --- a/Test/git-issues/git-issue-532.dfy +++ b/Test/git-issues/git-issue-532.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" predicate SuppressNoTriggerWarning(x: X) { true } diff --git a/Test/git-issues/git-issue-532.dfy.expect b/Test/git-issues/git-issue-532.dfy.expect index 0f3ef3de427..1bd9e82cc5a 100644 --- a/Test/git-issues/git-issue-532.dfy.expect +++ b/Test/git-issues/git-issue-532.dfy.expect @@ -1,3 +1,22 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification +t.x=5 The given Tr is a C, and c.y=6 +t.x=100 The given Tr is not a C +t.x=5 The given Tr is a C, and c.y=16 + +Dafny program verifier did not attempt verification +t.x=5 The given Tr is a C, and c.y=6 +t.x=100 The given Tr is not a C +t.x=5 The given Tr is a C, and c.y=16 + +Dafny program verifier did not attempt verification +t.x=5 The given Tr is a C, and c.y=6 +t.x=100 The given Tr is not a C +t.x=5 The given Tr is a C, and c.y=16 + +Dafny program verifier did not attempt verification t.x=5 The given Tr is a C, and c.y=6 t.x=100 The given Tr is not a C t.x=5 The given Tr is a C, and c.y=16 diff --git a/Test/git-issues/git-issue-549.dfy b/Test/git-issues/git-issue-549.dfy index d362a0bd039..2e5ab322f23 100644 --- a/Test/git-issues/git-issue-549.dfy +++ b/Test/git-issues/git-issue-549.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" trait T { function bar(): bv8 diff --git a/Test/git-issues/git-issue-549.dfy.expect b/Test/git-issues/git-issue-549.dfy.expect index 6e0790e778e..3ae509fee5e 100644 --- a/Test/git-issues/git-issue-549.dfy.expect +++ b/Test/git-issues/git-issue-549.dfy.expect @@ -1,2 +1,10 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification +bar() = 1 +bar() = 1 + +Dafny program verifier did not attempt verification bar() = 1 bar() = 1 diff --git a/Test/git-issues/git-issue-622$f.dfy b/Test/git-issues/git-issue-622$f.dfy index f0f15dd9f8c..fe4fdf38e03 100644 --- a/Test/git-issues/git-issue-622$f.dfy +++ b/Test/git-issues/git-issue-622$f.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /spillTargetCode:3 +// RUN: %dafny /compile:3 /compileTarget:java /spillTargetCode:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { } diff --git a/Test/git-issues/git-issue-622$f.dfy.expect b/Test/git-issues/git-issue-622$f.dfy.expect index e69de29bb2d..012f5b99379 100644 --- a/Test/git-issues/git-issue-622$f.dfy.expect +++ b/Test/git-issues/git-issue-622$f.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/git-issues/git-issue-633.dfy b/Test/git-issues/git-issue-633.dfy index 3e4153b69c4..5d9b5aecf58 100644 --- a/Test/git-issues/git-issue-633.dfy +++ b/Test/git-issues/git-issue-633.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /spillTargetCode:3 /Users/salkeldr/Documents/GitHub/dafny/Test/git-issues/git-issue-633A.dfy +// RUN: %dafny /compile:0 "%s" %S/git-issue-633A.dfy > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs /spillTargetCode:3 "%s" %S/git-issue-633A.dfy >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js /spillTargetCode:3 "%s" %S/git-issue-633A.dfy >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go /spillTargetCode:3 "%s" %S/git-issue-633A.dfy >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java /spillTargetCode:3 "%s" %S/git-issue-633A.dfy >> "%t" +// RUN: %diff "%s.expect" "%t" method m() { print "OK\n"; diff --git a/Test/git-issues/git-issue-633.dfy.expect b/Test/git-issues/git-issue-633.dfy.expect index e69de29bb2d..f02fc57989a 100644 --- a/Test/git-issues/git-issue-633.dfy.expect +++ b/Test/git-issues/git-issue-633.dfy.expect @@ -0,0 +1,10 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-684.dfy b/Test/git-issues/git-issue-684.dfy index 4c2b0a8fa02..b1fbd7ab036 100644 --- a/Test/git-issues/git-issue-684.dfy +++ b/Test/git-issues/git-issue-684.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Level1 = Level1(u:int) datatype Level2 = Level2(u:int, l:Level1) diff --git a/Test/git-issues/git-issue-684.dfy.expect b/Test/git-issues/git-issue-684.dfy.expect index e69de29bb2d..65d3b5d6635 100644 --- a/Test/git-issues/git-issue-684.dfy.expect +++ b/Test/git-issues/git-issue-684.dfy.expect @@ -0,0 +1,10 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-686.dfy b/Test/git-issues/git-issue-686.dfy index 9845ce2b027..bbc975200c8 100644 --- a/Test/git-issues/git-issue-686.dfy +++ b/Test/git-issues/git-issue-686.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Color = Blue | Red diff --git a/Test/git-issues/git-issue-686.dfy.expect b/Test/git-issues/git-issue-686.dfy.expect index c12f8e66df2..f30b0581688 100644 --- a/Test/git-issues/git-issue-686.dfy.expect +++ b/Test/git-issues/git-issue-686.dfy.expect @@ -1 +1,24 @@ +git-issue-686.dfy(13,2): Warning: this branch is redundant +git-issue-686.dfy(21,2): Warning: this branch is redundant + +Dafny program verifier finished with 1 verified, 0 errors +git-issue-686.dfy(13,2): Warning: this branch is redundant +git-issue-686.dfy(21,2): Warning: this branch is redundant + +Dafny program verifier did not attempt verification +6 0 +git-issue-686.dfy(13,2): Warning: this branch is redundant +git-issue-686.dfy(21,2): Warning: this branch is redundant + +Dafny program verifier did not attempt verification +6 0 +git-issue-686.dfy(13,2): Warning: this branch is redundant +git-issue-686.dfy(21,2): Warning: this branch is redundant + +Dafny program verifier did not attempt verification +6 0 +git-issue-686.dfy(13,2): Warning: this branch is redundant +git-issue-686.dfy(21,2): Warning: this branch is redundant + +Dafny program verifier did not attempt verification 6 0 diff --git a/Test/git-issues/git-issue-686.dfy.verifier.expect b/Test/git-issues/git-issue-686.dfy.verifier.expect deleted file mode 100644 index 5b8c694a4bc..00000000000 --- a/Test/git-issues/git-issue-686.dfy.verifier.expect +++ /dev/null @@ -1,2 +0,0 @@ -git-issue-686.dfy(13,2): Warning: this branch is redundant -git-issue-686.dfy(21,2): Warning: this branch is redundant diff --git a/Test/git-issues/git-issue-697.dfy b/Test/git-issues/git-issue-697.dfy index 23cce66dee7..095c1a02399 100644 --- a/Test/git-issues/git-issue-697.dfy +++ b/Test/git-issues/git-issue-697.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Cell = Cell(x: int) type EvenCell = c: Cell | c.x % 2 == 0 witness Cell(0) diff --git a/Test/git-issues/git-issue-697.dfy.expect b/Test/git-issues/git-issue-697.dfy.expect index f32a5804e29..188a72ebc36 100644 --- a/Test/git-issues/git-issue-697.dfy.expect +++ b/Test/git-issues/git-issue-697.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-697b.dfy b/Test/git-issues/git-issue-697b.dfy index cdb054d8d78..cfdd3fd0821 100644 --- a/Test/git-issues/git-issue-697b.dfy +++ b/Test/git-issues/git-issue-697b.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Cell = Cell(x: int) type EvenCell = c: Cell | c.x % 2 == 0 witness Cell(0) diff --git a/Test/git-issues/git-issue-697b.dfy.expect b/Test/git-issues/git-issue-697b.dfy.expect index 9c777ac6a0f..b355409912b 100644 --- a/Test/git-issues/git-issue-697b.dfy.expect +++ b/Test/git-issues/git-issue-697b.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors false 2 diff --git a/Test/git-issues/git-issue-697d.dfy b/Test/git-issues/git-issue-697d.dfy index 8b65c2da4f7..71a262fc985 100644 --- a/Test/git-issues/git-issue-697d.dfy +++ b/Test/git-issues/git-issue-697d.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" function nonGhostPredicate(x: int): bool { x % 2 == 0 diff --git a/Test/git-issues/git-issue-697d.dfy.expect b/Test/git-issues/git-issue-697d.dfy.expect index f32a5804e29..48fb59aeae5 100644 --- a/Test/git-issues/git-issue-697d.dfy.expect +++ b/Test/git-issues/git-issue-697d.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 4 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-697e.dfy b/Test/git-issues/git-issue-697e.dfy index 310851abf9a..e4500bfab28 100644 --- a/Test/git-issues/git-issue-697e.dfy +++ b/Test/git-issues/git-issue-697e.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Cell = Cell(x: int) type EvenCell = c: Cell | c.x % 2 == 0 witness Cell(0) diff --git a/Test/git-issues/git-issue-697e.dfy.expect b/Test/git-issues/git-issue-697e.dfy.expect index e69de29bb2d..00a51f822da 100644 --- a/Test/git-issues/git-issue-697e.dfy.expect +++ b/Test/git-issues/git-issue-697e.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 3 verified, 0 errors diff --git a/Test/git-issues/git-issue-697f.dfy b/Test/git-issues/git-issue-697f.dfy index acb8810dfbf..92d1cec2ed8 100644 --- a/Test/git-issues/git-issue-697f.dfy +++ b/Test/git-issues/git-issue-697f.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" ghost function ghostPredicate(x: int): bool { x % 2 == 0 diff --git a/Test/git-issues/git-issue-697f.dfy.expect b/Test/git-issues/git-issue-697f.dfy.expect index b5754e20373..3e2cf8d0f69 100644 --- a/Test/git-issues/git-issue-697f.dfy.expect +++ b/Test/git-issues/git-issue-697f.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 4 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-697g.dfy b/Test/git-issues/git-issue-697g.dfy index 7b30de7f3a0..c3b7581ff61 100644 --- a/Test/git-issues/git-issue-697g.dfy +++ b/Test/git-issues/git-issue-697g.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" function returnNat(c: nat): int { diff --git a/Test/git-issues/git-issue-697g.dfy.expect b/Test/git-issues/git-issue-697g.dfy.expect index f32a5804e29..d9157fa820a 100644 --- a/Test/git-issues/git-issue-697g.dfy.expect +++ b/Test/git-issues/git-issue-697g.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-698.dfy b/Test/git-issues/git-issue-698.dfy index 7b7a9ca15b8..b15295c9b46 100644 --- a/Test/git-issues/git-issue-698.dfy +++ b/Test/git-issues/git-issue-698.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" type Small = x: int | 0 <= x < 100 && x != 3 diff --git a/Test/git-issues/git-issue-698.dfy.expect b/Test/git-issues/git-issue-698.dfy.expect index 27ba77ddaf6..7f965a65d2e 100644 --- a/Test/git-issues/git-issue-698.dfy.expect +++ b/Test/git-issues/git-issue-698.dfy.expect @@ -1 +1,8 @@ + +Dafny program verifier finished with 3 verified, 0 errors + +Dafny program verifier did not attempt verification +true + +Dafny program verifier did not attempt verification true diff --git a/Test/git-issues/git-issue-698b.dfy b/Test/git-issues/git-issue-698b.dfy index dbdbc3b36d3..1d4a92456e6 100644 --- a/Test/git-issues/git-issue-698b.dfy +++ b/Test/git-issues/git-issue-698b.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" type Small = x: int | 0 <= x < 100 && x != 3 @@ -12,4 +13,4 @@ method Main() { var b := !exists n: Small :: F(n) != 100; assert b; print b; -} +} \ No newline at end of file diff --git a/Test/git-issues/git-issue-698b.dfy.expect b/Test/git-issues/git-issue-698b.dfy.expect index f32a5804e29..188a72ebc36 100644 --- a/Test/git-issues/git-issue-698b.dfy.expect +++ b/Test/git-issues/git-issue-698b.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-701.dfy b/Test/git-issues/git-issue-701.dfy index 38984df4ecf..af19f0d89e2 100644 --- a/Test/git-issues/git-issue-701.dfy +++ b/Test/git-issues/git-issue-701.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var ca := new ClassA; diff --git a/Test/git-issues/git-issue-701.dfy.expect b/Test/git-issues/git-issue-701.dfy.expect index 5198c09cbb1..4d20966e641 100644 --- a/Test/git-issues/git-issue-701.dfy.expect +++ b/Test/git-issues/git-issue-701.dfy.expect @@ -1,3 +1,22 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification +0 0 0 +[] [] [] +C.Nothing C.Nothing C.Nothing + +Dafny program verifier did not attempt verification +0 0 0 +[] [] [] +C.Nothing C.Nothing C.Nothing + +Dafny program verifier did not attempt verification +0 0 0 +[] [] [] +C.Nothing C.Nothing C.Nothing + +Dafny program verifier did not attempt verification 0 0 0 [] [] [] C.Nothing C.Nothing C.Nothing diff --git a/Test/git-issues/git-issue-705.dfy b/Test/git-issues/git-issue-705.dfy index 5b2fa1bac01..d4b806800c2 100644 --- a/Test/git-issues/git-issue-705.dfy +++ b/Test/git-issues/git-issue-705.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /spillTargetCode:3 +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs /spillTargetCode:3 "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js /spillTargetCode:3 "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go /spillTargetCode:3 "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java /spillTargetCode:3 "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype MyDataType = AAA { function toString(): int { 222 } diff --git a/Test/git-issues/git-issue-705.dfy.expect b/Test/git-issues/git-issue-705.dfy.expect index 79a1eee7c74..02cf409667a 100644 --- a/Test/git-issues/git-issue-705.dfy.expect +++ b/Test/git-issues/git-issue-705.dfy.expect @@ -1 +1,14 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification +MyDataType.AAA 222 + +Dafny program verifier did not attempt verification +MyDataType.AAA 222 + +Dafny program verifier did not attempt verification +MyDataType.AAA 222 + +Dafny program verifier did not attempt verification MyDataType.AAA 222 diff --git a/Test/git-issues/git-issue-731.dfy b/Test/git-issues/git-issue-731.dfy index 348d40fecea..05d02fea1af 100644 --- a/Test/git-issues/git-issue-731.dfy +++ b/Test/git-issues/git-issue-731.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" trait Trait { const y: Y diff --git a/Test/git-issues/git-issue-731.dfy.expect b/Test/git-issues/git-issue-731.dfy.expect index 7554a44901e..69b2e6af648 100644 --- a/Test/git-issues/git-issue-731.dfy.expect +++ b/Test/git-issues/git-issue-731.dfy.expect @@ -1,2 +1,18 @@ + +Dafny program verifier finished with 3 verified, 0 errors + +Dafny program verifier did not attempt verification +0 0 0 42 +0 0 0 9 + +Dafny program verifier did not attempt verification +0 0 0 42 +0 0 0 9 + +Dafny program verifier did not attempt verification +0 0 0 42 +0 0 0 9 + +Dafny program verifier did not attempt verification 0 0 0 42 0 0 0 9 diff --git a/Test/git-issues/git-issue-731b.dfy b/Test/git-issues/git-issue-731b.dfy index 2a0507839a2..a77dbd6323b 100644 --- a/Test/git-issues/git-issue-731b.dfy +++ b/Test/git-issues/git-issue-731b.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // Testing issue#731 when the class in question has type parameters diff --git a/Test/git-issues/git-issue-731b.dfy.expect b/Test/git-issues/git-issue-731b.dfy.expect index dd3226d2b73..97e6c041920 100644 --- a/Test/git-issues/git-issue-731b.dfy.expect +++ b/Test/git-issues/git-issue-731b.dfy.expect @@ -1 +1,14 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification +0 42 + +Dafny program verifier did not attempt verification +0 42 + +Dafny program verifier did not attempt verification +0 42 + +Dafny program verifier did not attempt verification 0 42 diff --git a/Test/git-issues/git-issue-755.dfy b/Test/git-issues/git-issue-755.dfy index 2227a486a21..25fb3e6a485 100644 --- a/Test/git-issues/git-issue-755.dfy +++ b/Test/git-issues/git-issue-755.dfy @@ -1,5 +1,9 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var s := { 1,9,3,7,5}; diff --git a/Test/git-issues/git-issue-755.dfy.expect b/Test/git-issues/git-issue-755.dfy.expect index 9182de3a24a..c930da26922 100644 --- a/Test/git-issues/git-issue-755.dfy.expect +++ b/Test/git-issues/git-issue-755.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 5 verified, 0 errors + +Dafny program verifier did not attempt verification 1 3 5 @@ -5,3 +9,30 @@ 9 1 3 3 5 + +Dafny program verifier did not attempt verification +1 +9 +3 +7 +5 +1 3 +3 5 + +Dafny program verifier did not attempt verification +1 +9 +3 +7 +5 +1 3 +3 5 + +Dafny program verifier did not attempt verification +1 +3 +5 +7 +9 +3 5 +1 3 diff --git a/Test/git-issues/git-issue-755.dfy.go.expect b/Test/git-issues/git-issue-755.dfy.go.expect deleted file mode 100644 index f41e86c7579..00000000000 --- a/Test/git-issues/git-issue-755.dfy.go.expect +++ /dev/null @@ -1,7 +0,0 @@ -1 -9 -3 -7 -5 -1 3 -3 5 diff --git a/Test/git-issues/git-issue-755.dfy.java.expect b/Test/git-issues/git-issue-755.dfy.java.expect deleted file mode 100644 index f4407f49a6f..00000000000 --- a/Test/git-issues/git-issue-755.dfy.java.expect +++ /dev/null @@ -1,7 +0,0 @@ -1 -3 -5 -7 -9 -3 5 -1 3 diff --git a/Test/git-issues/git-issue-755.dfy.js.expect b/Test/git-issues/git-issue-755.dfy.js.expect deleted file mode 100644 index f41e86c7579..00000000000 --- a/Test/git-issues/git-issue-755.dfy.js.expect +++ /dev/null @@ -1,7 +0,0 @@ -1 -9 -3 -7 -5 -1 3 -3 5 diff --git a/Test/git-issues/git-issue-784.dfy b/Test/git-issues/git-issue-784.dfy index 5f6cf59465c..78b83f01064 100644 --- a/Test/git-issues/git-issue-784.dfy +++ b/Test/git-issues/git-issue-784.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype List = Nil | Cons(T, List) { function App(ys: List): List { diff --git a/Test/git-issues/git-issue-784.dfy.expect b/Test/git-issues/git-issue-784.dfy.expect index e69de29bb2d..8da23be5c8c 100644 --- a/Test/git-issues/git-issue-784.dfy.expect +++ b/Test/git-issues/git-issue-784.dfy.expect @@ -0,0 +1,10 @@ + +Dafny program verifier finished with 4 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-953.dfy b/Test/git-issues/git-issue-953.dfy index 1032ad45a3a..0e9e0198b90 100644 --- a/Test/git-issues/git-issue-953.dfy +++ b/Test/git-issues/git-issue-953.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" module P { datatype T_ = T() // the underscore in this name once caused a problem in Java compilation diff --git a/Test/git-issues/git-issue-953.dfy.expect b/Test/git-issues/git-issue-953.dfy.expect index d992760e80b..b731ec2edbe 100644 --- a/Test/git-issues/git-issue-953.dfy.expect +++ b/Test/git-issues/git-issue-953.dfy.expect @@ -1,3 +1,39 @@ + +Dafny program verifier finished with 6 verified, 0 errors + +Dafny program verifier did not attempt verification +C_Compile.T_.T +P_Compile.T_.T +OtherNamesWithSpecialCharacters_q___Compile.A?_.A?_ OtherNamesWithSpecialCharacters_q___Compile.B?_.B?_ +17 17 0 0 +C2_Compile.C.C(10, 11) +9 + +Dafny program verifier did not attempt verification +C_Compile.T_.T +P_Compile.T_.T +OtherNamesWithSpecialCharacters_q___Compile.A?_.A?_ OtherNamesWithSpecialCharacters_q___Compile.B?_.B?_ +17 17 0 0 +C2_Compile.C.C(10, 11) +9 + +Dafny program verifier did not attempt verification +C_Compile.T_.T +P_Compile.T_.T +OtherNamesWithSpecialCharacters_q___Compile.A?_.A?_ OtherNamesWithSpecialCharacters_q___Compile.B?_.B?_ +17 17 0 0 +C2_Compile.C.C(10, 11) +9 + +Dafny program verifier did not attempt verification +C_Compile.T_.T +P_Compile.T_.T +OtherNamesWithSpecialCharacters_q___Compile.A?_.A?_ OtherNamesWithSpecialCharacters_q___Compile.B?_.B?_ +17 17 0 0 +C2_Compile.C.C(10, 11) +9 + +Dafny program verifier did not attempt verification C_Compile.T_.T P_Compile.T_.T OtherNamesWithSpecialCharacters_q___Compile.A?_.A?_ OtherNamesWithSpecialCharacters_q___Compile.B?_.B?_ diff --git a/Test/git-issues/github-issue-3343.dfy b/Test/git-issues/github-issue-3343.dfy index d518b2a1a41..517a11d7fc1 100644 --- a/Test/git-issues/github-issue-3343.dfy +++ b/Test/git-issues/github-issue-3343.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" +// RUN: %baredafny run "%s" -t:java > "%t" +// RUN: %diff "%s.expect" "%t" method Bug() { var zero := 0; var a := new int[zero] []; diff --git a/Test/git-issues/github-issue-3343.dfy.expect b/Test/git-issues/github-issue-3343.dfy.expect index e69de29bb2d..823a60a105c 100644 --- a/Test/git-issues/github-issue-3343.dfy.expect +++ b/Test/git-issues/github-issue-3343.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 1 verified, 0 errors diff --git a/Test/hofs/Compilation.dfy b/Test/hofs/Compilation.dfy index 7e9c674b495..99fd0a36506 100644 --- a/Test/hofs/Compilation.dfy +++ b/Test/hofs/Compilation.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" class Ref { var val : A diff --git a/Test/hofs/Compilation.dfy.expect b/Test/hofs/Compilation.dfy.expect index 6b7187d2557..760fafc6189 100644 --- a/Test/hofs/Compilation.dfy.expect +++ b/Test/hofs/Compilation.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 2 verified, 0 errors 1 = 1 3 = 3 3 = 3 diff --git a/Test/hofs/Examples.dfy b/Test/hofs/Examples.dfy index bebda559221..cdf177c001f 100644 --- a/Test/hofs/Examples.dfy +++ b/Test/hofs/Examples.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" function Apply(f: A ~> B, x: A): B reads f.reads(x) diff --git a/Test/hofs/Examples.dfy.expect b/Test/hofs/Examples.dfy.expect index e69de29bb2d..851aaf58286 100644 --- a/Test/hofs/Examples.dfy.expect +++ b/Test/hofs/Examples.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 7 verified, 0 errors diff --git a/Test/hofs/Fold.dfy b/Test/hofs/Fold.dfy index 96ddb01591f..336f9121b52 100644 --- a/Test/hofs/Fold.dfy +++ b/Test/hofs/Fold.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype List = Nil | Cons(A,List) diff --git a/Test/hofs/Fold.dfy.expect b/Test/hofs/Fold.dfy.expect index 3abcc310618..144ffab92db 100644 --- a/Test/hofs/Fold.dfy.expect +++ b/Test/hofs/Fold.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors 3 = 3 diff --git a/Test/hofs/Folding.dfy b/Test/hofs/Folding.dfy index ef1dcee80bb..a300ea03b63 100644 --- a/Test/hofs/Folding.dfy +++ b/Test/hofs/Folding.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /induction:3 +// RUN: %dafny /compile:3 /induction:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Specifications and proofs involving foldr (inspired by Liquid Haskell) and foldl // Rustan Leino diff --git a/Test/hofs/Folding.dfy.expect b/Test/hofs/Folding.dfy.expect index 326af12dd76..c4384266dfb 100644 --- a/Test/hofs/Folding.dfy.expect +++ b/Test/hofs/Folding.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 21 verified, 0 errors xs = List.Cons(57, List.Cons(100, List.Cons(-34, List.Cons(1, List.Cons(8, List.Nil))))) foldr = 264 foldl = 264 diff --git a/Test/hofs/Renaming.dfy b/Test/hofs/Renaming.dfy index 391c0e79ef6..cf21fdba2f8 100644 --- a/Test/hofs/Renaming.dfy +++ b/Test/hofs/Renaming.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" function OnId(f : (bool -> bool) -> int) : int reads f.reads(x => x) diff --git a/Test/hofs/Renaming.dfy.expect b/Test/hofs/Renaming.dfy.expect index 13a954d9043..e2b6636dbe4 100644 --- a/Test/hofs/Renaming.dfy.expect +++ b/Test/hofs/Renaming.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 4 verified, 0 errors 10 11 diff --git a/Test/hofs/Requires.dfy b/Test/hofs/Requires.dfy index f5e51244184..de5944b6744 100644 --- a/Test/hofs/Requires.dfy +++ b/Test/hofs/Requires.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/hofs/Requires.dfy.expect b/Test/hofs/Requires.dfy.expect index e69de29bb2d..1981561ca00 100644 --- a/Test/hofs/Requires.dfy.expect +++ b/Test/hofs/Requires.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 10 verified, 0 errors diff --git a/Test/hofs/TreeMapSimple.dfy b/Test/hofs/TreeMapSimple.dfy index b7baf6eb8d7..d93aea46403 100644 --- a/Test/hofs/TreeMapSimple.dfy +++ b/Test/hofs/TreeMapSimple.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { TestY(); diff --git a/Test/hofs/TreeMapSimple.dfy.expect b/Test/hofs/TreeMapSimple.dfy.expect index be0317f1016..9224d605f7e 100644 --- a/Test/hofs/TreeMapSimple.dfy.expect +++ b/Test/hofs/TreeMapSimple.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 11 verified, 0 errors Tree.Branch(100, List.Cons(Tree.Branch(50, List.Nil), List.Nil)) Tree.Branch(100, List.Cons(Tree.Branch(50, List.Nil), List.Nil)) diff --git a/Test/hofs/VectorUpdate.dfy b/Test/hofs/VectorUpdate.dfy index 70c0de3084e..848ed585ca6 100644 --- a/Test/hofs/VectorUpdate.dfy +++ b/Test/hofs/VectorUpdate.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // this is a rather verbose version of the VectorUpdate method method VectorUpdate(N: int, a : array, f : (int,A) ~> A) diff --git a/Test/hofs/VectorUpdate.dfy.expect b/Test/hofs/VectorUpdate.dfy.expect index 7645f125857..b8fae39eab8 100644 --- a/Test/hofs/VectorUpdate.dfy.expect +++ b/Test/hofs/VectorUpdate.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 8 verified, 0 errors 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 100, 50, 33, 25, 20, 16, 14, 12, 11, 10 diff --git a/Test/hofs/WhileLoop.dfy b/Test/hofs/WhileLoop.dfy index 914f47f4522..4af9fbd841b 100644 --- a/Test/hofs/WhileLoop.dfy +++ b/Test/hofs/WhileLoop.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" class Ref { var val: A diff --git a/Test/hofs/WhileLoop.dfy.expect b/Test/hofs/WhileLoop.dfy.expect index 83083b451e1..234ac298c9b 100644 --- a/Test/hofs/WhileLoop.dfy.expect +++ b/Test/hofs/WhileLoop.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 4 verified, 0 errors 22 22 22 diff --git a/Test/irondafny0/optimize0.dfy b/Test/irondafny0/optimize0.dfy index 218c9820626..c4b8b2122ca 100644 --- a/Test/irondafny0/optimize0.dfy +++ b/Test/irondafny0/optimize0.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /optimize +// RUN: %dafny /compile:3 /optimize /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // See https://github.com/dafny-lang/dafny/issues/508 method Main() { diff --git a/Test/irondafny0/optimize0.dfy.expect b/Test/irondafny0/optimize0.dfy.expect index 0d5c8e51c8b..4e37c19c360 100644 --- a/Test/irondafny0/optimize0.dfy.expect +++ b/Test/irondafny0/optimize0.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 0 verified, 0 errors o hai! \ No newline at end of file diff --git a/Test/metatests/OutputEncoding.dfy b/Test/metatests/OutputEncoding.dfy index 59fa53bf298..68c390ac811 100644 --- a/Test/metatests/OutputEncoding.dfy +++ b/Test/metatests/OutputEncoding.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" +// RUN: %baredafny verify %args "%s" > "%t" +// RUN: %baredafny run --no-verify --target=cs %args "%s" >> "%t" +// RUN: %baredafny run --no-verify --target=js %args "%s" >> "%t" +// RUN: %baredafny run --no-verify --target=go %args "%s" >> "%t" +// RUN: %baredafny run --no-verify --target=py %args "%s" >> "%t" +// RUN: %baredafny run --no-verify --target=java %args "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { // This works fine in all languages because € is a single UTF-16 code unit. diff --git a/Test/metatests/OutputEncoding.dfy.expect b/Test/metatests/OutputEncoding.dfy.expect index b25a57298f1..a37241376f3 100644 --- a/Test/metatests/OutputEncoding.dfy.expect +++ b/Test/metatests/OutputEncoding.dfy.expect @@ -1 +1,17 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification +Euro sign: € + +Dafny program verifier did not attempt verification +Euro sign: € + +Dafny program verifier did not attempt verification +Euro sign: € + +Dafny program verifier did not attempt verification +Euro sign: € + +Dafny program verifier did not attempt verification Euro sign: € diff --git a/Test/patterns/OrPatterns.dfy b/Test/patterns/OrPatterns.dfy index 6385bd55c93..4f2610c9379 100644 --- a/Test/patterns/OrPatterns.dfy +++ b/Test/patterns/OrPatterns.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /rprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Enum = One | Two | Three { predicate Even() { diff --git a/Test/patterns/OrPatterns.dfy.expect b/Test/patterns/OrPatterns.dfy.expect index d86bac9de59..a6fce7c4a13 100644 --- a/Test/patterns/OrPatterns.dfy.expect +++ b/Test/patterns/OrPatterns.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 11 verified, 0 errors OK diff --git a/Test/patterns/PatternMatching.dfy b/Test/patterns/PatternMatching.dfy index e8a73b856e4..477126c066a 100644 --- a/Test/patterns/PatternMatching.dfy +++ b/Test/patterns/PatternMatching.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" /* * This file contains a collection of tests for features modified or introduced in PR 458 @@ -221,4 +222,4 @@ method Main() { var r5 := MultipleNestedMatch(A(0), t4, bb); print "Testing MultipleNestedMatch: ", r0, r1, r2, r3, r4, r5, ", should return 012345\n"; -} +} \ No newline at end of file diff --git a/Test/patterns/PatternMatching.dfy.expect b/Test/patterns/PatternMatching.dfy.expect index b4415971ca5..2970273cbfc 100644 --- a/Test/patterns/PatternMatching.dfy.expect +++ b/Test/patterns/PatternMatching.dfy.expect @@ -1,3 +1,6 @@ +PatternMatching.dfy(102,4): Warning: this branch is redundant + +Dafny program verifier finished with 9 verified, 0 errors NestingTest([6]) = 6, should return 6 NestedVariableTest([2::3::4::5::6]) = 0, should return 0 ConstantTest([3::4::5::6]) = 2, should return 2 diff --git a/Test/traits/TraitCompile.dfy b/Test/traits/TraitCompile.dfy index 6e9b925fbc5..03cf3746c6f 100644 --- a/Test/traits/TraitCompile.dfy +++ b/Test/traits/TraitCompile.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" trait TT { @@ -814,4 +820,4 @@ module RedeclaringMembers { true } } -} +} \ No newline at end of file diff --git a/Test/traits/TraitCompile.dfy.expect b/Test/traits/TraitCompile.dfy.expect index b70a9b09d2e..8257b754de2 100644 --- a/Test/traits/TraitCompile.dfy.expect +++ b/Test/traits/TraitCompile.dfy.expect @@ -1,3 +1,259 @@ + +Dafny program verifier finished with 75 verified, 0 errors + +Dafny program verifier did not attempt verification +y=120 +x=12 +d=800 +a5=407 +t=1212 +z=30 +z'=30 +w=30 +d=1000 +a5=507 +t=1512 +t=1512 +t=1515 +This is OtherModule.P(7.0) +From OtherModule.Y: 7 and true +This is OtherModule.P(7.0) +From OtherModule.X: 7 and true +c.f= 15 j.f= 15 +c.f= 18 j.f= 18 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +x=126 +5.2 9 false +true true true true +false false false false +true true true true +false false false false +5.2 5.2 +1.2 1.2 +1.2 1.2 +15 30 +15 30 +15 30 +0 (0, 0) 0 +8 +0 0 0 0 0 0 0 0 0 0 0 0 +13 13 13 13 13 13 13 13 13 13 13 13 +14 14 14 14 14 14 14 14 14 14 14 14 +15 15 15 15 15 15 15 15 15 15 15 15 +16 16 16 16 16 16 16 16 16 16 16 16 +17 17 17 17 17 17 17 17 17 17 17 17 +18 18 18 18 18 18 18 18 18 18 18 18 +19 19 19 19 19 19 19 19 19 19 19 19 +20 20 20 20 20 20 20 20 20 20 20 20 +21 21 21 21 21 21 21 21 21 21 21 21 +22 22 22 22 22 22 22 22 22 22 22 22 +23 23 23 23 23 23 23 23 23 23 23 23 +24 24 24 24 24 24 24 24 24 24 24 24 +f(4) = 7 +f(4) = 7 +g(4) = 7 +g(4) = 7 +41 15 26 +true true +true true +true true +true true +true true true +true true true + +Dafny program verifier did not attempt verification +y=120 +x=12 +d=800 +a5=407 +t=1212 +z=30 +z'=30 +w=30 +d=1000 +a5=507 +t=1512 +t=1512 +t=1515 +This is OtherModule.P(7.0) +From OtherModule.Y: 7 and true +This is OtherModule.P(7.0) +From OtherModule.X: 7 and true +c.f= 15 j.f= 15 +c.f= 18 j.f= 18 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +x=126 +5.2 9 false +true true true true +false false false false +true true true true +false false false false +5.2 5.2 +1.2 1.2 +1.2 1.2 +15 30 +15 30 +15 30 +0 (0, 0) 0 +8 +0 0 0 0 0 0 0 0 0 0 0 0 +13 13 13 13 13 13 13 13 13 13 13 13 +14 14 14 14 14 14 14 14 14 14 14 14 +15 15 15 15 15 15 15 15 15 15 15 15 +16 16 16 16 16 16 16 16 16 16 16 16 +17 17 17 17 17 17 17 17 17 17 17 17 +18 18 18 18 18 18 18 18 18 18 18 18 +19 19 19 19 19 19 19 19 19 19 19 19 +20 20 20 20 20 20 20 20 20 20 20 20 +21 21 21 21 21 21 21 21 21 21 21 21 +22 22 22 22 22 22 22 22 22 22 22 22 +23 23 23 23 23 23 23 23 23 23 23 23 +24 24 24 24 24 24 24 24 24 24 24 24 +f(4) = 7 +f(4) = 7 +g(4) = 7 +g(4) = 7 +41 15 26 +true true +true true +true true +true true +true true true +true true true + +Dafny program verifier did not attempt verification +y=120 +x=12 +d=800 +a5=407 +t=1212 +z=30 +z'=30 +w=30 +d=1000 +a5=507 +t=1512 +t=1512 +t=1515 +This is OtherModule.P(7.0) +From OtherModule.Y: 7 and true +This is OtherModule.P(7.0) +From OtherModule.X: 7 and true +c.f= 15 j.f= 15 +c.f= 18 j.f= 18 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +x=126 +5.2 9 false +true true true true +false false false false +true true true true +false false false false +5.2 5.2 +1.2 1.2 +1.2 1.2 +15 30 +15 30 +15 30 +0 (0, 0) 0 +8 +0 0 0 0 0 0 0 0 0 0 0 0 +13 13 13 13 13 13 13 13 13 13 13 13 +14 14 14 14 14 14 14 14 14 14 14 14 +15 15 15 15 15 15 15 15 15 15 15 15 +16 16 16 16 16 16 16 16 16 16 16 16 +17 17 17 17 17 17 17 17 17 17 17 17 +18 18 18 18 18 18 18 18 18 18 18 18 +19 19 19 19 19 19 19 19 19 19 19 19 +20 20 20 20 20 20 20 20 20 20 20 20 +21 21 21 21 21 21 21 21 21 21 21 21 +22 22 22 22 22 22 22 22 22 22 22 22 +23 23 23 23 23 23 23 23 23 23 23 23 +24 24 24 24 24 24 24 24 24 24 24 24 +f(4) = 7 +f(4) = 7 +g(4) = 7 +g(4) = 7 +41 15 26 +true true +true true +true true +true true +true true true +true true true + +Dafny program verifier did not attempt verification +y=120 +x=12 +d=800 +a5=407 +t=1212 +z=30 +z'=30 +w=30 +d=1000 +a5=507 +t=1512 +t=1512 +t=1515 +This is OtherModule.P(7.0) +From OtherModule.Y: 7 and true +This is OtherModule.P(7.0) +From OtherModule.X: 7 and true +c.f= 15 j.f= 15 +c.f= 18 j.f= 18 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +x=126 +5.2 9 false +true true true true +false false false false +true true true true +false false false false +5.2 5.2 +1.2 1.2 +1.2 1.2 +15 30 +15 30 +15 30 +0 (0, 0) 0 +8 +0 0 0 0 0 0 0 0 0 0 0 0 +13 13 13 13 13 13 13 13 13 13 13 13 +14 14 14 14 14 14 14 14 14 14 14 14 +15 15 15 15 15 15 15 15 15 15 15 15 +16 16 16 16 16 16 16 16 16 16 16 16 +17 17 17 17 17 17 17 17 17 17 17 17 +18 18 18 18 18 18 18 18 18 18 18 18 +19 19 19 19 19 19 19 19 19 19 19 19 +20 20 20 20 20 20 20 20 20 20 20 20 +21 21 21 21 21 21 21 21 21 21 21 21 +22 22 22 22 22 22 22 22 22 22 22 22 +23 23 23 23 23 23 23 23 23 23 23 23 +24 24 24 24 24 24 24 24 24 24 24 24 +f(4) = 7 +f(4) = 7 +g(4) = 7 +g(4) = 7 +41 15 26 +true true +true true +true true +true true +true true true +true true true + +Dafny program verifier did not attempt verification y=120 x=12 d=800 diff --git a/Test/traits/TraitExample.dfy b/Test/traits/TraitExample.dfy index 54c5cbbec6f..d6afb4ce70b 100644 --- a/Test/traits/TraitExample.dfy +++ b/Test/traits/TraitExample.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" trait Automobile { ghost var Repr: set diff --git a/Test/traits/TraitExample.dfy.expect b/Test/traits/TraitExample.dfy.expect index b9783e62141..c1b4ac93962 100644 --- a/Test/traits/TraitExample.dfy.expect +++ b/Test/traits/TraitExample.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 29 verified, 0 errors Fiat: 6 Volvo: 20 Catacar: 26 diff --git a/Test/traits/Traits-Fields.dfy b/Test/traits/Traits-Fields.dfy index 6ae1aaab6d9..2da609c33c8 100644 --- a/Test/traits/Traits-Fields.dfy +++ b/Test/traits/Traits-Fields.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" trait J { diff --git a/Test/traits/Traits-Fields.dfy.expect b/Test/traits/Traits-Fields.dfy.expect index c39bd8b5d5d..cc460fc52f4 100644 --- a/Test/traits/Traits-Fields.dfy.expect +++ b/Test/traits/Traits-Fields.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 2 verified, 0 errors j.x = 9 c.x = 9 diff --git a/Test/traits/TraitsMultipleInheritance.dfy b/Test/traits/TraitsMultipleInheritance.dfy index 67fd8673488..12590e47828 100644 --- a/Test/traits/TraitsMultipleInheritance.dfy +++ b/Test/traits/TraitsMultipleInheritance.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" trait J1{ var x: int diff --git a/Test/traits/TraitsMultipleInheritance.dfy.expect b/Test/traits/TraitsMultipleInheritance.dfy.expect index b116b2d070d..ad1a1011a25 100644 --- a/Test/traits/TraitsMultipleInheritance.dfy.expect +++ b/Test/traits/TraitsMultipleInheritance.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 1 verified, 0 errors c.x + c.y = 30 j1.x + j2.y = 30 diff --git a/Test/unicodechars/comp/Collections.dfy b/Test/unicodechars/comp/Collections.dfy index 34f1a1e2180..fb3e451eb83 100644 --- a/Test/unicodechars/comp/Collections.dfy +++ b/Test/unicodechars/comp/Collections.dfy @@ -1,3 +1,8 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:true /verifyAllModules +// RUN: %dafny /compile:0 /verifyAllModules /unicodeChar:1 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" include "../../comp/Collections.dfy" diff --git a/Test/unicodechars/comp/Collections.dfy.expect b/Test/unicodechars/comp/Collections.dfy.expect index 89f08b08d75..70586502b0d 100644 --- a/Test/unicodechars/comp/Collections.dfy.expect +++ b/Test/unicodechars/comp/Collections.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 40 verified, 0 errors + +Dafny program verifier did not attempt verification Sets: {} {17, 82} {12, 17} cardinality: 0 2 2 union: {17, 82} {12, 17, 82} @@ -123,3 +127,511 @@ Multiset=== 1 3 |s|=2 |u|=4 1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Yellow := 21, Color.Blue := 30] +keys: {Color.Yellow, Color.Blue} +values: {21, 30} +items: {(Color.Yellow, 21), (Color.Blue, 30)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {21, 30} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.go.expect b/Test/unicodechars/comp/Collections.dfy.go.expect deleted file mode 100644 index 2fc0f3b7093..00000000000 --- a/Test/unicodechars/comp/Collections.dfy.go.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.java.expect b/Test/unicodechars/comp/Collections.dfy.java.expect deleted file mode 100644 index 39975cadfc4..00000000000 --- a/Test/unicodechars/comp/Collections.dfy.java.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Yellow := 21, Color.Blue := 30] -keys: {Color.Yellow, Color.Blue} -values: {21, 30} -items: {(Color.Yellow, 21), (Color.Blue, 30)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.js.expect b/Test/unicodechars/comp/Collections.dfy.js.expect deleted file mode 100644 index 2fc0f3b7093..00000000000 --- a/Test/unicodechars/comp/Collections.dfy.js.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.py.expect b/Test/unicodechars/comp/Collections.dfy.py.expect deleted file mode 100644 index e4e346dede0..00000000000 --- a/Test/unicodechars/comp/Collections.dfy.py.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {21, 30} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/unicodechars/comp/Comprehensions.dfy b/Test/unicodechars/comp/Comprehensions.dfy index 7ce8835997f..274f8d3a150 100644 --- a/Test/unicodechars/comp/Comprehensions.dfy +++ b/Test/unicodechars/comp/Comprehensions.dfy @@ -1,3 +1,8 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:true /verifyAllModules -include "../../comp/Comprehensions.dfy" +// RUN: %dafny /compile:0 /unicodeChar:1 /verifyAllModules "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" +include "../../comp/Comprehensions.dfy" \ No newline at end of file diff --git a/Test/unicodechars/comp/Comprehensions.dfy.expect b/Test/unicodechars/comp/Comprehensions.dfy.expect index c9703fc9397..18159ddde0a 100644 --- a/Test/unicodechars/comp/Comprehensions.dfy.expect +++ b/Test/unicodechars/comp/Comprehensions.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 32 verified, 0 errors + +Dafny program verifier did not attempt verification x=13 y=14 x=13 y=14 b=yes true false @@ -60,3 +64,259 @@ true true [137438953474, 137438953475, 137438953476, 137438953477, 137438953479] cdefh cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[14 := 7, 12 := 6, 13 := 6] +map[18 := 14, 17 := 13, 16 := 12] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh diff --git a/Test/unicodechars/comp/Comprehensions.dfy.py.expect b/Test/unicodechars/comp/Comprehensions.dfy.py.expect deleted file mode 100644 index aeaa31fc0f3..00000000000 --- a/Test/unicodechars/comp/Comprehensions.dfy.py.expect +++ /dev/null @@ -1,62 +0,0 @@ -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[14 := 7, 12 := 6, 13 := 6] -map[18 := 14, 17 := 13, 16 := 12] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh diff --git a/Test/unicodechars/comp/NativeNumbers.dfy b/Test/unicodechars/comp/NativeNumbers.dfy index 2dae43b062d..764b4b3b384 100644 --- a/Test/unicodechars/comp/NativeNumbers.dfy +++ b/Test/unicodechars/comp/NativeNumbers.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:true /verifyAllModules // Skip JavaScript because JavaScript doesn't have the same native types -include "../../comp/NativeNumbers.dfy" +// RUN: %dafny /compile:0 /verifyAllModules /unicodeChar:1 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" +include "../../comp/NativeNumbers.dfy" \ No newline at end of file diff --git a/Test/unicodechars/comp/NativeNumbers.dfy.expect b/Test/unicodechars/comp/NativeNumbers.dfy.expect index 354d931a151..b0fc6754f84 100644 --- a/Test/unicodechars/comp/NativeNumbers.dfy.expect +++ b/Test/unicodechars/comp/NativeNumbers.dfy.expect @@ -1,3 +1,259 @@ + +Dafny program verifier finished with 25 verified, 0 errors + +Dafny program verifier did not attempt verification +Casting: + +Small numbers: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 +5 5 5 5 5 5 5 5 5 +6 6 6 6 6 6 6 6 6 +7 7 7 7 7 7 7 7 7 +8 8 8 8 8 8 8 8 8 + +Large unsigned numbers: +255 255 255 255 255 255 255 255 +65535 65535 65535 65535 65535 65535 +4294967295 4294967295 4294967295 4294967295 +18446744073709551615 18446744073709551615 + +Int to large unsigned: +255 65535 4294967295 18446744073709551615 + +Cast from cardinality operator: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 + +Characters: +'C' 67 67 67 67 67 67 67 67 67 +0 127 32767 65535 65535 255 65535 65535 65535 + +Defaults: + +0 0 0 0 0 0 0 0 0 + +Byte arithmetic: + +20 30 +10 10 18 + +Short arithmetic: + +20 30 +10 10 18 + +Bitvectors: + +0 3 4 1 + +Comparison to zero: + +int8: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int16: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int32: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int64: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint8: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint16: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint32: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint64: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N + + +Dafny program verifier did not attempt verification +Casting: + +Small numbers: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 +5 5 5 5 5 5 5 5 5 +6 6 6 6 6 6 6 6 6 +7 7 7 7 7 7 7 7 7 +8 8 8 8 8 8 8 8 8 + +Large unsigned numbers: +255 255 255 255 255 255 255 255 +65535 65535 65535 65535 65535 65535 +4294967295 4294967295 4294967295 4294967295 +18446744073709551615 18446744073709551615 + +Int to large unsigned: +255 65535 4294967295 18446744073709551615 + +Cast from cardinality operator: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 + +Characters: +'C' 67 67 67 67 67 67 67 67 67 +0 127 32767 65535 65535 255 65535 65535 65535 + +Defaults: + +0 0 0 0 0 0 0 0 0 + +Byte arithmetic: + +20 30 +10 10 18 + +Short arithmetic: + +20 30 +10 10 18 + +Bitvectors: + +0 3 4 1 + +Comparison to zero: + +int8: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int16: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int32: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int64: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint8: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint16: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint32: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint64: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N + + +Dafny program verifier did not attempt verification +Casting: + +Small numbers: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 +5 5 5 5 5 5 5 5 5 +6 6 6 6 6 6 6 6 6 +7 7 7 7 7 7 7 7 7 +8 8 8 8 8 8 8 8 8 + +Large unsigned numbers: +255 255 255 255 255 255 255 255 +65535 65535 65535 65535 65535 65535 +4294967295 4294967295 4294967295 4294967295 +18446744073709551615 18446744073709551615 + +Int to large unsigned: +255 65535 4294967295 18446744073709551615 + +Cast from cardinality operator: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 + +Characters: +'C' 67 67 67 67 67 67 67 67 67 +0 127 32767 65535 65535 255 65535 65535 65535 + +Defaults: + +0 0 0 0 0 0 0 0 0 + +Byte arithmetic: + +20 30 +10 10 18 + +Short arithmetic: + +20 30 +10 10 18 + +Bitvectors: + +0 3 4 1 + +Comparison to zero: + +int8: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int16: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int32: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int64: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint8: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint16: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint32: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint64: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N + + +Dafny program verifier did not attempt verification Casting: Small numbers: diff --git a/Test/unicodechars/comp/Numbers.dfy b/Test/unicodechars/comp/Numbers.dfy index dfeeb19dc38..2c9170fe4d7 100644 --- a/Test/unicodechars/comp/Numbers.dfy +++ b/Test/unicodechars/comp/Numbers.dfy @@ -1,3 +1,8 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:true /verifyAllModules -include "../../comp/Numbers.dfy" +// RUN: %dafny /compile:0 /verifyAllModules /unicodeChar:1 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" +include "../../comp/Numbers.dfy" \ No newline at end of file diff --git a/Test/unicodechars/comp/Numbers.dfy.expect b/Test/unicodechars/comp/Numbers.dfy.expect index cce193e1cce..6fa2f59f340 100644 --- a/Test/unicodechars/comp/Numbers.dfy.expect +++ b/Test/unicodechars/comp/Numbers.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 59 verified, 0 errors + +Dafny program verifier did not attempt verification 0 0 3 @@ -109,3 +113,455 @@ true false true false false true false true true false true false 20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +'g' 'Q' '2' +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +(312.0 / 40.0) (1248.0 / 40.0) +(-312.0 / 40.0) (-1248.0 / 40.0) +(-312.0 / 40.0) (1248.0 / 40.0) +(312.0 / 40.0) (-1248.0 / 40.0) +0.0 0.0 0.0 +120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) +123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 (8100.0 / 8100.0) +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +'g' 'Q' '2' +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +'g' 'Q' '2' +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +(312.0 / 40.0) (1248.0 / 40.0) +(-312.0 / 40.0) (-1248.0 / 40.0) +(-312.0 / 40.0) (1248.0 / 40.0) +(312.0 / 40.0) (-1248.0 / 40.0) +0.0 0.0 0.0 +120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) +123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 (8100.0 / 8100.0) +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +'g' 'Q' '2' +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 diff --git a/Test/unicodechars/comp/Numbers.dfy.go.expect b/Test/unicodechars/comp/Numbers.dfy.go.expect deleted file mode 100644 index 95d8ac259c7..00000000000 --- a/Test/unicodechars/comp/Numbers.dfy.go.expect +++ /dev/null @@ -1,111 +0,0 @@ -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -'g' 'Q' '2' -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 diff --git a/Test/unicodechars/comp/Numbers.dfy.py.expect b/Test/unicodechars/comp/Numbers.dfy.py.expect deleted file mode 100644 index 95d8ac259c7..00000000000 --- a/Test/unicodechars/comp/Numbers.dfy.py.expect +++ /dev/null @@ -1,111 +0,0 @@ -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -'g' 'Q' '2' -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 From 2c043c2298ee175404dba9f0535eda93c67a33e6 Mon Sep 17 00:00:00 2001 From: Robin Salkeld Date: Fri, 2 Jun 2023 10:03:56 -0700 Subject: [PATCH 24/68] Fix verifier chunk extraction --- Source/IntegrationTests/LitTests.cs | 47 ++++++++++++++++++++++------ Source/TestDafny/MultiBackendTest.cs | 20 +++++++----- 2 files changed, 49 insertions(+), 18 deletions(-) diff --git a/Source/IntegrationTests/LitTests.cs b/Source/IntegrationTests/LitTests.cs index 277cca7e471..83659d8e5ec 100644 --- a/Source/IntegrationTests/LitTests.cs +++ b/Source/IntegrationTests/LitTests.cs @@ -283,6 +283,7 @@ bool IgnoreArgument(string arg, string testFilePath) { return false; } + // Analyze the commands to figure out any extra options to %testDafnyForEachCompiler var commonExtraOptions = new HashSet(); var extraOptionsLocked = false; string? expectFile = null; @@ -341,22 +342,37 @@ bool IgnoreArgument(string arg, string testFilePath) { } var expectContent = File.ReadAllText(expectFile); - // Partition according to the "\nDafny program verifier did not attempt verification/finished with..." lines + // Partition according to the "\nDafny program verifier did not attempt verification/finished with..." lines. + // Each call to dafny creates such a line, so splitting on them results in one more chunk than calls. var delimiter = new Regex("\nDafny program verifier[^\n]*\n"); - // TODO: why skip(1)? - var chunks = delimiter.Split(expectContent).Skip(1).ToArray(); - if (chunks.Length != backends.Count) { + var chunks = delimiter.Split(expectContent).ToList(); + if (chunks.Count != backends.Count + 1) { throw new ArgumentException(); } - string? verifierChunk = null; + // Whether we called dafny normally for each backend, + // or whether we first just verified, + // the first chunk will include any warnings that we will want to check + // in our own first verify-only call + // and remove from the other output chunks. + string verifierChunk = chunks.First(); + if (!string.IsNullOrWhiteSpace(verifierChunk)) { + var verifierExpectPath = $"{path}.verifier.expect"; + + // Need to adjust the line numbers of any warnings or errors + // since we're replacing many individual RUN lines with one :P + var adjustedVerifierChunk = AdjustLineNumbers(verifierChunk, 1 - testCase.Commands.Count()); + + File.WriteAllText(verifierExpectPath, adjustedVerifierChunk); + } + if (backends.First() == null) { - verifierChunk = chunks.First(); - if (!string.IsNullOrWhiteSpace(verifierChunk)) { - var verifierExpectPath = $"{path}.verifier.expect"; - File.WriteAllText(verifierExpectPath, verifierChunk); - } + backends.RemoveAt(0); + chunks.RemoveAt(0); } + // Now the first chunk is the verifier output before the execution output, + // so skip it. + chunks.RemoveAt(0); string? commonExpectChunk = null; var exceptions = false; @@ -409,6 +425,17 @@ bool IgnoreArgument(string arg, string testFilePath) { File.WriteAllLines(testCase.FilePath, newLines); } + private static string AdjustLineNumbers(string messages, int delta) { + var lines = MultiBackendTest.ReadAllLines(messages); + var pattern = new Regex("\\((\\d*),"); + var adjusted = lines.Select(line => + pattern.Replace(line, match => + $"({int.Parse(match.Groups[1].Value) + delta}," + ) + Environment.NewLine + ); + return string.Join("", adjusted); + } + private static ILitCommand GetLeafCommand(ILitCommand command) { if (command is LitCommandWithRedirection lcwr) { return GetLeafCommand(lcwr.Command); diff --git a/Source/TestDafny/MultiBackendTest.cs b/Source/TestDafny/MultiBackendTest.cs index 2d88f8507c6..73a81a542e0 100644 --- a/Source/TestDafny/MultiBackendTest.cs +++ b/Source/TestDafny/MultiBackendTest.cs @@ -198,14 +198,9 @@ private int RunWithCompiler(ForEachCompilerOptions options, IExecutableBackend b if (checkFile != null) { var outputLines = new List(); - var reader = new StringReader(outputString); - while (reader.ReadLine() is { } line) { - outputLines.Add(line); - } - reader = new StringReader(error); - while (reader.ReadLine() is { } line) { - outputLines.Add(line); - } + // Concatenate stdout and stderr so either can be checked against + outputLines.AddRange(ReadAllLines(outputString)); + outputLines.AddRange(ReadAllLines(error)); var checkDirectives = OutputCheckCommand.ParseCheckFile(checkFile); var (checkResult, checkOutput, checkError) = OutputCheckCommand.Execute(outputLines, checkDirectives); if (checkResult != 0) { @@ -225,6 +220,15 @@ private int RunWithCompiler(ForEachCompilerOptions options, IExecutableBackend b return exitCode; } + public static IList ReadAllLines(string s) { + var result = new List(); + var reader = new StringReader(s); + while (reader.ReadLine() is { } line) { + result.Add(line); + } + return result; + } + private static (int, string, string) RunDafny(IEnumerable arguments) { var argumentsWithDefaults = arguments.Concat(DafnyDriver.NewDefaultArgumentsForTesting); var outputWriter = new StringWriter(); From eda93bb6d75ca0e8a74789c9a9daa2185778b7a5 Mon Sep 17 00:00:00 2001 From: Robin Salkeld Date: Fri, 2 Jun 2023 10:17:39 -0700 Subject: [PATCH 25/68] A few more options translations and nonuniform tests --- Source/IntegrationTests/LitTests.cs | 4 ++++ Test/comp/NativeNumbers.dfy.js.check | 1 + Test/dafny0/Compilation.dfy | 1 + Test/hofs/Folding.dfy | 1 + Test/irondafny0/optimize0.dfy | 1 + 5 files changed, 8 insertions(+) create mode 100644 Test/comp/NativeNumbers.dfy.js.check diff --git a/Source/IntegrationTests/LitTests.cs b/Source/IntegrationTests/LitTests.cs index 83659d8e5ec..f3c226b7159 100644 --- a/Source/IntegrationTests/LitTests.cs +++ b/Source/IntegrationTests/LitTests.cs @@ -395,13 +395,17 @@ bool IgnoreArgument(string arg, string testFilePath) { var multiBackendCommand = "// RUN: %testDafnyForEachCompiler \"%s\""; var testDafnyExtraArgs = new SortedSet(); foreach (var extraOption in commonExtraOptions) { + // Map some common legacy options to new CLI options testDafnyExtraArgs.Add(extraOption switch { "/unicodeChar:0" => "--unicode-char:false", "/unicodeChar:1" => "--unicode-char:true", "/functionSyntax:3" => "--function-syntax:3", "/functionSyntax:4" => "--function-syntax:4", "/spillTargetCode:2" => "--spill-translation", + "/spillTargetCode:3" => "--spill-translation", "/optimizeErasableDatatypeWrapper:0" => "--optimize-erasable-datatype-wrapper:false", + "/verifyAllModules" => "--verify-included-files", + "/errorLimit:0" => "--verification-error-limit:0", _ => extraOption }); } diff --git a/Test/comp/NativeNumbers.dfy.js.check b/Test/comp/NativeNumbers.dfy.js.check new file mode 100644 index 00000000000..79bd3f69344 --- /dev/null +++ b/Test/comp/NativeNumbers.dfy.js.check @@ -0,0 +1 @@ +// CHECK: Error: None of the types given in :nativeType arguments is supported by the current compilation target. Try supplying others. diff --git a/Test/dafny0/Compilation.dfy b/Test/dafny0/Compilation.dfy index d13af7dcf41..6b61ef2e4e4 100644 --- a/Test/dafny0/Compilation.dfy +++ b/Test/dafny0/Compilation.dfy @@ -1,3 +1,4 @@ +// NONUNIFORM: /autoTriggers:0 not supported by new CLI // RUN: %dafny /compile:3 /deprecation:0 /autoTriggers:0 "%s" > "%t" // RUN: %diff "%s.expect" "%t" diff --git a/Test/hofs/Folding.dfy b/Test/hofs/Folding.dfy index a300ea03b63..2b73098e991 100644 --- a/Test/hofs/Folding.dfy +++ b/Test/hofs/Folding.dfy @@ -1,3 +1,4 @@ +// NONUNIFORM: /induction:3 not supported by new CLI // RUN: %dafny /compile:3 /induction:3 "%s" > "%t" // RUN: %diff "%s.expect" "%t" diff --git a/Test/irondafny0/optimize0.dfy b/Test/irondafny0/optimize0.dfy index c4b8b2122ca..194025c09a6 100644 --- a/Test/irondafny0/optimize0.dfy +++ b/Test/irondafny0/optimize0.dfy @@ -1,3 +1,4 @@ +// NONUNIFORM: /optimize option not supported by the new CLI // RUN: %dafny /compile:3 /optimize /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" // RUN: %diff "%s.expect" "%t" // See https://github.com/dafny-lang/dafny/issues/508 From 35d2efdb8080017773e653fe800c3dd8123e0de5 Mon Sep 17 00:00:00 2001 From: Robin Salkeld Date: Fri, 2 Jun 2023 10:18:30 -0700 Subject: [PATCH 26/68] Converting all tests --- Test/VerifyThis2015/Problem1.dfy | 3 +- Test/VerifyThis2015/Problem1.dfy.expect | 2 - Test/VerifyThis2015/Problem2.dfy | 3 +- Test/VerifyThis2015/Problem2.dfy.expect | 2 - Test/VerifyThis2015/Problem3.dfy | 3 +- Test/VerifyThis2015/Problem3.dfy.expect | 2 - Test/c++/arrays.dfy | 3 +- Test/c++/arrays.dfy.expect | 2 - Test/c++/bit-vectors.dfy | 3 +- Test/c++/bit-vectors.dfy.expect | 2 - Test/c++/class.dfy | 3 +- Test/c++/class.dfy.expect | 2 - Test/c++/const.dfy | 3 +- Test/c++/const.dfy.expect | 2 - Test/c++/datatypes.dfy | 3 +- Test/c++/datatypes.dfy.expect | 2 - Test/c++/generic.dfy | 3 +- Test/c++/generic.dfy.expect | 2 - Test/c++/hello.dfy | 3 +- Test/c++/hello.dfy.expect | 2 - Test/c++/ints.dfy | 3 +- Test/c++/ints.dfy.expect | 2 - Test/c++/maps.dfy | 3 +- Test/c++/maps.dfy.expect | 2 - Test/c++/recursion.dfy | 3 +- Test/c++/recursion.dfy.expect | 2 - Test/c++/returns.dfy | 3 +- Test/c++/returns.dfy.expect | 2 - Test/c++/seqs.dfy | 3 +- Test/c++/seqs.dfy.expect | 2 - Test/c++/sets.dfy | 3 +- Test/c++/sets.dfy.expect | 2 - Test/c++/while.dfy | 3 +- Test/c++/while.dfy.expect | 2 - Test/comp/Arrays.dfy | 9 +- Test/comp/Arrays.dfy.expect | 396 ------------ Test/comp/Arrays.dfy.go.expect | 96 +++ Test/comp/AsIs-Compile.dfy | 8 +- Test/comp/AsIs-Compile.dfy.expect | 160 ----- Test/comp/AutoInit.dfy | 8 +- Test/comp/AutoInit.dfy.expect | 160 ----- Test/comp/ByMethodCompilation.dfy | 8 +- Test/comp/ByMethodCompilation.dfy.expect | 32 - Test/comp/Calls.dfy | 8 +- Test/comp/Calls.dfy.expect | 40 -- Test/comp/Class.dfy | 8 +- Test/comp/Class.dfy.expect | 72 --- Test/comp/Collections.dfy | 9 +- Test/comp/Collections.dfy.expect | 512 ---------------- Test/comp/Collections.dfy.go.expect | 125 ++++ Test/comp/Collections.dfy.java.expect | 125 ++++ Test/comp/Collections.dfy.js.expect | 125 ++++ Test/comp/Collections.dfy.py.expect | 125 ++++ Test/comp/Comprehensions.dfy | 9 +- Test/comp/Comprehensions.dfy.expect | 260 -------- Test/comp/Comprehensions.dfy.py.expect | 62 ++ Test/comp/ComprehensionsNewSyntax.dfy | 9 +- Test/comp/ComprehensionsNewSyntax.dfy.expect | 148 ----- .../ComprehensionsNewSyntax.dfy.py.expect | 34 ++ Test/comp/CovariantCollections.dfy | 8 +- Test/comp/CovariantCollections.dfy.expect | 220 ------- Test/comp/Datatype.dfy | 9 +- Test/comp/Datatype.dfy.expect | 100 --- Test/comp/Datatype.dfy.java.expect | 22 + Test/comp/Datatype.dfy.py.expect | 22 + Test/comp/DefaultParameters-Compile.dfy | 8 +- .../comp/DefaultParameters-Compile.dfy.expect | 48 -- Test/comp/DowncastClone.dfy | 8 +- Test/comp/DowncastClone.dfy.expect | 40 -- Test/comp/ErasableTypeWrappers.dfy | 8 +- Test/comp/ErasableTypeWrappers.dfy.expect | 84 --- Test/comp/EuclideanDivision.dfy | 8 +- Test/comp/EuclideanDivision.dfy.expect | 36 -- Test/comp/ForLoops-Compilation.dfy | 8 +- Test/comp/ForLoops-Compilation.dfy.expect | 200 ------ Test/comp/ForallNewSyntax.dfy | 8 +- Test/comp/ForallNewSyntax.dfy.expect | 180 ------ Test/comp/Ghosts.dfy | 8 +- Test/comp/Ghosts.dfy.expect | 52 -- Test/comp/Let.dfy | 7 +- Test/comp/Let.dfy.expect | 34 -- Test/comp/MoreAutoInit.dfy | 8 +- Test/comp/MoreAutoInit.dfy.expect | 572 ------------------ Test/comp/NativeNumbers.dfy | 7 +- Test/comp/NativeNumbers.dfy.expect | 256 -------- Test/comp/NestedArrays.dfy | 7 +- Test/comp/NestedArrays.dfy.expect | 16 - Test/comp/Numbers.dfy | 9 +- Test/comp/Numbers.dfy.expect | 456 -------------- Test/comp/Numbers.dfy.go.expect | 111 ++++ Test/comp/Numbers.dfy.py.expect | 111 ++++ Test/comp/Poly.dfy | 9 +- Test/comp/Poly.dfy.expect | 60 -- Test/comp/Poly.dfy.go.expect | 12 + Test/comp/Poly.dfy.py.expect | 12 + Test/comp/Print.dfy | 8 +- Test/comp/Print.dfy.expect | 34 -- Test/comp/Print.dfy.go.expect | 8 + Test/comp/Print.dfy.java.expect | 8 + Test/comp/Print.dfy.js.expect | 8 + Test/comp/StaticMembersOfGenericTypes.dfy | 8 +- .../StaticMembersOfGenericTypes.dfy.expect | 76 --- Test/comp/TailRecursion.dfy | 8 +- Test/comp/TailRecursion.dfy.expect | 76 --- Test/comp/TypeDescriptors.dfy | 8 +- Test/comp/TypeDescriptors.dfy.expect | 152 ----- Test/comp/TypeParams.dfy | 11 +- Test/comp/TypeParams.dfy.expect | 88 --- Test/comp/TypeParams.dfy.go.expect | 19 + Test/comp/TypeParams.dfy.java.expect | 19 + Test/comp/TypeParams.dfy.js.expect | 19 + Test/comp/TypeParams.dfy.py.expect | 19 + Test/comp/UnoptimizedErasableTypeWrappers.dfy | 8 +- ...UnoptimizedErasableTypeWrappers.dfy.expect | 28 - Test/comp/Variance.dfy | 8 +- Test/comp/Variance.dfy.expect | 64 -- Test/comp/Various.dfy | 8 +- Test/comp/Various.dfy.expect | 40 -- Test/comp/firstSteps/0_IKnowThisMuchIs.dfy | 4 +- .../firstSteps/0_IKnowThisMuchIs.dfy.expect | 4 - Test/comp/firstSteps/1_Calls-F.dfy | 4 +- Test/comp/firstSteps/1_Calls-F.dfy.expect | 4 - Test/comp/firstSteps/2_Modules.dfy | 4 +- Test/comp/firstSteps/2_Modules.dfy.expect | 4 - Test/comp/firstSteps/3_Calls-As.dfy | 4 +- Test/comp/firstSteps/3_Calls-As.dfy.expect | 4 - .../4_Calls-FunctionsValues-Class+NT.dfy | 4 +- ..._Calls-FunctionsValues-Class+NT.dfy.expect | 4 - .../firstSteps/5_Calls-FunctionsValues-Dt.dfy | 4 +- .../5_Calls-FunctionsValues-Dt.dfy.expect | 4 - .../firstSteps/6_Calls-VariableCapture.dfy | 4 +- .../6_Calls-VariableCapture.dfy.expect | 4 - Test/comp/firstSteps/7_Arrays.dfy | 4 +- Test/comp/firstSteps/7_Arrays.dfy.expect | 4 - Test/comp/firstSteps/7_Dt_Algebraic.dfy | 6 +- .../firstSteps/7_Dt_Algebraic.dfy.cs.expect | 11 + .../comp/firstSteps/7_Dt_Algebraic.dfy.expect | 17 - Test/dafny0/ArrayElementInitCompile.dfy | 8 +- .../dafny0/ArrayElementInitCompile.dfy.expect | 76 --- Test/dafny0/Bitvectors.dfy | 5 +- Test/dafny0/Bitvectors.dfy.expect | 490 --------------- Test/dafny0/Bitvectors.dfy.verifier.expect | 441 ++++++++++++++ Test/dafny0/Constant.dfy | 3 +- Test/dafny0/Constant.dfy.expect | 2 - Test/dafny0/Deprecation.dfy | 3 +- Test/dafny0/Deprecation.dfy.expect | 7 - Test/dafny0/Deprecation.dfy.verifier.expect | 5 + Test/dafny0/DiscoverBounds.dfy | 3 +- Test/dafny0/DiscoverBounds.dfy.expect | 7 - .../dafny0/DiscoverBounds.dfy.verifier.expect | 5 + Test/dafny0/DividedConstructors.dfy | 3 +- Test/dafny0/DividedConstructors.dfy.expect | 186 ------ .../DividedConstructors.dfy.verifier.expect | 184 ++++++ Test/dafny0/EqualityTypesCompile.dfy | 3 +- Test/dafny0/EqualityTypesCompile.dfy.expect | 2 - Test/dafny0/ForallCompilation.dfy | 3 +- Test/dafny0/ForallCompilation.dfy.expect | 2 - Test/dafny0/ForallCompilationNewSyntax.dfy | 3 +- .../ForallCompilationNewSyntax.dfy.expect | 6 - ...llCompilationNewSyntax.dfy.verifier.expect | 4 + Test/dafny0/GhostGuards.dfy | 3 +- Test/dafny0/GhostGuards.dfy.expect | 7 - Test/dafny0/GhostGuards.dfy.verifier.expect | 5 + Test/dafny0/GhostITECompilation.dfy | 8 +- Test/dafny0/GhostITECompilation.dfy.expect | 28 - Test/dafny0/InitialValues.dfy | 3 +- Test/dafny0/InitialValues.dfy.expect | 2 - Test/dafny0/MatchBraces.dfy | 5 +- Test/dafny0/MatchBraces.dfy.expect | 133 ---- Test/dafny0/MatchBraces.dfy.verifier.expect | 125 ++++ Test/dafny0/MoForallCompilation.dfy | 3 +- Test/dafny0/MoForallCompilation.dfy.expect | 2 - Test/dafny0/NameclashesCompile.dfy | 3 +- Test/dafny0/NameclashesCompile.dfy.expect | 2 - Test/dafny0/NonZeroInitializationCompile.dfy | 7 +- .../NonZeroInitializationCompile.dfy.expect | 73 --- Test/dafny0/NullComparisonWarnings.dfy | 3 +- Test/dafny0/NullComparisonWarnings.dfy.expect | 13 - ...NullComparisonWarnings.dfy.verifier.expect | 11 + Test/dafny0/PrintUTF8.dfy | 3 +- Test/dafny0/PrintUTF8.dfy.expect | 2 - Test/dafny0/RangeCompilation.dfy | 3 +- Test/dafny0/RangeCompilation.dfy.expect | 2 - Test/dafny0/SeqFromArray.dfy | 3 +- Test/dafny0/SeqFromArray.dfy.expect | 2 - Test/dafny0/SharedDestructorsCompile.dfy | 5 +- .../SharedDestructorsCompile.dfy.expect | 17 - Test/dafny0/SiblingImports.dfy | 3 +- Test/dafny0/SiblingImports.dfy.expect | 2 - Test/dafny0/TypeConversionsCompile.dfy | 3 +- Test/dafny0/TypeConversionsCompile.dfy.expect | 225 ------- ...TypeConversionsCompile.dfy.verifier.expect | 223 +++++++ Test/dafny0/TypeMembers.dfy | 5 +- Test/dafny0/TypeMembers.dfy.expect | 29 - Test/dafny0/TypeMembers.dfy.verifier.expect | 1 + Test/dafny0/Wellfounded.dfy | 3 +- Test/dafny0/Wellfounded.dfy.expect | 4 - Test/dafny0/Wellfounded.dfy.verifier.expect | 2 + Test/dafny2/MinWindowMax.dfy | 3 +- Test/dafny2/MinWindowMax.dfy.expect | 2 - .../SmallestMissingNumber-functional.dfy | 3 +- ...mallestMissingNumber-functional.dfy.expect | 3 - ...ssingNumber-functional.dfy.verifier.expect | 1 + .../SmallestMissingNumber-imperative.dfy | 3 +- ...mallestMissingNumber-imperative.dfy.expect | 2 - Test/dafny2/StoreAndRetrieve.dfy | 7 +- Test/dafny2/StoreAndRetrieve.dfy.expect | 38 -- .../StoreAndRetrieve.dfy.verifier.expect | 5 + Test/dafny2/Z-BirthdayBook.dfy | 3 +- Test/dafny2/Z-BirthdayBook.dfy.expect | 2 - Test/dafny2/pq-intrinsic-extrinsic.dfy | 5 +- Test/dafny2/pq-intrinsic-extrinsic.dfy.expect | 11 - Test/dafny3/Abstemious.dfy | 3 +- Test/dafny3/Abstemious.dfy.expect | 2 - Test/dafny3/CachedContainer.dfy | 7 +- Test/dafny3/CachedContainer.dfy.expect | 78 --- .../CachedContainer.dfy.verifier.expect | 13 + Test/dafny3/Iter.dfy | 3 +- Test/dafny3/Iter.dfy.expect | 2 - Test/dafny4/Ackermann.dfy | 3 +- Test/dafny4/Ackermann.dfy.expect | 4 - Test/dafny4/Ackermann.dfy.verifier.expect | 2 + Test/dafny4/Bug107.dfy | 3 +- Test/dafny4/Bug107.dfy.expect | 2 - Test/dafny4/Bug108.dfy | 3 +- Test/dafny4/Bug108.dfy.expect | 2 - Test/dafny4/Bug113.dfy | 5 +- Test/dafny4/Bug113.dfy.expect | 2 - Test/dafny4/Bug116.dfy | 3 +- Test/dafny4/Bug116.dfy.expect | 2 - Test/dafny4/Bug140.dfy | 3 +- Test/dafny4/Bug140.dfy.expect | 2 - Test/dafny4/Bug148.dfy | 3 +- Test/dafny4/Bug148.dfy.expect | 2 - Test/dafny4/Bug49.dfy | 3 +- Test/dafny4/Bug49.dfy.expect | 2 - Test/dafny4/Bug60.dfy | 3 +- Test/dafny4/Bug60.dfy.expect | 2 - Test/dafny4/Bug67.dfy | 5 +- Test/dafny4/Bug67.dfy.expect | 2 - Test/dafny4/Bug68.dfy | 5 +- Test/dafny4/Bug68.dfy.expect | 2 - Test/dafny4/Bug89.dfy | 3 +- Test/dafny4/Bug89.dfy.expect | 2 - Test/dafny4/Bug94.dfy | 3 +- Test/dafny4/Bug94.dfy.expect | 2 - Test/dafny4/ClassRefinement.dfy | 7 +- Test/dafny4/ClassRefinement.dfy.expect | 43 -- .../ClassRefinement.dfy.verifier.expect | 6 + Test/dafny4/ExpandedGuardedness.dfy | 3 +- Test/dafny4/ExpandedGuardedness.dfy.expect | 2 - Test/dafny4/FlyingRobots.dfy | 3 +- Test/dafny4/FlyingRobots.dfy.expect | 2 - Test/dafny4/Leq.dfy | 3 +- Test/dafny4/Leq.dfy.expect | 2 - Test/dafny4/McCarthy91.dfy | 3 +- Test/dafny4/McCarthy91.dfy.expect | 2 - Test/dafny4/NatList.dfy | 3 +- Test/dafny4/NatList.dfy.expect | 2 - Test/dafny4/Regression15.dfy | 3 +- Test/dafny4/Regression15.dfy.expect | 2 - Test/dafny4/Regression2.dfy | 3 +- Test/dafny4/Regression2.dfy.expect | 2 - Test/dafny4/Regression3.dfy | 3 +- Test/dafny4/Regression3.dfy.expect | 2 - Test/dafny4/Regression4.dfy | 3 +- Test/dafny4/Regression4.dfy.expect | 2 - Test/dafny4/Regression6.dfy | 3 +- Test/dafny4/Regression6.dfy.expect | 2 - Test/dafny4/Regression7.dfy | 3 +- Test/dafny4/Regression7.dfy.expect | 2 - Test/dafny4/Regression9.dfy | 3 +- Test/dafny4/Regression9.dfy.expect | 2 - Test/dafny4/UnionFind.dfy | 3 +- Test/dafny4/UnionFind.dfy.expect | 2 - Test/dafny4/gcd.dfy | 7 +- Test/dafny4/gcd.dfy.expect | 31 - Test/dafny4/git-issue104.dfy | 8 +- Test/dafny4/git-issue104.dfy.expect | 16 - Test/dafny4/git-issue105.dfy | 3 +- Test/dafny4/git-issue105.dfy.expect | 2 - Test/dafny4/git-issue15.dfy | 3 +- Test/dafny4/git-issue15.dfy.expect | 2 - Test/dafny4/git-issue167.dfy | 3 +- Test/dafny4/git-issue167.dfy.expect | 2 - Test/dafny4/git-issue195.dfy | 3 +- Test/dafny4/git-issue195.dfy.expect | 2 - Test/dafny4/git-issue196.dfy | 3 +- Test/dafny4/git-issue196.dfy.expect | 2 - Test/dafny4/git-issue4.dfy | 3 +- Test/dafny4/git-issue4.dfy.expect | 2 - Test/dafny4/git-issue43.dfy | 3 +- Test/dafny4/git-issue43.dfy.expect | 2 - Test/dafny4/git-issue70.dfy | 3 +- Test/dafny4/git-issue70.dfy.expect | 2 - Test/dafny4/git-issue76.dfy | 5 +- Test/dafny4/git-issue76.dfy.expect | 7 - Test/dafny4/git-issue79.dfy | 3 +- Test/dafny4/git-issue79.dfy.expect | 2 - Test/dafny4/git-issue88.dfy | 3 +- Test/dafny4/git-issue88.dfy.expect | 2 - Test/exceptions/Exceptions1.dfy | 3 +- Test/exceptions/Exceptions1.dfy.expect | 2 - Test/exceptions/Exceptions1Expressions.dfy | 3 +- .../Exceptions1Expressions.dfy.expect | 2 - Test/exports/FIFO.dfy | 3 +- Test/exports/FIFO.dfy.expect | 2 - Test/exports/LIFO.dfy | 3 +- Test/exports/LIFO.dfy.expect | 2 - Test/exports/xrefine2.dfy | 3 +- Test/exports/xrefine2.dfy.expect | 2 - Test/exports/xrefine3.dfy | 3 +- Test/exports/xrefine3.dfy.expect | 2 - Test/git-issues/git-issue-032.dfy | 7 +- Test/git-issues/git-issue-032.dfy.expect | 37 -- .../git-issue-032.dfy.verifier.expect | 3 + Test/git-issues/git-issue-1029.dfy | 3 +- Test/git-issues/git-issue-1029.dfy.expect | 2 - Test/git-issues/git-issue-1093.dfy | 8 +- Test/git-issues/git-issue-1093.dfy.expect | 16 - Test/git-issues/git-issue-1100.dfy | 3 +- Test/git-issues/git-issue-1100.dfy.expect | 2 - Test/git-issues/git-issue-1130.dfy | 3 +- Test/git-issues/git-issue-1130.dfy.expect | 2 - Test/git-issues/git-issue-1150.dfy | 3 +- Test/git-issues/git-issue-1150.dfy.expect | 2 - Test/git-issues/git-issue-1185.dfy | 8 +- Test/git-issues/git-issue-1185.dfy.expect | 13 - .../git-issues/git-issue-1185.dfy.java.expect | 1 + Test/git-issues/git-issue-1514.dfy | 3 +- Test/git-issues/git-issue-1514.dfy.expect | 2 - Test/git-issues/git-issue-1514b.dfy | 3 +- Test/git-issues/git-issue-1514b.dfy.expect | 2 - Test/git-issues/git-issue-1514c.dfy | 5 +- Test/git-issues/git-issue-1514c.dfy.expect | 7 - Test/git-issues/git-issue-1553.dfy | 7 +- Test/git-issues/git-issue-1553.dfy.expect | 10 - Test/git-issues/git-issue-1604b.dfy | 3 +- Test/git-issues/git-issue-1604b.dfy.expect | 2 - Test/git-issues/git-issue-1714.dfy | 3 +- Test/git-issues/git-issue-1714.dfy.expect | 2 - Test/git-issues/git-issue-179.dfy | 8 +- Test/git-issues/git-issue-179.dfy.expect | 22 - Test/git-issues/git-issue-179.dfy.go.expect | 4 + Test/git-issues/git-issue-179.dfy.java.expect | 4 + Test/git-issues/git-issue-179.dfy.js.expect | 4 + Test/git-issues/git-issue-1815a.dfy | 8 +- Test/git-issues/git-issue-1815a.dfy.expect | 16 - Test/git-issues/git-issue-1852.dfy | 5 +- Test/git-issues/git-issue-1852.dfy.expect | 7 - Test/git-issues/git-issue-1903.dfy | 3 +- Test/git-issues/git-issue-1903.dfy.expect | 2 - Test/git-issues/git-issue-1909.dfy | 3 +- Test/git-issues/git-issue-1909.dfy.expect | 2 - Test/git-issues/git-issue-2013.dfy | 8 +- Test/git-issues/git-issue-2013.dfy.expect | 52 -- Test/git-issues/git-issue-2441.dfy | 5 +- Test/git-issues/git-issue-2441.dfy.expect | 6 - Test/git-issues/git-issue-2510.dfy | 3 +- Test/git-issues/git-issue-2510.dfy.expect | 2 - Test/git-issues/git-issue-258.dfy | 8 +- Test/git-issues/git-issue-258.dfy.expect | 73 --- Test/git-issues/git-issue-258.dfy.go.expect | 21 + Test/git-issues/git-issue-258.dfy.js.expect | 21 + Test/git-issues/git-issue-2608.dfy | 3 +- Test/git-issues/git-issue-2608.dfy.expect | 2 - Test/git-issues/git-issue-262.dfy | 7 +- Test/git-issues/git-issue-262.dfy.expect | 18 - Test/git-issues/git-issue-262.dfy.go.expect | 2 + Test/git-issues/git-issue-262.dfy.java.expect | 2 + Test/git-issues/git-issue-262.dfy.js.expect | 6 + Test/git-issues/git-issue-267.dfy | 7 +- Test/git-issues/git-issue-267.dfy.expect | 13 - Test/git-issues/git-issue-2672.dfy | 8 +- Test/git-issues/git-issue-2672.dfy.expect | 44 -- Test/git-issues/git-issue-2726a.dfy | 3 +- Test/git-issues/git-issue-2726a.dfy.expect | 2 - Test/git-issues/git-issue-2733.dfy | 9 +- Test/git-issues/git-issue-2733.dfy.expect | 14 - Test/git-issues/git-issue-2792.dfy | 3 +- Test/git-issues/git-issue-2792.dfy.expect | 2 - Test/git-issues/git-issue-283.dfy | 7 +- Test/git-issues/git-issue-283.dfy.expect | 13 - Test/git-issues/git-issue-283d.dfy | 7 +- Test/git-issues/git-issue-283d.dfy.expect | 10 - Test/git-issues/git-issue-314.dfy | 7 +- Test/git-issues/git-issue-314.dfy.expect | 10 - Test/git-issues/git-issue-332.dfy | 3 +- Test/git-issues/git-issue-332.dfy.expect | 2 - Test/git-issues/git-issue-354.dfy | 7 +- Test/git-issues/git-issue-354.dfy.expect | 22 - Test/git-issues/git-issue-356.dfy | 8 +- Test/git-issues/git-issue-356.dfy.expect | 36 -- Test/git-issues/git-issue-364.dfy | 3 +- Test/git-issues/git-issue-364.dfy.expect | 2 - Test/git-issues/git-issue-374.dfy | 7 +- Test/git-issues/git-issue-374.dfy.expect | 10 - Test/git-issues/git-issue-396.dfy | 6 +- Test/git-issues/git-issue-396.dfy.expect | 11 - Test/git-issues/git-issue-4007.dfy | 5 +- Test/git-issues/git-issue-4007.dfy.expect | 3 - .../git-issue-4007.dfy.verifier.expect | 1 + Test/git-issues/git-issue-4012.dfy | 5 +- Test/git-issues/git-issue-4012.dfy.expect | 2 - Test/git-issues/git-issue-425.dfy | 7 +- Test/git-issues/git-issue-425.dfy.expect | 16 - Test/git-issues/git-issue-443.dfy | 3 +- Test/git-issues/git-issue-443.dfy.expect | 2 - Test/git-issues/git-issue-446.dfy | 7 +- Test/git-issues/git-issue-446.dfy.expect | 19 - Test/git-issues/git-issue-446a.dfy | 7 +- Test/git-issues/git-issue-446a.dfy.expect | 19 - Test/git-issues/git-issue-446b.dfy | 7 +- Test/git-issues/git-issue-446b.dfy.expect | 25 - Test/git-issues/git-issue-478-good.dfy | 3 +- Test/git-issues/git-issue-478-good.dfy.expect | 2 - Test/git-issues/git-issue-506.dfy | 6 +- Test/git-issues/git-issue-506.dfy.expect | 26 - Test/git-issues/git-issue-532.dfy | 7 +- Test/git-issues/git-issue-532.dfy.expect | 19 - Test/git-issues/git-issue-549.dfy | 5 +- Test/git-issues/git-issue-549.dfy.expect | 8 - Test/git-issues/git-issue-622$f.dfy | 3 +- Test/git-issues/git-issue-622$f.dfy.expect | 2 - Test/git-issues/git-issue-633.dfy | 7 +- Test/git-issues/git-issue-633.dfy.expect | 10 - Test/git-issues/git-issue-684.dfy | 7 +- Test/git-issues/git-issue-684.dfy.expect | 10 - Test/git-issues/git-issue-686.dfy | 7 +- Test/git-issues/git-issue-686.dfy.expect | 23 - .../git-issue-686.dfy.verifier.expect | 2 + Test/git-issues/git-issue-697.dfy | 3 +- Test/git-issues/git-issue-697.dfy.expect | 2 - Test/git-issues/git-issue-697b.dfy | 3 +- Test/git-issues/git-issue-697b.dfy.expect | 2 - Test/git-issues/git-issue-697d.dfy | 3 +- Test/git-issues/git-issue-697d.dfy.expect | 2 - Test/git-issues/git-issue-697e.dfy | 3 +- Test/git-issues/git-issue-697e.dfy.expect | 2 - Test/git-issues/git-issue-697f.dfy | 3 +- Test/git-issues/git-issue-697f.dfy.expect | 2 - Test/git-issues/git-issue-697g.dfy | 3 +- Test/git-issues/git-issue-697g.dfy.expect | 2 - Test/git-issues/git-issue-698.dfy | 5 +- Test/git-issues/git-issue-698.dfy.expect | 7 - Test/git-issues/git-issue-698b.dfy | 5 +- Test/git-issues/git-issue-698b.dfy.expect | 2 - Test/git-issues/git-issue-701.dfy | 7 +- Test/git-issues/git-issue-701.dfy.expect | 19 - Test/git-issues/git-issue-705.dfy | 7 +- Test/git-issues/git-issue-705.dfy.expect | 13 - Test/git-issues/git-issue-731.dfy | 7 +- Test/git-issues/git-issue-731.dfy.expect | 16 - Test/git-issues/git-issue-731b.dfy | 7 +- Test/git-issues/git-issue-731b.dfy.expect | 13 - Test/git-issues/git-issue-755.dfy | 8 +- Test/git-issues/git-issue-755.dfy.expect | 31 - Test/git-issues/git-issue-755.dfy.go.expect | 7 + Test/git-issues/git-issue-755.dfy.java.expect | 7 + Test/git-issues/git-issue-755.dfy.js.expect | 7 + Test/git-issues/git-issue-784.dfy | 7 +- Test/git-issues/git-issue-784.dfy.expect | 10 - Test/git-issues/git-issue-953.dfy | 8 +- Test/git-issues/git-issue-953.dfy.expect | 36 -- Test/git-issues/github-issue-3343.dfy | 3 +- Test/git-issues/github-issue-3343.dfy.expect | 2 - Test/hofs/Compilation.dfy | 3 +- Test/hofs/Compilation.dfy.expect | 2 - Test/hofs/Examples.dfy | 3 +- Test/hofs/Examples.dfy.expect | 2 - Test/hofs/Fold.dfy | 3 +- Test/hofs/Fold.dfy.expect | 2 - Test/hofs/Renaming.dfy | 3 +- Test/hofs/Renaming.dfy.expect | 2 - Test/hofs/Requires.dfy | 3 +- Test/hofs/Requires.dfy.expect | 2 - Test/hofs/TreeMapSimple.dfy | 3 +- Test/hofs/TreeMapSimple.dfy.expect | 2 - Test/hofs/VectorUpdate.dfy | 3 +- Test/hofs/VectorUpdate.dfy.expect | 2 - Test/hofs/WhileLoop.dfy | 3 +- Test/hofs/WhileLoop.dfy.expect | 2 - Test/metatests/OutputEncoding.dfy | 8 +- Test/metatests/OutputEncoding.dfy.expect | 16 - Test/patterns/OrPatterns.dfy | 3 +- Test/patterns/OrPatterns.dfy.expect | 2 - Test/patterns/PatternMatching.dfy | 5 +- Test/patterns/PatternMatching.dfy.expect | 3 - .../PatternMatching.dfy.verifier.expect | 1 + Test/traits/TraitCompile.dfy | 10 +- Test/traits/TraitCompile.dfy.expect | 256 -------- Test/traits/TraitExample.dfy | 3 +- Test/traits/TraitExample.dfy.expect | 2 - Test/traits/Traits-Fields.dfy | 3 +- Test/traits/Traits-Fields.dfy.expect | 2 - Test/traits/TraitsMultipleInheritance.dfy | 3 +- .../TraitsMultipleInheritance.dfy.expect | 2 - Test/unicodechars/comp/Collections.dfy | 9 +- Test/unicodechars/comp/Collections.dfy.expect | 512 ---------------- .../comp/Collections.dfy.go.expect | 125 ++++ .../comp/Collections.dfy.java.expect | 125 ++++ .../comp/Collections.dfy.js.expect | 125 ++++ .../comp/Collections.dfy.py.expect | 125 ++++ Test/unicodechars/comp/Comprehensions.dfy | 11 +- .../comp/Comprehensions.dfy.expect | 260 -------- .../comp/Comprehensions.dfy.py.expect | 62 ++ Test/unicodechars/comp/NativeNumbers.dfy | 9 +- .../comp/NativeNumbers.dfy.expect | 256 -------- Test/unicodechars/comp/Numbers.dfy | 11 +- Test/unicodechars/comp/Numbers.dfy.expect | 456 -------------- Test/unicodechars/comp/Numbers.dfy.go.expect | 111 ++++ Test/unicodechars/comp/Numbers.dfy.py.expect | 111 ++++ 512 files changed, 3259 insertions(+), 9902 deletions(-) create mode 100644 Test/comp/Arrays.dfy.go.expect create mode 100644 Test/comp/Collections.dfy.go.expect create mode 100644 Test/comp/Collections.dfy.java.expect create mode 100644 Test/comp/Collections.dfy.js.expect create mode 100644 Test/comp/Collections.dfy.py.expect create mode 100644 Test/comp/Comprehensions.dfy.py.expect create mode 100644 Test/comp/ComprehensionsNewSyntax.dfy.py.expect create mode 100644 Test/comp/Datatype.dfy.java.expect create mode 100644 Test/comp/Datatype.dfy.py.expect create mode 100644 Test/comp/Numbers.dfy.go.expect create mode 100644 Test/comp/Numbers.dfy.py.expect create mode 100644 Test/comp/Poly.dfy.go.expect create mode 100644 Test/comp/Poly.dfy.py.expect create mode 100644 Test/comp/Print.dfy.go.expect create mode 100644 Test/comp/Print.dfy.java.expect create mode 100644 Test/comp/Print.dfy.js.expect create mode 100644 Test/comp/TypeParams.dfy.go.expect create mode 100644 Test/comp/TypeParams.dfy.java.expect create mode 100644 Test/comp/TypeParams.dfy.js.expect create mode 100644 Test/comp/TypeParams.dfy.py.expect create mode 100644 Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect create mode 100644 Test/dafny0/Bitvectors.dfy.verifier.expect create mode 100644 Test/dafny0/Deprecation.dfy.verifier.expect create mode 100644 Test/dafny0/DiscoverBounds.dfy.verifier.expect create mode 100644 Test/dafny0/DividedConstructors.dfy.verifier.expect create mode 100644 Test/dafny0/ForallCompilationNewSyntax.dfy.verifier.expect create mode 100644 Test/dafny0/GhostGuards.dfy.verifier.expect create mode 100644 Test/dafny0/MatchBraces.dfy.verifier.expect create mode 100644 Test/dafny0/NullComparisonWarnings.dfy.verifier.expect create mode 100644 Test/dafny0/TypeConversionsCompile.dfy.verifier.expect create mode 100644 Test/dafny0/TypeMembers.dfy.verifier.expect create mode 100644 Test/dafny0/Wellfounded.dfy.verifier.expect create mode 100644 Test/dafny2/SmallestMissingNumber-functional.dfy.verifier.expect create mode 100644 Test/dafny2/StoreAndRetrieve.dfy.verifier.expect create mode 100644 Test/dafny3/CachedContainer.dfy.verifier.expect create mode 100644 Test/dafny4/Ackermann.dfy.verifier.expect create mode 100644 Test/dafny4/ClassRefinement.dfy.verifier.expect create mode 100644 Test/git-issues/git-issue-032.dfy.verifier.expect create mode 100644 Test/git-issues/git-issue-1185.dfy.java.expect create mode 100644 Test/git-issues/git-issue-179.dfy.go.expect create mode 100644 Test/git-issues/git-issue-179.dfy.java.expect create mode 100644 Test/git-issues/git-issue-179.dfy.js.expect create mode 100644 Test/git-issues/git-issue-258.dfy.go.expect create mode 100644 Test/git-issues/git-issue-258.dfy.js.expect create mode 100644 Test/git-issues/git-issue-262.dfy.go.expect create mode 100644 Test/git-issues/git-issue-262.dfy.java.expect create mode 100644 Test/git-issues/git-issue-262.dfy.js.expect create mode 100644 Test/git-issues/git-issue-4007.dfy.verifier.expect create mode 100644 Test/git-issues/git-issue-686.dfy.verifier.expect create mode 100644 Test/git-issues/git-issue-755.dfy.go.expect create mode 100644 Test/git-issues/git-issue-755.dfy.java.expect create mode 100644 Test/git-issues/git-issue-755.dfy.js.expect create mode 100644 Test/patterns/PatternMatching.dfy.verifier.expect create mode 100644 Test/unicodechars/comp/Collections.dfy.go.expect create mode 100644 Test/unicodechars/comp/Collections.dfy.java.expect create mode 100644 Test/unicodechars/comp/Collections.dfy.js.expect create mode 100644 Test/unicodechars/comp/Collections.dfy.py.expect create mode 100644 Test/unicodechars/comp/Comprehensions.dfy.py.expect create mode 100644 Test/unicodechars/comp/Numbers.dfy.go.expect create mode 100644 Test/unicodechars/comp/Numbers.dfy.py.expect diff --git a/Test/VerifyThis2015/Problem1.dfy b/Test/VerifyThis2015/Problem1.dfy index 20bd154ab8d..ab227e1ab85 100644 --- a/Test/VerifyThis2015/Problem1.dfy +++ b/Test/VerifyThis2015/Problem1.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Rustan Leino // 12 April 2015 diff --git a/Test/VerifyThis2015/Problem1.dfy.expect b/Test/VerifyThis2015/Problem1.dfy.expect index 110dd45761d..9e8a46acf90 100644 --- a/Test/VerifyThis2015/Problem1.dfy.expect +++ b/Test/VerifyThis2015/Problem1.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 18 verified, 0 errors true true false diff --git a/Test/VerifyThis2015/Problem2.dfy b/Test/VerifyThis2015/Problem2.dfy index 7466df6d410..9b57395e68b 100644 --- a/Test/VerifyThis2015/Problem2.dfy +++ b/Test/VerifyThis2015/Problem2.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Rustan Leino // 13 April 2015, and many subsequent enhancements and revisions diff --git a/Test/VerifyThis2015/Problem2.dfy.expect b/Test/VerifyThis2015/Problem2.dfy.expect index b49c1470365..e69de29bb2d 100644 --- a/Test/VerifyThis2015/Problem2.dfy.expect +++ b/Test/VerifyThis2015/Problem2.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 32 verified, 0 errors diff --git a/Test/VerifyThis2015/Problem3.dfy b/Test/VerifyThis2015/Problem3.dfy index 3be60b5d81a..1348acf0f4d 100644 --- a/Test/VerifyThis2015/Problem3.dfy +++ b/Test/VerifyThis2015/Problem3.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Rustan Leino // 12 April 2015 // VerifyThis 2015 diff --git a/Test/VerifyThis2015/Problem3.dfy.expect b/Test/VerifyThis2015/Problem3.dfy.expect index 4bb1c2c7251..e69de29bb2d 100644 --- a/Test/VerifyThis2015/Problem3.dfy.expect +++ b/Test/VerifyThis2015/Problem3.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 18 verified, 0 errors diff --git a/Test/c++/arrays.dfy b/Test/c++/arrays.dfy index 47140146468..a02b57e5ff8 100644 --- a/Test/c++/arrays.dfy +++ b/Test/c++/arrays.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/arrays.dfy.expect b/Test/c++/arrays.dfy.expect index 552f9355593..2ce9320d8c2 100644 --- a/Test/c++/arrays.dfy.expect +++ b/Test/c++/arrays.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 9 verified, 0 errors 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/c++/bit-vectors.dfy b/Test/c++/bit-vectors.dfy index b7f5d35df07..d27469e4ca5 100644 --- a/Test/c++/bit-vectors.dfy +++ b/Test/c++/bit-vectors.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint64 = i:int | 0 <= i < 0x10000000000000000 diff --git a/Test/c++/bit-vectors.dfy.expect b/Test/c++/bit-vectors.dfy.expect index e327aa2f73b..c491236b12b 100644 --- a/Test/c++/bit-vectors.dfy.expect +++ b/Test/c++/bit-vectors.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 6 verified, 0 errors 084841024 diff --git a/Test/c++/class.dfy b/Test/c++/class.dfy index 3039bd0466b..b10d703c981 100644 --- a/Test/c++/class.dfy +++ b/Test/c++/class.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/class.dfy.expect b/Test/c++/class.dfy.expect index 93717ecfa9e..80f1587d0a2 100644 --- a/Test/c++/class.dfy.expect +++ b/Test/c++/class.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 16 verified, 0 errors true true false 103 102 102 106 105 105 203 17 0 18 8 9 69 70 diff --git a/Test/c++/const.dfy b/Test/c++/const.dfy index 5ab9a62e0e9..1bfb79f0361 100644 --- a/Test/c++/const.dfy +++ b/Test/c++/const.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false module Holder { const x:bool := false diff --git a/Test/c++/const.dfy.expect b/Test/c++/const.dfy.expect index 823a60a105c..e69de29bb2d 100644 --- a/Test/c++/const.dfy.expect +++ b/Test/c++/const.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 1 verified, 0 errors diff --git a/Test/c++/datatypes.dfy b/Test/c++/datatypes.dfy index 9d077b97575..f56b7907cc3 100644 --- a/Test/c++/datatypes.dfy +++ b/Test/c++/datatypes.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/datatypes.dfy.expect b/Test/c++/datatypes.dfy.expect index efa71b43546..c122f5af791 100644 --- a/Test/c++/datatypes.dfy.expect +++ b/Test/c++/datatypes.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 12 verified, 0 errors Case A: 42 Case B: true This is expected diff --git a/Test/c++/generic.dfy b/Test/c++/generic.dfy index 7995928f93f..374c545b9c1 100644 --- a/Test/c++/generic.dfy +++ b/Test/c++/generic.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false class Test { var t:T diff --git a/Test/c++/generic.dfy.expect b/Test/c++/generic.dfy.expect index 00a51f822da..e69de29bb2d 100644 --- a/Test/c++/generic.dfy.expect +++ b/Test/c++/generic.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 3 verified, 0 errors diff --git a/Test/c++/hello.dfy b/Test/c++/hello.dfy index c887337c7e1..523d3152209 100644 --- a/Test/c++/hello.dfy +++ b/Test/c++/hello.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false method Main() { print "Hello world\n"; diff --git a/Test/c++/hello.dfy.expect b/Test/c++/hello.dfy.expect index 87101fec036..802992c4220 100644 --- a/Test/c++/hello.dfy.expect +++ b/Test/c++/hello.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors Hello world diff --git a/Test/c++/ints.dfy b/Test/c++/ints.dfy index cf7ae63e0da..4490a54817a 100644 --- a/Test/c++/ints.dfy +++ b/Test/c++/ints.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype sbyte = i:int | -0x80 <= i < 0x80 newtype byte = i:int | 0 <= i < 0x100 diff --git a/Test/c++/ints.dfy.expect b/Test/c++/ints.dfy.expect index aeabccf73b0..5fcb7b811cb 100644 --- a/Test/c++/ints.dfy.expect +++ b/Test/c++/ints.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 15 verified, 0 errors Result is z = 42 diff --git a/Test/c++/maps.dfy b/Test/c++/maps.dfy index 951d34e96f1..b88ebd56ad5 100644 --- a/Test/c++/maps.dfy +++ b/Test/c++/maps.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/maps.dfy.expect b/Test/c++/maps.dfy.expect index 482aa604356..80642c23257 100644 --- a/Test/c++/maps.dfy.expect +++ b/Test/c++/maps.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 9 verified, 0 errors Identity: This is expected ValuesIdentity: This is expected KeyMembership: This is expected diff --git a/Test/c++/recursion.dfy b/Test/c++/recursion.dfy index e255b8e6b08..36048aab527 100644 --- a/Test/c++/recursion.dfy +++ b/Test/c++/recursion.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/recursion.dfy.expect b/Test/c++/recursion.dfy.expect index 15dbfe2bcd1..1ea14926e89 100644 --- a/Test/c++/recursion.dfy.expect +++ b/Test/c++/recursion.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors x !y 3 diff --git a/Test/c++/returns.dfy b/Test/c++/returns.dfy index 1ad19a8ce83..9e23121d26a 100644 --- a/Test/c++/returns.dfy +++ b/Test/c++/returns.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint64 = i:int | 0 <= i < 0x10000000000000000 diff --git a/Test/c++/returns.dfy.expect b/Test/c++/returns.dfy.expect index 8db105eaba8..48082f72f08 100644 --- a/Test/c++/returns.dfy.expect +++ b/Test/c++/returns.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors 12 diff --git a/Test/c++/seqs.dfy b/Test/c++/seqs.dfy index f97a42b2851..903208b07f8 100644 --- a/Test/c++/seqs.dfy +++ b/Test/c++/seqs.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint8 = i:int | 0 <= i < 0x100 newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/seqs.dfy.expect b/Test/c++/seqs.dfy.expect index 23f01695bc9..16f5f9d22ea 100644 --- a/Test/c++/seqs.dfy.expect +++ b/Test/c++/seqs.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 11 verified, 0 errors Head second:2 Trunc first:2 Head trunc: This is expected diff --git a/Test/c++/sets.dfy b/Test/c++/sets.dfy index 5bfb6f80f1e..10e2fe0501d 100644 --- a/Test/c++/sets.dfy +++ b/Test/c++/sets.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/sets.dfy.expect b/Test/c++/sets.dfy.expect index 1c8ede8765e..52a1e67717e 100644 --- a/Test/c++/sets.dfy.expect +++ b/Test/c++/sets.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 8 verified, 0 errors Identity: This is expected ValuesIdentity: This is expected DiffIdentity: This is expected diff --git a/Test/c++/while.dfy b/Test/c++/while.dfy index 40dc4699d11..0c0d7ee98df 100644 --- a/Test/c++/while.dfy +++ b/Test/c++/while.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/while.dfy.expect b/Test/c++/while.dfy.expect index 8dfe872ca51..9a44de1e2a3 100644 --- a/Test/c++/while.dfy.expect +++ b/Test/c++/while.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 2 verified, 0 errors 0 1 2 diff --git a/Test/comp/Arrays.dfy b/Test/comp/Arrays.dfy index 566f052e0a6..acb4225b358 100644 --- a/Test/comp/Arrays.dfy +++ b/Test/comp/Arrays.dfy @@ -1,10 +1,5 @@ -// RUN: %baredafny verify %args --relax-definite-assignment "%s" > "%t" -// RUN: %baredafny run --unicode-char:false --no-verify --target=cs %args "%s" >> "%t" -// RUN: %baredafny run --unicode-char:false --no-verify --target=js %args "%s" >> "%t" -// RUN: %baredafny run --unicode-char:false --no-verify --target=go %args "%s" >> "%t" -// RUN: %baredafny run --unicode-char:false --no-verify --target=java %args "%s" >> "%t" -// RUN: %baredafny run --unicode-char:false --no-verify --target=py %args "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false method LinearSearch(a: array, key: int) returns (n: nat) ensures 0 <= n <= a.Length diff --git a/Test/comp/Arrays.dfy.expect b/Test/comp/Arrays.dfy.expect index 8559e2f3c5c..ef3b884f98a 100644 --- a/Test/comp/Arrays.dfy.expect +++ b/Test/comp/Arrays.dfy.expect @@ -1,399 +1,3 @@ - -Dafny program verifier finished with 89 verified, 0 errors - -Dafny program verifier did not attempt verification -0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 -17 -[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] -[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] -[20, 21, 22] -[0, 1, 2, 3, 4, 5, 6, 7] -[0, 1, 2, 3, 4, 5, 6, 7] -d d d -h e l l o -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -1 0 0 0 0 -0 1 0 0 0 -0 0 1 0 0 -cube dims: 3 0 4 -[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] -It's null -hi hello tjena hej hola -hi hello tjena hej hola -hi hello tjena hej hola -d d d -h e l l o -8 8 8 8 -true true true -1 1 1 1 1 -2 2 2 2 2 -3 3 3 3 3 -4 4 4 4 4 -(d, 8, true, 1, 2, 3, 4) -D D D -0 0 0 0 -false false false -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -(D, 0, false, 0, 0, 0, 0) -8 0 -false 0 null null -8 8 -8 8 -8 8 -8 8 -D D D -D D D -D D D -D D r (D, D, r) -D D r -[19, 18, 9, 8] - true - false - true - false - false - false - true - true - false - true - false - true - true - false -hello there -false false -true true -false false -false false -uninitialized bytes: array[0, 0, 0] -bytes from display: array[7, 8, 9] -bytes from lambda: array[20, 21, 22] -uninitialized 1bytes: array[1, 1, 1] -1bytes from display: array[7, 8, 9] -1bytes from lambda: array[20, 21, 22] -17 19 18 20 -100 200 300 120 38 -hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -DDDDDabcdeabcdeggggg -DDDDDabcdeabcdeggggg -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] -DDDDDDDDDDagggggaggg -0 69 50 -0 69 50 -D k n -false false -true true -false false -false false -true true - -Dafny program verifier did not attempt verification -0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 -17 -[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] -[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] -[20, 21, 22] -[0, 1, 2, 3, 4, 5, 6, 7] -[0, 1, 2, 3, 4, 5, 6, 7] -d d d -h e l l o -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -1 0 0 0 0 -0 1 0 0 0 -0 0 1 0 0 -cube dims: 3 0 4 -[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] -It's null -hi hello tjena hej hola -hi hello tjena hej hola -hi hello tjena hej hola -d d d -h e l l o -8 8 8 8 -true true true -1 1 1 1 1 -2 2 2 2 2 -3 3 3 3 3 -4 4 4 4 4 -(d, 8, true, 1, 2, 3, 4) -D D D -0 0 0 0 -false false false -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -(D, 0, false, 0, 0, 0, 0) -8 0 -false 0 null null -8 8 -8 8 -8 8 -8 8 -D D D -D D D -D D D -D D r (D, D, r) -D D r -[19, 18, 9, 8] - true - false - true - false - false - false - true - true - false - true - false - true - true - false -hello there -false false -true true -false false -false false -uninitialized bytes: array[0, 0, 0] -bytes from display: array[7, 8, 9] -bytes from lambda: array[20, 21, 22] -uninitialized 1bytes: array[1, 1, 1] -1bytes from display: array[7, 8, 9] -1bytes from lambda: array[20, 21, 22] -17 19 18 20 -100 200 300 120 38 -hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -DDDDDabcdeabcdeggggg -DDDDDabcdeabcdeggggg -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] -DDDDDDDDDDagggggaggg -0 69 50 -0 69 50 -D k n -false false -true true -false false -false false -true true - -Dafny program verifier did not attempt verification -0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 -17 -[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] -[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] -[20, 21, 22] -[0, 1, 2, 3, 4, 5, 6, 7] -[0, 1, 2, 3, 4, 5, 6, 7] -d d d -h e l l o -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -1 0 0 0 0 -0 1 0 0 0 -0 0 1 0 0 -cube dims: 3 0 4 -[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] -It's null -hi hello tjena hej hola -hi hello tjena hej hola -hi hello tjena hej hola -d d d -h e l l o -8 8 8 8 -true true true -1 1 1 1 1 -2 2 2 2 2 -3 3 3 3 3 -4 4 4 4 4 -(d, 8, true, 1, 2, 3, 4) -D D D -0 0 0 0 -false false false -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -(D, 0, false, 0, 0, 0, 0) -8 0 -false 0 null null -8 8 -8 8 -8 8 -8 8 -D D D -D D D -D D D -D D r (D, D, r) -D D r -[19, 18, 9, 8] - true - false - true - false - false - false - true - true - false - true - false - true - true - false -hello there -false false -true true -false false -false false -uninitialized bytes: array[0, 0, 0] -bytes from display: array[7, 8, 9] -bytes from lambda: array[20, 21, 22] -uninitialized 1bytes: array[1, 1, 1] -1bytes from display: array[7, 8, 9] -1bytes from lambda: array[20, 21, 22] -17 19 18 20 -100 200 300 120 38 -hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -DDDDDabcdeabcdeggggg -DDDDDabcdeabcdeggggg -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] -[D, D, D, D, D, D, D, D, D, D, a, g, g, g, g, g, a, g, g, g] -0 69 50 -0 69 50 -D k n -false false -true true -false false -false false -true true - -Dafny program verifier did not attempt verification -0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 -17 -[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] -[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] -[20, 21, 22] -[0, 1, 2, 3, 4, 5, 6, 7] -[0, 1, 2, 3, 4, 5, 6, 7] -d d d -h e l l o -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -1 0 0 0 0 -0 1 0 0 0 -0 0 1 0 0 -cube dims: 3 0 4 -[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] -It's null -hi hello tjena hej hola -hi hello tjena hej hola -hi hello tjena hej hola -d d d -h e l l o -8 8 8 8 -true true true -1 1 1 1 1 -2 2 2 2 2 -3 3 3 3 3 -4 4 4 4 4 -(d, 8, true, 1, 2, 3, 4) -D D D -0 0 0 0 -false false false -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -(D, 0, false, 0, 0, 0, 0) -8 0 -false 0 null null -8 8 -8 8 -8 8 -8 8 -D D D -D D D -D D D -D D r (D, D, r) -D D r -[19, 18, 9, 8] - true - false - true - false - false - false - true - true - false - true - false - true - true - false -hello there -false false -true true -false false -false false -uninitialized bytes: array[0, 0, 0] -bytes from display: array[7, 8, 9] -bytes from lambda: array[20, 21, 22] -uninitialized 1bytes: array[1, 1, 1] -1bytes from display: array[7, 8, 9] -1bytes from lambda: array[20, 21, 22] -17 19 18 20 -100 200 300 120 38 -hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -DDDDDabcdeabcdeggggg -DDDDDabcdeabcdeggggg -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] -DDDDDDDDDDagggggaggg -0 69 50 -0 69 50 -D k n -false false -true true -false false -false false -true true - -Dafny program verifier did not attempt verification 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/comp/Arrays.dfy.go.expect b/Test/comp/Arrays.dfy.go.expect new file mode 100644 index 00000000000..1217623d90c --- /dev/null +++ b/Test/comp/Arrays.dfy.go.expect @@ -0,0 +1,96 @@ +0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 +17 +[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] +[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] +[20, 21, 22] +[0, 1, 2, 3, 4, 5, 6, 7] +[0, 1, 2, 3, 4, 5, 6, 7] +d d d +h e l l o +0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 +1 0 0 0 0 +0 1 0 0 0 +0 0 1 0 0 +cube dims: 3 0 4 +[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] +It's null +hi hello tjena hej hola +hi hello tjena hej hola +hi hello tjena hej hola +d d d +h e l l o +8 8 8 8 +true true true +1 1 1 1 1 +2 2 2 2 2 +3 3 3 3 3 +4 4 4 4 4 +(d, 8, true, 1, 2, 3, 4) +D D D +0 0 0 0 +false false false +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +(D, 0, false, 0, 0, 0, 0) +8 0 +false 0 null null +8 8 +8 8 +8 8 +8 8 +D D D +D D D +D D D +D D r (D, D, r) +D D r +[19, 18, 9, 8] + true + false + true + false + false + false + true + true + false + true + false + true + true + false +hello there +false false +true true +false false +false false +uninitialized bytes: array[0, 0, 0] +bytes from display: array[7, 8, 9] +bytes from lambda: array[20, 21, 22] +uninitialized 1bytes: array[1, 1, 1] +1bytes from display: array[7, 8, 9] +1bytes from lambda: array[20, 21, 22] +17 19 18 20 +100 200 300 120 38 +hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +DDDDDabcdeabcdeggggg +DDDDDabcdeabcdeggggg +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] +[D, D, D, D, D, D, D, D, D, D, a, g, g, g, g, g, a, g, g, g] +0 69 50 +0 69 50 +D k n +false false +true true +false false +false false +true true diff --git a/Test/comp/AsIs-Compile.dfy b/Test/comp/AsIs-Compile.dfy index 47084ed7633..319847564e2 100644 --- a/Test/comp/AsIs-Compile.dfy +++ b/Test/comp/AsIs-Compile.dfy @@ -1,10 +1,4 @@ -// RUN: %baredafny verify %args "%s" > "%t" -// RUN: %baredafny run --no-verify -t=cs %args "%s" >> "%t" -// RUN: %baredafny run --no-verify -t=js %args "%s" >> "%t" -// RUN: %baredafny run --no-verify -t=go %args "%s" >> "%t" -// RUN: %baredafny run --no-verify -t=java %args "%s" >> "%t" -// RUN: %baredafny run --no-verify -t=py %args "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" method Main() { var a: A, b: B, c: C, k: K, l: L := new M, new M, new M, new K, new L; diff --git a/Test/comp/AsIs-Compile.dfy.expect b/Test/comp/AsIs-Compile.dfy.expect index 36dfe46e91d..acc78c6e155 100644 --- a/Test/comp/AsIs-Compile.dfy.expect +++ b/Test/comp/AsIs-Compile.dfy.expect @@ -1,163 +1,3 @@ - -Dafny program verifier finished with 6 verified, 0 errors - -Dafny program verifier did not attempt verification -true true true true true -true true true true true -IsComparisons ---- -false true false false - true false false - true false -false false true false - false true false - false false -false false false true - false false true - false true -false true false false - false true false - false false -true true -false true -TestNullIs ---- -true true -true true -true true true true true true -true true true true true true -true true true true true true -true true true true true true -true true -false true -true true true true true true -false true false true false true -true true true true true true -false true false true false true -TestFromTraits ---- -5 -0 -4 -4 -4 -4 - -Dafny program verifier did not attempt verification -true true true true true -true true true true true -IsComparisons ---- -false true false false - true false false - true false -false false true false - false true false - false false -false false false true - false false true - false true -false true false false - false true false - false false -true true -false true -TestNullIs ---- -true true -true true -true true true true true true -true true true true true true -true true true true true true -true true true true true true -true true -false true -true true true true true true -false true false true false true -true true true true true true -false true false true false true -TestFromTraits ---- -5 -0 -4 -4 -4 -4 - -Dafny program verifier did not attempt verification -true true true true true -true true true true true -IsComparisons ---- -false true false false - true false false - true false -false false true false - false true false - false false -false false false true - false false true - false true -false true false false - false true false - false false -true true -false true -TestNullIs ---- -true true -true true -true true true true true true -true true true true true true -true true true true true true -true true true true true true -true true -false true -true true true true true true -false true false true false true -true true true true true true -false true false true false true -TestFromTraits ---- -5 -0 -4 -4 -4 -4 - -Dafny program verifier did not attempt verification -true true true true true -true true true true true -IsComparisons ---- -false true false false - true false false - true false -false false true false - false true false - false false -false false false true - false false true - false true -false true false false - false true false - false false -true true -false true -TestNullIs ---- -true true -true true -true true true true true true -true true true true true true -true true true true true true -true true true true true true -true true -false true -true true true true true true -false true false true false true -true true true true true true -false true false true false true -TestFromTraits ---- -5 -0 -4 -4 -4 -4 - -Dafny program verifier did not attempt verification true true true true true true true true true true IsComparisons ---- diff --git a/Test/comp/AutoInit.dfy b/Test/comp/AutoInit.dfy index b284619a80c..c0e752efa36 100644 --- a/Test/comp/AutoInit.dfy +++ b/Test/comp/AutoInit.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This file tests the compilation of some default values. It also includes some // regression tests for equality, printing, and tuples. diff --git a/Test/comp/AutoInit.dfy.expect b/Test/comp/AutoInit.dfy.expect index c8ed022d09b..a282fc36633 100644 --- a/Test/comp/AutoInit.dfy.expect +++ b/Test/comp/AutoInit.dfy.expect @@ -1,163 +1,3 @@ - -Dafny program verifier finished with 21 verified, 0 errors - -Dafny program verifier did not attempt verification -3 false 0 -false false true -() (0, false, false, []) -(null, 0) (null, 0) true -(null, null, null, 0) (null, null, null, 0) true -true false false true -true false false true -17 -1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or -(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) -1 -ww == null -- yes, as expected -true true true true -true true true -true true true -null null -null null -null null null -null null null -null null null -null null null -null null -null null null -null null null -DatatypeDefaultValues_Compile.EnumDatatype.MakeZero - DatatypeDefaultValues_Compile.IntList.Nil - 0 -DatatypeDefaultValues_Compile.GenericTree.Leaf - DatatypeDefaultValues_Compile.Complicated.ComplA(0, false) - DatatypeDefaultValues_Compile.CellCell.MakeCellCell(0) -null - null -ImportedTypes_mLibrary_Compile.Color.Red(0) and ImportedTypes_mLibrary_Compile.Color.Red(0) -ImportedTypes_mLibrary_Compile.CoColor.Yellow and ImportedTypes_mLibrary_Compile.CoColor.Yellow -ImportedTypes_mLibrary_Compile.MoColor.MoYellow and ImportedTypes_mLibrary_Compile.MoColor.MoYellow -0.0 and 0.0 -13 - -Dafny program verifier did not attempt verification -3 false 0 -false false true -() (0, false, false, []) -(null, 0) (null, 0) true -(null, null, null, 0) (null, null, null, 0) true -true false false true -true false false true -17 -1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or -(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) -1 -ww == null -- yes, as expected -true true true true -true true true -true true true -null null -null null -null null null -null null null -null null null -null null null -null null -null null null -null null null -DatatypeDefaultValues_Compile.EnumDatatype.MakeZero - DatatypeDefaultValues_Compile.IntList.Nil - 0 -DatatypeDefaultValues_Compile.GenericTree.Leaf - DatatypeDefaultValues_Compile.Complicated.ComplA(0, false) - DatatypeDefaultValues_Compile.CellCell.MakeCellCell(0) -null - null -ImportedTypes_mLibrary_Compile.Color.Red(0) and ImportedTypes_mLibrary_Compile.Color.Red(0) -ImportedTypes_mLibrary_Compile.CoColor.Yellow and ImportedTypes_mLibrary_Compile.CoColor.Yellow -ImportedTypes_mLibrary_Compile.MoColor.MoYellow and ImportedTypes_mLibrary_Compile.MoColor.MoYellow -0.0 and 0.0 -13 - -Dafny program verifier did not attempt verification -3 false 0 -false false true -() (0, false, false, []) -(null, 0) (null, 0) true -(null, null, null, 0) (null, null, null, 0) true -true false false true -true false false true -17 -1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or -(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) -1 -ww == null -- yes, as expected -true true true true -true true true -true true true -null null -null null -null null null -null null null -null null null -null null null -null null -null null null -null null null -DatatypeDefaultValues_Compile.EnumDatatype.MakeZero - DatatypeDefaultValues_Compile.IntList.Nil - 0 -DatatypeDefaultValues_Compile.GenericTree.Leaf - DatatypeDefaultValues_Compile.Complicated.ComplA(0, false) - DatatypeDefaultValues_Compile.CellCell.MakeCellCell(0) -null - null -ImportedTypes_mLibrary_Compile.Color.Red(0) and ImportedTypes_mLibrary_Compile.Color.Red(0) -ImportedTypes_mLibrary_Compile.CoColor.Yellow and ImportedTypes_mLibrary_Compile.CoColor.Yellow -ImportedTypes_mLibrary_Compile.MoColor.MoYellow and ImportedTypes_mLibrary_Compile.MoColor.MoYellow -0.0 and 0.0 -13 - -Dafny program verifier did not attempt verification -3 false 0 -false false true -() (0, false, false, []) -(null, 0) (null, 0) true -(null, null, null, 0) (null, null, null, 0) true -true false false true -true false false true -17 -1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or -(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) -1 -ww == null -- yes, as expected -true true true true -true true true -true true true -null null -null null -null null null -null null null -null null null -null null null -null null -null null null -null null null -DatatypeDefaultValues_Compile.EnumDatatype.MakeZero - DatatypeDefaultValues_Compile.IntList.Nil - 0 -DatatypeDefaultValues_Compile.GenericTree.Leaf - DatatypeDefaultValues_Compile.Complicated.ComplA(0, false) - DatatypeDefaultValues_Compile.CellCell.MakeCellCell(0) -null - null -ImportedTypes_mLibrary_Compile.Color.Red(0) and ImportedTypes_mLibrary_Compile.Color.Red(0) -ImportedTypes_mLibrary_Compile.CoColor.Yellow and ImportedTypes_mLibrary_Compile.CoColor.Yellow -ImportedTypes_mLibrary_Compile.MoColor.MoYellow and ImportedTypes_mLibrary_Compile.MoColor.MoYellow -0.0 and 0.0 -13 - -Dafny program verifier did not attempt verification 3 false 0 false false true () (0, false, false, []) diff --git a/Test/comp/ByMethodCompilation.dfy b/Test/comp/ByMethodCompilation.dfy index ea62d84b21e..7432f72f7d4 100644 --- a/Test/comp/ByMethodCompilation.dfy +++ b/Test/comp/ByMethodCompilation.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method Main() { var four := Four(); diff --git a/Test/comp/ByMethodCompilation.dfy.expect b/Test/comp/ByMethodCompilation.dfy.expect index 1519a955b0c..d61780e3fb8 100644 --- a/Test/comp/ByMethodCompilation.dfy.expect +++ b/Test/comp/ByMethodCompilation.dfy.expect @@ -1,35 +1,3 @@ - -Dafny program verifier finished with 13 verified, 0 errors - -Dafny program verifier did not attempt verification -hello -four is 4 -Recursive(7) = 14 -NonCompilableFunction: 4 7 -Sums: 14 3 - -Dafny program verifier did not attempt verification -hello -four is 4 -Recursive(7) = 14 -NonCompilableFunction: 4 7 -Sums: 14 3 - -Dafny program verifier did not attempt verification -hello -four is 4 -Recursive(7) = 14 -NonCompilableFunction: 4 7 -Sums: 14 3 - -Dafny program verifier did not attempt verification -hello -four is 4 -Recursive(7) = 14 -NonCompilableFunction: 4 7 -Sums: 14 3 - -Dafny program verifier did not attempt verification hello four is 4 Recursive(7) = 14 diff --git a/Test/comp/Calls.dfy b/Test/comp/Calls.dfy index 4a4916aea0c..c56bc3e5286 100644 --- a/Test/comp/Calls.dfy +++ b/Test/comp/Calls.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function F(x: int, y: bool): int { x + if y then 2 else 3 diff --git a/Test/comp/Calls.dfy.expect b/Test/comp/Calls.dfy.expect index 3317b8be164..cf4e1bc155b 100644 --- a/Test/comp/Calls.dfy.expect +++ b/Test/comp/Calls.dfy.expect @@ -1,43 +1,3 @@ - -Dafny program verifier finished with 6 verified, 0 errors - -Dafny program verifier did not attempt verification -5 0 0 false 0 false 0 -5 3 5 3 5 3 -5 3 5 3 5 3 -15 -[0, 1, 2, 4] -[0, 2, 4] ---> 5 <-- - -Dafny program verifier did not attempt verification -5 0 0 false 0 false 0 -5 3 5 3 5 3 -5 3 5 3 5 3 -15 -[0, 1, 2, 4] -[0, 2, 4] ---> 5 <-- - -Dafny program verifier did not attempt verification -5 0 0 false 0 false 0 -5 3 5 3 5 3 -5 3 5 3 5 3 -15 -[0, 1, 2, 4] -[0, 2, 4] ---> 5 <-- - -Dafny program verifier did not attempt verification -5 0 0 false 0 false 0 -5 3 5 3 5 3 -5 3 5 3 5 3 -15 -[0, 1, 2, 4] -[0, 2, 4] ---> 5 <-- - -Dafny program verifier did not attempt verification 5 0 0 false 0 false 0 5 3 5 3 5 3 5 3 5 3 5 3 diff --git a/Test/comp/Class.dfy b/Test/comp/Class.dfy index fb994f008e7..23591e43450 100644 --- a/Test/comp/Class.dfy +++ b/Test/comp/Class.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation class MyClass { var a: int diff --git a/Test/comp/Class.dfy.expect b/Test/comp/Class.dfy.expect index ba1482a164b..47e49966664 100644 --- a/Test/comp/Class.dfy.expect +++ b/Test/comp/Class.dfy.expect @@ -1,75 +1,3 @@ - -Dafny program verifier finished with 16 verified, 0 errors - -Dafny program verifier did not attempt verification -true true false -103 103 103 106 106 106 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -0 18 9 70 -0 18 9 70 -0 18 9 70 -70 -hi later -21 4 42 5 1 -TestGhostables -15 -Init called with x=15 -16 - -Dafny program verifier did not attempt verification -true true false -103 103 103 106 106 106 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -0 18 9 70 -0 18 9 70 -0 18 9 70 -70 -hi later -21 4 42 5 1 -TestGhostables -15 -Init called with x=15 -16 - -Dafny program verifier did not attempt verification -true true false -103 103 103 106 106 106 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -0 18 9 70 -0 18 9 70 -0 18 9 70 -70 -hi later -21 4 42 5 1 -TestGhostables -15 -Init called with x=15 -16 - -Dafny program verifier did not attempt verification -true true false -103 103 103 106 106 106 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -0 18 9 70 -0 18 9 70 -0 18 9 70 -70 -hi later -21 4 42 5 1 -TestGhostables -15 -Init called with x=15 -16 - -Dafny program verifier did not attempt verification true true false 103 103 103 106 106 106 203 17 0 18 8 9 69 70 diff --git a/Test/comp/Collections.dfy b/Test/comp/Collections.dfy index 104eb9f90ac..9457e44b170 100644 --- a/Test/comp/Collections.dfy +++ b/Test/comp/Collections.dfy @@ -1,10 +1,5 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false method Main() { Sets(); diff --git a/Test/comp/Collections.dfy.expect b/Test/comp/Collections.dfy.expect index 2361c1a88db..e705d887a7d 100644 --- a/Test/comp/Collections.dfy.expect +++ b/Test/comp/Collections.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 40 verified, 0 errors - -Dafny program verifier did not attempt verification Sets: {} {17, 82} {12, 17} cardinality: 0 2 2 union: {17, 82} {12, 17, 82} @@ -127,511 +123,3 @@ Multiset=== 1 3 |s|=2 |u|=4 1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Yellow := 21, Color.Blue := 30] -keys: {Color.Yellow, Color.Blue} -values: {21, 30} -items: {(Color.Yellow, 21), (Color.Blue, 30)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {21, 30} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/comp/Collections.dfy.go.expect b/Test/comp/Collections.dfy.go.expect new file mode 100644 index 00000000000..309d0c550c4 --- /dev/null +++ b/Test/comp/Collections.dfy.go.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/comp/Collections.dfy.java.expect b/Test/comp/Collections.dfy.java.expect new file mode 100644 index 00000000000..ed929a4d34c --- /dev/null +++ b/Test/comp/Collections.dfy.java.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Yellow := 21, Color.Blue := 30] +keys: {Color.Yellow, Color.Blue} +values: {21, 30} +items: {(Color.Yellow, 21), (Color.Blue, 30)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/comp/Collections.dfy.js.expect b/Test/comp/Collections.dfy.js.expect new file mode 100644 index 00000000000..309d0c550c4 --- /dev/null +++ b/Test/comp/Collections.dfy.js.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/comp/Collections.dfy.py.expect b/Test/comp/Collections.dfy.py.expect new file mode 100644 index 00000000000..61b4217bbaf --- /dev/null +++ b/Test/comp/Collections.dfy.py.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {21, 30} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/comp/Comprehensions.dfy b/Test/comp/Comprehensions.dfy index 29ac368f2c3..73c43b22bfa 100644 --- a/Test/comp/Comprehensions.dfy +++ b/Test/comp/Comprehensions.dfy @@ -1,10 +1,5 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false method Main() { AssignSuchThat(); diff --git a/Test/comp/Comprehensions.dfy.expect b/Test/comp/Comprehensions.dfy.expect index 18159ddde0a..c9703fc9397 100644 --- a/Test/comp/Comprehensions.dfy.expect +++ b/Test/comp/Comprehensions.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 32 verified, 0 errors - -Dafny program verifier did not attempt verification x=13 y=14 x=13 y=14 b=yes true false @@ -64,259 +60,3 @@ true true [137438953474, 137438953475, 137438953476, 137438953477, 137438953479] cdefh cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[14 := 7, 12 := 6, 13 := 6] -map[18 := 14, 17 := 13, 16 := 12] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh diff --git a/Test/comp/Comprehensions.dfy.py.expect b/Test/comp/Comprehensions.dfy.py.expect new file mode 100644 index 00000000000..aeaa31fc0f3 --- /dev/null +++ b/Test/comp/Comprehensions.dfy.py.expect @@ -0,0 +1,62 @@ +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[14 := 7, 12 := 6, 13 := 6] +map[18 := 14, 17 := 13, 16 := 12] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh diff --git a/Test/comp/ComprehensionsNewSyntax.dfy b/Test/comp/ComprehensionsNewSyntax.dfy index a324b622e8a..6cd88aeb4f7 100644 --- a/Test/comp/ComprehensionsNewSyntax.dfy +++ b/Test/comp/ComprehensionsNewSyntax.dfy @@ -1,10 +1,5 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method Main() { Quantifier(); diff --git a/Test/comp/ComprehensionsNewSyntax.dfy.expect b/Test/comp/ComprehensionsNewSyntax.dfy.expect index 408769f4b67..b70314ff87b 100644 --- a/Test/comp/ComprehensionsNewSyntax.dfy.expect +++ b/Test/comp/ComprehensionsNewSyntax.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 10 verified, 0 errors - -Dafny program verifier did not attempt verification true false true false map[12 := 6, 13 := 6, 14 := 7] @@ -36,147 +32,3 @@ false false false false true true true true false false false false true true true true - -Dafny program verifier did not attempt verification -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true - -Dafny program verifier did not attempt verification -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true - -Dafny program verifier did not attempt verification -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true - -Dafny program verifier did not attempt verification -true false -true false -map[14 := 7, 12 := 6, 13 := 6] -map[18 := 14, 17 := 13, 16 := 12] -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true diff --git a/Test/comp/ComprehensionsNewSyntax.dfy.py.expect b/Test/comp/ComprehensionsNewSyntax.dfy.py.expect new file mode 100644 index 00000000000..b19cef0ba0e --- /dev/null +++ b/Test/comp/ComprehensionsNewSyntax.dfy.py.expect @@ -0,0 +1,34 @@ +true false +true false +map[14 := 7, 12 := 6, 13 := 6] +map[18 := 14, 17 := 13, 16 := 12] +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true diff --git a/Test/comp/CovariantCollections.dfy b/Test/comp/CovariantCollections.dfy index 12301df3b09..6dd73ee7fea 100644 --- a/Test/comp/CovariantCollections.dfy +++ b/Test/comp/CovariantCollections.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method Main() { Sequences(); diff --git a/Test/comp/CovariantCollections.dfy.expect b/Test/comp/CovariantCollections.dfy.expect index e029d3abc3b..a9d00f4a65d 100644 --- a/Test/comp/CovariantCollections.dfy.expect +++ b/Test/comp/CovariantCollections.dfy.expect @@ -1,223 +1,3 @@ - -Dafny program verifier finished with 25 verified, 0 errors - -Dafny program verifier did not attempt verification -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17] [12, 17] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - comprehension: {82} - union: {17, 82} {12, 17, 82} - intersection: {} {17} - difference: {} {82} - subset: true false true - proper subset: true false false - membership: false true true -Multisets: {} {17, 17, 82, 82} {12, 17} - cardinality: 0 4 2 - update: {17, 17, 42, 42, 42} {12, 17, 42} - multiplicity: 2 0 20 - union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} - intersection: {} {17, 82, 82} - difference: {} {17, 82, 82} - subset: true false true - proper subset: true false false - membership: false true true -Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} - cardinality: 0 3 2 - update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} - comprehension: {17 := 12, 82 := 12} - Keys: {12, 17, 82} - Values: {17, 82} - eq: false true true - eq: true true true true true true - eq: true true true true true true - eq: true false true false true false - eq: true false true false true false - eq: true true true true true true - eq: true true true true true true -set: {20, 30} -multiset: {20, 30} -seq: [20, 30] -map: {20 := 30, 30 := 20} -true -true -1 1 -1 1 - -Dafny program verifier did not attempt verification -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17] [12, 17] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - comprehension: {82} - union: {17, 82} {12, 17, 82} - intersection: {} {17} - difference: {} {82} - subset: true false true - proper subset: true false false - membership: false true true -Multisets: {} {17, 17, 82, 82} {12, 17} - cardinality: 0 4 2 - update: {17, 17, 42, 42, 42} {12, 17, 42} - multiplicity: 2 0 20 - union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} - intersection: {} {17, 82, 82} - difference: {} {17, 82, 82} - subset: true false true - proper subset: true false false - membership: false true true -Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} - cardinality: 0 3 2 - update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} - comprehension: {17 := 12, 82 := 12} - Keys: {12, 17, 82} - Values: {17, 82} - eq: false true true - eq: true true true true true true - eq: true true true true true true - eq: true false true false true false - eq: true false true false true false - eq: true true true true true true - eq: true true true true true true -set: {20, 30} -multiset: {20, 30} -seq: [20, 30] -map: {20 := 30, 30 := 20} -true -true -1 1 -1 1 - -Dafny program verifier did not attempt verification -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17] [12, 17] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - comprehension: {82} - union: {17, 82} {12, 17, 82} - intersection: {} {17} - difference: {} {82} - subset: true false true - proper subset: true false false - membership: false true true -Multisets: {} {17, 17, 82, 82} {12, 17} - cardinality: 0 4 2 - update: {17, 17, 42, 42, 42} {12, 17, 42} - multiplicity: 2 0 20 - union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} - intersection: {} {17, 82, 82} - difference: {} {17, 82, 82} - subset: true false true - proper subset: true false false - membership: false true true -Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} - cardinality: 0 3 2 - update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} - comprehension: {17 := 12, 82 := 12} - Keys: {12, 17, 82} - Values: {17, 82} - eq: false true true - eq: true true true true true true - eq: true true true true true true - eq: true false true false true false - eq: true false true false true false - eq: true true true true true true - eq: true true true true true true -set: {20, 30} -multiset: {20, 30} -seq: [20, 30] -map: {20 := 30, 30 := 20} -true -true -1 1 -1 1 - -Dafny program verifier did not attempt verification -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17] [12, 17] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - comprehension: {82} - union: {17, 82} {12, 17, 82} - intersection: {} {17} - difference: {} {82} - subset: true false true - proper subset: true false false - membership: false true true -Multisets: {} {17, 17, 82, 82} {12, 17} - cardinality: 0 4 2 - update: {17, 17, 42, 42, 42} {12, 17, 42} - multiplicity: 2 0 20 - union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} - intersection: {} {17, 82, 82} - difference: {} {17, 82, 82} - subset: true false true - proper subset: true false false - membership: false true true -Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} - cardinality: 0 3 2 - update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} - comprehension: {17 := 12, 82 := 12} - Keys: {12, 17, 82} - Values: {17, 82} - eq: false true true - eq: true true true true true true - eq: true true true true true true - eq: true false true false true false - eq: true false true false true false - eq: true true true true true true - eq: true true true true true true -set: {20, 30} -multiset: {20, 30} -seq: [20, 30] -map: {20 := 30, 30 := 20} -true -true -1 1 -1 1 - -Dafny program verifier did not attempt verification Sequences: [] [17, 82, 17, 82] [12, 17] cardinality: 0 4 2 update: [42, 82, 17, 82] [42, 17] diff --git a/Test/comp/Datatype.dfy b/Test/comp/Datatype.dfy index 0f4bab7c469..3b3f0641c1a 100644 --- a/Test/comp/Datatype.dfy +++ b/Test/comp/Datatype.dfy @@ -1,10 +1,5 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation datatype List = Nil | Cons(head: int, tail: List) diff --git a/Test/comp/Datatype.dfy.expect b/Test/comp/Datatype.dfy.expect index 84dceeb16e6..93e37a9562a 100644 --- a/Test/comp/Datatype.dfy.expect +++ b/Test/comp/Datatype.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 12 verified, 0 errors - -Dafny program verifier did not attempt verification List.Nil List.Cons(5, List.Nil) (List.Nil, List.Cons(5, List.Nil)) @@ -24,99 +20,3 @@ Record.Record(58, true) 199 800 801 802 800 801 802 - -Dafny program verifier did not attempt verification -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) -0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) -Stream.Next -Stream.Next -{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} -CoBerry.Hjortron true true false -false -42 'q' hello -1701 -Record.Record(58, true) -199 -800 801 802 -800 801 802 - -Dafny program verifier did not attempt verification -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) -0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) -Stream.Next -Stream.Next -{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} -CoBerry.Hjortron true true false -false -42 'q' hello -1701 -Record.Record(58, true) -199 -800 801 802 -800 801 802 - -Dafny program verifier did not attempt verification -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) -0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) -Stream.Next -Stream.Next -{Berry.Jordgubb, Berry.Smultron, Berry.Hallon} -CoBerry.Hjortron true true false -false -42 'q' hello -1701 -Record.Record(58, true) -199 -800 801 802 -800 801 802 - -Dafny program verifier did not attempt verification -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) -0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) -Stream.Next -Stream.Next -{Berry.Hallon, Berry.Smultron, Berry.Jordgubb} -CoBerry.Hjortron true true false -false -42 'q' hello -1701 -Record.Record(58, true) -199 -800 801 802 -800 801 802 diff --git a/Test/comp/Datatype.dfy.java.expect b/Test/comp/Datatype.dfy.java.expect new file mode 100644 index 00000000000..e5a32fd58bc --- /dev/null +++ b/Test/comp/Datatype.dfy.java.expect @@ -0,0 +1,22 @@ +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) +0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) +Stream.Next +Stream.Next +{Berry.Jordgubb, Berry.Smultron, Berry.Hallon} +CoBerry.Hjortron true true false +false +42 'q' hello +1701 +Record.Record(58, true) +199 +800 801 802 +800 801 802 diff --git a/Test/comp/Datatype.dfy.py.expect b/Test/comp/Datatype.dfy.py.expect new file mode 100644 index 00000000000..0f64b73ba2d --- /dev/null +++ b/Test/comp/Datatype.dfy.py.expect @@ -0,0 +1,22 @@ +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) +0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) +Stream.Next +Stream.Next +{Berry.Hallon, Berry.Smultron, Berry.Jordgubb} +CoBerry.Hjortron true true false +false +42 'q' hello +1701 +Record.Record(58, true) +199 +800 801 802 +800 801 802 diff --git a/Test/comp/DefaultParameters-Compile.dfy b/Test/comp/DefaultParameters-Compile.dfy index 145b8670647..cd6ba1163b1 100644 --- a/Test/comp/DefaultParameters-Compile.dfy +++ b/Test/comp/DefaultParameters-Compile.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method M(x: int := 16) { print x, "\n"; diff --git a/Test/comp/DefaultParameters-Compile.dfy.expect b/Test/comp/DefaultParameters-Compile.dfy.expect index b94739d5be1..b4b87321eb5 100644 --- a/Test/comp/DefaultParameters-Compile.dfy.expect +++ b/Test/comp/DefaultParameters-Compile.dfy.expect @@ -1,51 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification -12 -16 -1 2 -1 3 -10 20 -11 13 -Color.Blue(2, 1) Color.Red(3, 4) -5 5 6 -6 6 7 - -Dafny program verifier did not attempt verification -12 -16 -1 2 -1 3 -10 20 -11 13 -Color.Blue(2, 1) Color.Red(3, 4) -5 5 6 -6 6 7 - -Dafny program verifier did not attempt verification -12 -16 -1 2 -1 3 -10 20 -11 13 -Color.Blue(2, 1) Color.Red(3, 4) -5 5 6 -6 6 7 - -Dafny program verifier did not attempt verification -12 -16 -1 2 -1 3 -10 20 -11 13 -Color.Blue(2, 1) Color.Red(3, 4) -5 5 6 -6 6 7 - -Dafny program verifier did not attempt verification 12 16 1 2 diff --git a/Test/comp/DowncastClone.dfy b/Test/comp/DowncastClone.dfy index b90066da781..cb1f095b3f4 100644 --- a/Test/comp/DowncastClone.dfy +++ b/Test/comp/DowncastClone.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Co<+T> = Co(T) | C datatype ReCo<+T> = ReCo(T) diff --git a/Test/comp/DowncastClone.dfy.expect b/Test/comp/DowncastClone.dfy.expect index 982b36b396c..b0613294f3c 100644 --- a/Test/comp/DowncastClone.dfy.expect +++ b/Test/comp/DowncastClone.dfy.expect @@ -1,43 +1,3 @@ - -Dafny program verifier finished with 7 verified, 0 errors - -Dafny program verifier did not attempt verification -Co.Co(_module.Y) and Co.Co(_module.Y) -_module.Y and _module.Y -_module.Y _module.Y -false and false -false and false -_module.Y and _module.Y -Done - -Dafny program verifier did not attempt verification -Co.Co(_module.Y) and Co.Co(_module.Y) -_module.Y and _module.Y -_module.Y _module.Y -false and false -false and false -_module.Y and _module.Y -Done - -Dafny program verifier did not attempt verification -Co.Co(_module.Y) and Co.Co(_module.Y) -_module.Y and _module.Y -_module.Y _module.Y -false and false -false and false -_module.Y and _module.Y -Done - -Dafny program verifier did not attempt verification -Co.Co(_module.Y) and Co.Co(_module.Y) -_module.Y and _module.Y -_module.Y _module.Y -false and false -false and false -_module.Y and _module.Y -Done - -Dafny program verifier did not attempt verification Co.Co(_module.Y) and Co.Co(_module.Y) _module.Y and _module.Y _module.Y _module.Y diff --git a/Test/comp/ErasableTypeWrappers.dfy b/Test/comp/ErasableTypeWrappers.dfy index d62d3736622..a280099699f 100644 --- a/Test/comp/ErasableTypeWrappers.dfy +++ b/Test/comp/ErasableTypeWrappers.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false datatype SingletonRecord = SingletonRecord(u: int) datatype GhostOrNot = ghost Ghost(a: int, b: int) | Compiled(x: int) diff --git a/Test/comp/ErasableTypeWrappers.dfy.expect b/Test/comp/ErasableTypeWrappers.dfy.expect index 602e30d2075..7dd41a194ac 100644 --- a/Test/comp/ErasableTypeWrappers.dfy.expect +++ b/Test/comp/ErasableTypeWrappers.dfy.expect @@ -1,87 +1,3 @@ - -Dafny program verifier finished with 10 verified, 0 errors - -Dafny program verifier did not attempt verification -62 63 (2, 5) (2, 5) 3 -62 63 5 5 3 -5 5 3 -1062 1063 1005 1005 1003 -true true true -20 20 *20 21 20 -20 20 *20 21 20 -true false -true false true false -true false -0 (0, 0) 0 Color.Pink -13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false - 3.14 2.7 -18.0 18.0 3.0 false -18.0 4.0 true -HasConst.MakeC(4) (4, 4) -4 (4, 4) -OptimizationChecks_Compile.Ints.Ints(5, 7) OptimizationChecks_Compile.Ints.Ints(5, 7) OptimizationChecks_Compile.Ints.AnotherIntsWrapper(OptimizationChecks_Compile.Ints.Ints(5, 7)) - -Dafny program verifier did not attempt verification -62 63 (2, 5) (2, 5) 3 -62 63 5 5 3 -5 5 3 -1062 1063 1005 1005 1003 -true true true -20 20 *20 21 20 -20 20 *20 21 20 -true false -true false true false -true false -0 (0, 0) 0 Color.Pink -13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false - 3.14 2.7 -18.0 18.0 3.0 false -18.0 4.0 true -HasConst.MakeC(4) (4, 4) -4 (4, 4) -OptimizationChecks_Compile.Ints.Ints(5, 7) OptimizationChecks_Compile.Ints.Ints(5, 7) OptimizationChecks_Compile.Ints.AnotherIntsWrapper(OptimizationChecks_Compile.Ints.Ints(5, 7)) - -Dafny program verifier did not attempt verification -62 63 (2, 5) (2, 5) 3 -62 63 5 5 3 -5 5 3 -1062 1063 1005 1005 1003 -true true true -20 20 *20 21 20 -20 20 *20 21 20 -true false -true false true false -true false -0 (0, 0) 0 Color.Pink -13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false - 3.14 2.7 -18.0 18.0 3.0 false -18.0 4.0 true -HasConst.MakeC(4) (4, 4) -4 (4, 4) -OptimizationChecks_Compile.Ints.Ints(5, 7) OptimizationChecks_Compile.Ints.Ints(5, 7) OptimizationChecks_Compile.Ints.AnotherIntsWrapper(OptimizationChecks_Compile.Ints.Ints(5, 7)) - -Dafny program verifier did not attempt verification -62 63 (2, 5) (2, 5) 3 -62 63 5 5 3 -5 5 3 -1062 1063 1005 1005 1003 -true true true -20 20 *20 21 20 -20 20 *20 21 20 -true false -true false true false -true false -0 (0, 0) 0 Color.Pink -13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false - 3.14 2.7 -18.0 18.0 3.0 false -18.0 4.0 true -HasConst.MakeC(4) (4, 4) -4 (4, 4) -OptimizationChecks_Compile.Ints.Ints(5, 7) OptimizationChecks_Compile.Ints.Ints(5, 7) OptimizationChecks_Compile.Ints.AnotherIntsWrapper(OptimizationChecks_Compile.Ints.Ints(5, 7)) - -Dafny program verifier did not attempt verification 62 63 (2, 5) (2, 5) 3 62 63 5 5 3 5 5 3 diff --git a/Test/comp/EuclideanDivision.dfy b/Test/comp/EuclideanDivision.dfy index 7ae1803cad8..1286dcd125b 100644 --- a/Test/comp/EuclideanDivision.dfy +++ b/Test/comp/EuclideanDivision.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Some runtimes (like the one for C#) have three implementations // of Euclidean div/mod: one for `int`, one for `long`, and one diff --git a/Test/comp/EuclideanDivision.dfy.expect b/Test/comp/EuclideanDivision.dfy.expect index b538c9494de..e2585ff8c70 100644 --- a/Test/comp/EuclideanDivision.dfy.expect +++ b/Test/comp/EuclideanDivision.dfy.expect @@ -1,39 +1,3 @@ - -Dafny program verifier finished with 11 verified, 0 errors - -Dafny program verifier did not attempt verification -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 - -Dafny program verifier did not attempt verification -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 - -Dafny program verifier did not attempt verification -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 - -Dafny program verifier did not attempt verification -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 - -Dafny program verifier did not attempt verification 2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 diff --git a/Test/comp/ForLoops-Compilation.dfy b/Test/comp/ForLoops-Compilation.dfy index 97101b82961..b468d21f69f 100644 --- a/Test/comp/ForLoops-Compilation.dfy +++ b/Test/comp/ForLoops-Compilation.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method Main() { TestM(0, 0); diff --git a/Test/comp/ForLoops-Compilation.dfy.expect b/Test/comp/ForLoops-Compilation.dfy.expect index d67a5429fed..97724a714bc 100644 --- a/Test/comp/ForLoops-Compilation.dfy.expect +++ b/Test/comp/ForLoops-Compilation.dfy.expect @@ -1,203 +1,3 @@ - -Dafny program verifier finished with 23 verified, 0 errors - -Dafny program verifier did not attempt verification -0 0 0 0 --2 -2 -2 -2 -0 0 0 0 -145 145 145 145 -0 0 -0 0 -57 57 -0 0 -32385 32385 -0 0 --128 -128 -126 126 -0 0 -0 * 2 == 0 -2 * 0 == 0 -1 * 1 == 1 -6 * 5 == 30 -0 + 3 == 3 -3 + 0 == 3 -4 + 0 == 4 -0 + 0 == 0 -19 + 14 == 33 -4 4 4 -== BC10 == -0 --++--++---- *** -1 --++--++----++-- -2 --++--++----++--++--++--++--++--++--++ *** -3 --++--++----++--++--++--++--++--++--++ *** -4 --++--++----++--++--++--++--++--++--++ *** -5 --++--++----++--++--++--++--++--++--++ *** -6 --++--++----++--++--++--++--++--++--++ *** -7 --++--++----++--++--++--++--++--++--++ *** -8 --++--++----++--++--++--++--++--++--++ *** -9 --++--++----++--++--++--++--++--++--++ *** -== BC11 == -0 ||--++----++-- *** -1 ||--++----++--++-- -2 ||--++----++--++--++--++--++--++--++--++ *** -3 ||--++----++--++--++--++--++--++--++--++ *** -4 ||--++----++--++--++--++--++--++--++--++ *** -5 ||--++----++--++--++--++--++--++--++--++ *** -6 ||--++----++--++--++--++--++--++--++--++ *** -7 ||--++----++--++--++--++--++--++--++--++ *** -8 ||--++----++--++--++--++--++--++--++--++ *** -9 ||--++----++--++--++--++--++--++--++--++ *** -true true true 15 -all good - -Dafny program verifier did not attempt verification -0 0 0 0 --2 -2 -2 -2 -0 0 0 0 -145 145 145 145 -0 0 -0 0 -57 57 -0 0 -32385 32385 -0 0 --128 -128 -126 126 -0 0 -0 * 2 == 0 -2 * 0 == 0 -1 * 1 == 1 -6 * 5 == 30 -0 + 3 == 3 -3 + 0 == 3 -4 + 0 == 4 -0 + 0 == 0 -19 + 14 == 33 -4 4 4 -== BC10 == -0 --++--++---- *** -1 --++--++----++-- -2 --++--++----++--++--++--++--++--++--++ *** -3 --++--++----++--++--++--++--++--++--++ *** -4 --++--++----++--++--++--++--++--++--++ *** -5 --++--++----++--++--++--++--++--++--++ *** -6 --++--++----++--++--++--++--++--++--++ *** -7 --++--++----++--++--++--++--++--++--++ *** -8 --++--++----++--++--++--++--++--++--++ *** -9 --++--++----++--++--++--++--++--++--++ *** -== BC11 == -0 ||--++----++-- *** -1 ||--++----++--++-- -2 ||--++----++--++--++--++--++--++--++--++ *** -3 ||--++----++--++--++--++--++--++--++--++ *** -4 ||--++----++--++--++--++--++--++--++--++ *** -5 ||--++----++--++--++--++--++--++--++--++ *** -6 ||--++----++--++--++--++--++--++--++--++ *** -7 ||--++----++--++--++--++--++--++--++--++ *** -8 ||--++----++--++--++--++--++--++--++--++ *** -9 ||--++----++--++--++--++--++--++--++--++ *** -true true true 15 -all good - -Dafny program verifier did not attempt verification -0 0 0 0 --2 -2 -2 -2 -0 0 0 0 -145 145 145 145 -0 0 -0 0 -57 57 -0 0 -32385 32385 -0 0 --128 -128 -126 126 -0 0 -0 * 2 == 0 -2 * 0 == 0 -1 * 1 == 1 -6 * 5 == 30 -0 + 3 == 3 -3 + 0 == 3 -4 + 0 == 4 -0 + 0 == 0 -19 + 14 == 33 -4 4 4 -== BC10 == -0 --++--++---- *** -1 --++--++----++-- -2 --++--++----++--++--++--++--++--++--++ *** -3 --++--++----++--++--++--++--++--++--++ *** -4 --++--++----++--++--++--++--++--++--++ *** -5 --++--++----++--++--++--++--++--++--++ *** -6 --++--++----++--++--++--++--++--++--++ *** -7 --++--++----++--++--++--++--++--++--++ *** -8 --++--++----++--++--++--++--++--++--++ *** -9 --++--++----++--++--++--++--++--++--++ *** -== BC11 == -0 ||--++----++-- *** -1 ||--++----++--++-- -2 ||--++----++--++--++--++--++--++--++--++ *** -3 ||--++----++--++--++--++--++--++--++--++ *** -4 ||--++----++--++--++--++--++--++--++--++ *** -5 ||--++----++--++--++--++--++--++--++--++ *** -6 ||--++----++--++--++--++--++--++--++--++ *** -7 ||--++----++--++--++--++--++--++--++--++ *** -8 ||--++----++--++--++--++--++--++--++--++ *** -9 ||--++----++--++--++--++--++--++--++--++ *** -true true true 15 -all good - -Dafny program verifier did not attempt verification -0 0 0 0 --2 -2 -2 -2 -0 0 0 0 -145 145 145 145 -0 0 -0 0 -57 57 -0 0 -32385 32385 -0 0 --128 -128 -126 126 -0 0 -0 * 2 == 0 -2 * 0 == 0 -1 * 1 == 1 -6 * 5 == 30 -0 + 3 == 3 -3 + 0 == 3 -4 + 0 == 4 -0 + 0 == 0 -19 + 14 == 33 -4 4 4 -== BC10 == -0 --++--++---- *** -1 --++--++----++-- -2 --++--++----++--++--++--++--++--++--++ *** -3 --++--++----++--++--++--++--++--++--++ *** -4 --++--++----++--++--++--++--++--++--++ *** -5 --++--++----++--++--++--++--++--++--++ *** -6 --++--++----++--++--++--++--++--++--++ *** -7 --++--++----++--++--++--++--++--++--++ *** -8 --++--++----++--++--++--++--++--++--++ *** -9 --++--++----++--++--++--++--++--++--++ *** -== BC11 == -0 ||--++----++-- *** -1 ||--++----++--++-- -2 ||--++----++--++--++--++--++--++--++--++ *** -3 ||--++----++--++--++--++--++--++--++--++ *** -4 ||--++----++--++--++--++--++--++--++--++ *** -5 ||--++----++--++--++--++--++--++--++--++ *** -6 ||--++----++--++--++--++--++--++--++--++ *** -7 ||--++----++--++--++--++--++--++--++--++ *** -8 ||--++----++--++--++--++--++--++--++--++ *** -9 ||--++----++--++--++--++--++--++--++--++ *** -true true true 15 -all good - -Dafny program verifier did not attempt verification 0 0 0 0 -2 -2 -2 -2 0 0 0 0 diff --git a/Test/comp/ForallNewSyntax.dfy b/Test/comp/ForallNewSyntax.dfy index c17bf86830e..85e609b37b3 100644 --- a/Test/comp/ForallNewSyntax.dfy +++ b/Test/comp/ForallNewSyntax.dfy @@ -1,10 +1,4 @@ -// RUN: %baredafny verify %args --relax-definite-assignment --function-syntax:3 --quantifier-syntax:4 "%s" > "%t" -// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:cs "%s" >> "%t" -// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:js "%s" >> "%t" -// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:go "%s" >> "%t" -// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:java "%s" >> "%t" -// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --function-syntax:3 --quantifier-syntax:4 --relax-definite-assignment method Main() { var arrayTests := new ArrayTests(); diff --git a/Test/comp/ForallNewSyntax.dfy.expect b/Test/comp/ForallNewSyntax.dfy.expect index 241ea9ea521..5b33d939607 100644 --- a/Test/comp/ForallNewSyntax.dfy.expect +++ b/Test/comp/ForallNewSyntax.dfy.expect @@ -1,183 +1,3 @@ - -Dafny program verifier finished with 25 verified, 0 errors - -Dafny program verifier did not attempt verification -Arrays: Basic cases -[0, 1, 2, 3, 4] -[0, 1, 2, 3, 4] -[0, 1, 4, 3, 8] - -Arrays: Wrong index -[0, 0, 1, 2, 3] -[0, 0, 1, 2, 3] -[1, 2, 3, 4, 5] - -Arrays: Sequence conversion -[2, 1, 4, 5, 6] -[0, 3, 3, 3, 4] - -Arrays: Index collection -[1, 1, 2, 3, 4] -[1, 1, 2, 3, 4] - -Arrays: Functions -[1, 1, 3, 4, 5] -[1, 1, 3, 4, 5] -[1, 2, 3, 3, 5] -[1, 2, 3, 4, 5] - -Multi-dimensional arrays -[[0, 2, 4], [1, 3, 5], [2, 4, 6]] -[[0, 1, 2], [2, 3, 4], [4, 5, 6]] - -Objects: Basic cases -[(0, 1.0), (0, 2.0), (0, 3.0)] -[(2, 1.0), (2, 2.0), (4, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] - -Objects: Bad field accesses -[(2, 1.0), (3, 2.0), (4, 3.0)] -[(2, 1.0), (2, 2.0), (2, 3.0)] -[(2, 1.0), (3, 2.0), (1, 3.0)] - -Objects: Functions -[(2, 1.0), (4, 2.0), (6, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] -[(3, 1.0), (4, 2.0), (5, 3.0)] - -Dafny program verifier did not attempt verification -Arrays: Basic cases -[0, 1, 2, 3, 4] -[0, 1, 2, 3, 4] -[0, 1, 4, 3, 8] - -Arrays: Wrong index -[0, 0, 1, 2, 3] -[0, 0, 1, 2, 3] -[1, 2, 3, 4, 5] - -Arrays: Sequence conversion -[2, 1, 4, 5, 6] -[0, 3, 3, 3, 4] - -Arrays: Index collection -[1, 1, 2, 3, 4] -[1, 1, 2, 3, 4] - -Arrays: Functions -[1, 1, 3, 4, 5] -[1, 1, 3, 4, 5] -[1, 2, 3, 3, 5] -[1, 2, 3, 4, 5] - -Multi-dimensional arrays -[[0, 2, 4], [1, 3, 5], [2, 4, 6]] -[[0, 1, 2], [2, 3, 4], [4, 5, 6]] - -Objects: Basic cases -[(0, 1.0), (0, 2.0), (0, 3.0)] -[(2, 1.0), (2, 2.0), (4, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] - -Objects: Bad field accesses -[(2, 1.0), (3, 2.0), (4, 3.0)] -[(2, 1.0), (2, 2.0), (2, 3.0)] -[(2, 1.0), (3, 2.0), (1, 3.0)] - -Objects: Functions -[(2, 1.0), (4, 2.0), (6, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] -[(3, 1.0), (4, 2.0), (5, 3.0)] - -Dafny program verifier did not attempt verification -Arrays: Basic cases -[0, 1, 2, 3, 4] -[0, 1, 2, 3, 4] -[0, 1, 4, 3, 8] - -Arrays: Wrong index -[0, 0, 1, 2, 3] -[0, 0, 1, 2, 3] -[1, 2, 3, 4, 5] - -Arrays: Sequence conversion -[2, 1, 4, 5, 6] -[0, 3, 3, 3, 4] - -Arrays: Index collection -[1, 1, 2, 3, 4] -[1, 1, 2, 3, 4] - -Arrays: Functions -[1, 1, 3, 4, 5] -[1, 1, 3, 4, 5] -[1, 2, 3, 3, 5] -[1, 2, 3, 4, 5] - -Multi-dimensional arrays -[[0, 2, 4], [1, 3, 5], [2, 4, 6]] -[[0, 1, 2], [2, 3, 4], [4, 5, 6]] - -Objects: Basic cases -[(0, 1.0), (0, 2.0), (0, 3.0)] -[(2, 1.0), (2, 2.0), (4, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] - -Objects: Bad field accesses -[(2, 1.0), (3, 2.0), (4, 3.0)] -[(2, 1.0), (2, 2.0), (2, 3.0)] -[(2, 1.0), (3, 2.0), (1, 3.0)] - -Objects: Functions -[(2, 1.0), (4, 2.0), (6, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] -[(3, 1.0), (4, 2.0), (5, 3.0)] - -Dafny program verifier did not attempt verification -Arrays: Basic cases -[0, 1, 2, 3, 4] -[0, 1, 2, 3, 4] -[0, 1, 4, 3, 8] - -Arrays: Wrong index -[0, 0, 1, 2, 3] -[0, 0, 1, 2, 3] -[1, 2, 3, 4, 5] - -Arrays: Sequence conversion -[2, 1, 4, 5, 6] -[0, 3, 3, 3, 4] - -Arrays: Index collection -[1, 1, 2, 3, 4] -[1, 1, 2, 3, 4] - -Arrays: Functions -[1, 1, 3, 4, 5] -[1, 1, 3, 4, 5] -[1, 2, 3, 3, 5] -[1, 2, 3, 4, 5] - -Multi-dimensional arrays -[[0, 2, 4], [1, 3, 5], [2, 4, 6]] -[[0, 1, 2], [2, 3, 4], [4, 5, 6]] - -Objects: Basic cases -[(0, 1.0), (0, 2.0), (0, 3.0)] -[(2, 1.0), (2, 2.0), (4, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] - -Objects: Bad field accesses -[(2, 1.0), (3, 2.0), (4, 3.0)] -[(2, 1.0), (2, 2.0), (2, 3.0)] -[(2, 1.0), (3, 2.0), (1, 3.0)] - -Objects: Functions -[(2, 1.0), (4, 2.0), (6, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] -[(3, 1.0), (4, 2.0), (5, 3.0)] - -Dafny program verifier did not attempt verification Arrays: Basic cases [0, 1, 2, 3, 4] [0, 1, 2, 3, 4] diff --git a/Test/comp/Ghosts.dfy b/Test/comp/Ghosts.dfy index 506fe0facb1..8afe8a36d3f 100644 --- a/Test/comp/Ghosts.dfy +++ b/Test/comp/Ghosts.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method M1() returns (x: int) { diff --git a/Test/comp/Ghosts.dfy.expect b/Test/comp/Ghosts.dfy.expect index 430a9c18fc0..d075ea048c1 100644 --- a/Test/comp/Ghosts.dfy.expect +++ b/Test/comp/Ghosts.dfy.expect @@ -1,55 +1,3 @@ - -Dafny program verifier finished with 8 verified, 0 errors - -Dafny program verifier did not attempt verification -hello, M2 -hello, M2 -hello, M3 -hello, M1 -hello, M1 -hello, M1 -hello, M2 -hello, M3 -hello, N0 -hello, N1 - -Dafny program verifier did not attempt verification -hello, M2 -hello, M2 -hello, M3 -hello, M1 -hello, M1 -hello, M1 -hello, M2 -hello, M3 -hello, N0 -hello, N1 - -Dafny program verifier did not attempt verification -hello, M2 -hello, M2 -hello, M3 -hello, M1 -hello, M1 -hello, M1 -hello, M2 -hello, M3 -hello, N0 -hello, N1 - -Dafny program verifier did not attempt verification -hello, M2 -hello, M2 -hello, M3 -hello, M1 -hello, M1 -hello, M1 -hello, M2 -hello, M3 -hello, N0 -hello, N1 - -Dafny program verifier did not attempt verification hello, M2 hello, M2 hello, M3 diff --git a/Test/comp/Let.dfy b/Test/comp/Let.dfy index 64dce8b90e6..2a639009c78 100644 --- a/Test/comp/Let.dfy +++ b/Test/comp/Let.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cs "%s" > "%t" -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method M() returns (x: int) { x := var y := 50; y; // non-top-level let diff --git a/Test/comp/Let.dfy.expect b/Test/comp/Let.dfy.expect index 667abc32458..f05dfc414c1 100644 --- a/Test/comp/Let.dfy.expect +++ b/Test/comp/Let.dfy.expect @@ -1,37 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors -50 58 -Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) -5 7 9 10 12 30 -5 7 -5 7 -12.0 15.0 15.0 15.0 - -Dafny program verifier finished with 5 verified, 0 errors -50 58 -Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) -5 7 9 10 12 30 -5 7 -5 7 -12.0 15.0 15.0 15.0 - -Dafny program verifier finished with 5 verified, 0 errors -50 58 -Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) -5 7 9 10 12 30 -5 7 -5 7 -12.0 15.0 15.0 15.0 - -Dafny program verifier finished with 5 verified, 0 errors -50 58 -Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) -5 7 9 10 12 30 -5 7 -5 7 -12.0 15.0 15.0 15.0 - -Dafny program verifier finished with 5 verified, 0 errors 50 58 Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) 5 7 9 10 12 30 diff --git a/Test/comp/MoreAutoInit.dfy b/Test/comp/MoreAutoInit.dfy index 46bdf7148f1..c72083f1be5 100644 --- a/Test/comp/MoreAutoInit.dfy +++ b/Test/comp/MoreAutoInit.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { Methods.TestStart(); diff --git a/Test/comp/MoreAutoInit.dfy.expect b/Test/comp/MoreAutoInit.dfy.expect index cc1ae3b994a..a3a230fd0f1 100644 --- a/Test/comp/MoreAutoInit.dfy.expect +++ b/Test/comp/MoreAutoInit.dfy.expect @@ -1,575 +1,3 @@ - -Dafny program verifier finished with 38 verified, 0 errors - -Dafny program verifier did not attempt verification -Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -{} - ++ {} -[] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -{2} - ++ {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni - ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni -Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni - ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni -Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni -Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni - ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni - ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni -[] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] - ** [] ++ [] -[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [] - ** [] ++ [] -[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [] -[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] - ++ [Consts_Compile.Uni.Uni] ++ [] - ** [] ++ [] ++ [] -15 -0-0 0.0-0.0 false-false 'D'-'D' 0 -0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 -0-0 0-0 0-0 0-0 1 1 -0.0-0.0 68.0 -null-null null-null null-null null-null -0 -0:0:0 -0-0 -{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] -DefaultValuedExpressions_Compile.Color.Red-DefaultValuedExpressions_Compile.Color.Red DefaultValuedExpressions_Compile.PossibleCell.Nothing-DefaultValuedExpressions_Compile.PossibleCell.Nothing DefaultValuedExpressions_Compile.Cell.LittleCell(0)-DefaultValuedExpressions_Compile.Cell.LittleCell(0) -()-() (0, 0.0)-(0, 0.0) -(DefaultValuedExpressions_Compile.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions_Compile.Color.Red, (0, 0.0), ()) -null-null null-null -0-0 0-0 0-0 3 4 5 -0-0 11 0-0 8 - -Dafny program verifier did not attempt verification -Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -{} - ++ {} -[] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -{2} - ++ {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni - ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni -Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni - ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni -Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni -Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni - ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni - ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni -[] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] - ** [] ++ [] -[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [] - ** [] ++ [] -[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [] -[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] - ++ [Consts_Compile.Uni.Uni] ++ [] - ** [] ++ [] ++ [] -15 -0-0 0.0-0.0 false-false 'D'-'D' 0 -0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 -0-0 0-0 0-0 0-0 1 1 -0.0-0.0 68.0 -null-null null-null null-null null-null -0 -0:0:0 -0-0 -{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] -DefaultValuedExpressions_Compile.Color.Red-DefaultValuedExpressions_Compile.Color.Red DefaultValuedExpressions_Compile.PossibleCell.Nothing-DefaultValuedExpressions_Compile.PossibleCell.Nothing DefaultValuedExpressions_Compile.Cell.LittleCell(0)-DefaultValuedExpressions_Compile.Cell.LittleCell(0) -()-() (0, 0.0)-(0, 0.0) -(DefaultValuedExpressions_Compile.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions_Compile.Color.Red, (0, 0.0), ()) -null-null null-null -0-0 0-0 0-0 3 4 5 -0-0 11 0-0 8 - -Dafny program verifier did not attempt verification -Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -{} - ++ {} -[] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -{2} - ++ {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni - ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni -Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni - ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni -Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni -Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni - ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni - ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni -[] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] - ** [] ++ [] -[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [] - ** [] ++ [] -[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [] -[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] - ++ [Consts_Compile.Uni.Uni] ++ [] - ** [] ++ [] ++ [] -15 -0-0 0.0-0.0 false-false 'D'-'D' 0 -0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 -0-0 0-0 0-0 0-0 1 1 -0.0-0.0 68.0 -null-null null-null null-null null-null -0 -0:0:0 -0-0 -{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] -DefaultValuedExpressions_Compile.Color.Red-DefaultValuedExpressions_Compile.Color.Red DefaultValuedExpressions_Compile.PossibleCell.Nothing-DefaultValuedExpressions_Compile.PossibleCell.Nothing DefaultValuedExpressions_Compile.Cell.LittleCell(0)-DefaultValuedExpressions_Compile.Cell.LittleCell(0) -()-() (0, 0.0)-(0, 0.0) -(DefaultValuedExpressions_Compile.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions_Compile.Color.Red, (0, 0.0), ()) -null-null null-null -0-0 0-0 0-0 3 4 5 -0-0 11 0-0 8 - -Dafny program verifier did not attempt verification -Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -{} - ++ {} -[] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -{2} - ++ {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni - ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni -Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni - ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni -Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni -Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni - ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni - ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni -[] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] - ** [] ++ [] -[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [] - ** [] ++ [] -[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [] -[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] - ++ [Consts_Compile.Uni.Uni] ++ [] - ** [] ++ [] ++ [] -15 -0-0 0.0-0.0 false-false 'D'-'D' 0 -0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 -0-0 0-0 0-0 0-0 1 1 -0.0-0.0 68.0 -null-null null-null null-null null-null -0 -0:0:0 -0-0 -{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] -DefaultValuedExpressions_Compile.Color.Red-DefaultValuedExpressions_Compile.Color.Red DefaultValuedExpressions_Compile.PossibleCell.Nothing-DefaultValuedExpressions_Compile.PossibleCell.Nothing DefaultValuedExpressions_Compile.Cell.LittleCell(0)-DefaultValuedExpressions_Compile.Cell.LittleCell(0) -()-() (0, 0.0)-(0, 0.0) -(DefaultValuedExpressions_Compile.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions_Compile.Color.Red, (0, 0.0), ()) -null-null null-null -0-0 0-0 0-0 3 4 5 -0-0 11 0-0 8 - -Dafny program verifier did not attempt verification Methods_Compile.Uni.Uni ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni diff --git a/Test/comp/NativeNumbers.dfy b/Test/comp/NativeNumbers.dfy index c63d02cf643..e1fadb1c406 100644 --- a/Test/comp/NativeNumbers.dfy +++ b/Test/comp/NativeNumbers.dfy @@ -1,11 +1,6 @@ +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false // Skip JavaScript because JavaScript doesn't have the same native types -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" method Main() { CastTests(); diff --git a/Test/comp/NativeNumbers.dfy.expect b/Test/comp/NativeNumbers.dfy.expect index 2be030252cf..6a9d263fc73 100644 --- a/Test/comp/NativeNumbers.dfy.expect +++ b/Test/comp/NativeNumbers.dfy.expect @@ -1,259 +1,3 @@ - -Dafny program verifier finished with 25 verified, 0 errors - -Dafny program verifier did not attempt verification -Casting: - -Small numbers: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 -5 5 5 5 5 5 5 5 5 -6 6 6 6 6 6 6 6 6 -7 7 7 7 7 7 7 7 7 -8 8 8 8 8 8 8 8 8 - -Large unsigned numbers: -255 255 255 255 255 255 255 255 -65535 65535 65535 65535 65535 65535 -4294967295 4294967295 4294967295 4294967295 -18446744073709551615 18446744073709551615 - -Int to large unsigned: -255 65535 4294967295 18446744073709551615 - -Cast from cardinality operator: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 - -Characters: -C 67 67 67 67 67 67 67 67 67 -0 127 32767 65535 65535 255 65535 65535 65535 - -Defaults: - -0 0 0 0 0 0 0 0 0 - -Byte arithmetic: - -20 30 -10 10 18 - -Short arithmetic: - -20 30 -10 10 18 - -Bitvectors: - -0 3 4 1 - -Comparison to zero: - -int8: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int16: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int32: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int64: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint8: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint16: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint32: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint64: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N - - -Dafny program verifier did not attempt verification -Casting: - -Small numbers: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 -5 5 5 5 5 5 5 5 5 -6 6 6 6 6 6 6 6 6 -7 7 7 7 7 7 7 7 7 -8 8 8 8 8 8 8 8 8 - -Large unsigned numbers: -255 255 255 255 255 255 255 255 -65535 65535 65535 65535 65535 65535 -4294967295 4294967295 4294967295 4294967295 -18446744073709551615 18446744073709551615 - -Int to large unsigned: -255 65535 4294967295 18446744073709551615 - -Cast from cardinality operator: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 - -Characters: -C 67 67 67 67 67 67 67 67 67 -0 127 32767 65535 65535 255 65535 65535 65535 - -Defaults: - -0 0 0 0 0 0 0 0 0 - -Byte arithmetic: - -20 30 -10 10 18 - -Short arithmetic: - -20 30 -10 10 18 - -Bitvectors: - -0 3 4 1 - -Comparison to zero: - -int8: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int16: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int32: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int64: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint8: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint16: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint32: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint64: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N - - -Dafny program verifier did not attempt verification -Casting: - -Small numbers: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 -5 5 5 5 5 5 5 5 5 -6 6 6 6 6 6 6 6 6 -7 7 7 7 7 7 7 7 7 -8 8 8 8 8 8 8 8 8 - -Large unsigned numbers: -255 255 255 255 255 255 255 255 -65535 65535 65535 65535 65535 65535 -4294967295 4294967295 4294967295 4294967295 -18446744073709551615 18446744073709551615 - -Int to large unsigned: -255 65535 4294967295 18446744073709551615 - -Cast from cardinality operator: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 - -Characters: -C 67 67 67 67 67 67 67 67 67 -0 127 32767 65535 65535 255 65535 65535 65535 - -Defaults: - -0 0 0 0 0 0 0 0 0 - -Byte arithmetic: - -20 30 -10 10 18 - -Short arithmetic: - -20 30 -10 10 18 - -Bitvectors: - -0 3 4 1 - -Comparison to zero: - -int8: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int16: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int32: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int64: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint8: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint16: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint32: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint64: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N - - -Dafny program verifier did not attempt verification Casting: Small numbers: diff --git a/Test/comp/NestedArrays.dfy b/Test/comp/NestedArrays.dfy index 0c2b313a32c..39d256f4936 100644 --- a/Test/comp/NestedArrays.dfy +++ b/Test/comp/NestedArrays.dfy @@ -1,9 +1,4 @@ -// RUN: %baredafny verify --relax-definite-assignment %args "%s" > "%t" -// RUN: %baredafny run --no-verify --target=cs %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=js %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=go %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=py %args "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /* Note, compiling to arrays in Java is difficult. In fact, this is currently * broken, see https://github.com/dafny-lang/dafny/issues/3055. Until this gets diff --git a/Test/comp/NestedArrays.dfy.expect b/Test/comp/NestedArrays.dfy.expect index a24d140b9d4..aa47d0d46d4 100644 --- a/Test/comp/NestedArrays.dfy.expect +++ b/Test/comp/NestedArrays.dfy.expect @@ -1,18 +1,2 @@ - -Dafny program verifier finished with 4 verified, 0 errors - -Dafny program verifier did not attempt verification -0 -0 - -Dafny program verifier did not attempt verification -0 -0 - -Dafny program verifier did not attempt verification -0 -0 - -Dafny program verifier did not attempt verification 0 0 diff --git a/Test/comp/Numbers.dfy b/Test/comp/Numbers.dfy index 36bf24dcdb4..c76bc87fdc0 100644 --- a/Test/comp/Numbers.dfy +++ b/Test/comp/Numbers.dfy @@ -1,10 +1,5 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false method Main() { Literals(); diff --git a/Test/comp/Numbers.dfy.expect b/Test/comp/Numbers.dfy.expect index 8d994e1c7c6..7eacf4e709d 100644 --- a/Test/comp/Numbers.dfy.expect +++ b/Test/comp/Numbers.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 59 verified, 0 errors - -Dafny program verifier did not attempt verification 0 0 3 @@ -113,455 +109,3 @@ true false true false false true false true true false true false 20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -g Q 2 -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -(312.0 / 40.0) (1248.0 / 40.0) -(-312.0 / 40.0) (-1248.0 / 40.0) -(-312.0 / 40.0) (1248.0 / 40.0) -(312.0 / 40.0) (-1248.0 / 40.0) -0.0 0.0 0.0 -120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) -123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 (8100.0 / 8100.0) -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -g Q 2 -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -g Q 2 -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -(312.0 / 40.0) (1248.0 / 40.0) -(-312.0 / 40.0) (-1248.0 / 40.0) -(-312.0 / 40.0) (1248.0 / 40.0) -(312.0 / 40.0) (-1248.0 / 40.0) -0.0 0.0 0.0 -120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) -123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 (8100.0 / 8100.0) -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -g Q 2 -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 diff --git a/Test/comp/Numbers.dfy.go.expect b/Test/comp/Numbers.dfy.go.expect new file mode 100644 index 00000000000..ce109553619 --- /dev/null +++ b/Test/comp/Numbers.dfy.go.expect @@ -0,0 +1,111 @@ +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +g Q 2 +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 diff --git a/Test/comp/Numbers.dfy.py.expect b/Test/comp/Numbers.dfy.py.expect new file mode 100644 index 00000000000..ce109553619 --- /dev/null +++ b/Test/comp/Numbers.dfy.py.expect @@ -0,0 +1,111 @@ +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +g Q 2 +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 diff --git a/Test/comp/Poly.dfy b/Test/comp/Poly.dfy index f3c3aa58599..5af5e8134e9 100644 --- a/Test/comp/Poly.dfy +++ b/Test/comp/Poly.dfy @@ -1,10 +1,5 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation trait Shape { function Center(): (real, real) reads this diff --git a/Test/comp/Poly.dfy.expect b/Test/comp/Poly.dfy.expect index 4ffff82d5ab..7dc24821586 100644 --- a/Test/comp/Poly.dfy.expect +++ b/Test/comp/Poly.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 15 verified, 0 errors - -Dafny program verifier did not attempt verification Center of square: ((1.0 / 2.0), (1.0 / 2.0)) Center of circle: (1.0, 1.0) Center: ((1.0 / 2.0), (1.0 / 2.0)) @@ -14,59 +10,3 @@ Center: ((1.0 / 2.0), (1.0 / 2.0)) Center: (1.0, 1.0) Center: ((1.0 / 2.0), (1.0 / 2.0)) Center: (1.0, 1.0) - -Dafny program verifier did not attempt verification -Center of square: ((1.0 / 2.0), (1.0 / 2.0)) -Center of circle: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) - -Dafny program verifier did not attempt verification -Center of square: ((1.0 / 2.0), (1.0 / 2.0)) -Center of circle: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) - -Dafny program verifier did not attempt verification -Center of square: (0.5, 0.5) -Center of circle: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) - -Dafny program verifier did not attempt verification -Center of square: (0.5, 0.5) -Center of circle: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) diff --git a/Test/comp/Poly.dfy.go.expect b/Test/comp/Poly.dfy.go.expect new file mode 100644 index 00000000000..88e09c5e6ff --- /dev/null +++ b/Test/comp/Poly.dfy.go.expect @@ -0,0 +1,12 @@ +Center of square: (0.5, 0.5) +Center of circle: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) diff --git a/Test/comp/Poly.dfy.py.expect b/Test/comp/Poly.dfy.py.expect new file mode 100644 index 00000000000..88e09c5e6ff --- /dev/null +++ b/Test/comp/Poly.dfy.py.expect @@ -0,0 +1,12 @@ +Center of square: (0.5, 0.5) +Center of circle: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) diff --git a/Test/comp/Print.dfy b/Test/comp/Print.dfy index 166bae4c351..39f8a447396 100644 --- a/Test/comp/Print.dfy +++ b/Test/comp/Print.dfy @@ -1,9 +1,5 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false // Python salts hashes so they are not deterministic. diff --git a/Test/comp/Print.dfy.expect b/Test/comp/Print.dfy.expect index c2b186af0ec..88ded65afab 100644 --- a/Test/comp/Print.dfy.expect +++ b/Test/comp/Print.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification Strings in collections: [abc, def] [[abc, def]] @@ -10,33 +6,3 @@ Strings in collections: [] [] [aaaaa] - -Dafny program verifier did not attempt verification -Strings in collections: - [abc, def] - [[abc, def]] - {abc, def} - [abc, def] - [] - [] - [aaaaa] - -Dafny program verifier did not attempt verification -Strings in collections: - [abc, def] - [[abc, def]] - {abc, def} - [abc, def] - [] - [] - [aaaaa] - -Dafny program verifier did not attempt verification -Strings in collections: - [abc, def] - [[abc, def]] - {abc, def} - [abc, def] - [] - [] - [aaaaa] diff --git a/Test/comp/Print.dfy.go.expect b/Test/comp/Print.dfy.go.expect new file mode 100644 index 00000000000..7ac90f01b3c --- /dev/null +++ b/Test/comp/Print.dfy.go.expect @@ -0,0 +1,8 @@ +Strings in collections: + [abc, def] + [[abc, def]] + {abc, def} + [abc, def] + [] + [] + [aaaaa] diff --git a/Test/comp/Print.dfy.java.expect b/Test/comp/Print.dfy.java.expect new file mode 100644 index 00000000000..7ac90f01b3c --- /dev/null +++ b/Test/comp/Print.dfy.java.expect @@ -0,0 +1,8 @@ +Strings in collections: + [abc, def] + [[abc, def]] + {abc, def} + [abc, def] + [] + [] + [aaaaa] diff --git a/Test/comp/Print.dfy.js.expect b/Test/comp/Print.dfy.js.expect new file mode 100644 index 00000000000..7ac90f01b3c --- /dev/null +++ b/Test/comp/Print.dfy.js.expect @@ -0,0 +1,8 @@ +Strings in collections: + [abc, def] + [[abc, def]] + {abc, def} + [abc, def] + [] + [] + [aaaaa] diff --git a/Test/comp/StaticMembersOfGenericTypes.dfy b/Test/comp/StaticMembersOfGenericTypes.dfy index 8c402dab951..8a8614d21a5 100644 --- a/Test/comp/StaticMembersOfGenericTypes.dfy +++ b/Test/comp/StaticMembersOfGenericTypes.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { GenericClass(); diff --git a/Test/comp/StaticMembersOfGenericTypes.dfy.expect b/Test/comp/StaticMembersOfGenericTypes.dfy.expect index 54e32b42ee5..196f1295e12 100644 --- a/Test/comp/StaticMembersOfGenericTypes.dfy.expect +++ b/Test/comp/StaticMembersOfGenericTypes.dfy.expect @@ -1,79 +1,3 @@ - -Dafny program verifier finished with 9 verified, 0 errors - -Dafny program verifier did not attempt verification -(0, 1) (true, 2, 3) -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -(2.0, true) (3.0, false) -(2.0, true) (3.0, false) -true false -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -50 3 4 -149 - -Dafny program verifier did not attempt verification -(0, 1) (true, 2, 3) -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -(2.0, true) (3.0, false) -(2.0, true) (3.0, false) -true false -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -50 3 4 -149 - -Dafny program verifier did not attempt verification -(0, 1) (true, 2, 3) -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -(2.0, true) (3.0, false) -(2.0, true) (3.0, false) -true false -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -50 3 4 -149 - -Dafny program verifier did not attempt verification -(0, 1) (true, 2, 3) -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -(2.0, true) (3.0, false) -(2.0, true) (3.0, false) -true false -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -50 3 4 -149 - -Dafny program verifier did not attempt verification (0, 1) (true, 2, 3) 0 25 (20, 21) (20, 21) 23 22 0 25 (20, 21) (20, 21) 23 22 diff --git a/Test/comp/TailRecursion.dfy b/Test/comp/TailRecursion.dfy index 68ba6ee4669..b3631d5eccc 100644 --- a/Test/comp/TailRecursion.dfy +++ b/Test/comp/TailRecursion.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { // In the following, 2_000_000 is too large an argument without tail-calls diff --git a/Test/comp/TailRecursion.dfy.expect b/Test/comp/TailRecursion.dfy.expect index 23c852a41fe..4b9da7e5093 100644 --- a/Test/comp/TailRecursion.dfy.expect +++ b/Test/comp/TailRecursion.dfy.expect @@ -1,79 +1,3 @@ - -Dafny program verifier finished with 28 verified, 0 errors - -Dafny program verifier did not attempt verification -2000000 2000000 -2000000 2000000 -1000000 1000000 -10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 -TriangleNumber(10) = 55 -TriangleNumber_Real(10) = 55.0 -TriangleNumber_ORDINAL(10) = 55 -Factorial(5) = 120 -Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] -UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] -Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 -TheBigSubtract(100) = -12 -TailNat(10) = 50 -17 17 17 -2000000 - -Dafny program verifier did not attempt verification -2000000 2000000 -2000000 2000000 -1000000 1000000 -10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 -TriangleNumber(10) = 55 -TriangleNumber_Real(10) = 55.0 -TriangleNumber_ORDINAL(10) = 55 -Factorial(5) = 120 -Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] -UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] -Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 -TheBigSubtract(100) = -12 -TailNat(10) = 50 -17 17 17 -2000000 - -Dafny program verifier did not attempt verification -2000000 2000000 -2000000 2000000 -1000000 1000000 -10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 -TriangleNumber(10) = 55 -TriangleNumber_Real(10) = 55.0 -TriangleNumber_ORDINAL(10) = 55 -Factorial(5) = 120 -Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] -UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] -Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 -TheBigSubtract(100) = -12 -TailNat(10) = 50 -17 17 17 -2000000 - -Dafny program verifier did not attempt verification -2000000 2000000 -2000000 2000000 -1000000 1000000 -10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 -TriangleNumber(10) = 55 -TriangleNumber_Real(10) = 55.0 -TriangleNumber_ORDINAL(10) = 55 -Factorial(5) = 120 -Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] -UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] -Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 -TheBigSubtract(100) = -12 -TailNat(10) = 50 -17 17 17 -2000000 - -Dafny program verifier did not attempt verification 2000000 2000000 2000000 2000000 1000000 1000000 diff --git a/Test/comp/TypeDescriptors.dfy b/Test/comp/TypeDescriptors.dfy index 636cb3db583..5bedbb900e4 100644 --- a/Test/comp/TypeDescriptors.dfy +++ b/Test/comp/TypeDescriptors.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Method(s: string, g: G) { var zero: G; diff --git a/Test/comp/TypeDescriptors.dfy.expect b/Test/comp/TypeDescriptors.dfy.expect index 9b1e8487bdc..1b09338c83d 100644 --- a/Test/comp/TypeDescriptors.dfy.expect +++ b/Test/comp/TypeDescriptors.dfy.expect @@ -1,155 +1,3 @@ - -Dafny program verifier finished with 11 verified, 0 errors - -Dafny program verifier did not attempt verification -int: 8 0 -bool: true false -char: 'r' 'D' -real: 1.618 0.0 -ORDINAL: 0 -bv0: 0 0 -bv21: 121 0 -bv32: 132 0 -bv191: 191 0 -set: {7} {} -multiset: multiset{7, 7} multiset{} -seq: [7] [] -map: map[2 := 7] map[] -pos: 3 1 -Hundred: 6 0 -HundredOdd: 13 19 -JustOdd: 131 5 -(): () () -(int, real): (2, 3.2) (0, 0.0) -(int, pos): (2, 3) (0, 1) -AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) -Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) -Stream: Stream.More -A=int: 15 0 -B=int: 16 0 -datatype.B=: {14} {} -object?: null -Class?>: null -Trait?>: null -array?: null -array2?: null -int --> bool: null -array? ~> bool: null - -Dafny program verifier did not attempt verification -int: 8 0 -bool: true false -char: 'r' 'D' -real: 1.618 0.0 -ORDINAL: 0 -bv0: 0 0 -bv21: 121 0 -bv32: 132 0 -bv191: 191 0 -set: {7} {} -multiset: multiset{7, 7} multiset{} -seq: [7] [] -map: map[2 := 7] map[] -pos: 3 1 -Hundred: 6 0 -HundredOdd: 13 19 -JustOdd: 131 5 -(): () () -(int, real): (2, 3.2) (0, 0.0) -(int, pos): (2, 3) (0, 1) -AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) -Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) -Stream: Stream.More -A=int: 15 0 -B=int: 16 0 -datatype.B=: {14} {} -object?: null -Class?>: null -Trait?>: null -array?: null -array2?: null -int --> bool: null -array? ~> bool: null - -Dafny program verifier did not attempt verification -int: 8 0 -bool: true false -char: 'r' 'D' -real: 1.618 0.0 -ORDINAL: 0 -bv0: 0 0 -bv21: 121 0 -bv32: 132 0 -bv191: 191 0 -set: {7} {} -multiset: multiset{7, 7} multiset{} -seq: [7] [] -map: map[2 := 7] map[] -pos: 3 1 -Hundred: 6 0 -HundredOdd: 13 19 -JustOdd: 131 5 -(): () () -(int, real): (2, 3.2) (0, 0.0) -(int, pos): (2, 3) (0, 1) -AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) -Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) -Stream: Stream.More -A=int: 15 0 -B=int: 16 0 -datatype.B=: {14} {} -object?: null -Class?>: null -Trait?>: null -array?: null -array2?: null -int --> bool: null -array? ~> bool: null - -Dafny program verifier did not attempt verification -int: 8 0 -bool: true false -char: 'r' 'D' -real: 1.618 0.0 -ORDINAL: 0 -bv0: 0 0 -bv21: 121 0 -bv32: 132 0 -bv191: 191 0 -set: {7} {} -multiset: multiset{7, 7} multiset{} -seq: [7] [] -map: map[2 := 7] map[] -pos: 3 1 -Hundred: 6 0 -HundredOdd: 13 19 -JustOdd: 131 5 -(): () () -(int, real): (2, 3.2) (0, 0.0) -(int, pos): (2, 3) (0, 1) -AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) -Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) -Stream: Stream.More -A=int: 15 0 -B=int: 16 0 -datatype.B=: {14} {} -object?: null -Class?>: null -Trait?>: null -array?: null -array2?: null -int --> bool: null -array? ~> bool: null - -Dafny program verifier did not attempt verification int: 8 0 bool: true false char: 'r' 'D' diff --git a/Test/comp/TypeParams.dfy b/Test/comp/TypeParams.dfy index 11d1b3bac6a..c595881e028 100644 --- a/Test/comp/TypeParams.dfy +++ b/Test/comp/TypeParams.dfy @@ -1,11 +1,6 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" - -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation + datatype Color = Orange | Pink | Teal type Six = x | x <= 6 diff --git a/Test/comp/TypeParams.dfy.expect b/Test/comp/TypeParams.dfy.expect index ac8ef1c58e5..1381a030f65 100644 --- a/Test/comp/TypeParams.dfy.expect +++ b/Test/comp/TypeParams.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 17 verified, 0 errors - -Dafny program verifier did not attempt verification 0 0 0 false Color.Orange 0.0 {} Color.Orange null null null null null {} multiset{} [] map[] {} map[] @@ -21,87 +17,3 @@ System.Func`2[Dafny.BigRational,System.Boolean] System.Func`1[System.Numerics.BigInteger] System.Func`3[_module._IColor,Dafny.ISet`1[System.UInt16],System.UInt32] 0 0 - -Dafny program verifier did not attempt verification -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -function () { return false; } -function () { return _dafny.ZERO; } -function () { return _dafny.ZERO; } -0 0 - -Dafny program verifier did not attempt verification -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -func(dafny.Real) bool -func() dafny.Int -func(main.Color, dafny.Set) uint32 -0 0 - -Dafny program verifier did not attempt verification -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -Function -Function -Function -0 0 - -Dafny program verifier did not attempt verification -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -Function -Function -Function -0 0 diff --git a/Test/comp/TypeParams.dfy.go.expect b/Test/comp/TypeParams.dfy.go.expect new file mode 100644 index 00000000000..e3a8e67d066 --- /dev/null +++ b/Test/comp/TypeParams.dfy.go.expect @@ -0,0 +1,19 @@ +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +func(dafny.Real) bool +func() dafny.Int +func(main.Color, dafny.Set) uint32 +0 0 diff --git a/Test/comp/TypeParams.dfy.java.expect b/Test/comp/TypeParams.dfy.java.expect new file mode 100644 index 00000000000..5f843ba06d1 --- /dev/null +++ b/Test/comp/TypeParams.dfy.java.expect @@ -0,0 +1,19 @@ +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +Function +Function +Function +0 0 diff --git a/Test/comp/TypeParams.dfy.js.expect b/Test/comp/TypeParams.dfy.js.expect new file mode 100644 index 00000000000..865c33ea48b --- /dev/null +++ b/Test/comp/TypeParams.dfy.js.expect @@ -0,0 +1,19 @@ +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +function () { return false; } +function () { return _dafny.ZERO; } +function () { return _dafny.ZERO; } +0 0 diff --git a/Test/comp/TypeParams.dfy.py.expect b/Test/comp/TypeParams.dfy.py.expect new file mode 100644 index 00000000000..5f843ba06d1 --- /dev/null +++ b/Test/comp/TypeParams.dfy.py.expect @@ -0,0 +1,19 @@ +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +Function +Function +Function +0 0 diff --git a/Test/comp/UnoptimizedErasableTypeWrappers.dfy b/Test/comp/UnoptimizedErasableTypeWrappers.dfy index 58f0682ed41..b7911aed9db 100644 --- a/Test/comp/UnoptimizedErasableTypeWrappers.dfy +++ b/Test/comp/UnoptimizedErasableTypeWrappers.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --optimize-erasable-datatype-wrapper:false --relax-definite-assignment --spill-translation datatype SingletonRecord = SingletonRecord(u: int) datatype WithGhost = WithGhost(u: int, ghost v: int) diff --git a/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect b/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect index be1d7190b0f..3371376a52b 100644 --- a/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect +++ b/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect @@ -1,31 +1,3 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification -SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) -() (30) (31) (30, 32) -15 20 -30 31 30 32 - -Dafny program verifier did not attempt verification -SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) -() (30) (31) (30, 32) -15 20 -30 31 30 32 - -Dafny program verifier did not attempt verification -SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) -() (30) (31) (30, 32) -15 20 -30 31 30 32 - -Dafny program verifier did not attempt verification -SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) -() (30) (31) (30, 32) -15 20 -30 31 30 32 - -Dafny program verifier did not attempt verification SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) () (30) (31) (30, 32) 15 20 diff --git a/Test/comp/Variance.dfy b/Test/comp/Variance.dfy index 6c198495209..2ee3cfe3324 100644 --- a/Test/comp/Variance.dfy +++ b/Test/comp/Variance.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 /deprecation:0 "%s" > "%t" -// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /deprecation:0 datatype Co<+T> = Co(z: T) { const x: int; diff --git a/Test/comp/Variance.dfy.expect b/Test/comp/Variance.dfy.expect index cf08d82ac07..5bb565b6bb4 100644 --- a/Test/comp/Variance.dfy.expect +++ b/Test/comp/Variance.dfy.expect @@ -1,67 +1,3 @@ - -Dafny program verifier finished with 13 verified, 0 errors - -Dafny program verifier did not attempt verification -Co.Co(_module.Int) and Co.Co(_module.Int) -true0[]0000 -Non.Non(_module.Int) and Non.Non(_module.Int) -true0[]0000 -0 and 0 -_module.Int0[]0000 -CCo.CCo and CCo.CCo -true0[]0000 -CNon.CNon and CNon.CNon -true0[]0000 -CCon.CCon and CCon.CCon -_module.Int0[]0000 -Done - -Dafny program verifier did not attempt verification -Co.Co(_module.Int) and Co.Co(_module.Int) -true0[]0000 -Non.Non(_module.Int) and Non.Non(_module.Int) -true0[]0000 -0 and 0 -_module.Int0[]0000 -CCo.CCo and CCo.CCo -true0[]0000 -CNon.CNon and CNon.CNon -true0[]0000 -CCon.CCon and CCon.CCon -_module.Int0[]0000 -Done - -Dafny program verifier did not attempt verification -Co.Co(_module.Int) and Co.Co(_module.Int) -true0[]0000 -Non.Non(_module.Int) and Non.Non(_module.Int) -true0[]0000 -0 and 0 -_module.Int0[]0000 -CCo.CCo and CCo.CCo -true0[]0000 -CNon.CNon and CNon.CNon -true0[]0000 -CCon.CCon and CCon.CCon -_module.Int0[]0000 -Done - -Dafny program verifier did not attempt verification -Co.Co(_module.Int) and Co.Co(_module.Int) -true0[]0000 -Non.Non(_module.Int) and Non.Non(_module.Int) -true0[]0000 -0 and 0 -_module.Int0[]0000 -CCo.CCo and CCo.CCo -true0[]0000 -CNon.CNon and CNon.CNon -true0[]0000 -CCon.CCon and CCon.CCon -_module.Int0[]0000 -Done - -Dafny program verifier did not attempt verification Co.Co(_module.Int) and Co.Co(_module.Int) true0[]0000 Non.Non(_module.Int) and Non.Non(_module.Int) diff --git a/Test/comp/Various.dfy b/Test/comp/Various.dfy index 1f29c511a83..502801e4c2a 100644 --- a/Test/comp/Various.dfy +++ b/Test/comp/Various.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Match(tp: (nat, nat)) { match tp diff --git a/Test/comp/Various.dfy.expect b/Test/comp/Various.dfy.expect index 502e2d04792..66f013c00f7 100644 --- a/Test/comp/Various.dfy.expect +++ b/Test/comp/Various.dfy.expect @@ -1,43 +1,3 @@ - -Dafny program verifier finished with 4 verified, 0 errors - -Dafny program verifier did not attempt verification -match -1 -Kablammo!! -0 -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] - -Dafny program verifier did not attempt verification -match -1 -Kablammo!! -0 -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] - -Dafny program verifier did not attempt verification -match -1 -Kablammo!! -0 -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] - -Dafny program verifier did not attempt verification -match -1 -Kablammo!! -0 -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] - -Dafny program verifier did not attempt verification match 1 Kablammo!! diff --git a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy index 10fe57dec8f..2cf77360cab 100644 --- a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy +++ b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // An extremely small program intended to be the first target input for // brand new Dafny compilers. Avoids any use of strings (and therefore sequences) diff --git a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect index e1dcaef650b..f32a5804e29 100644 --- a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect +++ b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect @@ -1,5 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification true \ No newline at end of file diff --git a/Test/comp/firstSteps/1_Calls-F.dfy b/Test/comp/firstSteps/1_Calls-F.dfy index 32566f59f3b..4fe5b83e551 100644 --- a/Test/comp/firstSteps/1_Calls-F.dfy +++ b/Test/comp/firstSteps/1_Calls-F.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/1_Calls-F.dfy.expect b/Test/comp/firstSteps/1_Calls-F.dfy.expect index 58e0a68ec1c..7ed6ff82de6 100644 --- a/Test/comp/firstSteps/1_Calls-F.dfy.expect +++ b/Test/comp/firstSteps/1_Calls-F.dfy.expect @@ -1,5 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification 5 diff --git a/Test/comp/firstSteps/2_Modules.dfy b/Test/comp/firstSteps/2_Modules.dfy index 750b8d60c21..d0effcb5a71 100644 --- a/Test/comp/firstSteps/2_Modules.dfy +++ b/Test/comp/firstSteps/2_Modules.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module A { const i: nat := 1 diff --git a/Test/comp/firstSteps/2_Modules.dfy.expect b/Test/comp/firstSteps/2_Modules.dfy.expect index 9a4b57459c7..b85905ec0b9 100644 --- a/Test/comp/firstSteps/2_Modules.dfy.expect +++ b/Test/comp/firstSteps/2_Modules.dfy.expect @@ -1,5 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification 1 2 3 diff --git a/Test/comp/firstSteps/3_Calls-As.dfy b/Test/comp/firstSteps/3_Calls-As.dfy index f22bbdbd3f6..38889421865 100644 --- a/Test/comp/firstSteps/3_Calls-As.dfy +++ b/Test/comp/firstSteps/3_Calls-As.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/3_Calls-As.dfy.expect b/Test/comp/firstSteps/3_Calls-As.dfy.expect index eea6c52592c..a1c59bb761f 100644 --- a/Test/comp/firstSteps/3_Calls-As.dfy.expect +++ b/Test/comp/firstSteps/3_Calls-As.dfy.expect @@ -1,5 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification 0 0 false 0 false 0 diff --git a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy index 89fb669dca0..6a66781ff0d 100644 --- a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy +++ b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect index e7498a27e3e..a8d09f0a6f5 100644 --- a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect +++ b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect @@ -1,6 +1,2 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification 5 3 5 3 5 3 5 3 diff --git a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy index 096523f8956..1175b1eca8f 100644 --- a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy +++ b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect index 8954da2b386..ef3de96e567 100644 --- a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect +++ b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect @@ -1,6 +1,2 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification 5 3 5 3 diff --git a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy index 1fbaebdf4e9..5d970ac4de5 100644 --- a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy +++ b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect index b6ffe78bcbb..4ff62e33956 100644 --- a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect +++ b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 4 verified, 0 errors - -Dafny program verifier did not attempt verification 15 [0, 1, 2, 4] [0, 2, 4] diff --git a/Test/comp/firstSteps/7_Arrays.dfy b/Test/comp/firstSteps/7_Arrays.dfy index 07ddf89594b..d02c942c9bb 100644 --- a/Test/comp/firstSteps/7_Arrays.dfy +++ b/Test/comp/firstSteps/7_Arrays.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Arrays.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/7_Arrays.dfy.expect b/Test/comp/firstSteps/7_Arrays.dfy.expect index 75e824c80bb..fa00285c692 100644 --- a/Test/comp/firstSteps/7_Arrays.dfy.expect +++ b/Test/comp/firstSteps/7_Arrays.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 7 verified, 0 errors - -Dafny program verifier did not attempt verification 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/comp/firstSteps/7_Dt_Algebraic.dfy b/Test/comp/firstSteps/7_Dt_Algebraic.dfy index 991462d8bdf..46a2995b37f 100644 --- a/Test/comp/firstSteps/7_Dt_Algebraic.dfy +++ b/Test/comp/firstSteps/7_Dt_Algebraic.dfy @@ -1,7 +1,5 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Dt.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect new file mode 100644 index 00000000000..ba1b72ea6f7 --- /dev/null +++ b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect @@ -0,0 +1,11 @@ +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} +42 'q' hello +1701 diff --git a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect index ec9b49fe420..e3ff7faba6e 100644 --- a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect +++ b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 7 verified, 0 errors - -Dafny program verifier did not attempt verification List.Nil List.Cons(5, List.Nil) (List.Nil, List.Cons(5, List.Nil)) @@ -13,16 +9,3 @@ List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, Li {Berry.Hallon, Berry.Smultron, Berry.Jordgubb} 42 'q' hello 1701 - -Dafny program verifier did not attempt verification -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} -42 'q' hello -1701 diff --git a/Test/dafny0/ArrayElementInitCompile.dfy b/Test/dafny0/ArrayElementInitCompile.dfy index 7d652486b9e..3714cf0fe8e 100644 --- a/Test/dafny0/ArrayElementInitCompile.dfy +++ b/Test/dafny0/ArrayElementInitCompile.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 /print:"%t.print" /rprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false method Main() { diff --git a/Test/dafny0/ArrayElementInitCompile.dfy.expect b/Test/dafny0/ArrayElementInitCompile.dfy.expect index a5241c75f19..eaa3e759999 100644 --- a/Test/dafny0/ArrayElementInitCompile.dfy.expect +++ b/Test/dafny0/ArrayElementInitCompile.dfy.expect @@ -1,79 +1,3 @@ - -Dafny program verifier finished with 18 verified, 0 errors - -Dafny program verifier did not attempt verification -67 67 67 67 67 67 67 67 -0 1 2 3 -1 2 3 4 -2 3 4 5 -3 4 5 6 -4 5 6 7 -O . O . O . O . O . O . -12 12 12 12 12 12 12 12 12 12 12 12 -D E -y z -4 3 -7 -100 75 98 25 - -looks like this rocks --2 -1 0 1 2 3 4 - -Dafny program verifier did not attempt verification -67 67 67 67 67 67 67 67 -0 1 2 3 -1 2 3 4 -2 3 4 5 -3 4 5 6 -4 5 6 7 -O . O . O . O . O . O . -12 12 12 12 12 12 12 12 12 12 12 12 -D E -y z -4 3 -7 -100 75 98 25 - -looks like this rocks --2 -1 0 1 2 3 4 - -Dafny program verifier did not attempt verification -67 67 67 67 67 67 67 67 -0 1 2 3 -1 2 3 4 -2 3 4 5 -3 4 5 6 -4 5 6 7 -O . O . O . O . O . O . -12 12 12 12 12 12 12 12 12 12 12 12 -D E -y z -4 3 -7 -100 75 98 25 - -looks like this rocks --2 -1 0 1 2 3 4 - -Dafny program verifier did not attempt verification -67 67 67 67 67 67 67 67 -0 1 2 3 -1 2 3 4 -2 3 4 5 -3 4 5 6 -4 5 6 7 -O . O . O . O . O . O . -12 12 12 12 12 12 12 12 12 12 12 12 -D E -y z -4 3 -7 -100 75 98 25 - -looks like this rocks --2 -1 0 1 2 3 4 - -Dafny program verifier did not attempt verification 67 67 67 67 67 67 67 67 0 1 2 3 1 2 3 4 diff --git a/Test/dafny0/Bitvectors.dfy b/Test/dafny0/Bitvectors.dfy index 9dbb798fa4a..b19e84d1181 100644 --- a/Test/dafny0/Bitvectors.dfy +++ b/Test/dafny0/Bitvectors.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /print:"%t.print" /rprint:- /env:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method M(a: bv1, b: bv32) returns (c: bv32, d: bv1) { diff --git a/Test/dafny0/Bitvectors.dfy.expect b/Test/dafny0/Bitvectors.dfy.expect index 09b34e5011a..ed1c7328e83 100644 --- a/Test/dafny0/Bitvectors.dfy.expect +++ b/Test/dafny0/Bitvectors.dfy.expect @@ -1,493 +1,3 @@ -// Bitvectors.dfy - -/* -module _System { - /* CALL GRAPH for module _System: - * SCC at height 1: - * RotateLeft - * SCC at height 1: - * RotateRight - * SCC at height 0: - * array - * SCC at height 0: - * nat - * SCC at height 0: - * object - */ - type string(==,0) = seq - - type {:axiom} nat(==,0) = x: int - | 0 <= x - - trait {:compile false} object { } - /*-- non-null type - type {:axiom} object(==) = c: object? | c != null /*special witness*/ - */ - - class {:compile false} array { - var Length: int // immutable - } - /*-- non-null type - type {:axiom} array(==) = c: array? | c != null /*special witness*/ - */ - - type {:compile false} /*_#Func1*/ -T0 ~> +R { - ghost function requires(x0: T0): bool - reads reads(x0) - - ghost function reads(x0: T0): set - reads reads(x0) - } - - type {:compile false} /*_#PartialFunc1*/ -T0 --> +R = f: T0 ~> R - | forall x0: T0 :: f.reads(x0) == {} - /*special witness*/ - - type {:compile false} /*_#TotalFunc1*/ -T0 -> +R = f: T0 --> R - | forall x0: T0 :: f.requires(x0) - /*special witness*/ - - type {:compile false} /*_#Func0*/ () ~> +R { - ghost function requires(): bool - reads reads() - - ghost function reads(): set - reads reads() - } - - type {:compile false} /*_#PartialFunc0*/ () --> +R = f: () ~> R - | f.reads() == {} - /*special witness*/ - - type {:compile false} /*_#TotalFunc0*/ () -> +R = f: () --> R - | f.requires() - /*special witness*/ - - datatype {:compile false} /*_tuple#2*/ (+T0, +T1) = _#Make2(0: T0, 1: T1) - - type bool { } - - type int { } - - type real { - var Floor: int // immutable - } - - type ORDINAL { - var IsLimit: bool // immutable - var IsSucc: bool // immutable - var Offset: int // immutable - var IsNat: bool // immutable - } - - type _bv { - function RotateLeft(w: nat): selftype - - function RotateRight(w: nat): selftype - } - - type map<+T, +U> { - var Keys: set // immutable - var Values: set // immutable - var Items: set<(T, U)> // immutable - } - - type imap<*T, +U> { - var Keys: iset // immutable - var Values: iset // immutable - var Items: iset<(T, U)> // immutable - } - - datatype {:compile false} /*_tuple#0*/ () = _#Make0 -} -// bitvector types in use: bv1 bv32 bv47 bv16 bv0 bv67 bv64 bv53 bv33 bv31 bv15 bv8 bv6 bv2 bv7 bv12 bv3 -*/ - -/* CALL GRAPH for module _module: - * SCC at height 2: - * Main - * SCC at height 1: - * DoArith32 - * SCC at height 1: - * Rotates - * SCC at height 1: - * Shifts - * SCC at height 1: - * TestCompilationTruncations - * SCC at height 0: - * Arithmetic - * SCC at height 0: - * BitwiseOperations - * SCC at height 0: - * Bv0Stuff - * SCC at height 0: - * Handful - * SCC at height 0: - * M - * SCC at height 0: - * M0 - * SCC at height 0: - * M1 - * SCC at height 0: - * M15 - * SCC at height 0: - * M16 - * SCC at height 0: - * M31 - * SCC at height 0: - * M32 - * SCC at height 0: - * M33 - * SCC at height 0: - * M53 - * SCC at height 0: - * M6 - * SCC at height 0: - * M64 - * SCC at height 0: - * M67 - * SCC at height 0: - * M8 - * SCC at height 0: - * P2 - * SCC at height 0: - * PrintRotates - * SCC at height 0: - * PrintShifts - * SCC at height 0: - * SummoTests - * SCC at height 0: - * Unary - */ -newtype Handful = x: int - | 0 <= x < 80 - -method M(a: bv1, b: bv32) - returns (c: bv32, d: bv1) - decreases a, b -{ - c := b; - d := a; - var x: bv32 := 5000; - c := x; - var y: bv32 := 4000; - y := c; -} - -method Main() -{ - var x: bv32 := 4000; - var y: bv32 := 4000; - var z: bv32; - var w: bv32; - if x == y { - z := x; - } else { - w := y; - } - print x, " ", y, " ", z, " ", w, "\n"; - var t: bv47, u: bv47, v: bv47 := BitwiseOperations(); - print t, " ", u, " ", v, "\n"; - DoArith32(); - var unry: bv16 := Unary(5); - print "bv16: 5 - 2 == ", unry, "\n"; - unry := Unary(1); - print "bv16: 1 - 2 == ", unry, "\n"; - SummoTests(); - var zz0: bv0; - var zz1: bv0 := Bv0Stuff(zz0, 0); - print zz0, " ", zz1, "\n"; - print zz0 < zz1, " ", zz0 <= zz1, " ", zz0 >= zz1, " ", zz0 > zz1, "\n"; - TestCompilationTruncations(); - Shifts(); - Rotates(); -} - -method BitwiseOperations() returns (a: bv47, b: bv47, c: bv47) -{ - b, c := 2053, 1099; - a := b & c; - a := a | a | (b & b & c & (a ^ b ^ c) & a); -} - -method Arithmetic(x: bv32, y: bv32) - returns (r: bv32, s: bv32) - ensures r == x + y && s == y - x - decreases x, y -{ - r := x + y; - s := y - x; -} - -method DoArith32() -{ - var r: bv32, s: bv32 := Arithmetic(65, 120); - print r, " ", s, "\n"; - var x: bv32, y: bv32 := 2147483647, 2147483651; - r, s := Arithmetic(x, y); - assert r == 2 && s == 4; - print r, " ", s, "\n"; - assert x < y && x <= y && y >= x && y > x; - print "Comparisons: ", x < y, " ", x <= y, " ", x >= y, " ", x > y, "\n"; -} - -method Unary(x: bv16) returns (y: bv16) - ensures y == x - 2 - decreases x -{ - y := --!-!!--x; - y := !-y; - var F: bv16 := 65535; - calc == { - y; - == - !---!-!!--x; - == - F - ---!-!!--x; - == - { - assert ---!-!!--x == -!-!!--x; - } - F - -!-!!--x; - == - F + !-!!--x; - == - F + F - -!!--x; - == - F + F + !!--x; - == - { - assert !!--x == --x == x; - } - F + F + x; - == - x - 2; - } -} - -method SummoTests() -{ - var a: bv64 := 5; - a := 2 * 2 * 2 * 2 * 2 * a * 2 * 2 * 2 * 2 * 2; - var b: bv64 := a / 512; - assert b == 10; - assert b / 3 == 3 && b / 4 == 2; - assert b % 3 == 1 && b % 4 == 2; - print b / 3, " ", b % 4, "\n"; -} - -method Bv0Stuff(x: bv0, y: bv0) returns (z: bv0) - ensures z == 0 - decreases x, y -{ - z := x + y; - z := x * z - y; - z := (x ^ z) | (y & y); - z := !z + -z; -} - -method TestCompilationTruncations() -{ - M67(-1, 3); - M64(-1, 3); - M53(-1, 3); - M33(-1, 3); - M32(-1, 3); - M31(-1, 3); - M16(-1, 3); - M15(-1, 3); - M8(-1, 3); - M6(-1, 3); - M1(1, 1); - M0(0, 0); - P2(3, 2); -} - -method M67(a: bv67, b: bv67) - decreases a, b -{ - print "bv67: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; -} - -method M64(a: bv64, b: bv64) - decreases a, b -{ - print "bv64: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; -} - -method M53(a: bv53, b: bv53) - decreases a, b -{ - print "bv53: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; -} - -method M33(a: bv33, b: bv33) - decreases a, b -{ - print "bv33: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; -} - -method M32(a: bv32, b: bv32) - decreases a, b -{ - print "bv32: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; -} - -method M31(a: bv31, b: bv31) - decreases a, b -{ - print "bv31: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; -} - -method M16(a: bv16, b: bv16) - decreases a, b -{ - print "bv16: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; -} - -method M15(a: bv15, b: bv15) - decreases a, b -{ - print "bv15: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; -} - -method M8(a: bv8, b: bv8) - decreases a, b -{ - print "bv8: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; -} - -method M6(a: bv6, b: bv6) - decreases a, b -{ - print "bv6: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; -} - -method M1(a: bv1, b: bv1) - decreases a, b -{ - print "bv1: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; -} - -method M0(a: bv0, b: bv0) - decreases a, b -{ - print "bv0: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; -} - -method P2(a: bv2, b: bv2) - requires b != 0 - decreases a, b -{ - print "bv2:\n"; - print " ", a, " + ", b, " == ", a + b, "\n"; - print " ", a, " - ", b, " == ", a - b, "\n"; - print " ", a, " * ", b, " == ", a * b, "\n"; - print " ", a, " / ", b, " == ", a / b, "\n"; - print " ", a, " % ", b, " == ", a % b, "\n"; -} - -method Shifts() -{ - var x: int, h: Handful, b67: bv67, w: bv32, seven: bv7, bb: bv2, noll: bv0; - x, h := 3, 3; - b67, w, seven := 5, 5, 5; - PrintShifts("bv67", b67, 8 * b67, b67 << x as bv7, b67 << h as bv7); - PrintShifts("bv32", w, 8 * w, w << x as bv6, w << h as bv6); - PrintShifts("bv7", seven, 8 * seven, seven << x as bv3, seven << h as bv3); - bb, x, h := 1, 1, 1; - PrintShifts("bv2", bb, 2 * bb, bb << x as bv2, bb << h as bv2); - x, h := 0, 0; - PrintShifts("bv0", noll, 0 * noll, noll << x as bv0, noll << h as bv0); - b67, w, bb, noll := 73786976294838206465, 1, 1, 0; - var One67: bv67 := 1; - PrintShifts("bv67 again", b67 << One67 as bv7, b67 << w as bv7, b67 << bb as bv7, b67 << noll as bv7); - b67, w, bb, noll := 2, 3221225472 + 2000, 1, 0; - var Two32: bv32 := 2; - PrintShifts("bv32 again", w << b67 as bv6, w << Two32 as bv6, w << bb as bv6, w << noll as bv6); - seven, b67, w, bb, noll := 127, 2, 2, 2, 0; - PrintShifts("bv7 again", seven << b67 as bv3, seven << w as bv3, seven << bb as bv3, seven << noll as bv3); - b67, w, bb := 0, 0, 0; - PrintShifts("bv0 again", noll << b67 as bv0, noll << w as bv0, noll << bb as bv0, noll << noll as bv0); -} - -method PrintShifts(s: string, a: T, b: T, c: T, d: T) - decreases s -{ - print "PrintShifts: ", s, ": ", a, " ", b, " ", c, " ", d, "\n"; -} - -method Rotates() -{ - var x: int, w: bv12, seven: bv7, bb: bv2, noll: bv0; - x := 3; - w, seven, noll := 5, 5, 0; - PrintRotates("bv12", w, w.RotateLeft(x).RotateRight(x)); - PrintRotates("bv7", seven, seven.RotateLeft(x).RotateRight(x)); - bb, x := 1, 1; - PrintRotates("bv2", bb, bb.RotateLeft(x).RotateRight(x)); - x := 0; - PrintRotates("bv0", noll, noll.RotateLeft(x).RotateRight(x)); - x := 5; - w, seven := 3072 + 2000, 127; - PrintRotates("bv12 again", w, w.RotateLeft(x).RotateRight(x)); - PrintRotates("bv7 again", seven, seven.RotateLeft(x).RotateRight(x)); -} - -method PrintRotates(s: string, a: T, b: T) - decreases s -{ - print "PrintRotates: ", s, ": ", a, " ", b, "\n"; -} - -Dafny program verifier finished with 11 verified, 0 errors - -Dafny program verifier did not attempt verification -4000 4000 4000 0 -1 2053 1099 -185 55 -2 4 -Comparisons: true true false false -bv16: 5 - 2 == 3 -bv16: 1 - 2 == 65535 -3 2 -0 0 -false true true false -bv67: 147573952589676412927 + 3 == 2 - 3 == 147573952589676412925 !! 3 == ! 147573952589676412924 == 3 -bv64: 18446744073709551615 + 3 == 2 - 3 == 18446744073709551613 !! 3 == ! 18446744073709551612 == 3 -bv53: 9007199254740991 + 3 == 2 - 3 == 9007199254740989 !! 3 == ! 9007199254740988 == 3 -bv33: 8589934591 + 3 == 2 - 3 == 8589934589 !! 3 == ! 8589934588 == 3 -bv32: 4294967295 + 3 == 2 - 3 == 4294967293 !! 3 == ! 4294967292 == 3 -bv31: 2147483647 + 3 == 2 - 3 == 2147483645 !! 3 == ! 2147483644 == 3 -bv16: 65535 + 3 == 2 - 3 == 65533 !! 3 == ! 65532 == 3 -bv15: 32767 + 3 == 2 - 3 == 32765 !! 3 == ! 32764 == 3 -bv8: 255 + 3 == 2 - 3 == 253 !! 3 == ! 252 == 3 -bv6: 63 + 3 == 2 - 3 == 61 !! 3 == ! 60 == 3 -bv1: 1 + 1 == 0 - 1 == 1 !! 1 == ! 0 == 1 -bv0: 0 + 0 == 0 - 0 == 0 !! 0 == ! 0 == 0 -bv2: - 3 + 2 == 1 - 3 - 2 == 1 - 3 * 2 == 2 - 3 / 2 == 1 - 3 % 2 == 1 -PrintShifts: bv67: 5 40 40 40 -PrintShifts: bv32: 5 40 40 40 -PrintShifts: bv7: 5 40 40 40 -PrintShifts: bv2: 1 2 2 2 -PrintShifts: bv0: 0 0 0 0 -PrintShifts: bv67 again: 2 2 2 73786976294838206465 -PrintShifts: bv32 again: 8000 8000 2147487648 3221227472 -PrintShifts: bv7 again: 124 124 124 127 -PrintShifts: bv0 again: 0 0 0 0 -PrintRotates: bv12: 5 5 -PrintRotates: bv7: 5 5 -PrintRotates: bv2: 1 1 -PrintRotates: bv0: 0 0 -PrintRotates: bv12 again: 976 976 -PrintRotates: bv7 again: 127 127 - -Dafny program verifier did not attempt verification 4000 4000 4000 0 1 2053 1099 185 55 diff --git a/Test/dafny0/Bitvectors.dfy.verifier.expect b/Test/dafny0/Bitvectors.dfy.verifier.expect new file mode 100644 index 00000000000..74466ea0d28 --- /dev/null +++ b/Test/dafny0/Bitvectors.dfy.verifier.expect @@ -0,0 +1,441 @@ +// Bitvectors.dfy + +/* +module _System { + /* CALL GRAPH for module _System: + * SCC at height 1: + * RotateLeft + * SCC at height 1: + * RotateRight + * SCC at height 0: + * array + * SCC at height 0: + * nat + * SCC at height 0: + * object + */ + type string(==,0) = seq + + type {:axiom} nat(==,0) = x: int + | 0 <= x + + trait {:compile false} object { } + /*-- non-null type + type {:axiom} object(==) = c: object? | c != null /*special witness*/ + */ + + class {:compile false} array { + var Length: int // immutable + } + /*-- non-null type + type {:axiom} array(==) = c: array? | c != null /*special witness*/ + */ + + type {:compile false} /*_#Func1*/ -T0 ~> +R { + ghost function requires(x0: T0): bool + reads reads(x0) + + ghost function reads(x0: T0): set + reads reads(x0) + } + + type {:compile false} /*_#PartialFunc1*/ -T0 --> +R = f: T0 ~> R + | forall x0: T0 :: f.reads(x0) == {} + /*special witness*/ + + type {:compile false} /*_#TotalFunc1*/ -T0 -> +R = f: T0 --> R + | forall x0: T0 :: f.requires(x0) + /*special witness*/ + + type {:compile false} /*_#Func0*/ () ~> +R { + ghost function requires(): bool + reads reads() + + ghost function reads(): set + reads reads() + } + + type {:compile false} /*_#PartialFunc0*/ () --> +R = f: () ~> R + | f.reads() == {} + /*special witness*/ + + type {:compile false} /*_#TotalFunc0*/ () -> +R = f: () --> R + | f.requires() + /*special witness*/ + + datatype {:compile false} /*_tuple#2*/ (+T0, +T1) = _#Make2(0: T0, 1: T1) + + type bool { } + + type int { } + + type real { + var Floor: int // immutable + } + + type ORDINAL { + var IsLimit: bool // immutable + var IsSucc: bool // immutable + var Offset: int // immutable + var IsNat: bool // immutable + } + + type _bv { + function RotateLeft(w: nat): selftype + + function RotateRight(w: nat): selftype + } + + type map<+T, +U> { + var Keys: set // immutable + var Values: set // immutable + var Items: set<(T, U)> // immutable + } + + type imap<*T, +U> { + var Keys: iset // immutable + var Values: iset // immutable + var Items: iset<(T, U)> // immutable + } + + datatype {:compile false} /*_tuple#0*/ () = _#Make0 +} +// bitvector types in use: bv1 bv32 bv47 bv16 bv0 bv67 bv64 bv53 bv33 bv31 bv15 bv8 bv6 bv2 bv7 bv12 bv3 +*/ + +/* CALL GRAPH for module _module: + * SCC at height 2: + * Main + * SCC at height 1: + * DoArith32 + * SCC at height 1: + * Rotates + * SCC at height 1: + * Shifts + * SCC at height 1: + * TestCompilationTruncations + * SCC at height 0: + * Arithmetic + * SCC at height 0: + * BitwiseOperations + * SCC at height 0: + * Bv0Stuff + * SCC at height 0: + * Handful + * SCC at height 0: + * M + * SCC at height 0: + * M0 + * SCC at height 0: + * M1 + * SCC at height 0: + * M15 + * SCC at height 0: + * M16 + * SCC at height 0: + * M31 + * SCC at height 0: + * M32 + * SCC at height 0: + * M33 + * SCC at height 0: + * M53 + * SCC at height 0: + * M6 + * SCC at height 0: + * M64 + * SCC at height 0: + * M67 + * SCC at height 0: + * M8 + * SCC at height 0: + * P2 + * SCC at height 0: + * PrintRotates + * SCC at height 0: + * PrintShifts + * SCC at height 0: + * SummoTests + * SCC at height 0: + * Unary + */ +newtype Handful = x: int + | 0 <= x < 80 + +method M(a: bv1, b: bv32) + returns (c: bv32, d: bv1) + decreases a, b +{ + c := b; + d := a; + var x: bv32 := 5000; + c := x; + var y: bv32 := 4000; + y := c; +} + +method Main() +{ + var x: bv32 := 4000; + var y: bv32 := 4000; + var z: bv32; + var w: bv32; + if x == y { + z := x; + } else { + w := y; + } + print x, " ", y, " ", z, " ", w, "\n"; + var t: bv47, u: bv47, v: bv47 := BitwiseOperations(); + print t, " ", u, " ", v, "\n"; + DoArith32(); + var unry: bv16 := Unary(5); + print "bv16: 5 - 2 == ", unry, "\n"; + unry := Unary(1); + print "bv16: 1 - 2 == ", unry, "\n"; + SummoTests(); + var zz0: bv0; + var zz1: bv0 := Bv0Stuff(zz0, 0); + print zz0, " ", zz1, "\n"; + print zz0 < zz1, " ", zz0 <= zz1, " ", zz0 >= zz1, " ", zz0 > zz1, "\n"; + TestCompilationTruncations(); + Shifts(); + Rotates(); +} + +method BitwiseOperations() returns (a: bv47, b: bv47, c: bv47) +{ + b, c := 2053, 1099; + a := b & c; + a := a | a | (b & b & c & (a ^ b ^ c) & a); +} + +method Arithmetic(x: bv32, y: bv32) + returns (r: bv32, s: bv32) + ensures r == x + y && s == y - x + decreases x, y +{ + r := x + y; + s := y - x; +} + +method DoArith32() +{ + var r: bv32, s: bv32 := Arithmetic(62, 120); + print r, " ", s, "\n"; + var x: bv32, y: bv32 := 2147483647, 2147483651; + r, s := Arithmetic(x, y); + assert r == 2 && s == 4; + print r, " ", s, "\n"; + assert x < y && x <= y && y >= x && y > x; + print "Comparisons: ", x < y, " ", x <= y, " ", x >= y, " ", x > y, "\n"; +} + +method Unary(x: bv16) returns (y: bv16) + ensures y == x - 2 + decreases x +{ + y := --!-!!--x; + y := !-y; + var F: bv16 := 65535; + calc == { + y; + == + !---!-!!--x; + == + F - ---!-!!--x; + == + { + assert ---!-!!--x == -!-!!--x; + } + F - -!-!!--x; + == + F + !-!!--x; + == + F + F - -!!--x; + == + F + F + !!--x; + == + { + assert !!--x == --x == x; + } + F + F + x; + == + x - 2; + } +} + +method SummoTests() +{ + var a: bv64 := 5; + a := 2 * 2 * 2 * 2 * 2 * a * 2 * 2 * 2 * 2 * 2; + var b: bv64 := a / 512; + assert b == 10; + assert b / 3 == 3 && b / 4 == 2; + assert b % 3 == 1 && b % 4 == 2; + print b / 3, " ", b % 4, "\n"; +} + +method Bv0Stuff(x: bv0, y: bv0) returns (z: bv0) + ensures z == 0 + decreases x, y +{ + z := x + y; + z := x * z - y; + z := (x ^ z) | (y & y); + z := !z + -z; +} + +method TestCompilationTruncations() +{ + M67(-1, 3); + M64(-1, 3); + M53(-1, 3); + M33(-1, 3); + M32(-1, 3); + M31(-1, 3); + M16(-1, 3); + M15(-1, 3); + M8(-1, 3); + M6(-1, 3); + M1(-2, 1); + M0(-3, 0); + P2(0, 2); +} + +method M67(a: bv67, b: bv67) + decreases a, b +{ + print "bv67: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; +} + +method M64(a: bv64, b: bv64) + decreases a, b +{ + print "bv64: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; +} + +method M53(a: bv53, b: bv53) + decreases a, b +{ + print "bv53: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; +} + +method M33(a: bv33, b: bv33) + decreases a, b +{ + print "bv33: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; +} + +method M32(a: bv32, b: bv32) + decreases a, b +{ + print "bv32: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; +} + +method M31(a: bv31, b: bv31) + decreases a, b +{ + print "bv31: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; +} + +method M16(a: bv16, b: bv16) + decreases a, b +{ + print "bv16: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; +} + +method M15(a: bv15, b: bv15) + decreases a, b +{ + print "bv15: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; +} + +method M8(a: bv8, b: bv8) + decreases a, b +{ + print "bv8: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; +} + +method M6(a: bv6, b: bv6) + decreases a, b +{ + print "bv6: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; +} + +method M1(a: bv1, b: bv1) + decreases a, b +{ + print "bv1: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; +} + +method M0(a: bv0, b: bv0) + decreases a, b +{ + print "bv0: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; +} + +method P2(a: bv2, b: bv2) + requires b != 0 + decreases a, b +{ + print "bv2:\n"; + print " ", a, " + ", b, " == ", a + b, "\n"; + print " ", a, " - ", b, " == ", a - b, "\n"; + print " ", a, " * ", b, " == ", a * b, "\n"; + print " ", a, " / ", b, " == ", a / b, "\n"; + print " ", a, " % ", b, " == ", a % b, "\n"; +} + +method Shifts() +{ + var x: int, h: Handful, b67: bv67, w: bv32, seven: bv7, bb: bv2, noll: bv0; + x, h := 3, 3; + b67, w, seven := 5, 5, 5; + PrintShifts("bv67", b67, 8 * b67, b67 << x as bv7, b67 << h as bv7); + PrintShifts("bv32", w, 8 * w, w << x as bv6, w << h as bv6); + PrintShifts("bv7", seven, 8 * seven, seven << x as bv3, seven << h as bv3); + bb, x, h := 1, 1, 1; + PrintShifts("bv2", bb, 2 * bb, bb << x as bv2, bb << h as bv2); + x, h := 0, 0; + PrintShifts("bv0", noll, 0 * noll, noll << x as bv0, noll << h as bv0); + b67, w, bb, noll := 73786976294838206465, 1, 1, 0; + var One67: bv67 := 1; + PrintShifts("bv67 again", b67 << One67 as bv7, b67 << w as bv7, b67 << bb as bv7, b67 << noll as bv7); + b67, w, bb, noll := 2, 3221225472 + 2000, 1, 0; + var Two32: bv32 := 2; + PrintShifts("bv32 again", w << b67 as bv6, w << Two32 as bv6, w << bb as bv6, w << noll as bv6); + seven, b67, w, bb, noll := 127, 2, 2, 2, 0; + PrintShifts("bv7 again", seven << b67 as bv3, seven << w as bv3, seven << bb as bv3, seven << noll as bv3); + b67, w, bb := 0, 0, 0; + PrintShifts("bv0 again", noll << b67 as bv0, noll << w as bv0, noll << bb as bv0, noll << noll as bv0); +} + +method PrintShifts(s: string, a: T, b: T, c: T, d: T) + decreases s +{ + print "PrintShifts: ", s, ": ", a, " ", b, " ", c, " ", d, "\n"; +} + +method Rotates() +{ + var x: int, w: bv12, seven: bv7, bb: bv2, noll: bv0; + x := 3; + w, seven, noll := 5, 5, 0; + PrintRotates("bv12", w, w.RotateLeft(x).RotateRight(x)); + PrintRotates("bv7", seven, seven.RotateLeft(x).RotateRight(x)); + bb, x := 1, 1; + PrintRotates("bv2", bb, bb.RotateLeft(x).RotateRight(x)); + x := 0; + PrintRotates("bv0", noll, noll.RotateLeft(x).RotateRight(x)); + x := 5; + w, seven := 3072 + 2000, 127; + PrintRotates("bv12 again", w, w.RotateLeft(x).RotateRight(x)); + PrintRotates("bv7 again", seven, seven.RotateLeft(x).RotateRight(x)); +} + +method PrintRotates(s: string, a: T, b: T) + decreases s +{ + print "PrintRotates: ", s, ": ", a, " ", b, "\n"; +} diff --git a/Test/dafny0/Constant.dfy b/Test/dafny0/Constant.dfy index f021e7d4482..1fdeedc3335 100644 --- a/Test/dafny0/Constant.dfy +++ b/Test/dafny0/Constant.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment const one:int := 1 const two:int := one * 2 diff --git a/Test/dafny0/Constant.dfy.expect b/Test/dafny0/Constant.dfy.expect index 6099b08c38c..1a7b981715f 100644 --- a/Test/dafny0/Constant.dfy.expect +++ b/Test/dafny0/Constant.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 17 verified, 0 errors one := 1 two := 2 three := 3 diff --git a/Test/dafny0/Deprecation.dfy b/Test/dafny0/Deprecation.dfy index 8c9c688d463..86521043d43 100644 --- a/Test/dafny0/Deprecation.dfy +++ b/Test/dafny0/Deprecation.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This file contains tests for messags about various deprecated features. // As those features go away completely, so can the corresponding tests. diff --git a/Test/dafny0/Deprecation.dfy.expect b/Test/dafny0/Deprecation.dfy.expect index 4ff88d31ade..0dffd975ac7 100644 --- a/Test/dafny0/Deprecation.dfy.expect +++ b/Test/dafny0/Deprecation.dfy.expect @@ -1,8 +1 @@ -Deprecation.dfy(16,13): Warning: constructors no longer need 'this' to be listed in modifies clauses -Deprecation.dfy(23,0): Warning: the old keyword phrase 'inductive predicate' has been renamed to 'least predicate' -Deprecation.dfy(26,0): Warning: the old keyword 'copredicate' has been renamed to the keyword phrase 'greatest predicate' -Deprecation.dfy(29,0): Warning: the old keyword phrase 'inductive lemma' has been renamed to 'least lemma' -Deprecation.dfy(32,0): Warning: the old keyword 'colemma' has been renamed to the keyword phrase 'greatest lemma' - -Dafny program verifier finished with 0 verified, 0 errors yet here we are diff --git a/Test/dafny0/Deprecation.dfy.verifier.expect b/Test/dafny0/Deprecation.dfy.verifier.expect new file mode 100644 index 00000000000..c0851e9888c --- /dev/null +++ b/Test/dafny0/Deprecation.dfy.verifier.expect @@ -0,0 +1,5 @@ +Deprecation.dfy(15,13): Warning: constructors no longer need 'this' to be listed in modifies clauses +Deprecation.dfy(22,0): Warning: the old keyword phrase 'inductive predicate' has been renamed to 'least predicate' +Deprecation.dfy(25,0): Warning: the old keyword 'copredicate' has been renamed to the keyword phrase 'greatest predicate' +Deprecation.dfy(28,0): Warning: the old keyword phrase 'inductive lemma' has been renamed to 'least lemma' +Deprecation.dfy(31,0): Warning: the old keyword 'colemma' has been renamed to the keyword phrase 'greatest lemma' diff --git a/Test/dafny0/DiscoverBounds.dfy b/Test/dafny0/DiscoverBounds.dfy index 31f9717ee79..18e56158613 100644 --- a/Test/dafny0/DiscoverBounds.dfy +++ b/Test/dafny0/DiscoverBounds.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /print:"%t.print" /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment newtype NT = x | 0 <= x < 100 newtype UT = NT diff --git a/Test/dafny0/DiscoverBounds.dfy.expect b/Test/dafny0/DiscoverBounds.dfy.expect index e43954c7be1..909a58326d0 100644 --- a/Test/dafny0/DiscoverBounds.dfy.expect +++ b/Test/dafny0/DiscoverBounds.dfy.expect @@ -1,10 +1,3 @@ -DiscoverBounds.dfy(32,7): Warning: /!\ No terms found to trigger on. -DiscoverBounds.dfy(33,7): Warning: /!\ No terms found to trigger on. -DiscoverBounds.dfy(34,7): Warning: /!\ No terms found to trigger on. -DiscoverBounds.dfy(35,7): Warning: /!\ No terms found to trigger on. -DiscoverBounds.dfy(36,7): Warning: /!\ No terms found to trigger on. - -Dafny program verifier finished with 7 verified, 0 errors 0 0 -2 diff --git a/Test/dafny0/DiscoverBounds.dfy.verifier.expect b/Test/dafny0/DiscoverBounds.dfy.verifier.expect new file mode 100644 index 00000000000..7c4de01ee0e --- /dev/null +++ b/Test/dafny0/DiscoverBounds.dfy.verifier.expect @@ -0,0 +1,5 @@ +DiscoverBounds.dfy(31,7): Warning: /!\ No terms found to trigger on. +DiscoverBounds.dfy(32,7): Warning: /!\ No terms found to trigger on. +DiscoverBounds.dfy(33,7): Warning: /!\ No terms found to trigger on. +DiscoverBounds.dfy(34,7): Warning: /!\ No terms found to trigger on. +DiscoverBounds.dfy(35,7): Warning: /!\ No terms found to trigger on. diff --git a/Test/dafny0/DividedConstructors.dfy b/Test/dafny0/DividedConstructors.dfy index 8d5bf605ba0..e6f63a35f11 100644 --- a/Test/dafny0/DividedConstructors.dfy +++ b/Test/dafny0/DividedConstructors.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /env:0 /dprint:- "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var m := new M0.MyClass.Init(20); diff --git a/Test/dafny0/DividedConstructors.dfy.expect b/Test/dafny0/DividedConstructors.dfy.expect index f7412d8d0a1..2dcc1ba6402 100644 --- a/Test/dafny0/DividedConstructors.dfy.expect +++ b/Test/dafny0/DividedConstructors.dfy.expect @@ -1,188 +1,2 @@ -DividedConstructors.dfy(62,9): Warning: the ... refinement feature in statements is deprecated -// DividedConstructors.dfy - - -module M0 { - class MyClass { - var a: nat - const b := 17 - var c: real - - constructor Init(x: nat) - { - this.a := x; - c := 3.14; - new; - a := a + b; - assert c == 3.14; - assert this.a == 17 + x; - } - - constructor (z: real) - ensures c <= 2.0 * z - { - a, c := 50, 2.0 * z; - new; - } - - constructor Make() - ensures 10 <= a - { - new; - a := a + b; - } - - constructor Create() - ensures 30 <= a - { - new; - a := a + 2 * b; - } - } -} - -module M1 refines M0 { - class MyClass ... { - const d := 'D' - var e: char - - constructor Init ... - { - e := 'e'; - new; - e := 'x'; - ...; - assert e == 'x'; - } - - constructor ... - { - e := 'y'; - new; - } - - constructor Make ... - { - new; - e := 'z'; - } - - constructor Create ... - { - e := 'w'; - } - } -} - -module TypeOfThis { - class LinkedList { - ghost var Repr: set> - ghost var Rapr: set> - ghost var S: set - ghost var T: set - - constructor Init() - { - Repr := {this}; - } - - constructor Init'() - { - Rapr := {this}; - } - - constructor Create() - { - S := {this}; - } - - constructor Create'() - { - T := {this}; - } - - constructor Two() - { - new; - var ll: LinkedList? := this; - var o: object? := this; - if - case true => - T := {o}; - case true => - S := {o}; - case true => - Repr := {ll}; - case true => - Rapr := {ll}; - case true => - S := {ll}; - case true => - T := {ll}; - } - - method Mutate() - modifies this - { - Repr := {this}; - Rapr := {this}; - S := {this}; - T := {this}; - } - } -} - -module Regression { - class A { - var b: bool - var y: int - - constructor Make0() - ensures b == false - { - b := false; - } - - constructor Make1() - ensures b == true - { - b := true; - } - - constructor Make2() - { - b := false; - new; - assert !b; - } - - constructor Make3() - ensures b == false && y == 65 - { - b := false; - y := 65; - new; - assert !b; - assert y == 65; - } - - constructor Make4(bb: bool, yy: int) - ensures b == bb && y == yy - { - b, y := bb, yy; - } - } -} -method Main() -{ - var m := new M0.MyClass.Init(20); - print m.a, ", ", m.b, ", ", m.c, "\n"; - var r0 := new Regression.A.Make0(); - var r1 := new Regression.A.Make1(); - assert r0.b != r1.b; - print r0.b, ", ", r1.b, "\n"; -} - -Dafny program verifier finished with 17 verified, 0 errors 37, 17, 3.14 false, true diff --git a/Test/dafny0/DividedConstructors.dfy.verifier.expect b/Test/dafny0/DividedConstructors.dfy.verifier.expect new file mode 100644 index 00000000000..c103bdea5f2 --- /dev/null +++ b/Test/dafny0/DividedConstructors.dfy.verifier.expect @@ -0,0 +1,184 @@ +DividedConstructors.dfy(61,9): Warning: the ... refinement feature in statements is deprecated +// DividedConstructors.dfy + + +module M0 { + class MyClass { + var a: nat + const b := 17 + var c: real + + constructor Init(x: nat) + { + this.a := x; + c := 3.14; + new; + a := a + b; + assert c == 3.14; + assert this.a == 17 + x; + } + + constructor (z: real) + ensures c <= 2.0 * z + { + a, c := 50, 2.0 * z; + new; + } + + constructor Make() + ensures 10 <= a + { + new; + a := a + b; + } + + constructor Create() + ensures 30 <= a + { + new; + a := a + 2 * b; + } + } +} + +module M1 refines M0 { + class MyClass ... { + const d := 'D' + var e: char + + constructor Init ... + { + e := 'e'; + new; + e := 'x'; + ...; + assert e == 'x'; + } + + constructor ... + { + e := 'y'; + new; + } + + constructor Make ... + { + new; + e := 'z'; + } + + constructor Create ... + { + e := 'w'; + } + } +} + +module TypeOfThis { + class LinkedList { + ghost var Repr: set> + ghost var Rapr: set> + ghost var S: set + ghost var T: set + + constructor Init() + { + Repr := {this}; + } + + constructor Init'() + { + Rapr := {this}; + } + + constructor Create() + { + S := {this}; + } + + constructor Create'() + { + T := {this}; + } + + constructor Two() + { + new; + var ll: LinkedList? := this; + var o: object? := this; + if + case true => + T := {o}; + case true => + S := {o}; + case true => + Repr := {ll}; + case true => + Rapr := {ll}; + case true => + S := {ll}; + case true => + T := {ll}; + } + + method Mutate() + modifies this + { + Repr := {this}; + Rapr := {this}; + S := {this}; + T := {this}; + } + } +} + +module Regression { + class A { + var b: bool + var y: int + + constructor Make0() + ensures b == false + { + b := false; + } + + constructor Make1() + ensures b == true + { + b := true; + } + + constructor Make2() + { + b := false; + new; + assert !b; + } + + constructor Make3() + ensures b == false && y == 65 + { + b := false; + y := 65; + new; + assert !b; + assert y == 65; + } + + constructor Make4(bb: bool, yy: int) + ensures b == bb && y == yy + { + b, y := bb, yy; + } + } +} +method Main() +{ + var m := new M0.MyClass.Init(20); + print m.a, ", ", m.b, ", ", m.c, "\n"; + var r0 := new Regression.A.Make0(); + var r1 := new Regression.A.Make1(); + assert r0.b != r1.b; + print r0.b, ", ", r1.b, "\n"; +} diff --git a/Test/dafny0/EqualityTypesCompile.dfy b/Test/dafny0/EqualityTypesCompile.dfy index de7954710e9..a36d1818c1d 100644 --- a/Test/dafny0/EqualityTypesCompile.dfy +++ b/Test/dafny0/EqualityTypesCompile.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype List = Nil | Cons(A, List) | ICons(int, List) datatype TwoLists = Two(List, List) diff --git a/Test/dafny0/EqualityTypesCompile.dfy.expect b/Test/dafny0/EqualityTypesCompile.dfy.expect index d2f1950e7f7..0246dc39633 100644 --- a/Test/dafny0/EqualityTypesCompile.dfy.expect +++ b/Test/dafny0/EqualityTypesCompile.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors from M: false from N: false from H: false diff --git a/Test/dafny0/ForallCompilation.dfy b/Test/dafny0/ForallCompilation.dfy index 40c381521e8..731ce83015f 100644 --- a/Test/dafny0/ForallCompilation.dfy +++ b/Test/dafny0/ForallCompilation.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" /autoTriggers:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /autoTriggers:0 method Main() { var c := new MyClass; diff --git a/Test/dafny0/ForallCompilation.dfy.expect b/Test/dafny0/ForallCompilation.dfy.expect index 66ffe3665d5..e69de29bb2d 100644 --- a/Test/dafny0/ForallCompilation.dfy.expect +++ b/Test/dafny0/ForallCompilation.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 14 verified, 0 errors diff --git a/Test/dafny0/ForallCompilationNewSyntax.dfy b/Test/dafny0/ForallCompilationNewSyntax.dfy index b7132df78ae..ac354d6338c 100644 --- a/Test/dafny0/ForallCompilationNewSyntax.dfy +++ b/Test/dafny0/ForallCompilationNewSyntax.dfy @@ -1,5 +1,4 @@ -// RUN: %baredafny run %args --relax-definite-assignment --quantifier-syntax:4 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --quantifier-syntax:4 --relax-definite-assignment method Main() { var c := new MyClass; diff --git a/Test/dafny0/ForallCompilationNewSyntax.dfy.expect b/Test/dafny0/ForallCompilationNewSyntax.dfy.expect index 5b7ec4613bb..e69de29bb2d 100644 --- a/Test/dafny0/ForallCompilationNewSyntax.dfy.expect +++ b/Test/dafny0/ForallCompilationNewSyntax.dfy.expect @@ -1,6 +0,0 @@ -ForallCompilationNewSyntax.dfy(26,4): Warning: /!\ No terms found to trigger on. -ForallCompilationNewSyntax.dfy(35,4): Warning: /!\ No terms found to trigger on. -ForallCompilationNewSyntax.dfy(44,4): Warning: /!\ No terms found to trigger on. -ForallCompilationNewSyntax.dfy(64,4): Warning: /!\ No trigger covering all quantified variables found. - -Dafny program verifier finished with 14 verified, 0 errors diff --git a/Test/dafny0/ForallCompilationNewSyntax.dfy.verifier.expect b/Test/dafny0/ForallCompilationNewSyntax.dfy.verifier.expect new file mode 100644 index 00000000000..a94cd5ea608 --- /dev/null +++ b/Test/dafny0/ForallCompilationNewSyntax.dfy.verifier.expect @@ -0,0 +1,4 @@ +ForallCompilationNewSyntax.dfy(25,4): Warning: /!\ No terms found to trigger on. +ForallCompilationNewSyntax.dfy(34,4): Warning: /!\ No terms found to trigger on. +ForallCompilationNewSyntax.dfy(43,4): Warning: /!\ No terms found to trigger on. +ForallCompilationNewSyntax.dfy(63,4): Warning: /!\ No trigger covering all quantified variables found. diff --git a/Test/dafny0/GhostGuards.dfy b/Test/dafny0/GhostGuards.dfy index b17c98662ce..49877792a47 100644 --- a/Test/dafny0/GhostGuards.dfy +++ b/Test/dafny0/GhostGuards.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /printTooltips /rprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Dt = Green | Dog diff --git a/Test/dafny0/GhostGuards.dfy.expect b/Test/dafny0/GhostGuards.dfy.expect index 8bb8a71d69d..e69de29bb2d 100644 --- a/Test/dafny0/GhostGuards.dfy.expect +++ b/Test/dafny0/GhostGuards.dfy.expect @@ -1,7 +0,0 @@ -GhostGuards.dfy(12,9): Info: ghost if -GhostGuards.dfy(18,2): Info: ghost if -GhostGuards.dfy(28,2): Info: ghost while -GhostGuards.dfy(41,2): Info: ghost while -GhostGuards.dfy(54,2): Info: ghost match - -Dafny program verifier finished with 1 verified, 0 errors diff --git a/Test/dafny0/GhostGuards.dfy.verifier.expect b/Test/dafny0/GhostGuards.dfy.verifier.expect new file mode 100644 index 00000000000..7e2637d73bb --- /dev/null +++ b/Test/dafny0/GhostGuards.dfy.verifier.expect @@ -0,0 +1,5 @@ +GhostGuards.dfy(11,9): Info: ghost if +GhostGuards.dfy(17,2): Info: ghost if +GhostGuards.dfy(27,2): Info: ghost while +GhostGuards.dfy(40,2): Info: ghost while +GhostGuards.dfy(53,2): Info: ghost match diff --git a/Test/dafny0/GhostITECompilation.dfy b/Test/dafny0/GhostITECompilation.dfy index d761ddbc6ea..bd7cfa28a95 100644 --- a/Test/dafny0/GhostITECompilation.dfy +++ b/Test/dafny0/GhostITECompilation.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 /functionSyntax:4 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --function-syntax:4 --relax-definite-assignment function F(x: nat, ghost y: nat): nat { diff --git a/Test/dafny0/GhostITECompilation.dfy.expect b/Test/dafny0/GhostITECompilation.dfy.expect index 1ec406bf52c..b4988e5cf11 100644 --- a/Test/dafny0/GhostITECompilation.dfy.expect +++ b/Test/dafny0/GhostITECompilation.dfy.expect @@ -1,31 +1,3 @@ - -Dafny program verifier finished with 6 verified, 0 errors - -Dafny program verifier did not attempt verification -65 -65 -65 -65 - -Dafny program verifier did not attempt verification -65 -65 -65 -65 - -Dafny program verifier did not attempt verification -65 -65 -65 -65 - -Dafny program verifier did not attempt verification -65 -65 -65 -65 - -Dafny program verifier did not attempt verification 65 65 65 diff --git a/Test/dafny0/InitialValues.dfy b/Test/dafny0/InitialValues.dfy index 7dcb05cc9c9..0848d244d71 100644 --- a/Test/dafny0/InitialValues.dfy +++ b/Test/dafny0/InitialValues.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/dafny0/InitialValues.dfy.expect b/Test/dafny0/InitialValues.dfy.expect index ada1b783c16..18903dcc3dd 100644 --- a/Test/dafny0/InitialValues.dfy.expect +++ b/Test/dafny0/InitialValues.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 2 verified, 0 errors r= 0.0 s= 3.4 a= 0.0 b= 3.4 z= 0.0 a==z = true diff --git a/Test/dafny0/MatchBraces.dfy b/Test/dafny0/MatchBraces.dfy index b3b87fd5e4a..4ac380f2739 100644 --- a/Test/dafny0/MatchBraces.dfy +++ b/Test/dafny0/MatchBraces.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /print:"%t.print" /env:0 /dprint:- "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Color = Red | Green | Blue diff --git a/Test/dafny0/MatchBraces.dfy.expect b/Test/dafny0/MatchBraces.dfy.expect index b6129bafcc0..4f89bff47e5 100644 --- a/Test/dafny0/MatchBraces.dfy.expect +++ b/Test/dafny0/MatchBraces.dfy.expect @@ -1,135 +1,2 @@ -// MatchBraces.dfy - -datatype Color = Red | Green | Blue - -method Main() -{ - M(Green, Red); - M(Blue, Blue); -} - -method M(c: Color, d: Color) -{ - var x := match c case Red => 5 case Green => 7 case Blue => 11; - var y := match c case Red => 0.3 case Green => (match d case Red => 0.18 case Green => 0.21 case Blue => 0.98) case Blue => 98.0; - var z := match c case Red => Green case Green => match d { case Red => Red case Green => Blue case Blue => Red } case Blue => Green; - var w := match c { case Red => 2 case Green => 3 case Blue => 4 } + 10; - var t := match c case Red => 0 case Green => match d { case Red => 2 case Green => 2 case Blue => 1 } + (match d case Red => 10 case Green => 8 case Blue => 5) case Blue => match d { case Red => 20 case Green => 20 case Blue => 10 } + match d case Red => 110 case Green => 108 case Blue => 105; - print x, " ", y, " ", z, " ", w, " ", t, "\n"; -} - -ghost function Heat(c: Color): int -{ - match c - case Red => - 10 - case Green => - 12 - case Blue => - 14 -} - -ghost function IceCream(c: Color): int -{ - match c { - case Red => - 0 - case Green => - 4 - case Blue => - 1 - } -} - -ghost function Flowers(c: Color, d: Color): int -{ - match c { - case Red => - match d { - case Red => - 0 - case Green => - 1 - case Blue => - 2 - } - case Green => - match d { case Red => 3 case Green => 3 case Blue => 2 } + 20 - case Blue => - match d { case Red => 9 case Green => 8 case Blue => 7 } + match d case Red => 23 case Green => 29 case Blue => 31 - } -} - -method P(c: Color, d: Color) -{ - var x: int; - match c { - case {:split false} Red => - x := 20; - case {:split false} Green => - case {:split false} Blue => - } - match c - case {:split false} Red => - match d { - case {:split false} Red => - case {:split false} Green => - case {:split false} Blue => - } - case {:split false} Green => - var y := 25; - var z := y + 3; - case {:split false} Blue => - { - var y := 25; - var z := y + 3; - } - match d - case {:split false} Red => - case {:split false} Green => - x := x + 1; - case {:split false} Blue => -} - -lemma HeatIsEven(c: Color) - ensures Heat(c) % 2 == 0 -{ - match c - case {:split false} Red => - assert 10 % 2 == 0; - case {:split false} Green => - assert 12 % 2 == 0; - case {:split false} Blue => -} - -method DegenerateExamples(c: Color) - requires Heat(c) == 10 -{ - match c - case {:split false} Red => - case {:split false} Green => - match c { - } - case {:split false} Blue => - match c -} - -method MoreDegenerateExamples(c: Color) - requires Heat(c) == 10 -{ - if c == Green { - var x: int := match c; - var y: int := match c { }; - var z := match c case Blue => 4; - } -} - -Dafny program verifier finished with 5 verified, 0 errors - -Dafny program verifier did not attempt verification -7 0.18 Color.Red 13 12 -11 98.0 Color.Green 14 115 - -Dafny program verifier did not attempt verification 7 0.18 Color.Red 13 12 11 98.0 Color.Green 14 115 diff --git a/Test/dafny0/MatchBraces.dfy.verifier.expect b/Test/dafny0/MatchBraces.dfy.verifier.expect new file mode 100644 index 00000000000..8dcc792ae0e --- /dev/null +++ b/Test/dafny0/MatchBraces.dfy.verifier.expect @@ -0,0 +1,125 @@ +// MatchBraces.dfy + +datatype Color = Red | Green | Blue + +method Main() +{ + M(Green, Red); + M(Blue, Blue); +} + +method M(c: Color, d: Color) +{ + var x := match c case Red => 5 case Green => 7 case Blue => 11; + var y := match c case Red => 0.3 case Green => (match d case Red => 0.18 case Green => 0.21 case Blue => 0.98) case Blue => 98.0; + var z := match c case Red => Green case Green => match d { case Red => Red case Green => Blue case Blue => Red } case Blue => Green; + var w := match c { case Red => 2 case Green => 3 case Blue => 4 } + 10; + var t := match c case Red => 0 case Green => match d { case Red => 2 case Green => 2 case Blue => 1 } + (match d case Red => 10 case Green => 8 case Blue => 5) case Blue => match d { case Red => 20 case Green => 20 case Blue => 10 } + match d case Red => 110 case Green => 108 case Blue => 105; + print x, " ", y, " ", z, " ", w, " ", t, "\n"; +} + +ghost function Heat(c: Color): int +{ + match c + case Red => + 10 + case Green => + 12 + case Blue => + 14 +} + +ghost function IceCream(c: Color): int +{ + match c { + case Red => + 0 + case Green => + 4 + case Blue => + 1 + } +} + +ghost function Flowers(c: Color, d: Color): int +{ + match c { + case Red => + match d { + case Red => + 0 + case Green => + 1 + case Blue => + 2 + } + case Green => + match d { case Red => 3 case Green => 3 case Blue => 2 } + 20 + case Blue => + match d { case Red => 9 case Green => 8 case Blue => 7 } + match d case Red => 23 case Green => 29 case Blue => 31 + } +} + +method P(c: Color, d: Color) +{ + var x: int; + match c { + case {:split false} Red => + x := 20; + case {:split false} Green => + case {:split false} Blue => + } + match c + case {:split false} Red => + match d { + case {:split false} Red => + case {:split false} Green => + case {:split false} Blue => + } + case {:split false} Green => + var y := 25; + var z := y + 3; + case {:split false} Blue => + { + var y := 25; + var z := y + 3; + } + match d + case {:split false} Red => + case {:split false} Green => + x := x + 1; + case {:split false} Blue => +} + +lemma HeatIsEven(c: Color) + ensures Heat(c) % 2 == 0 +{ + match c + case {:split false} Red => + assert 10 % 2 == 0; + case {:split false} Green => + assert 12 % 2 == 0; + case {:split false} Blue => +} + +method DegenerateExamples(c: Color) + requires Heat(c) == 10 +{ + match c + case {:split false} Red => + case {:split false} Green => + match c { + } + case {:split false} Blue => + match c +} + +method MoreDegenerateExamples(c: Color) + requires Heat(c) == 10 +{ + if c == Green { + var x: int := match c; + var y: int := match c { }; + var z := match c case Blue => 4; + } +} diff --git a/Test/dafny0/MoForallCompilation.dfy b/Test/dafny0/MoForallCompilation.dfy index 835712edbce..af080853463 100644 --- a/Test/dafny0/MoForallCompilation.dfy +++ b/Test/dafny0/MoForallCompilation.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { TestAggregateArrayUpdate(); diff --git a/Test/dafny0/MoForallCompilation.dfy.expect b/Test/dafny0/MoForallCompilation.dfy.expect index c431c74c6aa..7bb606c1528 100644 --- a/Test/dafny0/MoForallCompilation.dfy.expect +++ b/Test/dafny0/MoForallCompilation.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 18 verified, 0 errors -4.0 -3.0 -2.0 -1.0 0.0 1.0 2.0 3.0 7.0 6.0 5.0 4.0 3.0 2.0 1.0 0.0 true true true true true true false false diff --git a/Test/dafny0/NameclashesCompile.dfy b/Test/dafny0/NameclashesCompile.dfy index 4d06065c675..46cae4b2338 100644 --- a/Test/dafny0/NameclashesCompile.dfy +++ b/Test/dafny0/NameclashesCompile.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var r0, r1; diff --git a/Test/dafny0/NameclashesCompile.dfy.expect b/Test/dafny0/NameclashesCompile.dfy.expect index 1434bb632f6..f001bdaeb1e 100644 --- a/Test/dafny0/NameclashesCompile.dfy.expect +++ b/Test/dafny0/NameclashesCompile.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 2 verified, 0 errors 15.0 15.1 94 99 0.8 14.3 14.4 18.9 18.92 diff --git a/Test/dafny0/NonZeroInitializationCompile.dfy b/Test/dafny0/NonZeroInitializationCompile.dfy index 48b61a39369..2fedae6d60d 100644 --- a/Test/dafny0/NonZeroInitializationCompile.dfy +++ b/Test/dafny0/NonZeroInitializationCompile.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment type MyInt = x | 6 <= x witness 6 newtype MyNewInt = x | 6 <= x witness 12 diff --git a/Test/dafny0/NonZeroInitializationCompile.dfy.expect b/Test/dafny0/NonZeroInitializationCompile.dfy.expect index 69539e473c2..2e20350afad 100644 --- a/Test/dafny0/NonZeroInitializationCompile.dfy.expect +++ b/Test/dafny0/NonZeroInitializationCompile.dfy.expect @@ -1,76 +1,3 @@ - -Dafny program verifier finished with 15 verified, 0 errors - -Dafny program verifier did not attempt verification -These are the arbitrary values chosen by the compiler: 6, 12 -short, short': 0, -35 -nes: {57} -f0, f1: (0, false), (29, true) -dt: Dt.Atom(-35) -cl { u: 12, x: 0, r: 3.14, nes: {57} } -cl' { u: 12, x: 0, ': 3.14, nes: {20, 57} } - -x: real :: 0.0 versus 0.0 -ch: char :: 'D' versus 'D' -s: set :: {} versus {} -d: Xt :: AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) versus AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) -y: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) -z: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) - -x: real :: 0.0 versus 0.0 -ch: char :: 'D' versus 'D' -s: set :: {} versus {} -d: Xt :: AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) versus AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) -y: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) -z: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) - -Dafny program verifier did not attempt verification -These are the arbitrary values chosen by the compiler: 6, 12 -short, short': 0, -35 -nes: {57} -f0, f1: (0, false), (29, true) -dt: Dt.Atom(-35) -cl { u: 12, x: 0, r: 3.14, nes: {57} } -cl' { u: 12, x: 0, ': 3.14, nes: {20, 57} } - -x: real :: 0.0 versus 0.0 -ch: char :: 'D' versus 'D' -s: set :: {} versus {} -d: Xt :: AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) versus AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) -y: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) -z: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) - -x: real :: 0.0 versus 0.0 -ch: char :: 'D' versus 'D' -s: set :: {} versus {} -d: Xt :: AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) versus AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) -y: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) -z: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) - -Dafny program verifier did not attempt verification -These are the arbitrary values chosen by the compiler: 6, 12 -short, short': 0, -35 -nes: {57} -f0, f1: (0, false), (29, true) -dt: Dt.Atom(-35) -cl { u: 12, x: 0, r: 3.14, nes: {57} } -cl' { u: 12, x: 0, ': 3.14, nes: {20, 57} } - -x: real :: 0.0 versus 0.0 -ch: char :: 'D' versus 'D' -s: set :: {} versus {} -d: Xt :: AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) versus AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) -y: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) -z: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) - -x: real :: 0.0 versus 0.0 -ch: char :: 'D' versus 'D' -s: set :: {} versus {} -d: Xt :: AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) versus AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) -y: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) -z: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) - -Dafny program verifier did not attempt verification These are the arbitrary values chosen by the compiler: 6, 12 short, short': 0, -35 nes: {57} diff --git a/Test/dafny0/NullComparisonWarnings.dfy b/Test/dafny0/NullComparisonWarnings.dfy index eb9183040bc..35fd5ffb3f4 100644 --- a/Test/dafny0/NullComparisonWarnings.dfy +++ b/Test/dafny0/NullComparisonWarnings.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { print "despite the warnings, the program still compiles\n"; diff --git a/Test/dafny0/NullComparisonWarnings.dfy.expect b/Test/dafny0/NullComparisonWarnings.dfy.expect index d8cf4a9960c..f2b4545fac7 100644 --- a/Test/dafny0/NullComparisonWarnings.dfy.expect +++ b/Test/dafny0/NullComparisonWarnings.dfy.expect @@ -1,14 +1 @@ -NullComparisonWarnings.dfy(27,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(28,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'y' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(29,14): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for field 'next' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(30,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(31,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'y' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(32,14): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for field 'next' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(34,12): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(37,12): Warning: the type of the other operand is a set of non-null elements, so the inclusion test of 'null' will always return 'false' -NullComparisonWarnings.dfy(38,12): Warning: the type of the other operand is a set of non-null elements, so the non-inclusion test of 'null' will always return 'true' -NullComparisonWarnings.dfy(40,41): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'u' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(45,12): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' - -Dafny program verifier finished with 4 verified, 0 errors despite the warnings, the program still compiles diff --git a/Test/dafny0/NullComparisonWarnings.dfy.verifier.expect b/Test/dafny0/NullComparisonWarnings.dfy.verifier.expect new file mode 100644 index 00000000000..24f9074ecc9 --- /dev/null +++ b/Test/dafny0/NullComparisonWarnings.dfy.verifier.expect @@ -0,0 +1,11 @@ +NullComparisonWarnings.dfy(26,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(27,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'y' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(28,14): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for field 'next' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(29,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(30,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'y' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(31,14): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for field 'next' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(33,12): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(36,12): Warning: the type of the other operand is a set of non-null elements, so the inclusion test of 'null' will always return 'false' +NullComparisonWarnings.dfy(37,12): Warning: the type of the other operand is a set of non-null elements, so the non-inclusion test of 'null' will always return 'true' +NullComparisonWarnings.dfy(39,41): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'u' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(44,12): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' diff --git a/Test/dafny0/PrintUTF8.dfy b/Test/dafny0/PrintUTF8.dfy index 5d4e376b19d..eff7baa32a9 100644 --- a/Test/dafny0/PrintUTF8.dfy +++ b/Test/dafny0/PrintUTF8.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { print "Mikaël fixed UTF8\n"; diff --git a/Test/dafny0/PrintUTF8.dfy.expect b/Test/dafny0/PrintUTF8.dfy.expect index 52a23e906cc..818549280d3 100644 --- a/Test/dafny0/PrintUTF8.dfy.expect +++ b/Test/dafny0/PrintUTF8.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors Mikaël fixed UTF8 diff --git a/Test/dafny0/RangeCompilation.dfy b/Test/dafny0/RangeCompilation.dfy index 53a8d6e33e5..3f3e6aed0f8 100644 --- a/Test/dafny0/RangeCompilation.dfy +++ b/Test/dafny0/RangeCompilation.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment newtype Byte = x | 0 <= x < 256 predicate GoodByte(b: Byte) { diff --git a/Test/dafny0/RangeCompilation.dfy.expect b/Test/dafny0/RangeCompilation.dfy.expect index 82fbbb9b698..9e0f9e5f028 100644 --- a/Test/dafny0/RangeCompilation.dfy.expect +++ b/Test/dafny0/RangeCompilation.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 4 verified, 0 errors b=2 i=4 diff --git a/Test/dafny0/SeqFromArray.dfy b/Test/dafny0/SeqFromArray.dfy index 6bab732c906..39f72303d18 100644 --- a/Test/dafny0/SeqFromArray.dfy +++ b/Test/dafny0/SeqFromArray.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // /autoTriggers:1 added to suppress instabilities diff --git a/Test/dafny0/SeqFromArray.dfy.expect b/Test/dafny0/SeqFromArray.dfy.expect index 1981561ca00..e69de29bb2d 100644 --- a/Test/dafny0/SeqFromArray.dfy.expect +++ b/Test/dafny0/SeqFromArray.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 10 verified, 0 errors diff --git a/Test/dafny0/SharedDestructorsCompile.dfy b/Test/dafny0/SharedDestructorsCompile.dfy index 8171cf72404..64d8b245b58 100644 --- a/Test/dafny0/SharedDestructorsCompile.dfy +++ b/Test/dafny0/SharedDestructorsCompile.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Dt = | A(x: int, y: real) diff --git a/Test/dafny0/SharedDestructorsCompile.dfy.expect b/Test/dafny0/SharedDestructorsCompile.dfy.expect index e037db03c40..060d152d77b 100644 --- a/Test/dafny0/SharedDestructorsCompile.dfy.expect +++ b/Test/dafny0/SharedDestructorsCompile.dfy.expect @@ -1,20 +1,3 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification -Dt.A(10, 12.0): x=10 y=12.0 -Dt.B(_module.MyClass, 6): h=_module.MyClass x=6 -Dt.C(3.14): y=3.14 -Dt.C(3.14) -Dt.A(71, 0.1) -Klef.C3(44, 100, 66, 200) -Datte.AA(10, 2) Datte.AA(10, 5) -Datte.BB(false, 12) Datte.BB(false, 6) -Datte.CC(3.2) Datte.CC(3.4) -Datte.DD(100, {7}, 5, 9.0) Datte.DD(30, {7}, 5, 9.0) -Datte.DD(100, {7}, 5, 9.0) Datte.DD(30, {7}, 5, 2.0) - -Dafny program verifier did not attempt verification Dt.A(10, 12.0): x=10 y=12.0 Dt.B(_module.MyClass, 6): h=_module.MyClass x=6 Dt.C(3.14): y=3.14 diff --git a/Test/dafny0/SiblingImports.dfy b/Test/dafny0/SiblingImports.dfy index 3fb01d9d1b8..756e4b253f3 100644 --- a/Test/dafny0/SiblingImports.dfy +++ b/Test/dafny0/SiblingImports.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { ClientA.Test(); diff --git a/Test/dafny0/SiblingImports.dfy.expect b/Test/dafny0/SiblingImports.dfy.expect index ba4df82a925..fb6171563ac 100644 --- a/Test/dafny0/SiblingImports.dfy.expect +++ b/Test/dafny0/SiblingImports.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors ClientA.Inner.Five: 5 ClientB.Inner.Five: 5 ClientC.Inner.Five: 5 diff --git a/Test/dafny0/TypeConversionsCompile.dfy b/Test/dafny0/TypeConversionsCompile.dfy index 066af1b305b..585aca1e6c6 100644 --- a/Test/dafny0/TypeConversionsCompile.dfy +++ b/Test/dafny0/TypeConversionsCompile.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /env:0 /rprint:- "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment newtype Handful = x | 0 <= x < 0x8000 // this type turns native newtype Abundance = y | -20 <= y < 0x200_0000_0000 // still fits inside a "long" diff --git a/Test/dafny0/TypeConversionsCompile.dfy.expect b/Test/dafny0/TypeConversionsCompile.dfy.expect index d6b02b34eae..78990cf4a30 100644 --- a/Test/dafny0/TypeConversionsCompile.dfy.expect +++ b/Test/dafny0/TypeConversionsCompile.dfy.expect @@ -1,228 +1,3 @@ -// TypeConversionsCompile.dfy - -/* -module _System { - /* CALL GRAPH for module _System: - * SCC at height 1: - * RotateLeft - * SCC at height 1: - * RotateRight - * SCC at height 0: - * array - * SCC at height 0: - * nat - * SCC at height 0: - * object - */ - type string(==,0) = seq - - type {:axiom} nat(==,0) = x: int - | 0 <= x - - trait {:compile false} object { } - /*-- non-null type - type {:axiom} object(==) = c: object? | c != null /*special witness*/ - */ - - class {:compile false} array { - var Length: int // immutable - } - /*-- non-null type - type {:axiom} array(==) = c: array? | c != null /*special witness*/ - */ - - type {:compile false} /*_#Func1*/ -T0 ~> +R { - ghost function requires(x0: T0): bool - reads reads(x0) - - ghost function reads(x0: T0): set - reads reads(x0) - } - - type {:compile false} /*_#PartialFunc1*/ -T0 --> +R = f: T0 ~> R - | forall x0: T0 :: f.reads(x0) == {} - /*special witness*/ - - type {:compile false} /*_#TotalFunc1*/ -T0 -> +R = f: T0 --> R - | forall x0: T0 :: f.requires(x0) - /*special witness*/ - - type {:compile false} /*_#Func0*/ () ~> +R { - ghost function requires(): bool - reads reads() - - ghost function reads(): set - reads reads() - } - - type {:compile false} /*_#PartialFunc0*/ () --> +R = f: () ~> R - | f.reads() == {} - /*special witness*/ - - type {:compile false} /*_#TotalFunc0*/ () -> +R = f: () --> R - | f.requires() - /*special witness*/ - - datatype {:compile false} /*_tuple#2*/ (+T0, +T1) = _#Make2(0: T0, 1: T1) - - type bool { } - - type int { } - - type real { - var Floor: int // immutable - } - - type ORDINAL { - var IsLimit: bool // immutable - var IsSucc: bool // immutable - var Offset: int // immutable - var IsNat: bool // immutable - } - - type _bv { - function RotateLeft(w: nat): selftype - - function RotateRight(w: nat): selftype - } - - type map<+T, +U> { - var Keys: set // immutable - var Values: set // immutable - var Items: set<(T, U)> // immutable - } - - type imap<*T, +U> { - var Keys: iset // immutable - var Values: iset // immutable - var Items: iset<(T, U)> // immutable - } - - datatype {:compile false} /*_tuple#0*/ () = _#Make0 -} -// bitvector types in use: bv67 bv32 bv7 bv0 bv300 -*/ - -/* CALL GRAPH for module _module: - * SCC at height 2: - * Main - * SCC at height 1: - * Difficult - * SCC at height 1: - * Print - * SCC at height 0: - * Abundance - * SCC at height 0: - * EvenInt - * SCC at height 0: - * Handful - * SCC at height 0: - * OrdinalTests - * SCC at height 0: - * PrintExpected - * SCC at height 0: - * SmallReal - * SCC at height 0: - * int64 - */ -newtype Handful = x: int - | 0 <= x < 32768 - -newtype Abundance = y: int - | -20 <= y < 2199023255552 - -newtype int64 = y: int - | -9223372036854775808 <= y < 9223372036854775808 - -newtype EvenInt = x: int - | x % 2 == 0 - -newtype SmallReal = r: real - | -4.0 <= r < 300.0 - -method Print(x: int, n: nat, r: real, handful: Handful, even: EvenInt, small: SmallReal, b67: bv67, w: bv32, seven: bv7, noll: bv0) - decreases x, n, r, handful, even, small, b67, w, seven, noll -{ - print x, " ", n, " ", r, " ", handful, " ", even, " ", small, " ", b67, " ", w, " ", seven, " ", noll, "\n"; -} - -method PrintExpected(got: T, expected: T) -{ - print "got ", got, ", expected ", expected, "\n"; -} - -method Main() -{ - var x: int, n: nat, r: real := 3, 4, 5.0; - var handful: Handful, even: EvenInt, small: SmallReal := 5, 6, -1.0; - var b67: bv67, w: bv32, seven: bv7, noll: bv0 := 147573952589676412927, 4294967295, 127, 0; - Print(x, n, r, handful, even, small, b67, w, seven, noll); - PrintExpected(x as bv7, 3); - PrintExpected(0 as bv0, 0); - PrintExpected(r as int, 5); - PrintExpected((2.0 * r) as EvenInt, 10); - PrintExpected(x as real, 3.0); - PrintExpected(even as real, 6.0); - PrintExpected((small + 3.0) as Handful, 2); - PrintExpected(noll as Handful, 0); - PrintExpected(noll as SmallReal, 0.0); - PrintExpected(w as real, 4294967295.0); - PrintExpected(seven as real, 127.0); - PrintExpected(noll as bv32, 0); - PrintExpected(noll as bv67, 0); - PrintExpected(seven as bv32, 127); - PrintExpected(seven as bv67, 127); - b67 := 50; - PrintExpected(r as bv67, 5); - PrintExpected(r as bv32, 5); - PrintExpected(w as bv67, 4294967295); - PrintExpected(r as bv7, 5); - PrintExpected(0.0 as bv0, 0); - PrintExpected(handful as bv67, 5); - PrintExpected(handful as bv32, 5); - PrintExpected(handful as bv7, 5); - PrintExpected(handful as int, 5); - PrintExpected(noll as bv32 as bv0, 0); - PrintExpected(noll as bv67 as bv0, 0); - PrintExpected(seven as bv32 as bv7, 127); - PrintExpected(seven as bv67 as bv7, 127); - PrintExpected(handful as real, 5.0); - Difficult(); - var a0: Abundance, a1: Abundance, a2: Abundance, lng: int64; - var s: set := {4.0, 6.3, r, 1000.2}; - var a: array := new char[68]; - handful := 120 as Handful; - a0, a1 := -1 as Abundance, 4 as Abundance; - a2 := 8589934592 as Abundance; - w, lng := 6345789 as bv32, -9223372036854775808 as int64; - print handful, " ", a0, " ", a1, " ", a2, " ", w, " ", lng, "\n"; - x, handful, a0, w := |s|, |s| as Handful, |s| as Abundance, |s| as bv32; - print x, " ", handful, " ", a0, " ", w, "\n"; - x, handful, a0, w := a.Length, a.Length as Handful, a.Length as Abundance, a.Length as bv32; - print x, " ", handful, " ", a0, " ", w, "\n"; - OrdinalTests(); -} - -method Difficult() -{ - if 14 as real as int as bv67 == 14 { - PrintExpected(14 as real as int as bv67 as EvenInt as SmallReal as Handful as bv7 as bv32 as int, 14); - } -} - -method OrdinalTests() -{ - var ord: ORDINAL := 143; - var iord: int := ord as int; - var oord: ORDINAL := iord as ORDINAL; - print "Something about ORDINAL: ", ord, " ", iord, " ", oord, " ", ord + 4, " ", ord - 100, "\n"; - print "ORDINAL and bitvectors: ", 20 as bv32 as ORDINAL, " ", 20 as bv300 as ORDINAL, "\n"; - print ord.IsLimit, " ", ord.Offset, " ", ord.IsNat, "\n"; - ord := 0; - print ord.IsLimit, " ", ord.Offset, " ", ord.IsNat, "\n"; -} - -Dafny program verifier finished with 8 verified, 0 errors 3 4 5.0 5 6 -1.0 147573952589676412927 4294967295 127 0 got 3, expected 3 got 0, expected 0 diff --git a/Test/dafny0/TypeConversionsCompile.dfy.verifier.expect b/Test/dafny0/TypeConversionsCompile.dfy.verifier.expect new file mode 100644 index 00000000000..fc80e32b51b --- /dev/null +++ b/Test/dafny0/TypeConversionsCompile.dfy.verifier.expect @@ -0,0 +1,223 @@ +// TypeConversionsCompile.dfy + +/* +module _System { + /* CALL GRAPH for module _System: + * SCC at height 1: + * RotateLeft + * SCC at height 1: + * RotateRight + * SCC at height 0: + * array + * SCC at height 0: + * nat + * SCC at height 0: + * object + */ + type string(==,0) = seq + + type {:axiom} nat(==,0) = x: int + | 0 <= x + + trait {:compile false} object { } + /*-- non-null type + type {:axiom} object(==) = c: object? | c != null /*special witness*/ + */ + + class {:compile false} array { + var Length: int // immutable + } + /*-- non-null type + type {:axiom} array(==) = c: array? | c != null /*special witness*/ + */ + + type {:compile false} /*_#Func1*/ -T0 ~> +R { + ghost function requires(x0: T0): bool + reads reads(x0) + + ghost function reads(x0: T0): set + reads reads(x0) + } + + type {:compile false} /*_#PartialFunc1*/ -T0 --> +R = f: T0 ~> R + | forall x0: T0 :: f.reads(x0) == {} + /*special witness*/ + + type {:compile false} /*_#TotalFunc1*/ -T0 -> +R = f: T0 --> R + | forall x0: T0 :: f.requires(x0) + /*special witness*/ + + type {:compile false} /*_#Func0*/ () ~> +R { + ghost function requires(): bool + reads reads() + + ghost function reads(): set + reads reads() + } + + type {:compile false} /*_#PartialFunc0*/ () --> +R = f: () ~> R + | f.reads() == {} + /*special witness*/ + + type {:compile false} /*_#TotalFunc0*/ () -> +R = f: () --> R + | f.requires() + /*special witness*/ + + datatype {:compile false} /*_tuple#2*/ (+T0, +T1) = _#Make2(0: T0, 1: T1) + + type bool { } + + type int { } + + type real { + var Floor: int // immutable + } + + type ORDINAL { + var IsLimit: bool // immutable + var IsSucc: bool // immutable + var Offset: int // immutable + var IsNat: bool // immutable + } + + type _bv { + function RotateLeft(w: nat): selftype + + function RotateRight(w: nat): selftype + } + + type map<+T, +U> { + var Keys: set // immutable + var Values: set // immutable + var Items: set<(T, U)> // immutable + } + + type imap<*T, +U> { + var Keys: iset // immutable + var Values: iset // immutable + var Items: iset<(T, U)> // immutable + } + + datatype {:compile false} /*_tuple#0*/ () = _#Make0 +} +// bitvector types in use: bv67 bv32 bv7 bv0 bv300 +*/ + +/* CALL GRAPH for module _module: + * SCC at height 2: + * Main + * SCC at height 1: + * Difficult + * SCC at height 1: + * Print + * SCC at height 0: + * Abundance + * SCC at height 0: + * EvenInt + * SCC at height 0: + * Handful + * SCC at height 0: + * OrdinalTests + * SCC at height 0: + * PrintExpected + * SCC at height 0: + * SmallReal + * SCC at height 0: + * int64 + */ +newtype Handful = x: int + | 0 <= x < 32768 + +newtype Abundance = y: int + | -20 <= y < 2199023255552 + +newtype int64 = y: int + | -9223372036854775808 <= y < 9223372036854775808 + +newtype EvenInt = x: int + | x % 2 == 0 + +newtype SmallReal = r: real + | -4.0 <= r < 300.0 + +method Print(x: int, n: nat, r: real, handful: Handful, even: EvenInt, small: SmallReal, b67: bv67, w: bv32, seven: bv7, noll: bv0) + decreases x, n, r, handful, even, small, b67, w, seven, noll +{ + print x, " ", n, " ", r, " ", handful, " ", even, " ", small, " ", b67, " ", w, " ", seven, " ", noll, "\n"; +} + +method PrintExpected(got: T, expected: T) +{ + print "got ", got, ", expected ", expected, "\n"; +} + +method Main() +{ + var x: int, n: nat, r: real := 3, 4, 5.0; + var handful: Handful, even: EvenInt, small: SmallReal := 5, 6, -1.0; + var b67: bv67, w: bv32, seven: bv7, noll: bv0 := 147573952589676412927, 4294967295, 127, 0; + Print(x, n, r, handful, even, small, b67, w, seven, noll); + PrintExpected(x as bv7, 3); + PrintExpected(0 as bv0, 0); + PrintExpected(r as int, 5); + PrintExpected((2.0 * r) as EvenInt, 10); + PrintExpected(x as real, 3.0); + PrintExpected(even as real, 6.0); + PrintExpected((small + 3.0) as Handful, 2); + PrintExpected(noll as Handful, 0); + PrintExpected(noll as SmallReal, 0.0); + PrintExpected(w as real, 4294967295.0); + PrintExpected(seven as real, 127.0); + PrintExpected(noll as bv32, 0); + PrintExpected(noll as bv67, 0); + PrintExpected(seven as bv32, 127); + PrintExpected(seven as bv67, 127); + b67 := 50; + PrintExpected(r as bv67, 5); + PrintExpected(r as bv32, 5); + PrintExpected(w as bv67, 4294967295); + PrintExpected(r as bv7, 5); + PrintExpected(0.0 as bv0, 0); + PrintExpected(handful as bv67, 5); + PrintExpected(handful as bv32, 5); + PrintExpected(handful as bv7, 5); + PrintExpected(handful as int, 5); + PrintExpected(noll as bv32 as bv0, 0); + PrintExpected(noll as bv67 as bv0, 0); + PrintExpected(seven as bv32 as bv7, 127); + PrintExpected(seven as bv67 as bv7, 127); + PrintExpected(handful as real, 5.0); + Difficult(); + var a0: Abundance, a1: Abundance, a2: Abundance, lng: int64; + var s: set := {4.0, 6.3, r, 1000.2}; + var a: array := new char[68]; + handful := 120 as Handful; + a0, a1 := -1 as Abundance, 4 as Abundance; + a2 := 8589934592 as Abundance; + w, lng := 6345789 as bv32, -9223372036854775808 as int64; + print handful, " ", a0, " ", a1, " ", a2, " ", w, " ", lng, "\n"; + x, handful, a0, w := |s|, |s| as Handful, |s| as Abundance, |s| as bv32; + print x, " ", handful, " ", a0, " ", w, "\n"; + x, handful, a0, w := a.Length, a.Length as Handful, a.Length as Abundance, a.Length as bv32; + print x, " ", handful, " ", a0, " ", w, "\n"; + OrdinalTests(); +} + +method Difficult() +{ + if 14 as real as int as bv67 == 14 { + PrintExpected(14 as real as int as bv67 as EvenInt as SmallReal as Handful as bv7 as bv32 as int, 14); + } +} + +method OrdinalTests() +{ + var ord: ORDINAL := 143; + var iord: int := ord as int; + var oord: ORDINAL := iord as ORDINAL; + print "Something about ORDINAL: ", ord, " ", iord, " ", oord, " ", ord + 4, " ", ord - 100, "\n"; + print "ORDINAL and bitvectors: ", 20 as bv32 as ORDINAL, " ", 20 as bv300 as ORDINAL, "\n"; + print ord.IsLimit, " ", ord.Offset, " ", ord.IsNat, "\n"; + ord := 0; + print ord.IsLimit, " ", ord.Offset, " ", ord.IsNat, "\n"; +} diff --git a/Test/dafny0/TypeMembers.dfy b/Test/dafny0/TypeMembers.dfy index 2ab57767ad5..f2bea4039c9 100644 --- a/Test/dafny0/TypeMembers.dfy +++ b/Test/dafny0/TypeMembers.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { BasicTests(); diff --git a/Test/dafny0/TypeMembers.dfy.expect b/Test/dafny0/TypeMembers.dfy.expect index 1d406ca85dc..923cb07e841 100644 --- a/Test/dafny0/TypeMembers.dfy.expect +++ b/Test/dafny0/TypeMembers.dfy.expect @@ -1,32 +1,3 @@ -TypeMembers.dfy(117,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect - -Dafny program verifier finished with 29 verified, 0 errors -TypeMembers.dfy(117,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect - -Dafny program verifier did not attempt verification -DaTy.Yes 10 26 -8 11 10 11 10 -35 10 14 -22 22 -9 Dt.Business(false, 5) -76 77 -19 -0 0 -19 82 83 -93 Co.Cobalt -27 27 -18 -11 18 18 22 -15 30 29 -95 11 -162 165 -11 18 18 3 -15 30 29 -95 11 -162 165 -TypeMembers.dfy(117,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect - -Dafny program verifier did not attempt verification DaTy.Yes 10 26 8 11 10 11 10 35 10 14 diff --git a/Test/dafny0/TypeMembers.dfy.verifier.expect b/Test/dafny0/TypeMembers.dfy.verifier.expect new file mode 100644 index 00000000000..62f55c943d2 --- /dev/null +++ b/Test/dafny0/TypeMembers.dfy.verifier.expect @@ -0,0 +1 @@ +TypeMembers.dfy(114,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect diff --git a/Test/dafny0/Wellfounded.dfy b/Test/dafny0/Wellfounded.dfy index 2ed488974c6..7ec2be06b38 100644 --- a/Test/dafny0/Wellfounded.dfy +++ b/Test/dafny0/Wellfounded.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var d := Int(10); diff --git a/Test/dafny0/Wellfounded.dfy.expect b/Test/dafny0/Wellfounded.dfy.expect index 73d7a1e7ca2..52742a67098 100644 --- a/Test/dafny0/Wellfounded.dfy.expect +++ b/Test/dafny0/Wellfounded.dfy.expect @@ -1,7 +1,3 @@ -Wellfounded.dfy(49,14): Warning: /!\ No terms found to trigger on. -Wellfounded.dfy(77,5): Warning: /!\ No terms found to trigger on. - -Dafny program verifier finished with 3 verified, 0 errors M(d, d) = 10 M(a1, d) = 10 M(a2, d) = 10 diff --git a/Test/dafny0/Wellfounded.dfy.verifier.expect b/Test/dafny0/Wellfounded.dfy.verifier.expect new file mode 100644 index 00000000000..e61f12f01b2 --- /dev/null +++ b/Test/dafny0/Wellfounded.dfy.verifier.expect @@ -0,0 +1,2 @@ +Wellfounded.dfy(48,14): Warning: /!\ No terms found to trigger on. +Wellfounded.dfy(76,5): Warning: /!\ No terms found to trigger on. diff --git a/Test/dafny2/MinWindowMax.dfy b/Test/dafny2/MinWindowMax.dfy index 71ccb539d7d..32342cdd8b9 100644 --- a/Test/dafny2/MinWindowMax.dfy +++ b/Test/dafny2/MinWindowMax.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Minimum window-max problem. // Rustan Leino diff --git a/Test/dafny2/MinWindowMax.dfy.expect b/Test/dafny2/MinWindowMax.dfy.expect index f6f6e52d9bc..1bb5609994e 100644 --- a/Test/dafny2/MinWindowMax.dfy.expect +++ b/Test/dafny2/MinWindowMax.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 12 verified, 0 errors Window size 1: min window-max is -5 Window size 2: min window-max is 2 Window size 3: min window-max is 3 diff --git a/Test/dafny2/SmallestMissingNumber-functional.dfy b/Test/dafny2/SmallestMissingNumber-functional.dfy index 047475c2680..a1544efab5f 100644 --- a/Test/dafny2/SmallestMissingNumber-functional.dfy +++ b/Test/dafny2/SmallestMissingNumber-functional.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Smallest missing number problem, functional version without duplicates. // A purely functional solution to the programming problem in Richard Bird's diff --git a/Test/dafny2/SmallestMissingNumber-functional.dfy.expect b/Test/dafny2/SmallestMissingNumber-functional.dfy.expect index 208b183ee3e..5d75da8ddd3 100644 --- a/Test/dafny2/SmallestMissingNumber-functional.dfy.expect +++ b/Test/dafny2/SmallestMissingNumber-functional.dfy.expect @@ -1,4 +1 @@ -SmallestMissingNumber-functional.dfy(213,11): Warning: /!\ No terms found to trigger on. - -Dafny program verifier finished with 21 verified, 0 errors 0 1 4 5 diff --git a/Test/dafny2/SmallestMissingNumber-functional.dfy.verifier.expect b/Test/dafny2/SmallestMissingNumber-functional.dfy.verifier.expect new file mode 100644 index 00000000000..cf10280f376 --- /dev/null +++ b/Test/dafny2/SmallestMissingNumber-functional.dfy.verifier.expect @@ -0,0 +1 @@ +SmallestMissingNumber-functional.dfy(212,11): Warning: /!\ No terms found to trigger on. diff --git a/Test/dafny2/SmallestMissingNumber-imperative.dfy b/Test/dafny2/SmallestMissingNumber-imperative.dfy index b8539481a54..314bf4e464c 100644 --- a/Test/dafny2/SmallestMissingNumber-imperative.dfy +++ b/Test/dafny2/SmallestMissingNumber-imperative.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Smallest missing number. // An imperative solution to the programming problem in Richard Bird's diff --git a/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect b/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect index bc4a868fdff..cfb25913041 100644 --- a/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect +++ b/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 8 verified, 0 errors 0 1 5 diff --git a/Test/dafny2/StoreAndRetrieve.dfy b/Test/dafny2/StoreAndRetrieve.dfy index 968b6948e0d..87b7bc78127 100644 --- a/Test/dafny2/StoreAndRetrieve.dfy +++ b/Test/dafny2/StoreAndRetrieve.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This file shows an example program that uses both refinement and :autocontracts // specify a class that stores a set of things that can be retrieved using a query. diff --git a/Test/dafny2/StoreAndRetrieve.dfy.expect b/Test/dafny2/StoreAndRetrieve.dfy.expect index 1d7d71d5202..030f5bfab39 100644 --- a/Test/dafny2/StoreAndRetrieve.dfy.expect +++ b/Test/dafny2/StoreAndRetrieve.dfy.expect @@ -1,39 +1 @@ -StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier finished with 19 verified, 0 errors -StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -20.3 -StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -20.3 -StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -20.3 -StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification 20.3 diff --git a/Test/dafny2/StoreAndRetrieve.dfy.verifier.expect b/Test/dafny2/StoreAndRetrieve.dfy.verifier.expect new file mode 100644 index 00000000000..0c3d269cdc1 --- /dev/null +++ b/Test/dafny2/StoreAndRetrieve.dfy.verifier.expect @@ -0,0 +1,5 @@ +StoreAndRetrieve.dfy(60,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(65,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(66,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(81,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(92,9): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny2/Z-BirthdayBook.dfy b/Test/dafny2/Z-BirthdayBook.dfy index d9580e7cca2..10fc159b1a3 100644 --- a/Test/dafny2/Z-BirthdayBook.dfy +++ b/Test/dafny2/Z-BirthdayBook.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // The birthday book example from the Z Reference Manual // Rustan Leino, 22 Feb 2018 diff --git a/Test/dafny2/Z-BirthdayBook.dfy.expect b/Test/dafny2/Z-BirthdayBook.dfy.expect index 31762ddd5b4..c6f2230e21a 100644 --- a/Test/dafny2/Z-BirthdayBook.dfy.expect +++ b/Test/dafny2/Z-BirthdayBook.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 21 verified, 0 errors Send cards to: {['M', 'i', 'k', 'e'], ['S', 'u', 's', 'a', 'n']} diff --git a/Test/dafny2/pq-intrinsic-extrinsic.dfy b/Test/dafny2/pq-intrinsic-extrinsic.dfy index c797c92445d..588c2f9e2b1 100644 --- a/Test/dafny2/pq-intrinsic-extrinsic.dfy +++ b/Test/dafny2/pq-intrinsic-extrinsic.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This file contains several versions of a priority queue implemented by Braun trees: // diff --git a/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect b/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect index bc2608f44b7..5c90c26e0eb 100644 --- a/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect +++ b/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect @@ -1,14 +1,3 @@ - -Dafny program verifier finished with 32 verified, 0 errors - -Dafny program verifier did not attempt verification -PriorityQueue_extrinsic: 3 -PriorityQueue_layered: 3 -PriorityQueue_intrinsic: 3 -PriorityQueue_on_intrinsic: 3 -PriorityQueue_direct: 3 - -Dafny program verifier did not attempt verification PriorityQueue_extrinsic: 3 PriorityQueue_layered: 3 PriorityQueue_intrinsic: 3 diff --git a/Test/dafny3/Abstemious.dfy b/Test/dafny3/Abstemious.dfy index 263c1f1fb00..62d891f950f 100644 --- a/Test/dafny3/Abstemious.dfy +++ b/Test/dafny3/Abstemious.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Examples from https://www.haskell.org/tutorial/functions.html diff --git a/Test/dafny3/Abstemious.dfy.expect b/Test/dafny3/Abstemious.dfy.expect index 96f109b0b58..3511a04a840 100644 --- a/Test/dafny3/Abstemious.dfy.expect +++ b/Test/dafny3/Abstemious.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 19 verified, 0 errors ones(): 1 1 1 1 1 1 1 ... from(3): 3 4 5 6 7 8 9 ... Map(plus1, ones()): 2 2 2 2 2 2 2 ... diff --git a/Test/dafny3/CachedContainer.dfy b/Test/dafny3/CachedContainer.dfy index 77c3e45897f..e36e76d6851 100644 --- a/Test/dafny3/CachedContainer.dfy +++ b/Test/dafny3/CachedContainer.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This file contains an example chain of module refinements, starting from a // simple interface M0 to an implementation M3. Module Client.Test() is diff --git a/Test/dafny3/CachedContainer.dfy.expect b/Test/dafny3/CachedContainer.dfy.expect index 08f4fb30b0a..ed2a587c3f1 100644 --- a/Test/dafny3/CachedContainer.dfy.expect +++ b/Test/dafny3/CachedContainer.dfy.expect @@ -1,79 +1 @@ -CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier finished with 29 verified, 0 errors -CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -false true false true -CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -false true false true -CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -false true false true -CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification false true false true diff --git a/Test/dafny3/CachedContainer.dfy.verifier.expect b/Test/dafny3/CachedContainer.dfy.verifier.expect new file mode 100644 index 00000000000..a037bc94ff6 --- /dev/null +++ b/Test/dafny3/CachedContainer.dfy.verifier.expect @@ -0,0 +1,13 @@ +CachedContainer.dfy(112,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(119,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(122,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(129,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(132,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(153,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(154,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(162,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(163,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(166,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(178,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(179,13): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny3/Iter.dfy b/Test/dafny3/Iter.dfy index 81431f2c64b..46befa24dd8 100644 --- a/Test/dafny3/Iter.dfy +++ b/Test/dafny3/Iter.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class List { ghost var Contents: seq diff --git a/Test/dafny3/Iter.dfy.expect b/Test/dafny3/Iter.dfy.expect index 69d7373d5d5..0ed11070541 100644 --- a/Test/dafny3/Iter.dfy.expect +++ b/Test/dafny3/Iter.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 12 verified, 0 errors 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 98 0 2 4 6 8 10 12 14 diff --git a/Test/dafny4/Ackermann.dfy b/Test/dafny4/Ackermann.dfy index 27968070e9b..a4ef351c96b 100644 --- a/Test/dafny4/Ackermann.dfy +++ b/Test/dafny4/Ackermann.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Rustan Leino, 8 Sep 2015. // This file proves that the Ackermann function is monotonic in each argument diff --git a/Test/dafny4/Ackermann.dfy.expect b/Test/dafny4/Ackermann.dfy.expect index c995dac9c9a..43d9513ef4b 100644 --- a/Test/dafny4/Ackermann.dfy.expect +++ b/Test/dafny4/Ackermann.dfy.expect @@ -1,5 +1 @@ -Ackermann.dfy(163,4): Warning: /!\ No terms found to trigger on. -Ackermann.dfy(181,4): Warning: /!\ No terms found to trigger on. - -Dafny program verifier finished with 14 verified, 0 errors Ack(3, 4) = 125 diff --git a/Test/dafny4/Ackermann.dfy.verifier.expect b/Test/dafny4/Ackermann.dfy.verifier.expect new file mode 100644 index 00000000000..b302e2b4daf --- /dev/null +++ b/Test/dafny4/Ackermann.dfy.verifier.expect @@ -0,0 +1,2 @@ +Ackermann.dfy(162,4): Warning: /!\ No terms found to trigger on. +Ackermann.dfy(180,4): Warning: /!\ No terms found to trigger on. diff --git a/Test/dafny4/Bug107.dfy b/Test/dafny4/Bug107.dfy index e417fc90a53..b7ab69c9a8d 100644 --- a/Test/dafny4/Bug107.dfy +++ b/Test/dafny4/Bug107.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/dafny4/Bug107.dfy.expect b/Test/dafny4/Bug107.dfy.expect index ad79213a18c..62f9457511f 100644 --- a/Test/dafny4/Bug107.dfy.expect +++ b/Test/dafny4/Bug107.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors 6 \ No newline at end of file diff --git a/Test/dafny4/Bug108.dfy b/Test/dafny4/Bug108.dfy index c64ec32a340..8228fe44f87 100644 --- a/Test/dafny4/Bug108.dfy +++ b/Test/dafny4/Bug108.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var A := map[0 := 1]; diff --git a/Test/dafny4/Bug108.dfy.expect b/Test/dafny4/Bug108.dfy.expect index c1c63f6c5c1..0777a01b26d 100644 --- a/Test/dafny4/Bug108.dfy.expect +++ b/Test/dafny4/Bug108.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 1 verified, 0 errors map[0 := 1] map[0 := 1] diff --git a/Test/dafny4/Bug113.dfy b/Test/dafny4/Bug113.dfy index 23c759540cd..0bec0c1ce31 100644 --- a/Test/dafny4/Bug113.dfy +++ b/Test/dafny4/Bug113.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype D = D(q:int, r:int, s:int, t:int) @@ -7,4 +6,4 @@ method Main() { print D(10, 20, 30, 40); print "\n"; -} \ No newline at end of file +} diff --git a/Test/dafny4/Bug113.dfy.expect b/Test/dafny4/Bug113.dfy.expect index 3ea1396ad00..e2eeff32e9a 100644 --- a/Test/dafny4/Bug113.dfy.expect +++ b/Test/dafny4/Bug113.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors D.D(10, 20, 30, 40) diff --git a/Test/dafny4/Bug116.dfy b/Test/dafny4/Bug116.dfy index e29da0f609d..501b74c74d5 100644 --- a/Test/dafny4/Bug116.dfy +++ b/Test/dafny4/Bug116.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // test various compiler-target keywords diff --git a/Test/dafny4/Bug116.dfy.expect b/Test/dafny4/Bug116.dfy.expect index 21aa85d71f0..93102ef3120 100644 --- a/Test/dafny4/Bug116.dfy.expect +++ b/Test/dafny4/Bug116.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors struct.S byte.arguments enum_Compile.goto.switch enum_Compile.goto.switch 20 + 20 == 40 diff --git a/Test/dafny4/Bug140.dfy b/Test/dafny4/Bug140.dfy index edde966c149..8280db8f665 100644 --- a/Test/dafny4/Bug140.dfy +++ b/Test/dafny4/Bug140.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class Node { ghost var List: seq diff --git a/Test/dafny4/Bug140.dfy.expect b/Test/dafny4/Bug140.dfy.expect index bad48de4d6b..a40ee1166fb 100644 --- a/Test/dafny4/Bug140.dfy.expect +++ b/Test/dafny4/Bug140.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 8 verified, 0 errors 1 2 diff --git a/Test/dafny4/Bug148.dfy b/Test/dafny4/Bug148.dfy index da1ebf99447..f31cef2cdc8 100644 --- a/Test/dafny4/Bug148.dfy +++ b/Test/dafny4/Bug148.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/dafny4/Bug148.dfy.expect b/Test/dafny4/Bug148.dfy.expect index 79d02517ceb..9ed6ca4768b 100644 --- a/Test/dafny4/Bug148.dfy.expect +++ b/Test/dafny4/Bug148.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 0 verified, 0 errors true false true diff --git a/Test/dafny4/Bug49.dfy b/Test/dafny4/Bug49.dfy index 68722830422..868f4a3964b 100644 --- a/Test/dafny4/Bug49.dfy +++ b/Test/dafny4/Bug49.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/dafny4/Bug49.dfy.expect b/Test/dafny4/Bug49.dfy.expect index 4e02a08bbee..800c2bd15ba 100644 --- a/Test/dafny4/Bug49.dfy.expect +++ b/Test/dafny4/Bug49.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 13 verified, 0 errors 6 6 5 diff --git a/Test/dafny4/Bug60.dfy b/Test/dafny4/Bug60.dfy index 0aa9209269d..f4585753f5f 100644 --- a/Test/dafny4/Bug60.dfy +++ b/Test/dafny4/Bug60.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This method can be used to test compilation. method Main() diff --git a/Test/dafny4/Bug60.dfy.expect b/Test/dafny4/Bug60.dfy.expect index 49740e95682..fd56dc3fcbc 100644 --- a/Test/dafny4/Bug60.dfy.expect +++ b/Test/dafny4/Bug60.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 0 verified, 0 errors ({2, 3}, map[2 := 20, 3 := 30]) (2, 2) {2, 3} diff --git a/Test/dafny4/Bug67.dfy b/Test/dafny4/Bug67.dfy index 731018a293b..f01d4239a75 100644 --- a/Test/dafny4/Bug67.dfy +++ b/Test/dafny4/Bug67.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype d = D(m:seq) @@ -8,4 +7,4 @@ method Main() assert D([10, 20]) == D([10, 20]); // succeeds print [10, 20] == [10, 20], "\n"; // prints True print D([10, 20]) == D([10, 20]); // prints False -} \ No newline at end of file +} diff --git a/Test/dafny4/Bug67.dfy.expect b/Test/dafny4/Bug67.dfy.expect index c716cab3144..0be5d980da4 100644 --- a/Test/dafny4/Bug67.dfy.expect +++ b/Test/dafny4/Bug67.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 1 verified, 0 errors true true \ No newline at end of file diff --git a/Test/dafny4/Bug68.dfy b/Test/dafny4/Bug68.dfy index a211206acba..bf50015f90c 100644 --- a/Test/dafny4/Bug68.dfy +++ b/Test/dafny4/Bug68.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method M1() { @@ -62,4 +61,4 @@ method Main() M3(); M3'(); M4(); -} \ No newline at end of file +} diff --git a/Test/dafny4/Bug68.dfy.expect b/Test/dafny4/Bug68.dfy.expect index f4ef534187d..814ccfee2df 100644 --- a/Test/dafny4/Bug68.dfy.expect +++ b/Test/dafny4/Bug68.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 8 verified, 0 errors true true true diff --git a/Test/dafny4/Bug89.dfy b/Test/dafny4/Bug89.dfy index 4aec1acb8b7..c7b77b44f99 100644 --- a/Test/dafny4/Bug89.dfy +++ b/Test/dafny4/Bug89.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method F() returns(x:int) ensures x == 6 diff --git a/Test/dafny4/Bug89.dfy.expect b/Test/dafny4/Bug89.dfy.expect index ed41c274352..62f9457511f 100644 --- a/Test/dafny4/Bug89.dfy.expect +++ b/Test/dafny4/Bug89.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors 6 \ No newline at end of file diff --git a/Test/dafny4/Bug94.dfy b/Test/dafny4/Bug94.dfy index be931445654..c41458539fc 100644 --- a/Test/dafny4/Bug94.dfy +++ b/Test/dafny4/Bug94.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment ghost function foo() : (int, int) { diff --git a/Test/dafny4/Bug94.dfy.expect b/Test/dafny4/Bug94.dfy.expect index ab0cfbb2d9e..3f10ffe7a4c 100644 --- a/Test/dafny4/Bug94.dfy.expect +++ b/Test/dafny4/Bug94.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors 15 \ No newline at end of file diff --git a/Test/dafny4/ClassRefinement.dfy b/Test/dafny4/ClassRefinement.dfy index 320749ec197..3d5fd1006eb 100644 --- a/Test/dafny4/ClassRefinement.dfy +++ b/Test/dafny4/ClassRefinement.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment abstract module M0 { class Counter { diff --git a/Test/dafny4/ClassRefinement.dfy.expect b/Test/dafny4/ClassRefinement.dfy.expect index f456b6777f3..cba3471eb57 100644 --- a/Test/dafny4/ClassRefinement.dfy.expect +++ b/Test/dafny4/ClassRefinement.dfy.expect @@ -1,44 +1 @@ -ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated -ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier finished with 11 verified, 0 errors -ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated -ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -2 1 -ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated -ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -2 1 -ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated -ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -2 1 -ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated -ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification 2 1 diff --git a/Test/dafny4/ClassRefinement.dfy.verifier.expect b/Test/dafny4/ClassRefinement.dfy.verifier.expect new file mode 100644 index 00000000000..543e77303b5 --- /dev/null +++ b/Test/dafny4/ClassRefinement.dfy.verifier.expect @@ -0,0 +1,6 @@ +ClassRefinement.dfy(68,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(69,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(74,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(75,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(77,6): Warning: the modify statement with a block statement is deprecated +ClassRefinement.dfy(78,13): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny4/ExpandedGuardedness.dfy b/Test/dafny4/ExpandedGuardedness.dfy index 5cd7828f932..af620ec40e8 100644 --- a/Test/dafny4/ExpandedGuardedness.dfy +++ b/Test/dafny4/ExpandedGuardedness.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/dafny4/ExpandedGuardedness.dfy.expect b/Test/dafny4/ExpandedGuardedness.dfy.expect index d05670701e0..e0f3b041a66 100644 --- a/Test/dafny4/ExpandedGuardedness.dfy.expect +++ b/Test/dafny4/ExpandedGuardedness.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 12 verified, 0 errors Up 19 20 21 22 23 Up2 19 20 21 22 23 UpIf 19 20 22 24 26 diff --git a/Test/dafny4/FlyingRobots.dfy b/Test/dafny4/FlyingRobots.dfy index 41223cca1aa..f14a2a467cd 100644 --- a/Test/dafny4/FlyingRobots.dfy +++ b/Test/dafny4/FlyingRobots.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // The flying robots examples from an F* tutorial. It demonstrates how to specify // mutable data structures in the heap. diff --git a/Test/dafny4/FlyingRobots.dfy.expect b/Test/dafny4/FlyingRobots.dfy.expect index 5ed0d97333e..e69de29bb2d 100644 --- a/Test/dafny4/FlyingRobots.dfy.expect +++ b/Test/dafny4/FlyingRobots.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 31 verified, 0 errors diff --git a/Test/dafny4/Leq.dfy b/Test/dafny4/Leq.dfy index fac12757ba0..fdbc1078ca3 100644 --- a/Test/dafny4/Leq.dfy +++ b/Test/dafny4/Leq.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Rustan Leino, 22 Sep 2015. // This file considers two definitions of Leq on naturals+infinity. One diff --git a/Test/dafny4/Leq.dfy.expect b/Test/dafny4/Leq.dfy.expect index 15301952c57..e69de29bb2d 100644 --- a/Test/dafny4/Leq.dfy.expect +++ b/Test/dafny4/Leq.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 16 verified, 0 errors diff --git a/Test/dafny4/McCarthy91.dfy b/Test/dafny4/McCarthy91.dfy index 466d30328cc..428f11eb269 100644 --- a/Test/dafny4/McCarthy91.dfy +++ b/Test/dafny4/McCarthy91.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // The usual recursive method for computing McCarthy's 91 function method Main() { diff --git a/Test/dafny4/McCarthy91.dfy.expect b/Test/dafny4/McCarthy91.dfy.expect index b63f7a0b03b..1511cff2c81 100644 --- a/Test/dafny4/McCarthy91.dfy.expect +++ b/Test/dafny4/McCarthy91.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors M(3) = 91 M(99) = 91 M(100) = 91 diff --git a/Test/dafny4/NatList.dfy b/Test/dafny4/NatList.dfy index 567fd461259..5a1b0358eaf 100644 --- a/Test/dafny4/NatList.dfy +++ b/Test/dafny4/NatList.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This file tests some programs where "nat" is a type parameter to // a datatype. diff --git a/Test/dafny4/NatList.dfy.expect b/Test/dafny4/NatList.dfy.expect index 2ceb3169787..5382a29cb9f 100644 --- a/Test/dafny4/NatList.dfy.expect +++ b/Test/dafny4/NatList.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 11 verified, 0 errors ns = List.Cons(4, List.Cons(10, List.Nil)) Sum(ns) = 14 ns' = List.Cons(20, List.Nil) diff --git a/Test/dafny4/Regression15.dfy b/Test/dafny4/Regression15.dfy index 37f31ba7e90..5ecb5ee4e2b 100644 --- a/Test/dafny4/Regression15.dfy +++ b/Test/dafny4/Regression15.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var b; diff --git a/Test/dafny4/Regression15.dfy.expect b/Test/dafny4/Regression15.dfy.expect index 584190727b9..4cf7b8a8eb1 100644 --- a/Test/dafny4/Regression15.dfy.expect +++ b/Test/dafny4/Regression15.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 3 verified, 0 errors false true true diff --git a/Test/dafny4/Regression2.dfy b/Test/dafny4/Regression2.dfy index 213bf265401..0d28285e74c 100644 --- a/Test/dafny4/Regression2.dfy +++ b/Test/dafny4/Regression2.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module NativeTypes { newtype uint64 = int diff --git a/Test/dafny4/Regression2.dfy.expect b/Test/dafny4/Regression2.dfy.expect index 3f8ac383f86..8a739fb435a 100644 --- a/Test/dafny4/Regression2.dfy.expect +++ b/Test/dafny4/Regression2.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors true true true diff --git a/Test/dafny4/Regression3.dfy b/Test/dafny4/Regression3.dfy index adaa0d2763d..fc60fad3cb1 100644 --- a/Test/dafny4/Regression3.dfy +++ b/Test/dafny4/Regression3.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/dafny4/Regression3.dfy.expect b/Test/dafny4/Regression3.dfy.expect index 841338987c7..1223bf9ffaf 100644 --- a/Test/dafny4/Regression3.dfy.expect +++ b/Test/dafny4/Regression3.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 3 verified, 0 errors 55 Trunc( -3.0 ) = -3 (expected -3) Trunc( -2.8 ) = -3 (expected -3) diff --git a/Test/dafny4/Regression4.dfy b/Test/dafny4/Regression4.dfy index 5f881a5083f..e4bc4cbef85 100644 --- a/Test/dafny4/Regression4.dfy +++ b/Test/dafny4/Regression4.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { } diff --git a/Test/dafny4/Regression4.dfy.expect b/Test/dafny4/Regression4.dfy.expect index ba00363fc08..e69de29bb2d 100644 --- a/Test/dafny4/Regression4.dfy.expect +++ b/Test/dafny4/Regression4.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 4 verified, 0 errors diff --git a/Test/dafny4/Regression6.dfy b/Test/dafny4/Regression6.dfy index f1551d3ef2d..b589ec0ce7d 100644 --- a/Test/dafny4/Regression6.dfy +++ b/Test/dafny4/Regression6.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function Sum(a: array, lo: int, hi: int): int requires 0 <= lo <= hi <= a.Length diff --git a/Test/dafny4/Regression6.dfy.expect b/Test/dafny4/Regression6.dfy.expect index 17464f29e0b..54573bead10 100644 --- a/Test/dafny4/Regression6.dfy.expect +++ b/Test/dafny4/Regression6.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors 0 1028 0 diff --git a/Test/dafny4/Regression7.dfy b/Test/dafny4/Regression7.dfy index 8ce421a62f3..ef3ca5eea44 100644 --- a/Test/dafny4/Regression7.dfy +++ b/Test/dafny4/Regression7.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /rprint:"%t.rprint" /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module ListLibrary { datatype List = Nil | Cons(head: B, tail: List) diff --git a/Test/dafny4/Regression7.dfy.expect b/Test/dafny4/Regression7.dfy.expect index 19e63b05225..70b01f973a0 100644 --- a/Test/dafny4/Regression7.dfy.expect +++ b/Test/dafny4/Regression7.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors ListLibrary_Compile.List.Cons(28.0, ListLibrary_Compile.List.Nil) diff --git a/Test/dafny4/Regression9.dfy b/Test/dafny4/Regression9.dfy index d9e44547252..086007a3ef8 100644 --- a/Test/dafny4/Regression9.dfy +++ b/Test/dafny4/Regression9.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Some tests for the type inference that was revamped // to better support subset types. diff --git a/Test/dafny4/Regression9.dfy.expect b/Test/dafny4/Regression9.dfy.expect index 5a26eaeabfb..2183b22cfa9 100644 --- a/Test/dafny4/Regression9.dfy.expect +++ b/Test/dafny4/Regression9.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors 'D''D''D' diff --git a/Test/dafny4/UnionFind.dfy b/Test/dafny4/UnionFind.dfy index 1968d0d3b26..e862fb64e64 100644 --- a/Test/dafny4/UnionFind.dfy +++ b/Test/dafny4/UnionFind.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Rustan Leino, Nov 2015 // Module M0 gives the high-level specification of the UnionFind data structure diff --git a/Test/dafny4/UnionFind.dfy.expect b/Test/dafny4/UnionFind.dfy.expect index 961b161b8dc..1cb72129e49 100644 --- a/Test/dafny4/UnionFind.dfy.expect +++ b/Test/dafny4/UnionFind.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 63 verified, 0 errors false true true false true true diff --git a/Test/dafny4/gcd.dfy b/Test/dafny4/gcd.dfy index 384e338435f..fa92223fa49 100644 --- a/Test/dafny4/gcd.dfy +++ b/Test/dafny4/gcd.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation // A text describing this file is found in a Dafny Power User note: http://leino.science/papers/krml279.html diff --git a/Test/dafny4/gcd.dfy.expect b/Test/dafny4/gcd.dfy.expect index ecbe2b6f64a..c17551a37a4 100644 --- a/Test/dafny4/gcd.dfy.expect +++ b/Test/dafny4/gcd.dfy.expect @@ -1,34 +1,3 @@ - -Dafny program verifier finished with 19 verified, 0 errors - -Dafny program verifier did not attempt verification -15 gcd 9 = 3 -14 gcd 22 = 2 -371 gcd 1 = 1 -1 gcd 2 = 1 -1 gcd 1 = 1 -13 gcd 13 = 13 -60 gcd 60 = 60 - -Dafny program verifier did not attempt verification -15 gcd 9 = 3 -14 gcd 22 = 2 -371 gcd 1 = 1 -1 gcd 2 = 1 -1 gcd 1 = 1 -13 gcd 13 = 13 -60 gcd 60 = 60 - -Dafny program verifier did not attempt verification -15 gcd 9 = 3 -14 gcd 22 = 2 -371 gcd 1 = 1 -1 gcd 2 = 1 -1 gcd 1 = 1 -13 gcd 13 = 13 -60 gcd 60 = 60 - -Dafny program verifier did not attempt verification 15 gcd 9 = 3 14 gcd 22 = 2 371 gcd 1 = 1 diff --git a/Test/dafny4/git-issue104.dfy b/Test/dafny4/git-issue104.dfy index 86683a2ed88..b05ec4de1cc 100644 --- a/Test/dafny4/git-issue104.dfy +++ b/Test/dafny4/git-issue104.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment predicate bug(a: array) reads a diff --git a/Test/dafny4/git-issue104.dfy.expect b/Test/dafny4/git-issue104.dfy.expect index f572edb2471..836a5934c8f 100644 --- a/Test/dafny4/git-issue104.dfy.expect +++ b/Test/dafny4/git-issue104.dfy.expect @@ -1,17 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification -true false - -Dafny program verifier did not attempt verification -true false - -Dafny program verifier did not attempt verification -true false - -Dafny program verifier did not attempt verification -true false - -Dafny program verifier did not attempt verification true false diff --git a/Test/dafny4/git-issue105.dfy b/Test/dafny4/git-issue105.dfy index 09cfce29a6e..4cff2330cba 100644 --- a/Test/dafny4/git-issue105.dfy +++ b/Test/dafny4/git-issue105.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method lol() returns (c: int) { diff --git a/Test/dafny4/git-issue105.dfy.expect b/Test/dafny4/git-issue105.dfy.expect index 012f5b99379..e69de29bb2d 100644 --- a/Test/dafny4/git-issue105.dfy.expect +++ b/Test/dafny4/git-issue105.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/dafny4/git-issue15.dfy b/Test/dafny4/git-issue15.dfy index 96905286209..7c77a67ccf9 100755 --- a/Test/dafny4/git-issue15.dfy +++ b/Test/dafny4/git-issue15.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype obj = Obj(fooBar:map) datatype foo = Foo diff --git a/Test/dafny4/git-issue15.dfy.expect b/Test/dafny4/git-issue15.dfy.expect index e52de78d0b1..00750edc07d 100755 --- a/Test/dafny4/git-issue15.dfy.expect +++ b/Test/dafny4/git-issue15.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors 3 diff --git a/Test/dafny4/git-issue167.dfy b/Test/dafny4/git-issue167.dfy index d02943dc42d..d98d425c345 100644 --- a/Test/dafny4/git-issue167.dfy +++ b/Test/dafny4/git-issue167.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { LetTest(); diff --git a/Test/dafny4/git-issue167.dfy.expect b/Test/dafny4/git-issue167.dfy.expect index 0a230fe846e..8c5e1ed8df7 100644 --- a/Test/dafny4/git-issue167.dfy.expect +++ b/Test/dafny4/git-issue167.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 4 verified, 0 errors 30 {6, 7} {['M', 'i', 'l', 'l', 'a'], ['A', 'l', 'f', 'o', 'n', 's']} diff --git a/Test/dafny4/git-issue195.dfy b/Test/dafny4/git-issue195.dfy index ac4b1306ac6..fccdc5461c8 100644 --- a/Test/dafny4/git-issue195.dfy +++ b/Test/dafny4/git-issue195.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Block = Block(prevBlockHash:Hash, txs:seq, proof:VProof) diff --git a/Test/dafny4/git-issue195.dfy.expect b/Test/dafny4/git-issue195.dfy.expect index 30692fdef2a..638bfb50b2d 100644 --- a/Test/dafny4/git-issue195.dfy.expect +++ b/Test/dafny4/git-issue195.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 4 verified, 0 errors true true true true true diff --git a/Test/dafny4/git-issue196.dfy b/Test/dafny4/git-issue196.dfy index 64eb0e9123f..056687ab1a5 100644 --- a/Test/dafny4/git-issue196.dfy +++ b/Test/dafny4/git-issue196.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class A { var a: array> diff --git a/Test/dafny4/git-issue196.dfy.expect b/Test/dafny4/git-issue196.dfy.expect index a333f982b8f..ee25a2c5027 100644 --- a/Test/dafny4/git-issue196.dfy.expect +++ b/Test/dafny4/git-issue196.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 9 verified, 0 errors 42 42 42 5000 5000 5000 5000 5000 diff --git a/Test/dafny4/git-issue4.dfy b/Test/dafny4/git-issue4.dfy index b19cf3ce6df..b17a545e219 100644 --- a/Test/dafny4/git-issue4.dfy +++ b/Test/dafny4/git-issue4.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function IntToChar(i:int):char requires 0 <= i < 10 diff --git a/Test/dafny4/git-issue4.dfy.expect b/Test/dafny4/git-issue4.dfy.expect index 33af1e040b7..24e24eb63cc 100644 --- a/Test/dafny4/git-issue4.dfy.expect +++ b/Test/dafny4/git-issue4.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors '8' 8 '8' 56 56 diff --git a/Test/dafny4/git-issue43.dfy b/Test/dafny4/git-issue43.dfy index edf056a1a91..d320d7761bc 100644 --- a/Test/dafny4/git-issue43.dfy +++ b/Test/dafny4/git-issue43.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class System { } diff --git a/Test/dafny4/git-issue43.dfy.expect b/Test/dafny4/git-issue43.dfy.expect index 012f5b99379..e69de29bb2d 100644 --- a/Test/dafny4/git-issue43.dfy.expect +++ b/Test/dafny4/git-issue43.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/dafny4/git-issue70.dfy b/Test/dafny4/git-issue70.dfy index c8db7c9618d..3a3a01e0af7 100644 --- a/Test/dafny4/git-issue70.dfy +++ b/Test/dafny4/git-issue70.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/dafny4/git-issue70.dfy.expect b/Test/dafny4/git-issue70.dfy.expect index 526e9a5b349..36ede89b639 100644 --- a/Test/dafny4/git-issue70.dfy.expect +++ b/Test/dafny4/git-issue70.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 3 verified, 0 errors map test {4, 6} {5, 7} diff --git a/Test/dafny4/git-issue76.dfy b/Test/dafny4/git-issue76.dfy index 708ee911b24..85613dba2f2 100644 --- a/Test/dafny4/git-issue76.dfy +++ b/Test/dafny4/git-issue76.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { M0(); diff --git a/Test/dafny4/git-issue76.dfy.expect b/Test/dafny4/git-issue76.dfy.expect index 546da03a267..0cfbf08886f 100644 --- a/Test/dafny4/git-issue76.dfy.expect +++ b/Test/dafny4/git-issue76.dfy.expect @@ -1,8 +1 @@ - -Dafny program verifier finished with 7 verified, 0 errors - -Dafny program verifier did not attempt verification -2 - -Dafny program verifier did not attempt verification 2 diff --git a/Test/dafny4/git-issue79.dfy b/Test/dafny4/git-issue79.dfy index 046a7c5e375..f3fb17b8531 100644 --- a/Test/dafny4/git-issue79.dfy +++ b/Test/dafny4/git-issue79.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype EInt = Int(val: int) | Unknown type Pair = (string, EInt) diff --git a/Test/dafny4/git-issue79.dfy.expect b/Test/dafny4/git-issue79.dfy.expect index 012f5b99379..e69de29bb2d 100644 --- a/Test/dafny4/git-issue79.dfy.expect +++ b/Test/dafny4/git-issue79.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/dafny4/git-issue88.dfy b/Test/dafny4/git-issue88.dfy index 1c188333783..83c0b4a8ef9 100644 --- a/Test/dafny4/git-issue88.dfy +++ b/Test/dafny4/git-issue88.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment type Grid = array2 diff --git a/Test/dafny4/git-issue88.dfy.expect b/Test/dafny4/git-issue88.dfy.expect index 00a51f822da..e69de29bb2d 100644 --- a/Test/dafny4/git-issue88.dfy.expect +++ b/Test/dafny4/git-issue88.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 3 verified, 0 errors diff --git a/Test/exceptions/Exceptions1.dfy b/Test/exceptions/Exceptions1.dfy index 11bb2f7923d..4ffd3291f2f 100644 --- a/Test/exceptions/Exceptions1.dfy +++ b/Test/exceptions/Exceptions1.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" /rprint:"%t.rprint" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "./NatOutcome.dfy" include "./VoidOutcome.dfy" diff --git a/Test/exceptions/Exceptions1.dfy.expect b/Test/exceptions/Exceptions1.dfy.expect index e61be2a11ad..c87eb938c55 100644 --- a/Test/exceptions/Exceptions1.dfy.expect +++ b/Test/exceptions/Exceptions1.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 7 verified, 0 errors true_true_true_88_42_33_Success=100 ___VoidSuccess true_true_false_88_42_Failure diff --git a/Test/exceptions/Exceptions1Expressions.dfy b/Test/exceptions/Exceptions1Expressions.dfy index c0f3c67cd39..a57e5b78c7e 100644 --- a/Test/exceptions/Exceptions1Expressions.dfy +++ b/Test/exceptions/Exceptions1Expressions.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" /rprint:"%t.rprint" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "./NatOutcomeDt.dfy" include "./VoidOutcomeDt.dfy" diff --git a/Test/exceptions/Exceptions1Expressions.dfy.expect b/Test/exceptions/Exceptions1Expressions.dfy.expect index 3da30f30d36..3f1b38ab150 100644 --- a/Test/exceptions/Exceptions1Expressions.dfy.expect +++ b/Test/exceptions/Exceptions1Expressions.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors true_true_true_Success=100 VoidSuccess true_true_false_Failure diff --git a/Test/exports/FIFO.dfy b/Test/exports/FIFO.dfy index 173e412eaa9..95a8d25510c 100644 --- a/Test/exports/FIFO.dfy +++ b/Test/exports/FIFO.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "Queue.dfyi" diff --git a/Test/exports/FIFO.dfy.expect b/Test/exports/FIFO.dfy.expect index 8350309cc2a..4539bbf2d22 100644 --- a/Test/exports/FIFO.dfy.expect +++ b/Test/exports/FIFO.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors 0 1 2 diff --git a/Test/exports/LIFO.dfy b/Test/exports/LIFO.dfy index ea691935620..513dd457c3f 100644 --- a/Test/exports/LIFO.dfy +++ b/Test/exports/LIFO.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "Queue.dfyi" diff --git a/Test/exports/LIFO.dfy.expect b/Test/exports/LIFO.dfy.expect index 48aa7787d09..ae136939b64 100644 --- a/Test/exports/LIFO.dfy.expect +++ b/Test/exports/LIFO.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors 2 1 0 diff --git a/Test/exports/xrefine2.dfy b/Test/exports/xrefine2.dfy index 0b25240916c..2409cc0509a 100644 --- a/Test/exports/xrefine2.dfy +++ b/Test/exports/xrefine2.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module ProtocolImpl { diff --git a/Test/exports/xrefine2.dfy.expect b/Test/exports/xrefine2.dfy.expect index 34e1b357779..858dbd09862 100644 --- a/Test/exports/xrefine2.dfy.expect +++ b/Test/exports/xrefine2.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 4 verified, 0 errors HI.foo(h1) => true HI.foo(h2) => true PI.orange(1) => 2 diff --git a/Test/exports/xrefine3.dfy b/Test/exports/xrefine3.dfy index 24d6fa062f0..bb2480bfed7 100644 --- a/Test/exports/xrefine3.dfy +++ b/Test/exports/xrefine3.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module AlphaImpl { diff --git a/Test/exports/xrefine3.dfy.expect b/Test/exports/xrefine3.dfy.expect index 488ab11c36a..ae50cef0985 100644 --- a/Test/exports/xrefine3.dfy.expect +++ b/Test/exports/xrefine3.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors o hai! diff --git a/Test/git-issues/git-issue-032.dfy b/Test/git-issues/git-issue-032.dfy index bde5b2f2a69..d7dd61440a7 100644 --- a/Test/git-issues/git-issue-032.dfy +++ b/Test/git-issues/git-issue-032.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/git-issues/git-issue-032.dfy.expect b/Test/git-issues/git-issue-032.dfy.expect index 91c285009c1..2a64997c6f7 100644 --- a/Test/git-issues/git-issue-032.dfy.expect +++ b/Test/git-issues/git-issue-032.dfy.expect @@ -1,40 +1,3 @@ -git-issue-032.dfy(18,35): Warning: this branch is redundant -git-issue-032.dfy(27,34): Warning: this branch is redundant -git-issue-032.dfy(28,35): Warning: this branch is redundant - -Dafny program verifier finished with 1 verified, 0 errors -git-issue-032.dfy(18,35): Warning: this branch is redundant -git-issue-032.dfy(27,34): Warning: this branch is redundant -git-issue-032.dfy(28,35): Warning: this branch is redundant - -Dafny program verifier did not attempt verification -OK3 -OK -OKOK -00 -git-issue-032.dfy(18,35): Warning: this branch is redundant -git-issue-032.dfy(27,34): Warning: this branch is redundant -git-issue-032.dfy(28,35): Warning: this branch is redundant - -Dafny program verifier did not attempt verification -OK3 -OK -OKOK -00 -git-issue-032.dfy(18,35): Warning: this branch is redundant -git-issue-032.dfy(27,34): Warning: this branch is redundant -git-issue-032.dfy(28,35): Warning: this branch is redundant - -Dafny program verifier did not attempt verification -OK3 -OK -OKOK -00 -git-issue-032.dfy(18,35): Warning: this branch is redundant -git-issue-032.dfy(27,34): Warning: this branch is redundant -git-issue-032.dfy(28,35): Warning: this branch is redundant - -Dafny program verifier did not attempt verification OK3 OK OKOK diff --git a/Test/git-issues/git-issue-032.dfy.verifier.expect b/Test/git-issues/git-issue-032.dfy.verifier.expect new file mode 100644 index 00000000000..1878351db97 --- /dev/null +++ b/Test/git-issues/git-issue-032.dfy.verifier.expect @@ -0,0 +1,3 @@ +git-issue-032.dfy(13,35): Warning: this branch is redundant +git-issue-032.dfy(22,34): Warning: this branch is redundant +git-issue-032.dfy(23,35): Warning: this branch is redundant diff --git a/Test/git-issues/git-issue-1029.dfy b/Test/git-issues/git-issue-1029.dfy index a310a99c169..7e1e7a31cf2 100644 --- a/Test/git-issues/git-issue-1029.dfy +++ b/Test/git-issues/git-issue-1029.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module ValueType { export S diff --git a/Test/git-issues/git-issue-1029.dfy.expect b/Test/git-issues/git-issue-1029.dfy.expect index 075fcd93aed..f603f618f29 100644 --- a/Test/git-issues/git-issue-1029.dfy.expect +++ b/Test/git-issues/git-issue-1029.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors [true, true, false] UI_Compile.Op2.GetOps([true, true, false], [true, true, false]) diff --git a/Test/git-issues/git-issue-1093.dfy b/Test/git-issues/git-issue-1093.dfy index 9365397496f..97797296680 100644 --- a/Test/git-issues/git-issue-1093.dfy +++ b/Test/git-issues/git-issue-1093.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { UnusedLabel(); diff --git a/Test/git-issues/git-issue-1093.dfy.expect b/Test/git-issues/git-issue-1093.dfy.expect index 0cadf5e4199..f599e28b8ab 100644 --- a/Test/git-issues/git-issue-1093.dfy.expect +++ b/Test/git-issues/git-issue-1093.dfy.expect @@ -1,17 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification -10 - -Dafny program verifier did not attempt verification -10 - -Dafny program verifier did not attempt verification -10 - -Dafny program verifier did not attempt verification -10 - -Dafny program verifier did not attempt verification 10 diff --git a/Test/git-issues/git-issue-1100.dfy b/Test/git-issues/git-issue-1100.dfy index 533d7688731..2c4bb564136 100644 --- a/Test/git-issues/git-issue-1100.dfy +++ b/Test/git-issues/git-issue-1100.dfy @@ -1,4 +1,3 @@ -// RUN: %dafny /compile:3 /unicodeChar:0 /compileTarget:cpp %S/../c++/arrays.dfy > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false /Users/salkeldr/Documents/GitHub/dafny/Test/git-issues/../c++/arrays.dfy // Test compilation of a file in another directory diff --git a/Test/git-issues/git-issue-1100.dfy.expect b/Test/git-issues/git-issue-1100.dfy.expect index 552f9355593..2ce9320d8c2 100644 --- a/Test/git-issues/git-issue-1100.dfy.expect +++ b/Test/git-issues/git-issue-1100.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 9 verified, 0 errors 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/git-issues/git-issue-1130.dfy b/Test/git-issues/git-issue-1130.dfy index 5b7fc5068e2..f1f5ad5a54b 100644 --- a/Test/git-issues/git-issue-1130.dfy +++ b/Test/git-issues/git-issue-1130.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var a := new Issue.Foo(); diff --git a/Test/git-issues/git-issue-1130.dfy.expect b/Test/git-issues/git-issue-1130.dfy.expect index 6c3dd07b1f1..de97a6dc4ca 100644 --- a/Test/git-issues/git-issue-1130.dfy.expect +++ b/Test/git-issues/git-issue-1130.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 13 verified, 0 errors 012 diff --git a/Test/git-issues/git-issue-1150.dfy b/Test/git-issues/git-issue-1150.dfy index d4cee3c3ef2..d3416a53813 100644 --- a/Test/git-issues/git-issue-1150.dfy +++ b/Test/git-issues/git-issue-1150.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Foo = Foo(x: nat) { diff --git a/Test/git-issues/git-issue-1150.dfy.expect b/Test/git-issues/git-issue-1150.dfy.expect index fb4be1897cf..f34d8df4a11 100644 --- a/Test/git-issues/git-issue-1150.dfy.expect +++ b/Test/git-issues/git-issue-1150.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 1 verified, 0 errors Foo.Foo(2) true Foo.Foo(5) false diff --git a/Test/git-issues/git-issue-1185.dfy b/Test/git-issues/git-issue-1185.dfy index 32c340b0736..c7ad72134d1 100644 --- a/Test/git-issues/git-issue-1185.dfy +++ b/Test/git-issues/git-issue-1185.dfy @@ -1,9 +1,5 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment predicate P(s: set) requires s != {} diff --git a/Test/git-issues/git-issue-1185.dfy.expect b/Test/git-issues/git-issue-1185.dfy.expect index 90ab58a1f5a..525ce875525 100644 --- a/Test/git-issues/git-issue-1185.dfy.expect +++ b/Test/git-issues/git-issue-1185.dfy.expect @@ -1,14 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification -{12, 20} true 6 - -Dafny program verifier did not attempt verification -{20, 12} true 6 - -Dafny program verifier did not attempt verification -{12, 20} true 6 - -Dafny program verifier did not attempt verification {12, 20} true 6 diff --git a/Test/git-issues/git-issue-1185.dfy.java.expect b/Test/git-issues/git-issue-1185.dfy.java.expect new file mode 100644 index 00000000000..8ba669ad273 --- /dev/null +++ b/Test/git-issues/git-issue-1185.dfy.java.expect @@ -0,0 +1 @@ +{20, 12} true 6 diff --git a/Test/git-issues/git-issue-1514.dfy b/Test/git-issues/git-issue-1514.dfy index 74b75478609..816eadce69b 100644 --- a/Test/git-issues/git-issue-1514.dfy +++ b/Test/git-issues/git-issue-1514.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "Wrappers.dfy" import opened Wrappers diff --git a/Test/git-issues/git-issue-1514.dfy.expect b/Test/git-issues/git-issue-1514.dfy.expect index 2f22d47cee8..b5754e20373 100644 --- a/Test/git-issues/git-issue-1514.dfy.expect +++ b/Test/git-issues/git-issue-1514.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-1514b.dfy b/Test/git-issues/git-issue-1514b.dfy index 1d8cd122d28..050a4a71760 100644 --- a/Test/git-issues/git-issue-1514b.dfy +++ b/Test/git-issues/git-issue-1514b.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "Wrappers.dfy" import opened Wrappers diff --git a/Test/git-issues/git-issue-1514b.dfy.expect b/Test/git-issues/git-issue-1514b.dfy.expect index 2f22d47cee8..b5754e20373 100644 --- a/Test/git-issues/git-issue-1514b.dfy.expect +++ b/Test/git-issues/git-issue-1514b.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-1514c.dfy b/Test/git-issues/git-issue-1514c.dfy index d9df7d108c1..578316f217c 100644 --- a/Test/git-issues/git-issue-1514c.dfy +++ b/Test/git-issues/git-issue-1514c.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "Wrappers.dfy" import opened Wrappers diff --git a/Test/git-issues/git-issue-1514c.dfy.expect b/Test/git-issues/git-issue-1514c.dfy.expect index 694254c28aa..9766475a418 100644 --- a/Test/git-issues/git-issue-1514c.dfy.expect +++ b/Test/git-issues/git-issue-1514c.dfy.expect @@ -1,8 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification -ok - -Dafny program verifier did not attempt verification ok diff --git a/Test/git-issues/git-issue-1553.dfy b/Test/git-issues/git-issue-1553.dfy index 6267018c92d..81cbef7aa7e 100644 --- a/Test/git-issues/git-issue-1553.dfy +++ b/Test/git-issues/git-issue-1553.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { } method Test() { diff --git a/Test/git-issues/git-issue-1553.dfy.expect b/Test/git-issues/git-issue-1553.dfy.expect index 65d3b5d6635..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-1553.dfy.expect +++ b/Test/git-issues/git-issue-1553.dfy.expect @@ -1,10 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-1604b.dfy b/Test/git-issues/git-issue-1604b.dfy index 497ee5017d5..cf425f412d6 100644 --- a/Test/git-issues/git-issue-1604b.dfy +++ b/Test/git-issues/git-issue-1604b.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /errorLimit:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --verification-error-limit:0 // Double constraints. Will this still work? diff --git a/Test/git-issues/git-issue-1604b.dfy.expect b/Test/git-issues/git-issue-1604b.dfy.expect index 93d7203e654..b5754e20373 100644 --- a/Test/git-issues/git-issue-1604b.dfy.expect +++ b/Test/git-issues/git-issue-1604b.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 5 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-1714.dfy b/Test/git-issues/git-issue-1714.dfy index 6ce8915a7af..540a41c39cb 100644 --- a/Test/git-issues/git-issue-1714.dfy +++ b/Test/git-issues/git-issue-1714.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait Base {} class Derived extends Base { var n: int constructor() { n := 0; } } diff --git a/Test/git-issues/git-issue-1714.dfy.expect b/Test/git-issues/git-issue-1714.dfy.expect index 67dd7d95642..88039063d09 100644 --- a/Test/git-issues/git-issue-1714.dfy.expect +++ b/Test/git-issues/git-issue-1714.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors (b as Derived).n == 0 diff --git a/Test/git-issues/git-issue-179.dfy b/Test/git-issues/git-issue-179.dfy index 283a04f1a68..d37d3048490 100644 --- a/Test/git-issues/git-issue-179.dfy +++ b/Test/git-issues/git-issue-179.dfy @@ -1,9 +1,5 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var mp: map; diff --git a/Test/git-issues/git-issue-179.dfy.expect b/Test/git-issues/git-issue-179.dfy.expect index 3f922ac5bd4..97cb7aa6c7a 100644 --- a/Test/git-issues/git-issue-179.dfy.expect +++ b/Test/git-issues/git-issue-179.dfy.expect @@ -1,26 +1,4 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification {(3, false), (4, true), (5, false)} {3, 4, 5} {false, true} true false true false - -Dafny program verifier did not attempt verification -{(5, false), (4, true), (3, false)} -{5, 4, 3} -{false, true} -true false true false - -Dafny program verifier did not attempt verification -{(5, false), (4, true), (3, false)} -{5, 4, 3} -{false, true} -true false true false - -Dafny program verifier did not attempt verification -{(5, false), (3, false), (4, true)} -{3, 4, 5} -{false, true} -true false true false diff --git a/Test/git-issues/git-issue-179.dfy.go.expect b/Test/git-issues/git-issue-179.dfy.go.expect new file mode 100644 index 00000000000..3b6c1b2603f --- /dev/null +++ b/Test/git-issues/git-issue-179.dfy.go.expect @@ -0,0 +1,4 @@ +{(5, false), (4, true), (3, false)} +{5, 4, 3} +{false, true} +true false true false diff --git a/Test/git-issues/git-issue-179.dfy.java.expect b/Test/git-issues/git-issue-179.dfy.java.expect new file mode 100644 index 00000000000..ebe17288dfd --- /dev/null +++ b/Test/git-issues/git-issue-179.dfy.java.expect @@ -0,0 +1,4 @@ +{(5, false), (3, false), (4, true)} +{3, 4, 5} +{false, true} +true false true false diff --git a/Test/git-issues/git-issue-179.dfy.js.expect b/Test/git-issues/git-issue-179.dfy.js.expect new file mode 100644 index 00000000000..3b6c1b2603f --- /dev/null +++ b/Test/git-issues/git-issue-179.dfy.js.expect @@ -0,0 +1,4 @@ +{(5, false), (4, true), (3, false)} +{5, 4, 3} +{false, true} +true false true false diff --git a/Test/git-issues/git-issue-1815a.dfy b/Test/git-issues/git-issue-1815a.dfy index 91fb7a32aa6..72d55a1cb4f 100644 --- a/Test/git-issues/git-issue-1815a.dfy +++ b/Test/git-issues/git-issue-1815a.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Dt<+U> = Dt(x: U, i: int) diff --git a/Test/git-issues/git-issue-1815a.dfy.expect b/Test/git-issues/git-issue-1815a.dfy.expect index 7b2651302d9..19f86f493ab 100644 --- a/Test/git-issues/git-issue-1815a.dfy.expect +++ b/Test/git-issues/git-issue-1815a.dfy.expect @@ -1,17 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification -done - -Dafny program verifier did not attempt verification -done - -Dafny program verifier did not attempt verification -done - -Dafny program verifier did not attempt verification -done - -Dafny program verifier did not attempt verification done diff --git a/Test/git-issues/git-issue-1852.dfy b/Test/git-issues/git-issue-1852.dfy index 516835e8ea8..046f3fca1fc 100644 --- a/Test/git-issues/git-issue-1852.dfy +++ b/Test/git-issues/git-issue-1852.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module A { export diff --git a/Test/git-issues/git-issue-1852.dfy.expect b/Test/git-issues/git-issue-1852.dfy.expect index e9cd0ea2e07..299a71f3fe4 100644 --- a/Test/git-issues/git-issue-1852.dfy.expect +++ b/Test/git-issues/git-issue-1852.dfy.expect @@ -1,8 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification -5 5 - -Dafny program verifier did not attempt verification 5 5 diff --git a/Test/git-issues/git-issue-1903.dfy b/Test/git-issues/git-issue-1903.dfy index 7edb2a46c61..60ee1c121ab 100644 --- a/Test/git-issues/git-issue-1903.dfy +++ b/Test/git-issues/git-issue-1903.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method g(x : seq := []) { diff --git a/Test/git-issues/git-issue-1903.dfy.expect b/Test/git-issues/git-issue-1903.dfy.expect index 3170fb0c7f2..84cc8d360f9 100644 --- a/Test/git-issues/git-issue-1903.dfy.expect +++ b/Test/git-issues/git-issue-1903.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors worked! diff --git a/Test/git-issues/git-issue-1909.dfy b/Test/git-issues/git-issue-1909.dfy index 7fb5b3b8c48..83d9ec1d785 100644 --- a/Test/git-issues/git-issue-1909.dfy +++ b/Test/git-issues/git-issue-1909.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype ABC = ABC(nameonly a: int, nameonly b: int, nameonly c: int) diff --git a/Test/git-issues/git-issue-1909.dfy.expect b/Test/git-issues/git-issue-1909.dfy.expect index b4eb7e7774e..ab6f7d69d36 100644 --- a/Test/git-issues/git-issue-1909.dfy.expect +++ b/Test/git-issues/git-issue-1909.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors ABC.ABC(19, 21, 23) ABC.ABC(19, 42, 23) ABC.ABC(100, 42, 90) diff --git a/Test/git-issues/git-issue-2013.dfy b/Test/git-issues/git-issue-2013.dfy index d1d3e15880e..1f3962988ee 100644 --- a/Test/git-issues/git-issue-2013.dfy +++ b/Test/git-issues/git-issue-2013.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/git-issues/git-issue-2013.dfy.expect b/Test/git-issues/git-issue-2013.dfy.expect index bbf7e59b073..2cf9744efb3 100644 --- a/Test/git-issues/git-issue-2013.dfy.expect +++ b/Test/git-issues/git-issue-2013.dfy.expect @@ -1,55 +1,3 @@ - -Dafny program verifier finished with 12 verified, 0 errors - -Dafny program verifier did not attempt verification -16 -16 -12 30 30 -Result.Success(8) Result.Failure(_module.MyClassException) -{100} {100} {100} -{MoreTests_Compile.C} {MoreTests_Compile.C} {MoreTests_Compile.C} -100 100 100 -MoreTests_Compile.C MoreTests_Compile.C MoreTests_Compile.C -Conveyance_Compile.NonVariantResult.NVSuccess(Conveyance_Compile.Car) Conveyance_Compile.CovariantResult.CVSuccess(Conveyance_Compile.Car) -Regression_mM_Compile.Stream.Next - -Dafny program verifier did not attempt verification -16 -16 -12 30 30 -Result.Success(8) Result.Failure(_module.MyClassException) -{100} {100} {100} -{MoreTests_Compile.C} {MoreTests_Compile.C} {MoreTests_Compile.C} -100 100 100 -MoreTests_Compile.C MoreTests_Compile.C MoreTests_Compile.C -Conveyance_Compile.NonVariantResult.NVSuccess(Conveyance_Compile.Car) Conveyance_Compile.CovariantResult.CVSuccess(Conveyance_Compile.Car) -Regression_mM_Compile.Stream.Next - -Dafny program verifier did not attempt verification -16 -16 -12 30 30 -Result.Success(8) Result.Failure(_module.MyClassException) -{100} {100} {100} -{MoreTests_Compile.C} {MoreTests_Compile.C} {MoreTests_Compile.C} -100 100 100 -MoreTests_Compile.C MoreTests_Compile.C MoreTests_Compile.C -Conveyance_Compile.NonVariantResult.NVSuccess(Conveyance_Compile.Car) Conveyance_Compile.CovariantResult.CVSuccess(Conveyance_Compile.Car) -Regression_mM_Compile.Stream.Next - -Dafny program verifier did not attempt verification -16 -16 -12 30 30 -Result.Success(8) Result.Failure(_module.MyClassException) -{100} {100} {100} -{MoreTests_Compile.C} {MoreTests_Compile.C} {MoreTests_Compile.C} -100 100 100 -MoreTests_Compile.C MoreTests_Compile.C MoreTests_Compile.C -Conveyance_Compile.NonVariantResult.NVSuccess(Conveyance_Compile.Car) Conveyance_Compile.CovariantResult.CVSuccess(Conveyance_Compile.Car) -Regression_mM_Compile.Stream.Next - -Dafny program verifier did not attempt verification 16 16 12 30 30 diff --git a/Test/git-issues/git-issue-2441.dfy b/Test/git-issues/git-issue-2441.dfy index bc9c8721ee2..4179ecc87bc 100644 --- a/Test/git-issues/git-issue-2441.dfy +++ b/Test/git-issues/git-issue-2441.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype A = A(B: B) datatype B = X diff --git a/Test/git-issues/git-issue-2441.dfy.expect b/Test/git-issues/git-issue-2441.dfy.expect index 0c3f603d584..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-2441.dfy.expect +++ b/Test/git-issues/git-issue-2441.dfy.expect @@ -1,6 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-2510.dfy b/Test/git-issues/git-issue-2510.dfy index 22ef8e47058..11ee2877bb3 100644 --- a/Test/git-issues/git-issue-2510.dfy +++ b/Test/git-issues/git-issue-2510.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:4 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /// Check that the compiler accepts `:- assume {:axiom} …`. diff --git a/Test/git-issues/git-issue-2510.dfy.expect b/Test/git-issues/git-issue-2510.dfy.expect index b341a39a78d..56a6051ca2b 100644 --- a/Test/git-issues/git-issue-2510.dfy.expect +++ b/Test/git-issues/git-issue-2510.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors 1 \ No newline at end of file diff --git a/Test/git-issues/git-issue-258.dfy b/Test/git-issues/git-issue-258.dfy index dbc437cebbc..e6a5ef2248d 100644 --- a/Test/git-issues/git-issue-258.dfy +++ b/Test/git-issues/git-issue-258.dfy @@ -1,9 +1,5 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /compile:3 /unicodeChar:0 /spillTargetCode:3 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /compile:3 /unicodeChar:0 /spillTargetCode:3 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /compile:3 /unicodeChar:0 /spillTargetCode:3 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /compile:3 /unicodeChar:0 /spillTargetCode:3 /compileTarget:go "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false method pr(s: seq) { print s, "\n"; diff --git a/Test/git-issues/git-issue-258.dfy.expect b/Test/git-issues/git-issue-258.dfy.expect index 8cf196174b8..31b98032806 100644 --- a/Test/git-issues/git-issue-258.dfy.expect +++ b/Test/git-issues/git-issue-258.dfy.expect @@ -1,83 +1,10 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier finished with 1 verified, 0 errors -hi -hi - - -HI! -hi - -HI! - -[23, 45] -[23, 45] -[] -[] -abcabc -abcabc -abcdef -abcdef - - -[1, 2, 3, 4] -[1, 2, 3, 4] - -Dafny program verifier finished with 1 verified, 0 errors -hi -hi - - -HI! -hi - -HI! - -[23, 45] -[23, 45] -[] -[] -abcabc -abcabc -abcdef -abcdef - - -[1, 2, 3, 4] -[1, 2, 3, 4] - -Dafny program verifier finished with 1 verified, 0 errors hi hi HI! hi -[] -HI! - -[23, 45] -[23, 45] -[] -[] -abcabc -abcabc -abcdef -abcdef - - -[1, 2, 3, 4] -[1, 2, 3, 4] - -Dafny program verifier finished with 1 verified, 0 errors -hi -hi - -HI! -hi -[] HI! [23, 45] diff --git a/Test/git-issues/git-issue-258.dfy.go.expect b/Test/git-issues/git-issue-258.dfy.go.expect new file mode 100644 index 00000000000..2745afdf6e1 --- /dev/null +++ b/Test/git-issues/git-issue-258.dfy.go.expect @@ -0,0 +1,21 @@ +hi +hi + + +HI! +hi +[] +HI! + +[23, 45] +[23, 45] +[] +[] +abcabc +abcabc +abcdef +abcdef + + +[1, 2, 3, 4] +[1, 2, 3, 4] diff --git a/Test/git-issues/git-issue-258.dfy.js.expect b/Test/git-issues/git-issue-258.dfy.js.expect new file mode 100644 index 00000000000..2745afdf6e1 --- /dev/null +++ b/Test/git-issues/git-issue-258.dfy.js.expect @@ -0,0 +1,21 @@ +hi +hi + + +HI! +hi +[] +HI! + +[23, 45] +[23, 45] +[] +[] +abcabc +abcabc +abcdef +abcdef + + +[1, 2, 3, 4] +[1, 2, 3, 4] diff --git a/Test/git-issues/git-issue-2608.dfy b/Test/git-issues/git-issue-2608.dfy index 459c9ffbf94..c606177f94f 100644 --- a/Test/git-issues/git-issue-2608.dfy +++ b/Test/git-issues/git-issue-2608.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /compileTarget:js "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method GetNext(i: int) returns (j: int, possible: bool) { if i == 1 { diff --git a/Test/git-issues/git-issue-2608.dfy.expect b/Test/git-issues/git-issue-2608.dfy.expect index dce7ba1814a..d9ed583f710 100644 --- a/Test/git-issues/git-issue-2608.dfy.expect +++ b/Test/git-issues/git-issue-2608.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors 82411246231944714271214 \ No newline at end of file diff --git a/Test/git-issues/git-issue-262.dfy b/Test/git-issues/git-issue-262.dfy index 2c00ad94a39..22d9a31b2fe 100644 --- a/Test/git-issues/git-issue-262.dfy +++ b/Test/git-issues/git-issue-262.dfy @@ -1,8 +1,5 @@ -// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" -// RUN: %dafny /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function tst(x: nat): nat { x + 1 diff --git a/Test/git-issues/git-issue-262.dfy.expect b/Test/git-issues/git-issue-262.dfy.expect index 76af42cd4a3..41d8cd55158 100644 --- a/Test/git-issues/git-issue-262.dfy.expect +++ b/Test/git-issues/git-issue-262.dfy.expect @@ -1,20 +1,2 @@ - -Dafny program verifier finished with 2 verified, 0 errors System.Func`2[System.Numerics.BigInteger,System.Numerics.BigInteger] System.Func`2[System.Numerics.BigInteger,System.Numerics.BigInteger] - -Dafny program verifier finished with 2 verified, 0 errors -tst(x) { - return (x).plus(_dafny.ONE); - } -tst(x) { - return (x).plus(_dafny.ONE); - } - -Dafny program verifier finished with 2 verified, 0 errors -func(dafny.Int) dafny.Int -func(dafny.Int) dafny.Int - -Dafny program verifier finished with 2 verified, 0 errors -Function -Function diff --git a/Test/git-issues/git-issue-262.dfy.go.expect b/Test/git-issues/git-issue-262.dfy.go.expect new file mode 100644 index 00000000000..578754c176c --- /dev/null +++ b/Test/git-issues/git-issue-262.dfy.go.expect @@ -0,0 +1,2 @@ +func(dafny.Int) dafny.Int +func(dafny.Int) dafny.Int diff --git a/Test/git-issues/git-issue-262.dfy.java.expect b/Test/git-issues/git-issue-262.dfy.java.expect new file mode 100644 index 00000000000..aa5478ef8c9 --- /dev/null +++ b/Test/git-issues/git-issue-262.dfy.java.expect @@ -0,0 +1,2 @@ +Function +Function diff --git a/Test/git-issues/git-issue-262.dfy.js.expect b/Test/git-issues/git-issue-262.dfy.js.expect new file mode 100644 index 00000000000..e181ef2fef8 --- /dev/null +++ b/Test/git-issues/git-issue-262.dfy.js.expect @@ -0,0 +1,6 @@ +tst(x) { + return (x).plus(_dafny.ONE); + } +tst(x) { + return (x).plus(_dafny.ONE); + } diff --git a/Test/git-issues/git-issue-267.dfy b/Test/git-issues/git-issue-267.dfy index cef2fcc6c17..2b0b3281589 100644 --- a/Test/git-issues/git-issue-267.dfy +++ b/Test/git-issues/git-issue-267.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var c := 1; diff --git a/Test/git-issues/git-issue-267.dfy.expect b/Test/git-issues/git-issue-267.dfy.expect index d71aef2f440..cd7da05e3d2 100644 --- a/Test/git-issues/git-issue-267.dfy.expect +++ b/Test/git-issues/git-issue-267.dfy.expect @@ -1,14 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification -210 - -Dafny program verifier did not attempt verification -210 - -Dafny program verifier did not attempt verification -210 - -Dafny program verifier did not attempt verification 210 diff --git a/Test/git-issues/git-issue-2672.dfy b/Test/git-issues/git-issue-2672.dfy index 338299ee8b7..52c5b9c638c 100644 --- a/Test/git-issues/git-issue-2672.dfy +++ b/Test/git-issues/git-issue-2672.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment newtype sreal = r: real | r > -4 as real newtype sint = r: int | r > -4 as int diff --git a/Test/git-issues/git-issue-2672.dfy.expect b/Test/git-issues/git-issue-2672.dfy.expect index c9c3244b6f4..43440a83d53 100644 --- a/Test/git-issues/git-issue-2672.dfy.expect +++ b/Test/git-issues/git-issue-2672.dfy.expect @@ -1,47 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors - -Dafny program verifier did not attempt verification -true true true true true true true true true true -false false false false false false false false false false -false false false false false false false false false false -true true true true true true true true true true -true true true true true true true true true true -false false false false false false false false false false -true true true -false false false - -Dafny program verifier did not attempt verification -true true true true true true true true true true -false false false false false false false false false false -false false false false false false false false false false -true true true true true true true true true true -true true true true true true true true true true -false false false false false false false false false false -true true true -false false false - -Dafny program verifier did not attempt verification -true true true true true true true true true true -false false false false false false false false false false -false false false false false false false false false false -true true true true true true true true true true -true true true true true true true true true true -false false false false false false false false false false -true true true -false false false - -Dafny program verifier did not attempt verification -true true true true true true true true true true -false false false false false false false false false false -false false false false false false false false false false -true true true true true true true true true true -true true true true true true true true true true -false false false false false false false false false false -true true true -false false false - -Dafny program verifier did not attempt verification true true true true true true true true true true false false false false false false false false false false false false false false false false false false false false diff --git a/Test/git-issues/git-issue-2726a.dfy b/Test/git-issues/git-issue-2726a.dfy index 641fefbbdc4..a43d5dd0107 100644 --- a/Test/git-issues/git-issue-2726a.dfy +++ b/Test/git-issues/git-issue-2726a.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /compileTarget:cs "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment const digits := ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"] diff --git a/Test/git-issues/git-issue-2726a.dfy.expect b/Test/git-issues/git-issue-2726a.dfy.expect index 6985935c88c..8e1bedb2a64 100644 --- a/Test/git-issues/git-issue-2726a.dfy.expect +++ b/Test/git-issues/git-issue-2726a.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors 4 42 422 diff --git a/Test/git-issues/git-issue-2733.dfy b/Test/git-issues/git-issue-2733.dfy index 232eab3cc74..65bc2b991fd 100644 --- a/Test/git-issues/git-issue-2733.dfy +++ b/Test/git-issues/git-issue-2733.dfy @@ -1,11 +1,4 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cpp "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false method Main() { print "XYZ"; // Checks that no extra newline is added to the output diff --git a/Test/git-issues/git-issue-2733.dfy.expect b/Test/git-issues/git-issue-2733.dfy.expect index b139e2f3d58..77bf25132db 100644 --- a/Test/git-issues/git-issue-2733.dfy.expect +++ b/Test/git-issues/git-issue-2733.dfy.expect @@ -1,15 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification -XYZ -Dafny program verifier did not attempt verification -XYZ -Dafny program verifier did not attempt verification -XYZ -Dafny program verifier did not attempt verification -XYZ -Dafny program verifier did not attempt verification -XYZ -Dafny program verifier did not attempt verification XYZ \ No newline at end of file diff --git a/Test/git-issues/git-issue-2792.dfy b/Test/git-issues/git-issue-2792.dfy index 89e736667c0..d2fb9db2055 100644 --- a/Test/git-issues/git-issue-2792.dfy +++ b/Test/git-issues/git-issue-2792.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /compileTarget:java "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Wrapper = Wrapper(s: seq) { diff --git a/Test/git-issues/git-issue-2792.dfy.expect b/Test/git-issues/git-issue-2792.dfy.expect index c1e603c58fe..ca1683c3020 100644 --- a/Test/git-issues/git-issue-2792.dfy.expect +++ b/Test/git-issues/git-issue-2792.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors [] Wrapper2.Wrapper2([], 2792) diff --git a/Test/git-issues/git-issue-283.dfy b/Test/git-issues/git-issue-283.dfy index c7c10f4aea3..1ca6d48d32c 100644 --- a/Test/git-issues/git-issue-283.dfy +++ b/Test/git-issues/git-issue-283.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Result = | Success(value: T) diff --git a/Test/git-issues/git-issue-283.dfy.expect b/Test/git-issues/git-issue-283.dfy.expect index 2adb114b8a0..a965a70ed4e 100644 --- a/Test/git-issues/git-issue-283.dfy.expect +++ b/Test/git-issues/git-issue-283.dfy.expect @@ -1,14 +1 @@ - -Dafny program verifier finished with 9 verified, 0 errors - -Dafny program verifier did not attempt verification -Done - -Dafny program verifier did not attempt verification -Done - -Dafny program verifier did not attempt verification -Done - -Dafny program verifier did not attempt verification Done diff --git a/Test/git-issues/git-issue-283d.dfy b/Test/git-issues/git-issue-283d.dfy index 54ee58fb456..46c1056d5e1 100644 --- a/Test/git-issues/git-issue-283d.dfy +++ b/Test/git-issues/git-issue-283d.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Foo = R(v: int) diff --git a/Test/git-issues/git-issue-283d.dfy.expect b/Test/git-issues/git-issue-283d.dfy.expect index 8da23be5c8c..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-283d.dfy.expect +++ b/Test/git-issues/git-issue-283d.dfy.expect @@ -1,10 +0,0 @@ - -Dafny program verifier finished with 4 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-314.dfy b/Test/git-issues/git-issue-314.dfy index 5e3e93ca654..a7fc06564a5 100644 --- a/Test/git-issues/git-issue-314.dfy +++ b/Test/git-issues/git-issue-314.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype S = S(G: array) datatype T = T(F: array, ghost Repr: set) diff --git a/Test/git-issues/git-issue-314.dfy.expect b/Test/git-issues/git-issue-314.dfy.expect index f02fc57989a..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-314.dfy.expect +++ b/Test/git-issues/git-issue-314.dfy.expect @@ -1,10 +0,0 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-332.dfy b/Test/git-issues/git-issue-332.dfy index ca2b08f3e8d..5166441405d 100644 --- a/Test/git-issues/git-issue-332.dfy +++ b/Test/git-issues/git-issue-332.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var foo := new B.Foo(15); diff --git a/Test/git-issues/git-issue-332.dfy.expect b/Test/git-issues/git-issue-332.dfy.expect index 57cad39addf..209e3ef4b62 100644 --- a/Test/git-issues/git-issue-332.dfy.expect +++ b/Test/git-issues/git-issue-332.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 6 verified, 0 errors 20 diff --git a/Test/git-issues/git-issue-354.dfy b/Test/git-issues/git-issue-354.dfy index 5938c2f71ae..c3d63021209 100644 --- a/Test/git-issues/git-issue-354.dfy +++ b/Test/git-issues/git-issue-354.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class C { static const u: X diff --git a/Test/git-issues/git-issue-354.dfy.expect b/Test/git-issues/git-issue-354.dfy.expect index cb5ae21dc46..4368562357f 100644 --- a/Test/git-issues/git-issue-354.dfy.expect +++ b/Test/git-issues/git-issue-354.dfy.expect @@ -1,25 +1,3 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification -0 -0 -0.0 -false - -Dafny program verifier did not attempt verification -0 -0 -0.0 -false - -Dafny program verifier did not attempt verification -0 -0 -0.0 -false - -Dafny program verifier did not attempt verification 0 0 0.0 diff --git a/Test/git-issues/git-issue-356.dfy b/Test/git-issues/git-issue-356.dfy index f5c34b0803b..2d497c0531c 100644 --- a/Test/git-issues/git-issue-356.dfy +++ b/Test/git-issues/git-issue-356.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false module M { type Tx = i: int | 0 <= i <= 100 diff --git a/Test/git-issues/git-issue-356.dfy.expect b/Test/git-issues/git-issue-356.dfy.expect index cff4ed233e1..9d984ec4ef4 100644 --- a/Test/git-issues/git-issue-356.dfy.expect +++ b/Test/git-issues/git-issue-356.dfy.expect @@ -1,39 +1,3 @@ - -Dafny program verifier finished with 25 verified, 0 errors - -Dafny program verifier did not attempt verification -a d 57005 * * -Z 90 90.0 90 90 -* 42 42.0 42 42 -F 70 70.0 70 70 -# 35 35.0 35 35 -END - -Dafny program verifier did not attempt verification -a d 57005 * * -Z 90 90.0 90 90 -* 42 42.0 42 42 -F 70 70.0 70 70 -# 35 35.0 35 35 -END - -Dafny program verifier did not attempt verification -a d 57005 * * -Z 90 90.0 90 90 -* 42 42.0 42 42 -F 70 70.0 70 70 -# 35 35.0 35 35 -END - -Dafny program verifier did not attempt verification -a d 57005 * * -Z 90 90.0 90 90 -* 42 42.0 42 42 -F 70 70.0 70 70 -# 35 35.0 35 35 -END - -Dafny program verifier did not attempt verification a d 57005 * * Z 90 90.0 90 90 * 42 42.0 42 42 diff --git a/Test/git-issues/git-issue-364.dfy b/Test/git-issues/git-issue-364.dfy index 0fdedc7d9c0..68c75931746 100644 --- a/Test/git-issues/git-issue-364.dfy +++ b/Test/git-issues/git-issue-364.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype NatOutcome = | Success(value: nat) diff --git a/Test/git-issues/git-issue-364.dfy.expect b/Test/git-issues/git-issue-364.dfy.expect index 1368349d437..38478c6c688 100644 --- a/Test/git-issues/git-issue-364.dfy.expect +++ b/Test/git-issues/git-issue-364.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 4 verified, 0 errors NatOutcome.Success(55) false 55 12 0 NatOutcome.Failure("it could be worse") true NatOutcome.Failure("it could be worse") diff --git a/Test/git-issues/git-issue-374.dfy b/Test/git-issues/git-issue-374.dfy index 4c031b7d3ff..15b56ec6396 100644 --- a/Test/git-issues/git-issue-374.dfy +++ b/Test/git-issues/git-issue-374.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class C { constructor(ghost x: int) diff --git a/Test/git-issues/git-issue-374.dfy.expect b/Test/git-issues/git-issue-374.dfy.expect index f02fc57989a..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-374.dfy.expect +++ b/Test/git-issues/git-issue-374.dfy.expect @@ -1,10 +0,0 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-396.dfy b/Test/git-issues/git-issue-396.dfy index 2ab68e51e12..7866d3d0498 100644 --- a/Test/git-issues/git-issue-396.dfy +++ b/Test/git-issues/git-issue-396.dfy @@ -1,8 +1,4 @@ -// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" -// RUN: %dafny /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Foo = Bar(value: int) diff --git a/Test/git-issues/git-issue-396.dfy.expect b/Test/git-issues/git-issue-396.dfy.expect index 3dd340d3178..dee79f10940 100644 --- a/Test/git-issues/git-issue-396.dfy.expect +++ b/Test/git-issues/git-issue-396.dfy.expect @@ -1,12 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors -114 - -Dafny program verifier finished with 1 verified, 0 errors -114 - -Dafny program verifier finished with 1 verified, 0 errors -114 - -Dafny program verifier finished with 1 verified, 0 errors 114 diff --git a/Test/git-issues/git-issue-4007.dfy b/Test/git-issues/git-issue-4007.dfy index e4c25b82bb8..5a279e7b8e6 100644 --- a/Test/git-issues/git-issue-4007.dfy +++ b/Test/git-issues/git-issue-4007.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:4 /compileTarget:py "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var a := 0; @@ -7,4 +6,4 @@ method Main() { a := a + 1; } print a, "\n"; -} \ No newline at end of file +} diff --git a/Test/git-issues/git-issue-4007.dfy.expect b/Test/git-issues/git-issue-4007.dfy.expect index 3ce6919d35b..00750edc07d 100644 --- a/Test/git-issues/git-issue-4007.dfy.expect +++ b/Test/git-issues/git-issue-4007.dfy.expect @@ -1,4 +1 @@ -git-issue-4007.dfy(6,20): Warning: /!\ No terms found to trigger on. - -Dafny program verifier finished with 1 verified, 0 errors 3 diff --git a/Test/git-issues/git-issue-4007.dfy.verifier.expect b/Test/git-issues/git-issue-4007.dfy.verifier.expect new file mode 100644 index 00000000000..1d4310d09b5 --- /dev/null +++ b/Test/git-issues/git-issue-4007.dfy.verifier.expect @@ -0,0 +1 @@ +git-issue-4007.dfy(5,20): Warning: /!\ No terms found to trigger on. diff --git a/Test/git-issues/git-issue-4012.dfy b/Test/git-issues/git-issue-4012.dfy index e065393a211..5360c0e935b 100644 --- a/Test/git-issues/git-issue-4012.dfy +++ b/Test/git-issues/git-issue-4012.dfy @@ -1,8 +1,7 @@ -// RUN: %dafny /compile:4 /compileTarget:py "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var x: multiset := multiset{}; x := x[1 := 18446744073709551616]; print |x|, "\n"; -} \ No newline at end of file +} diff --git a/Test/git-issues/git-issue-4012.dfy.expect b/Test/git-issues/git-issue-4012.dfy.expect index 230fbdbd384..ab69b99fab4 100644 --- a/Test/git-issues/git-issue-4012.dfy.expect +++ b/Test/git-issues/git-issue-4012.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors 18446744073709551616 diff --git a/Test/git-issues/git-issue-425.dfy b/Test/git-issues/git-issue-425.dfy index 4e555daaed0..122a10e4fbb 100644 --- a/Test/git-issues/git-issue-425.dfy +++ b/Test/git-issues/git-issue-425.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method M() returns (x: int, ghost y: int) { return 42, 43; diff --git a/Test/git-issues/git-issue-425.dfy.expect b/Test/git-issues/git-issue-425.dfy.expect index c2284013d9e..daaac9e3030 100644 --- a/Test/git-issues/git-issue-425.dfy.expect +++ b/Test/git-issues/git-issue-425.dfy.expect @@ -1,18 +1,2 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification -42 -42 - -Dafny program verifier did not attempt verification -42 -42 - -Dafny program verifier did not attempt verification -42 -42 - -Dafny program verifier did not attempt verification 42 42 diff --git a/Test/git-issues/git-issue-443.dfy b/Test/git-issues/git-issue-443.dfy index e8745b5ddda..6702e37484f 100644 --- a/Test/git-issues/git-issue-443.dfy +++ b/Test/git-issues/git-issue-443.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { print F(), " ", G(802.11), "\n"; // 12 15 diff --git a/Test/git-issues/git-issue-443.dfy.expect b/Test/git-issues/git-issue-443.dfy.expect index 10af01216da..0b64712fdcf 100644 --- a/Test/git-issues/git-issue-443.dfy.expect +++ b/Test/git-issues/git-issue-443.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors 12 15 diff --git a/Test/git-issues/git-issue-446.dfy b/Test/git-issues/git-issue-446.dfy index 0656587fd03..a66a9272d18 100644 --- a/Test/git-issues/git-issue-446.dfy +++ b/Test/git-issues/git-issue-446.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Result = Success(value: T) | Failure(error: string) { diff --git a/Test/git-issues/git-issue-446.dfy.expect b/Test/git-issues/git-issue-446.dfy.expect index 18195d22344..8165c2056d0 100644 --- a/Test/git-issues/git-issue-446.dfy.expect +++ b/Test/git-issues/git-issue-446.dfy.expect @@ -1,22 +1,3 @@ - -Dafny program verifier finished with 9 verified, 0 errors - -Dafny program verifier did not attempt verification -true -2 -true 42 -End - -Dafny program verifier did not attempt verification -true -2 -true 42 -End - -Dafny program verifier did not attempt verification -true -2 -true 42 -End - -Dafny program verifier did not attempt verification true -2 true 42 End diff --git a/Test/git-issues/git-issue-446a.dfy b/Test/git-issues/git-issue-446a.dfy index 41917680fee..2c559cea76d 100644 --- a/Test/git-issues/git-issue-446a.dfy +++ b/Test/git-issues/git-issue-446a.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Result = Success(value: T) | Failure(error: string) { diff --git a/Test/git-issues/git-issue-446a.dfy.expect b/Test/git-issues/git-issue-446a.dfy.expect index fbf9ee6f31d..9897e1c3f56 100644 --- a/Test/git-issues/git-issue-446a.dfy.expect +++ b/Test/git-issues/git-issue-446a.dfy.expect @@ -1,22 +1,3 @@ - -Dafny program verifier finished with 9 verified, 0 errors - -Dafny program verifier did not attempt verification -OK -true OK -true -2 End - -Dafny program verifier did not attempt verification -OK -true OK -true -2 End - -Dafny program verifier did not attempt verification -OK -true OK -true -2 End - -Dafny program verifier did not attempt verification OK true OK true -2 End diff --git a/Test/git-issues/git-issue-446b.dfy b/Test/git-issues/git-issue-446b.dfy index aa7ac30d9a7..79e55d9a1f8 100644 --- a/Test/git-issues/git-issue-446b.dfy +++ b/Test/git-issues/git-issue-446b.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Result = Success(value: T) | Failure(error: string) { diff --git a/Test/git-issues/git-issue-446b.dfy.expect b/Test/git-issues/git-issue-446b.dfy.expect index 0e99363fdb9..36fdd8ba47b 100644 --- a/Test/git-issues/git-issue-446b.dfy.expect +++ b/Test/git-issues/git-issue-446b.dfy.expect @@ -1,28 +1,3 @@ - -Dafny program verifier finished with 10 verified, 0 errors - -Dafny program verifier did not attempt verification -OK -true OK -true -2 -true 100 -End - -Dafny program verifier did not attempt verification -OK -true OK -true -2 -true 100 -End - -Dafny program verifier did not attempt verification -OK -true OK -true -2 -true 100 -End - -Dafny program verifier did not attempt verification OK true OK true -2 diff --git a/Test/git-issues/git-issue-478-good.dfy b/Test/git-issues/git-issue-478-good.dfy index b3fab26a312..9abce41e97c 100644 --- a/Test/git-issues/git-issue-478-good.dfy +++ b/Test/git-issues/git-issue-478-good.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // By first defining import LibA and then defining a module LibA, // the latter used to generate: diff --git a/Test/git-issues/git-issue-478-good.dfy.expect b/Test/git-issues/git-issue-478-good.dfy.expect index 17aea610943..6807b84eba5 100644 --- a/Test/git-issues/git-issue-478-good.dfy.expect +++ b/Test/git-issues/git-issue-478-good.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors hello hello hi diff --git a/Test/git-issues/git-issue-506.dfy b/Test/git-issues/git-issue-506.dfy index d25596621de..b2a409951a1 100644 --- a/Test/git-issues/git-issue-506.dfy +++ b/Test/git-issues/git-issue-506.dfy @@ -1,8 +1,4 @@ -// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" -// RUN: %dafny /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/git-issues/git-issue-506.dfy.expect b/Test/git-issues/git-issue-506.dfy.expect index e2bb6d644d9..ef2606ec5dc 100644 --- a/Test/git-issues/git-issue-506.dfy.expect +++ b/Test/git-issues/git-issue-506.dfy.expect @@ -1,29 +1,3 @@ - -Dafny program verifier finished with 2 verified, 0 errors -7 301 -8 391 -2 2 -4 5 -6 7 -2 3 7 0 - -Dafny program verifier finished with 2 verified, 0 errors -7 301 -8 391 -2 2 -4 5 -6 7 -2 3 7 0 - -Dafny program verifier finished with 2 verified, 0 errors -7 301 -8 391 -2 2 -4 5 -6 7 -2 3 7 0 - -Dafny program verifier finished with 2 verified, 0 errors 7 301 8 391 2 2 diff --git a/Test/git-issues/git-issue-532.dfy b/Test/git-issues/git-issue-532.dfy index 3d511dbb4c8..2a2b5aaaf2e 100644 --- a/Test/git-issues/git-issue-532.dfy +++ b/Test/git-issues/git-issue-532.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment predicate SuppressNoTriggerWarning(x: X) { true } diff --git a/Test/git-issues/git-issue-532.dfy.expect b/Test/git-issues/git-issue-532.dfy.expect index 1bd9e82cc5a..0f3ef3de427 100644 --- a/Test/git-issues/git-issue-532.dfy.expect +++ b/Test/git-issues/git-issue-532.dfy.expect @@ -1,22 +1,3 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification -t.x=5 The given Tr is a C, and c.y=6 -t.x=100 The given Tr is not a C -t.x=5 The given Tr is a C, and c.y=16 - -Dafny program verifier did not attempt verification -t.x=5 The given Tr is a C, and c.y=6 -t.x=100 The given Tr is not a C -t.x=5 The given Tr is a C, and c.y=16 - -Dafny program verifier did not attempt verification -t.x=5 The given Tr is a C, and c.y=6 -t.x=100 The given Tr is not a C -t.x=5 The given Tr is a C, and c.y=16 - -Dafny program verifier did not attempt verification t.x=5 The given Tr is a C, and c.y=6 t.x=100 The given Tr is not a C t.x=5 The given Tr is a C, and c.y=16 diff --git a/Test/git-issues/git-issue-549.dfy b/Test/git-issues/git-issue-549.dfy index 2e5ab322f23..d362a0bd039 100644 --- a/Test/git-issues/git-issue-549.dfy +++ b/Test/git-issues/git-issue-549.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait T { function bar(): bv8 diff --git a/Test/git-issues/git-issue-549.dfy.expect b/Test/git-issues/git-issue-549.dfy.expect index 3ae509fee5e..6e0790e778e 100644 --- a/Test/git-issues/git-issue-549.dfy.expect +++ b/Test/git-issues/git-issue-549.dfy.expect @@ -1,10 +1,2 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification -bar() = 1 -bar() = 1 - -Dafny program verifier did not attempt verification bar() = 1 bar() = 1 diff --git a/Test/git-issues/git-issue-622$f.dfy b/Test/git-issues/git-issue-622$f.dfy index fe4fdf38e03..2a7003e0f4e 100644 --- a/Test/git-issues/git-issue-622$f.dfy +++ b/Test/git-issues/git-issue-622$f.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /compileTarget:java /spillTargetCode:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method Main() { } diff --git a/Test/git-issues/git-issue-622$f.dfy.expect b/Test/git-issues/git-issue-622$f.dfy.expect index 012f5b99379..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-622$f.dfy.expect +++ b/Test/git-issues/git-issue-622$f.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/git-issues/git-issue-633.dfy b/Test/git-issues/git-issue-633.dfy index 5d9b5aecf58..dd547fe65a6 100644 --- a/Test/git-issues/git-issue-633.dfy +++ b/Test/git-issues/git-issue-633.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" %S/git-issue-633A.dfy > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs /spillTargetCode:3 "%s" %S/git-issue-633A.dfy >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js /spillTargetCode:3 "%s" %S/git-issue-633A.dfy >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go /spillTargetCode:3 "%s" %S/git-issue-633A.dfy >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java /spillTargetCode:3 "%s" %S/git-issue-633A.dfy >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation /Users/salkeldr/Documents/GitHub/dafny/Test/git-issues/git-issue-633A.dfy method m() { print "OK\n"; diff --git a/Test/git-issues/git-issue-633.dfy.expect b/Test/git-issues/git-issue-633.dfy.expect index f02fc57989a..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-633.dfy.expect +++ b/Test/git-issues/git-issue-633.dfy.expect @@ -1,10 +0,0 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-684.dfy b/Test/git-issues/git-issue-684.dfy index b1fbd7ab036..4c2b0a8fa02 100644 --- a/Test/git-issues/git-issue-684.dfy +++ b/Test/git-issues/git-issue-684.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Level1 = Level1(u:int) datatype Level2 = Level2(u:int, l:Level1) diff --git a/Test/git-issues/git-issue-684.dfy.expect b/Test/git-issues/git-issue-684.dfy.expect index 65d3b5d6635..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-684.dfy.expect +++ b/Test/git-issues/git-issue-684.dfy.expect @@ -1,10 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-686.dfy b/Test/git-issues/git-issue-686.dfy index bbc975200c8..9845ce2b027 100644 --- a/Test/git-issues/git-issue-686.dfy +++ b/Test/git-issues/git-issue-686.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Color = Blue | Red diff --git a/Test/git-issues/git-issue-686.dfy.expect b/Test/git-issues/git-issue-686.dfy.expect index f30b0581688..c12f8e66df2 100644 --- a/Test/git-issues/git-issue-686.dfy.expect +++ b/Test/git-issues/git-issue-686.dfy.expect @@ -1,24 +1 @@ -git-issue-686.dfy(13,2): Warning: this branch is redundant -git-issue-686.dfy(21,2): Warning: this branch is redundant - -Dafny program verifier finished with 1 verified, 0 errors -git-issue-686.dfy(13,2): Warning: this branch is redundant -git-issue-686.dfy(21,2): Warning: this branch is redundant - -Dafny program verifier did not attempt verification -6 0 -git-issue-686.dfy(13,2): Warning: this branch is redundant -git-issue-686.dfy(21,2): Warning: this branch is redundant - -Dafny program verifier did not attempt verification -6 0 -git-issue-686.dfy(13,2): Warning: this branch is redundant -git-issue-686.dfy(21,2): Warning: this branch is redundant - -Dafny program verifier did not attempt verification -6 0 -git-issue-686.dfy(13,2): Warning: this branch is redundant -git-issue-686.dfy(21,2): Warning: this branch is redundant - -Dafny program verifier did not attempt verification 6 0 diff --git a/Test/git-issues/git-issue-686.dfy.verifier.expect b/Test/git-issues/git-issue-686.dfy.verifier.expect new file mode 100644 index 00000000000..805bd55730c --- /dev/null +++ b/Test/git-issues/git-issue-686.dfy.verifier.expect @@ -0,0 +1,2 @@ +git-issue-686.dfy(8,2): Warning: this branch is redundant +git-issue-686.dfy(16,2): Warning: this branch is redundant diff --git a/Test/git-issues/git-issue-697.dfy b/Test/git-issues/git-issue-697.dfy index 095c1a02399..23cce66dee7 100644 --- a/Test/git-issues/git-issue-697.dfy +++ b/Test/git-issues/git-issue-697.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Cell = Cell(x: int) type EvenCell = c: Cell | c.x % 2 == 0 witness Cell(0) diff --git a/Test/git-issues/git-issue-697.dfy.expect b/Test/git-issues/git-issue-697.dfy.expect index 188a72ebc36..f32a5804e29 100644 --- a/Test/git-issues/git-issue-697.dfy.expect +++ b/Test/git-issues/git-issue-697.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-697b.dfy b/Test/git-issues/git-issue-697b.dfy index cfdd3fd0821..cdb054d8d78 100644 --- a/Test/git-issues/git-issue-697b.dfy +++ b/Test/git-issues/git-issue-697b.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Cell = Cell(x: int) type EvenCell = c: Cell | c.x % 2 == 0 witness Cell(0) diff --git a/Test/git-issues/git-issue-697b.dfy.expect b/Test/git-issues/git-issue-697b.dfy.expect index b355409912b..9c777ac6a0f 100644 --- a/Test/git-issues/git-issue-697b.dfy.expect +++ b/Test/git-issues/git-issue-697b.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors false 2 diff --git a/Test/git-issues/git-issue-697d.dfy b/Test/git-issues/git-issue-697d.dfy index 71a262fc985..8b65c2da4f7 100644 --- a/Test/git-issues/git-issue-697d.dfy +++ b/Test/git-issues/git-issue-697d.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function nonGhostPredicate(x: int): bool { x % 2 == 0 diff --git a/Test/git-issues/git-issue-697d.dfy.expect b/Test/git-issues/git-issue-697d.dfy.expect index 48fb59aeae5..f32a5804e29 100644 --- a/Test/git-issues/git-issue-697d.dfy.expect +++ b/Test/git-issues/git-issue-697d.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 4 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-697e.dfy b/Test/git-issues/git-issue-697e.dfy index e4500bfab28..310851abf9a 100644 --- a/Test/git-issues/git-issue-697e.dfy +++ b/Test/git-issues/git-issue-697e.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Cell = Cell(x: int) type EvenCell = c: Cell | c.x % 2 == 0 witness Cell(0) diff --git a/Test/git-issues/git-issue-697e.dfy.expect b/Test/git-issues/git-issue-697e.dfy.expect index 00a51f822da..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-697e.dfy.expect +++ b/Test/git-issues/git-issue-697e.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 3 verified, 0 errors diff --git a/Test/git-issues/git-issue-697f.dfy b/Test/git-issues/git-issue-697f.dfy index 92d1cec2ed8..acb8810dfbf 100644 --- a/Test/git-issues/git-issue-697f.dfy +++ b/Test/git-issues/git-issue-697f.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment ghost function ghostPredicate(x: int): bool { x % 2 == 0 diff --git a/Test/git-issues/git-issue-697f.dfy.expect b/Test/git-issues/git-issue-697f.dfy.expect index 3e2cf8d0f69..b5754e20373 100644 --- a/Test/git-issues/git-issue-697f.dfy.expect +++ b/Test/git-issues/git-issue-697f.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 4 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-697g.dfy b/Test/git-issues/git-issue-697g.dfy index c3b7581ff61..7b30de7f3a0 100644 --- a/Test/git-issues/git-issue-697g.dfy +++ b/Test/git-issues/git-issue-697g.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function returnNat(c: nat): int { diff --git a/Test/git-issues/git-issue-697g.dfy.expect b/Test/git-issues/git-issue-697g.dfy.expect index d9157fa820a..f32a5804e29 100644 --- a/Test/git-issues/git-issue-697g.dfy.expect +++ b/Test/git-issues/git-issue-697g.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-698.dfy b/Test/git-issues/git-issue-698.dfy index b15295c9b46..7b7a9ca15b8 100644 --- a/Test/git-issues/git-issue-698.dfy +++ b/Test/git-issues/git-issue-698.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment type Small = x: int | 0 <= x < 100 && x != 3 diff --git a/Test/git-issues/git-issue-698.dfy.expect b/Test/git-issues/git-issue-698.dfy.expect index 7f965a65d2e..27ba77ddaf6 100644 --- a/Test/git-issues/git-issue-698.dfy.expect +++ b/Test/git-issues/git-issue-698.dfy.expect @@ -1,8 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification -true - -Dafny program verifier did not attempt verification true diff --git a/Test/git-issues/git-issue-698b.dfy b/Test/git-issues/git-issue-698b.dfy index 1d4a92456e6..dbdbc3b36d3 100644 --- a/Test/git-issues/git-issue-698b.dfy +++ b/Test/git-issues/git-issue-698b.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment type Small = x: int | 0 <= x < 100 && x != 3 @@ -13,4 +12,4 @@ method Main() { var b := !exists n: Small :: F(n) != 100; assert b; print b; -} \ No newline at end of file +} diff --git a/Test/git-issues/git-issue-698b.dfy.expect b/Test/git-issues/git-issue-698b.dfy.expect index 188a72ebc36..f32a5804e29 100644 --- a/Test/git-issues/git-issue-698b.dfy.expect +++ b/Test/git-issues/git-issue-698b.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-701.dfy b/Test/git-issues/git-issue-701.dfy index af19f0d89e2..38984df4ecf 100644 --- a/Test/git-issues/git-issue-701.dfy +++ b/Test/git-issues/git-issue-701.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var ca := new ClassA; diff --git a/Test/git-issues/git-issue-701.dfy.expect b/Test/git-issues/git-issue-701.dfy.expect index 4d20966e641..5198c09cbb1 100644 --- a/Test/git-issues/git-issue-701.dfy.expect +++ b/Test/git-issues/git-issue-701.dfy.expect @@ -1,22 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification -0 0 0 -[] [] [] -C.Nothing C.Nothing C.Nothing - -Dafny program verifier did not attempt verification -0 0 0 -[] [] [] -C.Nothing C.Nothing C.Nothing - -Dafny program verifier did not attempt verification -0 0 0 -[] [] [] -C.Nothing C.Nothing C.Nothing - -Dafny program verifier did not attempt verification 0 0 0 [] [] [] C.Nothing C.Nothing C.Nothing diff --git a/Test/git-issues/git-issue-705.dfy b/Test/git-issues/git-issue-705.dfy index d4b806800c2..9c36a336e8e 100644 --- a/Test/git-issues/git-issue-705.dfy +++ b/Test/git-issues/git-issue-705.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs /spillTargetCode:3 "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js /spillTargetCode:3 "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go /spillTargetCode:3 "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java /spillTargetCode:3 "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation datatype MyDataType = AAA { function toString(): int { 222 } diff --git a/Test/git-issues/git-issue-705.dfy.expect b/Test/git-issues/git-issue-705.dfy.expect index 02cf409667a..79a1eee7c74 100644 --- a/Test/git-issues/git-issue-705.dfy.expect +++ b/Test/git-issues/git-issue-705.dfy.expect @@ -1,14 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification -MyDataType.AAA 222 - -Dafny program verifier did not attempt verification -MyDataType.AAA 222 - -Dafny program verifier did not attempt verification -MyDataType.AAA 222 - -Dafny program verifier did not attempt verification MyDataType.AAA 222 diff --git a/Test/git-issues/git-issue-731.dfy b/Test/git-issues/git-issue-731.dfy index 05d02fea1af..348d40fecea 100644 --- a/Test/git-issues/git-issue-731.dfy +++ b/Test/git-issues/git-issue-731.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait Trait { const y: Y diff --git a/Test/git-issues/git-issue-731.dfy.expect b/Test/git-issues/git-issue-731.dfy.expect index 69b2e6af648..7554a44901e 100644 --- a/Test/git-issues/git-issue-731.dfy.expect +++ b/Test/git-issues/git-issue-731.dfy.expect @@ -1,18 +1,2 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification -0 0 0 42 -0 0 0 9 - -Dafny program verifier did not attempt verification -0 0 0 42 -0 0 0 9 - -Dafny program verifier did not attempt verification -0 0 0 42 -0 0 0 9 - -Dafny program verifier did not attempt verification 0 0 0 42 0 0 0 9 diff --git a/Test/git-issues/git-issue-731b.dfy b/Test/git-issues/git-issue-731b.dfy index a77dbd6323b..2a0507839a2 100644 --- a/Test/git-issues/git-issue-731b.dfy +++ b/Test/git-issues/git-issue-731b.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Testing issue#731 when the class in question has type parameters diff --git a/Test/git-issues/git-issue-731b.dfy.expect b/Test/git-issues/git-issue-731b.dfy.expect index 97e6c041920..dd3226d2b73 100644 --- a/Test/git-issues/git-issue-731b.dfy.expect +++ b/Test/git-issues/git-issue-731b.dfy.expect @@ -1,14 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification -0 42 - -Dafny program verifier did not attempt verification -0 42 - -Dafny program verifier did not attempt verification -0 42 - -Dafny program verifier did not attempt verification 0 42 diff --git a/Test/git-issues/git-issue-755.dfy b/Test/git-issues/git-issue-755.dfy index 25fb3e6a485..2227a486a21 100644 --- a/Test/git-issues/git-issue-755.dfy +++ b/Test/git-issues/git-issue-755.dfy @@ -1,9 +1,5 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var s := { 1,9,3,7,5}; diff --git a/Test/git-issues/git-issue-755.dfy.expect b/Test/git-issues/git-issue-755.dfy.expect index c930da26922..9182de3a24a 100644 --- a/Test/git-issues/git-issue-755.dfy.expect +++ b/Test/git-issues/git-issue-755.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors - -Dafny program verifier did not attempt verification 1 3 5 @@ -9,30 +5,3 @@ Dafny program verifier did not attempt verification 9 1 3 3 5 - -Dafny program verifier did not attempt verification -1 -9 -3 -7 -5 -1 3 -3 5 - -Dafny program verifier did not attempt verification -1 -9 -3 -7 -5 -1 3 -3 5 - -Dafny program verifier did not attempt verification -1 -3 -5 -7 -9 -3 5 -1 3 diff --git a/Test/git-issues/git-issue-755.dfy.go.expect b/Test/git-issues/git-issue-755.dfy.go.expect new file mode 100644 index 00000000000..f41e86c7579 --- /dev/null +++ b/Test/git-issues/git-issue-755.dfy.go.expect @@ -0,0 +1,7 @@ +1 +9 +3 +7 +5 +1 3 +3 5 diff --git a/Test/git-issues/git-issue-755.dfy.java.expect b/Test/git-issues/git-issue-755.dfy.java.expect new file mode 100644 index 00000000000..f4407f49a6f --- /dev/null +++ b/Test/git-issues/git-issue-755.dfy.java.expect @@ -0,0 +1,7 @@ +1 +3 +5 +7 +9 +3 5 +1 3 diff --git a/Test/git-issues/git-issue-755.dfy.js.expect b/Test/git-issues/git-issue-755.dfy.js.expect new file mode 100644 index 00000000000..f41e86c7579 --- /dev/null +++ b/Test/git-issues/git-issue-755.dfy.js.expect @@ -0,0 +1,7 @@ +1 +9 +3 +7 +5 +1 3 +3 5 diff --git a/Test/git-issues/git-issue-784.dfy b/Test/git-issues/git-issue-784.dfy index 78b83f01064..5f6cf59465c 100644 --- a/Test/git-issues/git-issue-784.dfy +++ b/Test/git-issues/git-issue-784.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype List = Nil | Cons(T, List) { function App(ys: List): List { diff --git a/Test/git-issues/git-issue-784.dfy.expect b/Test/git-issues/git-issue-784.dfy.expect index 8da23be5c8c..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-784.dfy.expect +++ b/Test/git-issues/git-issue-784.dfy.expect @@ -1,10 +0,0 @@ - -Dafny program verifier finished with 4 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-953.dfy b/Test/git-issues/git-issue-953.dfy index 0e9e0198b90..1032ad45a3a 100644 --- a/Test/git-issues/git-issue-953.dfy +++ b/Test/git-issues/git-issue-953.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module P { datatype T_ = T() // the underscore in this name once caused a problem in Java compilation diff --git a/Test/git-issues/git-issue-953.dfy.expect b/Test/git-issues/git-issue-953.dfy.expect index b731ec2edbe..d992760e80b 100644 --- a/Test/git-issues/git-issue-953.dfy.expect +++ b/Test/git-issues/git-issue-953.dfy.expect @@ -1,39 +1,3 @@ - -Dafny program verifier finished with 6 verified, 0 errors - -Dafny program verifier did not attempt verification -C_Compile.T_.T -P_Compile.T_.T -OtherNamesWithSpecialCharacters_q___Compile.A?_.A?_ OtherNamesWithSpecialCharacters_q___Compile.B?_.B?_ -17 17 0 0 -C2_Compile.C.C(10, 11) -9 - -Dafny program verifier did not attempt verification -C_Compile.T_.T -P_Compile.T_.T -OtherNamesWithSpecialCharacters_q___Compile.A?_.A?_ OtherNamesWithSpecialCharacters_q___Compile.B?_.B?_ -17 17 0 0 -C2_Compile.C.C(10, 11) -9 - -Dafny program verifier did not attempt verification -C_Compile.T_.T -P_Compile.T_.T -OtherNamesWithSpecialCharacters_q___Compile.A?_.A?_ OtherNamesWithSpecialCharacters_q___Compile.B?_.B?_ -17 17 0 0 -C2_Compile.C.C(10, 11) -9 - -Dafny program verifier did not attempt verification -C_Compile.T_.T -P_Compile.T_.T -OtherNamesWithSpecialCharacters_q___Compile.A?_.A?_ OtherNamesWithSpecialCharacters_q___Compile.B?_.B?_ -17 17 0 0 -C2_Compile.C.C(10, 11) -9 - -Dafny program verifier did not attempt verification C_Compile.T_.T P_Compile.T_.T OtherNamesWithSpecialCharacters_q___Compile.A?_.A?_ OtherNamesWithSpecialCharacters_q___Compile.B?_.B?_ diff --git a/Test/git-issues/github-issue-3343.dfy b/Test/git-issues/github-issue-3343.dfy index 517a11d7fc1..d518b2a1a41 100644 --- a/Test/git-issues/github-issue-3343.dfy +++ b/Test/git-issues/github-issue-3343.dfy @@ -1,5 +1,4 @@ -// RUN: %baredafny run "%s" -t:java > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" method Bug() { var zero := 0; var a := new int[zero] []; diff --git a/Test/git-issues/github-issue-3343.dfy.expect b/Test/git-issues/github-issue-3343.dfy.expect index 823a60a105c..e69de29bb2d 100644 --- a/Test/git-issues/github-issue-3343.dfy.expect +++ b/Test/git-issues/github-issue-3343.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 1 verified, 0 errors diff --git a/Test/hofs/Compilation.dfy b/Test/hofs/Compilation.dfy index 99fd0a36506..7e9c674b495 100644 --- a/Test/hofs/Compilation.dfy +++ b/Test/hofs/Compilation.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class Ref { var val : A diff --git a/Test/hofs/Compilation.dfy.expect b/Test/hofs/Compilation.dfy.expect index 760fafc6189..6b7187d2557 100644 --- a/Test/hofs/Compilation.dfy.expect +++ b/Test/hofs/Compilation.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 2 verified, 0 errors 1 = 1 3 = 3 3 = 3 diff --git a/Test/hofs/Examples.dfy b/Test/hofs/Examples.dfy index cdf177c001f..bebda559221 100644 --- a/Test/hofs/Examples.dfy +++ b/Test/hofs/Examples.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function Apply(f: A ~> B, x: A): B reads f.reads(x) diff --git a/Test/hofs/Examples.dfy.expect b/Test/hofs/Examples.dfy.expect index 851aaf58286..e69de29bb2d 100644 --- a/Test/hofs/Examples.dfy.expect +++ b/Test/hofs/Examples.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 7 verified, 0 errors diff --git a/Test/hofs/Fold.dfy b/Test/hofs/Fold.dfy index 336f9121b52..96ddb01591f 100644 --- a/Test/hofs/Fold.dfy +++ b/Test/hofs/Fold.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype List = Nil | Cons(A,List) diff --git a/Test/hofs/Fold.dfy.expect b/Test/hofs/Fold.dfy.expect index 144ffab92db..3abcc310618 100644 --- a/Test/hofs/Fold.dfy.expect +++ b/Test/hofs/Fold.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors 3 = 3 diff --git a/Test/hofs/Renaming.dfy b/Test/hofs/Renaming.dfy index cf21fdba2f8..391c0e79ef6 100644 --- a/Test/hofs/Renaming.dfy +++ b/Test/hofs/Renaming.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function OnId(f : (bool -> bool) -> int) : int reads f.reads(x => x) diff --git a/Test/hofs/Renaming.dfy.expect b/Test/hofs/Renaming.dfy.expect index e2b6636dbe4..13a954d9043 100644 --- a/Test/hofs/Renaming.dfy.expect +++ b/Test/hofs/Renaming.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 4 verified, 0 errors 10 11 diff --git a/Test/hofs/Requires.dfy b/Test/hofs/Requires.dfy index de5944b6744..f5e51244184 100644 --- a/Test/hofs/Requires.dfy +++ b/Test/hofs/Requires.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/hofs/Requires.dfy.expect b/Test/hofs/Requires.dfy.expect index 1981561ca00..e69de29bb2d 100644 --- a/Test/hofs/Requires.dfy.expect +++ b/Test/hofs/Requires.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 10 verified, 0 errors diff --git a/Test/hofs/TreeMapSimple.dfy b/Test/hofs/TreeMapSimple.dfy index d93aea46403..b7baf6eb8d7 100644 --- a/Test/hofs/TreeMapSimple.dfy +++ b/Test/hofs/TreeMapSimple.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { TestY(); diff --git a/Test/hofs/TreeMapSimple.dfy.expect b/Test/hofs/TreeMapSimple.dfy.expect index 9224d605f7e..be0317f1016 100644 --- a/Test/hofs/TreeMapSimple.dfy.expect +++ b/Test/hofs/TreeMapSimple.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 11 verified, 0 errors Tree.Branch(100, List.Cons(Tree.Branch(50, List.Nil), List.Nil)) Tree.Branch(100, List.Cons(Tree.Branch(50, List.Nil), List.Nil)) diff --git a/Test/hofs/VectorUpdate.dfy b/Test/hofs/VectorUpdate.dfy index 848ed585ca6..70c0de3084e 100644 --- a/Test/hofs/VectorUpdate.dfy +++ b/Test/hofs/VectorUpdate.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // this is a rather verbose version of the VectorUpdate method method VectorUpdate(N: int, a : array, f : (int,A) ~> A) diff --git a/Test/hofs/VectorUpdate.dfy.expect b/Test/hofs/VectorUpdate.dfy.expect index b8fae39eab8..7645f125857 100644 --- a/Test/hofs/VectorUpdate.dfy.expect +++ b/Test/hofs/VectorUpdate.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 8 verified, 0 errors 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 100, 50, 33, 25, 20, 16, 14, 12, 11, 10 diff --git a/Test/hofs/WhileLoop.dfy b/Test/hofs/WhileLoop.dfy index 4af9fbd841b..914f47f4522 100644 --- a/Test/hofs/WhileLoop.dfy +++ b/Test/hofs/WhileLoop.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class Ref { var val: A diff --git a/Test/hofs/WhileLoop.dfy.expect b/Test/hofs/WhileLoop.dfy.expect index 234ac298c9b..83083b451e1 100644 --- a/Test/hofs/WhileLoop.dfy.expect +++ b/Test/hofs/WhileLoop.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 4 verified, 0 errors 22 22 22 diff --git a/Test/metatests/OutputEncoding.dfy b/Test/metatests/OutputEncoding.dfy index 68c390ac811..59fa53bf298 100644 --- a/Test/metatests/OutputEncoding.dfy +++ b/Test/metatests/OutputEncoding.dfy @@ -1,10 +1,4 @@ -// RUN: %baredafny verify %args "%s" > "%t" -// RUN: %baredafny run --no-verify --target=cs %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=js %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=go %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=py %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=java %args "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" method Main() { // This works fine in all languages because € is a single UTF-16 code unit. diff --git a/Test/metatests/OutputEncoding.dfy.expect b/Test/metatests/OutputEncoding.dfy.expect index a37241376f3..b25a57298f1 100644 --- a/Test/metatests/OutputEncoding.dfy.expect +++ b/Test/metatests/OutputEncoding.dfy.expect @@ -1,17 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification -Euro sign: € - -Dafny program verifier did not attempt verification -Euro sign: € - -Dafny program verifier did not attempt verification -Euro sign: € - -Dafny program verifier did not attempt verification -Euro sign: € - -Dafny program verifier did not attempt verification Euro sign: € diff --git a/Test/patterns/OrPatterns.dfy b/Test/patterns/OrPatterns.dfy index 4f2610c9379..6385bd55c93 100644 --- a/Test/patterns/OrPatterns.dfy +++ b/Test/patterns/OrPatterns.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /rprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Enum = One | Two | Three { predicate Even() { diff --git a/Test/patterns/OrPatterns.dfy.expect b/Test/patterns/OrPatterns.dfy.expect index a6fce7c4a13..d86bac9de59 100644 --- a/Test/patterns/OrPatterns.dfy.expect +++ b/Test/patterns/OrPatterns.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 11 verified, 0 errors OK diff --git a/Test/patterns/PatternMatching.dfy b/Test/patterns/PatternMatching.dfy index 477126c066a..e8a73b856e4 100644 --- a/Test/patterns/PatternMatching.dfy +++ b/Test/patterns/PatternMatching.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /* * This file contains a collection of tests for features modified or introduced in PR 458 @@ -222,4 +221,4 @@ method Main() { var r5 := MultipleNestedMatch(A(0), t4, bb); print "Testing MultipleNestedMatch: ", r0, r1, r2, r3, r4, r5, ", should return 012345\n"; -} \ No newline at end of file +} diff --git a/Test/patterns/PatternMatching.dfy.expect b/Test/patterns/PatternMatching.dfy.expect index 2970273cbfc..b4415971ca5 100644 --- a/Test/patterns/PatternMatching.dfy.expect +++ b/Test/patterns/PatternMatching.dfy.expect @@ -1,6 +1,3 @@ -PatternMatching.dfy(102,4): Warning: this branch is redundant - -Dafny program verifier finished with 9 verified, 0 errors NestingTest([6]) = 6, should return 6 NestedVariableTest([2::3::4::5::6]) = 0, should return 0 ConstantTest([3::4::5::6]) = 2, should return 2 diff --git a/Test/patterns/PatternMatching.dfy.verifier.expect b/Test/patterns/PatternMatching.dfy.verifier.expect new file mode 100644 index 00000000000..b486aadfb80 --- /dev/null +++ b/Test/patterns/PatternMatching.dfy.verifier.expect @@ -0,0 +1 @@ +PatternMatching.dfy(101,4): Warning: this branch is redundant diff --git a/Test/traits/TraitCompile.dfy b/Test/traits/TraitCompile.dfy index 03cf3746c6f..6e9b925fbc5 100644 --- a/Test/traits/TraitCompile.dfy +++ b/Test/traits/TraitCompile.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait TT { @@ -820,4 +814,4 @@ module RedeclaringMembers { true } } -} \ No newline at end of file +} diff --git a/Test/traits/TraitCompile.dfy.expect b/Test/traits/TraitCompile.dfy.expect index 8257b754de2..b70a9b09d2e 100644 --- a/Test/traits/TraitCompile.dfy.expect +++ b/Test/traits/TraitCompile.dfy.expect @@ -1,259 +1,3 @@ - -Dafny program verifier finished with 75 verified, 0 errors - -Dafny program verifier did not attempt verification -y=120 -x=12 -d=800 -a5=407 -t=1212 -z=30 -z'=30 -w=30 -d=1000 -a5=507 -t=1512 -t=1512 -t=1515 -This is OtherModule.P(7.0) -From OtherModule.Y: 7 and true -This is OtherModule.P(7.0) -From OtherModule.X: 7 and true -c.f= 15 j.f= 15 -c.f= 18 j.f= 18 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -x=126 -5.2 9 false -true true true true -false false false false -true true true true -false false false false -5.2 5.2 -1.2 1.2 -1.2 1.2 -15 30 -15 30 -15 30 -0 (0, 0) 0 -8 -0 0 0 0 0 0 0 0 0 0 0 0 -13 13 13 13 13 13 13 13 13 13 13 13 -14 14 14 14 14 14 14 14 14 14 14 14 -15 15 15 15 15 15 15 15 15 15 15 15 -16 16 16 16 16 16 16 16 16 16 16 16 -17 17 17 17 17 17 17 17 17 17 17 17 -18 18 18 18 18 18 18 18 18 18 18 18 -19 19 19 19 19 19 19 19 19 19 19 19 -20 20 20 20 20 20 20 20 20 20 20 20 -21 21 21 21 21 21 21 21 21 21 21 21 -22 22 22 22 22 22 22 22 22 22 22 22 -23 23 23 23 23 23 23 23 23 23 23 23 -24 24 24 24 24 24 24 24 24 24 24 24 -f(4) = 7 -f(4) = 7 -g(4) = 7 -g(4) = 7 -41 15 26 -true true -true true -true true -true true -true true true -true true true - -Dafny program verifier did not attempt verification -y=120 -x=12 -d=800 -a5=407 -t=1212 -z=30 -z'=30 -w=30 -d=1000 -a5=507 -t=1512 -t=1512 -t=1515 -This is OtherModule.P(7.0) -From OtherModule.Y: 7 and true -This is OtherModule.P(7.0) -From OtherModule.X: 7 and true -c.f= 15 j.f= 15 -c.f= 18 j.f= 18 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -x=126 -5.2 9 false -true true true true -false false false false -true true true true -false false false false -5.2 5.2 -1.2 1.2 -1.2 1.2 -15 30 -15 30 -15 30 -0 (0, 0) 0 -8 -0 0 0 0 0 0 0 0 0 0 0 0 -13 13 13 13 13 13 13 13 13 13 13 13 -14 14 14 14 14 14 14 14 14 14 14 14 -15 15 15 15 15 15 15 15 15 15 15 15 -16 16 16 16 16 16 16 16 16 16 16 16 -17 17 17 17 17 17 17 17 17 17 17 17 -18 18 18 18 18 18 18 18 18 18 18 18 -19 19 19 19 19 19 19 19 19 19 19 19 -20 20 20 20 20 20 20 20 20 20 20 20 -21 21 21 21 21 21 21 21 21 21 21 21 -22 22 22 22 22 22 22 22 22 22 22 22 -23 23 23 23 23 23 23 23 23 23 23 23 -24 24 24 24 24 24 24 24 24 24 24 24 -f(4) = 7 -f(4) = 7 -g(4) = 7 -g(4) = 7 -41 15 26 -true true -true true -true true -true true -true true true -true true true - -Dafny program verifier did not attempt verification -y=120 -x=12 -d=800 -a5=407 -t=1212 -z=30 -z'=30 -w=30 -d=1000 -a5=507 -t=1512 -t=1512 -t=1515 -This is OtherModule.P(7.0) -From OtherModule.Y: 7 and true -This is OtherModule.P(7.0) -From OtherModule.X: 7 and true -c.f= 15 j.f= 15 -c.f= 18 j.f= 18 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -x=126 -5.2 9 false -true true true true -false false false false -true true true true -false false false false -5.2 5.2 -1.2 1.2 -1.2 1.2 -15 30 -15 30 -15 30 -0 (0, 0) 0 -8 -0 0 0 0 0 0 0 0 0 0 0 0 -13 13 13 13 13 13 13 13 13 13 13 13 -14 14 14 14 14 14 14 14 14 14 14 14 -15 15 15 15 15 15 15 15 15 15 15 15 -16 16 16 16 16 16 16 16 16 16 16 16 -17 17 17 17 17 17 17 17 17 17 17 17 -18 18 18 18 18 18 18 18 18 18 18 18 -19 19 19 19 19 19 19 19 19 19 19 19 -20 20 20 20 20 20 20 20 20 20 20 20 -21 21 21 21 21 21 21 21 21 21 21 21 -22 22 22 22 22 22 22 22 22 22 22 22 -23 23 23 23 23 23 23 23 23 23 23 23 -24 24 24 24 24 24 24 24 24 24 24 24 -f(4) = 7 -f(4) = 7 -g(4) = 7 -g(4) = 7 -41 15 26 -true true -true true -true true -true true -true true true -true true true - -Dafny program verifier did not attempt verification -y=120 -x=12 -d=800 -a5=407 -t=1212 -z=30 -z'=30 -w=30 -d=1000 -a5=507 -t=1512 -t=1512 -t=1515 -This is OtherModule.P(7.0) -From OtherModule.Y: 7 and true -This is OtherModule.P(7.0) -From OtherModule.X: 7 and true -c.f= 15 j.f= 15 -c.f= 18 j.f= 18 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -x=126 -5.2 9 false -true true true true -false false false false -true true true true -false false false false -5.2 5.2 -1.2 1.2 -1.2 1.2 -15 30 -15 30 -15 30 -0 (0, 0) 0 -8 -0 0 0 0 0 0 0 0 0 0 0 0 -13 13 13 13 13 13 13 13 13 13 13 13 -14 14 14 14 14 14 14 14 14 14 14 14 -15 15 15 15 15 15 15 15 15 15 15 15 -16 16 16 16 16 16 16 16 16 16 16 16 -17 17 17 17 17 17 17 17 17 17 17 17 -18 18 18 18 18 18 18 18 18 18 18 18 -19 19 19 19 19 19 19 19 19 19 19 19 -20 20 20 20 20 20 20 20 20 20 20 20 -21 21 21 21 21 21 21 21 21 21 21 21 -22 22 22 22 22 22 22 22 22 22 22 22 -23 23 23 23 23 23 23 23 23 23 23 23 -24 24 24 24 24 24 24 24 24 24 24 24 -f(4) = 7 -f(4) = 7 -g(4) = 7 -g(4) = 7 -41 15 26 -true true -true true -true true -true true -true true true -true true true - -Dafny program verifier did not attempt verification y=120 x=12 d=800 diff --git a/Test/traits/TraitExample.dfy b/Test/traits/TraitExample.dfy index d6afb4ce70b..54c5cbbec6f 100644 --- a/Test/traits/TraitExample.dfy +++ b/Test/traits/TraitExample.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait Automobile { ghost var Repr: set diff --git a/Test/traits/TraitExample.dfy.expect b/Test/traits/TraitExample.dfy.expect index c1b4ac93962..b9783e62141 100644 --- a/Test/traits/TraitExample.dfy.expect +++ b/Test/traits/TraitExample.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 29 verified, 0 errors Fiat: 6 Volvo: 20 Catacar: 26 diff --git a/Test/traits/Traits-Fields.dfy b/Test/traits/Traits-Fields.dfy index 2da609c33c8..6ae1aaab6d9 100644 --- a/Test/traits/Traits-Fields.dfy +++ b/Test/traits/Traits-Fields.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait J { diff --git a/Test/traits/Traits-Fields.dfy.expect b/Test/traits/Traits-Fields.dfy.expect index cc460fc52f4..c39bd8b5d5d 100644 --- a/Test/traits/Traits-Fields.dfy.expect +++ b/Test/traits/Traits-Fields.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 2 verified, 0 errors j.x = 9 c.x = 9 diff --git a/Test/traits/TraitsMultipleInheritance.dfy b/Test/traits/TraitsMultipleInheritance.dfy index 12590e47828..67fd8673488 100644 --- a/Test/traits/TraitsMultipleInheritance.dfy +++ b/Test/traits/TraitsMultipleInheritance.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait J1{ var x: int diff --git a/Test/traits/TraitsMultipleInheritance.dfy.expect b/Test/traits/TraitsMultipleInheritance.dfy.expect index ad1a1011a25..b116b2d070d 100644 --- a/Test/traits/TraitsMultipleInheritance.dfy.expect +++ b/Test/traits/TraitsMultipleInheritance.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 1 verified, 0 errors c.x + c.y = 30 j1.x + j2.y = 30 diff --git a/Test/unicodechars/comp/Collections.dfy b/Test/unicodechars/comp/Collections.dfy index fb3e451eb83..14d241ed5ab 100644 --- a/Test/unicodechars/comp/Collections.dfy +++ b/Test/unicodechars/comp/Collections.dfy @@ -1,8 +1,3 @@ -// RUN: %dafny /compile:0 /verifyAllModules /unicodeChar:1 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:true --verify-included-files include "../../comp/Collections.dfy" diff --git a/Test/unicodechars/comp/Collections.dfy.expect b/Test/unicodechars/comp/Collections.dfy.expect index 70586502b0d..89f08b08d75 100644 --- a/Test/unicodechars/comp/Collections.dfy.expect +++ b/Test/unicodechars/comp/Collections.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 40 verified, 0 errors - -Dafny program verifier did not attempt verification Sets: {} {17, 82} {12, 17} cardinality: 0 2 2 union: {17, 82} {12, 17, 82} @@ -127,511 +123,3 @@ Multiset=== 1 3 |s|=2 |u|=4 1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Yellow := 21, Color.Blue := 30] -keys: {Color.Yellow, Color.Blue} -values: {21, 30} -items: {(Color.Yellow, 21), (Color.Blue, 30)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {21, 30} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.go.expect b/Test/unicodechars/comp/Collections.dfy.go.expect new file mode 100644 index 00000000000..2fc0f3b7093 --- /dev/null +++ b/Test/unicodechars/comp/Collections.dfy.go.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.java.expect b/Test/unicodechars/comp/Collections.dfy.java.expect new file mode 100644 index 00000000000..39975cadfc4 --- /dev/null +++ b/Test/unicodechars/comp/Collections.dfy.java.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Yellow := 21, Color.Blue := 30] +keys: {Color.Yellow, Color.Blue} +values: {21, 30} +items: {(Color.Yellow, 21), (Color.Blue, 30)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.js.expect b/Test/unicodechars/comp/Collections.dfy.js.expect new file mode 100644 index 00000000000..2fc0f3b7093 --- /dev/null +++ b/Test/unicodechars/comp/Collections.dfy.js.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.py.expect b/Test/unicodechars/comp/Collections.dfy.py.expect new file mode 100644 index 00000000000..e4e346dede0 --- /dev/null +++ b/Test/unicodechars/comp/Collections.dfy.py.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {21, 30} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/unicodechars/comp/Comprehensions.dfy b/Test/unicodechars/comp/Comprehensions.dfy index 274f8d3a150..8bd5f67525e 100644 --- a/Test/unicodechars/comp/Comprehensions.dfy +++ b/Test/unicodechars/comp/Comprehensions.dfy @@ -1,8 +1,3 @@ -// RUN: %dafny /compile:0 /unicodeChar:1 /verifyAllModules "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" -include "../../comp/Comprehensions.dfy" \ No newline at end of file +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:true --verify-included-files +include "../../comp/Comprehensions.dfy" diff --git a/Test/unicodechars/comp/Comprehensions.dfy.expect b/Test/unicodechars/comp/Comprehensions.dfy.expect index 18159ddde0a..c9703fc9397 100644 --- a/Test/unicodechars/comp/Comprehensions.dfy.expect +++ b/Test/unicodechars/comp/Comprehensions.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 32 verified, 0 errors - -Dafny program verifier did not attempt verification x=13 y=14 x=13 y=14 b=yes true false @@ -64,259 +60,3 @@ true true [137438953474, 137438953475, 137438953476, 137438953477, 137438953479] cdefh cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[14 := 7, 12 := 6, 13 := 6] -map[18 := 14, 17 := 13, 16 := 12] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh diff --git a/Test/unicodechars/comp/Comprehensions.dfy.py.expect b/Test/unicodechars/comp/Comprehensions.dfy.py.expect new file mode 100644 index 00000000000..aeaa31fc0f3 --- /dev/null +++ b/Test/unicodechars/comp/Comprehensions.dfy.py.expect @@ -0,0 +1,62 @@ +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[14 := 7, 12 := 6, 13 := 6] +map[18 := 14, 17 := 13, 16 := 12] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh diff --git a/Test/unicodechars/comp/NativeNumbers.dfy b/Test/unicodechars/comp/NativeNumbers.dfy index 764b4b3b384..20cdb1e214f 100644 --- a/Test/unicodechars/comp/NativeNumbers.dfy +++ b/Test/unicodechars/comp/NativeNumbers.dfy @@ -1,9 +1,4 @@ +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:true --verify-included-files // Skip JavaScript because JavaScript doesn't have the same native types -// RUN: %dafny /compile:0 /verifyAllModules /unicodeChar:1 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" -include "../../comp/NativeNumbers.dfy" \ No newline at end of file +include "../../comp/NativeNumbers.dfy" diff --git a/Test/unicodechars/comp/NativeNumbers.dfy.expect b/Test/unicodechars/comp/NativeNumbers.dfy.expect index b0fc6754f84..354d931a151 100644 --- a/Test/unicodechars/comp/NativeNumbers.dfy.expect +++ b/Test/unicodechars/comp/NativeNumbers.dfy.expect @@ -1,259 +1,3 @@ - -Dafny program verifier finished with 25 verified, 0 errors - -Dafny program verifier did not attempt verification -Casting: - -Small numbers: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 -5 5 5 5 5 5 5 5 5 -6 6 6 6 6 6 6 6 6 -7 7 7 7 7 7 7 7 7 -8 8 8 8 8 8 8 8 8 - -Large unsigned numbers: -255 255 255 255 255 255 255 255 -65535 65535 65535 65535 65535 65535 -4294967295 4294967295 4294967295 4294967295 -18446744073709551615 18446744073709551615 - -Int to large unsigned: -255 65535 4294967295 18446744073709551615 - -Cast from cardinality operator: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 - -Characters: -'C' 67 67 67 67 67 67 67 67 67 -0 127 32767 65535 65535 255 65535 65535 65535 - -Defaults: - -0 0 0 0 0 0 0 0 0 - -Byte arithmetic: - -20 30 -10 10 18 - -Short arithmetic: - -20 30 -10 10 18 - -Bitvectors: - -0 3 4 1 - -Comparison to zero: - -int8: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int16: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int32: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int64: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint8: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint16: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint32: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint64: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N - - -Dafny program verifier did not attempt verification -Casting: - -Small numbers: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 -5 5 5 5 5 5 5 5 5 -6 6 6 6 6 6 6 6 6 -7 7 7 7 7 7 7 7 7 -8 8 8 8 8 8 8 8 8 - -Large unsigned numbers: -255 255 255 255 255 255 255 255 -65535 65535 65535 65535 65535 65535 -4294967295 4294967295 4294967295 4294967295 -18446744073709551615 18446744073709551615 - -Int to large unsigned: -255 65535 4294967295 18446744073709551615 - -Cast from cardinality operator: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 - -Characters: -'C' 67 67 67 67 67 67 67 67 67 -0 127 32767 65535 65535 255 65535 65535 65535 - -Defaults: - -0 0 0 0 0 0 0 0 0 - -Byte arithmetic: - -20 30 -10 10 18 - -Short arithmetic: - -20 30 -10 10 18 - -Bitvectors: - -0 3 4 1 - -Comparison to zero: - -int8: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int16: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int32: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int64: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint8: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint16: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint32: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint64: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N - - -Dafny program verifier did not attempt verification -Casting: - -Small numbers: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 -5 5 5 5 5 5 5 5 5 -6 6 6 6 6 6 6 6 6 -7 7 7 7 7 7 7 7 7 -8 8 8 8 8 8 8 8 8 - -Large unsigned numbers: -255 255 255 255 255 255 255 255 -65535 65535 65535 65535 65535 65535 -4294967295 4294967295 4294967295 4294967295 -18446744073709551615 18446744073709551615 - -Int to large unsigned: -255 65535 4294967295 18446744073709551615 - -Cast from cardinality operator: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 - -Characters: -'C' 67 67 67 67 67 67 67 67 67 -0 127 32767 65535 65535 255 65535 65535 65535 - -Defaults: - -0 0 0 0 0 0 0 0 0 - -Byte arithmetic: - -20 30 -10 10 18 - -Short arithmetic: - -20 30 -10 10 18 - -Bitvectors: - -0 3 4 1 - -Comparison to zero: - -int8: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int16: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int32: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int64: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint8: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint16: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint32: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint64: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N - - -Dafny program verifier did not attempt verification Casting: Small numbers: diff --git a/Test/unicodechars/comp/Numbers.dfy b/Test/unicodechars/comp/Numbers.dfy index 2c9170fe4d7..e5e36180234 100644 --- a/Test/unicodechars/comp/Numbers.dfy +++ b/Test/unicodechars/comp/Numbers.dfy @@ -1,8 +1,3 @@ -// RUN: %dafny /compile:0 /verifyAllModules /unicodeChar:1 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" -include "../../comp/Numbers.dfy" \ No newline at end of file +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:true --verify-included-files +include "../../comp/Numbers.dfy" diff --git a/Test/unicodechars/comp/Numbers.dfy.expect b/Test/unicodechars/comp/Numbers.dfy.expect index 6fa2f59f340..cce193e1cce 100644 --- a/Test/unicodechars/comp/Numbers.dfy.expect +++ b/Test/unicodechars/comp/Numbers.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 59 verified, 0 errors - -Dafny program verifier did not attempt verification 0 0 3 @@ -113,455 +109,3 @@ true false true false false true false true true false true false 20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -'g' 'Q' '2' -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -(312.0 / 40.0) (1248.0 / 40.0) -(-312.0 / 40.0) (-1248.0 / 40.0) -(-312.0 / 40.0) (1248.0 / 40.0) -(312.0 / 40.0) (-1248.0 / 40.0) -0.0 0.0 0.0 -120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) -123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 (8100.0 / 8100.0) -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -'g' 'Q' '2' -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -'g' 'Q' '2' -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -(312.0 / 40.0) (1248.0 / 40.0) -(-312.0 / 40.0) (-1248.0 / 40.0) -(-312.0 / 40.0) (1248.0 / 40.0) -(312.0 / 40.0) (-1248.0 / 40.0) -0.0 0.0 0.0 -120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) -123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 (8100.0 / 8100.0) -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -'g' 'Q' '2' -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 diff --git a/Test/unicodechars/comp/Numbers.dfy.go.expect b/Test/unicodechars/comp/Numbers.dfy.go.expect new file mode 100644 index 00000000000..95d8ac259c7 --- /dev/null +++ b/Test/unicodechars/comp/Numbers.dfy.go.expect @@ -0,0 +1,111 @@ +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +'g' 'Q' '2' +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 diff --git a/Test/unicodechars/comp/Numbers.dfy.py.expect b/Test/unicodechars/comp/Numbers.dfy.py.expect new file mode 100644 index 00000000000..95d8ac259c7 --- /dev/null +++ b/Test/unicodechars/comp/Numbers.dfy.py.expect @@ -0,0 +1,111 @@ +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +'g' 'Q' '2' +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 From e59a21deeaa513566d43d65076e299751eca1b4a Mon Sep 17 00:00:00 2001 From: Robin Salkeld Date: Fri, 2 Jun 2023 12:03:09 -0700 Subject: [PATCH 27/68] Revert "Converting all tests" This reverts commit 35d2efdb8080017773e653fe800c3dd8123e0de5. --- Test/VerifyThis2015/Problem1.dfy | 3 +- Test/VerifyThis2015/Problem1.dfy.expect | 2 + Test/VerifyThis2015/Problem2.dfy | 3 +- Test/VerifyThis2015/Problem2.dfy.expect | 2 + Test/VerifyThis2015/Problem3.dfy | 3 +- Test/VerifyThis2015/Problem3.dfy.expect | 2 + Test/c++/arrays.dfy | 3 +- Test/c++/arrays.dfy.expect | 2 + Test/c++/bit-vectors.dfy | 3 +- Test/c++/bit-vectors.dfy.expect | 2 + Test/c++/class.dfy | 3 +- Test/c++/class.dfy.expect | 2 + Test/c++/const.dfy | 3 +- Test/c++/const.dfy.expect | 2 + Test/c++/datatypes.dfy | 3 +- Test/c++/datatypes.dfy.expect | 2 + Test/c++/generic.dfy | 3 +- Test/c++/generic.dfy.expect | 2 + Test/c++/hello.dfy | 3 +- Test/c++/hello.dfy.expect | 2 + Test/c++/ints.dfy | 3 +- Test/c++/ints.dfy.expect | 2 + Test/c++/maps.dfy | 3 +- Test/c++/maps.dfy.expect | 2 + Test/c++/recursion.dfy | 3 +- Test/c++/recursion.dfy.expect | 2 + Test/c++/returns.dfy | 3 +- Test/c++/returns.dfy.expect | 2 + Test/c++/seqs.dfy | 3 +- Test/c++/seqs.dfy.expect | 2 + Test/c++/sets.dfy | 3 +- Test/c++/sets.dfy.expect | 2 + Test/c++/while.dfy | 3 +- Test/c++/while.dfy.expect | 2 + Test/comp/Arrays.dfy | 9 +- Test/comp/Arrays.dfy.expect | 396 ++++++++++++ Test/comp/Arrays.dfy.go.expect | 96 --- Test/comp/AsIs-Compile.dfy | 8 +- Test/comp/AsIs-Compile.dfy.expect | 160 +++++ Test/comp/AutoInit.dfy | 8 +- Test/comp/AutoInit.dfy.expect | 160 +++++ Test/comp/ByMethodCompilation.dfy | 8 +- Test/comp/ByMethodCompilation.dfy.expect | 32 + Test/comp/Calls.dfy | 8 +- Test/comp/Calls.dfy.expect | 40 ++ Test/comp/Class.dfy | 8 +- Test/comp/Class.dfy.expect | 72 +++ Test/comp/Collections.dfy | 9 +- Test/comp/Collections.dfy.expect | 512 ++++++++++++++++ Test/comp/Collections.dfy.go.expect | 125 ---- Test/comp/Collections.dfy.java.expect | 125 ---- Test/comp/Collections.dfy.js.expect | 125 ---- Test/comp/Collections.dfy.py.expect | 125 ---- Test/comp/Comprehensions.dfy | 9 +- Test/comp/Comprehensions.dfy.expect | 260 ++++++++ Test/comp/Comprehensions.dfy.py.expect | 62 -- Test/comp/ComprehensionsNewSyntax.dfy | 9 +- Test/comp/ComprehensionsNewSyntax.dfy.expect | 148 +++++ .../ComprehensionsNewSyntax.dfy.py.expect | 34 -- Test/comp/CovariantCollections.dfy | 8 +- Test/comp/CovariantCollections.dfy.expect | 220 +++++++ Test/comp/Datatype.dfy | 9 +- Test/comp/Datatype.dfy.expect | 100 +++ Test/comp/Datatype.dfy.java.expect | 22 - Test/comp/Datatype.dfy.py.expect | 22 - Test/comp/DefaultParameters-Compile.dfy | 8 +- .../comp/DefaultParameters-Compile.dfy.expect | 48 ++ Test/comp/DowncastClone.dfy | 8 +- Test/comp/DowncastClone.dfy.expect | 40 ++ Test/comp/ErasableTypeWrappers.dfy | 8 +- Test/comp/ErasableTypeWrappers.dfy.expect | 84 +++ Test/comp/EuclideanDivision.dfy | 8 +- Test/comp/EuclideanDivision.dfy.expect | 36 ++ Test/comp/ForLoops-Compilation.dfy | 8 +- Test/comp/ForLoops-Compilation.dfy.expect | 200 ++++++ Test/comp/ForallNewSyntax.dfy | 8 +- Test/comp/ForallNewSyntax.dfy.expect | 180 ++++++ Test/comp/Ghosts.dfy | 8 +- Test/comp/Ghosts.dfy.expect | 52 ++ Test/comp/Let.dfy | 7 +- Test/comp/Let.dfy.expect | 34 ++ Test/comp/MoreAutoInit.dfy | 8 +- Test/comp/MoreAutoInit.dfy.expect | 572 ++++++++++++++++++ Test/comp/NativeNumbers.dfy | 7 +- Test/comp/NativeNumbers.dfy.expect | 256 ++++++++ Test/comp/NestedArrays.dfy | 7 +- Test/comp/NestedArrays.dfy.expect | 16 + Test/comp/Numbers.dfy | 9 +- Test/comp/Numbers.dfy.expect | 456 ++++++++++++++ Test/comp/Numbers.dfy.go.expect | 111 ---- Test/comp/Numbers.dfy.py.expect | 111 ---- Test/comp/Poly.dfy | 9 +- Test/comp/Poly.dfy.expect | 60 ++ Test/comp/Poly.dfy.go.expect | 12 - Test/comp/Poly.dfy.py.expect | 12 - Test/comp/Print.dfy | 8 +- Test/comp/Print.dfy.expect | 34 ++ Test/comp/Print.dfy.go.expect | 8 - Test/comp/Print.dfy.java.expect | 8 - Test/comp/Print.dfy.js.expect | 8 - Test/comp/StaticMembersOfGenericTypes.dfy | 8 +- .../StaticMembersOfGenericTypes.dfy.expect | 76 +++ Test/comp/TailRecursion.dfy | 8 +- Test/comp/TailRecursion.dfy.expect | 76 +++ Test/comp/TypeDescriptors.dfy | 8 +- Test/comp/TypeDescriptors.dfy.expect | 152 +++++ Test/comp/TypeParams.dfy | 11 +- Test/comp/TypeParams.dfy.expect | 88 +++ Test/comp/TypeParams.dfy.go.expect | 19 - Test/comp/TypeParams.dfy.java.expect | 19 - Test/comp/TypeParams.dfy.js.expect | 19 - Test/comp/TypeParams.dfy.py.expect | 19 - Test/comp/UnoptimizedErasableTypeWrappers.dfy | 8 +- ...UnoptimizedErasableTypeWrappers.dfy.expect | 28 + Test/comp/Variance.dfy | 8 +- Test/comp/Variance.dfy.expect | 64 ++ Test/comp/Various.dfy | 8 +- Test/comp/Various.dfy.expect | 40 ++ Test/comp/firstSteps/0_IKnowThisMuchIs.dfy | 4 +- .../firstSteps/0_IKnowThisMuchIs.dfy.expect | 4 + Test/comp/firstSteps/1_Calls-F.dfy | 4 +- Test/comp/firstSteps/1_Calls-F.dfy.expect | 4 + Test/comp/firstSteps/2_Modules.dfy | 4 +- Test/comp/firstSteps/2_Modules.dfy.expect | 4 + Test/comp/firstSteps/3_Calls-As.dfy | 4 +- Test/comp/firstSteps/3_Calls-As.dfy.expect | 4 + .../4_Calls-FunctionsValues-Class+NT.dfy | 4 +- ..._Calls-FunctionsValues-Class+NT.dfy.expect | 4 + .../firstSteps/5_Calls-FunctionsValues-Dt.dfy | 4 +- .../5_Calls-FunctionsValues-Dt.dfy.expect | 4 + .../firstSteps/6_Calls-VariableCapture.dfy | 4 +- .../6_Calls-VariableCapture.dfy.expect | 4 + Test/comp/firstSteps/7_Arrays.dfy | 4 +- Test/comp/firstSteps/7_Arrays.dfy.expect | 4 + Test/comp/firstSteps/7_Dt_Algebraic.dfy | 6 +- .../firstSteps/7_Dt_Algebraic.dfy.cs.expect | 11 - .../comp/firstSteps/7_Dt_Algebraic.dfy.expect | 17 + Test/dafny0/ArrayElementInitCompile.dfy | 8 +- .../dafny0/ArrayElementInitCompile.dfy.expect | 76 +++ Test/dafny0/Bitvectors.dfy | 5 +- Test/dafny0/Bitvectors.dfy.expect | 490 +++++++++++++++ Test/dafny0/Bitvectors.dfy.verifier.expect | 441 -------------- Test/dafny0/Constant.dfy | 3 +- Test/dafny0/Constant.dfy.expect | 2 + Test/dafny0/Deprecation.dfy | 3 +- Test/dafny0/Deprecation.dfy.expect | 7 + Test/dafny0/Deprecation.dfy.verifier.expect | 5 - Test/dafny0/DiscoverBounds.dfy | 3 +- Test/dafny0/DiscoverBounds.dfy.expect | 7 + .../dafny0/DiscoverBounds.dfy.verifier.expect | 5 - Test/dafny0/DividedConstructors.dfy | 3 +- Test/dafny0/DividedConstructors.dfy.expect | 186 ++++++ .../DividedConstructors.dfy.verifier.expect | 184 ------ Test/dafny0/EqualityTypesCompile.dfy | 3 +- Test/dafny0/EqualityTypesCompile.dfy.expect | 2 + Test/dafny0/ForallCompilation.dfy | 3 +- Test/dafny0/ForallCompilation.dfy.expect | 2 + Test/dafny0/ForallCompilationNewSyntax.dfy | 3 +- .../ForallCompilationNewSyntax.dfy.expect | 6 + ...llCompilationNewSyntax.dfy.verifier.expect | 4 - Test/dafny0/GhostGuards.dfy | 3 +- Test/dafny0/GhostGuards.dfy.expect | 7 + Test/dafny0/GhostGuards.dfy.verifier.expect | 5 - Test/dafny0/GhostITECompilation.dfy | 8 +- Test/dafny0/GhostITECompilation.dfy.expect | 28 + Test/dafny0/InitialValues.dfy | 3 +- Test/dafny0/InitialValues.dfy.expect | 2 + Test/dafny0/MatchBraces.dfy | 5 +- Test/dafny0/MatchBraces.dfy.expect | 133 ++++ Test/dafny0/MatchBraces.dfy.verifier.expect | 125 ---- Test/dafny0/MoForallCompilation.dfy | 3 +- Test/dafny0/MoForallCompilation.dfy.expect | 2 + Test/dafny0/NameclashesCompile.dfy | 3 +- Test/dafny0/NameclashesCompile.dfy.expect | 2 + Test/dafny0/NonZeroInitializationCompile.dfy | 7 +- .../NonZeroInitializationCompile.dfy.expect | 73 +++ Test/dafny0/NullComparisonWarnings.dfy | 3 +- Test/dafny0/NullComparisonWarnings.dfy.expect | 13 + ...NullComparisonWarnings.dfy.verifier.expect | 11 - Test/dafny0/PrintUTF8.dfy | 3 +- Test/dafny0/PrintUTF8.dfy.expect | 2 + Test/dafny0/RangeCompilation.dfy | 3 +- Test/dafny0/RangeCompilation.dfy.expect | 2 + Test/dafny0/SeqFromArray.dfy | 3 +- Test/dafny0/SeqFromArray.dfy.expect | 2 + Test/dafny0/SharedDestructorsCompile.dfy | 5 +- .../SharedDestructorsCompile.dfy.expect | 17 + Test/dafny0/SiblingImports.dfy | 3 +- Test/dafny0/SiblingImports.dfy.expect | 2 + Test/dafny0/TypeConversionsCompile.dfy | 3 +- Test/dafny0/TypeConversionsCompile.dfy.expect | 225 +++++++ ...TypeConversionsCompile.dfy.verifier.expect | 223 ------- Test/dafny0/TypeMembers.dfy | 5 +- Test/dafny0/TypeMembers.dfy.expect | 29 + Test/dafny0/TypeMembers.dfy.verifier.expect | 1 - Test/dafny0/Wellfounded.dfy | 3 +- Test/dafny0/Wellfounded.dfy.expect | 4 + Test/dafny0/Wellfounded.dfy.verifier.expect | 2 - Test/dafny2/MinWindowMax.dfy | 3 +- Test/dafny2/MinWindowMax.dfy.expect | 2 + .../SmallestMissingNumber-functional.dfy | 3 +- ...mallestMissingNumber-functional.dfy.expect | 3 + ...ssingNumber-functional.dfy.verifier.expect | 1 - .../SmallestMissingNumber-imperative.dfy | 3 +- ...mallestMissingNumber-imperative.dfy.expect | 2 + Test/dafny2/StoreAndRetrieve.dfy | 7 +- Test/dafny2/StoreAndRetrieve.dfy.expect | 38 ++ .../StoreAndRetrieve.dfy.verifier.expect | 5 - Test/dafny2/Z-BirthdayBook.dfy | 3 +- Test/dafny2/Z-BirthdayBook.dfy.expect | 2 + Test/dafny2/pq-intrinsic-extrinsic.dfy | 5 +- Test/dafny2/pq-intrinsic-extrinsic.dfy.expect | 11 + Test/dafny3/Abstemious.dfy | 3 +- Test/dafny3/Abstemious.dfy.expect | 2 + Test/dafny3/CachedContainer.dfy | 7 +- Test/dafny3/CachedContainer.dfy.expect | 78 +++ .../CachedContainer.dfy.verifier.expect | 13 - Test/dafny3/Iter.dfy | 3 +- Test/dafny3/Iter.dfy.expect | 2 + Test/dafny4/Ackermann.dfy | 3 +- Test/dafny4/Ackermann.dfy.expect | 4 + Test/dafny4/Ackermann.dfy.verifier.expect | 2 - Test/dafny4/Bug107.dfy | 3 +- Test/dafny4/Bug107.dfy.expect | 2 + Test/dafny4/Bug108.dfy | 3 +- Test/dafny4/Bug108.dfy.expect | 2 + Test/dafny4/Bug113.dfy | 5 +- Test/dafny4/Bug113.dfy.expect | 2 + Test/dafny4/Bug116.dfy | 3 +- Test/dafny4/Bug116.dfy.expect | 2 + Test/dafny4/Bug140.dfy | 3 +- Test/dafny4/Bug140.dfy.expect | 2 + Test/dafny4/Bug148.dfy | 3 +- Test/dafny4/Bug148.dfy.expect | 2 + Test/dafny4/Bug49.dfy | 3 +- Test/dafny4/Bug49.dfy.expect | 2 + Test/dafny4/Bug60.dfy | 3 +- Test/dafny4/Bug60.dfy.expect | 2 + Test/dafny4/Bug67.dfy | 5 +- Test/dafny4/Bug67.dfy.expect | 2 + Test/dafny4/Bug68.dfy | 5 +- Test/dafny4/Bug68.dfy.expect | 2 + Test/dafny4/Bug89.dfy | 3 +- Test/dafny4/Bug89.dfy.expect | 2 + Test/dafny4/Bug94.dfy | 3 +- Test/dafny4/Bug94.dfy.expect | 2 + Test/dafny4/ClassRefinement.dfy | 7 +- Test/dafny4/ClassRefinement.dfy.expect | 43 ++ .../ClassRefinement.dfy.verifier.expect | 6 - Test/dafny4/ExpandedGuardedness.dfy | 3 +- Test/dafny4/ExpandedGuardedness.dfy.expect | 2 + Test/dafny4/FlyingRobots.dfy | 3 +- Test/dafny4/FlyingRobots.dfy.expect | 2 + Test/dafny4/Leq.dfy | 3 +- Test/dafny4/Leq.dfy.expect | 2 + Test/dafny4/McCarthy91.dfy | 3 +- Test/dafny4/McCarthy91.dfy.expect | 2 + Test/dafny4/NatList.dfy | 3 +- Test/dafny4/NatList.dfy.expect | 2 + Test/dafny4/Regression15.dfy | 3 +- Test/dafny4/Regression15.dfy.expect | 2 + Test/dafny4/Regression2.dfy | 3 +- Test/dafny4/Regression2.dfy.expect | 2 + Test/dafny4/Regression3.dfy | 3 +- Test/dafny4/Regression3.dfy.expect | 2 + Test/dafny4/Regression4.dfy | 3 +- Test/dafny4/Regression4.dfy.expect | 2 + Test/dafny4/Regression6.dfy | 3 +- Test/dafny4/Regression6.dfy.expect | 2 + Test/dafny4/Regression7.dfy | 3 +- Test/dafny4/Regression7.dfy.expect | 2 + Test/dafny4/Regression9.dfy | 3 +- Test/dafny4/Regression9.dfy.expect | 2 + Test/dafny4/UnionFind.dfy | 3 +- Test/dafny4/UnionFind.dfy.expect | 2 + Test/dafny4/gcd.dfy | 7 +- Test/dafny4/gcd.dfy.expect | 31 + Test/dafny4/git-issue104.dfy | 8 +- Test/dafny4/git-issue104.dfy.expect | 16 + Test/dafny4/git-issue105.dfy | 3 +- Test/dafny4/git-issue105.dfy.expect | 2 + Test/dafny4/git-issue15.dfy | 3 +- Test/dafny4/git-issue15.dfy.expect | 2 + Test/dafny4/git-issue167.dfy | 3 +- Test/dafny4/git-issue167.dfy.expect | 2 + Test/dafny4/git-issue195.dfy | 3 +- Test/dafny4/git-issue195.dfy.expect | 2 + Test/dafny4/git-issue196.dfy | 3 +- Test/dafny4/git-issue196.dfy.expect | 2 + Test/dafny4/git-issue4.dfy | 3 +- Test/dafny4/git-issue4.dfy.expect | 2 + Test/dafny4/git-issue43.dfy | 3 +- Test/dafny4/git-issue43.dfy.expect | 2 + Test/dafny4/git-issue70.dfy | 3 +- Test/dafny4/git-issue70.dfy.expect | 2 + Test/dafny4/git-issue76.dfy | 5 +- Test/dafny4/git-issue76.dfy.expect | 7 + Test/dafny4/git-issue79.dfy | 3 +- Test/dafny4/git-issue79.dfy.expect | 2 + Test/dafny4/git-issue88.dfy | 3 +- Test/dafny4/git-issue88.dfy.expect | 2 + Test/exceptions/Exceptions1.dfy | 3 +- Test/exceptions/Exceptions1.dfy.expect | 2 + Test/exceptions/Exceptions1Expressions.dfy | 3 +- .../Exceptions1Expressions.dfy.expect | 2 + Test/exports/FIFO.dfy | 3 +- Test/exports/FIFO.dfy.expect | 2 + Test/exports/LIFO.dfy | 3 +- Test/exports/LIFO.dfy.expect | 2 + Test/exports/xrefine2.dfy | 3 +- Test/exports/xrefine2.dfy.expect | 2 + Test/exports/xrefine3.dfy | 3 +- Test/exports/xrefine3.dfy.expect | 2 + Test/git-issues/git-issue-032.dfy | 7 +- Test/git-issues/git-issue-032.dfy.expect | 37 ++ .../git-issue-032.dfy.verifier.expect | 3 - Test/git-issues/git-issue-1029.dfy | 3 +- Test/git-issues/git-issue-1029.dfy.expect | 2 + Test/git-issues/git-issue-1093.dfy | 8 +- Test/git-issues/git-issue-1093.dfy.expect | 16 + Test/git-issues/git-issue-1100.dfy | 3 +- Test/git-issues/git-issue-1100.dfy.expect | 2 + Test/git-issues/git-issue-1130.dfy | 3 +- Test/git-issues/git-issue-1130.dfy.expect | 2 + Test/git-issues/git-issue-1150.dfy | 3 +- Test/git-issues/git-issue-1150.dfy.expect | 2 + Test/git-issues/git-issue-1185.dfy | 8 +- Test/git-issues/git-issue-1185.dfy.expect | 13 + .../git-issues/git-issue-1185.dfy.java.expect | 1 - Test/git-issues/git-issue-1514.dfy | 3 +- Test/git-issues/git-issue-1514.dfy.expect | 2 + Test/git-issues/git-issue-1514b.dfy | 3 +- Test/git-issues/git-issue-1514b.dfy.expect | 2 + Test/git-issues/git-issue-1514c.dfy | 5 +- Test/git-issues/git-issue-1514c.dfy.expect | 7 + Test/git-issues/git-issue-1553.dfy | 7 +- Test/git-issues/git-issue-1553.dfy.expect | 10 + Test/git-issues/git-issue-1604b.dfy | 3 +- Test/git-issues/git-issue-1604b.dfy.expect | 2 + Test/git-issues/git-issue-1714.dfy | 3 +- Test/git-issues/git-issue-1714.dfy.expect | 2 + Test/git-issues/git-issue-179.dfy | 8 +- Test/git-issues/git-issue-179.dfy.expect | 22 + Test/git-issues/git-issue-179.dfy.go.expect | 4 - Test/git-issues/git-issue-179.dfy.java.expect | 4 - Test/git-issues/git-issue-179.dfy.js.expect | 4 - Test/git-issues/git-issue-1815a.dfy | 8 +- Test/git-issues/git-issue-1815a.dfy.expect | 16 + Test/git-issues/git-issue-1852.dfy | 5 +- Test/git-issues/git-issue-1852.dfy.expect | 7 + Test/git-issues/git-issue-1903.dfy | 3 +- Test/git-issues/git-issue-1903.dfy.expect | 2 + Test/git-issues/git-issue-1909.dfy | 3 +- Test/git-issues/git-issue-1909.dfy.expect | 2 + Test/git-issues/git-issue-2013.dfy | 8 +- Test/git-issues/git-issue-2013.dfy.expect | 52 ++ Test/git-issues/git-issue-2441.dfy | 5 +- Test/git-issues/git-issue-2441.dfy.expect | 6 + Test/git-issues/git-issue-2510.dfy | 3 +- Test/git-issues/git-issue-2510.dfy.expect | 2 + Test/git-issues/git-issue-258.dfy | 8 +- Test/git-issues/git-issue-258.dfy.expect | 73 +++ Test/git-issues/git-issue-258.dfy.go.expect | 21 - Test/git-issues/git-issue-258.dfy.js.expect | 21 - Test/git-issues/git-issue-2608.dfy | 3 +- Test/git-issues/git-issue-2608.dfy.expect | 2 + Test/git-issues/git-issue-262.dfy | 7 +- Test/git-issues/git-issue-262.dfy.expect | 18 + Test/git-issues/git-issue-262.dfy.go.expect | 2 - Test/git-issues/git-issue-262.dfy.java.expect | 2 - Test/git-issues/git-issue-262.dfy.js.expect | 6 - Test/git-issues/git-issue-267.dfy | 7 +- Test/git-issues/git-issue-267.dfy.expect | 13 + Test/git-issues/git-issue-2672.dfy | 8 +- Test/git-issues/git-issue-2672.dfy.expect | 44 ++ Test/git-issues/git-issue-2726a.dfy | 3 +- Test/git-issues/git-issue-2726a.dfy.expect | 2 + Test/git-issues/git-issue-2733.dfy | 9 +- Test/git-issues/git-issue-2733.dfy.expect | 14 + Test/git-issues/git-issue-2792.dfy | 3 +- Test/git-issues/git-issue-2792.dfy.expect | 2 + Test/git-issues/git-issue-283.dfy | 7 +- Test/git-issues/git-issue-283.dfy.expect | 13 + Test/git-issues/git-issue-283d.dfy | 7 +- Test/git-issues/git-issue-283d.dfy.expect | 10 + Test/git-issues/git-issue-314.dfy | 7 +- Test/git-issues/git-issue-314.dfy.expect | 10 + Test/git-issues/git-issue-332.dfy | 3 +- Test/git-issues/git-issue-332.dfy.expect | 2 + Test/git-issues/git-issue-354.dfy | 7 +- Test/git-issues/git-issue-354.dfy.expect | 22 + Test/git-issues/git-issue-356.dfy | 8 +- Test/git-issues/git-issue-356.dfy.expect | 36 ++ Test/git-issues/git-issue-364.dfy | 3 +- Test/git-issues/git-issue-364.dfy.expect | 2 + Test/git-issues/git-issue-374.dfy | 7 +- Test/git-issues/git-issue-374.dfy.expect | 10 + Test/git-issues/git-issue-396.dfy | 6 +- Test/git-issues/git-issue-396.dfy.expect | 11 + Test/git-issues/git-issue-4007.dfy | 5 +- Test/git-issues/git-issue-4007.dfy.expect | 3 + .../git-issue-4007.dfy.verifier.expect | 1 - Test/git-issues/git-issue-4012.dfy | 5 +- Test/git-issues/git-issue-4012.dfy.expect | 2 + Test/git-issues/git-issue-425.dfy | 7 +- Test/git-issues/git-issue-425.dfy.expect | 16 + Test/git-issues/git-issue-443.dfy | 3 +- Test/git-issues/git-issue-443.dfy.expect | 2 + Test/git-issues/git-issue-446.dfy | 7 +- Test/git-issues/git-issue-446.dfy.expect | 19 + Test/git-issues/git-issue-446a.dfy | 7 +- Test/git-issues/git-issue-446a.dfy.expect | 19 + Test/git-issues/git-issue-446b.dfy | 7 +- Test/git-issues/git-issue-446b.dfy.expect | 25 + Test/git-issues/git-issue-478-good.dfy | 3 +- Test/git-issues/git-issue-478-good.dfy.expect | 2 + Test/git-issues/git-issue-506.dfy | 6 +- Test/git-issues/git-issue-506.dfy.expect | 26 + Test/git-issues/git-issue-532.dfy | 7 +- Test/git-issues/git-issue-532.dfy.expect | 19 + Test/git-issues/git-issue-549.dfy | 5 +- Test/git-issues/git-issue-549.dfy.expect | 8 + Test/git-issues/git-issue-622$f.dfy | 3 +- Test/git-issues/git-issue-622$f.dfy.expect | 2 + Test/git-issues/git-issue-633.dfy | 7 +- Test/git-issues/git-issue-633.dfy.expect | 10 + Test/git-issues/git-issue-684.dfy | 7 +- Test/git-issues/git-issue-684.dfy.expect | 10 + Test/git-issues/git-issue-686.dfy | 7 +- Test/git-issues/git-issue-686.dfy.expect | 23 + .../git-issue-686.dfy.verifier.expect | 2 - Test/git-issues/git-issue-697.dfy | 3 +- Test/git-issues/git-issue-697.dfy.expect | 2 + Test/git-issues/git-issue-697b.dfy | 3 +- Test/git-issues/git-issue-697b.dfy.expect | 2 + Test/git-issues/git-issue-697d.dfy | 3 +- Test/git-issues/git-issue-697d.dfy.expect | 2 + Test/git-issues/git-issue-697e.dfy | 3 +- Test/git-issues/git-issue-697e.dfy.expect | 2 + Test/git-issues/git-issue-697f.dfy | 3 +- Test/git-issues/git-issue-697f.dfy.expect | 2 + Test/git-issues/git-issue-697g.dfy | 3 +- Test/git-issues/git-issue-697g.dfy.expect | 2 + Test/git-issues/git-issue-698.dfy | 5 +- Test/git-issues/git-issue-698.dfy.expect | 7 + Test/git-issues/git-issue-698b.dfy | 5 +- Test/git-issues/git-issue-698b.dfy.expect | 2 + Test/git-issues/git-issue-701.dfy | 7 +- Test/git-issues/git-issue-701.dfy.expect | 19 + Test/git-issues/git-issue-705.dfy | 7 +- Test/git-issues/git-issue-705.dfy.expect | 13 + Test/git-issues/git-issue-731.dfy | 7 +- Test/git-issues/git-issue-731.dfy.expect | 16 + Test/git-issues/git-issue-731b.dfy | 7 +- Test/git-issues/git-issue-731b.dfy.expect | 13 + Test/git-issues/git-issue-755.dfy | 8 +- Test/git-issues/git-issue-755.dfy.expect | 31 + Test/git-issues/git-issue-755.dfy.go.expect | 7 - Test/git-issues/git-issue-755.dfy.java.expect | 7 - Test/git-issues/git-issue-755.dfy.js.expect | 7 - Test/git-issues/git-issue-784.dfy | 7 +- Test/git-issues/git-issue-784.dfy.expect | 10 + Test/git-issues/git-issue-953.dfy | 8 +- Test/git-issues/git-issue-953.dfy.expect | 36 ++ Test/git-issues/github-issue-3343.dfy | 3 +- Test/git-issues/github-issue-3343.dfy.expect | 2 + Test/hofs/Compilation.dfy | 3 +- Test/hofs/Compilation.dfy.expect | 2 + Test/hofs/Examples.dfy | 3 +- Test/hofs/Examples.dfy.expect | 2 + Test/hofs/Fold.dfy | 3 +- Test/hofs/Fold.dfy.expect | 2 + Test/hofs/Renaming.dfy | 3 +- Test/hofs/Renaming.dfy.expect | 2 + Test/hofs/Requires.dfy | 3 +- Test/hofs/Requires.dfy.expect | 2 + Test/hofs/TreeMapSimple.dfy | 3 +- Test/hofs/TreeMapSimple.dfy.expect | 2 + Test/hofs/VectorUpdate.dfy | 3 +- Test/hofs/VectorUpdate.dfy.expect | 2 + Test/hofs/WhileLoop.dfy | 3 +- Test/hofs/WhileLoop.dfy.expect | 2 + Test/metatests/OutputEncoding.dfy | 8 +- Test/metatests/OutputEncoding.dfy.expect | 16 + Test/patterns/OrPatterns.dfy | 3 +- Test/patterns/OrPatterns.dfy.expect | 2 + Test/patterns/PatternMatching.dfy | 5 +- Test/patterns/PatternMatching.dfy.expect | 3 + .../PatternMatching.dfy.verifier.expect | 1 - Test/traits/TraitCompile.dfy | 10 +- Test/traits/TraitCompile.dfy.expect | 256 ++++++++ Test/traits/TraitExample.dfy | 3 +- Test/traits/TraitExample.dfy.expect | 2 + Test/traits/Traits-Fields.dfy | 3 +- Test/traits/Traits-Fields.dfy.expect | 2 + Test/traits/TraitsMultipleInheritance.dfy | 3 +- .../TraitsMultipleInheritance.dfy.expect | 2 + Test/unicodechars/comp/Collections.dfy | 9 +- Test/unicodechars/comp/Collections.dfy.expect | 512 ++++++++++++++++ .../comp/Collections.dfy.go.expect | 125 ---- .../comp/Collections.dfy.java.expect | 125 ---- .../comp/Collections.dfy.js.expect | 125 ---- .../comp/Collections.dfy.py.expect | 125 ---- Test/unicodechars/comp/Comprehensions.dfy | 11 +- .../comp/Comprehensions.dfy.expect | 260 ++++++++ .../comp/Comprehensions.dfy.py.expect | 62 -- Test/unicodechars/comp/NativeNumbers.dfy | 9 +- .../comp/NativeNumbers.dfy.expect | 256 ++++++++ Test/unicodechars/comp/Numbers.dfy | 11 +- Test/unicodechars/comp/Numbers.dfy.expect | 456 ++++++++++++++ Test/unicodechars/comp/Numbers.dfy.go.expect | 111 ---- Test/unicodechars/comp/Numbers.dfy.py.expect | 111 ---- 512 files changed, 9902 insertions(+), 3259 deletions(-) delete mode 100644 Test/comp/Arrays.dfy.go.expect delete mode 100644 Test/comp/Collections.dfy.go.expect delete mode 100644 Test/comp/Collections.dfy.java.expect delete mode 100644 Test/comp/Collections.dfy.js.expect delete mode 100644 Test/comp/Collections.dfy.py.expect delete mode 100644 Test/comp/Comprehensions.dfy.py.expect delete mode 100644 Test/comp/ComprehensionsNewSyntax.dfy.py.expect delete mode 100644 Test/comp/Datatype.dfy.java.expect delete mode 100644 Test/comp/Datatype.dfy.py.expect delete mode 100644 Test/comp/Numbers.dfy.go.expect delete mode 100644 Test/comp/Numbers.dfy.py.expect delete mode 100644 Test/comp/Poly.dfy.go.expect delete mode 100644 Test/comp/Poly.dfy.py.expect delete mode 100644 Test/comp/Print.dfy.go.expect delete mode 100644 Test/comp/Print.dfy.java.expect delete mode 100644 Test/comp/Print.dfy.js.expect delete mode 100644 Test/comp/TypeParams.dfy.go.expect delete mode 100644 Test/comp/TypeParams.dfy.java.expect delete mode 100644 Test/comp/TypeParams.dfy.js.expect delete mode 100644 Test/comp/TypeParams.dfy.py.expect delete mode 100644 Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect delete mode 100644 Test/dafny0/Bitvectors.dfy.verifier.expect delete mode 100644 Test/dafny0/Deprecation.dfy.verifier.expect delete mode 100644 Test/dafny0/DiscoverBounds.dfy.verifier.expect delete mode 100644 Test/dafny0/DividedConstructors.dfy.verifier.expect delete mode 100644 Test/dafny0/ForallCompilationNewSyntax.dfy.verifier.expect delete mode 100644 Test/dafny0/GhostGuards.dfy.verifier.expect delete mode 100644 Test/dafny0/MatchBraces.dfy.verifier.expect delete mode 100644 Test/dafny0/NullComparisonWarnings.dfy.verifier.expect delete mode 100644 Test/dafny0/TypeConversionsCompile.dfy.verifier.expect delete mode 100644 Test/dafny0/TypeMembers.dfy.verifier.expect delete mode 100644 Test/dafny0/Wellfounded.dfy.verifier.expect delete mode 100644 Test/dafny2/SmallestMissingNumber-functional.dfy.verifier.expect delete mode 100644 Test/dafny2/StoreAndRetrieve.dfy.verifier.expect delete mode 100644 Test/dafny3/CachedContainer.dfy.verifier.expect delete mode 100644 Test/dafny4/Ackermann.dfy.verifier.expect delete mode 100644 Test/dafny4/ClassRefinement.dfy.verifier.expect delete mode 100644 Test/git-issues/git-issue-032.dfy.verifier.expect delete mode 100644 Test/git-issues/git-issue-1185.dfy.java.expect delete mode 100644 Test/git-issues/git-issue-179.dfy.go.expect delete mode 100644 Test/git-issues/git-issue-179.dfy.java.expect delete mode 100644 Test/git-issues/git-issue-179.dfy.js.expect delete mode 100644 Test/git-issues/git-issue-258.dfy.go.expect delete mode 100644 Test/git-issues/git-issue-258.dfy.js.expect delete mode 100644 Test/git-issues/git-issue-262.dfy.go.expect delete mode 100644 Test/git-issues/git-issue-262.dfy.java.expect delete mode 100644 Test/git-issues/git-issue-262.dfy.js.expect delete mode 100644 Test/git-issues/git-issue-4007.dfy.verifier.expect delete mode 100644 Test/git-issues/git-issue-686.dfy.verifier.expect delete mode 100644 Test/git-issues/git-issue-755.dfy.go.expect delete mode 100644 Test/git-issues/git-issue-755.dfy.java.expect delete mode 100644 Test/git-issues/git-issue-755.dfy.js.expect delete mode 100644 Test/patterns/PatternMatching.dfy.verifier.expect delete mode 100644 Test/unicodechars/comp/Collections.dfy.go.expect delete mode 100644 Test/unicodechars/comp/Collections.dfy.java.expect delete mode 100644 Test/unicodechars/comp/Collections.dfy.js.expect delete mode 100644 Test/unicodechars/comp/Collections.dfy.py.expect delete mode 100644 Test/unicodechars/comp/Comprehensions.dfy.py.expect delete mode 100644 Test/unicodechars/comp/Numbers.dfy.go.expect delete mode 100644 Test/unicodechars/comp/Numbers.dfy.py.expect diff --git a/Test/VerifyThis2015/Problem1.dfy b/Test/VerifyThis2015/Problem1.dfy index ab227e1ab85..20bd154ab8d 100644 --- a/Test/VerifyThis2015/Problem1.dfy +++ b/Test/VerifyThis2015/Problem1.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Rustan Leino // 12 April 2015 diff --git a/Test/VerifyThis2015/Problem1.dfy.expect b/Test/VerifyThis2015/Problem1.dfy.expect index 9e8a46acf90..110dd45761d 100644 --- a/Test/VerifyThis2015/Problem1.dfy.expect +++ b/Test/VerifyThis2015/Problem1.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 18 verified, 0 errors true true false diff --git a/Test/VerifyThis2015/Problem2.dfy b/Test/VerifyThis2015/Problem2.dfy index 9b57395e68b..7466df6d410 100644 --- a/Test/VerifyThis2015/Problem2.dfy +++ b/Test/VerifyThis2015/Problem2.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Rustan Leino // 13 April 2015, and many subsequent enhancements and revisions diff --git a/Test/VerifyThis2015/Problem2.dfy.expect b/Test/VerifyThis2015/Problem2.dfy.expect index e69de29bb2d..b49c1470365 100644 --- a/Test/VerifyThis2015/Problem2.dfy.expect +++ b/Test/VerifyThis2015/Problem2.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 32 verified, 0 errors diff --git a/Test/VerifyThis2015/Problem3.dfy b/Test/VerifyThis2015/Problem3.dfy index 1348acf0f4d..3be60b5d81a 100644 --- a/Test/VerifyThis2015/Problem3.dfy +++ b/Test/VerifyThis2015/Problem3.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Rustan Leino // 12 April 2015 // VerifyThis 2015 diff --git a/Test/VerifyThis2015/Problem3.dfy.expect b/Test/VerifyThis2015/Problem3.dfy.expect index e69de29bb2d..4bb1c2c7251 100644 --- a/Test/VerifyThis2015/Problem3.dfy.expect +++ b/Test/VerifyThis2015/Problem3.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 18 verified, 0 errors diff --git a/Test/c++/arrays.dfy b/Test/c++/arrays.dfy index a02b57e5ff8..47140146468 100644 --- a/Test/c++/arrays.dfy +++ b/Test/c++/arrays.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/arrays.dfy.expect b/Test/c++/arrays.dfy.expect index 2ce9320d8c2..552f9355593 100644 --- a/Test/c++/arrays.dfy.expect +++ b/Test/c++/arrays.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 9 verified, 0 errors 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/c++/bit-vectors.dfy b/Test/c++/bit-vectors.dfy index d27469e4ca5..b7f5d35df07 100644 --- a/Test/c++/bit-vectors.dfy +++ b/Test/c++/bit-vectors.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint64 = i:int | 0 <= i < 0x10000000000000000 diff --git a/Test/c++/bit-vectors.dfy.expect b/Test/c++/bit-vectors.dfy.expect index c491236b12b..e327aa2f73b 100644 --- a/Test/c++/bit-vectors.dfy.expect +++ b/Test/c++/bit-vectors.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 6 verified, 0 errors 084841024 diff --git a/Test/c++/class.dfy b/Test/c++/class.dfy index b10d703c981..3039bd0466b 100644 --- a/Test/c++/class.dfy +++ b/Test/c++/class.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/class.dfy.expect b/Test/c++/class.dfy.expect index 80f1587d0a2..93717ecfa9e 100644 --- a/Test/c++/class.dfy.expect +++ b/Test/c++/class.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 16 verified, 0 errors true true false 103 102 102 106 105 105 203 17 0 18 8 9 69 70 diff --git a/Test/c++/const.dfy b/Test/c++/const.dfy index 1bfb79f0361..5ab9a62e0e9 100644 --- a/Test/c++/const.dfy +++ b/Test/c++/const.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" module Holder { const x:bool := false diff --git a/Test/c++/const.dfy.expect b/Test/c++/const.dfy.expect index e69de29bb2d..823a60a105c 100644 --- a/Test/c++/const.dfy.expect +++ b/Test/c++/const.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 1 verified, 0 errors diff --git a/Test/c++/datatypes.dfy b/Test/c++/datatypes.dfy index f56b7907cc3..9d077b97575 100644 --- a/Test/c++/datatypes.dfy +++ b/Test/c++/datatypes.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/datatypes.dfy.expect b/Test/c++/datatypes.dfy.expect index c122f5af791..efa71b43546 100644 --- a/Test/c++/datatypes.dfy.expect +++ b/Test/c++/datatypes.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 12 verified, 0 errors Case A: 42 Case B: true This is expected diff --git a/Test/c++/generic.dfy b/Test/c++/generic.dfy index 374c545b9c1..7995928f93f 100644 --- a/Test/c++/generic.dfy +++ b/Test/c++/generic.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" class Test { var t:T diff --git a/Test/c++/generic.dfy.expect b/Test/c++/generic.dfy.expect index e69de29bb2d..00a51f822da 100644 --- a/Test/c++/generic.dfy.expect +++ b/Test/c++/generic.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 3 verified, 0 errors diff --git a/Test/c++/hello.dfy b/Test/c++/hello.dfy index 523d3152209..c887337c7e1 100644 --- a/Test/c++/hello.dfy +++ b/Test/c++/hello.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { print "Hello world\n"; diff --git a/Test/c++/hello.dfy.expect b/Test/c++/hello.dfy.expect index 802992c4220..87101fec036 100644 --- a/Test/c++/hello.dfy.expect +++ b/Test/c++/hello.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 0 verified, 0 errors Hello world diff --git a/Test/c++/ints.dfy b/Test/c++/ints.dfy index 4490a54817a..cf7ae63e0da 100644 --- a/Test/c++/ints.dfy +++ b/Test/c++/ints.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype sbyte = i:int | -0x80 <= i < 0x80 newtype byte = i:int | 0 <= i < 0x100 diff --git a/Test/c++/ints.dfy.expect b/Test/c++/ints.dfy.expect index 5fcb7b811cb..aeabccf73b0 100644 --- a/Test/c++/ints.dfy.expect +++ b/Test/c++/ints.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 15 verified, 0 errors Result is z = 42 diff --git a/Test/c++/maps.dfy b/Test/c++/maps.dfy index b88ebd56ad5..951d34e96f1 100644 --- a/Test/c++/maps.dfy +++ b/Test/c++/maps.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/maps.dfy.expect b/Test/c++/maps.dfy.expect index 80642c23257..482aa604356 100644 --- a/Test/c++/maps.dfy.expect +++ b/Test/c++/maps.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 9 verified, 0 errors Identity: This is expected ValuesIdentity: This is expected KeyMembership: This is expected diff --git a/Test/c++/recursion.dfy b/Test/c++/recursion.dfy index 36048aab527..e255b8e6b08 100644 --- a/Test/c++/recursion.dfy +++ b/Test/c++/recursion.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/recursion.dfy.expect b/Test/c++/recursion.dfy.expect index 1ea14926e89..15dbfe2bcd1 100644 --- a/Test/c++/recursion.dfy.expect +++ b/Test/c++/recursion.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 5 verified, 0 errors x !y 3 diff --git a/Test/c++/returns.dfy b/Test/c++/returns.dfy index 9e23121d26a..1ad19a8ce83 100644 --- a/Test/c++/returns.dfy +++ b/Test/c++/returns.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint64 = i:int | 0 <= i < 0x10000000000000000 diff --git a/Test/c++/returns.dfy.expect b/Test/c++/returns.dfy.expect index 48082f72f08..8db105eaba8 100644 --- a/Test/c++/returns.dfy.expect +++ b/Test/c++/returns.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors 12 diff --git a/Test/c++/seqs.dfy b/Test/c++/seqs.dfy index 903208b07f8..f97a42b2851 100644 --- a/Test/c++/seqs.dfy +++ b/Test/c++/seqs.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint8 = i:int | 0 <= i < 0x100 newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/seqs.dfy.expect b/Test/c++/seqs.dfy.expect index 16f5f9d22ea..23f01695bc9 100644 --- a/Test/c++/seqs.dfy.expect +++ b/Test/c++/seqs.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 11 verified, 0 errors Head second:2 Trunc first:2 Head trunc: This is expected diff --git a/Test/c++/sets.dfy b/Test/c++/sets.dfy index 10e2fe0501d..5bfb6f80f1e 100644 --- a/Test/c++/sets.dfy +++ b/Test/c++/sets.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/sets.dfy.expect b/Test/c++/sets.dfy.expect index 52a1e67717e..1c8ede8765e 100644 --- a/Test/c++/sets.dfy.expect +++ b/Test/c++/sets.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 8 verified, 0 errors Identity: This is expected ValuesIdentity: This is expected DiffIdentity: This is expected diff --git a/Test/c++/while.dfy b/Test/c++/while.dfy index 0c0d7ee98df..40dc4699d11 100644 --- a/Test/c++/while.dfy +++ b/Test/c++/while.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/while.dfy.expect b/Test/c++/while.dfy.expect index 9a44de1e2a3..8dfe872ca51 100644 --- a/Test/c++/while.dfy.expect +++ b/Test/c++/while.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 2 verified, 0 errors 0 1 2 diff --git a/Test/comp/Arrays.dfy b/Test/comp/Arrays.dfy index acb4225b358..566f052e0a6 100644 --- a/Test/comp/Arrays.dfy +++ b/Test/comp/Arrays.dfy @@ -1,5 +1,10 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false +// RUN: %baredafny verify %args --relax-definite-assignment "%s" > "%t" +// RUN: %baredafny run --unicode-char:false --no-verify --target=cs %args "%s" >> "%t" +// RUN: %baredafny run --unicode-char:false --no-verify --target=js %args "%s" >> "%t" +// RUN: %baredafny run --unicode-char:false --no-verify --target=go %args "%s" >> "%t" +// RUN: %baredafny run --unicode-char:false --no-verify --target=java %args "%s" >> "%t" +// RUN: %baredafny run --unicode-char:false --no-verify --target=py %args "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method LinearSearch(a: array, key: int) returns (n: nat) ensures 0 <= n <= a.Length diff --git a/Test/comp/Arrays.dfy.expect b/Test/comp/Arrays.dfy.expect index ef3b884f98a..8559e2f3c5c 100644 --- a/Test/comp/Arrays.dfy.expect +++ b/Test/comp/Arrays.dfy.expect @@ -1,3 +1,399 @@ + +Dafny program verifier finished with 89 verified, 0 errors + +Dafny program verifier did not attempt verification +0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 +17 +[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] +[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] +[20, 21, 22] +[0, 1, 2, 3, 4, 5, 6, 7] +[0, 1, 2, 3, 4, 5, 6, 7] +d d d +h e l l o +0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 +1 0 0 0 0 +0 1 0 0 0 +0 0 1 0 0 +cube dims: 3 0 4 +[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] +It's null +hi hello tjena hej hola +hi hello tjena hej hola +hi hello tjena hej hola +d d d +h e l l o +8 8 8 8 +true true true +1 1 1 1 1 +2 2 2 2 2 +3 3 3 3 3 +4 4 4 4 4 +(d, 8, true, 1, 2, 3, 4) +D D D +0 0 0 0 +false false false +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +(D, 0, false, 0, 0, 0, 0) +8 0 +false 0 null null +8 8 +8 8 +8 8 +8 8 +D D D +D D D +D D D +D D r (D, D, r) +D D r +[19, 18, 9, 8] + true + false + true + false + false + false + true + true + false + true + false + true + true + false +hello there +false false +true true +false false +false false +uninitialized bytes: array[0, 0, 0] +bytes from display: array[7, 8, 9] +bytes from lambda: array[20, 21, 22] +uninitialized 1bytes: array[1, 1, 1] +1bytes from display: array[7, 8, 9] +1bytes from lambda: array[20, 21, 22] +17 19 18 20 +100 200 300 120 38 +hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +DDDDDabcdeabcdeggggg +DDDDDabcdeabcdeggggg +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] +DDDDDDDDDDagggggaggg +0 69 50 +0 69 50 +D k n +false false +true true +false false +false false +true true + +Dafny program verifier did not attempt verification +0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 +17 +[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] +[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] +[20, 21, 22] +[0, 1, 2, 3, 4, 5, 6, 7] +[0, 1, 2, 3, 4, 5, 6, 7] +d d d +h e l l o +0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 +1 0 0 0 0 +0 1 0 0 0 +0 0 1 0 0 +cube dims: 3 0 4 +[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] +It's null +hi hello tjena hej hola +hi hello tjena hej hola +hi hello tjena hej hola +d d d +h e l l o +8 8 8 8 +true true true +1 1 1 1 1 +2 2 2 2 2 +3 3 3 3 3 +4 4 4 4 4 +(d, 8, true, 1, 2, 3, 4) +D D D +0 0 0 0 +false false false +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +(D, 0, false, 0, 0, 0, 0) +8 0 +false 0 null null +8 8 +8 8 +8 8 +8 8 +D D D +D D D +D D D +D D r (D, D, r) +D D r +[19, 18, 9, 8] + true + false + true + false + false + false + true + true + false + true + false + true + true + false +hello there +false false +true true +false false +false false +uninitialized bytes: array[0, 0, 0] +bytes from display: array[7, 8, 9] +bytes from lambda: array[20, 21, 22] +uninitialized 1bytes: array[1, 1, 1] +1bytes from display: array[7, 8, 9] +1bytes from lambda: array[20, 21, 22] +17 19 18 20 +100 200 300 120 38 +hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +DDDDDabcdeabcdeggggg +DDDDDabcdeabcdeggggg +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] +DDDDDDDDDDagggggaggg +0 69 50 +0 69 50 +D k n +false false +true true +false false +false false +true true + +Dafny program verifier did not attempt verification +0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 +17 +[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] +[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] +[20, 21, 22] +[0, 1, 2, 3, 4, 5, 6, 7] +[0, 1, 2, 3, 4, 5, 6, 7] +d d d +h e l l o +0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 +1 0 0 0 0 +0 1 0 0 0 +0 0 1 0 0 +cube dims: 3 0 4 +[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] +It's null +hi hello tjena hej hola +hi hello tjena hej hola +hi hello tjena hej hola +d d d +h e l l o +8 8 8 8 +true true true +1 1 1 1 1 +2 2 2 2 2 +3 3 3 3 3 +4 4 4 4 4 +(d, 8, true, 1, 2, 3, 4) +D D D +0 0 0 0 +false false false +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +(D, 0, false, 0, 0, 0, 0) +8 0 +false 0 null null +8 8 +8 8 +8 8 +8 8 +D D D +D D D +D D D +D D r (D, D, r) +D D r +[19, 18, 9, 8] + true + false + true + false + false + false + true + true + false + true + false + true + true + false +hello there +false false +true true +false false +false false +uninitialized bytes: array[0, 0, 0] +bytes from display: array[7, 8, 9] +bytes from lambda: array[20, 21, 22] +uninitialized 1bytes: array[1, 1, 1] +1bytes from display: array[7, 8, 9] +1bytes from lambda: array[20, 21, 22] +17 19 18 20 +100 200 300 120 38 +hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +DDDDDabcdeabcdeggggg +DDDDDabcdeabcdeggggg +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] +[D, D, D, D, D, D, D, D, D, D, a, g, g, g, g, g, a, g, g, g] +0 69 50 +0 69 50 +D k n +false false +true true +false false +false false +true true + +Dafny program verifier did not attempt verification +0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 +17 +[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] +[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] +[20, 21, 22] +[0, 1, 2, 3, 4, 5, 6, 7] +[0, 1, 2, 3, 4, 5, 6, 7] +d d d +h e l l o +0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 +1 0 0 0 0 +0 1 0 0 0 +0 0 1 0 0 +cube dims: 3 0 4 +[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] +It's null +hi hello tjena hej hola +hi hello tjena hej hola +hi hello tjena hej hola +d d d +h e l l o +8 8 8 8 +true true true +1 1 1 1 1 +2 2 2 2 2 +3 3 3 3 3 +4 4 4 4 4 +(d, 8, true, 1, 2, 3, 4) +D D D +0 0 0 0 +false false false +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +(D, 0, false, 0, 0, 0, 0) +8 0 +false 0 null null +8 8 +8 8 +8 8 +8 8 +D D D +D D D +D D D +D D r (D, D, r) +D D r +[19, 18, 9, 8] + true + false + true + false + false + false + true + true + false + true + false + true + true + false +hello there +false false +true true +false false +false false +uninitialized bytes: array[0, 0, 0] +bytes from display: array[7, 8, 9] +bytes from lambda: array[20, 21, 22] +uninitialized 1bytes: array[1, 1, 1] +1bytes from display: array[7, 8, 9] +1bytes from lambda: array[20, 21, 22] +17 19 18 20 +100 200 300 120 38 +hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +DDDDDabcdeabcdeggggg +DDDDDabcdeabcdeggggg +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] +DDDDDDDDDDagggggaggg +0 69 50 +0 69 50 +D k n +false false +true true +false false +false false +true true + +Dafny program verifier did not attempt verification 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/comp/Arrays.dfy.go.expect b/Test/comp/Arrays.dfy.go.expect deleted file mode 100644 index 1217623d90c..00000000000 --- a/Test/comp/Arrays.dfy.go.expect +++ /dev/null @@ -1,96 +0,0 @@ -0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 -17 -[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] -[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] -[20, 21, 22] -[0, 1, 2, 3, 4, 5, 6, 7] -[0, 1, 2, 3, 4, 5, 6, 7] -d d d -h e l l o -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -1 0 0 0 0 -0 1 0 0 0 -0 0 1 0 0 -cube dims: 3 0 4 -[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] -It's null -hi hello tjena hej hola -hi hello tjena hej hola -hi hello tjena hej hola -d d d -h e l l o -8 8 8 8 -true true true -1 1 1 1 1 -2 2 2 2 2 -3 3 3 3 3 -4 4 4 4 4 -(d, 8, true, 1, 2, 3, 4) -D D D -0 0 0 0 -false false false -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -(D, 0, false, 0, 0, 0, 0) -8 0 -false 0 null null -8 8 -8 8 -8 8 -8 8 -D D D -D D D -D D D -D D r (D, D, r) -D D r -[19, 18, 9, 8] - true - false - true - false - false - false - true - true - false - true - false - true - true - false -hello there -false false -true true -false false -false false -uninitialized bytes: array[0, 0, 0] -bytes from display: array[7, 8, 9] -bytes from lambda: array[20, 21, 22] -uninitialized 1bytes: array[1, 1, 1] -1bytes from display: array[7, 8, 9] -1bytes from lambda: array[20, 21, 22] -17 19 18 20 -100 200 300 120 38 -hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -DDDDDabcdeabcdeggggg -DDDDDabcdeabcdeggggg -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] -[D, D, D, D, D, D, D, D, D, D, a, g, g, g, g, g, a, g, g, g] -0 69 50 -0 69 50 -D k n -false false -true true -false false -false false -true true diff --git a/Test/comp/AsIs-Compile.dfy b/Test/comp/AsIs-Compile.dfy index 319847564e2..47084ed7633 100644 --- a/Test/comp/AsIs-Compile.dfy +++ b/Test/comp/AsIs-Compile.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" +// RUN: %baredafny verify %args "%s" > "%t" +// RUN: %baredafny run --no-verify -t=cs %args "%s" >> "%t" +// RUN: %baredafny run --no-verify -t=js %args "%s" >> "%t" +// RUN: %baredafny run --no-verify -t=go %args "%s" >> "%t" +// RUN: %baredafny run --no-verify -t=java %args "%s" >> "%t" +// RUN: %baredafny run --no-verify -t=py %args "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var a: A, b: B, c: C, k: K, l: L := new M, new M, new M, new K, new L; diff --git a/Test/comp/AsIs-Compile.dfy.expect b/Test/comp/AsIs-Compile.dfy.expect index acc78c6e155..36dfe46e91d 100644 --- a/Test/comp/AsIs-Compile.dfy.expect +++ b/Test/comp/AsIs-Compile.dfy.expect @@ -1,3 +1,163 @@ + +Dafny program verifier finished with 6 verified, 0 errors + +Dafny program verifier did not attempt verification +true true true true true +true true true true true +IsComparisons ---- +false true false false + true false false + true false +false false true false + false true false + false false +false false false true + false false true + false true +false true false false + false true false + false false +true true +false true +TestNullIs ---- +true true +true true +true true true true true true +true true true true true true +true true true true true true +true true true true true true +true true +false true +true true true true true true +false true false true false true +true true true true true true +false true false true false true +TestFromTraits ---- +5 +0 +4 +4 +4 +4 + +Dafny program verifier did not attempt verification +true true true true true +true true true true true +IsComparisons ---- +false true false false + true false false + true false +false false true false + false true false + false false +false false false true + false false true + false true +false true false false + false true false + false false +true true +false true +TestNullIs ---- +true true +true true +true true true true true true +true true true true true true +true true true true true true +true true true true true true +true true +false true +true true true true true true +false true false true false true +true true true true true true +false true false true false true +TestFromTraits ---- +5 +0 +4 +4 +4 +4 + +Dafny program verifier did not attempt verification +true true true true true +true true true true true +IsComparisons ---- +false true false false + true false false + true false +false false true false + false true false + false false +false false false true + false false true + false true +false true false false + false true false + false false +true true +false true +TestNullIs ---- +true true +true true +true true true true true true +true true true true true true +true true true true true true +true true true true true true +true true +false true +true true true true true true +false true false true false true +true true true true true true +false true false true false true +TestFromTraits ---- +5 +0 +4 +4 +4 +4 + +Dafny program verifier did not attempt verification +true true true true true +true true true true true +IsComparisons ---- +false true false false + true false false + true false +false false true false + false true false + false false +false false false true + false false true + false true +false true false false + false true false + false false +true true +false true +TestNullIs ---- +true true +true true +true true true true true true +true true true true true true +true true true true true true +true true true true true true +true true +false true +true true true true true true +false true false true false true +true true true true true true +false true false true false true +TestFromTraits ---- +5 +0 +4 +4 +4 +4 + +Dafny program verifier did not attempt verification true true true true true true true true true true IsComparisons ---- diff --git a/Test/comp/AutoInit.dfy b/Test/comp/AutoInit.dfy index c0e752efa36..b284619a80c 100644 --- a/Test/comp/AutoInit.dfy +++ b/Test/comp/AutoInit.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // This file tests the compilation of some default values. It also includes some // regression tests for equality, printing, and tuples. diff --git a/Test/comp/AutoInit.dfy.expect b/Test/comp/AutoInit.dfy.expect index a282fc36633..c8ed022d09b 100644 --- a/Test/comp/AutoInit.dfy.expect +++ b/Test/comp/AutoInit.dfy.expect @@ -1,3 +1,163 @@ + +Dafny program verifier finished with 21 verified, 0 errors + +Dafny program verifier did not attempt verification +3 false 0 +false false true +() (0, false, false, []) +(null, 0) (null, 0) true +(null, null, null, 0) (null, null, null, 0) true +true false false true +true false false true +17 +1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or +(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) +1 +ww == null -- yes, as expected +true true true true +true true true +true true true +null null +null null +null null null +null null null +null null null +null null null +null null +null null null +null null null +DatatypeDefaultValues_Compile.EnumDatatype.MakeZero + DatatypeDefaultValues_Compile.IntList.Nil + 0 +DatatypeDefaultValues_Compile.GenericTree.Leaf + DatatypeDefaultValues_Compile.Complicated.ComplA(0, false) + DatatypeDefaultValues_Compile.CellCell.MakeCellCell(0) +null + null +ImportedTypes_mLibrary_Compile.Color.Red(0) and ImportedTypes_mLibrary_Compile.Color.Red(0) +ImportedTypes_mLibrary_Compile.CoColor.Yellow and ImportedTypes_mLibrary_Compile.CoColor.Yellow +ImportedTypes_mLibrary_Compile.MoColor.MoYellow and ImportedTypes_mLibrary_Compile.MoColor.MoYellow +0.0 and 0.0 +13 + +Dafny program verifier did not attempt verification +3 false 0 +false false true +() (0, false, false, []) +(null, 0) (null, 0) true +(null, null, null, 0) (null, null, null, 0) true +true false false true +true false false true +17 +1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or +(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) +1 +ww == null -- yes, as expected +true true true true +true true true +true true true +null null +null null +null null null +null null null +null null null +null null null +null null +null null null +null null null +DatatypeDefaultValues_Compile.EnumDatatype.MakeZero + DatatypeDefaultValues_Compile.IntList.Nil + 0 +DatatypeDefaultValues_Compile.GenericTree.Leaf + DatatypeDefaultValues_Compile.Complicated.ComplA(0, false) + DatatypeDefaultValues_Compile.CellCell.MakeCellCell(0) +null + null +ImportedTypes_mLibrary_Compile.Color.Red(0) and ImportedTypes_mLibrary_Compile.Color.Red(0) +ImportedTypes_mLibrary_Compile.CoColor.Yellow and ImportedTypes_mLibrary_Compile.CoColor.Yellow +ImportedTypes_mLibrary_Compile.MoColor.MoYellow and ImportedTypes_mLibrary_Compile.MoColor.MoYellow +0.0 and 0.0 +13 + +Dafny program verifier did not attempt verification +3 false 0 +false false true +() (0, false, false, []) +(null, 0) (null, 0) true +(null, null, null, 0) (null, null, null, 0) true +true false false true +true false false true +17 +1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or +(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) +1 +ww == null -- yes, as expected +true true true true +true true true +true true true +null null +null null +null null null +null null null +null null null +null null null +null null +null null null +null null null +DatatypeDefaultValues_Compile.EnumDatatype.MakeZero + DatatypeDefaultValues_Compile.IntList.Nil + 0 +DatatypeDefaultValues_Compile.GenericTree.Leaf + DatatypeDefaultValues_Compile.Complicated.ComplA(0, false) + DatatypeDefaultValues_Compile.CellCell.MakeCellCell(0) +null + null +ImportedTypes_mLibrary_Compile.Color.Red(0) and ImportedTypes_mLibrary_Compile.Color.Red(0) +ImportedTypes_mLibrary_Compile.CoColor.Yellow and ImportedTypes_mLibrary_Compile.CoColor.Yellow +ImportedTypes_mLibrary_Compile.MoColor.MoYellow and ImportedTypes_mLibrary_Compile.MoColor.MoYellow +0.0 and 0.0 +13 + +Dafny program verifier did not attempt verification +3 false 0 +false false true +() (0, false, false, []) +(null, 0) (null, 0) true +(null, null, null, 0) (null, null, null, 0) true +true false false true +true false false true +17 +1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or +(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) +1 +ww == null -- yes, as expected +true true true true +true true true +true true true +null null +null null +null null null +null null null +null null null +null null null +null null +null null null +null null null +DatatypeDefaultValues_Compile.EnumDatatype.MakeZero + DatatypeDefaultValues_Compile.IntList.Nil + 0 +DatatypeDefaultValues_Compile.GenericTree.Leaf + DatatypeDefaultValues_Compile.Complicated.ComplA(0, false) + DatatypeDefaultValues_Compile.CellCell.MakeCellCell(0) +null + null +ImportedTypes_mLibrary_Compile.Color.Red(0) and ImportedTypes_mLibrary_Compile.Color.Red(0) +ImportedTypes_mLibrary_Compile.CoColor.Yellow and ImportedTypes_mLibrary_Compile.CoColor.Yellow +ImportedTypes_mLibrary_Compile.MoColor.MoYellow and ImportedTypes_mLibrary_Compile.MoColor.MoYellow +0.0 and 0.0 +13 + +Dafny program verifier did not attempt verification 3 false 0 false false true () (0, false, false, []) diff --git a/Test/comp/ByMethodCompilation.dfy b/Test/comp/ByMethodCompilation.dfy index 7432f72f7d4..ea62d84b21e 100644 --- a/Test/comp/ByMethodCompilation.dfy +++ b/Test/comp/ByMethodCompilation.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var four := Four(); diff --git a/Test/comp/ByMethodCompilation.dfy.expect b/Test/comp/ByMethodCompilation.dfy.expect index d61780e3fb8..1519a955b0c 100644 --- a/Test/comp/ByMethodCompilation.dfy.expect +++ b/Test/comp/ByMethodCompilation.dfy.expect @@ -1,3 +1,35 @@ + +Dafny program verifier finished with 13 verified, 0 errors + +Dafny program verifier did not attempt verification +hello +four is 4 +Recursive(7) = 14 +NonCompilableFunction: 4 7 +Sums: 14 3 + +Dafny program verifier did not attempt verification +hello +four is 4 +Recursive(7) = 14 +NonCompilableFunction: 4 7 +Sums: 14 3 + +Dafny program verifier did not attempt verification +hello +four is 4 +Recursive(7) = 14 +NonCompilableFunction: 4 7 +Sums: 14 3 + +Dafny program verifier did not attempt verification +hello +four is 4 +Recursive(7) = 14 +NonCompilableFunction: 4 7 +Sums: 14 3 + +Dafny program verifier did not attempt verification hello four is 4 Recursive(7) = 14 diff --git a/Test/comp/Calls.dfy b/Test/comp/Calls.dfy index c56bc3e5286..4a4916aea0c 100644 --- a/Test/comp/Calls.dfy +++ b/Test/comp/Calls.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" function F(x: int, y: bool): int { x + if y then 2 else 3 diff --git a/Test/comp/Calls.dfy.expect b/Test/comp/Calls.dfy.expect index cf4e1bc155b..3317b8be164 100644 --- a/Test/comp/Calls.dfy.expect +++ b/Test/comp/Calls.dfy.expect @@ -1,3 +1,43 @@ + +Dafny program verifier finished with 6 verified, 0 errors + +Dafny program verifier did not attempt verification +5 0 0 false 0 false 0 +5 3 5 3 5 3 +5 3 5 3 5 3 +15 +[0, 1, 2, 4] +[0, 2, 4] +--> 5 <-- + +Dafny program verifier did not attempt verification +5 0 0 false 0 false 0 +5 3 5 3 5 3 +5 3 5 3 5 3 +15 +[0, 1, 2, 4] +[0, 2, 4] +--> 5 <-- + +Dafny program verifier did not attempt verification +5 0 0 false 0 false 0 +5 3 5 3 5 3 +5 3 5 3 5 3 +15 +[0, 1, 2, 4] +[0, 2, 4] +--> 5 <-- + +Dafny program verifier did not attempt verification +5 0 0 false 0 false 0 +5 3 5 3 5 3 +5 3 5 3 5 3 +15 +[0, 1, 2, 4] +[0, 2, 4] +--> 5 <-- + +Dafny program verifier did not attempt verification 5 0 0 false 0 false 0 5 3 5 3 5 3 5 3 5 3 5 3 diff --git a/Test/comp/Class.dfy b/Test/comp/Class.dfy index 23591e43450..fb994f008e7 100644 --- a/Test/comp/Class.dfy +++ b/Test/comp/Class.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" class MyClass { var a: int diff --git a/Test/comp/Class.dfy.expect b/Test/comp/Class.dfy.expect index 47e49966664..ba1482a164b 100644 --- a/Test/comp/Class.dfy.expect +++ b/Test/comp/Class.dfy.expect @@ -1,3 +1,75 @@ + +Dafny program verifier finished with 16 verified, 0 errors + +Dafny program verifier did not attempt verification +true true false +103 103 103 106 106 106 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +0 18 9 70 +0 18 9 70 +0 18 9 70 +70 +hi later +21 4 42 5 1 +TestGhostables +15 +Init called with x=15 +16 + +Dafny program verifier did not attempt verification +true true false +103 103 103 106 106 106 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +0 18 9 70 +0 18 9 70 +0 18 9 70 +70 +hi later +21 4 42 5 1 +TestGhostables +15 +Init called with x=15 +16 + +Dafny program verifier did not attempt verification +true true false +103 103 103 106 106 106 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +0 18 9 70 +0 18 9 70 +0 18 9 70 +70 +hi later +21 4 42 5 1 +TestGhostables +15 +Init called with x=15 +16 + +Dafny program verifier did not attempt verification +true true false +103 103 103 106 106 106 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +0 18 9 70 +0 18 9 70 +0 18 9 70 +70 +hi later +21 4 42 5 1 +TestGhostables +15 +Init called with x=15 +16 + +Dafny program verifier did not attempt verification true true false 103 103 103 106 106 106 203 17 0 18 8 9 69 70 diff --git a/Test/comp/Collections.dfy b/Test/comp/Collections.dfy index 9457e44b170..104eb9f90ac 100644 --- a/Test/comp/Collections.dfy +++ b/Test/comp/Collections.dfy @@ -1,5 +1,10 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { Sets(); diff --git a/Test/comp/Collections.dfy.expect b/Test/comp/Collections.dfy.expect index e705d887a7d..2361c1a88db 100644 --- a/Test/comp/Collections.dfy.expect +++ b/Test/comp/Collections.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 40 verified, 0 errors + +Dafny program verifier did not attempt verification Sets: {} {17, 82} {12, 17} cardinality: 0 2 2 union: {17, 82} {12, 17, 82} @@ -123,3 +127,511 @@ Multiset=== 1 3 |s|=2 |u|=4 1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Yellow := 21, Color.Blue := 30] +keys: {Color.Yellow, Color.Blue} +values: {21, 30} +items: {(Color.Yellow, 21), (Color.Blue, 30)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {21, 30} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/comp/Collections.dfy.go.expect b/Test/comp/Collections.dfy.go.expect deleted file mode 100644 index 309d0c550c4..00000000000 --- a/Test/comp/Collections.dfy.go.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/comp/Collections.dfy.java.expect b/Test/comp/Collections.dfy.java.expect deleted file mode 100644 index ed929a4d34c..00000000000 --- a/Test/comp/Collections.dfy.java.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Yellow := 21, Color.Blue := 30] -keys: {Color.Yellow, Color.Blue} -values: {21, 30} -items: {(Color.Yellow, 21), (Color.Blue, 30)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/comp/Collections.dfy.js.expect b/Test/comp/Collections.dfy.js.expect deleted file mode 100644 index 309d0c550c4..00000000000 --- a/Test/comp/Collections.dfy.js.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/comp/Collections.dfy.py.expect b/Test/comp/Collections.dfy.py.expect deleted file mode 100644 index 61b4217bbaf..00000000000 --- a/Test/comp/Collections.dfy.py.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {21, 30} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/comp/Comprehensions.dfy b/Test/comp/Comprehensions.dfy index 73c43b22bfa..29ac368f2c3 100644 --- a/Test/comp/Comprehensions.dfy +++ b/Test/comp/Comprehensions.dfy @@ -1,5 +1,10 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { AssignSuchThat(); diff --git a/Test/comp/Comprehensions.dfy.expect b/Test/comp/Comprehensions.dfy.expect index c9703fc9397..18159ddde0a 100644 --- a/Test/comp/Comprehensions.dfy.expect +++ b/Test/comp/Comprehensions.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 32 verified, 0 errors + +Dafny program verifier did not attempt verification x=13 y=14 x=13 y=14 b=yes true false @@ -60,3 +64,259 @@ true true [137438953474, 137438953475, 137438953476, 137438953477, 137438953479] cdefh cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[14 := 7, 12 := 6, 13 := 6] +map[18 := 14, 17 := 13, 16 := 12] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh diff --git a/Test/comp/Comprehensions.dfy.py.expect b/Test/comp/Comprehensions.dfy.py.expect deleted file mode 100644 index aeaa31fc0f3..00000000000 --- a/Test/comp/Comprehensions.dfy.py.expect +++ /dev/null @@ -1,62 +0,0 @@ -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[14 := 7, 12 := 6, 13 := 6] -map[18 := 14, 17 := 13, 16 := 12] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh diff --git a/Test/comp/ComprehensionsNewSyntax.dfy b/Test/comp/ComprehensionsNewSyntax.dfy index 6cd88aeb4f7..a324b622e8a 100644 --- a/Test/comp/ComprehensionsNewSyntax.dfy +++ b/Test/comp/ComprehensionsNewSyntax.dfy @@ -1,5 +1,10 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { Quantifier(); diff --git a/Test/comp/ComprehensionsNewSyntax.dfy.expect b/Test/comp/ComprehensionsNewSyntax.dfy.expect index b70314ff87b..408769f4b67 100644 --- a/Test/comp/ComprehensionsNewSyntax.dfy.expect +++ b/Test/comp/ComprehensionsNewSyntax.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 10 verified, 0 errors + +Dafny program verifier did not attempt verification true false true false map[12 := 6, 13 := 6, 14 := 7] @@ -32,3 +36,147 @@ false false false false true true true true false false false false true true true true + +Dafny program verifier did not attempt verification +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true + +Dafny program verifier did not attempt verification +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true + +Dafny program verifier did not attempt verification +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true + +Dafny program verifier did not attempt verification +true false +true false +map[14 := 7, 12 := 6, 13 := 6] +map[18 := 14, 17 := 13, 16 := 12] +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true diff --git a/Test/comp/ComprehensionsNewSyntax.dfy.py.expect b/Test/comp/ComprehensionsNewSyntax.dfy.py.expect deleted file mode 100644 index b19cef0ba0e..00000000000 --- a/Test/comp/ComprehensionsNewSyntax.dfy.py.expect +++ /dev/null @@ -1,34 +0,0 @@ -true false -true false -map[14 := 7, 12 := 6, 13 := 6] -map[18 := 14, 17 := 13, 16 := 12] -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true diff --git a/Test/comp/CovariantCollections.dfy b/Test/comp/CovariantCollections.dfy index 6dd73ee7fea..12301df3b09 100644 --- a/Test/comp/CovariantCollections.dfy +++ b/Test/comp/CovariantCollections.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { Sequences(); diff --git a/Test/comp/CovariantCollections.dfy.expect b/Test/comp/CovariantCollections.dfy.expect index a9d00f4a65d..e029d3abc3b 100644 --- a/Test/comp/CovariantCollections.dfy.expect +++ b/Test/comp/CovariantCollections.dfy.expect @@ -1,3 +1,223 @@ + +Dafny program verifier finished with 25 verified, 0 errors + +Dafny program verifier did not attempt verification +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17] [12, 17] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + comprehension: {82} + union: {17, 82} {12, 17, 82} + intersection: {} {17} + difference: {} {82} + subset: true false true + proper subset: true false false + membership: false true true +Multisets: {} {17, 17, 82, 82} {12, 17} + cardinality: 0 4 2 + update: {17, 17, 42, 42, 42} {12, 17, 42} + multiplicity: 2 0 20 + union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} + intersection: {} {17, 82, 82} + difference: {} {17, 82, 82} + subset: true false true + proper subset: true false false + membership: false true true +Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} + cardinality: 0 3 2 + update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} + comprehension: {17 := 12, 82 := 12} + Keys: {12, 17, 82} + Values: {17, 82} + eq: false true true + eq: true true true true true true + eq: true true true true true true + eq: true false true false true false + eq: true false true false true false + eq: true true true true true true + eq: true true true true true true +set: {20, 30} +multiset: {20, 30} +seq: [20, 30] +map: {20 := 30, 30 := 20} +true +true +1 1 +1 1 + +Dafny program verifier did not attempt verification +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17] [12, 17] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + comprehension: {82} + union: {17, 82} {12, 17, 82} + intersection: {} {17} + difference: {} {82} + subset: true false true + proper subset: true false false + membership: false true true +Multisets: {} {17, 17, 82, 82} {12, 17} + cardinality: 0 4 2 + update: {17, 17, 42, 42, 42} {12, 17, 42} + multiplicity: 2 0 20 + union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} + intersection: {} {17, 82, 82} + difference: {} {17, 82, 82} + subset: true false true + proper subset: true false false + membership: false true true +Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} + cardinality: 0 3 2 + update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} + comprehension: {17 := 12, 82 := 12} + Keys: {12, 17, 82} + Values: {17, 82} + eq: false true true + eq: true true true true true true + eq: true true true true true true + eq: true false true false true false + eq: true false true false true false + eq: true true true true true true + eq: true true true true true true +set: {20, 30} +multiset: {20, 30} +seq: [20, 30] +map: {20 := 30, 30 := 20} +true +true +1 1 +1 1 + +Dafny program verifier did not attempt verification +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17] [12, 17] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + comprehension: {82} + union: {17, 82} {12, 17, 82} + intersection: {} {17} + difference: {} {82} + subset: true false true + proper subset: true false false + membership: false true true +Multisets: {} {17, 17, 82, 82} {12, 17} + cardinality: 0 4 2 + update: {17, 17, 42, 42, 42} {12, 17, 42} + multiplicity: 2 0 20 + union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} + intersection: {} {17, 82, 82} + difference: {} {17, 82, 82} + subset: true false true + proper subset: true false false + membership: false true true +Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} + cardinality: 0 3 2 + update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} + comprehension: {17 := 12, 82 := 12} + Keys: {12, 17, 82} + Values: {17, 82} + eq: false true true + eq: true true true true true true + eq: true true true true true true + eq: true false true false true false + eq: true false true false true false + eq: true true true true true true + eq: true true true true true true +set: {20, 30} +multiset: {20, 30} +seq: [20, 30] +map: {20 := 30, 30 := 20} +true +true +1 1 +1 1 + +Dafny program verifier did not attempt verification +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17] [12, 17] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + comprehension: {82} + union: {17, 82} {12, 17, 82} + intersection: {} {17} + difference: {} {82} + subset: true false true + proper subset: true false false + membership: false true true +Multisets: {} {17, 17, 82, 82} {12, 17} + cardinality: 0 4 2 + update: {17, 17, 42, 42, 42} {12, 17, 42} + multiplicity: 2 0 20 + union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} + intersection: {} {17, 82, 82} + difference: {} {17, 82, 82} + subset: true false true + proper subset: true false false + membership: false true true +Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} + cardinality: 0 3 2 + update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} + comprehension: {17 := 12, 82 := 12} + Keys: {12, 17, 82} + Values: {17, 82} + eq: false true true + eq: true true true true true true + eq: true true true true true true + eq: true false true false true false + eq: true false true false true false + eq: true true true true true true + eq: true true true true true true +set: {20, 30} +multiset: {20, 30} +seq: [20, 30] +map: {20 := 30, 30 := 20} +true +true +1 1 +1 1 + +Dafny program verifier did not attempt verification Sequences: [] [17, 82, 17, 82] [12, 17] cardinality: 0 4 2 update: [42, 82, 17, 82] [42, 17] diff --git a/Test/comp/Datatype.dfy b/Test/comp/Datatype.dfy index 3b3f0641c1a..0f4bab7c469 100644 --- a/Test/comp/Datatype.dfy +++ b/Test/comp/Datatype.dfy @@ -1,5 +1,10 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype List = Nil | Cons(head: int, tail: List) diff --git a/Test/comp/Datatype.dfy.expect b/Test/comp/Datatype.dfy.expect index 93e37a9562a..84dceeb16e6 100644 --- a/Test/comp/Datatype.dfy.expect +++ b/Test/comp/Datatype.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 12 verified, 0 errors + +Dafny program verifier did not attempt verification List.Nil List.Cons(5, List.Nil) (List.Nil, List.Cons(5, List.Nil)) @@ -20,3 +24,99 @@ Record.Record(58, true) 199 800 801 802 800 801 802 + +Dafny program verifier did not attempt verification +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) +0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) +Stream.Next +Stream.Next +{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} +CoBerry.Hjortron true true false +false +42 'q' hello +1701 +Record.Record(58, true) +199 +800 801 802 +800 801 802 + +Dafny program verifier did not attempt verification +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) +0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) +Stream.Next +Stream.Next +{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} +CoBerry.Hjortron true true false +false +42 'q' hello +1701 +Record.Record(58, true) +199 +800 801 802 +800 801 802 + +Dafny program verifier did not attempt verification +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) +0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) +Stream.Next +Stream.Next +{Berry.Jordgubb, Berry.Smultron, Berry.Hallon} +CoBerry.Hjortron true true false +false +42 'q' hello +1701 +Record.Record(58, true) +199 +800 801 802 +800 801 802 + +Dafny program verifier did not attempt verification +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) +0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) +Stream.Next +Stream.Next +{Berry.Hallon, Berry.Smultron, Berry.Jordgubb} +CoBerry.Hjortron true true false +false +42 'q' hello +1701 +Record.Record(58, true) +199 +800 801 802 +800 801 802 diff --git a/Test/comp/Datatype.dfy.java.expect b/Test/comp/Datatype.dfy.java.expect deleted file mode 100644 index e5a32fd58bc..00000000000 --- a/Test/comp/Datatype.dfy.java.expect +++ /dev/null @@ -1,22 +0,0 @@ -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) -0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) -Stream.Next -Stream.Next -{Berry.Jordgubb, Berry.Smultron, Berry.Hallon} -CoBerry.Hjortron true true false -false -42 'q' hello -1701 -Record.Record(58, true) -199 -800 801 802 -800 801 802 diff --git a/Test/comp/Datatype.dfy.py.expect b/Test/comp/Datatype.dfy.py.expect deleted file mode 100644 index 0f64b73ba2d..00000000000 --- a/Test/comp/Datatype.dfy.py.expect +++ /dev/null @@ -1,22 +0,0 @@ -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) -0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) -Stream.Next -Stream.Next -{Berry.Hallon, Berry.Smultron, Berry.Jordgubb} -CoBerry.Hjortron true true false -false -42 'q' hello -1701 -Record.Record(58, true) -199 -800 801 802 -800 801 802 diff --git a/Test/comp/DefaultParameters-Compile.dfy b/Test/comp/DefaultParameters-Compile.dfy index cd6ba1163b1..145b8670647 100644 --- a/Test/comp/DefaultParameters-Compile.dfy +++ b/Test/comp/DefaultParameters-Compile.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method M(x: int := 16) { print x, "\n"; diff --git a/Test/comp/DefaultParameters-Compile.dfy.expect b/Test/comp/DefaultParameters-Compile.dfy.expect index b4b87321eb5..b94739d5be1 100644 --- a/Test/comp/DefaultParameters-Compile.dfy.expect +++ b/Test/comp/DefaultParameters-Compile.dfy.expect @@ -1,3 +1,51 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification +12 +16 +1 2 +1 3 +10 20 +11 13 +Color.Blue(2, 1) Color.Red(3, 4) +5 5 6 +6 6 7 + +Dafny program verifier did not attempt verification +12 +16 +1 2 +1 3 +10 20 +11 13 +Color.Blue(2, 1) Color.Red(3, 4) +5 5 6 +6 6 7 + +Dafny program verifier did not attempt verification +12 +16 +1 2 +1 3 +10 20 +11 13 +Color.Blue(2, 1) Color.Red(3, 4) +5 5 6 +6 6 7 + +Dafny program verifier did not attempt verification +12 +16 +1 2 +1 3 +10 20 +11 13 +Color.Blue(2, 1) Color.Red(3, 4) +5 5 6 +6 6 7 + +Dafny program verifier did not attempt verification 12 16 1 2 diff --git a/Test/comp/DowncastClone.dfy b/Test/comp/DowncastClone.dfy index cb1f095b3f4..b90066da781 100644 --- a/Test/comp/DowncastClone.dfy +++ b/Test/comp/DowncastClone.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Co<+T> = Co(T) | C datatype ReCo<+T> = ReCo(T) diff --git a/Test/comp/DowncastClone.dfy.expect b/Test/comp/DowncastClone.dfy.expect index b0613294f3c..982b36b396c 100644 --- a/Test/comp/DowncastClone.dfy.expect +++ b/Test/comp/DowncastClone.dfy.expect @@ -1,3 +1,43 @@ + +Dafny program verifier finished with 7 verified, 0 errors + +Dafny program verifier did not attempt verification +Co.Co(_module.Y) and Co.Co(_module.Y) +_module.Y and _module.Y +_module.Y _module.Y +false and false +false and false +_module.Y and _module.Y +Done + +Dafny program verifier did not attempt verification +Co.Co(_module.Y) and Co.Co(_module.Y) +_module.Y and _module.Y +_module.Y _module.Y +false and false +false and false +_module.Y and _module.Y +Done + +Dafny program verifier did not attempt verification +Co.Co(_module.Y) and Co.Co(_module.Y) +_module.Y and _module.Y +_module.Y _module.Y +false and false +false and false +_module.Y and _module.Y +Done + +Dafny program verifier did not attempt verification +Co.Co(_module.Y) and Co.Co(_module.Y) +_module.Y and _module.Y +_module.Y _module.Y +false and false +false and false +_module.Y and _module.Y +Done + +Dafny program verifier did not attempt verification Co.Co(_module.Y) and Co.Co(_module.Y) _module.Y and _module.Y _module.Y _module.Y diff --git a/Test/comp/ErasableTypeWrappers.dfy b/Test/comp/ErasableTypeWrappers.dfy index a280099699f..d62d3736622 100644 --- a/Test/comp/ErasableTypeWrappers.dfy +++ b/Test/comp/ErasableTypeWrappers.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype SingletonRecord = SingletonRecord(u: int) datatype GhostOrNot = ghost Ghost(a: int, b: int) | Compiled(x: int) diff --git a/Test/comp/ErasableTypeWrappers.dfy.expect b/Test/comp/ErasableTypeWrappers.dfy.expect index 7dd41a194ac..602e30d2075 100644 --- a/Test/comp/ErasableTypeWrappers.dfy.expect +++ b/Test/comp/ErasableTypeWrappers.dfy.expect @@ -1,3 +1,87 @@ + +Dafny program verifier finished with 10 verified, 0 errors + +Dafny program verifier did not attempt verification +62 63 (2, 5) (2, 5) 3 +62 63 5 5 3 +5 5 3 +1062 1063 1005 1005 1003 +true true true +20 20 *20 21 20 +20 20 *20 21 20 +true false +true false true false +true false +0 (0, 0) 0 Color.Pink +13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false + 3.14 2.7 +18.0 18.0 3.0 false +18.0 4.0 true +HasConst.MakeC(4) (4, 4) +4 (4, 4) +OptimizationChecks_Compile.Ints.Ints(5, 7) OptimizationChecks_Compile.Ints.Ints(5, 7) OptimizationChecks_Compile.Ints.AnotherIntsWrapper(OptimizationChecks_Compile.Ints.Ints(5, 7)) + +Dafny program verifier did not attempt verification +62 63 (2, 5) (2, 5) 3 +62 63 5 5 3 +5 5 3 +1062 1063 1005 1005 1003 +true true true +20 20 *20 21 20 +20 20 *20 21 20 +true false +true false true false +true false +0 (0, 0) 0 Color.Pink +13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false + 3.14 2.7 +18.0 18.0 3.0 false +18.0 4.0 true +HasConst.MakeC(4) (4, 4) +4 (4, 4) +OptimizationChecks_Compile.Ints.Ints(5, 7) OptimizationChecks_Compile.Ints.Ints(5, 7) OptimizationChecks_Compile.Ints.AnotherIntsWrapper(OptimizationChecks_Compile.Ints.Ints(5, 7)) + +Dafny program verifier did not attempt verification +62 63 (2, 5) (2, 5) 3 +62 63 5 5 3 +5 5 3 +1062 1063 1005 1005 1003 +true true true +20 20 *20 21 20 +20 20 *20 21 20 +true false +true false true false +true false +0 (0, 0) 0 Color.Pink +13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false + 3.14 2.7 +18.0 18.0 3.0 false +18.0 4.0 true +HasConst.MakeC(4) (4, 4) +4 (4, 4) +OptimizationChecks_Compile.Ints.Ints(5, 7) OptimizationChecks_Compile.Ints.Ints(5, 7) OptimizationChecks_Compile.Ints.AnotherIntsWrapper(OptimizationChecks_Compile.Ints.Ints(5, 7)) + +Dafny program verifier did not attempt verification +62 63 (2, 5) (2, 5) 3 +62 63 5 5 3 +5 5 3 +1062 1063 1005 1005 1003 +true true true +20 20 *20 21 20 +20 20 *20 21 20 +true false +true false true false +true false +0 (0, 0) 0 Color.Pink +13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false + 3.14 2.7 +18.0 18.0 3.0 false +18.0 4.0 true +HasConst.MakeC(4) (4, 4) +4 (4, 4) +OptimizationChecks_Compile.Ints.Ints(5, 7) OptimizationChecks_Compile.Ints.Ints(5, 7) OptimizationChecks_Compile.Ints.AnotherIntsWrapper(OptimizationChecks_Compile.Ints.Ints(5, 7)) + +Dafny program verifier did not attempt verification 62 63 (2, 5) (2, 5) 3 62 63 5 5 3 5 5 3 diff --git a/Test/comp/EuclideanDivision.dfy b/Test/comp/EuclideanDivision.dfy index 1286dcd125b..7ae1803cad8 100644 --- a/Test/comp/EuclideanDivision.dfy +++ b/Test/comp/EuclideanDivision.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // Some runtimes (like the one for C#) have three implementations // of Euclidean div/mod: one for `int`, one for `long`, and one diff --git a/Test/comp/EuclideanDivision.dfy.expect b/Test/comp/EuclideanDivision.dfy.expect index e2585ff8c70..b538c9494de 100644 --- a/Test/comp/EuclideanDivision.dfy.expect +++ b/Test/comp/EuclideanDivision.dfy.expect @@ -1,3 +1,39 @@ + +Dafny program verifier finished with 11 verified, 0 errors + +Dafny program verifier did not attempt verification +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 + +Dafny program verifier did not attempt verification +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 + +Dafny program verifier did not attempt verification +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 + +Dafny program verifier did not attempt verification +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 + +Dafny program verifier did not attempt verification 2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 diff --git a/Test/comp/ForLoops-Compilation.dfy b/Test/comp/ForLoops-Compilation.dfy index b468d21f69f..97101b82961 100644 --- a/Test/comp/ForLoops-Compilation.dfy +++ b/Test/comp/ForLoops-Compilation.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { TestM(0, 0); diff --git a/Test/comp/ForLoops-Compilation.dfy.expect b/Test/comp/ForLoops-Compilation.dfy.expect index 97724a714bc..d67a5429fed 100644 --- a/Test/comp/ForLoops-Compilation.dfy.expect +++ b/Test/comp/ForLoops-Compilation.dfy.expect @@ -1,3 +1,203 @@ + +Dafny program verifier finished with 23 verified, 0 errors + +Dafny program verifier did not attempt verification +0 0 0 0 +-2 -2 -2 -2 +0 0 0 0 +145 145 145 145 +0 0 +0 0 +57 57 +0 0 +32385 32385 +0 0 +-128 -128 +126 126 +0 0 +0 * 2 == 0 +2 * 0 == 0 +1 * 1 == 1 +6 * 5 == 30 +0 + 3 == 3 +3 + 0 == 3 +4 + 0 == 4 +0 + 0 == 0 +19 + 14 == 33 +4 4 4 +== BC10 == +0 --++--++---- *** +1 --++--++----++-- +2 --++--++----++--++--++--++--++--++--++ *** +3 --++--++----++--++--++--++--++--++--++ *** +4 --++--++----++--++--++--++--++--++--++ *** +5 --++--++----++--++--++--++--++--++--++ *** +6 --++--++----++--++--++--++--++--++--++ *** +7 --++--++----++--++--++--++--++--++--++ *** +8 --++--++----++--++--++--++--++--++--++ *** +9 --++--++----++--++--++--++--++--++--++ *** +== BC11 == +0 ||--++----++-- *** +1 ||--++----++--++-- +2 ||--++----++--++--++--++--++--++--++--++ *** +3 ||--++----++--++--++--++--++--++--++--++ *** +4 ||--++----++--++--++--++--++--++--++--++ *** +5 ||--++----++--++--++--++--++--++--++--++ *** +6 ||--++----++--++--++--++--++--++--++--++ *** +7 ||--++----++--++--++--++--++--++--++--++ *** +8 ||--++----++--++--++--++--++--++--++--++ *** +9 ||--++----++--++--++--++--++--++--++--++ *** +true true true 15 +all good + +Dafny program verifier did not attempt verification +0 0 0 0 +-2 -2 -2 -2 +0 0 0 0 +145 145 145 145 +0 0 +0 0 +57 57 +0 0 +32385 32385 +0 0 +-128 -128 +126 126 +0 0 +0 * 2 == 0 +2 * 0 == 0 +1 * 1 == 1 +6 * 5 == 30 +0 + 3 == 3 +3 + 0 == 3 +4 + 0 == 4 +0 + 0 == 0 +19 + 14 == 33 +4 4 4 +== BC10 == +0 --++--++---- *** +1 --++--++----++-- +2 --++--++----++--++--++--++--++--++--++ *** +3 --++--++----++--++--++--++--++--++--++ *** +4 --++--++----++--++--++--++--++--++--++ *** +5 --++--++----++--++--++--++--++--++--++ *** +6 --++--++----++--++--++--++--++--++--++ *** +7 --++--++----++--++--++--++--++--++--++ *** +8 --++--++----++--++--++--++--++--++--++ *** +9 --++--++----++--++--++--++--++--++--++ *** +== BC11 == +0 ||--++----++-- *** +1 ||--++----++--++-- +2 ||--++----++--++--++--++--++--++--++--++ *** +3 ||--++----++--++--++--++--++--++--++--++ *** +4 ||--++----++--++--++--++--++--++--++--++ *** +5 ||--++----++--++--++--++--++--++--++--++ *** +6 ||--++----++--++--++--++--++--++--++--++ *** +7 ||--++----++--++--++--++--++--++--++--++ *** +8 ||--++----++--++--++--++--++--++--++--++ *** +9 ||--++----++--++--++--++--++--++--++--++ *** +true true true 15 +all good + +Dafny program verifier did not attempt verification +0 0 0 0 +-2 -2 -2 -2 +0 0 0 0 +145 145 145 145 +0 0 +0 0 +57 57 +0 0 +32385 32385 +0 0 +-128 -128 +126 126 +0 0 +0 * 2 == 0 +2 * 0 == 0 +1 * 1 == 1 +6 * 5 == 30 +0 + 3 == 3 +3 + 0 == 3 +4 + 0 == 4 +0 + 0 == 0 +19 + 14 == 33 +4 4 4 +== BC10 == +0 --++--++---- *** +1 --++--++----++-- +2 --++--++----++--++--++--++--++--++--++ *** +3 --++--++----++--++--++--++--++--++--++ *** +4 --++--++----++--++--++--++--++--++--++ *** +5 --++--++----++--++--++--++--++--++--++ *** +6 --++--++----++--++--++--++--++--++--++ *** +7 --++--++----++--++--++--++--++--++--++ *** +8 --++--++----++--++--++--++--++--++--++ *** +9 --++--++----++--++--++--++--++--++--++ *** +== BC11 == +0 ||--++----++-- *** +1 ||--++----++--++-- +2 ||--++----++--++--++--++--++--++--++--++ *** +3 ||--++----++--++--++--++--++--++--++--++ *** +4 ||--++----++--++--++--++--++--++--++--++ *** +5 ||--++----++--++--++--++--++--++--++--++ *** +6 ||--++----++--++--++--++--++--++--++--++ *** +7 ||--++----++--++--++--++--++--++--++--++ *** +8 ||--++----++--++--++--++--++--++--++--++ *** +9 ||--++----++--++--++--++--++--++--++--++ *** +true true true 15 +all good + +Dafny program verifier did not attempt verification +0 0 0 0 +-2 -2 -2 -2 +0 0 0 0 +145 145 145 145 +0 0 +0 0 +57 57 +0 0 +32385 32385 +0 0 +-128 -128 +126 126 +0 0 +0 * 2 == 0 +2 * 0 == 0 +1 * 1 == 1 +6 * 5 == 30 +0 + 3 == 3 +3 + 0 == 3 +4 + 0 == 4 +0 + 0 == 0 +19 + 14 == 33 +4 4 4 +== BC10 == +0 --++--++---- *** +1 --++--++----++-- +2 --++--++----++--++--++--++--++--++--++ *** +3 --++--++----++--++--++--++--++--++--++ *** +4 --++--++----++--++--++--++--++--++--++ *** +5 --++--++----++--++--++--++--++--++--++ *** +6 --++--++----++--++--++--++--++--++--++ *** +7 --++--++----++--++--++--++--++--++--++ *** +8 --++--++----++--++--++--++--++--++--++ *** +9 --++--++----++--++--++--++--++--++--++ *** +== BC11 == +0 ||--++----++-- *** +1 ||--++----++--++-- +2 ||--++----++--++--++--++--++--++--++--++ *** +3 ||--++----++--++--++--++--++--++--++--++ *** +4 ||--++----++--++--++--++--++--++--++--++ *** +5 ||--++----++--++--++--++--++--++--++--++ *** +6 ||--++----++--++--++--++--++--++--++--++ *** +7 ||--++----++--++--++--++--++--++--++--++ *** +8 ||--++----++--++--++--++--++--++--++--++ *** +9 ||--++----++--++--++--++--++--++--++--++ *** +true true true 15 +all good + +Dafny program verifier did not attempt verification 0 0 0 0 -2 -2 -2 -2 0 0 0 0 diff --git a/Test/comp/ForallNewSyntax.dfy b/Test/comp/ForallNewSyntax.dfy index 85e609b37b3..c17bf86830e 100644 --- a/Test/comp/ForallNewSyntax.dfy +++ b/Test/comp/ForallNewSyntax.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --function-syntax:3 --quantifier-syntax:4 --relax-definite-assignment +// RUN: %baredafny verify %args --relax-definite-assignment --function-syntax:3 --quantifier-syntax:4 "%s" > "%t" +// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:cs "%s" >> "%t" +// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:js "%s" >> "%t" +// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:go "%s" >> "%t" +// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:java "%s" >> "%t" +// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var arrayTests := new ArrayTests(); diff --git a/Test/comp/ForallNewSyntax.dfy.expect b/Test/comp/ForallNewSyntax.dfy.expect index 5b33d939607..241ea9ea521 100644 --- a/Test/comp/ForallNewSyntax.dfy.expect +++ b/Test/comp/ForallNewSyntax.dfy.expect @@ -1,3 +1,183 @@ + +Dafny program verifier finished with 25 verified, 0 errors + +Dafny program verifier did not attempt verification +Arrays: Basic cases +[0, 1, 2, 3, 4] +[0, 1, 2, 3, 4] +[0, 1, 4, 3, 8] + +Arrays: Wrong index +[0, 0, 1, 2, 3] +[0, 0, 1, 2, 3] +[1, 2, 3, 4, 5] + +Arrays: Sequence conversion +[2, 1, 4, 5, 6] +[0, 3, 3, 3, 4] + +Arrays: Index collection +[1, 1, 2, 3, 4] +[1, 1, 2, 3, 4] + +Arrays: Functions +[1, 1, 3, 4, 5] +[1, 1, 3, 4, 5] +[1, 2, 3, 3, 5] +[1, 2, 3, 4, 5] + +Multi-dimensional arrays +[[0, 2, 4], [1, 3, 5], [2, 4, 6]] +[[0, 1, 2], [2, 3, 4], [4, 5, 6]] + +Objects: Basic cases +[(0, 1.0), (0, 2.0), (0, 3.0)] +[(2, 1.0), (2, 2.0), (4, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] + +Objects: Bad field accesses +[(2, 1.0), (3, 2.0), (4, 3.0)] +[(2, 1.0), (2, 2.0), (2, 3.0)] +[(2, 1.0), (3, 2.0), (1, 3.0)] + +Objects: Functions +[(2, 1.0), (4, 2.0), (6, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] +[(3, 1.0), (4, 2.0), (5, 3.0)] + +Dafny program verifier did not attempt verification +Arrays: Basic cases +[0, 1, 2, 3, 4] +[0, 1, 2, 3, 4] +[0, 1, 4, 3, 8] + +Arrays: Wrong index +[0, 0, 1, 2, 3] +[0, 0, 1, 2, 3] +[1, 2, 3, 4, 5] + +Arrays: Sequence conversion +[2, 1, 4, 5, 6] +[0, 3, 3, 3, 4] + +Arrays: Index collection +[1, 1, 2, 3, 4] +[1, 1, 2, 3, 4] + +Arrays: Functions +[1, 1, 3, 4, 5] +[1, 1, 3, 4, 5] +[1, 2, 3, 3, 5] +[1, 2, 3, 4, 5] + +Multi-dimensional arrays +[[0, 2, 4], [1, 3, 5], [2, 4, 6]] +[[0, 1, 2], [2, 3, 4], [4, 5, 6]] + +Objects: Basic cases +[(0, 1.0), (0, 2.0), (0, 3.0)] +[(2, 1.0), (2, 2.0), (4, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] + +Objects: Bad field accesses +[(2, 1.0), (3, 2.0), (4, 3.0)] +[(2, 1.0), (2, 2.0), (2, 3.0)] +[(2, 1.0), (3, 2.0), (1, 3.0)] + +Objects: Functions +[(2, 1.0), (4, 2.0), (6, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] +[(3, 1.0), (4, 2.0), (5, 3.0)] + +Dafny program verifier did not attempt verification +Arrays: Basic cases +[0, 1, 2, 3, 4] +[0, 1, 2, 3, 4] +[0, 1, 4, 3, 8] + +Arrays: Wrong index +[0, 0, 1, 2, 3] +[0, 0, 1, 2, 3] +[1, 2, 3, 4, 5] + +Arrays: Sequence conversion +[2, 1, 4, 5, 6] +[0, 3, 3, 3, 4] + +Arrays: Index collection +[1, 1, 2, 3, 4] +[1, 1, 2, 3, 4] + +Arrays: Functions +[1, 1, 3, 4, 5] +[1, 1, 3, 4, 5] +[1, 2, 3, 3, 5] +[1, 2, 3, 4, 5] + +Multi-dimensional arrays +[[0, 2, 4], [1, 3, 5], [2, 4, 6]] +[[0, 1, 2], [2, 3, 4], [4, 5, 6]] + +Objects: Basic cases +[(0, 1.0), (0, 2.0), (0, 3.0)] +[(2, 1.0), (2, 2.0), (4, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] + +Objects: Bad field accesses +[(2, 1.0), (3, 2.0), (4, 3.0)] +[(2, 1.0), (2, 2.0), (2, 3.0)] +[(2, 1.0), (3, 2.0), (1, 3.0)] + +Objects: Functions +[(2, 1.0), (4, 2.0), (6, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] +[(3, 1.0), (4, 2.0), (5, 3.0)] + +Dafny program verifier did not attempt verification +Arrays: Basic cases +[0, 1, 2, 3, 4] +[0, 1, 2, 3, 4] +[0, 1, 4, 3, 8] + +Arrays: Wrong index +[0, 0, 1, 2, 3] +[0, 0, 1, 2, 3] +[1, 2, 3, 4, 5] + +Arrays: Sequence conversion +[2, 1, 4, 5, 6] +[0, 3, 3, 3, 4] + +Arrays: Index collection +[1, 1, 2, 3, 4] +[1, 1, 2, 3, 4] + +Arrays: Functions +[1, 1, 3, 4, 5] +[1, 1, 3, 4, 5] +[1, 2, 3, 3, 5] +[1, 2, 3, 4, 5] + +Multi-dimensional arrays +[[0, 2, 4], [1, 3, 5], [2, 4, 6]] +[[0, 1, 2], [2, 3, 4], [4, 5, 6]] + +Objects: Basic cases +[(0, 1.0), (0, 2.0), (0, 3.0)] +[(2, 1.0), (2, 2.0), (4, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] + +Objects: Bad field accesses +[(2, 1.0), (3, 2.0), (4, 3.0)] +[(2, 1.0), (2, 2.0), (2, 3.0)] +[(2, 1.0), (3, 2.0), (1, 3.0)] + +Objects: Functions +[(2, 1.0), (4, 2.0), (6, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] +[(3, 1.0), (4, 2.0), (5, 3.0)] + +Dafny program verifier did not attempt verification Arrays: Basic cases [0, 1, 2, 3, 4] [0, 1, 2, 3, 4] diff --git a/Test/comp/Ghosts.dfy b/Test/comp/Ghosts.dfy index 8afe8a36d3f..506fe0facb1 100644 --- a/Test/comp/Ghosts.dfy +++ b/Test/comp/Ghosts.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method M1() returns (x: int) { diff --git a/Test/comp/Ghosts.dfy.expect b/Test/comp/Ghosts.dfy.expect index d075ea048c1..430a9c18fc0 100644 --- a/Test/comp/Ghosts.dfy.expect +++ b/Test/comp/Ghosts.dfy.expect @@ -1,3 +1,55 @@ + +Dafny program verifier finished with 8 verified, 0 errors + +Dafny program verifier did not attempt verification +hello, M2 +hello, M2 +hello, M3 +hello, M1 +hello, M1 +hello, M1 +hello, M2 +hello, M3 +hello, N0 +hello, N1 + +Dafny program verifier did not attempt verification +hello, M2 +hello, M2 +hello, M3 +hello, M1 +hello, M1 +hello, M1 +hello, M2 +hello, M3 +hello, N0 +hello, N1 + +Dafny program verifier did not attempt verification +hello, M2 +hello, M2 +hello, M3 +hello, M1 +hello, M1 +hello, M1 +hello, M2 +hello, M3 +hello, N0 +hello, N1 + +Dafny program verifier did not attempt verification +hello, M2 +hello, M2 +hello, M3 +hello, M1 +hello, M1 +hello, M1 +hello, M2 +hello, M3 +hello, N0 +hello, N1 + +Dafny program verifier did not attempt verification hello, M2 hello, M2 hello, M3 diff --git a/Test/comp/Let.dfy b/Test/comp/Let.dfy index 2a639009c78..64dce8b90e6 100644 --- a/Test/comp/Let.dfy +++ b/Test/comp/Let.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cs "%s" > "%t" +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method M() returns (x: int) { x := var y := 50; y; // non-top-level let diff --git a/Test/comp/Let.dfy.expect b/Test/comp/Let.dfy.expect index f05dfc414c1..667abc32458 100644 --- a/Test/comp/Let.dfy.expect +++ b/Test/comp/Let.dfy.expect @@ -1,3 +1,37 @@ + +Dafny program verifier finished with 5 verified, 0 errors +50 58 +Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) +5 7 9 10 12 30 +5 7 +5 7 +12.0 15.0 15.0 15.0 + +Dafny program verifier finished with 5 verified, 0 errors +50 58 +Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) +5 7 9 10 12 30 +5 7 +5 7 +12.0 15.0 15.0 15.0 + +Dafny program verifier finished with 5 verified, 0 errors +50 58 +Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) +5 7 9 10 12 30 +5 7 +5 7 +12.0 15.0 15.0 15.0 + +Dafny program verifier finished with 5 verified, 0 errors +50 58 +Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) +5 7 9 10 12 30 +5 7 +5 7 +12.0 15.0 15.0 15.0 + +Dafny program verifier finished with 5 verified, 0 errors 50 58 Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) 5 7 9 10 12 30 diff --git a/Test/comp/MoreAutoInit.dfy b/Test/comp/MoreAutoInit.dfy index c72083f1be5..46bdf7148f1 100644 --- a/Test/comp/MoreAutoInit.dfy +++ b/Test/comp/MoreAutoInit.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { Methods.TestStart(); diff --git a/Test/comp/MoreAutoInit.dfy.expect b/Test/comp/MoreAutoInit.dfy.expect index a3a230fd0f1..cc1ae3b994a 100644 --- a/Test/comp/MoreAutoInit.dfy.expect +++ b/Test/comp/MoreAutoInit.dfy.expect @@ -1,3 +1,575 @@ + +Dafny program verifier finished with 38 verified, 0 errors + +Dafny program verifier did not attempt verification +Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +{} + ++ {} +[] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +{2} + ++ {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni + ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni +Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni + ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni +Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni +Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni + ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni + ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni +[] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] + ** [] ++ [] +[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [] + ** [] ++ [] +[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [] +[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] + ++ [Consts_Compile.Uni.Uni] ++ [] + ** [] ++ [] ++ [] +15 +0-0 0.0-0.0 false-false 'D'-'D' 0 +0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 +0-0 0-0 0-0 0-0 1 1 +0.0-0.0 68.0 +null-null null-null null-null null-null +0 +0:0:0 +0-0 +{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] +DefaultValuedExpressions_Compile.Color.Red-DefaultValuedExpressions_Compile.Color.Red DefaultValuedExpressions_Compile.PossibleCell.Nothing-DefaultValuedExpressions_Compile.PossibleCell.Nothing DefaultValuedExpressions_Compile.Cell.LittleCell(0)-DefaultValuedExpressions_Compile.Cell.LittleCell(0) +()-() (0, 0.0)-(0, 0.0) +(DefaultValuedExpressions_Compile.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions_Compile.Color.Red, (0, 0.0), ()) +null-null null-null +0-0 0-0 0-0 3 4 5 +0-0 11 0-0 8 + +Dafny program verifier did not attempt verification +Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +{} + ++ {} +[] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +{2} + ++ {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni + ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni +Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni + ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni +Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni +Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni + ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni + ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni +[] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] + ** [] ++ [] +[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [] + ** [] ++ [] +[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [] +[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] + ++ [Consts_Compile.Uni.Uni] ++ [] + ** [] ++ [] ++ [] +15 +0-0 0.0-0.0 false-false 'D'-'D' 0 +0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 +0-0 0-0 0-0 0-0 1 1 +0.0-0.0 68.0 +null-null null-null null-null null-null +0 +0:0:0 +0-0 +{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] +DefaultValuedExpressions_Compile.Color.Red-DefaultValuedExpressions_Compile.Color.Red DefaultValuedExpressions_Compile.PossibleCell.Nothing-DefaultValuedExpressions_Compile.PossibleCell.Nothing DefaultValuedExpressions_Compile.Cell.LittleCell(0)-DefaultValuedExpressions_Compile.Cell.LittleCell(0) +()-() (0, 0.0)-(0, 0.0) +(DefaultValuedExpressions_Compile.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions_Compile.Color.Red, (0, 0.0), ()) +null-null null-null +0-0 0-0 0-0 3 4 5 +0-0 11 0-0 8 + +Dafny program verifier did not attempt verification +Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +{} + ++ {} +[] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +{2} + ++ {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni + ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni +Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni + ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni +Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni +Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni + ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni + ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni +[] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] + ** [] ++ [] +[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [] + ** [] ++ [] +[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [] +[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] + ++ [Consts_Compile.Uni.Uni] ++ [] + ** [] ++ [] ++ [] +15 +0-0 0.0-0.0 false-false 'D'-'D' 0 +0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 +0-0 0-0 0-0 0-0 1 1 +0.0-0.0 68.0 +null-null null-null null-null null-null +0 +0:0:0 +0-0 +{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] +DefaultValuedExpressions_Compile.Color.Red-DefaultValuedExpressions_Compile.Color.Red DefaultValuedExpressions_Compile.PossibleCell.Nothing-DefaultValuedExpressions_Compile.PossibleCell.Nothing DefaultValuedExpressions_Compile.Cell.LittleCell(0)-DefaultValuedExpressions_Compile.Cell.LittleCell(0) +()-() (0, 0.0)-(0, 0.0) +(DefaultValuedExpressions_Compile.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions_Compile.Color.Red, (0, 0.0), ()) +null-null null-null +0-0 0-0 0-0 3 4 5 +0-0 11 0-0 8 + +Dafny program verifier did not attempt verification +Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +{} + ++ {} +[] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +{2} + ++ {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni + ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni +Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni + ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni +Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni +Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni + ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni + ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni +[] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] + ** [] ++ [] +[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [] + ** [] ++ [] +[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [] +[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] + ++ [Consts_Compile.Uni.Uni] ++ [] + ** [] ++ [] ++ [] +15 +0-0 0.0-0.0 false-false 'D'-'D' 0 +0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 +0-0 0-0 0-0 0-0 1 1 +0.0-0.0 68.0 +null-null null-null null-null null-null +0 +0:0:0 +0-0 +{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] +DefaultValuedExpressions_Compile.Color.Red-DefaultValuedExpressions_Compile.Color.Red DefaultValuedExpressions_Compile.PossibleCell.Nothing-DefaultValuedExpressions_Compile.PossibleCell.Nothing DefaultValuedExpressions_Compile.Cell.LittleCell(0)-DefaultValuedExpressions_Compile.Cell.LittleCell(0) +()-() (0, 0.0)-(0, 0.0) +(DefaultValuedExpressions_Compile.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions_Compile.Color.Red, (0, 0.0), ()) +null-null null-null +0-0 0-0 0-0 3 4 5 +0-0 11 0-0 8 + +Dafny program verifier did not attempt verification Methods_Compile.Uni.Uni ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni diff --git a/Test/comp/NativeNumbers.dfy b/Test/comp/NativeNumbers.dfy index e1fadb1c406..c63d02cf643 100644 --- a/Test/comp/NativeNumbers.dfy +++ b/Test/comp/NativeNumbers.dfy @@ -1,6 +1,11 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false // Skip JavaScript because JavaScript doesn't have the same native types +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { CastTests(); diff --git a/Test/comp/NativeNumbers.dfy.expect b/Test/comp/NativeNumbers.dfy.expect index 6a9d263fc73..2be030252cf 100644 --- a/Test/comp/NativeNumbers.dfy.expect +++ b/Test/comp/NativeNumbers.dfy.expect @@ -1,3 +1,259 @@ + +Dafny program verifier finished with 25 verified, 0 errors + +Dafny program verifier did not attempt verification +Casting: + +Small numbers: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 +5 5 5 5 5 5 5 5 5 +6 6 6 6 6 6 6 6 6 +7 7 7 7 7 7 7 7 7 +8 8 8 8 8 8 8 8 8 + +Large unsigned numbers: +255 255 255 255 255 255 255 255 +65535 65535 65535 65535 65535 65535 +4294967295 4294967295 4294967295 4294967295 +18446744073709551615 18446744073709551615 + +Int to large unsigned: +255 65535 4294967295 18446744073709551615 + +Cast from cardinality operator: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 + +Characters: +C 67 67 67 67 67 67 67 67 67 +0 127 32767 65535 65535 255 65535 65535 65535 + +Defaults: + +0 0 0 0 0 0 0 0 0 + +Byte arithmetic: + +20 30 +10 10 18 + +Short arithmetic: + +20 30 +10 10 18 + +Bitvectors: + +0 3 4 1 + +Comparison to zero: + +int8: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int16: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int32: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int64: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint8: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint16: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint32: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint64: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N + + +Dafny program verifier did not attempt verification +Casting: + +Small numbers: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 +5 5 5 5 5 5 5 5 5 +6 6 6 6 6 6 6 6 6 +7 7 7 7 7 7 7 7 7 +8 8 8 8 8 8 8 8 8 + +Large unsigned numbers: +255 255 255 255 255 255 255 255 +65535 65535 65535 65535 65535 65535 +4294967295 4294967295 4294967295 4294967295 +18446744073709551615 18446744073709551615 + +Int to large unsigned: +255 65535 4294967295 18446744073709551615 + +Cast from cardinality operator: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 + +Characters: +C 67 67 67 67 67 67 67 67 67 +0 127 32767 65535 65535 255 65535 65535 65535 + +Defaults: + +0 0 0 0 0 0 0 0 0 + +Byte arithmetic: + +20 30 +10 10 18 + +Short arithmetic: + +20 30 +10 10 18 + +Bitvectors: + +0 3 4 1 + +Comparison to zero: + +int8: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int16: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int32: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int64: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint8: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint16: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint32: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint64: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N + + +Dafny program verifier did not attempt verification +Casting: + +Small numbers: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 +5 5 5 5 5 5 5 5 5 +6 6 6 6 6 6 6 6 6 +7 7 7 7 7 7 7 7 7 +8 8 8 8 8 8 8 8 8 + +Large unsigned numbers: +255 255 255 255 255 255 255 255 +65535 65535 65535 65535 65535 65535 +4294967295 4294967295 4294967295 4294967295 +18446744073709551615 18446744073709551615 + +Int to large unsigned: +255 65535 4294967295 18446744073709551615 + +Cast from cardinality operator: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 + +Characters: +C 67 67 67 67 67 67 67 67 67 +0 127 32767 65535 65535 255 65535 65535 65535 + +Defaults: + +0 0 0 0 0 0 0 0 0 + +Byte arithmetic: + +20 30 +10 10 18 + +Short arithmetic: + +20 30 +10 10 18 + +Bitvectors: + +0 3 4 1 + +Comparison to zero: + +int8: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int16: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int32: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int64: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint8: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint16: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint32: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint64: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N + + +Dafny program verifier did not attempt verification Casting: Small numbers: diff --git a/Test/comp/NestedArrays.dfy b/Test/comp/NestedArrays.dfy index 39d256f4936..0c2b313a32c 100644 --- a/Test/comp/NestedArrays.dfy +++ b/Test/comp/NestedArrays.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %baredafny verify --relax-definite-assignment %args "%s" > "%t" +// RUN: %baredafny run --no-verify --target=cs %args "%s" >> "%t" +// RUN: %baredafny run --no-verify --target=js %args "%s" >> "%t" +// RUN: %baredafny run --no-verify --target=go %args "%s" >> "%t" +// RUN: %baredafny run --no-verify --target=py %args "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" /* Note, compiling to arrays in Java is difficult. In fact, this is currently * broken, see https://github.com/dafny-lang/dafny/issues/3055. Until this gets diff --git a/Test/comp/NestedArrays.dfy.expect b/Test/comp/NestedArrays.dfy.expect index aa47d0d46d4..a24d140b9d4 100644 --- a/Test/comp/NestedArrays.dfy.expect +++ b/Test/comp/NestedArrays.dfy.expect @@ -1,2 +1,18 @@ + +Dafny program verifier finished with 4 verified, 0 errors + +Dafny program verifier did not attempt verification +0 +0 + +Dafny program verifier did not attempt verification +0 +0 + +Dafny program verifier did not attempt verification +0 +0 + +Dafny program verifier did not attempt verification 0 0 diff --git a/Test/comp/Numbers.dfy b/Test/comp/Numbers.dfy index c76bc87fdc0..36bf24dcdb4 100644 --- a/Test/comp/Numbers.dfy +++ b/Test/comp/Numbers.dfy @@ -1,5 +1,10 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { Literals(); diff --git a/Test/comp/Numbers.dfy.expect b/Test/comp/Numbers.dfy.expect index 7eacf4e709d..8d994e1c7c6 100644 --- a/Test/comp/Numbers.dfy.expect +++ b/Test/comp/Numbers.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 59 verified, 0 errors + +Dafny program verifier did not attempt verification 0 0 3 @@ -109,3 +113,455 @@ true false true false false true false true true false true false 20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +g Q 2 +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +(312.0 / 40.0) (1248.0 / 40.0) +(-312.0 / 40.0) (-1248.0 / 40.0) +(-312.0 / 40.0) (1248.0 / 40.0) +(312.0 / 40.0) (-1248.0 / 40.0) +0.0 0.0 0.0 +120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) +123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 (8100.0 / 8100.0) +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +g Q 2 +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +g Q 2 +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +(312.0 / 40.0) (1248.0 / 40.0) +(-312.0 / 40.0) (-1248.0 / 40.0) +(-312.0 / 40.0) (1248.0 / 40.0) +(312.0 / 40.0) (-1248.0 / 40.0) +0.0 0.0 0.0 +120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) +123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 (8100.0 / 8100.0) +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +g Q 2 +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 diff --git a/Test/comp/Numbers.dfy.go.expect b/Test/comp/Numbers.dfy.go.expect deleted file mode 100644 index ce109553619..00000000000 --- a/Test/comp/Numbers.dfy.go.expect +++ /dev/null @@ -1,111 +0,0 @@ -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -g Q 2 -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 diff --git a/Test/comp/Numbers.dfy.py.expect b/Test/comp/Numbers.dfy.py.expect deleted file mode 100644 index ce109553619..00000000000 --- a/Test/comp/Numbers.dfy.py.expect +++ /dev/null @@ -1,111 +0,0 @@ -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -g Q 2 -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 diff --git a/Test/comp/Poly.dfy b/Test/comp/Poly.dfy index 5af5e8134e9..f3c3aa58599 100644 --- a/Test/comp/Poly.dfy +++ b/Test/comp/Poly.dfy @@ -1,5 +1,10 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" trait Shape { function Center(): (real, real) reads this diff --git a/Test/comp/Poly.dfy.expect b/Test/comp/Poly.dfy.expect index 7dc24821586..4ffff82d5ab 100644 --- a/Test/comp/Poly.dfy.expect +++ b/Test/comp/Poly.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 15 verified, 0 errors + +Dafny program verifier did not attempt verification Center of square: ((1.0 / 2.0), (1.0 / 2.0)) Center of circle: (1.0, 1.0) Center: ((1.0 / 2.0), (1.0 / 2.0)) @@ -10,3 +14,59 @@ Center: ((1.0 / 2.0), (1.0 / 2.0)) Center: (1.0, 1.0) Center: ((1.0 / 2.0), (1.0 / 2.0)) Center: (1.0, 1.0) + +Dafny program verifier did not attempt verification +Center of square: ((1.0 / 2.0), (1.0 / 2.0)) +Center of circle: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) + +Dafny program verifier did not attempt verification +Center of square: ((1.0 / 2.0), (1.0 / 2.0)) +Center of circle: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) + +Dafny program verifier did not attempt verification +Center of square: (0.5, 0.5) +Center of circle: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) + +Dafny program verifier did not attempt verification +Center of square: (0.5, 0.5) +Center of circle: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) diff --git a/Test/comp/Poly.dfy.go.expect b/Test/comp/Poly.dfy.go.expect deleted file mode 100644 index 88e09c5e6ff..00000000000 --- a/Test/comp/Poly.dfy.go.expect +++ /dev/null @@ -1,12 +0,0 @@ -Center of square: (0.5, 0.5) -Center of circle: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) diff --git a/Test/comp/Poly.dfy.py.expect b/Test/comp/Poly.dfy.py.expect deleted file mode 100644 index 88e09c5e6ff..00000000000 --- a/Test/comp/Poly.dfy.py.expect +++ /dev/null @@ -1,12 +0,0 @@ -Center of square: (0.5, 0.5) -Center of circle: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) diff --git a/Test/comp/Print.dfy b/Test/comp/Print.dfy index 39f8a447396..166bae4c351 100644 --- a/Test/comp/Print.dfy +++ b/Test/comp/Print.dfy @@ -1,5 +1,9 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // Python salts hashes so they are not deterministic. diff --git a/Test/comp/Print.dfy.expect b/Test/comp/Print.dfy.expect index 88ded65afab..c2b186af0ec 100644 --- a/Test/comp/Print.dfy.expect +++ b/Test/comp/Print.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification Strings in collections: [abc, def] [[abc, def]] @@ -6,3 +10,33 @@ Strings in collections: [] [] [aaaaa] + +Dafny program verifier did not attempt verification +Strings in collections: + [abc, def] + [[abc, def]] + {abc, def} + [abc, def] + [] + [] + [aaaaa] + +Dafny program verifier did not attempt verification +Strings in collections: + [abc, def] + [[abc, def]] + {abc, def} + [abc, def] + [] + [] + [aaaaa] + +Dafny program verifier did not attempt verification +Strings in collections: + [abc, def] + [[abc, def]] + {abc, def} + [abc, def] + [] + [] + [aaaaa] diff --git a/Test/comp/Print.dfy.go.expect b/Test/comp/Print.dfy.go.expect deleted file mode 100644 index 7ac90f01b3c..00000000000 --- a/Test/comp/Print.dfy.go.expect +++ /dev/null @@ -1,8 +0,0 @@ -Strings in collections: - [abc, def] - [[abc, def]] - {abc, def} - [abc, def] - [] - [] - [aaaaa] diff --git a/Test/comp/Print.dfy.java.expect b/Test/comp/Print.dfy.java.expect deleted file mode 100644 index 7ac90f01b3c..00000000000 --- a/Test/comp/Print.dfy.java.expect +++ /dev/null @@ -1,8 +0,0 @@ -Strings in collections: - [abc, def] - [[abc, def]] - {abc, def} - [abc, def] - [] - [] - [aaaaa] diff --git a/Test/comp/Print.dfy.js.expect b/Test/comp/Print.dfy.js.expect deleted file mode 100644 index 7ac90f01b3c..00000000000 --- a/Test/comp/Print.dfy.js.expect +++ /dev/null @@ -1,8 +0,0 @@ -Strings in collections: - [abc, def] - [[abc, def]] - {abc, def} - [abc, def] - [] - [] - [aaaaa] diff --git a/Test/comp/StaticMembersOfGenericTypes.dfy b/Test/comp/StaticMembersOfGenericTypes.dfy index 8a8614d21a5..8c402dab951 100644 --- a/Test/comp/StaticMembersOfGenericTypes.dfy +++ b/Test/comp/StaticMembersOfGenericTypes.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { GenericClass(); diff --git a/Test/comp/StaticMembersOfGenericTypes.dfy.expect b/Test/comp/StaticMembersOfGenericTypes.dfy.expect index 196f1295e12..54e32b42ee5 100644 --- a/Test/comp/StaticMembersOfGenericTypes.dfy.expect +++ b/Test/comp/StaticMembersOfGenericTypes.dfy.expect @@ -1,3 +1,79 @@ + +Dafny program verifier finished with 9 verified, 0 errors + +Dafny program verifier did not attempt verification +(0, 1) (true, 2, 3) +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +(2.0, true) (3.0, false) +(2.0, true) (3.0, false) +true false +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +50 3 4 +149 + +Dafny program verifier did not attempt verification +(0, 1) (true, 2, 3) +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +(2.0, true) (3.0, false) +(2.0, true) (3.0, false) +true false +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +50 3 4 +149 + +Dafny program verifier did not attempt verification +(0, 1) (true, 2, 3) +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +(2.0, true) (3.0, false) +(2.0, true) (3.0, false) +true false +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +50 3 4 +149 + +Dafny program verifier did not attempt verification +(0, 1) (true, 2, 3) +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +(2.0, true) (3.0, false) +(2.0, true) (3.0, false) +true false +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +50 3 4 +149 + +Dafny program verifier did not attempt verification (0, 1) (true, 2, 3) 0 25 (20, 21) (20, 21) 23 22 0 25 (20, 21) (20, 21) 23 22 diff --git a/Test/comp/TailRecursion.dfy b/Test/comp/TailRecursion.dfy index b3631d5eccc..68ba6ee4669 100644 --- a/Test/comp/TailRecursion.dfy +++ b/Test/comp/TailRecursion.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { // In the following, 2_000_000 is too large an argument without tail-calls diff --git a/Test/comp/TailRecursion.dfy.expect b/Test/comp/TailRecursion.dfy.expect index 4b9da7e5093..23c852a41fe 100644 --- a/Test/comp/TailRecursion.dfy.expect +++ b/Test/comp/TailRecursion.dfy.expect @@ -1,3 +1,79 @@ + +Dafny program verifier finished with 28 verified, 0 errors + +Dafny program verifier did not attempt verification +2000000 2000000 +2000000 2000000 +1000000 1000000 +10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 +TriangleNumber(10) = 55 +TriangleNumber_Real(10) = 55.0 +TriangleNumber_ORDINAL(10) = 55 +Factorial(5) = 120 +Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] +UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] +Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 +TheBigSubtract(100) = -12 +TailNat(10) = 50 +17 17 17 +2000000 + +Dafny program verifier did not attempt verification +2000000 2000000 +2000000 2000000 +1000000 1000000 +10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 +TriangleNumber(10) = 55 +TriangleNumber_Real(10) = 55.0 +TriangleNumber_ORDINAL(10) = 55 +Factorial(5) = 120 +Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] +UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] +Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 +TheBigSubtract(100) = -12 +TailNat(10) = 50 +17 17 17 +2000000 + +Dafny program verifier did not attempt verification +2000000 2000000 +2000000 2000000 +1000000 1000000 +10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 +TriangleNumber(10) = 55 +TriangleNumber_Real(10) = 55.0 +TriangleNumber_ORDINAL(10) = 55 +Factorial(5) = 120 +Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] +UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] +Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 +TheBigSubtract(100) = -12 +TailNat(10) = 50 +17 17 17 +2000000 + +Dafny program verifier did not attempt verification +2000000 2000000 +2000000 2000000 +1000000 1000000 +10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 +TriangleNumber(10) = 55 +TriangleNumber_Real(10) = 55.0 +TriangleNumber_ORDINAL(10) = 55 +Factorial(5) = 120 +Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] +UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] +Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 +TheBigSubtract(100) = -12 +TailNat(10) = 50 +17 17 17 +2000000 + +Dafny program verifier did not attempt verification 2000000 2000000 2000000 2000000 1000000 1000000 diff --git a/Test/comp/TypeDescriptors.dfy b/Test/comp/TypeDescriptors.dfy index 5bedbb900e4..636cb3db583 100644 --- a/Test/comp/TypeDescriptors.dfy +++ b/Test/comp/TypeDescriptors.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Method(s: string, g: G) { var zero: G; diff --git a/Test/comp/TypeDescriptors.dfy.expect b/Test/comp/TypeDescriptors.dfy.expect index 1b09338c83d..9b1e8487bdc 100644 --- a/Test/comp/TypeDescriptors.dfy.expect +++ b/Test/comp/TypeDescriptors.dfy.expect @@ -1,3 +1,155 @@ + +Dafny program verifier finished with 11 verified, 0 errors + +Dafny program verifier did not attempt verification +int: 8 0 +bool: true false +char: 'r' 'D' +real: 1.618 0.0 +ORDINAL: 0 +bv0: 0 0 +bv21: 121 0 +bv32: 132 0 +bv191: 191 0 +set: {7} {} +multiset: multiset{7, 7} multiset{} +seq: [7] [] +map: map[2 := 7] map[] +pos: 3 1 +Hundred: 6 0 +HundredOdd: 13 19 +JustOdd: 131 5 +(): () () +(int, real): (2, 3.2) (0, 0.0) +(int, pos): (2, 3) (0, 1) +AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) +Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) +Stream: Stream.More +A=int: 15 0 +B=int: 16 0 +datatype.B=: {14} {} +object?: null +Class?>: null +Trait?>: null +array?: null +array2?: null +int --> bool: null +array? ~> bool: null + +Dafny program verifier did not attempt verification +int: 8 0 +bool: true false +char: 'r' 'D' +real: 1.618 0.0 +ORDINAL: 0 +bv0: 0 0 +bv21: 121 0 +bv32: 132 0 +bv191: 191 0 +set: {7} {} +multiset: multiset{7, 7} multiset{} +seq: [7] [] +map: map[2 := 7] map[] +pos: 3 1 +Hundred: 6 0 +HundredOdd: 13 19 +JustOdd: 131 5 +(): () () +(int, real): (2, 3.2) (0, 0.0) +(int, pos): (2, 3) (0, 1) +AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) +Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) +Stream: Stream.More +A=int: 15 0 +B=int: 16 0 +datatype.B=: {14} {} +object?: null +Class?>: null +Trait?>: null +array?: null +array2?: null +int --> bool: null +array? ~> bool: null + +Dafny program verifier did not attempt verification +int: 8 0 +bool: true false +char: 'r' 'D' +real: 1.618 0.0 +ORDINAL: 0 +bv0: 0 0 +bv21: 121 0 +bv32: 132 0 +bv191: 191 0 +set: {7} {} +multiset: multiset{7, 7} multiset{} +seq: [7] [] +map: map[2 := 7] map[] +pos: 3 1 +Hundred: 6 0 +HundredOdd: 13 19 +JustOdd: 131 5 +(): () () +(int, real): (2, 3.2) (0, 0.0) +(int, pos): (2, 3) (0, 1) +AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) +Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) +Stream: Stream.More +A=int: 15 0 +B=int: 16 0 +datatype.B=: {14} {} +object?: null +Class?>: null +Trait?>: null +array?: null +array2?: null +int --> bool: null +array? ~> bool: null + +Dafny program verifier did not attempt verification +int: 8 0 +bool: true false +char: 'r' 'D' +real: 1.618 0.0 +ORDINAL: 0 +bv0: 0 0 +bv21: 121 0 +bv32: 132 0 +bv191: 191 0 +set: {7} {} +multiset: multiset{7, 7} multiset{} +seq: [7] [] +map: map[2 := 7] map[] +pos: 3 1 +Hundred: 6 0 +HundredOdd: 13 19 +JustOdd: 131 5 +(): () () +(int, real): (2, 3.2) (0, 0.0) +(int, pos): (2, 3) (0, 1) +AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) +Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) +Stream: Stream.More +A=int: 15 0 +B=int: 16 0 +datatype.B=: {14} {} +object?: null +Class?>: null +Trait?>: null +array?: null +array2?: null +int --> bool: null +array? ~> bool: null + +Dafny program verifier did not attempt verification int: 8 0 bool: true false char: 'r' 'D' diff --git a/Test/comp/TypeParams.dfy b/Test/comp/TypeParams.dfy index c595881e028..11d1b3bac6a 100644 --- a/Test/comp/TypeParams.dfy +++ b/Test/comp/TypeParams.dfy @@ -1,6 +1,11 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation - +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" + +// RUN: %diff "%s.expect" "%t" datatype Color = Orange | Pink | Teal type Six = x | x <= 6 diff --git a/Test/comp/TypeParams.dfy.expect b/Test/comp/TypeParams.dfy.expect index 1381a030f65..ac8ef1c58e5 100644 --- a/Test/comp/TypeParams.dfy.expect +++ b/Test/comp/TypeParams.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 17 verified, 0 errors + +Dafny program verifier did not attempt verification 0 0 0 false Color.Orange 0.0 {} Color.Orange null null null null null {} multiset{} [] map[] {} map[] @@ -17,3 +21,87 @@ System.Func`2[Dafny.BigRational,System.Boolean] System.Func`1[System.Numerics.BigInteger] System.Func`3[_module._IColor,Dafny.ISet`1[System.UInt16],System.UInt32] 0 0 + +Dafny program verifier did not attempt verification +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +function () { return false; } +function () { return _dafny.ZERO; } +function () { return _dafny.ZERO; } +0 0 + +Dafny program verifier did not attempt verification +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +func(dafny.Real) bool +func() dafny.Int +func(main.Color, dafny.Set) uint32 +0 0 + +Dafny program verifier did not attempt verification +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +Function +Function +Function +0 0 + +Dafny program verifier did not attempt verification +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +Function +Function +Function +0 0 diff --git a/Test/comp/TypeParams.dfy.go.expect b/Test/comp/TypeParams.dfy.go.expect deleted file mode 100644 index e3a8e67d066..00000000000 --- a/Test/comp/TypeParams.dfy.go.expect +++ /dev/null @@ -1,19 +0,0 @@ -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -func(dafny.Real) bool -func() dafny.Int -func(main.Color, dafny.Set) uint32 -0 0 diff --git a/Test/comp/TypeParams.dfy.java.expect b/Test/comp/TypeParams.dfy.java.expect deleted file mode 100644 index 5f843ba06d1..00000000000 --- a/Test/comp/TypeParams.dfy.java.expect +++ /dev/null @@ -1,19 +0,0 @@ -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -Function -Function -Function -0 0 diff --git a/Test/comp/TypeParams.dfy.js.expect b/Test/comp/TypeParams.dfy.js.expect deleted file mode 100644 index 865c33ea48b..00000000000 --- a/Test/comp/TypeParams.dfy.js.expect +++ /dev/null @@ -1,19 +0,0 @@ -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -function () { return false; } -function () { return _dafny.ZERO; } -function () { return _dafny.ZERO; } -0 0 diff --git a/Test/comp/TypeParams.dfy.py.expect b/Test/comp/TypeParams.dfy.py.expect deleted file mode 100644 index 5f843ba06d1..00000000000 --- a/Test/comp/TypeParams.dfy.py.expect +++ /dev/null @@ -1,19 +0,0 @@ -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -Function -Function -Function -0 0 diff --git a/Test/comp/UnoptimizedErasableTypeWrappers.dfy b/Test/comp/UnoptimizedErasableTypeWrappers.dfy index b7911aed9db..58f0682ed41 100644 --- a/Test/comp/UnoptimizedErasableTypeWrappers.dfy +++ b/Test/comp/UnoptimizedErasableTypeWrappers.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --optimize-erasable-datatype-wrapper:false --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype SingletonRecord = SingletonRecord(u: int) datatype WithGhost = WithGhost(u: int, ghost v: int) diff --git a/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect b/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect index 3371376a52b..be1d7190b0f 100644 --- a/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect +++ b/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect @@ -1,3 +1,31 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification +SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) +() (30) (31) (30, 32) +15 20 +30 31 30 32 + +Dafny program verifier did not attempt verification +SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) +() (30) (31) (30, 32) +15 20 +30 31 30 32 + +Dafny program verifier did not attempt verification +SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) +() (30) (31) (30, 32) +15 20 +30 31 30 32 + +Dafny program verifier did not attempt verification +SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) +() (30) (31) (30, 32) +15 20 +30 31 30 32 + +Dafny program verifier did not attempt verification SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) () (30) (31) (30, 32) 15 20 diff --git a/Test/comp/Variance.dfy b/Test/comp/Variance.dfy index 2ee3cfe3324..6c198495209 100644 --- a/Test/comp/Variance.dfy +++ b/Test/comp/Variance.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /deprecation:0 +// RUN: %dafny /compile:0 /deprecation:0 "%s" > "%t" +// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Co<+T> = Co(z: T) { const x: int; diff --git a/Test/comp/Variance.dfy.expect b/Test/comp/Variance.dfy.expect index 5bb565b6bb4..cf08d82ac07 100644 --- a/Test/comp/Variance.dfy.expect +++ b/Test/comp/Variance.dfy.expect @@ -1,3 +1,67 @@ + +Dafny program verifier finished with 13 verified, 0 errors + +Dafny program verifier did not attempt verification +Co.Co(_module.Int) and Co.Co(_module.Int) +true0[]0000 +Non.Non(_module.Int) and Non.Non(_module.Int) +true0[]0000 +0 and 0 +_module.Int0[]0000 +CCo.CCo and CCo.CCo +true0[]0000 +CNon.CNon and CNon.CNon +true0[]0000 +CCon.CCon and CCon.CCon +_module.Int0[]0000 +Done + +Dafny program verifier did not attempt verification +Co.Co(_module.Int) and Co.Co(_module.Int) +true0[]0000 +Non.Non(_module.Int) and Non.Non(_module.Int) +true0[]0000 +0 and 0 +_module.Int0[]0000 +CCo.CCo and CCo.CCo +true0[]0000 +CNon.CNon and CNon.CNon +true0[]0000 +CCon.CCon and CCon.CCon +_module.Int0[]0000 +Done + +Dafny program verifier did not attempt verification +Co.Co(_module.Int) and Co.Co(_module.Int) +true0[]0000 +Non.Non(_module.Int) and Non.Non(_module.Int) +true0[]0000 +0 and 0 +_module.Int0[]0000 +CCo.CCo and CCo.CCo +true0[]0000 +CNon.CNon and CNon.CNon +true0[]0000 +CCon.CCon and CCon.CCon +_module.Int0[]0000 +Done + +Dafny program verifier did not attempt verification +Co.Co(_module.Int) and Co.Co(_module.Int) +true0[]0000 +Non.Non(_module.Int) and Non.Non(_module.Int) +true0[]0000 +0 and 0 +_module.Int0[]0000 +CCo.CCo and CCo.CCo +true0[]0000 +CNon.CNon and CNon.CNon +true0[]0000 +CCon.CCon and CCon.CCon +_module.Int0[]0000 +Done + +Dafny program verifier did not attempt verification Co.Co(_module.Int) and Co.Co(_module.Int) true0[]0000 Non.Non(_module.Int) and Non.Non(_module.Int) diff --git a/Test/comp/Various.dfy b/Test/comp/Various.dfy index 502801e4c2a..1f29c511a83 100644 --- a/Test/comp/Various.dfy +++ b/Test/comp/Various.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Match(tp: (nat, nat)) { match tp diff --git a/Test/comp/Various.dfy.expect b/Test/comp/Various.dfy.expect index 66f013c00f7..502e2d04792 100644 --- a/Test/comp/Various.dfy.expect +++ b/Test/comp/Various.dfy.expect @@ -1,3 +1,43 @@ + +Dafny program verifier finished with 4 verified, 0 errors + +Dafny program verifier did not attempt verification +match +1 +Kablammo!! +0 +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] + +Dafny program verifier did not attempt verification +match +1 +Kablammo!! +0 +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] + +Dafny program verifier did not attempt verification +match +1 +Kablammo!! +0 +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] + +Dafny program verifier did not attempt verification +match +1 +Kablammo!! +0 +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] + +Dafny program verifier did not attempt verification match 1 Kablammo!! diff --git a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy index 2cf77360cab..10fe57dec8f 100644 --- a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy +++ b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // An extremely small program intended to be the first target input for // brand new Dafny compilers. Avoids any use of strings (and therefore sequences) diff --git a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect index f32a5804e29..e1dcaef650b 100644 --- a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect +++ b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect @@ -1 +1,5 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification true \ No newline at end of file diff --git a/Test/comp/firstSteps/1_Calls-F.dfy b/Test/comp/firstSteps/1_Calls-F.dfy index 4fe5b83e551..32566f59f3b 100644 --- a/Test/comp/firstSteps/1_Calls-F.dfy +++ b/Test/comp/firstSteps/1_Calls-F.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/1_Calls-F.dfy.expect b/Test/comp/firstSteps/1_Calls-F.dfy.expect index 7ed6ff82de6..58e0a68ec1c 100644 --- a/Test/comp/firstSteps/1_Calls-F.dfy.expect +++ b/Test/comp/firstSteps/1_Calls-F.dfy.expect @@ -1 +1,5 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification 5 diff --git a/Test/comp/firstSteps/2_Modules.dfy b/Test/comp/firstSteps/2_Modules.dfy index d0effcb5a71..750b8d60c21 100644 --- a/Test/comp/firstSteps/2_Modules.dfy +++ b/Test/comp/firstSteps/2_Modules.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" module A { const i: nat := 1 diff --git a/Test/comp/firstSteps/2_Modules.dfy.expect b/Test/comp/firstSteps/2_Modules.dfy.expect index b85905ec0b9..9a4b57459c7 100644 --- a/Test/comp/firstSteps/2_Modules.dfy.expect +++ b/Test/comp/firstSteps/2_Modules.dfy.expect @@ -1 +1,5 @@ + +Dafny program verifier finished with 3 verified, 0 errors + +Dafny program verifier did not attempt verification 1 2 3 diff --git a/Test/comp/firstSteps/3_Calls-As.dfy b/Test/comp/firstSteps/3_Calls-As.dfy index 38889421865..f22bbdbd3f6 100644 --- a/Test/comp/firstSteps/3_Calls-As.dfy +++ b/Test/comp/firstSteps/3_Calls-As.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/3_Calls-As.dfy.expect b/Test/comp/firstSteps/3_Calls-As.dfy.expect index a1c59bb761f..eea6c52592c 100644 --- a/Test/comp/firstSteps/3_Calls-As.dfy.expect +++ b/Test/comp/firstSteps/3_Calls-As.dfy.expect @@ -1 +1,5 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification 0 0 false 0 false 0 diff --git a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy index 6a66781ff0d..89fb669dca0 100644 --- a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy +++ b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect index a8d09f0a6f5..e7498a27e3e 100644 --- a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect +++ b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect @@ -1,2 +1,6 @@ + +Dafny program verifier finished with 3 verified, 0 errors + +Dafny program verifier did not attempt verification 5 3 5 3 5 3 5 3 diff --git a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy index 1175b1eca8f..096523f8956 100644 --- a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy +++ b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect index ef3de96e567..8954da2b386 100644 --- a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect +++ b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect @@ -1,2 +1,6 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification 5 3 5 3 diff --git a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy index 5d970ac4de5..1fbaebdf4e9 100644 --- a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy +++ b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect index 4ff62e33956..b6ffe78bcbb 100644 --- a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect +++ b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 4 verified, 0 errors + +Dafny program verifier did not attempt verification 15 [0, 1, 2, 4] [0, 2, 4] diff --git a/Test/comp/firstSteps/7_Arrays.dfy b/Test/comp/firstSteps/7_Arrays.dfy index d02c942c9bb..07ddf89594b 100644 --- a/Test/comp/firstSteps/7_Arrays.dfy +++ b/Test/comp/firstSteps/7_Arrays.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // This fragment of comp/Arrays.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/7_Arrays.dfy.expect b/Test/comp/firstSteps/7_Arrays.dfy.expect index fa00285c692..75e824c80bb 100644 --- a/Test/comp/firstSteps/7_Arrays.dfy.expect +++ b/Test/comp/firstSteps/7_Arrays.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 7 verified, 0 errors + +Dafny program verifier did not attempt verification 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/comp/firstSteps/7_Dt_Algebraic.dfy b/Test/comp/firstSteps/7_Dt_Algebraic.dfy index 46a2995b37f..991462d8bdf 100644 --- a/Test/comp/firstSteps/7_Dt_Algebraic.dfy +++ b/Test/comp/firstSteps/7_Dt_Algebraic.dfy @@ -1,5 +1,7 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // This fragment of comp/Dt.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect deleted file mode 100644 index ba1b72ea6f7..00000000000 --- a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect +++ /dev/null @@ -1,11 +0,0 @@ -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} -42 'q' hello -1701 diff --git a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect index e3ff7faba6e..ec9b49fe420 100644 --- a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect +++ b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 7 verified, 0 errors + +Dafny program verifier did not attempt verification List.Nil List.Cons(5, List.Nil) (List.Nil, List.Cons(5, List.Nil)) @@ -9,3 +13,16 @@ List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, Li {Berry.Hallon, Berry.Smultron, Berry.Jordgubb} 42 'q' hello 1701 + +Dafny program verifier did not attempt verification +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} +42 'q' hello +1701 diff --git a/Test/dafny0/ArrayElementInitCompile.dfy b/Test/dafny0/ArrayElementInitCompile.dfy index 3714cf0fe8e..7d652486b9e 100644 --- a/Test/dafny0/ArrayElementInitCompile.dfy +++ b/Test/dafny0/ArrayElementInitCompile.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 /print:"%t.print" /rprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny0/ArrayElementInitCompile.dfy.expect b/Test/dafny0/ArrayElementInitCompile.dfy.expect index eaa3e759999..a5241c75f19 100644 --- a/Test/dafny0/ArrayElementInitCompile.dfy.expect +++ b/Test/dafny0/ArrayElementInitCompile.dfy.expect @@ -1,3 +1,79 @@ + +Dafny program verifier finished with 18 verified, 0 errors + +Dafny program verifier did not attempt verification +67 67 67 67 67 67 67 67 +0 1 2 3 +1 2 3 4 +2 3 4 5 +3 4 5 6 +4 5 6 7 +O . O . O . O . O . O . +12 12 12 12 12 12 12 12 12 12 12 12 +D E +y z +4 3 +7 +100 75 98 25 + +looks like this rocks +-2 -1 0 1 2 3 4 + +Dafny program verifier did not attempt verification +67 67 67 67 67 67 67 67 +0 1 2 3 +1 2 3 4 +2 3 4 5 +3 4 5 6 +4 5 6 7 +O . O . O . O . O . O . +12 12 12 12 12 12 12 12 12 12 12 12 +D E +y z +4 3 +7 +100 75 98 25 + +looks like this rocks +-2 -1 0 1 2 3 4 + +Dafny program verifier did not attempt verification +67 67 67 67 67 67 67 67 +0 1 2 3 +1 2 3 4 +2 3 4 5 +3 4 5 6 +4 5 6 7 +O . O . O . O . O . O . +12 12 12 12 12 12 12 12 12 12 12 12 +D E +y z +4 3 +7 +100 75 98 25 + +looks like this rocks +-2 -1 0 1 2 3 4 + +Dafny program verifier did not attempt verification +67 67 67 67 67 67 67 67 +0 1 2 3 +1 2 3 4 +2 3 4 5 +3 4 5 6 +4 5 6 7 +O . O . O . O . O . O . +12 12 12 12 12 12 12 12 12 12 12 12 +D E +y z +4 3 +7 +100 75 98 25 + +looks like this rocks +-2 -1 0 1 2 3 4 + +Dafny program verifier did not attempt verification 67 67 67 67 67 67 67 67 0 1 2 3 1 2 3 4 diff --git a/Test/dafny0/Bitvectors.dfy b/Test/dafny0/Bitvectors.dfy index b19e84d1181..9dbb798fa4a 100644 --- a/Test/dafny0/Bitvectors.dfy +++ b/Test/dafny0/Bitvectors.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /print:"%t.print" /rprint:- /env:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method M(a: bv1, b: bv32) returns (c: bv32, d: bv1) { diff --git a/Test/dafny0/Bitvectors.dfy.expect b/Test/dafny0/Bitvectors.dfy.expect index ed1c7328e83..09b34e5011a 100644 --- a/Test/dafny0/Bitvectors.dfy.expect +++ b/Test/dafny0/Bitvectors.dfy.expect @@ -1,3 +1,493 @@ +// Bitvectors.dfy + +/* +module _System { + /* CALL GRAPH for module _System: + * SCC at height 1: + * RotateLeft + * SCC at height 1: + * RotateRight + * SCC at height 0: + * array + * SCC at height 0: + * nat + * SCC at height 0: + * object + */ + type string(==,0) = seq + + type {:axiom} nat(==,0) = x: int + | 0 <= x + + trait {:compile false} object { } + /*-- non-null type + type {:axiom} object(==) = c: object? | c != null /*special witness*/ + */ + + class {:compile false} array { + var Length: int // immutable + } + /*-- non-null type + type {:axiom} array(==) = c: array? | c != null /*special witness*/ + */ + + type {:compile false} /*_#Func1*/ -T0 ~> +R { + ghost function requires(x0: T0): bool + reads reads(x0) + + ghost function reads(x0: T0): set + reads reads(x0) + } + + type {:compile false} /*_#PartialFunc1*/ -T0 --> +R = f: T0 ~> R + | forall x0: T0 :: f.reads(x0) == {} + /*special witness*/ + + type {:compile false} /*_#TotalFunc1*/ -T0 -> +R = f: T0 --> R + | forall x0: T0 :: f.requires(x0) + /*special witness*/ + + type {:compile false} /*_#Func0*/ () ~> +R { + ghost function requires(): bool + reads reads() + + ghost function reads(): set + reads reads() + } + + type {:compile false} /*_#PartialFunc0*/ () --> +R = f: () ~> R + | f.reads() == {} + /*special witness*/ + + type {:compile false} /*_#TotalFunc0*/ () -> +R = f: () --> R + | f.requires() + /*special witness*/ + + datatype {:compile false} /*_tuple#2*/ (+T0, +T1) = _#Make2(0: T0, 1: T1) + + type bool { } + + type int { } + + type real { + var Floor: int // immutable + } + + type ORDINAL { + var IsLimit: bool // immutable + var IsSucc: bool // immutable + var Offset: int // immutable + var IsNat: bool // immutable + } + + type _bv { + function RotateLeft(w: nat): selftype + + function RotateRight(w: nat): selftype + } + + type map<+T, +U> { + var Keys: set // immutable + var Values: set // immutable + var Items: set<(T, U)> // immutable + } + + type imap<*T, +U> { + var Keys: iset // immutable + var Values: iset // immutable + var Items: iset<(T, U)> // immutable + } + + datatype {:compile false} /*_tuple#0*/ () = _#Make0 +} +// bitvector types in use: bv1 bv32 bv47 bv16 bv0 bv67 bv64 bv53 bv33 bv31 bv15 bv8 bv6 bv2 bv7 bv12 bv3 +*/ + +/* CALL GRAPH for module _module: + * SCC at height 2: + * Main + * SCC at height 1: + * DoArith32 + * SCC at height 1: + * Rotates + * SCC at height 1: + * Shifts + * SCC at height 1: + * TestCompilationTruncations + * SCC at height 0: + * Arithmetic + * SCC at height 0: + * BitwiseOperations + * SCC at height 0: + * Bv0Stuff + * SCC at height 0: + * Handful + * SCC at height 0: + * M + * SCC at height 0: + * M0 + * SCC at height 0: + * M1 + * SCC at height 0: + * M15 + * SCC at height 0: + * M16 + * SCC at height 0: + * M31 + * SCC at height 0: + * M32 + * SCC at height 0: + * M33 + * SCC at height 0: + * M53 + * SCC at height 0: + * M6 + * SCC at height 0: + * M64 + * SCC at height 0: + * M67 + * SCC at height 0: + * M8 + * SCC at height 0: + * P2 + * SCC at height 0: + * PrintRotates + * SCC at height 0: + * PrintShifts + * SCC at height 0: + * SummoTests + * SCC at height 0: + * Unary + */ +newtype Handful = x: int + | 0 <= x < 80 + +method M(a: bv1, b: bv32) + returns (c: bv32, d: bv1) + decreases a, b +{ + c := b; + d := a; + var x: bv32 := 5000; + c := x; + var y: bv32 := 4000; + y := c; +} + +method Main() +{ + var x: bv32 := 4000; + var y: bv32 := 4000; + var z: bv32; + var w: bv32; + if x == y { + z := x; + } else { + w := y; + } + print x, " ", y, " ", z, " ", w, "\n"; + var t: bv47, u: bv47, v: bv47 := BitwiseOperations(); + print t, " ", u, " ", v, "\n"; + DoArith32(); + var unry: bv16 := Unary(5); + print "bv16: 5 - 2 == ", unry, "\n"; + unry := Unary(1); + print "bv16: 1 - 2 == ", unry, "\n"; + SummoTests(); + var zz0: bv0; + var zz1: bv0 := Bv0Stuff(zz0, 0); + print zz0, " ", zz1, "\n"; + print zz0 < zz1, " ", zz0 <= zz1, " ", zz0 >= zz1, " ", zz0 > zz1, "\n"; + TestCompilationTruncations(); + Shifts(); + Rotates(); +} + +method BitwiseOperations() returns (a: bv47, b: bv47, c: bv47) +{ + b, c := 2053, 1099; + a := b & c; + a := a | a | (b & b & c & (a ^ b ^ c) & a); +} + +method Arithmetic(x: bv32, y: bv32) + returns (r: bv32, s: bv32) + ensures r == x + y && s == y - x + decreases x, y +{ + r := x + y; + s := y - x; +} + +method DoArith32() +{ + var r: bv32, s: bv32 := Arithmetic(65, 120); + print r, " ", s, "\n"; + var x: bv32, y: bv32 := 2147483647, 2147483651; + r, s := Arithmetic(x, y); + assert r == 2 && s == 4; + print r, " ", s, "\n"; + assert x < y && x <= y && y >= x && y > x; + print "Comparisons: ", x < y, " ", x <= y, " ", x >= y, " ", x > y, "\n"; +} + +method Unary(x: bv16) returns (y: bv16) + ensures y == x - 2 + decreases x +{ + y := --!-!!--x; + y := !-y; + var F: bv16 := 65535; + calc == { + y; + == + !---!-!!--x; + == + F - ---!-!!--x; + == + { + assert ---!-!!--x == -!-!!--x; + } + F - -!-!!--x; + == + F + !-!!--x; + == + F + F - -!!--x; + == + F + F + !!--x; + == + { + assert !!--x == --x == x; + } + F + F + x; + == + x - 2; + } +} + +method SummoTests() +{ + var a: bv64 := 5; + a := 2 * 2 * 2 * 2 * 2 * a * 2 * 2 * 2 * 2 * 2; + var b: bv64 := a / 512; + assert b == 10; + assert b / 3 == 3 && b / 4 == 2; + assert b % 3 == 1 && b % 4 == 2; + print b / 3, " ", b % 4, "\n"; +} + +method Bv0Stuff(x: bv0, y: bv0) returns (z: bv0) + ensures z == 0 + decreases x, y +{ + z := x + y; + z := x * z - y; + z := (x ^ z) | (y & y); + z := !z + -z; +} + +method TestCompilationTruncations() +{ + M67(-1, 3); + M64(-1, 3); + M53(-1, 3); + M33(-1, 3); + M32(-1, 3); + M31(-1, 3); + M16(-1, 3); + M15(-1, 3); + M8(-1, 3); + M6(-1, 3); + M1(1, 1); + M0(0, 0); + P2(3, 2); +} + +method M67(a: bv67, b: bv67) + decreases a, b +{ + print "bv67: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; +} + +method M64(a: bv64, b: bv64) + decreases a, b +{ + print "bv64: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; +} + +method M53(a: bv53, b: bv53) + decreases a, b +{ + print "bv53: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; +} + +method M33(a: bv33, b: bv33) + decreases a, b +{ + print "bv33: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; +} + +method M32(a: bv32, b: bv32) + decreases a, b +{ + print "bv32: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; +} + +method M31(a: bv31, b: bv31) + decreases a, b +{ + print "bv31: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; +} + +method M16(a: bv16, b: bv16) + decreases a, b +{ + print "bv16: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; +} + +method M15(a: bv15, b: bv15) + decreases a, b +{ + print "bv15: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; +} + +method M8(a: bv8, b: bv8) + decreases a, b +{ + print "bv8: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; +} + +method M6(a: bv6, b: bv6) + decreases a, b +{ + print "bv6: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; +} + +method M1(a: bv1, b: bv1) + decreases a, b +{ + print "bv1: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; +} + +method M0(a: bv0, b: bv0) + decreases a, b +{ + print "bv0: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; +} + +method P2(a: bv2, b: bv2) + requires b != 0 + decreases a, b +{ + print "bv2:\n"; + print " ", a, " + ", b, " == ", a + b, "\n"; + print " ", a, " - ", b, " == ", a - b, "\n"; + print " ", a, " * ", b, " == ", a * b, "\n"; + print " ", a, " / ", b, " == ", a / b, "\n"; + print " ", a, " % ", b, " == ", a % b, "\n"; +} + +method Shifts() +{ + var x: int, h: Handful, b67: bv67, w: bv32, seven: bv7, bb: bv2, noll: bv0; + x, h := 3, 3; + b67, w, seven := 5, 5, 5; + PrintShifts("bv67", b67, 8 * b67, b67 << x as bv7, b67 << h as bv7); + PrintShifts("bv32", w, 8 * w, w << x as bv6, w << h as bv6); + PrintShifts("bv7", seven, 8 * seven, seven << x as bv3, seven << h as bv3); + bb, x, h := 1, 1, 1; + PrintShifts("bv2", bb, 2 * bb, bb << x as bv2, bb << h as bv2); + x, h := 0, 0; + PrintShifts("bv0", noll, 0 * noll, noll << x as bv0, noll << h as bv0); + b67, w, bb, noll := 73786976294838206465, 1, 1, 0; + var One67: bv67 := 1; + PrintShifts("bv67 again", b67 << One67 as bv7, b67 << w as bv7, b67 << bb as bv7, b67 << noll as bv7); + b67, w, bb, noll := 2, 3221225472 + 2000, 1, 0; + var Two32: bv32 := 2; + PrintShifts("bv32 again", w << b67 as bv6, w << Two32 as bv6, w << bb as bv6, w << noll as bv6); + seven, b67, w, bb, noll := 127, 2, 2, 2, 0; + PrintShifts("bv7 again", seven << b67 as bv3, seven << w as bv3, seven << bb as bv3, seven << noll as bv3); + b67, w, bb := 0, 0, 0; + PrintShifts("bv0 again", noll << b67 as bv0, noll << w as bv0, noll << bb as bv0, noll << noll as bv0); +} + +method PrintShifts(s: string, a: T, b: T, c: T, d: T) + decreases s +{ + print "PrintShifts: ", s, ": ", a, " ", b, " ", c, " ", d, "\n"; +} + +method Rotates() +{ + var x: int, w: bv12, seven: bv7, bb: bv2, noll: bv0; + x := 3; + w, seven, noll := 5, 5, 0; + PrintRotates("bv12", w, w.RotateLeft(x).RotateRight(x)); + PrintRotates("bv7", seven, seven.RotateLeft(x).RotateRight(x)); + bb, x := 1, 1; + PrintRotates("bv2", bb, bb.RotateLeft(x).RotateRight(x)); + x := 0; + PrintRotates("bv0", noll, noll.RotateLeft(x).RotateRight(x)); + x := 5; + w, seven := 3072 + 2000, 127; + PrintRotates("bv12 again", w, w.RotateLeft(x).RotateRight(x)); + PrintRotates("bv7 again", seven, seven.RotateLeft(x).RotateRight(x)); +} + +method PrintRotates(s: string, a: T, b: T) + decreases s +{ + print "PrintRotates: ", s, ": ", a, " ", b, "\n"; +} + +Dafny program verifier finished with 11 verified, 0 errors + +Dafny program verifier did not attempt verification +4000 4000 4000 0 +1 2053 1099 +185 55 +2 4 +Comparisons: true true false false +bv16: 5 - 2 == 3 +bv16: 1 - 2 == 65535 +3 2 +0 0 +false true true false +bv67: 147573952589676412927 + 3 == 2 - 3 == 147573952589676412925 !! 3 == ! 147573952589676412924 == 3 +bv64: 18446744073709551615 + 3 == 2 - 3 == 18446744073709551613 !! 3 == ! 18446744073709551612 == 3 +bv53: 9007199254740991 + 3 == 2 - 3 == 9007199254740989 !! 3 == ! 9007199254740988 == 3 +bv33: 8589934591 + 3 == 2 - 3 == 8589934589 !! 3 == ! 8589934588 == 3 +bv32: 4294967295 + 3 == 2 - 3 == 4294967293 !! 3 == ! 4294967292 == 3 +bv31: 2147483647 + 3 == 2 - 3 == 2147483645 !! 3 == ! 2147483644 == 3 +bv16: 65535 + 3 == 2 - 3 == 65533 !! 3 == ! 65532 == 3 +bv15: 32767 + 3 == 2 - 3 == 32765 !! 3 == ! 32764 == 3 +bv8: 255 + 3 == 2 - 3 == 253 !! 3 == ! 252 == 3 +bv6: 63 + 3 == 2 - 3 == 61 !! 3 == ! 60 == 3 +bv1: 1 + 1 == 0 - 1 == 1 !! 1 == ! 0 == 1 +bv0: 0 + 0 == 0 - 0 == 0 !! 0 == ! 0 == 0 +bv2: + 3 + 2 == 1 + 3 - 2 == 1 + 3 * 2 == 2 + 3 / 2 == 1 + 3 % 2 == 1 +PrintShifts: bv67: 5 40 40 40 +PrintShifts: bv32: 5 40 40 40 +PrintShifts: bv7: 5 40 40 40 +PrintShifts: bv2: 1 2 2 2 +PrintShifts: bv0: 0 0 0 0 +PrintShifts: bv67 again: 2 2 2 73786976294838206465 +PrintShifts: bv32 again: 8000 8000 2147487648 3221227472 +PrintShifts: bv7 again: 124 124 124 127 +PrintShifts: bv0 again: 0 0 0 0 +PrintRotates: bv12: 5 5 +PrintRotates: bv7: 5 5 +PrintRotates: bv2: 1 1 +PrintRotates: bv0: 0 0 +PrintRotates: bv12 again: 976 976 +PrintRotates: bv7 again: 127 127 + +Dafny program verifier did not attempt verification 4000 4000 4000 0 1 2053 1099 185 55 diff --git a/Test/dafny0/Bitvectors.dfy.verifier.expect b/Test/dafny0/Bitvectors.dfy.verifier.expect deleted file mode 100644 index 74466ea0d28..00000000000 --- a/Test/dafny0/Bitvectors.dfy.verifier.expect +++ /dev/null @@ -1,441 +0,0 @@ -// Bitvectors.dfy - -/* -module _System { - /* CALL GRAPH for module _System: - * SCC at height 1: - * RotateLeft - * SCC at height 1: - * RotateRight - * SCC at height 0: - * array - * SCC at height 0: - * nat - * SCC at height 0: - * object - */ - type string(==,0) = seq - - type {:axiom} nat(==,0) = x: int - | 0 <= x - - trait {:compile false} object { } - /*-- non-null type - type {:axiom} object(==) = c: object? | c != null /*special witness*/ - */ - - class {:compile false} array { - var Length: int // immutable - } - /*-- non-null type - type {:axiom} array(==) = c: array? | c != null /*special witness*/ - */ - - type {:compile false} /*_#Func1*/ -T0 ~> +R { - ghost function requires(x0: T0): bool - reads reads(x0) - - ghost function reads(x0: T0): set - reads reads(x0) - } - - type {:compile false} /*_#PartialFunc1*/ -T0 --> +R = f: T0 ~> R - | forall x0: T0 :: f.reads(x0) == {} - /*special witness*/ - - type {:compile false} /*_#TotalFunc1*/ -T0 -> +R = f: T0 --> R - | forall x0: T0 :: f.requires(x0) - /*special witness*/ - - type {:compile false} /*_#Func0*/ () ~> +R { - ghost function requires(): bool - reads reads() - - ghost function reads(): set - reads reads() - } - - type {:compile false} /*_#PartialFunc0*/ () --> +R = f: () ~> R - | f.reads() == {} - /*special witness*/ - - type {:compile false} /*_#TotalFunc0*/ () -> +R = f: () --> R - | f.requires() - /*special witness*/ - - datatype {:compile false} /*_tuple#2*/ (+T0, +T1) = _#Make2(0: T0, 1: T1) - - type bool { } - - type int { } - - type real { - var Floor: int // immutable - } - - type ORDINAL { - var IsLimit: bool // immutable - var IsSucc: bool // immutable - var Offset: int // immutable - var IsNat: bool // immutable - } - - type _bv { - function RotateLeft(w: nat): selftype - - function RotateRight(w: nat): selftype - } - - type map<+T, +U> { - var Keys: set // immutable - var Values: set // immutable - var Items: set<(T, U)> // immutable - } - - type imap<*T, +U> { - var Keys: iset // immutable - var Values: iset // immutable - var Items: iset<(T, U)> // immutable - } - - datatype {:compile false} /*_tuple#0*/ () = _#Make0 -} -// bitvector types in use: bv1 bv32 bv47 bv16 bv0 bv67 bv64 bv53 bv33 bv31 bv15 bv8 bv6 bv2 bv7 bv12 bv3 -*/ - -/* CALL GRAPH for module _module: - * SCC at height 2: - * Main - * SCC at height 1: - * DoArith32 - * SCC at height 1: - * Rotates - * SCC at height 1: - * Shifts - * SCC at height 1: - * TestCompilationTruncations - * SCC at height 0: - * Arithmetic - * SCC at height 0: - * BitwiseOperations - * SCC at height 0: - * Bv0Stuff - * SCC at height 0: - * Handful - * SCC at height 0: - * M - * SCC at height 0: - * M0 - * SCC at height 0: - * M1 - * SCC at height 0: - * M15 - * SCC at height 0: - * M16 - * SCC at height 0: - * M31 - * SCC at height 0: - * M32 - * SCC at height 0: - * M33 - * SCC at height 0: - * M53 - * SCC at height 0: - * M6 - * SCC at height 0: - * M64 - * SCC at height 0: - * M67 - * SCC at height 0: - * M8 - * SCC at height 0: - * P2 - * SCC at height 0: - * PrintRotates - * SCC at height 0: - * PrintShifts - * SCC at height 0: - * SummoTests - * SCC at height 0: - * Unary - */ -newtype Handful = x: int - | 0 <= x < 80 - -method M(a: bv1, b: bv32) - returns (c: bv32, d: bv1) - decreases a, b -{ - c := b; - d := a; - var x: bv32 := 5000; - c := x; - var y: bv32 := 4000; - y := c; -} - -method Main() -{ - var x: bv32 := 4000; - var y: bv32 := 4000; - var z: bv32; - var w: bv32; - if x == y { - z := x; - } else { - w := y; - } - print x, " ", y, " ", z, " ", w, "\n"; - var t: bv47, u: bv47, v: bv47 := BitwiseOperations(); - print t, " ", u, " ", v, "\n"; - DoArith32(); - var unry: bv16 := Unary(5); - print "bv16: 5 - 2 == ", unry, "\n"; - unry := Unary(1); - print "bv16: 1 - 2 == ", unry, "\n"; - SummoTests(); - var zz0: bv0; - var zz1: bv0 := Bv0Stuff(zz0, 0); - print zz0, " ", zz1, "\n"; - print zz0 < zz1, " ", zz0 <= zz1, " ", zz0 >= zz1, " ", zz0 > zz1, "\n"; - TestCompilationTruncations(); - Shifts(); - Rotates(); -} - -method BitwiseOperations() returns (a: bv47, b: bv47, c: bv47) -{ - b, c := 2053, 1099; - a := b & c; - a := a | a | (b & b & c & (a ^ b ^ c) & a); -} - -method Arithmetic(x: bv32, y: bv32) - returns (r: bv32, s: bv32) - ensures r == x + y && s == y - x - decreases x, y -{ - r := x + y; - s := y - x; -} - -method DoArith32() -{ - var r: bv32, s: bv32 := Arithmetic(62, 120); - print r, " ", s, "\n"; - var x: bv32, y: bv32 := 2147483647, 2147483651; - r, s := Arithmetic(x, y); - assert r == 2 && s == 4; - print r, " ", s, "\n"; - assert x < y && x <= y && y >= x && y > x; - print "Comparisons: ", x < y, " ", x <= y, " ", x >= y, " ", x > y, "\n"; -} - -method Unary(x: bv16) returns (y: bv16) - ensures y == x - 2 - decreases x -{ - y := --!-!!--x; - y := !-y; - var F: bv16 := 65535; - calc == { - y; - == - !---!-!!--x; - == - F - ---!-!!--x; - == - { - assert ---!-!!--x == -!-!!--x; - } - F - -!-!!--x; - == - F + !-!!--x; - == - F + F - -!!--x; - == - F + F + !!--x; - == - { - assert !!--x == --x == x; - } - F + F + x; - == - x - 2; - } -} - -method SummoTests() -{ - var a: bv64 := 5; - a := 2 * 2 * 2 * 2 * 2 * a * 2 * 2 * 2 * 2 * 2; - var b: bv64 := a / 512; - assert b == 10; - assert b / 3 == 3 && b / 4 == 2; - assert b % 3 == 1 && b % 4 == 2; - print b / 3, " ", b % 4, "\n"; -} - -method Bv0Stuff(x: bv0, y: bv0) returns (z: bv0) - ensures z == 0 - decreases x, y -{ - z := x + y; - z := x * z - y; - z := (x ^ z) | (y & y); - z := !z + -z; -} - -method TestCompilationTruncations() -{ - M67(-1, 3); - M64(-1, 3); - M53(-1, 3); - M33(-1, 3); - M32(-1, 3); - M31(-1, 3); - M16(-1, 3); - M15(-1, 3); - M8(-1, 3); - M6(-1, 3); - M1(-2, 1); - M0(-3, 0); - P2(0, 2); -} - -method M67(a: bv67, b: bv67) - decreases a, b -{ - print "bv67: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; -} - -method M64(a: bv64, b: bv64) - decreases a, b -{ - print "bv64: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; -} - -method M53(a: bv53, b: bv53) - decreases a, b -{ - print "bv53: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; -} - -method M33(a: bv33, b: bv33) - decreases a, b -{ - print "bv33: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; -} - -method M32(a: bv32, b: bv32) - decreases a, b -{ - print "bv32: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; -} - -method M31(a: bv31, b: bv31) - decreases a, b -{ - print "bv31: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; -} - -method M16(a: bv16, b: bv16) - decreases a, b -{ - print "bv16: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; -} - -method M15(a: bv15, b: bv15) - decreases a, b -{ - print "bv15: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; -} - -method M8(a: bv8, b: bv8) - decreases a, b -{ - print "bv8: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; -} - -method M6(a: bv6, b: bv6) - decreases a, b -{ - print "bv6: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; -} - -method M1(a: bv1, b: bv1) - decreases a, b -{ - print "bv1: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; -} - -method M0(a: bv0, b: bv0) - decreases a, b -{ - print "bv0: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; -} - -method P2(a: bv2, b: bv2) - requires b != 0 - decreases a, b -{ - print "bv2:\n"; - print " ", a, " + ", b, " == ", a + b, "\n"; - print " ", a, " - ", b, " == ", a - b, "\n"; - print " ", a, " * ", b, " == ", a * b, "\n"; - print " ", a, " / ", b, " == ", a / b, "\n"; - print " ", a, " % ", b, " == ", a % b, "\n"; -} - -method Shifts() -{ - var x: int, h: Handful, b67: bv67, w: bv32, seven: bv7, bb: bv2, noll: bv0; - x, h := 3, 3; - b67, w, seven := 5, 5, 5; - PrintShifts("bv67", b67, 8 * b67, b67 << x as bv7, b67 << h as bv7); - PrintShifts("bv32", w, 8 * w, w << x as bv6, w << h as bv6); - PrintShifts("bv7", seven, 8 * seven, seven << x as bv3, seven << h as bv3); - bb, x, h := 1, 1, 1; - PrintShifts("bv2", bb, 2 * bb, bb << x as bv2, bb << h as bv2); - x, h := 0, 0; - PrintShifts("bv0", noll, 0 * noll, noll << x as bv0, noll << h as bv0); - b67, w, bb, noll := 73786976294838206465, 1, 1, 0; - var One67: bv67 := 1; - PrintShifts("bv67 again", b67 << One67 as bv7, b67 << w as bv7, b67 << bb as bv7, b67 << noll as bv7); - b67, w, bb, noll := 2, 3221225472 + 2000, 1, 0; - var Two32: bv32 := 2; - PrintShifts("bv32 again", w << b67 as bv6, w << Two32 as bv6, w << bb as bv6, w << noll as bv6); - seven, b67, w, bb, noll := 127, 2, 2, 2, 0; - PrintShifts("bv7 again", seven << b67 as bv3, seven << w as bv3, seven << bb as bv3, seven << noll as bv3); - b67, w, bb := 0, 0, 0; - PrintShifts("bv0 again", noll << b67 as bv0, noll << w as bv0, noll << bb as bv0, noll << noll as bv0); -} - -method PrintShifts(s: string, a: T, b: T, c: T, d: T) - decreases s -{ - print "PrintShifts: ", s, ": ", a, " ", b, " ", c, " ", d, "\n"; -} - -method Rotates() -{ - var x: int, w: bv12, seven: bv7, bb: bv2, noll: bv0; - x := 3; - w, seven, noll := 5, 5, 0; - PrintRotates("bv12", w, w.RotateLeft(x).RotateRight(x)); - PrintRotates("bv7", seven, seven.RotateLeft(x).RotateRight(x)); - bb, x := 1, 1; - PrintRotates("bv2", bb, bb.RotateLeft(x).RotateRight(x)); - x := 0; - PrintRotates("bv0", noll, noll.RotateLeft(x).RotateRight(x)); - x := 5; - w, seven := 3072 + 2000, 127; - PrintRotates("bv12 again", w, w.RotateLeft(x).RotateRight(x)); - PrintRotates("bv7 again", seven, seven.RotateLeft(x).RotateRight(x)); -} - -method PrintRotates(s: string, a: T, b: T) - decreases s -{ - print "PrintRotates: ", s, ": ", a, " ", b, "\n"; -} diff --git a/Test/dafny0/Constant.dfy b/Test/dafny0/Constant.dfy index 1fdeedc3335..f021e7d4482 100644 --- a/Test/dafny0/Constant.dfy +++ b/Test/dafny0/Constant.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" const one:int := 1 const two:int := one * 2 diff --git a/Test/dafny0/Constant.dfy.expect b/Test/dafny0/Constant.dfy.expect index 1a7b981715f..6099b08c38c 100644 --- a/Test/dafny0/Constant.dfy.expect +++ b/Test/dafny0/Constant.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 17 verified, 0 errors one := 1 two := 2 three := 3 diff --git a/Test/dafny0/Deprecation.dfy b/Test/dafny0/Deprecation.dfy index 86521043d43..8c9c688d463 100644 --- a/Test/dafny0/Deprecation.dfy +++ b/Test/dafny0/Deprecation.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // This file contains tests for messags about various deprecated features. // As those features go away completely, so can the corresponding tests. diff --git a/Test/dafny0/Deprecation.dfy.expect b/Test/dafny0/Deprecation.dfy.expect index 0dffd975ac7..4ff88d31ade 100644 --- a/Test/dafny0/Deprecation.dfy.expect +++ b/Test/dafny0/Deprecation.dfy.expect @@ -1 +1,8 @@ +Deprecation.dfy(16,13): Warning: constructors no longer need 'this' to be listed in modifies clauses +Deprecation.dfy(23,0): Warning: the old keyword phrase 'inductive predicate' has been renamed to 'least predicate' +Deprecation.dfy(26,0): Warning: the old keyword 'copredicate' has been renamed to the keyword phrase 'greatest predicate' +Deprecation.dfy(29,0): Warning: the old keyword phrase 'inductive lemma' has been renamed to 'least lemma' +Deprecation.dfy(32,0): Warning: the old keyword 'colemma' has been renamed to the keyword phrase 'greatest lemma' + +Dafny program verifier finished with 0 verified, 0 errors yet here we are diff --git a/Test/dafny0/Deprecation.dfy.verifier.expect b/Test/dafny0/Deprecation.dfy.verifier.expect deleted file mode 100644 index c0851e9888c..00000000000 --- a/Test/dafny0/Deprecation.dfy.verifier.expect +++ /dev/null @@ -1,5 +0,0 @@ -Deprecation.dfy(15,13): Warning: constructors no longer need 'this' to be listed in modifies clauses -Deprecation.dfy(22,0): Warning: the old keyword phrase 'inductive predicate' has been renamed to 'least predicate' -Deprecation.dfy(25,0): Warning: the old keyword 'copredicate' has been renamed to the keyword phrase 'greatest predicate' -Deprecation.dfy(28,0): Warning: the old keyword phrase 'inductive lemma' has been renamed to 'least lemma' -Deprecation.dfy(31,0): Warning: the old keyword 'colemma' has been renamed to the keyword phrase 'greatest lemma' diff --git a/Test/dafny0/DiscoverBounds.dfy b/Test/dafny0/DiscoverBounds.dfy index 18e56158613..31f9717ee79 100644 --- a/Test/dafny0/DiscoverBounds.dfy +++ b/Test/dafny0/DiscoverBounds.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /print:"%t.print" /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype NT = x | 0 <= x < 100 newtype UT = NT diff --git a/Test/dafny0/DiscoverBounds.dfy.expect b/Test/dafny0/DiscoverBounds.dfy.expect index 909a58326d0..e43954c7be1 100644 --- a/Test/dafny0/DiscoverBounds.dfy.expect +++ b/Test/dafny0/DiscoverBounds.dfy.expect @@ -1,3 +1,10 @@ +DiscoverBounds.dfy(32,7): Warning: /!\ No terms found to trigger on. +DiscoverBounds.dfy(33,7): Warning: /!\ No terms found to trigger on. +DiscoverBounds.dfy(34,7): Warning: /!\ No terms found to trigger on. +DiscoverBounds.dfy(35,7): Warning: /!\ No terms found to trigger on. +DiscoverBounds.dfy(36,7): Warning: /!\ No terms found to trigger on. + +Dafny program verifier finished with 7 verified, 0 errors 0 0 -2 diff --git a/Test/dafny0/DiscoverBounds.dfy.verifier.expect b/Test/dafny0/DiscoverBounds.dfy.verifier.expect deleted file mode 100644 index 7c4de01ee0e..00000000000 --- a/Test/dafny0/DiscoverBounds.dfy.verifier.expect +++ /dev/null @@ -1,5 +0,0 @@ -DiscoverBounds.dfy(31,7): Warning: /!\ No terms found to trigger on. -DiscoverBounds.dfy(32,7): Warning: /!\ No terms found to trigger on. -DiscoverBounds.dfy(33,7): Warning: /!\ No terms found to trigger on. -DiscoverBounds.dfy(34,7): Warning: /!\ No terms found to trigger on. -DiscoverBounds.dfy(35,7): Warning: /!\ No terms found to trigger on. diff --git a/Test/dafny0/DividedConstructors.dfy b/Test/dafny0/DividedConstructors.dfy index e6f63a35f11..8d5bf605ba0 100644 --- a/Test/dafny0/DividedConstructors.dfy +++ b/Test/dafny0/DividedConstructors.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /env:0 /dprint:- "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var m := new M0.MyClass.Init(20); diff --git a/Test/dafny0/DividedConstructors.dfy.expect b/Test/dafny0/DividedConstructors.dfy.expect index 2dcc1ba6402..f7412d8d0a1 100644 --- a/Test/dafny0/DividedConstructors.dfy.expect +++ b/Test/dafny0/DividedConstructors.dfy.expect @@ -1,2 +1,188 @@ +DividedConstructors.dfy(62,9): Warning: the ... refinement feature in statements is deprecated +// DividedConstructors.dfy + + +module M0 { + class MyClass { + var a: nat + const b := 17 + var c: real + + constructor Init(x: nat) + { + this.a := x; + c := 3.14; + new; + a := a + b; + assert c == 3.14; + assert this.a == 17 + x; + } + + constructor (z: real) + ensures c <= 2.0 * z + { + a, c := 50, 2.0 * z; + new; + } + + constructor Make() + ensures 10 <= a + { + new; + a := a + b; + } + + constructor Create() + ensures 30 <= a + { + new; + a := a + 2 * b; + } + } +} + +module M1 refines M0 { + class MyClass ... { + const d := 'D' + var e: char + + constructor Init ... + { + e := 'e'; + new; + e := 'x'; + ...; + assert e == 'x'; + } + + constructor ... + { + e := 'y'; + new; + } + + constructor Make ... + { + new; + e := 'z'; + } + + constructor Create ... + { + e := 'w'; + } + } +} + +module TypeOfThis { + class LinkedList { + ghost var Repr: set> + ghost var Rapr: set> + ghost var S: set + ghost var T: set + + constructor Init() + { + Repr := {this}; + } + + constructor Init'() + { + Rapr := {this}; + } + + constructor Create() + { + S := {this}; + } + + constructor Create'() + { + T := {this}; + } + + constructor Two() + { + new; + var ll: LinkedList? := this; + var o: object? := this; + if + case true => + T := {o}; + case true => + S := {o}; + case true => + Repr := {ll}; + case true => + Rapr := {ll}; + case true => + S := {ll}; + case true => + T := {ll}; + } + + method Mutate() + modifies this + { + Repr := {this}; + Rapr := {this}; + S := {this}; + T := {this}; + } + } +} + +module Regression { + class A { + var b: bool + var y: int + + constructor Make0() + ensures b == false + { + b := false; + } + + constructor Make1() + ensures b == true + { + b := true; + } + + constructor Make2() + { + b := false; + new; + assert !b; + } + + constructor Make3() + ensures b == false && y == 65 + { + b := false; + y := 65; + new; + assert !b; + assert y == 65; + } + + constructor Make4(bb: bool, yy: int) + ensures b == bb && y == yy + { + b, y := bb, yy; + } + } +} +method Main() +{ + var m := new M0.MyClass.Init(20); + print m.a, ", ", m.b, ", ", m.c, "\n"; + var r0 := new Regression.A.Make0(); + var r1 := new Regression.A.Make1(); + assert r0.b != r1.b; + print r0.b, ", ", r1.b, "\n"; +} + +Dafny program verifier finished with 17 verified, 0 errors 37, 17, 3.14 false, true diff --git a/Test/dafny0/DividedConstructors.dfy.verifier.expect b/Test/dafny0/DividedConstructors.dfy.verifier.expect deleted file mode 100644 index c103bdea5f2..00000000000 --- a/Test/dafny0/DividedConstructors.dfy.verifier.expect +++ /dev/null @@ -1,184 +0,0 @@ -DividedConstructors.dfy(61,9): Warning: the ... refinement feature in statements is deprecated -// DividedConstructors.dfy - - -module M0 { - class MyClass { - var a: nat - const b := 17 - var c: real - - constructor Init(x: nat) - { - this.a := x; - c := 3.14; - new; - a := a + b; - assert c == 3.14; - assert this.a == 17 + x; - } - - constructor (z: real) - ensures c <= 2.0 * z - { - a, c := 50, 2.0 * z; - new; - } - - constructor Make() - ensures 10 <= a - { - new; - a := a + b; - } - - constructor Create() - ensures 30 <= a - { - new; - a := a + 2 * b; - } - } -} - -module M1 refines M0 { - class MyClass ... { - const d := 'D' - var e: char - - constructor Init ... - { - e := 'e'; - new; - e := 'x'; - ...; - assert e == 'x'; - } - - constructor ... - { - e := 'y'; - new; - } - - constructor Make ... - { - new; - e := 'z'; - } - - constructor Create ... - { - e := 'w'; - } - } -} - -module TypeOfThis { - class LinkedList { - ghost var Repr: set> - ghost var Rapr: set> - ghost var S: set - ghost var T: set - - constructor Init() - { - Repr := {this}; - } - - constructor Init'() - { - Rapr := {this}; - } - - constructor Create() - { - S := {this}; - } - - constructor Create'() - { - T := {this}; - } - - constructor Two() - { - new; - var ll: LinkedList? := this; - var o: object? := this; - if - case true => - T := {o}; - case true => - S := {o}; - case true => - Repr := {ll}; - case true => - Rapr := {ll}; - case true => - S := {ll}; - case true => - T := {ll}; - } - - method Mutate() - modifies this - { - Repr := {this}; - Rapr := {this}; - S := {this}; - T := {this}; - } - } -} - -module Regression { - class A { - var b: bool - var y: int - - constructor Make0() - ensures b == false - { - b := false; - } - - constructor Make1() - ensures b == true - { - b := true; - } - - constructor Make2() - { - b := false; - new; - assert !b; - } - - constructor Make3() - ensures b == false && y == 65 - { - b := false; - y := 65; - new; - assert !b; - assert y == 65; - } - - constructor Make4(bb: bool, yy: int) - ensures b == bb && y == yy - { - b, y := bb, yy; - } - } -} -method Main() -{ - var m := new M0.MyClass.Init(20); - print m.a, ", ", m.b, ", ", m.c, "\n"; - var r0 := new Regression.A.Make0(); - var r1 := new Regression.A.Make1(); - assert r0.b != r1.b; - print r0.b, ", ", r1.b, "\n"; -} diff --git a/Test/dafny0/EqualityTypesCompile.dfy b/Test/dafny0/EqualityTypesCompile.dfy index a36d1818c1d..de7954710e9 100644 --- a/Test/dafny0/EqualityTypesCompile.dfy +++ b/Test/dafny0/EqualityTypesCompile.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype List = Nil | Cons(A, List) | ICons(int, List) datatype TwoLists = Two(List, List) diff --git a/Test/dafny0/EqualityTypesCompile.dfy.expect b/Test/dafny0/EqualityTypesCompile.dfy.expect index 0246dc39633..d2f1950e7f7 100644 --- a/Test/dafny0/EqualityTypesCompile.dfy.expect +++ b/Test/dafny0/EqualityTypesCompile.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 1 verified, 0 errors from M: false from N: false from H: false diff --git a/Test/dafny0/ForallCompilation.dfy b/Test/dafny0/ForallCompilation.dfy index 731ce83015f..40c381521e8 100644 --- a/Test/dafny0/ForallCompilation.dfy +++ b/Test/dafny0/ForallCompilation.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /autoTriggers:0 +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" /autoTriggers:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var c := new MyClass; diff --git a/Test/dafny0/ForallCompilation.dfy.expect b/Test/dafny0/ForallCompilation.dfy.expect index e69de29bb2d..66ffe3665d5 100644 --- a/Test/dafny0/ForallCompilation.dfy.expect +++ b/Test/dafny0/ForallCompilation.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 14 verified, 0 errors diff --git a/Test/dafny0/ForallCompilationNewSyntax.dfy b/Test/dafny0/ForallCompilationNewSyntax.dfy index ac354d6338c..b7132df78ae 100644 --- a/Test/dafny0/ForallCompilationNewSyntax.dfy +++ b/Test/dafny0/ForallCompilationNewSyntax.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --quantifier-syntax:4 --relax-definite-assignment +// RUN: %baredafny run %args --relax-definite-assignment --quantifier-syntax:4 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var c := new MyClass; diff --git a/Test/dafny0/ForallCompilationNewSyntax.dfy.expect b/Test/dafny0/ForallCompilationNewSyntax.dfy.expect index e69de29bb2d..5b7ec4613bb 100644 --- a/Test/dafny0/ForallCompilationNewSyntax.dfy.expect +++ b/Test/dafny0/ForallCompilationNewSyntax.dfy.expect @@ -0,0 +1,6 @@ +ForallCompilationNewSyntax.dfy(26,4): Warning: /!\ No terms found to trigger on. +ForallCompilationNewSyntax.dfy(35,4): Warning: /!\ No terms found to trigger on. +ForallCompilationNewSyntax.dfy(44,4): Warning: /!\ No terms found to trigger on. +ForallCompilationNewSyntax.dfy(64,4): Warning: /!\ No trigger covering all quantified variables found. + +Dafny program verifier finished with 14 verified, 0 errors diff --git a/Test/dafny0/ForallCompilationNewSyntax.dfy.verifier.expect b/Test/dafny0/ForallCompilationNewSyntax.dfy.verifier.expect deleted file mode 100644 index a94cd5ea608..00000000000 --- a/Test/dafny0/ForallCompilationNewSyntax.dfy.verifier.expect +++ /dev/null @@ -1,4 +0,0 @@ -ForallCompilationNewSyntax.dfy(25,4): Warning: /!\ No terms found to trigger on. -ForallCompilationNewSyntax.dfy(34,4): Warning: /!\ No terms found to trigger on. -ForallCompilationNewSyntax.dfy(43,4): Warning: /!\ No terms found to trigger on. -ForallCompilationNewSyntax.dfy(63,4): Warning: /!\ No trigger covering all quantified variables found. diff --git a/Test/dafny0/GhostGuards.dfy b/Test/dafny0/GhostGuards.dfy index 49877792a47..b17c98662ce 100644 --- a/Test/dafny0/GhostGuards.dfy +++ b/Test/dafny0/GhostGuards.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /printTooltips /rprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Dt = Green | Dog diff --git a/Test/dafny0/GhostGuards.dfy.expect b/Test/dafny0/GhostGuards.dfy.expect index e69de29bb2d..8bb8a71d69d 100644 --- a/Test/dafny0/GhostGuards.dfy.expect +++ b/Test/dafny0/GhostGuards.dfy.expect @@ -0,0 +1,7 @@ +GhostGuards.dfy(12,9): Info: ghost if +GhostGuards.dfy(18,2): Info: ghost if +GhostGuards.dfy(28,2): Info: ghost while +GhostGuards.dfy(41,2): Info: ghost while +GhostGuards.dfy(54,2): Info: ghost match + +Dafny program verifier finished with 1 verified, 0 errors diff --git a/Test/dafny0/GhostGuards.dfy.verifier.expect b/Test/dafny0/GhostGuards.dfy.verifier.expect deleted file mode 100644 index 7e2637d73bb..00000000000 --- a/Test/dafny0/GhostGuards.dfy.verifier.expect +++ /dev/null @@ -1,5 +0,0 @@ -GhostGuards.dfy(11,9): Info: ghost if -GhostGuards.dfy(17,2): Info: ghost if -GhostGuards.dfy(27,2): Info: ghost while -GhostGuards.dfy(40,2): Info: ghost while -GhostGuards.dfy(53,2): Info: ghost match diff --git a/Test/dafny0/GhostITECompilation.dfy b/Test/dafny0/GhostITECompilation.dfy index bd7cfa28a95..d761ddbc6ea 100644 --- a/Test/dafny0/GhostITECompilation.dfy +++ b/Test/dafny0/GhostITECompilation.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --function-syntax:4 --relax-definite-assignment +// RUN: %dafny /compile:0 /functionSyntax:4 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" function F(x: nat, ghost y: nat): nat { diff --git a/Test/dafny0/GhostITECompilation.dfy.expect b/Test/dafny0/GhostITECompilation.dfy.expect index b4988e5cf11..1ec406bf52c 100644 --- a/Test/dafny0/GhostITECompilation.dfy.expect +++ b/Test/dafny0/GhostITECompilation.dfy.expect @@ -1,3 +1,31 @@ + +Dafny program verifier finished with 6 verified, 0 errors + +Dafny program verifier did not attempt verification +65 +65 +65 +65 + +Dafny program verifier did not attempt verification +65 +65 +65 +65 + +Dafny program verifier did not attempt verification +65 +65 +65 +65 + +Dafny program verifier did not attempt verification +65 +65 +65 +65 + +Dafny program verifier did not attempt verification 65 65 65 diff --git a/Test/dafny0/InitialValues.dfy b/Test/dafny0/InitialValues.dfy index 0848d244d71..7dcb05cc9c9 100644 --- a/Test/dafny0/InitialValues.dfy +++ b/Test/dafny0/InitialValues.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny0/InitialValues.dfy.expect b/Test/dafny0/InitialValues.dfy.expect index 18903dcc3dd..ada1b783c16 100644 --- a/Test/dafny0/InitialValues.dfy.expect +++ b/Test/dafny0/InitialValues.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 2 verified, 0 errors r= 0.0 s= 3.4 a= 0.0 b= 3.4 z= 0.0 a==z = true diff --git a/Test/dafny0/MatchBraces.dfy b/Test/dafny0/MatchBraces.dfy index 4ac380f2739..b3b87fd5e4a 100644 --- a/Test/dafny0/MatchBraces.dfy +++ b/Test/dafny0/MatchBraces.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /print:"%t.print" /env:0 /dprint:- "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Color = Red | Green | Blue diff --git a/Test/dafny0/MatchBraces.dfy.expect b/Test/dafny0/MatchBraces.dfy.expect index 4f89bff47e5..b6129bafcc0 100644 --- a/Test/dafny0/MatchBraces.dfy.expect +++ b/Test/dafny0/MatchBraces.dfy.expect @@ -1,2 +1,135 @@ +// MatchBraces.dfy + +datatype Color = Red | Green | Blue + +method Main() +{ + M(Green, Red); + M(Blue, Blue); +} + +method M(c: Color, d: Color) +{ + var x := match c case Red => 5 case Green => 7 case Blue => 11; + var y := match c case Red => 0.3 case Green => (match d case Red => 0.18 case Green => 0.21 case Blue => 0.98) case Blue => 98.0; + var z := match c case Red => Green case Green => match d { case Red => Red case Green => Blue case Blue => Red } case Blue => Green; + var w := match c { case Red => 2 case Green => 3 case Blue => 4 } + 10; + var t := match c case Red => 0 case Green => match d { case Red => 2 case Green => 2 case Blue => 1 } + (match d case Red => 10 case Green => 8 case Blue => 5) case Blue => match d { case Red => 20 case Green => 20 case Blue => 10 } + match d case Red => 110 case Green => 108 case Blue => 105; + print x, " ", y, " ", z, " ", w, " ", t, "\n"; +} + +ghost function Heat(c: Color): int +{ + match c + case Red => + 10 + case Green => + 12 + case Blue => + 14 +} + +ghost function IceCream(c: Color): int +{ + match c { + case Red => + 0 + case Green => + 4 + case Blue => + 1 + } +} + +ghost function Flowers(c: Color, d: Color): int +{ + match c { + case Red => + match d { + case Red => + 0 + case Green => + 1 + case Blue => + 2 + } + case Green => + match d { case Red => 3 case Green => 3 case Blue => 2 } + 20 + case Blue => + match d { case Red => 9 case Green => 8 case Blue => 7 } + match d case Red => 23 case Green => 29 case Blue => 31 + } +} + +method P(c: Color, d: Color) +{ + var x: int; + match c { + case {:split false} Red => + x := 20; + case {:split false} Green => + case {:split false} Blue => + } + match c + case {:split false} Red => + match d { + case {:split false} Red => + case {:split false} Green => + case {:split false} Blue => + } + case {:split false} Green => + var y := 25; + var z := y + 3; + case {:split false} Blue => + { + var y := 25; + var z := y + 3; + } + match d + case {:split false} Red => + case {:split false} Green => + x := x + 1; + case {:split false} Blue => +} + +lemma HeatIsEven(c: Color) + ensures Heat(c) % 2 == 0 +{ + match c + case {:split false} Red => + assert 10 % 2 == 0; + case {:split false} Green => + assert 12 % 2 == 0; + case {:split false} Blue => +} + +method DegenerateExamples(c: Color) + requires Heat(c) == 10 +{ + match c + case {:split false} Red => + case {:split false} Green => + match c { + } + case {:split false} Blue => + match c +} + +method MoreDegenerateExamples(c: Color) + requires Heat(c) == 10 +{ + if c == Green { + var x: int := match c; + var y: int := match c { }; + var z := match c case Blue => 4; + } +} + +Dafny program verifier finished with 5 verified, 0 errors + +Dafny program verifier did not attempt verification +7 0.18 Color.Red 13 12 +11 98.0 Color.Green 14 115 + +Dafny program verifier did not attempt verification 7 0.18 Color.Red 13 12 11 98.0 Color.Green 14 115 diff --git a/Test/dafny0/MatchBraces.dfy.verifier.expect b/Test/dafny0/MatchBraces.dfy.verifier.expect deleted file mode 100644 index 8dcc792ae0e..00000000000 --- a/Test/dafny0/MatchBraces.dfy.verifier.expect +++ /dev/null @@ -1,125 +0,0 @@ -// MatchBraces.dfy - -datatype Color = Red | Green | Blue - -method Main() -{ - M(Green, Red); - M(Blue, Blue); -} - -method M(c: Color, d: Color) -{ - var x := match c case Red => 5 case Green => 7 case Blue => 11; - var y := match c case Red => 0.3 case Green => (match d case Red => 0.18 case Green => 0.21 case Blue => 0.98) case Blue => 98.0; - var z := match c case Red => Green case Green => match d { case Red => Red case Green => Blue case Blue => Red } case Blue => Green; - var w := match c { case Red => 2 case Green => 3 case Blue => 4 } + 10; - var t := match c case Red => 0 case Green => match d { case Red => 2 case Green => 2 case Blue => 1 } + (match d case Red => 10 case Green => 8 case Blue => 5) case Blue => match d { case Red => 20 case Green => 20 case Blue => 10 } + match d case Red => 110 case Green => 108 case Blue => 105; - print x, " ", y, " ", z, " ", w, " ", t, "\n"; -} - -ghost function Heat(c: Color): int -{ - match c - case Red => - 10 - case Green => - 12 - case Blue => - 14 -} - -ghost function IceCream(c: Color): int -{ - match c { - case Red => - 0 - case Green => - 4 - case Blue => - 1 - } -} - -ghost function Flowers(c: Color, d: Color): int -{ - match c { - case Red => - match d { - case Red => - 0 - case Green => - 1 - case Blue => - 2 - } - case Green => - match d { case Red => 3 case Green => 3 case Blue => 2 } + 20 - case Blue => - match d { case Red => 9 case Green => 8 case Blue => 7 } + match d case Red => 23 case Green => 29 case Blue => 31 - } -} - -method P(c: Color, d: Color) -{ - var x: int; - match c { - case {:split false} Red => - x := 20; - case {:split false} Green => - case {:split false} Blue => - } - match c - case {:split false} Red => - match d { - case {:split false} Red => - case {:split false} Green => - case {:split false} Blue => - } - case {:split false} Green => - var y := 25; - var z := y + 3; - case {:split false} Blue => - { - var y := 25; - var z := y + 3; - } - match d - case {:split false} Red => - case {:split false} Green => - x := x + 1; - case {:split false} Blue => -} - -lemma HeatIsEven(c: Color) - ensures Heat(c) % 2 == 0 -{ - match c - case {:split false} Red => - assert 10 % 2 == 0; - case {:split false} Green => - assert 12 % 2 == 0; - case {:split false} Blue => -} - -method DegenerateExamples(c: Color) - requires Heat(c) == 10 -{ - match c - case {:split false} Red => - case {:split false} Green => - match c { - } - case {:split false} Blue => - match c -} - -method MoreDegenerateExamples(c: Color) - requires Heat(c) == 10 -{ - if c == Green { - var x: int := match c; - var y: int := match c { }; - var z := match c case Blue => 4; - } -} diff --git a/Test/dafny0/MoForallCompilation.dfy b/Test/dafny0/MoForallCompilation.dfy index af080853463..835712edbce 100644 --- a/Test/dafny0/MoForallCompilation.dfy +++ b/Test/dafny0/MoForallCompilation.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { TestAggregateArrayUpdate(); diff --git a/Test/dafny0/MoForallCompilation.dfy.expect b/Test/dafny0/MoForallCompilation.dfy.expect index 7bb606c1528..c431c74c6aa 100644 --- a/Test/dafny0/MoForallCompilation.dfy.expect +++ b/Test/dafny0/MoForallCompilation.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 18 verified, 0 errors -4.0 -3.0 -2.0 -1.0 0.0 1.0 2.0 3.0 7.0 6.0 5.0 4.0 3.0 2.0 1.0 0.0 true true true true true true false false diff --git a/Test/dafny0/NameclashesCompile.dfy b/Test/dafny0/NameclashesCompile.dfy index 46cae4b2338..4d06065c675 100644 --- a/Test/dafny0/NameclashesCompile.dfy +++ b/Test/dafny0/NameclashesCompile.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var r0, r1; diff --git a/Test/dafny0/NameclashesCompile.dfy.expect b/Test/dafny0/NameclashesCompile.dfy.expect index f001bdaeb1e..1434bb632f6 100644 --- a/Test/dafny0/NameclashesCompile.dfy.expect +++ b/Test/dafny0/NameclashesCompile.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 2 verified, 0 errors 15.0 15.1 94 99 0.8 14.3 14.4 18.9 18.92 diff --git a/Test/dafny0/NonZeroInitializationCompile.dfy b/Test/dafny0/NonZeroInitializationCompile.dfy index 2fedae6d60d..48b61a39369 100644 --- a/Test/dafny0/NonZeroInitializationCompile.dfy +++ b/Test/dafny0/NonZeroInitializationCompile.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" type MyInt = x | 6 <= x witness 6 newtype MyNewInt = x | 6 <= x witness 12 diff --git a/Test/dafny0/NonZeroInitializationCompile.dfy.expect b/Test/dafny0/NonZeroInitializationCompile.dfy.expect index 2e20350afad..69539e473c2 100644 --- a/Test/dafny0/NonZeroInitializationCompile.dfy.expect +++ b/Test/dafny0/NonZeroInitializationCompile.dfy.expect @@ -1,3 +1,76 @@ + +Dafny program verifier finished with 15 verified, 0 errors + +Dafny program verifier did not attempt verification +These are the arbitrary values chosen by the compiler: 6, 12 +short, short': 0, -35 +nes: {57} +f0, f1: (0, false), (29, true) +dt: Dt.Atom(-35) +cl { u: 12, x: 0, r: 3.14, nes: {57} } +cl' { u: 12, x: 0, ': 3.14, nes: {20, 57} } + +x: real :: 0.0 versus 0.0 +ch: char :: 'D' versus 'D' +s: set :: {} versus {} +d: Xt :: AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) versus AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) +y: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) +z: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) + +x: real :: 0.0 versus 0.0 +ch: char :: 'D' versus 'D' +s: set :: {} versus {} +d: Xt :: AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) versus AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) +y: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) +z: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) + +Dafny program verifier did not attempt verification +These are the arbitrary values chosen by the compiler: 6, 12 +short, short': 0, -35 +nes: {57} +f0, f1: (0, false), (29, true) +dt: Dt.Atom(-35) +cl { u: 12, x: 0, r: 3.14, nes: {57} } +cl' { u: 12, x: 0, ': 3.14, nes: {20, 57} } + +x: real :: 0.0 versus 0.0 +ch: char :: 'D' versus 'D' +s: set :: {} versus {} +d: Xt :: AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) versus AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) +y: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) +z: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) + +x: real :: 0.0 versus 0.0 +ch: char :: 'D' versus 'D' +s: set :: {} versus {} +d: Xt :: AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) versus AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) +y: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) +z: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) + +Dafny program verifier did not attempt verification +These are the arbitrary values chosen by the compiler: 6, 12 +short, short': 0, -35 +nes: {57} +f0, f1: (0, false), (29, true) +dt: Dt.Atom(-35) +cl { u: 12, x: 0, r: 3.14, nes: {57} } +cl' { u: 12, x: 0, ': 3.14, nes: {20, 57} } + +x: real :: 0.0 versus 0.0 +ch: char :: 'D' versus 'D' +s: set :: {} versus {} +d: Xt :: AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) versus AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) +y: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) +z: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) + +x: real :: 0.0 versus 0.0 +ch: char :: 'D' versus 'D' +s: set :: {} versus {} +d: Xt :: AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) versus AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) +y: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) +z: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) + +Dafny program verifier did not attempt verification These are the arbitrary values chosen by the compiler: 6, 12 short, short': 0, -35 nes: {57} diff --git a/Test/dafny0/NullComparisonWarnings.dfy b/Test/dafny0/NullComparisonWarnings.dfy index 35fd5ffb3f4..eb9183040bc 100644 --- a/Test/dafny0/NullComparisonWarnings.dfy +++ b/Test/dafny0/NullComparisonWarnings.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { print "despite the warnings, the program still compiles\n"; diff --git a/Test/dafny0/NullComparisonWarnings.dfy.expect b/Test/dafny0/NullComparisonWarnings.dfy.expect index f2b4545fac7..d8cf4a9960c 100644 --- a/Test/dafny0/NullComparisonWarnings.dfy.expect +++ b/Test/dafny0/NullComparisonWarnings.dfy.expect @@ -1 +1,14 @@ +NullComparisonWarnings.dfy(27,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(28,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'y' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(29,14): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for field 'next' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(30,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(31,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'y' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(32,14): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for field 'next' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(34,12): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(37,12): Warning: the type of the other operand is a set of non-null elements, so the inclusion test of 'null' will always return 'false' +NullComparisonWarnings.dfy(38,12): Warning: the type of the other operand is a set of non-null elements, so the non-inclusion test of 'null' will always return 'true' +NullComparisonWarnings.dfy(40,41): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'u' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(45,12): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' + +Dafny program verifier finished with 4 verified, 0 errors despite the warnings, the program still compiles diff --git a/Test/dafny0/NullComparisonWarnings.dfy.verifier.expect b/Test/dafny0/NullComparisonWarnings.dfy.verifier.expect deleted file mode 100644 index 24f9074ecc9..00000000000 --- a/Test/dafny0/NullComparisonWarnings.dfy.verifier.expect +++ /dev/null @@ -1,11 +0,0 @@ -NullComparisonWarnings.dfy(26,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(27,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'y' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(28,14): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for field 'next' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(29,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(30,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'y' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(31,14): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for field 'next' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(33,12): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(36,12): Warning: the type of the other operand is a set of non-null elements, so the inclusion test of 'null' will always return 'false' -NullComparisonWarnings.dfy(37,12): Warning: the type of the other operand is a set of non-null elements, so the non-inclusion test of 'null' will always return 'true' -NullComparisonWarnings.dfy(39,41): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'u' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(44,12): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' diff --git a/Test/dafny0/PrintUTF8.dfy b/Test/dafny0/PrintUTF8.dfy index eff7baa32a9..5d4e376b19d 100644 --- a/Test/dafny0/PrintUTF8.dfy +++ b/Test/dafny0/PrintUTF8.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { print "Mikaël fixed UTF8\n"; diff --git a/Test/dafny0/PrintUTF8.dfy.expect b/Test/dafny0/PrintUTF8.dfy.expect index 818549280d3..52a23e906cc 100644 --- a/Test/dafny0/PrintUTF8.dfy.expect +++ b/Test/dafny0/PrintUTF8.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 0 verified, 0 errors Mikaël fixed UTF8 diff --git a/Test/dafny0/RangeCompilation.dfy b/Test/dafny0/RangeCompilation.dfy index 3f3e6aed0f8..53a8d6e33e5 100644 --- a/Test/dafny0/RangeCompilation.dfy +++ b/Test/dafny0/RangeCompilation.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype Byte = x | 0 <= x < 256 predicate GoodByte(b: Byte) { diff --git a/Test/dafny0/RangeCompilation.dfy.expect b/Test/dafny0/RangeCompilation.dfy.expect index 9e0f9e5f028..82fbbb9b698 100644 --- a/Test/dafny0/RangeCompilation.dfy.expect +++ b/Test/dafny0/RangeCompilation.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 4 verified, 0 errors b=2 i=4 diff --git a/Test/dafny0/SeqFromArray.dfy b/Test/dafny0/SeqFromArray.dfy index 39f72303d18..6bab732c906 100644 --- a/Test/dafny0/SeqFromArray.dfy +++ b/Test/dafny0/SeqFromArray.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // /autoTriggers:1 added to suppress instabilities diff --git a/Test/dafny0/SeqFromArray.dfy.expect b/Test/dafny0/SeqFromArray.dfy.expect index e69de29bb2d..1981561ca00 100644 --- a/Test/dafny0/SeqFromArray.dfy.expect +++ b/Test/dafny0/SeqFromArray.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 10 verified, 0 errors diff --git a/Test/dafny0/SharedDestructorsCompile.dfy b/Test/dafny0/SharedDestructorsCompile.dfy index 64d8b245b58..8171cf72404 100644 --- a/Test/dafny0/SharedDestructorsCompile.dfy +++ b/Test/dafny0/SharedDestructorsCompile.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Dt = | A(x: int, y: real) diff --git a/Test/dafny0/SharedDestructorsCompile.dfy.expect b/Test/dafny0/SharedDestructorsCompile.dfy.expect index 060d152d77b..e037db03c40 100644 --- a/Test/dafny0/SharedDestructorsCompile.dfy.expect +++ b/Test/dafny0/SharedDestructorsCompile.dfy.expect @@ -1,3 +1,20 @@ + +Dafny program verifier finished with 3 verified, 0 errors + +Dafny program verifier did not attempt verification +Dt.A(10, 12.0): x=10 y=12.0 +Dt.B(_module.MyClass, 6): h=_module.MyClass x=6 +Dt.C(3.14): y=3.14 +Dt.C(3.14) +Dt.A(71, 0.1) +Klef.C3(44, 100, 66, 200) +Datte.AA(10, 2) Datte.AA(10, 5) +Datte.BB(false, 12) Datte.BB(false, 6) +Datte.CC(3.2) Datte.CC(3.4) +Datte.DD(100, {7}, 5, 9.0) Datte.DD(30, {7}, 5, 9.0) +Datte.DD(100, {7}, 5, 9.0) Datte.DD(30, {7}, 5, 2.0) + +Dafny program verifier did not attempt verification Dt.A(10, 12.0): x=10 y=12.0 Dt.B(_module.MyClass, 6): h=_module.MyClass x=6 Dt.C(3.14): y=3.14 diff --git a/Test/dafny0/SiblingImports.dfy b/Test/dafny0/SiblingImports.dfy index 756e4b253f3..3fb01d9d1b8 100644 --- a/Test/dafny0/SiblingImports.dfy +++ b/Test/dafny0/SiblingImports.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { ClientA.Test(); diff --git a/Test/dafny0/SiblingImports.dfy.expect b/Test/dafny0/SiblingImports.dfy.expect index fb6171563ac..ba4df82a925 100644 --- a/Test/dafny0/SiblingImports.dfy.expect +++ b/Test/dafny0/SiblingImports.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 1 verified, 0 errors ClientA.Inner.Five: 5 ClientB.Inner.Five: 5 ClientC.Inner.Five: 5 diff --git a/Test/dafny0/TypeConversionsCompile.dfy b/Test/dafny0/TypeConversionsCompile.dfy index 585aca1e6c6..066af1b305b 100644 --- a/Test/dafny0/TypeConversionsCompile.dfy +++ b/Test/dafny0/TypeConversionsCompile.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /env:0 /rprint:- "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype Handful = x | 0 <= x < 0x8000 // this type turns native newtype Abundance = y | -20 <= y < 0x200_0000_0000 // still fits inside a "long" diff --git a/Test/dafny0/TypeConversionsCompile.dfy.expect b/Test/dafny0/TypeConversionsCompile.dfy.expect index 78990cf4a30..d6b02b34eae 100644 --- a/Test/dafny0/TypeConversionsCompile.dfy.expect +++ b/Test/dafny0/TypeConversionsCompile.dfy.expect @@ -1,3 +1,228 @@ +// TypeConversionsCompile.dfy + +/* +module _System { + /* CALL GRAPH for module _System: + * SCC at height 1: + * RotateLeft + * SCC at height 1: + * RotateRight + * SCC at height 0: + * array + * SCC at height 0: + * nat + * SCC at height 0: + * object + */ + type string(==,0) = seq + + type {:axiom} nat(==,0) = x: int + | 0 <= x + + trait {:compile false} object { } + /*-- non-null type + type {:axiom} object(==) = c: object? | c != null /*special witness*/ + */ + + class {:compile false} array { + var Length: int // immutable + } + /*-- non-null type + type {:axiom} array(==) = c: array? | c != null /*special witness*/ + */ + + type {:compile false} /*_#Func1*/ -T0 ~> +R { + ghost function requires(x0: T0): bool + reads reads(x0) + + ghost function reads(x0: T0): set + reads reads(x0) + } + + type {:compile false} /*_#PartialFunc1*/ -T0 --> +R = f: T0 ~> R + | forall x0: T0 :: f.reads(x0) == {} + /*special witness*/ + + type {:compile false} /*_#TotalFunc1*/ -T0 -> +R = f: T0 --> R + | forall x0: T0 :: f.requires(x0) + /*special witness*/ + + type {:compile false} /*_#Func0*/ () ~> +R { + ghost function requires(): bool + reads reads() + + ghost function reads(): set + reads reads() + } + + type {:compile false} /*_#PartialFunc0*/ () --> +R = f: () ~> R + | f.reads() == {} + /*special witness*/ + + type {:compile false} /*_#TotalFunc0*/ () -> +R = f: () --> R + | f.requires() + /*special witness*/ + + datatype {:compile false} /*_tuple#2*/ (+T0, +T1) = _#Make2(0: T0, 1: T1) + + type bool { } + + type int { } + + type real { + var Floor: int // immutable + } + + type ORDINAL { + var IsLimit: bool // immutable + var IsSucc: bool // immutable + var Offset: int // immutable + var IsNat: bool // immutable + } + + type _bv { + function RotateLeft(w: nat): selftype + + function RotateRight(w: nat): selftype + } + + type map<+T, +U> { + var Keys: set // immutable + var Values: set // immutable + var Items: set<(T, U)> // immutable + } + + type imap<*T, +U> { + var Keys: iset // immutable + var Values: iset // immutable + var Items: iset<(T, U)> // immutable + } + + datatype {:compile false} /*_tuple#0*/ () = _#Make0 +} +// bitvector types in use: bv67 bv32 bv7 bv0 bv300 +*/ + +/* CALL GRAPH for module _module: + * SCC at height 2: + * Main + * SCC at height 1: + * Difficult + * SCC at height 1: + * Print + * SCC at height 0: + * Abundance + * SCC at height 0: + * EvenInt + * SCC at height 0: + * Handful + * SCC at height 0: + * OrdinalTests + * SCC at height 0: + * PrintExpected + * SCC at height 0: + * SmallReal + * SCC at height 0: + * int64 + */ +newtype Handful = x: int + | 0 <= x < 32768 + +newtype Abundance = y: int + | -20 <= y < 2199023255552 + +newtype int64 = y: int + | -9223372036854775808 <= y < 9223372036854775808 + +newtype EvenInt = x: int + | x % 2 == 0 + +newtype SmallReal = r: real + | -4.0 <= r < 300.0 + +method Print(x: int, n: nat, r: real, handful: Handful, even: EvenInt, small: SmallReal, b67: bv67, w: bv32, seven: bv7, noll: bv0) + decreases x, n, r, handful, even, small, b67, w, seven, noll +{ + print x, " ", n, " ", r, " ", handful, " ", even, " ", small, " ", b67, " ", w, " ", seven, " ", noll, "\n"; +} + +method PrintExpected(got: T, expected: T) +{ + print "got ", got, ", expected ", expected, "\n"; +} + +method Main() +{ + var x: int, n: nat, r: real := 3, 4, 5.0; + var handful: Handful, even: EvenInt, small: SmallReal := 5, 6, -1.0; + var b67: bv67, w: bv32, seven: bv7, noll: bv0 := 147573952589676412927, 4294967295, 127, 0; + Print(x, n, r, handful, even, small, b67, w, seven, noll); + PrintExpected(x as bv7, 3); + PrintExpected(0 as bv0, 0); + PrintExpected(r as int, 5); + PrintExpected((2.0 * r) as EvenInt, 10); + PrintExpected(x as real, 3.0); + PrintExpected(even as real, 6.0); + PrintExpected((small + 3.0) as Handful, 2); + PrintExpected(noll as Handful, 0); + PrintExpected(noll as SmallReal, 0.0); + PrintExpected(w as real, 4294967295.0); + PrintExpected(seven as real, 127.0); + PrintExpected(noll as bv32, 0); + PrintExpected(noll as bv67, 0); + PrintExpected(seven as bv32, 127); + PrintExpected(seven as bv67, 127); + b67 := 50; + PrintExpected(r as bv67, 5); + PrintExpected(r as bv32, 5); + PrintExpected(w as bv67, 4294967295); + PrintExpected(r as bv7, 5); + PrintExpected(0.0 as bv0, 0); + PrintExpected(handful as bv67, 5); + PrintExpected(handful as bv32, 5); + PrintExpected(handful as bv7, 5); + PrintExpected(handful as int, 5); + PrintExpected(noll as bv32 as bv0, 0); + PrintExpected(noll as bv67 as bv0, 0); + PrintExpected(seven as bv32 as bv7, 127); + PrintExpected(seven as bv67 as bv7, 127); + PrintExpected(handful as real, 5.0); + Difficult(); + var a0: Abundance, a1: Abundance, a2: Abundance, lng: int64; + var s: set := {4.0, 6.3, r, 1000.2}; + var a: array := new char[68]; + handful := 120 as Handful; + a0, a1 := -1 as Abundance, 4 as Abundance; + a2 := 8589934592 as Abundance; + w, lng := 6345789 as bv32, -9223372036854775808 as int64; + print handful, " ", a0, " ", a1, " ", a2, " ", w, " ", lng, "\n"; + x, handful, a0, w := |s|, |s| as Handful, |s| as Abundance, |s| as bv32; + print x, " ", handful, " ", a0, " ", w, "\n"; + x, handful, a0, w := a.Length, a.Length as Handful, a.Length as Abundance, a.Length as bv32; + print x, " ", handful, " ", a0, " ", w, "\n"; + OrdinalTests(); +} + +method Difficult() +{ + if 14 as real as int as bv67 == 14 { + PrintExpected(14 as real as int as bv67 as EvenInt as SmallReal as Handful as bv7 as bv32 as int, 14); + } +} + +method OrdinalTests() +{ + var ord: ORDINAL := 143; + var iord: int := ord as int; + var oord: ORDINAL := iord as ORDINAL; + print "Something about ORDINAL: ", ord, " ", iord, " ", oord, " ", ord + 4, " ", ord - 100, "\n"; + print "ORDINAL and bitvectors: ", 20 as bv32 as ORDINAL, " ", 20 as bv300 as ORDINAL, "\n"; + print ord.IsLimit, " ", ord.Offset, " ", ord.IsNat, "\n"; + ord := 0; + print ord.IsLimit, " ", ord.Offset, " ", ord.IsNat, "\n"; +} + +Dafny program verifier finished with 8 verified, 0 errors 3 4 5.0 5 6 -1.0 147573952589676412927 4294967295 127 0 got 3, expected 3 got 0, expected 0 diff --git a/Test/dafny0/TypeConversionsCompile.dfy.verifier.expect b/Test/dafny0/TypeConversionsCompile.dfy.verifier.expect deleted file mode 100644 index fc80e32b51b..00000000000 --- a/Test/dafny0/TypeConversionsCompile.dfy.verifier.expect +++ /dev/null @@ -1,223 +0,0 @@ -// TypeConversionsCompile.dfy - -/* -module _System { - /* CALL GRAPH for module _System: - * SCC at height 1: - * RotateLeft - * SCC at height 1: - * RotateRight - * SCC at height 0: - * array - * SCC at height 0: - * nat - * SCC at height 0: - * object - */ - type string(==,0) = seq - - type {:axiom} nat(==,0) = x: int - | 0 <= x - - trait {:compile false} object { } - /*-- non-null type - type {:axiom} object(==) = c: object? | c != null /*special witness*/ - */ - - class {:compile false} array { - var Length: int // immutable - } - /*-- non-null type - type {:axiom} array(==) = c: array? | c != null /*special witness*/ - */ - - type {:compile false} /*_#Func1*/ -T0 ~> +R { - ghost function requires(x0: T0): bool - reads reads(x0) - - ghost function reads(x0: T0): set - reads reads(x0) - } - - type {:compile false} /*_#PartialFunc1*/ -T0 --> +R = f: T0 ~> R - | forall x0: T0 :: f.reads(x0) == {} - /*special witness*/ - - type {:compile false} /*_#TotalFunc1*/ -T0 -> +R = f: T0 --> R - | forall x0: T0 :: f.requires(x0) - /*special witness*/ - - type {:compile false} /*_#Func0*/ () ~> +R { - ghost function requires(): bool - reads reads() - - ghost function reads(): set - reads reads() - } - - type {:compile false} /*_#PartialFunc0*/ () --> +R = f: () ~> R - | f.reads() == {} - /*special witness*/ - - type {:compile false} /*_#TotalFunc0*/ () -> +R = f: () --> R - | f.requires() - /*special witness*/ - - datatype {:compile false} /*_tuple#2*/ (+T0, +T1) = _#Make2(0: T0, 1: T1) - - type bool { } - - type int { } - - type real { - var Floor: int // immutable - } - - type ORDINAL { - var IsLimit: bool // immutable - var IsSucc: bool // immutable - var Offset: int // immutable - var IsNat: bool // immutable - } - - type _bv { - function RotateLeft(w: nat): selftype - - function RotateRight(w: nat): selftype - } - - type map<+T, +U> { - var Keys: set // immutable - var Values: set // immutable - var Items: set<(T, U)> // immutable - } - - type imap<*T, +U> { - var Keys: iset // immutable - var Values: iset // immutable - var Items: iset<(T, U)> // immutable - } - - datatype {:compile false} /*_tuple#0*/ () = _#Make0 -} -// bitvector types in use: bv67 bv32 bv7 bv0 bv300 -*/ - -/* CALL GRAPH for module _module: - * SCC at height 2: - * Main - * SCC at height 1: - * Difficult - * SCC at height 1: - * Print - * SCC at height 0: - * Abundance - * SCC at height 0: - * EvenInt - * SCC at height 0: - * Handful - * SCC at height 0: - * OrdinalTests - * SCC at height 0: - * PrintExpected - * SCC at height 0: - * SmallReal - * SCC at height 0: - * int64 - */ -newtype Handful = x: int - | 0 <= x < 32768 - -newtype Abundance = y: int - | -20 <= y < 2199023255552 - -newtype int64 = y: int - | -9223372036854775808 <= y < 9223372036854775808 - -newtype EvenInt = x: int - | x % 2 == 0 - -newtype SmallReal = r: real - | -4.0 <= r < 300.0 - -method Print(x: int, n: nat, r: real, handful: Handful, even: EvenInt, small: SmallReal, b67: bv67, w: bv32, seven: bv7, noll: bv0) - decreases x, n, r, handful, even, small, b67, w, seven, noll -{ - print x, " ", n, " ", r, " ", handful, " ", even, " ", small, " ", b67, " ", w, " ", seven, " ", noll, "\n"; -} - -method PrintExpected(got: T, expected: T) -{ - print "got ", got, ", expected ", expected, "\n"; -} - -method Main() -{ - var x: int, n: nat, r: real := 3, 4, 5.0; - var handful: Handful, even: EvenInt, small: SmallReal := 5, 6, -1.0; - var b67: bv67, w: bv32, seven: bv7, noll: bv0 := 147573952589676412927, 4294967295, 127, 0; - Print(x, n, r, handful, even, small, b67, w, seven, noll); - PrintExpected(x as bv7, 3); - PrintExpected(0 as bv0, 0); - PrintExpected(r as int, 5); - PrintExpected((2.0 * r) as EvenInt, 10); - PrintExpected(x as real, 3.0); - PrintExpected(even as real, 6.0); - PrintExpected((small + 3.0) as Handful, 2); - PrintExpected(noll as Handful, 0); - PrintExpected(noll as SmallReal, 0.0); - PrintExpected(w as real, 4294967295.0); - PrintExpected(seven as real, 127.0); - PrintExpected(noll as bv32, 0); - PrintExpected(noll as bv67, 0); - PrintExpected(seven as bv32, 127); - PrintExpected(seven as bv67, 127); - b67 := 50; - PrintExpected(r as bv67, 5); - PrintExpected(r as bv32, 5); - PrintExpected(w as bv67, 4294967295); - PrintExpected(r as bv7, 5); - PrintExpected(0.0 as bv0, 0); - PrintExpected(handful as bv67, 5); - PrintExpected(handful as bv32, 5); - PrintExpected(handful as bv7, 5); - PrintExpected(handful as int, 5); - PrintExpected(noll as bv32 as bv0, 0); - PrintExpected(noll as bv67 as bv0, 0); - PrintExpected(seven as bv32 as bv7, 127); - PrintExpected(seven as bv67 as bv7, 127); - PrintExpected(handful as real, 5.0); - Difficult(); - var a0: Abundance, a1: Abundance, a2: Abundance, lng: int64; - var s: set := {4.0, 6.3, r, 1000.2}; - var a: array := new char[68]; - handful := 120 as Handful; - a0, a1 := -1 as Abundance, 4 as Abundance; - a2 := 8589934592 as Abundance; - w, lng := 6345789 as bv32, -9223372036854775808 as int64; - print handful, " ", a0, " ", a1, " ", a2, " ", w, " ", lng, "\n"; - x, handful, a0, w := |s|, |s| as Handful, |s| as Abundance, |s| as bv32; - print x, " ", handful, " ", a0, " ", w, "\n"; - x, handful, a0, w := a.Length, a.Length as Handful, a.Length as Abundance, a.Length as bv32; - print x, " ", handful, " ", a0, " ", w, "\n"; - OrdinalTests(); -} - -method Difficult() -{ - if 14 as real as int as bv67 == 14 { - PrintExpected(14 as real as int as bv67 as EvenInt as SmallReal as Handful as bv7 as bv32 as int, 14); - } -} - -method OrdinalTests() -{ - var ord: ORDINAL := 143; - var iord: int := ord as int; - var oord: ORDINAL := iord as ORDINAL; - print "Something about ORDINAL: ", ord, " ", iord, " ", oord, " ", ord + 4, " ", ord - 100, "\n"; - print "ORDINAL and bitvectors: ", 20 as bv32 as ORDINAL, " ", 20 as bv300 as ORDINAL, "\n"; - print ord.IsLimit, " ", ord.Offset, " ", ord.IsNat, "\n"; - ord := 0; - print ord.IsLimit, " ", ord.Offset, " ", ord.IsNat, "\n"; -} diff --git a/Test/dafny0/TypeMembers.dfy b/Test/dafny0/TypeMembers.dfy index f2bea4039c9..2ab57767ad5 100644 --- a/Test/dafny0/TypeMembers.dfy +++ b/Test/dafny0/TypeMembers.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { BasicTests(); diff --git a/Test/dafny0/TypeMembers.dfy.expect b/Test/dafny0/TypeMembers.dfy.expect index 923cb07e841..1d406ca85dc 100644 --- a/Test/dafny0/TypeMembers.dfy.expect +++ b/Test/dafny0/TypeMembers.dfy.expect @@ -1,3 +1,32 @@ +TypeMembers.dfy(117,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect + +Dafny program verifier finished with 29 verified, 0 errors +TypeMembers.dfy(117,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect + +Dafny program verifier did not attempt verification +DaTy.Yes 10 26 +8 11 10 11 10 +35 10 14 +22 22 +9 Dt.Business(false, 5) +76 77 +19 +0 0 +19 82 83 +93 Co.Cobalt +27 27 +18 +11 18 18 22 +15 30 29 +95 11 +162 165 +11 18 18 3 +15 30 29 +95 11 +162 165 +TypeMembers.dfy(117,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect + +Dafny program verifier did not attempt verification DaTy.Yes 10 26 8 11 10 11 10 35 10 14 diff --git a/Test/dafny0/TypeMembers.dfy.verifier.expect b/Test/dafny0/TypeMembers.dfy.verifier.expect deleted file mode 100644 index 62f55c943d2..00000000000 --- a/Test/dafny0/TypeMembers.dfy.verifier.expect +++ /dev/null @@ -1 +0,0 @@ -TypeMembers.dfy(114,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect diff --git a/Test/dafny0/Wellfounded.dfy b/Test/dafny0/Wellfounded.dfy index 7ec2be06b38..2ed488974c6 100644 --- a/Test/dafny0/Wellfounded.dfy +++ b/Test/dafny0/Wellfounded.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var d := Int(10); diff --git a/Test/dafny0/Wellfounded.dfy.expect b/Test/dafny0/Wellfounded.dfy.expect index 52742a67098..73d7a1e7ca2 100644 --- a/Test/dafny0/Wellfounded.dfy.expect +++ b/Test/dafny0/Wellfounded.dfy.expect @@ -1,3 +1,7 @@ +Wellfounded.dfy(49,14): Warning: /!\ No terms found to trigger on. +Wellfounded.dfy(77,5): Warning: /!\ No terms found to trigger on. + +Dafny program verifier finished with 3 verified, 0 errors M(d, d) = 10 M(a1, d) = 10 M(a2, d) = 10 diff --git a/Test/dafny0/Wellfounded.dfy.verifier.expect b/Test/dafny0/Wellfounded.dfy.verifier.expect deleted file mode 100644 index e61f12f01b2..00000000000 --- a/Test/dafny0/Wellfounded.dfy.verifier.expect +++ /dev/null @@ -1,2 +0,0 @@ -Wellfounded.dfy(48,14): Warning: /!\ No terms found to trigger on. -Wellfounded.dfy(76,5): Warning: /!\ No terms found to trigger on. diff --git a/Test/dafny2/MinWindowMax.dfy b/Test/dafny2/MinWindowMax.dfy index 32342cdd8b9..71ccb539d7d 100644 --- a/Test/dafny2/MinWindowMax.dfy +++ b/Test/dafny2/MinWindowMax.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Minimum window-max problem. // Rustan Leino diff --git a/Test/dafny2/MinWindowMax.dfy.expect b/Test/dafny2/MinWindowMax.dfy.expect index 1bb5609994e..f6f6e52d9bc 100644 --- a/Test/dafny2/MinWindowMax.dfy.expect +++ b/Test/dafny2/MinWindowMax.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 12 verified, 0 errors Window size 1: min window-max is -5 Window size 2: min window-max is 2 Window size 3: min window-max is 3 diff --git a/Test/dafny2/SmallestMissingNumber-functional.dfy b/Test/dafny2/SmallestMissingNumber-functional.dfy index a1544efab5f..047475c2680 100644 --- a/Test/dafny2/SmallestMissingNumber-functional.dfy +++ b/Test/dafny2/SmallestMissingNumber-functional.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Smallest missing number problem, functional version without duplicates. // A purely functional solution to the programming problem in Richard Bird's diff --git a/Test/dafny2/SmallestMissingNumber-functional.dfy.expect b/Test/dafny2/SmallestMissingNumber-functional.dfy.expect index 5d75da8ddd3..208b183ee3e 100644 --- a/Test/dafny2/SmallestMissingNumber-functional.dfy.expect +++ b/Test/dafny2/SmallestMissingNumber-functional.dfy.expect @@ -1 +1,4 @@ +SmallestMissingNumber-functional.dfy(213,11): Warning: /!\ No terms found to trigger on. + +Dafny program verifier finished with 21 verified, 0 errors 0 1 4 5 diff --git a/Test/dafny2/SmallestMissingNumber-functional.dfy.verifier.expect b/Test/dafny2/SmallestMissingNumber-functional.dfy.verifier.expect deleted file mode 100644 index cf10280f376..00000000000 --- a/Test/dafny2/SmallestMissingNumber-functional.dfy.verifier.expect +++ /dev/null @@ -1 +0,0 @@ -SmallestMissingNumber-functional.dfy(212,11): Warning: /!\ No terms found to trigger on. diff --git a/Test/dafny2/SmallestMissingNumber-imperative.dfy b/Test/dafny2/SmallestMissingNumber-imperative.dfy index 314bf4e464c..b8539481a54 100644 --- a/Test/dafny2/SmallestMissingNumber-imperative.dfy +++ b/Test/dafny2/SmallestMissingNumber-imperative.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Smallest missing number. // An imperative solution to the programming problem in Richard Bird's diff --git a/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect b/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect index cfb25913041..bc4a868fdff 100644 --- a/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect +++ b/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 8 verified, 0 errors 0 1 5 diff --git a/Test/dafny2/StoreAndRetrieve.dfy b/Test/dafny2/StoreAndRetrieve.dfy index 87b7bc78127..968b6948e0d 100644 --- a/Test/dafny2/StoreAndRetrieve.dfy +++ b/Test/dafny2/StoreAndRetrieve.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // This file shows an example program that uses both refinement and :autocontracts // specify a class that stores a set of things that can be retrieved using a query. diff --git a/Test/dafny2/StoreAndRetrieve.dfy.expect b/Test/dafny2/StoreAndRetrieve.dfy.expect index 030f5bfab39..1d7d71d5202 100644 --- a/Test/dafny2/StoreAndRetrieve.dfy.expect +++ b/Test/dafny2/StoreAndRetrieve.dfy.expect @@ -1 +1,39 @@ +StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier finished with 19 verified, 0 errors +StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +20.3 +StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +20.3 +StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +20.3 +StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification 20.3 diff --git a/Test/dafny2/StoreAndRetrieve.dfy.verifier.expect b/Test/dafny2/StoreAndRetrieve.dfy.verifier.expect deleted file mode 100644 index 0c3d269cdc1..00000000000 --- a/Test/dafny2/StoreAndRetrieve.dfy.verifier.expect +++ /dev/null @@ -1,5 +0,0 @@ -StoreAndRetrieve.dfy(60,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(65,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(66,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(81,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(92,9): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny2/Z-BirthdayBook.dfy b/Test/dafny2/Z-BirthdayBook.dfy index 10fc159b1a3..d9580e7cca2 100644 --- a/Test/dafny2/Z-BirthdayBook.dfy +++ b/Test/dafny2/Z-BirthdayBook.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // The birthday book example from the Z Reference Manual // Rustan Leino, 22 Feb 2018 diff --git a/Test/dafny2/Z-BirthdayBook.dfy.expect b/Test/dafny2/Z-BirthdayBook.dfy.expect index c6f2230e21a..31762ddd5b4 100644 --- a/Test/dafny2/Z-BirthdayBook.dfy.expect +++ b/Test/dafny2/Z-BirthdayBook.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 21 verified, 0 errors Send cards to: {['M', 'i', 'k', 'e'], ['S', 'u', 's', 'a', 'n']} diff --git a/Test/dafny2/pq-intrinsic-extrinsic.dfy b/Test/dafny2/pq-intrinsic-extrinsic.dfy index 588c2f9e2b1..c797c92445d 100644 --- a/Test/dafny2/pq-intrinsic-extrinsic.dfy +++ b/Test/dafny2/pq-intrinsic-extrinsic.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // This file contains several versions of a priority queue implemented by Braun trees: // diff --git a/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect b/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect index 5c90c26e0eb..bc2608f44b7 100644 --- a/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect +++ b/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect @@ -1,3 +1,14 @@ + +Dafny program verifier finished with 32 verified, 0 errors + +Dafny program verifier did not attempt verification +PriorityQueue_extrinsic: 3 +PriorityQueue_layered: 3 +PriorityQueue_intrinsic: 3 +PriorityQueue_on_intrinsic: 3 +PriorityQueue_direct: 3 + +Dafny program verifier did not attempt verification PriorityQueue_extrinsic: 3 PriorityQueue_layered: 3 PriorityQueue_intrinsic: 3 diff --git a/Test/dafny3/Abstemious.dfy b/Test/dafny3/Abstemious.dfy index 62d891f950f..263c1f1fb00 100644 --- a/Test/dafny3/Abstemious.dfy +++ b/Test/dafny3/Abstemious.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Examples from https://www.haskell.org/tutorial/functions.html diff --git a/Test/dafny3/Abstemious.dfy.expect b/Test/dafny3/Abstemious.dfy.expect index 3511a04a840..96f109b0b58 100644 --- a/Test/dafny3/Abstemious.dfy.expect +++ b/Test/dafny3/Abstemious.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 19 verified, 0 errors ones(): 1 1 1 1 1 1 1 ... from(3): 3 4 5 6 7 8 9 ... Map(plus1, ones()): 2 2 2 2 2 2 2 ... diff --git a/Test/dafny3/CachedContainer.dfy b/Test/dafny3/CachedContainer.dfy index e36e76d6851..77c3e45897f 100644 --- a/Test/dafny3/CachedContainer.dfy +++ b/Test/dafny3/CachedContainer.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // This file contains an example chain of module refinements, starting from a // simple interface M0 to an implementation M3. Module Client.Test() is diff --git a/Test/dafny3/CachedContainer.dfy.expect b/Test/dafny3/CachedContainer.dfy.expect index ed2a587c3f1..08f4fb30b0a 100644 --- a/Test/dafny3/CachedContainer.dfy.expect +++ b/Test/dafny3/CachedContainer.dfy.expect @@ -1 +1,79 @@ +CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier finished with 29 verified, 0 errors +CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +false true false true +CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +false true false true +CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +false true false true +CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification false true false true diff --git a/Test/dafny3/CachedContainer.dfy.verifier.expect b/Test/dafny3/CachedContainer.dfy.verifier.expect deleted file mode 100644 index a037bc94ff6..00000000000 --- a/Test/dafny3/CachedContainer.dfy.verifier.expect +++ /dev/null @@ -1,13 +0,0 @@ -CachedContainer.dfy(112,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(119,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(122,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(129,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(132,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(153,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(154,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(162,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(163,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(166,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(178,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(179,13): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny3/Iter.dfy b/Test/dafny3/Iter.dfy index 46befa24dd8..81431f2c64b 100644 --- a/Test/dafny3/Iter.dfy +++ b/Test/dafny3/Iter.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" class List { ghost var Contents: seq diff --git a/Test/dafny3/Iter.dfy.expect b/Test/dafny3/Iter.dfy.expect index 0ed11070541..69d7373d5d5 100644 --- a/Test/dafny3/Iter.dfy.expect +++ b/Test/dafny3/Iter.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 12 verified, 0 errors 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 98 0 2 4 6 8 10 12 14 diff --git a/Test/dafny4/Ackermann.dfy b/Test/dafny4/Ackermann.dfy index a4ef351c96b..27968070e9b 100644 --- a/Test/dafny4/Ackermann.dfy +++ b/Test/dafny4/Ackermann.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Rustan Leino, 8 Sep 2015. // This file proves that the Ackermann function is monotonic in each argument diff --git a/Test/dafny4/Ackermann.dfy.expect b/Test/dafny4/Ackermann.dfy.expect index 43d9513ef4b..c995dac9c9a 100644 --- a/Test/dafny4/Ackermann.dfy.expect +++ b/Test/dafny4/Ackermann.dfy.expect @@ -1 +1,5 @@ +Ackermann.dfy(163,4): Warning: /!\ No terms found to trigger on. +Ackermann.dfy(181,4): Warning: /!\ No terms found to trigger on. + +Dafny program verifier finished with 14 verified, 0 errors Ack(3, 4) = 125 diff --git a/Test/dafny4/Ackermann.dfy.verifier.expect b/Test/dafny4/Ackermann.dfy.verifier.expect deleted file mode 100644 index b302e2b4daf..00000000000 --- a/Test/dafny4/Ackermann.dfy.verifier.expect +++ /dev/null @@ -1,2 +0,0 @@ -Ackermann.dfy(162,4): Warning: /!\ No terms found to trigger on. -Ackermann.dfy(180,4): Warning: /!\ No terms found to trigger on. diff --git a/Test/dafny4/Bug107.dfy b/Test/dafny4/Bug107.dfy index b7ab69c9a8d..e417fc90a53 100644 --- a/Test/dafny4/Bug107.dfy +++ b/Test/dafny4/Bug107.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny4/Bug107.dfy.expect b/Test/dafny4/Bug107.dfy.expect index 62f9457511f..ad79213a18c 100644 --- a/Test/dafny4/Bug107.dfy.expect +++ b/Test/dafny4/Bug107.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 1 verified, 0 errors 6 \ No newline at end of file diff --git a/Test/dafny4/Bug108.dfy b/Test/dafny4/Bug108.dfy index 8228fe44f87..c64ec32a340 100644 --- a/Test/dafny4/Bug108.dfy +++ b/Test/dafny4/Bug108.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var A := map[0 := 1]; diff --git a/Test/dafny4/Bug108.dfy.expect b/Test/dafny4/Bug108.dfy.expect index 0777a01b26d..c1c63f6c5c1 100644 --- a/Test/dafny4/Bug108.dfy.expect +++ b/Test/dafny4/Bug108.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 1 verified, 0 errors map[0 := 1] map[0 := 1] diff --git a/Test/dafny4/Bug113.dfy b/Test/dafny4/Bug113.dfy index 0bec0c1ce31..23c759540cd 100644 --- a/Test/dafny4/Bug113.dfy +++ b/Test/dafny4/Bug113.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype D = D(q:int, r:int, s:int, t:int) @@ -6,4 +7,4 @@ method Main() { print D(10, 20, 30, 40); print "\n"; -} +} \ No newline at end of file diff --git a/Test/dafny4/Bug113.dfy.expect b/Test/dafny4/Bug113.dfy.expect index e2eeff32e9a..3ea1396ad00 100644 --- a/Test/dafny4/Bug113.dfy.expect +++ b/Test/dafny4/Bug113.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 0 verified, 0 errors D.D(10, 20, 30, 40) diff --git a/Test/dafny4/Bug116.dfy b/Test/dafny4/Bug116.dfy index 501b74c74d5..e29da0f609d 100644 --- a/Test/dafny4/Bug116.dfy +++ b/Test/dafny4/Bug116.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // test various compiler-target keywords diff --git a/Test/dafny4/Bug116.dfy.expect b/Test/dafny4/Bug116.dfy.expect index 93102ef3120..21aa85d71f0 100644 --- a/Test/dafny4/Bug116.dfy.expect +++ b/Test/dafny4/Bug116.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 1 verified, 0 errors struct.S byte.arguments enum_Compile.goto.switch enum_Compile.goto.switch 20 + 20 == 40 diff --git a/Test/dafny4/Bug140.dfy b/Test/dafny4/Bug140.dfy index 8280db8f665..edde966c149 100644 --- a/Test/dafny4/Bug140.dfy +++ b/Test/dafny4/Bug140.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" class Node { ghost var List: seq diff --git a/Test/dafny4/Bug140.dfy.expect b/Test/dafny4/Bug140.dfy.expect index a40ee1166fb..bad48de4d6b 100644 --- a/Test/dafny4/Bug140.dfy.expect +++ b/Test/dafny4/Bug140.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 8 verified, 0 errors 1 2 diff --git a/Test/dafny4/Bug148.dfy b/Test/dafny4/Bug148.dfy index f31cef2cdc8..da1ebf99447 100644 --- a/Test/dafny4/Bug148.dfy +++ b/Test/dafny4/Bug148.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny4/Bug148.dfy.expect b/Test/dafny4/Bug148.dfy.expect index 9ed6ca4768b..79d02517ceb 100644 --- a/Test/dafny4/Bug148.dfy.expect +++ b/Test/dafny4/Bug148.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 0 verified, 0 errors true false true diff --git a/Test/dafny4/Bug49.dfy b/Test/dafny4/Bug49.dfy index 868f4a3964b..68722830422 100644 --- a/Test/dafny4/Bug49.dfy +++ b/Test/dafny4/Bug49.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny4/Bug49.dfy.expect b/Test/dafny4/Bug49.dfy.expect index 800c2bd15ba..4e02a08bbee 100644 --- a/Test/dafny4/Bug49.dfy.expect +++ b/Test/dafny4/Bug49.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 13 verified, 0 errors 6 6 5 diff --git a/Test/dafny4/Bug60.dfy b/Test/dafny4/Bug60.dfy index f4585753f5f..0aa9209269d 100644 --- a/Test/dafny4/Bug60.dfy +++ b/Test/dafny4/Bug60.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // This method can be used to test compilation. method Main() diff --git a/Test/dafny4/Bug60.dfy.expect b/Test/dafny4/Bug60.dfy.expect index fd56dc3fcbc..49740e95682 100644 --- a/Test/dafny4/Bug60.dfy.expect +++ b/Test/dafny4/Bug60.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 0 verified, 0 errors ({2, 3}, map[2 := 20, 3 := 30]) (2, 2) {2, 3} diff --git a/Test/dafny4/Bug67.dfy b/Test/dafny4/Bug67.dfy index f01d4239a75..731018a293b 100644 --- a/Test/dafny4/Bug67.dfy +++ b/Test/dafny4/Bug67.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype d = D(m:seq) @@ -7,4 +8,4 @@ method Main() assert D([10, 20]) == D([10, 20]); // succeeds print [10, 20] == [10, 20], "\n"; // prints True print D([10, 20]) == D([10, 20]); // prints False -} +} \ No newline at end of file diff --git a/Test/dafny4/Bug67.dfy.expect b/Test/dafny4/Bug67.dfy.expect index 0be5d980da4..c716cab3144 100644 --- a/Test/dafny4/Bug67.dfy.expect +++ b/Test/dafny4/Bug67.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 1 verified, 0 errors true true \ No newline at end of file diff --git a/Test/dafny4/Bug68.dfy b/Test/dafny4/Bug68.dfy index bf50015f90c..a211206acba 100644 --- a/Test/dafny4/Bug68.dfy +++ b/Test/dafny4/Bug68.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method M1() { @@ -61,4 +62,4 @@ method Main() M3(); M3'(); M4(); -} +} \ No newline at end of file diff --git a/Test/dafny4/Bug68.dfy.expect b/Test/dafny4/Bug68.dfy.expect index 814ccfee2df..f4ef534187d 100644 --- a/Test/dafny4/Bug68.dfy.expect +++ b/Test/dafny4/Bug68.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 8 verified, 0 errors true true true diff --git a/Test/dafny4/Bug89.dfy b/Test/dafny4/Bug89.dfy index c7b77b44f99..4aec1acb8b7 100644 --- a/Test/dafny4/Bug89.dfy +++ b/Test/dafny4/Bug89.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method F() returns(x:int) ensures x == 6 diff --git a/Test/dafny4/Bug89.dfy.expect b/Test/dafny4/Bug89.dfy.expect index 62f9457511f..ed41c274352 100644 --- a/Test/dafny4/Bug89.dfy.expect +++ b/Test/dafny4/Bug89.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors 6 \ No newline at end of file diff --git a/Test/dafny4/Bug94.dfy b/Test/dafny4/Bug94.dfy index c41458539fc..be931445654 100644 --- a/Test/dafny4/Bug94.dfy +++ b/Test/dafny4/Bug94.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" ghost function foo() : (int, int) { diff --git a/Test/dafny4/Bug94.dfy.expect b/Test/dafny4/Bug94.dfy.expect index 3f10ffe7a4c..ab0cfbb2d9e 100644 --- a/Test/dafny4/Bug94.dfy.expect +++ b/Test/dafny4/Bug94.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 1 verified, 0 errors 15 \ No newline at end of file diff --git a/Test/dafny4/ClassRefinement.dfy b/Test/dafny4/ClassRefinement.dfy index 3d5fd1006eb..320749ec197 100644 --- a/Test/dafny4/ClassRefinement.dfy +++ b/Test/dafny4/ClassRefinement.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" abstract module M0 { class Counter { diff --git a/Test/dafny4/ClassRefinement.dfy.expect b/Test/dafny4/ClassRefinement.dfy.expect index cba3471eb57..f456b6777f3 100644 --- a/Test/dafny4/ClassRefinement.dfy.expect +++ b/Test/dafny4/ClassRefinement.dfy.expect @@ -1 +1,44 @@ +ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated +ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier finished with 11 verified, 0 errors +ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated +ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +2 1 +ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated +ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +2 1 +ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated +ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +2 1 +ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated +ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification 2 1 diff --git a/Test/dafny4/ClassRefinement.dfy.verifier.expect b/Test/dafny4/ClassRefinement.dfy.verifier.expect deleted file mode 100644 index 543e77303b5..00000000000 --- a/Test/dafny4/ClassRefinement.dfy.verifier.expect +++ /dev/null @@ -1,6 +0,0 @@ -ClassRefinement.dfy(68,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(69,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(74,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(75,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(77,6): Warning: the modify statement with a block statement is deprecated -ClassRefinement.dfy(78,13): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny4/ExpandedGuardedness.dfy b/Test/dafny4/ExpandedGuardedness.dfy index af620ec40e8..5cd7828f932 100644 --- a/Test/dafny4/ExpandedGuardedness.dfy +++ b/Test/dafny4/ExpandedGuardedness.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny4/ExpandedGuardedness.dfy.expect b/Test/dafny4/ExpandedGuardedness.dfy.expect index e0f3b041a66..d05670701e0 100644 --- a/Test/dafny4/ExpandedGuardedness.dfy.expect +++ b/Test/dafny4/ExpandedGuardedness.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 12 verified, 0 errors Up 19 20 21 22 23 Up2 19 20 21 22 23 UpIf 19 20 22 24 26 diff --git a/Test/dafny4/FlyingRobots.dfy b/Test/dafny4/FlyingRobots.dfy index f14a2a467cd..41223cca1aa 100644 --- a/Test/dafny4/FlyingRobots.dfy +++ b/Test/dafny4/FlyingRobots.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // The flying robots examples from an F* tutorial. It demonstrates how to specify // mutable data structures in the heap. diff --git a/Test/dafny4/FlyingRobots.dfy.expect b/Test/dafny4/FlyingRobots.dfy.expect index e69de29bb2d..5ed0d97333e 100644 --- a/Test/dafny4/FlyingRobots.dfy.expect +++ b/Test/dafny4/FlyingRobots.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 31 verified, 0 errors diff --git a/Test/dafny4/Leq.dfy b/Test/dafny4/Leq.dfy index fdbc1078ca3..fac12757ba0 100644 --- a/Test/dafny4/Leq.dfy +++ b/Test/dafny4/Leq.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Rustan Leino, 22 Sep 2015. // This file considers two definitions of Leq on naturals+infinity. One diff --git a/Test/dafny4/Leq.dfy.expect b/Test/dafny4/Leq.dfy.expect index e69de29bb2d..15301952c57 100644 --- a/Test/dafny4/Leq.dfy.expect +++ b/Test/dafny4/Leq.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 16 verified, 0 errors diff --git a/Test/dafny4/McCarthy91.dfy b/Test/dafny4/McCarthy91.dfy index 428f11eb269..466d30328cc 100644 --- a/Test/dafny4/McCarthy91.dfy +++ b/Test/dafny4/McCarthy91.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // The usual recursive method for computing McCarthy's 91 function method Main() { diff --git a/Test/dafny4/McCarthy91.dfy.expect b/Test/dafny4/McCarthy91.dfy.expect index 1511cff2c81..b63f7a0b03b 100644 --- a/Test/dafny4/McCarthy91.dfy.expect +++ b/Test/dafny4/McCarthy91.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 5 verified, 0 errors M(3) = 91 M(99) = 91 M(100) = 91 diff --git a/Test/dafny4/NatList.dfy b/Test/dafny4/NatList.dfy index 5a1b0358eaf..567fd461259 100644 --- a/Test/dafny4/NatList.dfy +++ b/Test/dafny4/NatList.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // This file tests some programs where "nat" is a type parameter to // a datatype. diff --git a/Test/dafny4/NatList.dfy.expect b/Test/dafny4/NatList.dfy.expect index 5382a29cb9f..2ceb3169787 100644 --- a/Test/dafny4/NatList.dfy.expect +++ b/Test/dafny4/NatList.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 11 verified, 0 errors ns = List.Cons(4, List.Cons(10, List.Nil)) Sum(ns) = 14 ns' = List.Cons(20, List.Nil) diff --git a/Test/dafny4/Regression15.dfy b/Test/dafny4/Regression15.dfy index 5ecb5ee4e2b..37f31ba7e90 100644 --- a/Test/dafny4/Regression15.dfy +++ b/Test/dafny4/Regression15.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var b; diff --git a/Test/dafny4/Regression15.dfy.expect b/Test/dafny4/Regression15.dfy.expect index 4cf7b8a8eb1..584190727b9 100644 --- a/Test/dafny4/Regression15.dfy.expect +++ b/Test/dafny4/Regression15.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 3 verified, 0 errors false true true diff --git a/Test/dafny4/Regression2.dfy b/Test/dafny4/Regression2.dfy index 0d28285e74c..213bf265401 100644 --- a/Test/dafny4/Regression2.dfy +++ b/Test/dafny4/Regression2.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" module NativeTypes { newtype uint64 = int diff --git a/Test/dafny4/Regression2.dfy.expect b/Test/dafny4/Regression2.dfy.expect index 8a739fb435a..3f8ac383f86 100644 --- a/Test/dafny4/Regression2.dfy.expect +++ b/Test/dafny4/Regression2.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 0 verified, 0 errors true true true diff --git a/Test/dafny4/Regression3.dfy b/Test/dafny4/Regression3.dfy index fc60fad3cb1..adaa0d2763d 100644 --- a/Test/dafny4/Regression3.dfy +++ b/Test/dafny4/Regression3.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny4/Regression3.dfy.expect b/Test/dafny4/Regression3.dfy.expect index 1223bf9ffaf..841338987c7 100644 --- a/Test/dafny4/Regression3.dfy.expect +++ b/Test/dafny4/Regression3.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 3 verified, 0 errors 55 Trunc( -3.0 ) = -3 (expected -3) Trunc( -2.8 ) = -3 (expected -3) diff --git a/Test/dafny4/Regression4.dfy b/Test/dafny4/Regression4.dfy index e4bc4cbef85..5f881a5083f 100644 --- a/Test/dafny4/Regression4.dfy +++ b/Test/dafny4/Regression4.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { } diff --git a/Test/dafny4/Regression4.dfy.expect b/Test/dafny4/Regression4.dfy.expect index e69de29bb2d..ba00363fc08 100644 --- a/Test/dafny4/Regression4.dfy.expect +++ b/Test/dafny4/Regression4.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 4 verified, 0 errors diff --git a/Test/dafny4/Regression6.dfy b/Test/dafny4/Regression6.dfy index b589ec0ce7d..f1551d3ef2d 100644 --- a/Test/dafny4/Regression6.dfy +++ b/Test/dafny4/Regression6.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" function Sum(a: array, lo: int, hi: int): int requires 0 <= lo <= hi <= a.Length diff --git a/Test/dafny4/Regression6.dfy.expect b/Test/dafny4/Regression6.dfy.expect index 54573bead10..17464f29e0b 100644 --- a/Test/dafny4/Regression6.dfy.expect +++ b/Test/dafny4/Regression6.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors 0 1028 0 diff --git a/Test/dafny4/Regression7.dfy b/Test/dafny4/Regression7.dfy index ef3ca5eea44..8ce421a62f3 100644 --- a/Test/dafny4/Regression7.dfy +++ b/Test/dafny4/Regression7.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /rprint:"%t.rprint" /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" module ListLibrary { datatype List = Nil | Cons(head: B, tail: List) diff --git a/Test/dafny4/Regression7.dfy.expect b/Test/dafny4/Regression7.dfy.expect index 70b01f973a0..19e63b05225 100644 --- a/Test/dafny4/Regression7.dfy.expect +++ b/Test/dafny4/Regression7.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors ListLibrary_Compile.List.Cons(28.0, ListLibrary_Compile.List.Nil) diff --git a/Test/dafny4/Regression9.dfy b/Test/dafny4/Regression9.dfy index 086007a3ef8..d9e44547252 100644 --- a/Test/dafny4/Regression9.dfy +++ b/Test/dafny4/Regression9.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Some tests for the type inference that was revamped // to better support subset types. diff --git a/Test/dafny4/Regression9.dfy.expect b/Test/dafny4/Regression9.dfy.expect index 2183b22cfa9..5a26eaeabfb 100644 --- a/Test/dafny4/Regression9.dfy.expect +++ b/Test/dafny4/Regression9.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors 'D''D''D' diff --git a/Test/dafny4/UnionFind.dfy b/Test/dafny4/UnionFind.dfy index e862fb64e64..1968d0d3b26 100644 --- a/Test/dafny4/UnionFind.dfy +++ b/Test/dafny4/UnionFind.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Rustan Leino, Nov 2015 // Module M0 gives the high-level specification of the UnionFind data structure diff --git a/Test/dafny4/UnionFind.dfy.expect b/Test/dafny4/UnionFind.dfy.expect index 1cb72129e49..961b161b8dc 100644 --- a/Test/dafny4/UnionFind.dfy.expect +++ b/Test/dafny4/UnionFind.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 63 verified, 0 errors false true true false true true diff --git a/Test/dafny4/gcd.dfy b/Test/dafny4/gcd.dfy index fa92223fa49..384e338435f 100644 --- a/Test/dafny4/gcd.dfy +++ b/Test/dafny4/gcd.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // A text describing this file is found in a Dafny Power User note: http://leino.science/papers/krml279.html diff --git a/Test/dafny4/gcd.dfy.expect b/Test/dafny4/gcd.dfy.expect index c17551a37a4..ecbe2b6f64a 100644 --- a/Test/dafny4/gcd.dfy.expect +++ b/Test/dafny4/gcd.dfy.expect @@ -1,3 +1,34 @@ + +Dafny program verifier finished with 19 verified, 0 errors + +Dafny program verifier did not attempt verification +15 gcd 9 = 3 +14 gcd 22 = 2 +371 gcd 1 = 1 +1 gcd 2 = 1 +1 gcd 1 = 1 +13 gcd 13 = 13 +60 gcd 60 = 60 + +Dafny program verifier did not attempt verification +15 gcd 9 = 3 +14 gcd 22 = 2 +371 gcd 1 = 1 +1 gcd 2 = 1 +1 gcd 1 = 1 +13 gcd 13 = 13 +60 gcd 60 = 60 + +Dafny program verifier did not attempt verification +15 gcd 9 = 3 +14 gcd 22 = 2 +371 gcd 1 = 1 +1 gcd 2 = 1 +1 gcd 1 = 1 +13 gcd 13 = 13 +60 gcd 60 = 60 + +Dafny program verifier did not attempt verification 15 gcd 9 = 3 14 gcd 22 = 2 371 gcd 1 = 1 diff --git a/Test/dafny4/git-issue104.dfy b/Test/dafny4/git-issue104.dfy index b05ec4de1cc..86683a2ed88 100644 --- a/Test/dafny4/git-issue104.dfy +++ b/Test/dafny4/git-issue104.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" predicate bug(a: array) reads a diff --git a/Test/dafny4/git-issue104.dfy.expect b/Test/dafny4/git-issue104.dfy.expect index 836a5934c8f..f572edb2471 100644 --- a/Test/dafny4/git-issue104.dfy.expect +++ b/Test/dafny4/git-issue104.dfy.expect @@ -1 +1,17 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification +true false + +Dafny program verifier did not attempt verification +true false + +Dafny program verifier did not attempt verification +true false + +Dafny program verifier did not attempt verification +true false + +Dafny program verifier did not attempt verification true false diff --git a/Test/dafny4/git-issue105.dfy b/Test/dafny4/git-issue105.dfy index 4cff2330cba..09cfce29a6e 100644 --- a/Test/dafny4/git-issue105.dfy +++ b/Test/dafny4/git-issue105.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method lol() returns (c: int) { diff --git a/Test/dafny4/git-issue105.dfy.expect b/Test/dafny4/git-issue105.dfy.expect index e69de29bb2d..012f5b99379 100644 --- a/Test/dafny4/git-issue105.dfy.expect +++ b/Test/dafny4/git-issue105.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/dafny4/git-issue15.dfy b/Test/dafny4/git-issue15.dfy index 7c77a67ccf9..96905286209 100755 --- a/Test/dafny4/git-issue15.dfy +++ b/Test/dafny4/git-issue15.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype obj = Obj(fooBar:map) datatype foo = Foo diff --git a/Test/dafny4/git-issue15.dfy.expect b/Test/dafny4/git-issue15.dfy.expect index 00750edc07d..e52de78d0b1 100755 --- a/Test/dafny4/git-issue15.dfy.expect +++ b/Test/dafny4/git-issue15.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 1 verified, 0 errors 3 diff --git a/Test/dafny4/git-issue167.dfy b/Test/dafny4/git-issue167.dfy index d98d425c345..d02943dc42d 100644 --- a/Test/dafny4/git-issue167.dfy +++ b/Test/dafny4/git-issue167.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { LetTest(); diff --git a/Test/dafny4/git-issue167.dfy.expect b/Test/dafny4/git-issue167.dfy.expect index 8c5e1ed8df7..0a230fe846e 100644 --- a/Test/dafny4/git-issue167.dfy.expect +++ b/Test/dafny4/git-issue167.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 4 verified, 0 errors 30 {6, 7} {['M', 'i', 'l', 'l', 'a'], ['A', 'l', 'f', 'o', 'n', 's']} diff --git a/Test/dafny4/git-issue195.dfy b/Test/dafny4/git-issue195.dfy index fccdc5461c8..ac4b1306ac6 100644 --- a/Test/dafny4/git-issue195.dfy +++ b/Test/dafny4/git-issue195.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Block = Block(prevBlockHash:Hash, txs:seq, proof:VProof) diff --git a/Test/dafny4/git-issue195.dfy.expect b/Test/dafny4/git-issue195.dfy.expect index 638bfb50b2d..30692fdef2a 100644 --- a/Test/dafny4/git-issue195.dfy.expect +++ b/Test/dafny4/git-issue195.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 4 verified, 0 errors true true true true true diff --git a/Test/dafny4/git-issue196.dfy b/Test/dafny4/git-issue196.dfy index 056687ab1a5..64eb0e9123f 100644 --- a/Test/dafny4/git-issue196.dfy +++ b/Test/dafny4/git-issue196.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" class A { var a: array> diff --git a/Test/dafny4/git-issue196.dfy.expect b/Test/dafny4/git-issue196.dfy.expect index ee25a2c5027..a333f982b8f 100644 --- a/Test/dafny4/git-issue196.dfy.expect +++ b/Test/dafny4/git-issue196.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 9 verified, 0 errors 42 42 42 5000 5000 5000 5000 5000 diff --git a/Test/dafny4/git-issue4.dfy b/Test/dafny4/git-issue4.dfy index b17a545e219..b19cf3ce6df 100644 --- a/Test/dafny4/git-issue4.dfy +++ b/Test/dafny4/git-issue4.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" function IntToChar(i:int):char requires 0 <= i < 10 diff --git a/Test/dafny4/git-issue4.dfy.expect b/Test/dafny4/git-issue4.dfy.expect index 24e24eb63cc..33af1e040b7 100644 --- a/Test/dafny4/git-issue4.dfy.expect +++ b/Test/dafny4/git-issue4.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 5 verified, 0 errors '8' 8 '8' 56 56 diff --git a/Test/dafny4/git-issue43.dfy b/Test/dafny4/git-issue43.dfy index d320d7761bc..edf056a1a91 100644 --- a/Test/dafny4/git-issue43.dfy +++ b/Test/dafny4/git-issue43.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" class System { } diff --git a/Test/dafny4/git-issue43.dfy.expect b/Test/dafny4/git-issue43.dfy.expect index e69de29bb2d..012f5b99379 100644 --- a/Test/dafny4/git-issue43.dfy.expect +++ b/Test/dafny4/git-issue43.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/dafny4/git-issue70.dfy b/Test/dafny4/git-issue70.dfy index 3a3a01e0af7..c8db7c9618d 100644 --- a/Test/dafny4/git-issue70.dfy +++ b/Test/dafny4/git-issue70.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny4/git-issue70.dfy.expect b/Test/dafny4/git-issue70.dfy.expect index 36ede89b639..526e9a5b349 100644 --- a/Test/dafny4/git-issue70.dfy.expect +++ b/Test/dafny4/git-issue70.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 3 verified, 0 errors map test {4, 6} {5, 7} diff --git a/Test/dafny4/git-issue76.dfy b/Test/dafny4/git-issue76.dfy index 85613dba2f2..708ee911b24 100644 --- a/Test/dafny4/git-issue76.dfy +++ b/Test/dafny4/git-issue76.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { M0(); diff --git a/Test/dafny4/git-issue76.dfy.expect b/Test/dafny4/git-issue76.dfy.expect index 0cfbf08886f..546da03a267 100644 --- a/Test/dafny4/git-issue76.dfy.expect +++ b/Test/dafny4/git-issue76.dfy.expect @@ -1 +1,8 @@ + +Dafny program verifier finished with 7 verified, 0 errors + +Dafny program verifier did not attempt verification +2 + +Dafny program verifier did not attempt verification 2 diff --git a/Test/dafny4/git-issue79.dfy b/Test/dafny4/git-issue79.dfy index f3fb17b8531..046a7c5e375 100644 --- a/Test/dafny4/git-issue79.dfy +++ b/Test/dafny4/git-issue79.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype EInt = Int(val: int) | Unknown type Pair = (string, EInt) diff --git a/Test/dafny4/git-issue79.dfy.expect b/Test/dafny4/git-issue79.dfy.expect index e69de29bb2d..012f5b99379 100644 --- a/Test/dafny4/git-issue79.dfy.expect +++ b/Test/dafny4/git-issue79.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/dafny4/git-issue88.dfy b/Test/dafny4/git-issue88.dfy index 83c0b4a8ef9..1c188333783 100644 --- a/Test/dafny4/git-issue88.dfy +++ b/Test/dafny4/git-issue88.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" type Grid = array2 diff --git a/Test/dafny4/git-issue88.dfy.expect b/Test/dafny4/git-issue88.dfy.expect index e69de29bb2d..00a51f822da 100644 --- a/Test/dafny4/git-issue88.dfy.expect +++ b/Test/dafny4/git-issue88.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 3 verified, 0 errors diff --git a/Test/exceptions/Exceptions1.dfy b/Test/exceptions/Exceptions1.dfy index 4ffd3291f2f..11bb2f7923d 100644 --- a/Test/exceptions/Exceptions1.dfy +++ b/Test/exceptions/Exceptions1.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" /rprint:"%t.rprint" > "%t" +// RUN: %diff "%s.expect" "%t" include "./NatOutcome.dfy" include "./VoidOutcome.dfy" diff --git a/Test/exceptions/Exceptions1.dfy.expect b/Test/exceptions/Exceptions1.dfy.expect index c87eb938c55..e61be2a11ad 100644 --- a/Test/exceptions/Exceptions1.dfy.expect +++ b/Test/exceptions/Exceptions1.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 7 verified, 0 errors true_true_true_88_42_33_Success=100 ___VoidSuccess true_true_false_88_42_Failure diff --git a/Test/exceptions/Exceptions1Expressions.dfy b/Test/exceptions/Exceptions1Expressions.dfy index a57e5b78c7e..c0f3c67cd39 100644 --- a/Test/exceptions/Exceptions1Expressions.dfy +++ b/Test/exceptions/Exceptions1Expressions.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" /rprint:"%t.rprint" > "%t" +// RUN: %diff "%s.expect" "%t" include "./NatOutcomeDt.dfy" include "./VoidOutcomeDt.dfy" diff --git a/Test/exceptions/Exceptions1Expressions.dfy.expect b/Test/exceptions/Exceptions1Expressions.dfy.expect index 3f1b38ab150..3da30f30d36 100644 --- a/Test/exceptions/Exceptions1Expressions.dfy.expect +++ b/Test/exceptions/Exceptions1Expressions.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 5 verified, 0 errors true_true_true_Success=100 VoidSuccess true_true_false_Failure diff --git a/Test/exports/FIFO.dfy b/Test/exports/FIFO.dfy index 95a8d25510c..173e412eaa9 100644 --- a/Test/exports/FIFO.dfy +++ b/Test/exports/FIFO.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" include "Queue.dfyi" diff --git a/Test/exports/FIFO.dfy.expect b/Test/exports/FIFO.dfy.expect index 4539bbf2d22..8350309cc2a 100644 --- a/Test/exports/FIFO.dfy.expect +++ b/Test/exports/FIFO.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 5 verified, 0 errors 0 1 2 diff --git a/Test/exports/LIFO.dfy b/Test/exports/LIFO.dfy index 513dd457c3f..ea691935620 100644 --- a/Test/exports/LIFO.dfy +++ b/Test/exports/LIFO.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" include "Queue.dfyi" diff --git a/Test/exports/LIFO.dfy.expect b/Test/exports/LIFO.dfy.expect index ae136939b64..48aa7787d09 100644 --- a/Test/exports/LIFO.dfy.expect +++ b/Test/exports/LIFO.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 5 verified, 0 errors 2 1 0 diff --git a/Test/exports/xrefine2.dfy b/Test/exports/xrefine2.dfy index 2409cc0509a..0b25240916c 100644 --- a/Test/exports/xrefine2.dfy +++ b/Test/exports/xrefine2.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" module ProtocolImpl { diff --git a/Test/exports/xrefine2.dfy.expect b/Test/exports/xrefine2.dfy.expect index 858dbd09862..34e1b357779 100644 --- a/Test/exports/xrefine2.dfy.expect +++ b/Test/exports/xrefine2.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 4 verified, 0 errors HI.foo(h1) => true HI.foo(h2) => true PI.orange(1) => 2 diff --git a/Test/exports/xrefine3.dfy b/Test/exports/xrefine3.dfy index bb2480bfed7..24d6fa062f0 100644 --- a/Test/exports/xrefine3.dfy +++ b/Test/exports/xrefine3.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" module AlphaImpl { diff --git a/Test/exports/xrefine3.dfy.expect b/Test/exports/xrefine3.dfy.expect index ae50cef0985..488ab11c36a 100644 --- a/Test/exports/xrefine3.dfy.expect +++ b/Test/exports/xrefine3.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors o hai! diff --git a/Test/git-issues/git-issue-032.dfy b/Test/git-issues/git-issue-032.dfy index d7dd61440a7..bde5b2f2a69 100644 --- a/Test/git-issues/git-issue-032.dfy +++ b/Test/git-issues/git-issue-032.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/git-issues/git-issue-032.dfy.expect b/Test/git-issues/git-issue-032.dfy.expect index 2a64997c6f7..91c285009c1 100644 --- a/Test/git-issues/git-issue-032.dfy.expect +++ b/Test/git-issues/git-issue-032.dfy.expect @@ -1,3 +1,40 @@ +git-issue-032.dfy(18,35): Warning: this branch is redundant +git-issue-032.dfy(27,34): Warning: this branch is redundant +git-issue-032.dfy(28,35): Warning: this branch is redundant + +Dafny program verifier finished with 1 verified, 0 errors +git-issue-032.dfy(18,35): Warning: this branch is redundant +git-issue-032.dfy(27,34): Warning: this branch is redundant +git-issue-032.dfy(28,35): Warning: this branch is redundant + +Dafny program verifier did not attempt verification +OK3 +OK +OKOK +00 +git-issue-032.dfy(18,35): Warning: this branch is redundant +git-issue-032.dfy(27,34): Warning: this branch is redundant +git-issue-032.dfy(28,35): Warning: this branch is redundant + +Dafny program verifier did not attempt verification +OK3 +OK +OKOK +00 +git-issue-032.dfy(18,35): Warning: this branch is redundant +git-issue-032.dfy(27,34): Warning: this branch is redundant +git-issue-032.dfy(28,35): Warning: this branch is redundant + +Dafny program verifier did not attempt verification +OK3 +OK +OKOK +00 +git-issue-032.dfy(18,35): Warning: this branch is redundant +git-issue-032.dfy(27,34): Warning: this branch is redundant +git-issue-032.dfy(28,35): Warning: this branch is redundant + +Dafny program verifier did not attempt verification OK3 OK OKOK diff --git a/Test/git-issues/git-issue-032.dfy.verifier.expect b/Test/git-issues/git-issue-032.dfy.verifier.expect deleted file mode 100644 index 1878351db97..00000000000 --- a/Test/git-issues/git-issue-032.dfy.verifier.expect +++ /dev/null @@ -1,3 +0,0 @@ -git-issue-032.dfy(13,35): Warning: this branch is redundant -git-issue-032.dfy(22,34): Warning: this branch is redundant -git-issue-032.dfy(23,35): Warning: this branch is redundant diff --git a/Test/git-issues/git-issue-1029.dfy b/Test/git-issues/git-issue-1029.dfy index 7e1e7a31cf2..a310a99c169 100644 --- a/Test/git-issues/git-issue-1029.dfy +++ b/Test/git-issues/git-issue-1029.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" module ValueType { export S diff --git a/Test/git-issues/git-issue-1029.dfy.expect b/Test/git-issues/git-issue-1029.dfy.expect index f603f618f29..075fcd93aed 100644 --- a/Test/git-issues/git-issue-1029.dfy.expect +++ b/Test/git-issues/git-issue-1029.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors [true, true, false] UI_Compile.Op2.GetOps([true, true, false], [true, true, false]) diff --git a/Test/git-issues/git-issue-1093.dfy b/Test/git-issues/git-issue-1093.dfy index 97797296680..9365397496f 100644 --- a/Test/git-issues/git-issue-1093.dfy +++ b/Test/git-issues/git-issue-1093.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { UnusedLabel(); diff --git a/Test/git-issues/git-issue-1093.dfy.expect b/Test/git-issues/git-issue-1093.dfy.expect index f599e28b8ab..0cadf5e4199 100644 --- a/Test/git-issues/git-issue-1093.dfy.expect +++ b/Test/git-issues/git-issue-1093.dfy.expect @@ -1 +1,17 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification +10 + +Dafny program verifier did not attempt verification +10 + +Dafny program verifier did not attempt verification +10 + +Dafny program verifier did not attempt verification +10 + +Dafny program verifier did not attempt verification 10 diff --git a/Test/git-issues/git-issue-1100.dfy b/Test/git-issues/git-issue-1100.dfy index 2c4bb564136..533d7688731 100644 --- a/Test/git-issues/git-issue-1100.dfy +++ b/Test/git-issues/git-issue-1100.dfy @@ -1,3 +1,4 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false /Users/salkeldr/Documents/GitHub/dafny/Test/git-issues/../c++/arrays.dfy +// RUN: %dafny /compile:3 /unicodeChar:0 /compileTarget:cpp %S/../c++/arrays.dfy > "%t" +// RUN: %diff "%s.expect" "%t" // Test compilation of a file in another directory diff --git a/Test/git-issues/git-issue-1100.dfy.expect b/Test/git-issues/git-issue-1100.dfy.expect index 2ce9320d8c2..552f9355593 100644 --- a/Test/git-issues/git-issue-1100.dfy.expect +++ b/Test/git-issues/git-issue-1100.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 9 verified, 0 errors 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/git-issues/git-issue-1130.dfy b/Test/git-issues/git-issue-1130.dfy index f1f5ad5a54b..5b7fc5068e2 100644 --- a/Test/git-issues/git-issue-1130.dfy +++ b/Test/git-issues/git-issue-1130.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var a := new Issue.Foo(); diff --git a/Test/git-issues/git-issue-1130.dfy.expect b/Test/git-issues/git-issue-1130.dfy.expect index de97a6dc4ca..6c3dd07b1f1 100644 --- a/Test/git-issues/git-issue-1130.dfy.expect +++ b/Test/git-issues/git-issue-1130.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 13 verified, 0 errors 012 diff --git a/Test/git-issues/git-issue-1150.dfy b/Test/git-issues/git-issue-1150.dfy index d3416a53813..d4cee3c3ef2 100644 --- a/Test/git-issues/git-issue-1150.dfy +++ b/Test/git-issues/git-issue-1150.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Foo = Foo(x: nat) { diff --git a/Test/git-issues/git-issue-1150.dfy.expect b/Test/git-issues/git-issue-1150.dfy.expect index f34d8df4a11..fb4be1897cf 100644 --- a/Test/git-issues/git-issue-1150.dfy.expect +++ b/Test/git-issues/git-issue-1150.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 1 verified, 0 errors Foo.Foo(2) true Foo.Foo(5) false diff --git a/Test/git-issues/git-issue-1185.dfy b/Test/git-issues/git-issue-1185.dfy index c7ad72134d1..32c340b0736 100644 --- a/Test/git-issues/git-issue-1185.dfy +++ b/Test/git-issues/git-issue-1185.dfy @@ -1,5 +1,9 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" predicate P(s: set) requires s != {} diff --git a/Test/git-issues/git-issue-1185.dfy.expect b/Test/git-issues/git-issue-1185.dfy.expect index 525ce875525..90ab58a1f5a 100644 --- a/Test/git-issues/git-issue-1185.dfy.expect +++ b/Test/git-issues/git-issue-1185.dfy.expect @@ -1 +1,14 @@ + +Dafny program verifier finished with 3 verified, 0 errors + +Dafny program verifier did not attempt verification +{12, 20} true 6 + +Dafny program verifier did not attempt verification +{20, 12} true 6 + +Dafny program verifier did not attempt verification +{12, 20} true 6 + +Dafny program verifier did not attempt verification {12, 20} true 6 diff --git a/Test/git-issues/git-issue-1185.dfy.java.expect b/Test/git-issues/git-issue-1185.dfy.java.expect deleted file mode 100644 index 8ba669ad273..00000000000 --- a/Test/git-issues/git-issue-1185.dfy.java.expect +++ /dev/null @@ -1 +0,0 @@ -{20, 12} true 6 diff --git a/Test/git-issues/git-issue-1514.dfy b/Test/git-issues/git-issue-1514.dfy index 816eadce69b..74b75478609 100644 --- a/Test/git-issues/git-issue-1514.dfy +++ b/Test/git-issues/git-issue-1514.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" include "Wrappers.dfy" import opened Wrappers diff --git a/Test/git-issues/git-issue-1514.dfy.expect b/Test/git-issues/git-issue-1514.dfy.expect index b5754e20373..2f22d47cee8 100644 --- a/Test/git-issues/git-issue-1514.dfy.expect +++ b/Test/git-issues/git-issue-1514.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-1514b.dfy b/Test/git-issues/git-issue-1514b.dfy index 050a4a71760..1d8cd122d28 100644 --- a/Test/git-issues/git-issue-1514b.dfy +++ b/Test/git-issues/git-issue-1514b.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" include "Wrappers.dfy" import opened Wrappers diff --git a/Test/git-issues/git-issue-1514b.dfy.expect b/Test/git-issues/git-issue-1514b.dfy.expect index b5754e20373..2f22d47cee8 100644 --- a/Test/git-issues/git-issue-1514b.dfy.expect +++ b/Test/git-issues/git-issue-1514b.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-1514c.dfy b/Test/git-issues/git-issue-1514c.dfy index 578316f217c..d9df7d108c1 100644 --- a/Test/git-issues/git-issue-1514c.dfy +++ b/Test/git-issues/git-issue-1514c.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" include "Wrappers.dfy" import opened Wrappers diff --git a/Test/git-issues/git-issue-1514c.dfy.expect b/Test/git-issues/git-issue-1514c.dfy.expect index 9766475a418..694254c28aa 100644 --- a/Test/git-issues/git-issue-1514c.dfy.expect +++ b/Test/git-issues/git-issue-1514c.dfy.expect @@ -1 +1,8 @@ + +Dafny program verifier finished with 3 verified, 0 errors + +Dafny program verifier did not attempt verification +ok + +Dafny program verifier did not attempt verification ok diff --git a/Test/git-issues/git-issue-1553.dfy b/Test/git-issues/git-issue-1553.dfy index 81cbef7aa7e..6267018c92d 100644 --- a/Test/git-issues/git-issue-1553.dfy +++ b/Test/git-issues/git-issue-1553.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { } method Test() { diff --git a/Test/git-issues/git-issue-1553.dfy.expect b/Test/git-issues/git-issue-1553.dfy.expect index e69de29bb2d..65d3b5d6635 100644 --- a/Test/git-issues/git-issue-1553.dfy.expect +++ b/Test/git-issues/git-issue-1553.dfy.expect @@ -0,0 +1,10 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-1604b.dfy b/Test/git-issues/git-issue-1604b.dfy index cf425f412d6..497ee5017d5 100644 --- a/Test/git-issues/git-issue-1604b.dfy +++ b/Test/git-issues/git-issue-1604b.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --verification-error-limit:0 +// RUN: %dafny /compile:3 /errorLimit:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Double constraints. Will this still work? diff --git a/Test/git-issues/git-issue-1604b.dfy.expect b/Test/git-issues/git-issue-1604b.dfy.expect index b5754e20373..93d7203e654 100644 --- a/Test/git-issues/git-issue-1604b.dfy.expect +++ b/Test/git-issues/git-issue-1604b.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 5 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-1714.dfy b/Test/git-issues/git-issue-1714.dfy index 540a41c39cb..6ce8915a7af 100644 --- a/Test/git-issues/git-issue-1714.dfy +++ b/Test/git-issues/git-issue-1714.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" +// RUN: %diff "%s.expect" "%t" trait Base {} class Derived extends Base { var n: int constructor() { n := 0; } } diff --git a/Test/git-issues/git-issue-1714.dfy.expect b/Test/git-issues/git-issue-1714.dfy.expect index 88039063d09..67dd7d95642 100644 --- a/Test/git-issues/git-issue-1714.dfy.expect +++ b/Test/git-issues/git-issue-1714.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors (b as Derived).n == 0 diff --git a/Test/git-issues/git-issue-179.dfy b/Test/git-issues/git-issue-179.dfy index d37d3048490..283a04f1a68 100644 --- a/Test/git-issues/git-issue-179.dfy +++ b/Test/git-issues/git-issue-179.dfy @@ -1,5 +1,9 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var mp: map; diff --git a/Test/git-issues/git-issue-179.dfy.expect b/Test/git-issues/git-issue-179.dfy.expect index 97cb7aa6c7a..3f922ac5bd4 100644 --- a/Test/git-issues/git-issue-179.dfy.expect +++ b/Test/git-issues/git-issue-179.dfy.expect @@ -1,4 +1,26 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification {(3, false), (4, true), (5, false)} {3, 4, 5} {false, true} true false true false + +Dafny program verifier did not attempt verification +{(5, false), (4, true), (3, false)} +{5, 4, 3} +{false, true} +true false true false + +Dafny program verifier did not attempt verification +{(5, false), (4, true), (3, false)} +{5, 4, 3} +{false, true} +true false true false + +Dafny program verifier did not attempt verification +{(5, false), (3, false), (4, true)} +{3, 4, 5} +{false, true} +true false true false diff --git a/Test/git-issues/git-issue-179.dfy.go.expect b/Test/git-issues/git-issue-179.dfy.go.expect deleted file mode 100644 index 3b6c1b2603f..00000000000 --- a/Test/git-issues/git-issue-179.dfy.go.expect +++ /dev/null @@ -1,4 +0,0 @@ -{(5, false), (4, true), (3, false)} -{5, 4, 3} -{false, true} -true false true false diff --git a/Test/git-issues/git-issue-179.dfy.java.expect b/Test/git-issues/git-issue-179.dfy.java.expect deleted file mode 100644 index ebe17288dfd..00000000000 --- a/Test/git-issues/git-issue-179.dfy.java.expect +++ /dev/null @@ -1,4 +0,0 @@ -{(5, false), (3, false), (4, true)} -{3, 4, 5} -{false, true} -true false true false diff --git a/Test/git-issues/git-issue-179.dfy.js.expect b/Test/git-issues/git-issue-179.dfy.js.expect deleted file mode 100644 index 3b6c1b2603f..00000000000 --- a/Test/git-issues/git-issue-179.dfy.js.expect +++ /dev/null @@ -1,4 +0,0 @@ -{(5, false), (4, true), (3, false)} -{5, 4, 3} -{false, true} -true false true false diff --git a/Test/git-issues/git-issue-1815a.dfy b/Test/git-issues/git-issue-1815a.dfy index 72d55a1cb4f..91fb7a32aa6 100644 --- a/Test/git-issues/git-issue-1815a.dfy +++ b/Test/git-issues/git-issue-1815a.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Dt<+U> = Dt(x: U, i: int) diff --git a/Test/git-issues/git-issue-1815a.dfy.expect b/Test/git-issues/git-issue-1815a.dfy.expect index 19f86f493ab..7b2651302d9 100644 --- a/Test/git-issues/git-issue-1815a.dfy.expect +++ b/Test/git-issues/git-issue-1815a.dfy.expect @@ -1 +1,17 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification +done + +Dafny program verifier did not attempt verification +done + +Dafny program verifier did not attempt verification +done + +Dafny program verifier did not attempt verification +done + +Dafny program verifier did not attempt verification done diff --git a/Test/git-issues/git-issue-1852.dfy b/Test/git-issues/git-issue-1852.dfy index 046f3fca1fc..516835e8ea8 100644 --- a/Test/git-issues/git-issue-1852.dfy +++ b/Test/git-issues/git-issue-1852.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" module A { export diff --git a/Test/git-issues/git-issue-1852.dfy.expect b/Test/git-issues/git-issue-1852.dfy.expect index 299a71f3fe4..e9cd0ea2e07 100644 --- a/Test/git-issues/git-issue-1852.dfy.expect +++ b/Test/git-issues/git-issue-1852.dfy.expect @@ -1 +1,8 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification +5 5 + +Dafny program verifier did not attempt verification 5 5 diff --git a/Test/git-issues/git-issue-1903.dfy b/Test/git-issues/git-issue-1903.dfy index 60ee1c121ab..7edb2a46c61 100644 --- a/Test/git-issues/git-issue-1903.dfy +++ b/Test/git-issues/git-issue-1903.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method g(x : seq := []) { diff --git a/Test/git-issues/git-issue-1903.dfy.expect b/Test/git-issues/git-issue-1903.dfy.expect index 84cc8d360f9..3170fb0c7f2 100644 --- a/Test/git-issues/git-issue-1903.dfy.expect +++ b/Test/git-issues/git-issue-1903.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 1 verified, 0 errors worked! diff --git a/Test/git-issues/git-issue-1909.dfy b/Test/git-issues/git-issue-1909.dfy index 83d9ec1d785..7fb5b3b8c48 100644 --- a/Test/git-issues/git-issue-1909.dfy +++ b/Test/git-issues/git-issue-1909.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype ABC = ABC(nameonly a: int, nameonly b: int, nameonly c: int) diff --git a/Test/git-issues/git-issue-1909.dfy.expect b/Test/git-issues/git-issue-1909.dfy.expect index ab6f7d69d36..b4eb7e7774e 100644 --- a/Test/git-issues/git-issue-1909.dfy.expect +++ b/Test/git-issues/git-issue-1909.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 1 verified, 0 errors ABC.ABC(19, 21, 23) ABC.ABC(19, 42, 23) ABC.ABC(100, 42, 90) diff --git a/Test/git-issues/git-issue-2013.dfy b/Test/git-issues/git-issue-2013.dfy index 1f3962988ee..d1d3e15880e 100644 --- a/Test/git-issues/git-issue-2013.dfy +++ b/Test/git-issues/git-issue-2013.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/git-issues/git-issue-2013.dfy.expect b/Test/git-issues/git-issue-2013.dfy.expect index 2cf9744efb3..bbf7e59b073 100644 --- a/Test/git-issues/git-issue-2013.dfy.expect +++ b/Test/git-issues/git-issue-2013.dfy.expect @@ -1,3 +1,55 @@ + +Dafny program verifier finished with 12 verified, 0 errors + +Dafny program verifier did not attempt verification +16 +16 +12 30 30 +Result.Success(8) Result.Failure(_module.MyClassException) +{100} {100} {100} +{MoreTests_Compile.C} {MoreTests_Compile.C} {MoreTests_Compile.C} +100 100 100 +MoreTests_Compile.C MoreTests_Compile.C MoreTests_Compile.C +Conveyance_Compile.NonVariantResult.NVSuccess(Conveyance_Compile.Car) Conveyance_Compile.CovariantResult.CVSuccess(Conveyance_Compile.Car) +Regression_mM_Compile.Stream.Next + +Dafny program verifier did not attempt verification +16 +16 +12 30 30 +Result.Success(8) Result.Failure(_module.MyClassException) +{100} {100} {100} +{MoreTests_Compile.C} {MoreTests_Compile.C} {MoreTests_Compile.C} +100 100 100 +MoreTests_Compile.C MoreTests_Compile.C MoreTests_Compile.C +Conveyance_Compile.NonVariantResult.NVSuccess(Conveyance_Compile.Car) Conveyance_Compile.CovariantResult.CVSuccess(Conveyance_Compile.Car) +Regression_mM_Compile.Stream.Next + +Dafny program verifier did not attempt verification +16 +16 +12 30 30 +Result.Success(8) Result.Failure(_module.MyClassException) +{100} {100} {100} +{MoreTests_Compile.C} {MoreTests_Compile.C} {MoreTests_Compile.C} +100 100 100 +MoreTests_Compile.C MoreTests_Compile.C MoreTests_Compile.C +Conveyance_Compile.NonVariantResult.NVSuccess(Conveyance_Compile.Car) Conveyance_Compile.CovariantResult.CVSuccess(Conveyance_Compile.Car) +Regression_mM_Compile.Stream.Next + +Dafny program verifier did not attempt verification +16 +16 +12 30 30 +Result.Success(8) Result.Failure(_module.MyClassException) +{100} {100} {100} +{MoreTests_Compile.C} {MoreTests_Compile.C} {MoreTests_Compile.C} +100 100 100 +MoreTests_Compile.C MoreTests_Compile.C MoreTests_Compile.C +Conveyance_Compile.NonVariantResult.NVSuccess(Conveyance_Compile.Car) Conveyance_Compile.CovariantResult.CVSuccess(Conveyance_Compile.Car) +Regression_mM_Compile.Stream.Next + +Dafny program verifier did not attempt verification 16 16 12 30 30 diff --git a/Test/git-issues/git-issue-2441.dfy b/Test/git-issues/git-issue-2441.dfy index 4179ecc87bc..bc9c8721ee2 100644 --- a/Test/git-issues/git-issue-2441.dfy +++ b/Test/git-issues/git-issue-2441.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype A = A(B: B) datatype B = X diff --git a/Test/git-issues/git-issue-2441.dfy.expect b/Test/git-issues/git-issue-2441.dfy.expect index e69de29bb2d..0c3f603d584 100644 --- a/Test/git-issues/git-issue-2441.dfy.expect +++ b/Test/git-issues/git-issue-2441.dfy.expect @@ -0,0 +1,6 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-2510.dfy b/Test/git-issues/git-issue-2510.dfy index 11ee2877bb3..22ef8e47058 100644 --- a/Test/git-issues/git-issue-2510.dfy +++ b/Test/git-issues/git-issue-2510.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:4 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" /// Check that the compiler accepts `:- assume {:axiom} …`. diff --git a/Test/git-issues/git-issue-2510.dfy.expect b/Test/git-issues/git-issue-2510.dfy.expect index 56a6051ca2b..b341a39a78d 100644 --- a/Test/git-issues/git-issue-2510.dfy.expect +++ b/Test/git-issues/git-issue-2510.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors 1 \ No newline at end of file diff --git a/Test/git-issues/git-issue-258.dfy b/Test/git-issues/git-issue-258.dfy index e6a5ef2248d..dbc437cebbc 100644 --- a/Test/git-issues/git-issue-258.dfy +++ b/Test/git-issues/git-issue-258.dfy @@ -1,5 +1,9 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /compile:3 /unicodeChar:0 /spillTargetCode:3 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /compile:3 /unicodeChar:0 /spillTargetCode:3 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /compile:3 /unicodeChar:0 /spillTargetCode:3 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /compile:3 /unicodeChar:0 /spillTargetCode:3 /compileTarget:go "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method pr(s: seq) { print s, "\n"; diff --git a/Test/git-issues/git-issue-258.dfy.expect b/Test/git-issues/git-issue-258.dfy.expect index 31b98032806..8cf196174b8 100644 --- a/Test/git-issues/git-issue-258.dfy.expect +++ b/Test/git-issues/git-issue-258.dfy.expect @@ -1,10 +1,83 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier finished with 1 verified, 0 errors +hi +hi + + +HI! +hi + +HI! + +[23, 45] +[23, 45] +[] +[] +abcabc +abcabc +abcdef +abcdef + + +[1, 2, 3, 4] +[1, 2, 3, 4] + +Dafny program verifier finished with 1 verified, 0 errors +hi +hi + + +HI! +hi + +HI! + +[23, 45] +[23, 45] +[] +[] +abcabc +abcabc +abcdef +abcdef + + +[1, 2, 3, 4] +[1, 2, 3, 4] + +Dafny program verifier finished with 1 verified, 0 errors hi hi HI! hi +[] +HI! + +[23, 45] +[23, 45] +[] +[] +abcabc +abcabc +abcdef +abcdef + + +[1, 2, 3, 4] +[1, 2, 3, 4] + +Dafny program verifier finished with 1 verified, 0 errors +hi +hi + +HI! +hi +[] HI! [23, 45] diff --git a/Test/git-issues/git-issue-258.dfy.go.expect b/Test/git-issues/git-issue-258.dfy.go.expect deleted file mode 100644 index 2745afdf6e1..00000000000 --- a/Test/git-issues/git-issue-258.dfy.go.expect +++ /dev/null @@ -1,21 +0,0 @@ -hi -hi - - -HI! -hi -[] -HI! - -[23, 45] -[23, 45] -[] -[] -abcabc -abcabc -abcdef -abcdef - - -[1, 2, 3, 4] -[1, 2, 3, 4] diff --git a/Test/git-issues/git-issue-258.dfy.js.expect b/Test/git-issues/git-issue-258.dfy.js.expect deleted file mode 100644 index 2745afdf6e1..00000000000 --- a/Test/git-issues/git-issue-258.dfy.js.expect +++ /dev/null @@ -1,21 +0,0 @@ -hi -hi - - -HI! -hi -[] -HI! - -[23, 45] -[23, 45] -[] -[] -abcabc -abcabc -abcdef -abcdef - - -[1, 2, 3, 4] -[1, 2, 3, 4] diff --git a/Test/git-issues/git-issue-2608.dfy b/Test/git-issues/git-issue-2608.dfy index c606177f94f..459c9ffbf94 100644 --- a/Test/git-issues/git-issue-2608.dfy +++ b/Test/git-issues/git-issue-2608.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /compileTarget:js "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method GetNext(i: int) returns (j: int, possible: bool) { if i == 1 { diff --git a/Test/git-issues/git-issue-2608.dfy.expect b/Test/git-issues/git-issue-2608.dfy.expect index d9ed583f710..dce7ba1814a 100644 --- a/Test/git-issues/git-issue-2608.dfy.expect +++ b/Test/git-issues/git-issue-2608.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors 82411246231944714271214 \ No newline at end of file diff --git a/Test/git-issues/git-issue-262.dfy b/Test/git-issues/git-issue-262.dfy index 22d9a31b2fe..2c00ad94a39 100644 --- a/Test/git-issues/git-issue-262.dfy +++ b/Test/git-issues/git-issue-262.dfy @@ -1,5 +1,8 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" +// RUN: %dafny /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" function tst(x: nat): nat { x + 1 diff --git a/Test/git-issues/git-issue-262.dfy.expect b/Test/git-issues/git-issue-262.dfy.expect index 41d8cd55158..76af42cd4a3 100644 --- a/Test/git-issues/git-issue-262.dfy.expect +++ b/Test/git-issues/git-issue-262.dfy.expect @@ -1,2 +1,20 @@ + +Dafny program verifier finished with 2 verified, 0 errors System.Func`2[System.Numerics.BigInteger,System.Numerics.BigInteger] System.Func`2[System.Numerics.BigInteger,System.Numerics.BigInteger] + +Dafny program verifier finished with 2 verified, 0 errors +tst(x) { + return (x).plus(_dafny.ONE); + } +tst(x) { + return (x).plus(_dafny.ONE); + } + +Dafny program verifier finished with 2 verified, 0 errors +func(dafny.Int) dafny.Int +func(dafny.Int) dafny.Int + +Dafny program verifier finished with 2 verified, 0 errors +Function +Function diff --git a/Test/git-issues/git-issue-262.dfy.go.expect b/Test/git-issues/git-issue-262.dfy.go.expect deleted file mode 100644 index 578754c176c..00000000000 --- a/Test/git-issues/git-issue-262.dfy.go.expect +++ /dev/null @@ -1,2 +0,0 @@ -func(dafny.Int) dafny.Int -func(dafny.Int) dafny.Int diff --git a/Test/git-issues/git-issue-262.dfy.java.expect b/Test/git-issues/git-issue-262.dfy.java.expect deleted file mode 100644 index aa5478ef8c9..00000000000 --- a/Test/git-issues/git-issue-262.dfy.java.expect +++ /dev/null @@ -1,2 +0,0 @@ -Function -Function diff --git a/Test/git-issues/git-issue-262.dfy.js.expect b/Test/git-issues/git-issue-262.dfy.js.expect deleted file mode 100644 index e181ef2fef8..00000000000 --- a/Test/git-issues/git-issue-262.dfy.js.expect +++ /dev/null @@ -1,6 +0,0 @@ -tst(x) { - return (x).plus(_dafny.ONE); - } -tst(x) { - return (x).plus(_dafny.ONE); - } diff --git a/Test/git-issues/git-issue-267.dfy b/Test/git-issues/git-issue-267.dfy index 2b0b3281589..cef2fcc6c17 100644 --- a/Test/git-issues/git-issue-267.dfy +++ b/Test/git-issues/git-issue-267.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var c := 1; diff --git a/Test/git-issues/git-issue-267.dfy.expect b/Test/git-issues/git-issue-267.dfy.expect index cd7da05e3d2..d71aef2f440 100644 --- a/Test/git-issues/git-issue-267.dfy.expect +++ b/Test/git-issues/git-issue-267.dfy.expect @@ -1 +1,14 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification +210 + +Dafny program verifier did not attempt verification +210 + +Dafny program verifier did not attempt verification +210 + +Dafny program verifier did not attempt verification 210 diff --git a/Test/git-issues/git-issue-2672.dfy b/Test/git-issues/git-issue-2672.dfy index 52c5b9c638c..338299ee8b7 100644 --- a/Test/git-issues/git-issue-2672.dfy +++ b/Test/git-issues/git-issue-2672.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" newtype sreal = r: real | r > -4 as real newtype sint = r: int | r > -4 as int diff --git a/Test/git-issues/git-issue-2672.dfy.expect b/Test/git-issues/git-issue-2672.dfy.expect index 43440a83d53..c9c3244b6f4 100644 --- a/Test/git-issues/git-issue-2672.dfy.expect +++ b/Test/git-issues/git-issue-2672.dfy.expect @@ -1,3 +1,47 @@ + +Dafny program verifier finished with 5 verified, 0 errors + +Dafny program verifier did not attempt verification +true true true true true true true true true true +false false false false false false false false false false +false false false false false false false false false false +true true true true true true true true true true +true true true true true true true true true true +false false false false false false false false false false +true true true +false false false + +Dafny program verifier did not attempt verification +true true true true true true true true true true +false false false false false false false false false false +false false false false false false false false false false +true true true true true true true true true true +true true true true true true true true true true +false false false false false false false false false false +true true true +false false false + +Dafny program verifier did not attempt verification +true true true true true true true true true true +false false false false false false false false false false +false false false false false false false false false false +true true true true true true true true true true +true true true true true true true true true true +false false false false false false false false false false +true true true +false false false + +Dafny program verifier did not attempt verification +true true true true true true true true true true +false false false false false false false false false false +false false false false false false false false false false +true true true true true true true true true true +true true true true true true true true true true +false false false false false false false false false false +true true true +false false false + +Dafny program verifier did not attempt verification true true true true true true true true true true false false false false false false false false false false false false false false false false false false false false diff --git a/Test/git-issues/git-issue-2726a.dfy b/Test/git-issues/git-issue-2726a.dfy index a43d5dd0107..641fefbbdc4 100644 --- a/Test/git-issues/git-issue-2726a.dfy +++ b/Test/git-issues/git-issue-2726a.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /compileTarget:cs "%s" > "%t" +// RUN: %diff "%s.expect" "%t" const digits := ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"] diff --git a/Test/git-issues/git-issue-2726a.dfy.expect b/Test/git-issues/git-issue-2726a.dfy.expect index 8e1bedb2a64..6985935c88c 100644 --- a/Test/git-issues/git-issue-2726a.dfy.expect +++ b/Test/git-issues/git-issue-2726a.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 1 verified, 0 errors 4 42 422 diff --git a/Test/git-issues/git-issue-2733.dfy b/Test/git-issues/git-issue-2733.dfy index 65bc2b991fd..232eab3cc74 100644 --- a/Test/git-issues/git-issue-2733.dfy +++ b/Test/git-issues/git-issue-2733.dfy @@ -1,4 +1,11 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cpp "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { print "XYZ"; // Checks that no extra newline is added to the output diff --git a/Test/git-issues/git-issue-2733.dfy.expect b/Test/git-issues/git-issue-2733.dfy.expect index 77bf25132db..b139e2f3d58 100644 --- a/Test/git-issues/git-issue-2733.dfy.expect +++ b/Test/git-issues/git-issue-2733.dfy.expect @@ -1 +1,15 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification +XYZ +Dafny program verifier did not attempt verification +XYZ +Dafny program verifier did not attempt verification +XYZ +Dafny program verifier did not attempt verification +XYZ +Dafny program verifier did not attempt verification +XYZ +Dafny program verifier did not attempt verification XYZ \ No newline at end of file diff --git a/Test/git-issues/git-issue-2792.dfy b/Test/git-issues/git-issue-2792.dfy index d2fb9db2055..89e736667c0 100644 --- a/Test/git-issues/git-issue-2792.dfy +++ b/Test/git-issues/git-issue-2792.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /compileTarget:java "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Wrapper = Wrapper(s: seq) { diff --git a/Test/git-issues/git-issue-2792.dfy.expect b/Test/git-issues/git-issue-2792.dfy.expect index ca1683c3020..c1e603c58fe 100644 --- a/Test/git-issues/git-issue-2792.dfy.expect +++ b/Test/git-issues/git-issue-2792.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 0 verified, 0 errors [] Wrapper2.Wrapper2([], 2792) diff --git a/Test/git-issues/git-issue-283.dfy b/Test/git-issues/git-issue-283.dfy index 1ca6d48d32c..c7c10f4aea3 100644 --- a/Test/git-issues/git-issue-283.dfy +++ b/Test/git-issues/git-issue-283.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Result = | Success(value: T) diff --git a/Test/git-issues/git-issue-283.dfy.expect b/Test/git-issues/git-issue-283.dfy.expect index a965a70ed4e..2adb114b8a0 100644 --- a/Test/git-issues/git-issue-283.dfy.expect +++ b/Test/git-issues/git-issue-283.dfy.expect @@ -1 +1,14 @@ + +Dafny program verifier finished with 9 verified, 0 errors + +Dafny program verifier did not attempt verification +Done + +Dafny program verifier did not attempt verification +Done + +Dafny program verifier did not attempt verification +Done + +Dafny program verifier did not attempt verification Done diff --git a/Test/git-issues/git-issue-283d.dfy b/Test/git-issues/git-issue-283d.dfy index 46c1056d5e1..54ee58fb456 100644 --- a/Test/git-issues/git-issue-283d.dfy +++ b/Test/git-issues/git-issue-283d.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Foo = R(v: int) diff --git a/Test/git-issues/git-issue-283d.dfy.expect b/Test/git-issues/git-issue-283d.dfy.expect index e69de29bb2d..8da23be5c8c 100644 --- a/Test/git-issues/git-issue-283d.dfy.expect +++ b/Test/git-issues/git-issue-283d.dfy.expect @@ -0,0 +1,10 @@ + +Dafny program verifier finished with 4 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-314.dfy b/Test/git-issues/git-issue-314.dfy index a7fc06564a5..5e3e93ca654 100644 --- a/Test/git-issues/git-issue-314.dfy +++ b/Test/git-issues/git-issue-314.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype S = S(G: array) datatype T = T(F: array, ghost Repr: set) diff --git a/Test/git-issues/git-issue-314.dfy.expect b/Test/git-issues/git-issue-314.dfy.expect index e69de29bb2d..f02fc57989a 100644 --- a/Test/git-issues/git-issue-314.dfy.expect +++ b/Test/git-issues/git-issue-314.dfy.expect @@ -0,0 +1,10 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-332.dfy b/Test/git-issues/git-issue-332.dfy index 5166441405d..ca2b08f3e8d 100644 --- a/Test/git-issues/git-issue-332.dfy +++ b/Test/git-issues/git-issue-332.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var foo := new B.Foo(15); diff --git a/Test/git-issues/git-issue-332.dfy.expect b/Test/git-issues/git-issue-332.dfy.expect index 209e3ef4b62..57cad39addf 100644 --- a/Test/git-issues/git-issue-332.dfy.expect +++ b/Test/git-issues/git-issue-332.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 6 verified, 0 errors 20 diff --git a/Test/git-issues/git-issue-354.dfy b/Test/git-issues/git-issue-354.dfy index c3d63021209..5938c2f71ae 100644 --- a/Test/git-issues/git-issue-354.dfy +++ b/Test/git-issues/git-issue-354.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" class C { static const u: X diff --git a/Test/git-issues/git-issue-354.dfy.expect b/Test/git-issues/git-issue-354.dfy.expect index 4368562357f..cb5ae21dc46 100644 --- a/Test/git-issues/git-issue-354.dfy.expect +++ b/Test/git-issues/git-issue-354.dfy.expect @@ -1,3 +1,25 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification +0 +0 +0.0 +false + +Dafny program verifier did not attempt verification +0 +0 +0.0 +false + +Dafny program verifier did not attempt verification +0 +0 +0.0 +false + +Dafny program verifier did not attempt verification 0 0 0.0 diff --git a/Test/git-issues/git-issue-356.dfy b/Test/git-issues/git-issue-356.dfy index 2d497c0531c..f5c34b0803b 100644 --- a/Test/git-issues/git-issue-356.dfy +++ b/Test/git-issues/git-issue-356.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" module M { type Tx = i: int | 0 <= i <= 100 diff --git a/Test/git-issues/git-issue-356.dfy.expect b/Test/git-issues/git-issue-356.dfy.expect index 9d984ec4ef4..cff4ed233e1 100644 --- a/Test/git-issues/git-issue-356.dfy.expect +++ b/Test/git-issues/git-issue-356.dfy.expect @@ -1,3 +1,39 @@ + +Dafny program verifier finished with 25 verified, 0 errors + +Dafny program verifier did not attempt verification +a d 57005 * * +Z 90 90.0 90 90 +* 42 42.0 42 42 +F 70 70.0 70 70 +# 35 35.0 35 35 +END + +Dafny program verifier did not attempt verification +a d 57005 * * +Z 90 90.0 90 90 +* 42 42.0 42 42 +F 70 70.0 70 70 +# 35 35.0 35 35 +END + +Dafny program verifier did not attempt verification +a d 57005 * * +Z 90 90.0 90 90 +* 42 42.0 42 42 +F 70 70.0 70 70 +# 35 35.0 35 35 +END + +Dafny program verifier did not attempt verification +a d 57005 * * +Z 90 90.0 90 90 +* 42 42.0 42 42 +F 70 70.0 70 70 +# 35 35.0 35 35 +END + +Dafny program verifier did not attempt verification a d 57005 * * Z 90 90.0 90 90 * 42 42.0 42 42 diff --git a/Test/git-issues/git-issue-364.dfy b/Test/git-issues/git-issue-364.dfy index 68c75931746..0fdedc7d9c0 100644 --- a/Test/git-issues/git-issue-364.dfy +++ b/Test/git-issues/git-issue-364.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype NatOutcome = | Success(value: nat) diff --git a/Test/git-issues/git-issue-364.dfy.expect b/Test/git-issues/git-issue-364.dfy.expect index 38478c6c688..1368349d437 100644 --- a/Test/git-issues/git-issue-364.dfy.expect +++ b/Test/git-issues/git-issue-364.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 4 verified, 0 errors NatOutcome.Success(55) false 55 12 0 NatOutcome.Failure("it could be worse") true NatOutcome.Failure("it could be worse") diff --git a/Test/git-issues/git-issue-374.dfy b/Test/git-issues/git-issue-374.dfy index 15b56ec6396..4c031b7d3ff 100644 --- a/Test/git-issues/git-issue-374.dfy +++ b/Test/git-issues/git-issue-374.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" class C { constructor(ghost x: int) diff --git a/Test/git-issues/git-issue-374.dfy.expect b/Test/git-issues/git-issue-374.dfy.expect index e69de29bb2d..f02fc57989a 100644 --- a/Test/git-issues/git-issue-374.dfy.expect +++ b/Test/git-issues/git-issue-374.dfy.expect @@ -0,0 +1,10 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-396.dfy b/Test/git-issues/git-issue-396.dfy index 7866d3d0498..2ab68e51e12 100644 --- a/Test/git-issues/git-issue-396.dfy +++ b/Test/git-issues/git-issue-396.dfy @@ -1,4 +1,8 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" +// RUN: %dafny /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Foo = Bar(value: int) diff --git a/Test/git-issues/git-issue-396.dfy.expect b/Test/git-issues/git-issue-396.dfy.expect index dee79f10940..3dd340d3178 100644 --- a/Test/git-issues/git-issue-396.dfy.expect +++ b/Test/git-issues/git-issue-396.dfy.expect @@ -1 +1,12 @@ + +Dafny program verifier finished with 1 verified, 0 errors +114 + +Dafny program verifier finished with 1 verified, 0 errors +114 + +Dafny program verifier finished with 1 verified, 0 errors +114 + +Dafny program verifier finished with 1 verified, 0 errors 114 diff --git a/Test/git-issues/git-issue-4007.dfy b/Test/git-issues/git-issue-4007.dfy index 5a279e7b8e6..e4c25b82bb8 100644 --- a/Test/git-issues/git-issue-4007.dfy +++ b/Test/git-issues/git-issue-4007.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:4 /compileTarget:py "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var a := 0; @@ -6,4 +7,4 @@ method Main() { a := a + 1; } print a, "\n"; -} +} \ No newline at end of file diff --git a/Test/git-issues/git-issue-4007.dfy.expect b/Test/git-issues/git-issue-4007.dfy.expect index 00750edc07d..3ce6919d35b 100644 --- a/Test/git-issues/git-issue-4007.dfy.expect +++ b/Test/git-issues/git-issue-4007.dfy.expect @@ -1 +1,4 @@ +git-issue-4007.dfy(6,20): Warning: /!\ No terms found to trigger on. + +Dafny program verifier finished with 1 verified, 0 errors 3 diff --git a/Test/git-issues/git-issue-4007.dfy.verifier.expect b/Test/git-issues/git-issue-4007.dfy.verifier.expect deleted file mode 100644 index 1d4310d09b5..00000000000 --- a/Test/git-issues/git-issue-4007.dfy.verifier.expect +++ /dev/null @@ -1 +0,0 @@ -git-issue-4007.dfy(5,20): Warning: /!\ No terms found to trigger on. diff --git a/Test/git-issues/git-issue-4012.dfy b/Test/git-issues/git-issue-4012.dfy index 5360c0e935b..e065393a211 100644 --- a/Test/git-issues/git-issue-4012.dfy +++ b/Test/git-issues/git-issue-4012.dfy @@ -1,7 +1,8 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:4 /compileTarget:py "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var x: multiset := multiset{}; x := x[1 := 18446744073709551616]; print |x|, "\n"; -} +} \ No newline at end of file diff --git a/Test/git-issues/git-issue-4012.dfy.expect b/Test/git-issues/git-issue-4012.dfy.expect index ab69b99fab4..230fbdbd384 100644 --- a/Test/git-issues/git-issue-4012.dfy.expect +++ b/Test/git-issues/git-issue-4012.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 1 verified, 0 errors 18446744073709551616 diff --git a/Test/git-issues/git-issue-425.dfy b/Test/git-issues/git-issue-425.dfy index 122a10e4fbb..4e555daaed0 100644 --- a/Test/git-issues/git-issue-425.dfy +++ b/Test/git-issues/git-issue-425.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method M() returns (x: int, ghost y: int) { return 42, 43; diff --git a/Test/git-issues/git-issue-425.dfy.expect b/Test/git-issues/git-issue-425.dfy.expect index daaac9e3030..c2284013d9e 100644 --- a/Test/git-issues/git-issue-425.dfy.expect +++ b/Test/git-issues/git-issue-425.dfy.expect @@ -1,2 +1,18 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification +42 +42 + +Dafny program verifier did not attempt verification +42 +42 + +Dafny program verifier did not attempt verification +42 +42 + +Dafny program verifier did not attempt verification 42 42 diff --git a/Test/git-issues/git-issue-443.dfy b/Test/git-issues/git-issue-443.dfy index 6702e37484f..e8745b5ddda 100644 --- a/Test/git-issues/git-issue-443.dfy +++ b/Test/git-issues/git-issue-443.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { print F(), " ", G(802.11), "\n"; // 12 15 diff --git a/Test/git-issues/git-issue-443.dfy.expect b/Test/git-issues/git-issue-443.dfy.expect index 0b64712fdcf..10af01216da 100644 --- a/Test/git-issues/git-issue-443.dfy.expect +++ b/Test/git-issues/git-issue-443.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors 12 15 diff --git a/Test/git-issues/git-issue-446.dfy b/Test/git-issues/git-issue-446.dfy index a66a9272d18..0656587fd03 100644 --- a/Test/git-issues/git-issue-446.dfy +++ b/Test/git-issues/git-issue-446.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Result = Success(value: T) | Failure(error: string) { diff --git a/Test/git-issues/git-issue-446.dfy.expect b/Test/git-issues/git-issue-446.dfy.expect index 8165c2056d0..18195d22344 100644 --- a/Test/git-issues/git-issue-446.dfy.expect +++ b/Test/git-issues/git-issue-446.dfy.expect @@ -1,3 +1,22 @@ + +Dafny program verifier finished with 9 verified, 0 errors + +Dafny program verifier did not attempt verification +true -2 +true 42 +End + +Dafny program verifier did not attempt verification +true -2 +true 42 +End + +Dafny program verifier did not attempt verification +true -2 +true 42 +End + +Dafny program verifier did not attempt verification true -2 true 42 End diff --git a/Test/git-issues/git-issue-446a.dfy b/Test/git-issues/git-issue-446a.dfy index 2c559cea76d..41917680fee 100644 --- a/Test/git-issues/git-issue-446a.dfy +++ b/Test/git-issues/git-issue-446a.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Result = Success(value: T) | Failure(error: string) { diff --git a/Test/git-issues/git-issue-446a.dfy.expect b/Test/git-issues/git-issue-446a.dfy.expect index 9897e1c3f56..fbf9ee6f31d 100644 --- a/Test/git-issues/git-issue-446a.dfy.expect +++ b/Test/git-issues/git-issue-446a.dfy.expect @@ -1,3 +1,22 @@ + +Dafny program verifier finished with 9 verified, 0 errors + +Dafny program verifier did not attempt verification +OK +true OK +true -2 End + +Dafny program verifier did not attempt verification +OK +true OK +true -2 End + +Dafny program verifier did not attempt verification +OK +true OK +true -2 End + +Dafny program verifier did not attempt verification OK true OK true -2 End diff --git a/Test/git-issues/git-issue-446b.dfy b/Test/git-issues/git-issue-446b.dfy index 79e55d9a1f8..aa7ac30d9a7 100644 --- a/Test/git-issues/git-issue-446b.dfy +++ b/Test/git-issues/git-issue-446b.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Result = Success(value: T) | Failure(error: string) { diff --git a/Test/git-issues/git-issue-446b.dfy.expect b/Test/git-issues/git-issue-446b.dfy.expect index 36fdd8ba47b..0e99363fdb9 100644 --- a/Test/git-issues/git-issue-446b.dfy.expect +++ b/Test/git-issues/git-issue-446b.dfy.expect @@ -1,3 +1,28 @@ + +Dafny program verifier finished with 10 verified, 0 errors + +Dafny program verifier did not attempt verification +OK +true OK +true -2 +true 100 +End + +Dafny program verifier did not attempt verification +OK +true OK +true -2 +true 100 +End + +Dafny program verifier did not attempt verification +OK +true OK +true -2 +true 100 +End + +Dafny program verifier did not attempt verification OK true OK true -2 diff --git a/Test/git-issues/git-issue-478-good.dfy b/Test/git-issues/git-issue-478-good.dfy index 9abce41e97c..b3fab26a312 100644 --- a/Test/git-issues/git-issue-478-good.dfy +++ b/Test/git-issues/git-issue-478-good.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // By first defining import LibA and then defining a module LibA, // the latter used to generate: diff --git a/Test/git-issues/git-issue-478-good.dfy.expect b/Test/git-issues/git-issue-478-good.dfy.expect index 6807b84eba5..17aea610943 100644 --- a/Test/git-issues/git-issue-478-good.dfy.expect +++ b/Test/git-issues/git-issue-478-good.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 1 verified, 0 errors hello hello hi diff --git a/Test/git-issues/git-issue-506.dfy b/Test/git-issues/git-issue-506.dfy index b2a409951a1..d25596621de 100644 --- a/Test/git-issues/git-issue-506.dfy +++ b/Test/git-issues/git-issue-506.dfy @@ -1,4 +1,8 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" +// RUN: %dafny /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/git-issues/git-issue-506.dfy.expect b/Test/git-issues/git-issue-506.dfy.expect index ef2606ec5dc..e2bb6d644d9 100644 --- a/Test/git-issues/git-issue-506.dfy.expect +++ b/Test/git-issues/git-issue-506.dfy.expect @@ -1,3 +1,29 @@ + +Dafny program verifier finished with 2 verified, 0 errors +7 301 +8 391 +2 2 +4 5 +6 7 +2 3 7 0 + +Dafny program verifier finished with 2 verified, 0 errors +7 301 +8 391 +2 2 +4 5 +6 7 +2 3 7 0 + +Dafny program verifier finished with 2 verified, 0 errors +7 301 +8 391 +2 2 +4 5 +6 7 +2 3 7 0 + +Dafny program verifier finished with 2 verified, 0 errors 7 301 8 391 2 2 diff --git a/Test/git-issues/git-issue-532.dfy b/Test/git-issues/git-issue-532.dfy index 2a2b5aaaf2e..3d511dbb4c8 100644 --- a/Test/git-issues/git-issue-532.dfy +++ b/Test/git-issues/git-issue-532.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" predicate SuppressNoTriggerWarning(x: X) { true } diff --git a/Test/git-issues/git-issue-532.dfy.expect b/Test/git-issues/git-issue-532.dfy.expect index 0f3ef3de427..1bd9e82cc5a 100644 --- a/Test/git-issues/git-issue-532.dfy.expect +++ b/Test/git-issues/git-issue-532.dfy.expect @@ -1,3 +1,22 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification +t.x=5 The given Tr is a C, and c.y=6 +t.x=100 The given Tr is not a C +t.x=5 The given Tr is a C, and c.y=16 + +Dafny program verifier did not attempt verification +t.x=5 The given Tr is a C, and c.y=6 +t.x=100 The given Tr is not a C +t.x=5 The given Tr is a C, and c.y=16 + +Dafny program verifier did not attempt verification +t.x=5 The given Tr is a C, and c.y=6 +t.x=100 The given Tr is not a C +t.x=5 The given Tr is a C, and c.y=16 + +Dafny program verifier did not attempt verification t.x=5 The given Tr is a C, and c.y=6 t.x=100 The given Tr is not a C t.x=5 The given Tr is a C, and c.y=16 diff --git a/Test/git-issues/git-issue-549.dfy b/Test/git-issues/git-issue-549.dfy index d362a0bd039..2e5ab322f23 100644 --- a/Test/git-issues/git-issue-549.dfy +++ b/Test/git-issues/git-issue-549.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" trait T { function bar(): bv8 diff --git a/Test/git-issues/git-issue-549.dfy.expect b/Test/git-issues/git-issue-549.dfy.expect index 6e0790e778e..3ae509fee5e 100644 --- a/Test/git-issues/git-issue-549.dfy.expect +++ b/Test/git-issues/git-issue-549.dfy.expect @@ -1,2 +1,10 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification +bar() = 1 +bar() = 1 + +Dafny program verifier did not attempt verification bar() = 1 bar() = 1 diff --git a/Test/git-issues/git-issue-622$f.dfy b/Test/git-issues/git-issue-622$f.dfy index 2a7003e0f4e..fe4fdf38e03 100644 --- a/Test/git-issues/git-issue-622$f.dfy +++ b/Test/git-issues/git-issue-622$f.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:3 /compileTarget:java /spillTargetCode:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { } diff --git a/Test/git-issues/git-issue-622$f.dfy.expect b/Test/git-issues/git-issue-622$f.dfy.expect index e69de29bb2d..012f5b99379 100644 --- a/Test/git-issues/git-issue-622$f.dfy.expect +++ b/Test/git-issues/git-issue-622$f.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/git-issues/git-issue-633.dfy b/Test/git-issues/git-issue-633.dfy index dd547fe65a6..5d9b5aecf58 100644 --- a/Test/git-issues/git-issue-633.dfy +++ b/Test/git-issues/git-issue-633.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation /Users/salkeldr/Documents/GitHub/dafny/Test/git-issues/git-issue-633A.dfy +// RUN: %dafny /compile:0 "%s" %S/git-issue-633A.dfy > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs /spillTargetCode:3 "%s" %S/git-issue-633A.dfy >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js /spillTargetCode:3 "%s" %S/git-issue-633A.dfy >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go /spillTargetCode:3 "%s" %S/git-issue-633A.dfy >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java /spillTargetCode:3 "%s" %S/git-issue-633A.dfy >> "%t" +// RUN: %diff "%s.expect" "%t" method m() { print "OK\n"; diff --git a/Test/git-issues/git-issue-633.dfy.expect b/Test/git-issues/git-issue-633.dfy.expect index e69de29bb2d..f02fc57989a 100644 --- a/Test/git-issues/git-issue-633.dfy.expect +++ b/Test/git-issues/git-issue-633.dfy.expect @@ -0,0 +1,10 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-684.dfy b/Test/git-issues/git-issue-684.dfy index 4c2b0a8fa02..b1fbd7ab036 100644 --- a/Test/git-issues/git-issue-684.dfy +++ b/Test/git-issues/git-issue-684.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Level1 = Level1(u:int) datatype Level2 = Level2(u:int, l:Level1) diff --git a/Test/git-issues/git-issue-684.dfy.expect b/Test/git-issues/git-issue-684.dfy.expect index e69de29bb2d..65d3b5d6635 100644 --- a/Test/git-issues/git-issue-684.dfy.expect +++ b/Test/git-issues/git-issue-684.dfy.expect @@ -0,0 +1,10 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-686.dfy b/Test/git-issues/git-issue-686.dfy index 9845ce2b027..bbc975200c8 100644 --- a/Test/git-issues/git-issue-686.dfy +++ b/Test/git-issues/git-issue-686.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Color = Blue | Red diff --git a/Test/git-issues/git-issue-686.dfy.expect b/Test/git-issues/git-issue-686.dfy.expect index c12f8e66df2..f30b0581688 100644 --- a/Test/git-issues/git-issue-686.dfy.expect +++ b/Test/git-issues/git-issue-686.dfy.expect @@ -1 +1,24 @@ +git-issue-686.dfy(13,2): Warning: this branch is redundant +git-issue-686.dfy(21,2): Warning: this branch is redundant + +Dafny program verifier finished with 1 verified, 0 errors +git-issue-686.dfy(13,2): Warning: this branch is redundant +git-issue-686.dfy(21,2): Warning: this branch is redundant + +Dafny program verifier did not attempt verification +6 0 +git-issue-686.dfy(13,2): Warning: this branch is redundant +git-issue-686.dfy(21,2): Warning: this branch is redundant + +Dafny program verifier did not attempt verification +6 0 +git-issue-686.dfy(13,2): Warning: this branch is redundant +git-issue-686.dfy(21,2): Warning: this branch is redundant + +Dafny program verifier did not attempt verification +6 0 +git-issue-686.dfy(13,2): Warning: this branch is redundant +git-issue-686.dfy(21,2): Warning: this branch is redundant + +Dafny program verifier did not attempt verification 6 0 diff --git a/Test/git-issues/git-issue-686.dfy.verifier.expect b/Test/git-issues/git-issue-686.dfy.verifier.expect deleted file mode 100644 index 805bd55730c..00000000000 --- a/Test/git-issues/git-issue-686.dfy.verifier.expect +++ /dev/null @@ -1,2 +0,0 @@ -git-issue-686.dfy(8,2): Warning: this branch is redundant -git-issue-686.dfy(16,2): Warning: this branch is redundant diff --git a/Test/git-issues/git-issue-697.dfy b/Test/git-issues/git-issue-697.dfy index 23cce66dee7..095c1a02399 100644 --- a/Test/git-issues/git-issue-697.dfy +++ b/Test/git-issues/git-issue-697.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Cell = Cell(x: int) type EvenCell = c: Cell | c.x % 2 == 0 witness Cell(0) diff --git a/Test/git-issues/git-issue-697.dfy.expect b/Test/git-issues/git-issue-697.dfy.expect index f32a5804e29..188a72ebc36 100644 --- a/Test/git-issues/git-issue-697.dfy.expect +++ b/Test/git-issues/git-issue-697.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-697b.dfy b/Test/git-issues/git-issue-697b.dfy index cdb054d8d78..cfdd3fd0821 100644 --- a/Test/git-issues/git-issue-697b.dfy +++ b/Test/git-issues/git-issue-697b.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Cell = Cell(x: int) type EvenCell = c: Cell | c.x % 2 == 0 witness Cell(0) diff --git a/Test/git-issues/git-issue-697b.dfy.expect b/Test/git-issues/git-issue-697b.dfy.expect index 9c777ac6a0f..b355409912b 100644 --- a/Test/git-issues/git-issue-697b.dfy.expect +++ b/Test/git-issues/git-issue-697b.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors false 2 diff --git a/Test/git-issues/git-issue-697d.dfy b/Test/git-issues/git-issue-697d.dfy index 8b65c2da4f7..71a262fc985 100644 --- a/Test/git-issues/git-issue-697d.dfy +++ b/Test/git-issues/git-issue-697d.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" function nonGhostPredicate(x: int): bool { x % 2 == 0 diff --git a/Test/git-issues/git-issue-697d.dfy.expect b/Test/git-issues/git-issue-697d.dfy.expect index f32a5804e29..48fb59aeae5 100644 --- a/Test/git-issues/git-issue-697d.dfy.expect +++ b/Test/git-issues/git-issue-697d.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 4 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-697e.dfy b/Test/git-issues/git-issue-697e.dfy index 310851abf9a..e4500bfab28 100644 --- a/Test/git-issues/git-issue-697e.dfy +++ b/Test/git-issues/git-issue-697e.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Cell = Cell(x: int) type EvenCell = c: Cell | c.x % 2 == 0 witness Cell(0) diff --git a/Test/git-issues/git-issue-697e.dfy.expect b/Test/git-issues/git-issue-697e.dfy.expect index e69de29bb2d..00a51f822da 100644 --- a/Test/git-issues/git-issue-697e.dfy.expect +++ b/Test/git-issues/git-issue-697e.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 3 verified, 0 errors diff --git a/Test/git-issues/git-issue-697f.dfy b/Test/git-issues/git-issue-697f.dfy index acb8810dfbf..92d1cec2ed8 100644 --- a/Test/git-issues/git-issue-697f.dfy +++ b/Test/git-issues/git-issue-697f.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" ghost function ghostPredicate(x: int): bool { x % 2 == 0 diff --git a/Test/git-issues/git-issue-697f.dfy.expect b/Test/git-issues/git-issue-697f.dfy.expect index b5754e20373..3e2cf8d0f69 100644 --- a/Test/git-issues/git-issue-697f.dfy.expect +++ b/Test/git-issues/git-issue-697f.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 4 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-697g.dfy b/Test/git-issues/git-issue-697g.dfy index 7b30de7f3a0..c3b7581ff61 100644 --- a/Test/git-issues/git-issue-697g.dfy +++ b/Test/git-issues/git-issue-697g.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" function returnNat(c: nat): int { diff --git a/Test/git-issues/git-issue-697g.dfy.expect b/Test/git-issues/git-issue-697g.dfy.expect index f32a5804e29..d9157fa820a 100644 --- a/Test/git-issues/git-issue-697g.dfy.expect +++ b/Test/git-issues/git-issue-697g.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-698.dfy b/Test/git-issues/git-issue-698.dfy index 7b7a9ca15b8..b15295c9b46 100644 --- a/Test/git-issues/git-issue-698.dfy +++ b/Test/git-issues/git-issue-698.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" type Small = x: int | 0 <= x < 100 && x != 3 diff --git a/Test/git-issues/git-issue-698.dfy.expect b/Test/git-issues/git-issue-698.dfy.expect index 27ba77ddaf6..7f965a65d2e 100644 --- a/Test/git-issues/git-issue-698.dfy.expect +++ b/Test/git-issues/git-issue-698.dfy.expect @@ -1 +1,8 @@ + +Dafny program verifier finished with 3 verified, 0 errors + +Dafny program verifier did not attempt verification +true + +Dafny program verifier did not attempt verification true diff --git a/Test/git-issues/git-issue-698b.dfy b/Test/git-issues/git-issue-698b.dfy index dbdbc3b36d3..1d4a92456e6 100644 --- a/Test/git-issues/git-issue-698b.dfy +++ b/Test/git-issues/git-issue-698b.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" type Small = x: int | 0 <= x < 100 && x != 3 @@ -12,4 +13,4 @@ method Main() { var b := !exists n: Small :: F(n) != 100; assert b; print b; -} +} \ No newline at end of file diff --git a/Test/git-issues/git-issue-698b.dfy.expect b/Test/git-issues/git-issue-698b.dfy.expect index f32a5804e29..188a72ebc36 100644 --- a/Test/git-issues/git-issue-698b.dfy.expect +++ b/Test/git-issues/git-issue-698b.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-701.dfy b/Test/git-issues/git-issue-701.dfy index 38984df4ecf..af19f0d89e2 100644 --- a/Test/git-issues/git-issue-701.dfy +++ b/Test/git-issues/git-issue-701.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var ca := new ClassA; diff --git a/Test/git-issues/git-issue-701.dfy.expect b/Test/git-issues/git-issue-701.dfy.expect index 5198c09cbb1..4d20966e641 100644 --- a/Test/git-issues/git-issue-701.dfy.expect +++ b/Test/git-issues/git-issue-701.dfy.expect @@ -1,3 +1,22 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification +0 0 0 +[] [] [] +C.Nothing C.Nothing C.Nothing + +Dafny program verifier did not attempt verification +0 0 0 +[] [] [] +C.Nothing C.Nothing C.Nothing + +Dafny program verifier did not attempt verification +0 0 0 +[] [] [] +C.Nothing C.Nothing C.Nothing + +Dafny program verifier did not attempt verification 0 0 0 [] [] [] C.Nothing C.Nothing C.Nothing diff --git a/Test/git-issues/git-issue-705.dfy b/Test/git-issues/git-issue-705.dfy index 9c36a336e8e..d4b806800c2 100644 --- a/Test/git-issues/git-issue-705.dfy +++ b/Test/git-issues/git-issue-705.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs /spillTargetCode:3 "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js /spillTargetCode:3 "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go /spillTargetCode:3 "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java /spillTargetCode:3 "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype MyDataType = AAA { function toString(): int { 222 } diff --git a/Test/git-issues/git-issue-705.dfy.expect b/Test/git-issues/git-issue-705.dfy.expect index 79a1eee7c74..02cf409667a 100644 --- a/Test/git-issues/git-issue-705.dfy.expect +++ b/Test/git-issues/git-issue-705.dfy.expect @@ -1 +1,14 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification +MyDataType.AAA 222 + +Dafny program verifier did not attempt verification +MyDataType.AAA 222 + +Dafny program verifier did not attempt verification +MyDataType.AAA 222 + +Dafny program verifier did not attempt verification MyDataType.AAA 222 diff --git a/Test/git-issues/git-issue-731.dfy b/Test/git-issues/git-issue-731.dfy index 348d40fecea..05d02fea1af 100644 --- a/Test/git-issues/git-issue-731.dfy +++ b/Test/git-issues/git-issue-731.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" trait Trait { const y: Y diff --git a/Test/git-issues/git-issue-731.dfy.expect b/Test/git-issues/git-issue-731.dfy.expect index 7554a44901e..69b2e6af648 100644 --- a/Test/git-issues/git-issue-731.dfy.expect +++ b/Test/git-issues/git-issue-731.dfy.expect @@ -1,2 +1,18 @@ + +Dafny program verifier finished with 3 verified, 0 errors + +Dafny program verifier did not attempt verification +0 0 0 42 +0 0 0 9 + +Dafny program verifier did not attempt verification +0 0 0 42 +0 0 0 9 + +Dafny program verifier did not attempt verification +0 0 0 42 +0 0 0 9 + +Dafny program verifier did not attempt verification 0 0 0 42 0 0 0 9 diff --git a/Test/git-issues/git-issue-731b.dfy b/Test/git-issues/git-issue-731b.dfy index 2a0507839a2..a77dbd6323b 100644 --- a/Test/git-issues/git-issue-731b.dfy +++ b/Test/git-issues/git-issue-731b.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // Testing issue#731 when the class in question has type parameters diff --git a/Test/git-issues/git-issue-731b.dfy.expect b/Test/git-issues/git-issue-731b.dfy.expect index dd3226d2b73..97e6c041920 100644 --- a/Test/git-issues/git-issue-731b.dfy.expect +++ b/Test/git-issues/git-issue-731b.dfy.expect @@ -1 +1,14 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification +0 42 + +Dafny program verifier did not attempt verification +0 42 + +Dafny program verifier did not attempt verification +0 42 + +Dafny program verifier did not attempt verification 0 42 diff --git a/Test/git-issues/git-issue-755.dfy b/Test/git-issues/git-issue-755.dfy index 2227a486a21..25fb3e6a485 100644 --- a/Test/git-issues/git-issue-755.dfy +++ b/Test/git-issues/git-issue-755.dfy @@ -1,5 +1,9 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var s := { 1,9,3,7,5}; diff --git a/Test/git-issues/git-issue-755.dfy.expect b/Test/git-issues/git-issue-755.dfy.expect index 9182de3a24a..c930da26922 100644 --- a/Test/git-issues/git-issue-755.dfy.expect +++ b/Test/git-issues/git-issue-755.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 5 verified, 0 errors + +Dafny program verifier did not attempt verification 1 3 5 @@ -5,3 +9,30 @@ 9 1 3 3 5 + +Dafny program verifier did not attempt verification +1 +9 +3 +7 +5 +1 3 +3 5 + +Dafny program verifier did not attempt verification +1 +9 +3 +7 +5 +1 3 +3 5 + +Dafny program verifier did not attempt verification +1 +3 +5 +7 +9 +3 5 +1 3 diff --git a/Test/git-issues/git-issue-755.dfy.go.expect b/Test/git-issues/git-issue-755.dfy.go.expect deleted file mode 100644 index f41e86c7579..00000000000 --- a/Test/git-issues/git-issue-755.dfy.go.expect +++ /dev/null @@ -1,7 +0,0 @@ -1 -9 -3 -7 -5 -1 3 -3 5 diff --git a/Test/git-issues/git-issue-755.dfy.java.expect b/Test/git-issues/git-issue-755.dfy.java.expect deleted file mode 100644 index f4407f49a6f..00000000000 --- a/Test/git-issues/git-issue-755.dfy.java.expect +++ /dev/null @@ -1,7 +0,0 @@ -1 -3 -5 -7 -9 -3 5 -1 3 diff --git a/Test/git-issues/git-issue-755.dfy.js.expect b/Test/git-issues/git-issue-755.dfy.js.expect deleted file mode 100644 index f41e86c7579..00000000000 --- a/Test/git-issues/git-issue-755.dfy.js.expect +++ /dev/null @@ -1,7 +0,0 @@ -1 -9 -3 -7 -5 -1 3 -3 5 diff --git a/Test/git-issues/git-issue-784.dfy b/Test/git-issues/git-issue-784.dfy index 5f6cf59465c..78b83f01064 100644 --- a/Test/git-issues/git-issue-784.dfy +++ b/Test/git-issues/git-issue-784.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype List = Nil | Cons(T, List) { function App(ys: List): List { diff --git a/Test/git-issues/git-issue-784.dfy.expect b/Test/git-issues/git-issue-784.dfy.expect index e69de29bb2d..8da23be5c8c 100644 --- a/Test/git-issues/git-issue-784.dfy.expect +++ b/Test/git-issues/git-issue-784.dfy.expect @@ -0,0 +1,10 @@ + +Dafny program verifier finished with 4 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-953.dfy b/Test/git-issues/git-issue-953.dfy index 1032ad45a3a..0e9e0198b90 100644 --- a/Test/git-issues/git-issue-953.dfy +++ b/Test/git-issues/git-issue-953.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" module P { datatype T_ = T() // the underscore in this name once caused a problem in Java compilation diff --git a/Test/git-issues/git-issue-953.dfy.expect b/Test/git-issues/git-issue-953.dfy.expect index d992760e80b..b731ec2edbe 100644 --- a/Test/git-issues/git-issue-953.dfy.expect +++ b/Test/git-issues/git-issue-953.dfy.expect @@ -1,3 +1,39 @@ + +Dafny program verifier finished with 6 verified, 0 errors + +Dafny program verifier did not attempt verification +C_Compile.T_.T +P_Compile.T_.T +OtherNamesWithSpecialCharacters_q___Compile.A?_.A?_ OtherNamesWithSpecialCharacters_q___Compile.B?_.B?_ +17 17 0 0 +C2_Compile.C.C(10, 11) +9 + +Dafny program verifier did not attempt verification +C_Compile.T_.T +P_Compile.T_.T +OtherNamesWithSpecialCharacters_q___Compile.A?_.A?_ OtherNamesWithSpecialCharacters_q___Compile.B?_.B?_ +17 17 0 0 +C2_Compile.C.C(10, 11) +9 + +Dafny program verifier did not attempt verification +C_Compile.T_.T +P_Compile.T_.T +OtherNamesWithSpecialCharacters_q___Compile.A?_.A?_ OtherNamesWithSpecialCharacters_q___Compile.B?_.B?_ +17 17 0 0 +C2_Compile.C.C(10, 11) +9 + +Dafny program verifier did not attempt verification +C_Compile.T_.T +P_Compile.T_.T +OtherNamesWithSpecialCharacters_q___Compile.A?_.A?_ OtherNamesWithSpecialCharacters_q___Compile.B?_.B?_ +17 17 0 0 +C2_Compile.C.C(10, 11) +9 + +Dafny program verifier did not attempt verification C_Compile.T_.T P_Compile.T_.T OtherNamesWithSpecialCharacters_q___Compile.A?_.A?_ OtherNamesWithSpecialCharacters_q___Compile.B?_.B?_ diff --git a/Test/git-issues/github-issue-3343.dfy b/Test/git-issues/github-issue-3343.dfy index d518b2a1a41..517a11d7fc1 100644 --- a/Test/git-issues/github-issue-3343.dfy +++ b/Test/git-issues/github-issue-3343.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" +// RUN: %baredafny run "%s" -t:java > "%t" +// RUN: %diff "%s.expect" "%t" method Bug() { var zero := 0; var a := new int[zero] []; diff --git a/Test/git-issues/github-issue-3343.dfy.expect b/Test/git-issues/github-issue-3343.dfy.expect index e69de29bb2d..823a60a105c 100644 --- a/Test/git-issues/github-issue-3343.dfy.expect +++ b/Test/git-issues/github-issue-3343.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 1 verified, 0 errors diff --git a/Test/hofs/Compilation.dfy b/Test/hofs/Compilation.dfy index 7e9c674b495..99fd0a36506 100644 --- a/Test/hofs/Compilation.dfy +++ b/Test/hofs/Compilation.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" class Ref { var val : A diff --git a/Test/hofs/Compilation.dfy.expect b/Test/hofs/Compilation.dfy.expect index 6b7187d2557..760fafc6189 100644 --- a/Test/hofs/Compilation.dfy.expect +++ b/Test/hofs/Compilation.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 2 verified, 0 errors 1 = 1 3 = 3 3 = 3 diff --git a/Test/hofs/Examples.dfy b/Test/hofs/Examples.dfy index bebda559221..cdf177c001f 100644 --- a/Test/hofs/Examples.dfy +++ b/Test/hofs/Examples.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" function Apply(f: A ~> B, x: A): B reads f.reads(x) diff --git a/Test/hofs/Examples.dfy.expect b/Test/hofs/Examples.dfy.expect index e69de29bb2d..851aaf58286 100644 --- a/Test/hofs/Examples.dfy.expect +++ b/Test/hofs/Examples.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 7 verified, 0 errors diff --git a/Test/hofs/Fold.dfy b/Test/hofs/Fold.dfy index 96ddb01591f..336f9121b52 100644 --- a/Test/hofs/Fold.dfy +++ b/Test/hofs/Fold.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype List = Nil | Cons(A,List) diff --git a/Test/hofs/Fold.dfy.expect b/Test/hofs/Fold.dfy.expect index 3abcc310618..144ffab92db 100644 --- a/Test/hofs/Fold.dfy.expect +++ b/Test/hofs/Fold.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors 3 = 3 diff --git a/Test/hofs/Renaming.dfy b/Test/hofs/Renaming.dfy index 391c0e79ef6..cf21fdba2f8 100644 --- a/Test/hofs/Renaming.dfy +++ b/Test/hofs/Renaming.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" function OnId(f : (bool -> bool) -> int) : int reads f.reads(x => x) diff --git a/Test/hofs/Renaming.dfy.expect b/Test/hofs/Renaming.dfy.expect index 13a954d9043..e2b6636dbe4 100644 --- a/Test/hofs/Renaming.dfy.expect +++ b/Test/hofs/Renaming.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 4 verified, 0 errors 10 11 diff --git a/Test/hofs/Requires.dfy b/Test/hofs/Requires.dfy index f5e51244184..de5944b6744 100644 --- a/Test/hofs/Requires.dfy +++ b/Test/hofs/Requires.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/hofs/Requires.dfy.expect b/Test/hofs/Requires.dfy.expect index e69de29bb2d..1981561ca00 100644 --- a/Test/hofs/Requires.dfy.expect +++ b/Test/hofs/Requires.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 10 verified, 0 errors diff --git a/Test/hofs/TreeMapSimple.dfy b/Test/hofs/TreeMapSimple.dfy index b7baf6eb8d7..d93aea46403 100644 --- a/Test/hofs/TreeMapSimple.dfy +++ b/Test/hofs/TreeMapSimple.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { TestY(); diff --git a/Test/hofs/TreeMapSimple.dfy.expect b/Test/hofs/TreeMapSimple.dfy.expect index be0317f1016..9224d605f7e 100644 --- a/Test/hofs/TreeMapSimple.dfy.expect +++ b/Test/hofs/TreeMapSimple.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 11 verified, 0 errors Tree.Branch(100, List.Cons(Tree.Branch(50, List.Nil), List.Nil)) Tree.Branch(100, List.Cons(Tree.Branch(50, List.Nil), List.Nil)) diff --git a/Test/hofs/VectorUpdate.dfy b/Test/hofs/VectorUpdate.dfy index 70c0de3084e..848ed585ca6 100644 --- a/Test/hofs/VectorUpdate.dfy +++ b/Test/hofs/VectorUpdate.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // this is a rather verbose version of the VectorUpdate method method VectorUpdate(N: int, a : array, f : (int,A) ~> A) diff --git a/Test/hofs/VectorUpdate.dfy.expect b/Test/hofs/VectorUpdate.dfy.expect index 7645f125857..b8fae39eab8 100644 --- a/Test/hofs/VectorUpdate.dfy.expect +++ b/Test/hofs/VectorUpdate.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 8 verified, 0 errors 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 100, 50, 33, 25, 20, 16, 14, 12, 11, 10 diff --git a/Test/hofs/WhileLoop.dfy b/Test/hofs/WhileLoop.dfy index 914f47f4522..4af9fbd841b 100644 --- a/Test/hofs/WhileLoop.dfy +++ b/Test/hofs/WhileLoop.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" class Ref { var val: A diff --git a/Test/hofs/WhileLoop.dfy.expect b/Test/hofs/WhileLoop.dfy.expect index 83083b451e1..234ac298c9b 100644 --- a/Test/hofs/WhileLoop.dfy.expect +++ b/Test/hofs/WhileLoop.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 4 verified, 0 errors 22 22 22 diff --git a/Test/metatests/OutputEncoding.dfy b/Test/metatests/OutputEncoding.dfy index 59fa53bf298..68c390ac811 100644 --- a/Test/metatests/OutputEncoding.dfy +++ b/Test/metatests/OutputEncoding.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" +// RUN: %baredafny verify %args "%s" > "%t" +// RUN: %baredafny run --no-verify --target=cs %args "%s" >> "%t" +// RUN: %baredafny run --no-verify --target=js %args "%s" >> "%t" +// RUN: %baredafny run --no-verify --target=go %args "%s" >> "%t" +// RUN: %baredafny run --no-verify --target=py %args "%s" >> "%t" +// RUN: %baredafny run --no-verify --target=java %args "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { // This works fine in all languages because € is a single UTF-16 code unit. diff --git a/Test/metatests/OutputEncoding.dfy.expect b/Test/metatests/OutputEncoding.dfy.expect index b25a57298f1..a37241376f3 100644 --- a/Test/metatests/OutputEncoding.dfy.expect +++ b/Test/metatests/OutputEncoding.dfy.expect @@ -1 +1,17 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification +Euro sign: € + +Dafny program verifier did not attempt verification +Euro sign: € + +Dafny program verifier did not attempt verification +Euro sign: € + +Dafny program verifier did not attempt verification +Euro sign: € + +Dafny program verifier did not attempt verification Euro sign: € diff --git a/Test/patterns/OrPatterns.dfy b/Test/patterns/OrPatterns.dfy index 6385bd55c93..4f2610c9379 100644 --- a/Test/patterns/OrPatterns.dfy +++ b/Test/patterns/OrPatterns.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /rprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Enum = One | Two | Three { predicate Even() { diff --git a/Test/patterns/OrPatterns.dfy.expect b/Test/patterns/OrPatterns.dfy.expect index d86bac9de59..a6fce7c4a13 100644 --- a/Test/patterns/OrPatterns.dfy.expect +++ b/Test/patterns/OrPatterns.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 11 verified, 0 errors OK diff --git a/Test/patterns/PatternMatching.dfy b/Test/patterns/PatternMatching.dfy index e8a73b856e4..477126c066a 100644 --- a/Test/patterns/PatternMatching.dfy +++ b/Test/patterns/PatternMatching.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" /* * This file contains a collection of tests for features modified or introduced in PR 458 @@ -221,4 +222,4 @@ method Main() { var r5 := MultipleNestedMatch(A(0), t4, bb); print "Testing MultipleNestedMatch: ", r0, r1, r2, r3, r4, r5, ", should return 012345\n"; -} +} \ No newline at end of file diff --git a/Test/patterns/PatternMatching.dfy.expect b/Test/patterns/PatternMatching.dfy.expect index b4415971ca5..2970273cbfc 100644 --- a/Test/patterns/PatternMatching.dfy.expect +++ b/Test/patterns/PatternMatching.dfy.expect @@ -1,3 +1,6 @@ +PatternMatching.dfy(102,4): Warning: this branch is redundant + +Dafny program verifier finished with 9 verified, 0 errors NestingTest([6]) = 6, should return 6 NestedVariableTest([2::3::4::5::6]) = 0, should return 0 ConstantTest([3::4::5::6]) = 2, should return 2 diff --git a/Test/patterns/PatternMatching.dfy.verifier.expect b/Test/patterns/PatternMatching.dfy.verifier.expect deleted file mode 100644 index b486aadfb80..00000000000 --- a/Test/patterns/PatternMatching.dfy.verifier.expect +++ /dev/null @@ -1 +0,0 @@ -PatternMatching.dfy(101,4): Warning: this branch is redundant diff --git a/Test/traits/TraitCompile.dfy b/Test/traits/TraitCompile.dfy index 6e9b925fbc5..03cf3746c6f 100644 --- a/Test/traits/TraitCompile.dfy +++ b/Test/traits/TraitCompile.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" trait TT { @@ -814,4 +820,4 @@ module RedeclaringMembers { true } } -} +} \ No newline at end of file diff --git a/Test/traits/TraitCompile.dfy.expect b/Test/traits/TraitCompile.dfy.expect index b70a9b09d2e..8257b754de2 100644 --- a/Test/traits/TraitCompile.dfy.expect +++ b/Test/traits/TraitCompile.dfy.expect @@ -1,3 +1,259 @@ + +Dafny program verifier finished with 75 verified, 0 errors + +Dafny program verifier did not attempt verification +y=120 +x=12 +d=800 +a5=407 +t=1212 +z=30 +z'=30 +w=30 +d=1000 +a5=507 +t=1512 +t=1512 +t=1515 +This is OtherModule.P(7.0) +From OtherModule.Y: 7 and true +This is OtherModule.P(7.0) +From OtherModule.X: 7 and true +c.f= 15 j.f= 15 +c.f= 18 j.f= 18 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +x=126 +5.2 9 false +true true true true +false false false false +true true true true +false false false false +5.2 5.2 +1.2 1.2 +1.2 1.2 +15 30 +15 30 +15 30 +0 (0, 0) 0 +8 +0 0 0 0 0 0 0 0 0 0 0 0 +13 13 13 13 13 13 13 13 13 13 13 13 +14 14 14 14 14 14 14 14 14 14 14 14 +15 15 15 15 15 15 15 15 15 15 15 15 +16 16 16 16 16 16 16 16 16 16 16 16 +17 17 17 17 17 17 17 17 17 17 17 17 +18 18 18 18 18 18 18 18 18 18 18 18 +19 19 19 19 19 19 19 19 19 19 19 19 +20 20 20 20 20 20 20 20 20 20 20 20 +21 21 21 21 21 21 21 21 21 21 21 21 +22 22 22 22 22 22 22 22 22 22 22 22 +23 23 23 23 23 23 23 23 23 23 23 23 +24 24 24 24 24 24 24 24 24 24 24 24 +f(4) = 7 +f(4) = 7 +g(4) = 7 +g(4) = 7 +41 15 26 +true true +true true +true true +true true +true true true +true true true + +Dafny program verifier did not attempt verification +y=120 +x=12 +d=800 +a5=407 +t=1212 +z=30 +z'=30 +w=30 +d=1000 +a5=507 +t=1512 +t=1512 +t=1515 +This is OtherModule.P(7.0) +From OtherModule.Y: 7 and true +This is OtherModule.P(7.0) +From OtherModule.X: 7 and true +c.f= 15 j.f= 15 +c.f= 18 j.f= 18 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +x=126 +5.2 9 false +true true true true +false false false false +true true true true +false false false false +5.2 5.2 +1.2 1.2 +1.2 1.2 +15 30 +15 30 +15 30 +0 (0, 0) 0 +8 +0 0 0 0 0 0 0 0 0 0 0 0 +13 13 13 13 13 13 13 13 13 13 13 13 +14 14 14 14 14 14 14 14 14 14 14 14 +15 15 15 15 15 15 15 15 15 15 15 15 +16 16 16 16 16 16 16 16 16 16 16 16 +17 17 17 17 17 17 17 17 17 17 17 17 +18 18 18 18 18 18 18 18 18 18 18 18 +19 19 19 19 19 19 19 19 19 19 19 19 +20 20 20 20 20 20 20 20 20 20 20 20 +21 21 21 21 21 21 21 21 21 21 21 21 +22 22 22 22 22 22 22 22 22 22 22 22 +23 23 23 23 23 23 23 23 23 23 23 23 +24 24 24 24 24 24 24 24 24 24 24 24 +f(4) = 7 +f(4) = 7 +g(4) = 7 +g(4) = 7 +41 15 26 +true true +true true +true true +true true +true true true +true true true + +Dafny program verifier did not attempt verification +y=120 +x=12 +d=800 +a5=407 +t=1212 +z=30 +z'=30 +w=30 +d=1000 +a5=507 +t=1512 +t=1512 +t=1515 +This is OtherModule.P(7.0) +From OtherModule.Y: 7 and true +This is OtherModule.P(7.0) +From OtherModule.X: 7 and true +c.f= 15 j.f= 15 +c.f= 18 j.f= 18 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +x=126 +5.2 9 false +true true true true +false false false false +true true true true +false false false false +5.2 5.2 +1.2 1.2 +1.2 1.2 +15 30 +15 30 +15 30 +0 (0, 0) 0 +8 +0 0 0 0 0 0 0 0 0 0 0 0 +13 13 13 13 13 13 13 13 13 13 13 13 +14 14 14 14 14 14 14 14 14 14 14 14 +15 15 15 15 15 15 15 15 15 15 15 15 +16 16 16 16 16 16 16 16 16 16 16 16 +17 17 17 17 17 17 17 17 17 17 17 17 +18 18 18 18 18 18 18 18 18 18 18 18 +19 19 19 19 19 19 19 19 19 19 19 19 +20 20 20 20 20 20 20 20 20 20 20 20 +21 21 21 21 21 21 21 21 21 21 21 21 +22 22 22 22 22 22 22 22 22 22 22 22 +23 23 23 23 23 23 23 23 23 23 23 23 +24 24 24 24 24 24 24 24 24 24 24 24 +f(4) = 7 +f(4) = 7 +g(4) = 7 +g(4) = 7 +41 15 26 +true true +true true +true true +true true +true true true +true true true + +Dafny program verifier did not attempt verification +y=120 +x=12 +d=800 +a5=407 +t=1212 +z=30 +z'=30 +w=30 +d=1000 +a5=507 +t=1512 +t=1512 +t=1515 +This is OtherModule.P(7.0) +From OtherModule.Y: 7 and true +This is OtherModule.P(7.0) +From OtherModule.X: 7 and true +c.f= 15 j.f= 15 +c.f= 18 j.f= 18 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +x=126 +5.2 9 false +true true true true +false false false false +true true true true +false false false false +5.2 5.2 +1.2 1.2 +1.2 1.2 +15 30 +15 30 +15 30 +0 (0, 0) 0 +8 +0 0 0 0 0 0 0 0 0 0 0 0 +13 13 13 13 13 13 13 13 13 13 13 13 +14 14 14 14 14 14 14 14 14 14 14 14 +15 15 15 15 15 15 15 15 15 15 15 15 +16 16 16 16 16 16 16 16 16 16 16 16 +17 17 17 17 17 17 17 17 17 17 17 17 +18 18 18 18 18 18 18 18 18 18 18 18 +19 19 19 19 19 19 19 19 19 19 19 19 +20 20 20 20 20 20 20 20 20 20 20 20 +21 21 21 21 21 21 21 21 21 21 21 21 +22 22 22 22 22 22 22 22 22 22 22 22 +23 23 23 23 23 23 23 23 23 23 23 23 +24 24 24 24 24 24 24 24 24 24 24 24 +f(4) = 7 +f(4) = 7 +g(4) = 7 +g(4) = 7 +41 15 26 +true true +true true +true true +true true +true true true +true true true + +Dafny program verifier did not attempt verification y=120 x=12 d=800 diff --git a/Test/traits/TraitExample.dfy b/Test/traits/TraitExample.dfy index 54c5cbbec6f..d6afb4ce70b 100644 --- a/Test/traits/TraitExample.dfy +++ b/Test/traits/TraitExample.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" trait Automobile { ghost var Repr: set diff --git a/Test/traits/TraitExample.dfy.expect b/Test/traits/TraitExample.dfy.expect index b9783e62141..c1b4ac93962 100644 --- a/Test/traits/TraitExample.dfy.expect +++ b/Test/traits/TraitExample.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 29 verified, 0 errors Fiat: 6 Volvo: 20 Catacar: 26 diff --git a/Test/traits/Traits-Fields.dfy b/Test/traits/Traits-Fields.dfy index 6ae1aaab6d9..2da609c33c8 100644 --- a/Test/traits/Traits-Fields.dfy +++ b/Test/traits/Traits-Fields.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" trait J { diff --git a/Test/traits/Traits-Fields.dfy.expect b/Test/traits/Traits-Fields.dfy.expect index c39bd8b5d5d..cc460fc52f4 100644 --- a/Test/traits/Traits-Fields.dfy.expect +++ b/Test/traits/Traits-Fields.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 2 verified, 0 errors j.x = 9 c.x = 9 diff --git a/Test/traits/TraitsMultipleInheritance.dfy b/Test/traits/TraitsMultipleInheritance.dfy index 67fd8673488..12590e47828 100644 --- a/Test/traits/TraitsMultipleInheritance.dfy +++ b/Test/traits/TraitsMultipleInheritance.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" trait J1{ var x: int diff --git a/Test/traits/TraitsMultipleInheritance.dfy.expect b/Test/traits/TraitsMultipleInheritance.dfy.expect index b116b2d070d..ad1a1011a25 100644 --- a/Test/traits/TraitsMultipleInheritance.dfy.expect +++ b/Test/traits/TraitsMultipleInheritance.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 1 verified, 0 errors c.x + c.y = 30 j1.x + j2.y = 30 diff --git a/Test/unicodechars/comp/Collections.dfy b/Test/unicodechars/comp/Collections.dfy index 14d241ed5ab..fb3e451eb83 100644 --- a/Test/unicodechars/comp/Collections.dfy +++ b/Test/unicodechars/comp/Collections.dfy @@ -1,3 +1,8 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:true --verify-included-files +// RUN: %dafny /compile:0 /verifyAllModules /unicodeChar:1 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" include "../../comp/Collections.dfy" diff --git a/Test/unicodechars/comp/Collections.dfy.expect b/Test/unicodechars/comp/Collections.dfy.expect index 89f08b08d75..70586502b0d 100644 --- a/Test/unicodechars/comp/Collections.dfy.expect +++ b/Test/unicodechars/comp/Collections.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 40 verified, 0 errors + +Dafny program verifier did not attempt verification Sets: {} {17, 82} {12, 17} cardinality: 0 2 2 union: {17, 82} {12, 17, 82} @@ -123,3 +127,511 @@ Multiset=== 1 3 |s|=2 |u|=4 1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Yellow := 21, Color.Blue := 30] +keys: {Color.Yellow, Color.Blue} +values: {21, 30} +items: {(Color.Yellow, 21), (Color.Blue, 30)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {21, 30} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.go.expect b/Test/unicodechars/comp/Collections.dfy.go.expect deleted file mode 100644 index 2fc0f3b7093..00000000000 --- a/Test/unicodechars/comp/Collections.dfy.go.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.java.expect b/Test/unicodechars/comp/Collections.dfy.java.expect deleted file mode 100644 index 39975cadfc4..00000000000 --- a/Test/unicodechars/comp/Collections.dfy.java.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Yellow := 21, Color.Blue := 30] -keys: {Color.Yellow, Color.Blue} -values: {21, 30} -items: {(Color.Yellow, 21), (Color.Blue, 30)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.js.expect b/Test/unicodechars/comp/Collections.dfy.js.expect deleted file mode 100644 index 2fc0f3b7093..00000000000 --- a/Test/unicodechars/comp/Collections.dfy.js.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.py.expect b/Test/unicodechars/comp/Collections.dfy.py.expect deleted file mode 100644 index e4e346dede0..00000000000 --- a/Test/unicodechars/comp/Collections.dfy.py.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {21, 30} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/unicodechars/comp/Comprehensions.dfy b/Test/unicodechars/comp/Comprehensions.dfy index 8bd5f67525e..274f8d3a150 100644 --- a/Test/unicodechars/comp/Comprehensions.dfy +++ b/Test/unicodechars/comp/Comprehensions.dfy @@ -1,3 +1,8 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:true --verify-included-files -include "../../comp/Comprehensions.dfy" +// RUN: %dafny /compile:0 /unicodeChar:1 /verifyAllModules "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" +include "../../comp/Comprehensions.dfy" \ No newline at end of file diff --git a/Test/unicodechars/comp/Comprehensions.dfy.expect b/Test/unicodechars/comp/Comprehensions.dfy.expect index c9703fc9397..18159ddde0a 100644 --- a/Test/unicodechars/comp/Comprehensions.dfy.expect +++ b/Test/unicodechars/comp/Comprehensions.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 32 verified, 0 errors + +Dafny program verifier did not attempt verification x=13 y=14 x=13 y=14 b=yes true false @@ -60,3 +64,259 @@ true true [137438953474, 137438953475, 137438953476, 137438953477, 137438953479] cdefh cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[14 := 7, 12 := 6, 13 := 6] +map[18 := 14, 17 := 13, 16 := 12] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh diff --git a/Test/unicodechars/comp/Comprehensions.dfy.py.expect b/Test/unicodechars/comp/Comprehensions.dfy.py.expect deleted file mode 100644 index aeaa31fc0f3..00000000000 --- a/Test/unicodechars/comp/Comprehensions.dfy.py.expect +++ /dev/null @@ -1,62 +0,0 @@ -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[14 := 7, 12 := 6, 13 := 6] -map[18 := 14, 17 := 13, 16 := 12] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh diff --git a/Test/unicodechars/comp/NativeNumbers.dfy b/Test/unicodechars/comp/NativeNumbers.dfy index 20cdb1e214f..764b4b3b384 100644 --- a/Test/unicodechars/comp/NativeNumbers.dfy +++ b/Test/unicodechars/comp/NativeNumbers.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:true --verify-included-files // Skip JavaScript because JavaScript doesn't have the same native types -include "../../comp/NativeNumbers.dfy" +// RUN: %dafny /compile:0 /verifyAllModules /unicodeChar:1 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" +include "../../comp/NativeNumbers.dfy" \ No newline at end of file diff --git a/Test/unicodechars/comp/NativeNumbers.dfy.expect b/Test/unicodechars/comp/NativeNumbers.dfy.expect index 354d931a151..b0fc6754f84 100644 --- a/Test/unicodechars/comp/NativeNumbers.dfy.expect +++ b/Test/unicodechars/comp/NativeNumbers.dfy.expect @@ -1,3 +1,259 @@ + +Dafny program verifier finished with 25 verified, 0 errors + +Dafny program verifier did not attempt verification +Casting: + +Small numbers: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 +5 5 5 5 5 5 5 5 5 +6 6 6 6 6 6 6 6 6 +7 7 7 7 7 7 7 7 7 +8 8 8 8 8 8 8 8 8 + +Large unsigned numbers: +255 255 255 255 255 255 255 255 +65535 65535 65535 65535 65535 65535 +4294967295 4294967295 4294967295 4294967295 +18446744073709551615 18446744073709551615 + +Int to large unsigned: +255 65535 4294967295 18446744073709551615 + +Cast from cardinality operator: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 + +Characters: +'C' 67 67 67 67 67 67 67 67 67 +0 127 32767 65535 65535 255 65535 65535 65535 + +Defaults: + +0 0 0 0 0 0 0 0 0 + +Byte arithmetic: + +20 30 +10 10 18 + +Short arithmetic: + +20 30 +10 10 18 + +Bitvectors: + +0 3 4 1 + +Comparison to zero: + +int8: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int16: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int32: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int64: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint8: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint16: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint32: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint64: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N + + +Dafny program verifier did not attempt verification +Casting: + +Small numbers: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 +5 5 5 5 5 5 5 5 5 +6 6 6 6 6 6 6 6 6 +7 7 7 7 7 7 7 7 7 +8 8 8 8 8 8 8 8 8 + +Large unsigned numbers: +255 255 255 255 255 255 255 255 +65535 65535 65535 65535 65535 65535 +4294967295 4294967295 4294967295 4294967295 +18446744073709551615 18446744073709551615 + +Int to large unsigned: +255 65535 4294967295 18446744073709551615 + +Cast from cardinality operator: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 + +Characters: +'C' 67 67 67 67 67 67 67 67 67 +0 127 32767 65535 65535 255 65535 65535 65535 + +Defaults: + +0 0 0 0 0 0 0 0 0 + +Byte arithmetic: + +20 30 +10 10 18 + +Short arithmetic: + +20 30 +10 10 18 + +Bitvectors: + +0 3 4 1 + +Comparison to zero: + +int8: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int16: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int32: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int64: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint8: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint16: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint32: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint64: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N + + +Dafny program verifier did not attempt verification +Casting: + +Small numbers: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 +5 5 5 5 5 5 5 5 5 +6 6 6 6 6 6 6 6 6 +7 7 7 7 7 7 7 7 7 +8 8 8 8 8 8 8 8 8 + +Large unsigned numbers: +255 255 255 255 255 255 255 255 +65535 65535 65535 65535 65535 65535 +4294967295 4294967295 4294967295 4294967295 +18446744073709551615 18446744073709551615 + +Int to large unsigned: +255 65535 4294967295 18446744073709551615 + +Cast from cardinality operator: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 + +Characters: +'C' 67 67 67 67 67 67 67 67 67 +0 127 32767 65535 65535 255 65535 65535 65535 + +Defaults: + +0 0 0 0 0 0 0 0 0 + +Byte arithmetic: + +20 30 +10 10 18 + +Short arithmetic: + +20 30 +10 10 18 + +Bitvectors: + +0 3 4 1 + +Comparison to zero: + +int8: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int16: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int32: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int64: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint8: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint16: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint32: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint64: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N + + +Dafny program verifier did not attempt verification Casting: Small numbers: diff --git a/Test/unicodechars/comp/Numbers.dfy b/Test/unicodechars/comp/Numbers.dfy index e5e36180234..2c9170fe4d7 100644 --- a/Test/unicodechars/comp/Numbers.dfy +++ b/Test/unicodechars/comp/Numbers.dfy @@ -1,3 +1,8 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:true --verify-included-files -include "../../comp/Numbers.dfy" +// RUN: %dafny /compile:0 /verifyAllModules /unicodeChar:1 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" +include "../../comp/Numbers.dfy" \ No newline at end of file diff --git a/Test/unicodechars/comp/Numbers.dfy.expect b/Test/unicodechars/comp/Numbers.dfy.expect index cce193e1cce..6fa2f59f340 100644 --- a/Test/unicodechars/comp/Numbers.dfy.expect +++ b/Test/unicodechars/comp/Numbers.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 59 verified, 0 errors + +Dafny program verifier did not attempt verification 0 0 3 @@ -109,3 +113,455 @@ true false true false false true false true true false true false 20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +'g' 'Q' '2' +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +(312.0 / 40.0) (1248.0 / 40.0) +(-312.0 / 40.0) (-1248.0 / 40.0) +(-312.0 / 40.0) (1248.0 / 40.0) +(312.0 / 40.0) (-1248.0 / 40.0) +0.0 0.0 0.0 +120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) +123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 (8100.0 / 8100.0) +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +'g' 'Q' '2' +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +'g' 'Q' '2' +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +(312.0 / 40.0) (1248.0 / 40.0) +(-312.0 / 40.0) (-1248.0 / 40.0) +(-312.0 / 40.0) (1248.0 / 40.0) +(312.0 / 40.0) (-1248.0 / 40.0) +0.0 0.0 0.0 +120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) +123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 (8100.0 / 8100.0) +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +'g' 'Q' '2' +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 diff --git a/Test/unicodechars/comp/Numbers.dfy.go.expect b/Test/unicodechars/comp/Numbers.dfy.go.expect deleted file mode 100644 index 95d8ac259c7..00000000000 --- a/Test/unicodechars/comp/Numbers.dfy.go.expect +++ /dev/null @@ -1,111 +0,0 @@ -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -'g' 'Q' '2' -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 diff --git a/Test/unicodechars/comp/Numbers.dfy.py.expect b/Test/unicodechars/comp/Numbers.dfy.py.expect deleted file mode 100644 index 95d8ac259c7..00000000000 --- a/Test/unicodechars/comp/Numbers.dfy.py.expect +++ /dev/null @@ -1,111 +0,0 @@ -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -'g' 'Q' '2' -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 From 3fc649a6820db51e64cb8b1d95da64112ae13d72 Mon Sep 17 00:00:00 2001 From: Robin Salkeld Date: Fri, 2 Jun 2023 14:10:01 -0700 Subject: [PATCH 28/68] Manually fix line number for NONUNIFORM test --- Test/git-issues/git-issue-MainE.dfy.expect | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Test/git-issues/git-issue-MainE.dfy.expect b/Test/git-issues/git-issue-MainE.dfy.expect index 278da6e1377..f16901f0421 100644 --- a/Test/git-issues/git-issue-MainE.dfy.expect +++ b/Test/git-issues/git-issue-MainE.dfy.expect @@ -20,16 +20,16 @@ Dafny program verifier did not attempt verification OK-G Dafny program verifier did not attempt verification -git-issue-MainE.dfy(40,9): Error: The method 'H.Test' is not permitted as a main method (the method has non-ghost out parameters). +git-issue-MainE.dfy(41,9): Error: The method 'H.Test' is not permitted as a main method (the method has non-ghost out parameters). Dafny program verifier did not attempt verification OK-I Dafny program verifier did not attempt verification -git-issue-MainE.dfy(46,9): Error: The method 'J.Test' is not permitted as a main method (the method has requires clauses). +git-issue-MainE.dfy(47,9): Error: The method 'J.Test' is not permitted as a main method (the method has requires clauses). Dafny program verifier did not attempt verification -git-issue-MainE.dfy(49,9): Error: The method 'K.Test' is not permitted as a main method (the method has modifies clauses). +git-issue-MainE.dfy(50,9): Error: The method 'K.Test' is not permitted as a main method (the method has modifies clauses). Dafny program verifier did not attempt verification Main @@ -37,10 +37,10 @@ Main Dafny program verifier did not attempt verification Dafny program verifier did not attempt verification -git-issue-MainE.dfy(60,9): Error: The method 'Tr.Instance' is not permitted as a main method (the method is not static and the enclosing type does not support auto-initialization). +git-issue-MainE.dfy(61,9): Error: The method 'Tr.Instance' is not permitted as a main method (the method is not static and the enclosing type does not support auto-initialization). Dafny program verifier did not attempt verification -git-issue-MainE.dfy(79,16): Error: The method 'Opaque.Static' is not permitted as a main method (the enclosing type is an abstract type). +git-issue-MainE.dfy(80,16): Error: The method 'Opaque.Static' is not permitted as a main method (the enclosing type is an abstract type). Dafny program verifier did not attempt verification -git-issue-MainE.dfy(80,9): Error: The method 'Opaque.Instance' is not permitted as a main method (the enclosing type is an abstract type). +git-issue-MainE.dfy(81,9): Error: The method 'Opaque.Instance' is not permitted as a main method (the enclosing type is an abstract type). From ca3b5826c9ddd7f053ebdadc642b3630938fdd63 Mon Sep 17 00:00:00 2001 From: Robin Salkeld Date: Fri, 2 Jun 2023 14:10:14 -0700 Subject: [PATCH 29/68] Fix a few unsupported feature exceptions for C++ --- Source/DafnyCore/Compilers/Cplusplus/Compiler-cpp.cs | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/Source/DafnyCore/Compilers/Cplusplus/Compiler-cpp.cs b/Source/DafnyCore/Compilers/Cplusplus/Compiler-cpp.cs index 3f3b82e49e3..0f6c2532c10 100644 --- a/Source/DafnyCore/Compilers/Cplusplus/Compiler-cpp.cs +++ b/Source/DafnyCore/Compilers/Cplusplus/Compiler-cpp.cs @@ -228,7 +228,7 @@ protected override IClassWriter CreateClass(string moduleName, string name, bool throw new UnsupportedFeatureException(tok, Feature.ExternalClasses, String.Format("extern in class {0}", name)); } if (superClasses != null && superClasses.Any(trait => !trait.IsObject)) { - throw new UnsupportedFeatureException(tok, Feature.Traits, String.Format("traits in class {0}", name)); + throw new UnsupportedFeatureException(tok, Feature.Traits); } var classDeclWriter = modDeclWr; @@ -610,7 +610,7 @@ protected override IClassWriter DeclareNewtype(NewtypeDecl nt, ConcreteSyntaxTre wr.WriteLine("typedef {0} {1};", nt_name_def, nt.Name); } } else { - throw new UnsupportedFeatureException(nt.tok, Feature.NonNativeNewtypes, String.Format("non-native newtype {0}", nt)); + throw new UnsupportedFeatureException(nt.tok, Feature.NonNativeNewtypes); } var className = "class_" + IdName(nt); var cw = CreateClass(nt.EnclosingModuleDefinition.GetCompileName(Options), className, nt, wr) as ClassWriter; @@ -2179,8 +2179,7 @@ protected override void CompileBinOp(BinaryExpr.ResolvedOpcode op, if (AsNativeType(resultType) != null) { opString = "*"; } else { - throw new UnsupportedFeatureException(tok, Feature.NonNativeNewtypes, - "Multiplication of non-native type"); + throw new UnsupportedFeatureException(tok, Feature.NonNativeNewtypes); } break; case BinaryExpr.ResolvedOpcode.Div: From 29b5c225416a03afdb8ee7a0d21961302b822e2d Mon Sep 17 00:00:00 2001 From: Robin Salkeld Date: Fri, 2 Jun 2023 14:10:23 -0700 Subject: [PATCH 30/68] A few more option translations --- Source/IntegrationTests/LitTests.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Source/IntegrationTests/LitTests.cs b/Source/IntegrationTests/LitTests.cs index f3c226b7159..c4ce1d7b4e4 100644 --- a/Source/IntegrationTests/LitTests.cs +++ b/Source/IntegrationTests/LitTests.cs @@ -405,7 +405,9 @@ bool IgnoreArgument(string arg, string testFilePath) { "/spillTargetCode:3" => "--spill-translation", "/optimizeErasableDatatypeWrapper:0" => "--optimize-erasable-datatype-wrapper:false", "/verifyAllModules" => "--verify-included-files", - "/errorLimit:0" => "--verification-error-limit:0", + "/errorLimit:0" => "--error-limit:0", + "/deprecation:0" => "--warn-deprecation:false", + "/printTooltips" => "--show-tooltips", _ => extraOption }); } From c3fba272ea132e51308e9f7d1ae51c77afa60c93 Mon Sep 17 00:00:00 2001 From: Robin Salkeld Date: Fri, 2 Jun 2023 15:53:20 -0700 Subject: [PATCH 31/68] Always (b|r)print in MultiBackendTest, add lots of known bugs --- .../Compilers/Cplusplus/Compiler-cpp.cs | 3 +- Source/TestDafny/MultiBackendTest.cs | 16 +- Test/comp/NestedArrays.dfy.java.check | 2 + Test/dafny0/Bitvectors.dfy | 2 +- Test/dafny0/Bitvectors.dfy.expect | 441 ------------------ Test/dafny0/DividedConstructors.dfy | 2 +- Test/dafny0/DividedConstructors.dfy.expect | 184 -------- Test/dafny0/ForallCompilation.dfy | 1 + Test/dafny0/MatchBraces.dfy | 2 +- Test/dafny0/MatchBraces.dfy.expect | 125 ----- Test/dafny0/NameclashesCompile.dfy.go.check | 2 + Test/dafny0/TypeConversionsCompile.dfy | 2 +- Test/dafny0/TypeConversionsCompile.dfy.expect | 223 --------- .../dafny4/ExpandedGuardedness.dfy.java.check | 2 + Test/dafny4/git-issue105.dfy.go.check | 2 + Test/dafny4/git-issue43.dfy.go.check | 3 + Test/dafny4/git-issue79.dfy.go.check | 3 + Test/git-issues/git-issue-1815b.dfy.go.check | 2 + Test/git-issues/git-issue-2173.dfy.go.check | 3 + Test/git-issues/git-issue-2441.dfy.go.check | 2 + Test/git-issues/git-issue-262.dfy.py.expect | 2 + Test/git-issues/git-issue-267.dfy.py.check | 2 + Test/git-issues/git-issue-4012.dfy.cs.check | 2 + .../git-issues/github-issue-3343.dfy.go.check | 2 + Test/hofs/VectorUpdate.dfy.java.check | 2 + 25 files changed, 46 insertions(+), 986 deletions(-) create mode 100644 Test/comp/NestedArrays.dfy.java.check create mode 100644 Test/dafny0/NameclashesCompile.dfy.go.check create mode 100644 Test/dafny4/ExpandedGuardedness.dfy.java.check create mode 100644 Test/dafny4/git-issue105.dfy.go.check create mode 100644 Test/dafny4/git-issue43.dfy.go.check create mode 100644 Test/dafny4/git-issue79.dfy.go.check create mode 100644 Test/git-issues/git-issue-1815b.dfy.go.check create mode 100644 Test/git-issues/git-issue-2173.dfy.go.check create mode 100644 Test/git-issues/git-issue-2441.dfy.go.check create mode 100644 Test/git-issues/git-issue-262.dfy.py.expect create mode 100644 Test/git-issues/git-issue-267.dfy.py.check create mode 100644 Test/git-issues/git-issue-4012.dfy.cs.check create mode 100644 Test/git-issues/github-issue-3343.dfy.go.check create mode 100644 Test/hofs/VectorUpdate.dfy.java.check diff --git a/Source/DafnyCore/Compilers/Cplusplus/Compiler-cpp.cs b/Source/DafnyCore/Compilers/Cplusplus/Compiler-cpp.cs index 0f6c2532c10..c850acce307 100644 --- a/Source/DafnyCore/Compilers/Cplusplus/Compiler-cpp.cs +++ b/Source/DafnyCore/Compilers/Cplusplus/Compiler-cpp.cs @@ -2168,8 +2168,7 @@ protected override void CompileBinOp(BinaryExpr.ResolvedOpcode op, if (resultType.IsCharType || AsNativeType(resultType) != null) { opString = "-"; } else { - throw new UnsupportedFeatureException(tok, Feature.NonNativeNewtypes, - "Subtraction of non-native type"); + throw new UnsupportedFeatureException(tok, Feature.NonNativeNewtypes); } break; case BinaryExpr.ResolvedOpcode.Mul: diff --git a/Source/TestDafny/MultiBackendTest.cs b/Source/TestDafny/MultiBackendTest.cs index 73a81a542e0..b693dd20f56 100644 --- a/Source/TestDafny/MultiBackendTest.cs +++ b/Source/TestDafny/MultiBackendTest.cs @@ -77,16 +77,18 @@ private int ForEachCompiler(ForEachCompilerOptions options) { // Here we only ensure that the exit code is 0. // We also use --print and --print-bpl to catch bugs with valid but unprintable programs. - // string fileName = Path.GetFileName(options.TestFile!); - // var testDir = Path.GetDirectoryName(options.TestFile!); - // var tmpDPrint = Path.Join(testDir, "Output", $"{fileName}.dprint"); - // var tmpPrint = Path.Join(testDir, "Output", $"{fileName}.print"); + string fileName = Path.GetFileName(options.TestFile!); + var testDir = Path.GetDirectoryName(options.TestFile!); + var tmpDPrint = Path.Join(testDir, "Output", $"{fileName}.dprint"); + var tmpRPrint = Path.Join(testDir, "Output", $"{fileName}.rprint"); + var tmpPrint = Path.Join(testDir, "Output", $"{fileName}.print"); var dafnyArgs = new List() { $"verify", - options.TestFile! - // $"--print:{tmpDPrint}", - // $"--print-bpl:{tmpPrint}", + options.TestFile!, + $"--print:{tmpDPrint}", + $"--rprint:{tmpRPrint}", + $"--bprint:{tmpPrint}" }.Concat(options.OtherArgs.Where(OptionAppliesToVerifyCommand)).ToArray(); output.WriteLine("Verifying..."); diff --git a/Test/comp/NestedArrays.dfy.java.check b/Test/comp/NestedArrays.dfy.java.check new file mode 100644 index 00000000000..bbd77f670dd --- /dev/null +++ b/Test/comp/NestedArrays.dfy.java.check @@ -0,0 +1,2 @@ +// https://github.com/dafny-lang/dafny/issues/4126 +// CHECK: error: incompatible types: Object[] cannot be converted to boolean[][] diff --git a/Test/dafny0/Bitvectors.dfy b/Test/dafny0/Bitvectors.dfy index 9dbb798fa4a..320408e5772 100644 --- a/Test/dafny0/Bitvectors.dfy +++ b/Test/dafny0/Bitvectors.dfy @@ -1,4 +1,4 @@ -// RUN: %dafny /compile:0 /print:"%t.print" /rprint:- /env:0 "%s" > "%t" +// RUN: %dafny /compile:0 /print:"%t.print" /env:0 "%s" > "%t" // RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" // RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" // RUN: %diff "%s.expect" "%t" diff --git a/Test/dafny0/Bitvectors.dfy.expect b/Test/dafny0/Bitvectors.dfy.expect index 09b34e5011a..51fda88f97b 100644 --- a/Test/dafny0/Bitvectors.dfy.expect +++ b/Test/dafny0/Bitvectors.dfy.expect @@ -1,444 +1,3 @@ -// Bitvectors.dfy - -/* -module _System { - /* CALL GRAPH for module _System: - * SCC at height 1: - * RotateLeft - * SCC at height 1: - * RotateRight - * SCC at height 0: - * array - * SCC at height 0: - * nat - * SCC at height 0: - * object - */ - type string(==,0) = seq - - type {:axiom} nat(==,0) = x: int - | 0 <= x - - trait {:compile false} object { } - /*-- non-null type - type {:axiom} object(==) = c: object? | c != null /*special witness*/ - */ - - class {:compile false} array { - var Length: int // immutable - } - /*-- non-null type - type {:axiom} array(==) = c: array? | c != null /*special witness*/ - */ - - type {:compile false} /*_#Func1*/ -T0 ~> +R { - ghost function requires(x0: T0): bool - reads reads(x0) - - ghost function reads(x0: T0): set - reads reads(x0) - } - - type {:compile false} /*_#PartialFunc1*/ -T0 --> +R = f: T0 ~> R - | forall x0: T0 :: f.reads(x0) == {} - /*special witness*/ - - type {:compile false} /*_#TotalFunc1*/ -T0 -> +R = f: T0 --> R - | forall x0: T0 :: f.requires(x0) - /*special witness*/ - - type {:compile false} /*_#Func0*/ () ~> +R { - ghost function requires(): bool - reads reads() - - ghost function reads(): set - reads reads() - } - - type {:compile false} /*_#PartialFunc0*/ () --> +R = f: () ~> R - | f.reads() == {} - /*special witness*/ - - type {:compile false} /*_#TotalFunc0*/ () -> +R = f: () --> R - | f.requires() - /*special witness*/ - - datatype {:compile false} /*_tuple#2*/ (+T0, +T1) = _#Make2(0: T0, 1: T1) - - type bool { } - - type int { } - - type real { - var Floor: int // immutable - } - - type ORDINAL { - var IsLimit: bool // immutable - var IsSucc: bool // immutable - var Offset: int // immutable - var IsNat: bool // immutable - } - - type _bv { - function RotateLeft(w: nat): selftype - - function RotateRight(w: nat): selftype - } - - type map<+T, +U> { - var Keys: set // immutable - var Values: set // immutable - var Items: set<(T, U)> // immutable - } - - type imap<*T, +U> { - var Keys: iset // immutable - var Values: iset // immutable - var Items: iset<(T, U)> // immutable - } - - datatype {:compile false} /*_tuple#0*/ () = _#Make0 -} -// bitvector types in use: bv1 bv32 bv47 bv16 bv0 bv67 bv64 bv53 bv33 bv31 bv15 bv8 bv6 bv2 bv7 bv12 bv3 -*/ - -/* CALL GRAPH for module _module: - * SCC at height 2: - * Main - * SCC at height 1: - * DoArith32 - * SCC at height 1: - * Rotates - * SCC at height 1: - * Shifts - * SCC at height 1: - * TestCompilationTruncations - * SCC at height 0: - * Arithmetic - * SCC at height 0: - * BitwiseOperations - * SCC at height 0: - * Bv0Stuff - * SCC at height 0: - * Handful - * SCC at height 0: - * M - * SCC at height 0: - * M0 - * SCC at height 0: - * M1 - * SCC at height 0: - * M15 - * SCC at height 0: - * M16 - * SCC at height 0: - * M31 - * SCC at height 0: - * M32 - * SCC at height 0: - * M33 - * SCC at height 0: - * M53 - * SCC at height 0: - * M6 - * SCC at height 0: - * M64 - * SCC at height 0: - * M67 - * SCC at height 0: - * M8 - * SCC at height 0: - * P2 - * SCC at height 0: - * PrintRotates - * SCC at height 0: - * PrintShifts - * SCC at height 0: - * SummoTests - * SCC at height 0: - * Unary - */ -newtype Handful = x: int - | 0 <= x < 80 - -method M(a: bv1, b: bv32) - returns (c: bv32, d: bv1) - decreases a, b -{ - c := b; - d := a; - var x: bv32 := 5000; - c := x; - var y: bv32 := 4000; - y := c; -} - -method Main() -{ - var x: bv32 := 4000; - var y: bv32 := 4000; - var z: bv32; - var w: bv32; - if x == y { - z := x; - } else { - w := y; - } - print x, " ", y, " ", z, " ", w, "\n"; - var t: bv47, u: bv47, v: bv47 := BitwiseOperations(); - print t, " ", u, " ", v, "\n"; - DoArith32(); - var unry: bv16 := Unary(5); - print "bv16: 5 - 2 == ", unry, "\n"; - unry := Unary(1); - print "bv16: 1 - 2 == ", unry, "\n"; - SummoTests(); - var zz0: bv0; - var zz1: bv0 := Bv0Stuff(zz0, 0); - print zz0, " ", zz1, "\n"; - print zz0 < zz1, " ", zz0 <= zz1, " ", zz0 >= zz1, " ", zz0 > zz1, "\n"; - TestCompilationTruncations(); - Shifts(); - Rotates(); -} - -method BitwiseOperations() returns (a: bv47, b: bv47, c: bv47) -{ - b, c := 2053, 1099; - a := b & c; - a := a | a | (b & b & c & (a ^ b ^ c) & a); -} - -method Arithmetic(x: bv32, y: bv32) - returns (r: bv32, s: bv32) - ensures r == x + y && s == y - x - decreases x, y -{ - r := x + y; - s := y - x; -} - -method DoArith32() -{ - var r: bv32, s: bv32 := Arithmetic(65, 120); - print r, " ", s, "\n"; - var x: bv32, y: bv32 := 2147483647, 2147483651; - r, s := Arithmetic(x, y); - assert r == 2 && s == 4; - print r, " ", s, "\n"; - assert x < y && x <= y && y >= x && y > x; - print "Comparisons: ", x < y, " ", x <= y, " ", x >= y, " ", x > y, "\n"; -} - -method Unary(x: bv16) returns (y: bv16) - ensures y == x - 2 - decreases x -{ - y := --!-!!--x; - y := !-y; - var F: bv16 := 65535; - calc == { - y; - == - !---!-!!--x; - == - F - ---!-!!--x; - == - { - assert ---!-!!--x == -!-!!--x; - } - F - -!-!!--x; - == - F + !-!!--x; - == - F + F - -!!--x; - == - F + F + !!--x; - == - { - assert !!--x == --x == x; - } - F + F + x; - == - x - 2; - } -} - -method SummoTests() -{ - var a: bv64 := 5; - a := 2 * 2 * 2 * 2 * 2 * a * 2 * 2 * 2 * 2 * 2; - var b: bv64 := a / 512; - assert b == 10; - assert b / 3 == 3 && b / 4 == 2; - assert b % 3 == 1 && b % 4 == 2; - print b / 3, " ", b % 4, "\n"; -} - -method Bv0Stuff(x: bv0, y: bv0) returns (z: bv0) - ensures z == 0 - decreases x, y -{ - z := x + y; - z := x * z - y; - z := (x ^ z) | (y & y); - z := !z + -z; -} - -method TestCompilationTruncations() -{ - M67(-1, 3); - M64(-1, 3); - M53(-1, 3); - M33(-1, 3); - M32(-1, 3); - M31(-1, 3); - M16(-1, 3); - M15(-1, 3); - M8(-1, 3); - M6(-1, 3); - M1(1, 1); - M0(0, 0); - P2(3, 2); -} - -method M67(a: bv67, b: bv67) - decreases a, b -{ - print "bv67: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; -} - -method M64(a: bv64, b: bv64) - decreases a, b -{ - print "bv64: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; -} - -method M53(a: bv53, b: bv53) - decreases a, b -{ - print "bv53: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; -} - -method M33(a: bv33, b: bv33) - decreases a, b -{ - print "bv33: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; -} - -method M32(a: bv32, b: bv32) - decreases a, b -{ - print "bv32: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; -} - -method M31(a: bv31, b: bv31) - decreases a, b -{ - print "bv31: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; -} - -method M16(a: bv16, b: bv16) - decreases a, b -{ - print "bv16: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; -} - -method M15(a: bv15, b: bv15) - decreases a, b -{ - print "bv15: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; -} - -method M8(a: bv8, b: bv8) - decreases a, b -{ - print "bv8: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; -} - -method M6(a: bv6, b: bv6) - decreases a, b -{ - print "bv6: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; -} - -method M1(a: bv1, b: bv1) - decreases a, b -{ - print "bv1: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; -} - -method M0(a: bv0, b: bv0) - decreases a, b -{ - print "bv0: ", a, " + ", b, " == ", a + b, " - ", b, " == ", -b, " !! ", b, " == ! ", !b, " == ", !!b, "\n"; -} - -method P2(a: bv2, b: bv2) - requires b != 0 - decreases a, b -{ - print "bv2:\n"; - print " ", a, " + ", b, " == ", a + b, "\n"; - print " ", a, " - ", b, " == ", a - b, "\n"; - print " ", a, " * ", b, " == ", a * b, "\n"; - print " ", a, " / ", b, " == ", a / b, "\n"; - print " ", a, " % ", b, " == ", a % b, "\n"; -} - -method Shifts() -{ - var x: int, h: Handful, b67: bv67, w: bv32, seven: bv7, bb: bv2, noll: bv0; - x, h := 3, 3; - b67, w, seven := 5, 5, 5; - PrintShifts("bv67", b67, 8 * b67, b67 << x as bv7, b67 << h as bv7); - PrintShifts("bv32", w, 8 * w, w << x as bv6, w << h as bv6); - PrintShifts("bv7", seven, 8 * seven, seven << x as bv3, seven << h as bv3); - bb, x, h := 1, 1, 1; - PrintShifts("bv2", bb, 2 * bb, bb << x as bv2, bb << h as bv2); - x, h := 0, 0; - PrintShifts("bv0", noll, 0 * noll, noll << x as bv0, noll << h as bv0); - b67, w, bb, noll := 73786976294838206465, 1, 1, 0; - var One67: bv67 := 1; - PrintShifts("bv67 again", b67 << One67 as bv7, b67 << w as bv7, b67 << bb as bv7, b67 << noll as bv7); - b67, w, bb, noll := 2, 3221225472 + 2000, 1, 0; - var Two32: bv32 := 2; - PrintShifts("bv32 again", w << b67 as bv6, w << Two32 as bv6, w << bb as bv6, w << noll as bv6); - seven, b67, w, bb, noll := 127, 2, 2, 2, 0; - PrintShifts("bv7 again", seven << b67 as bv3, seven << w as bv3, seven << bb as bv3, seven << noll as bv3); - b67, w, bb := 0, 0, 0; - PrintShifts("bv0 again", noll << b67 as bv0, noll << w as bv0, noll << bb as bv0, noll << noll as bv0); -} - -method PrintShifts(s: string, a: T, b: T, c: T, d: T) - decreases s -{ - print "PrintShifts: ", s, ": ", a, " ", b, " ", c, " ", d, "\n"; -} - -method Rotates() -{ - var x: int, w: bv12, seven: bv7, bb: bv2, noll: bv0; - x := 3; - w, seven, noll := 5, 5, 0; - PrintRotates("bv12", w, w.RotateLeft(x).RotateRight(x)); - PrintRotates("bv7", seven, seven.RotateLeft(x).RotateRight(x)); - bb, x := 1, 1; - PrintRotates("bv2", bb, bb.RotateLeft(x).RotateRight(x)); - x := 0; - PrintRotates("bv0", noll, noll.RotateLeft(x).RotateRight(x)); - x := 5; - w, seven := 3072 + 2000, 127; - PrintRotates("bv12 again", w, w.RotateLeft(x).RotateRight(x)); - PrintRotates("bv7 again", seven, seven.RotateLeft(x).RotateRight(x)); -} - -method PrintRotates(s: string, a: T, b: T) - decreases s -{ - print "PrintRotates: ", s, ": ", a, " ", b, "\n"; -} Dafny program verifier finished with 11 verified, 0 errors diff --git a/Test/dafny0/DividedConstructors.dfy b/Test/dafny0/DividedConstructors.dfy index 8d5bf605ba0..169bf4ee7df 100644 --- a/Test/dafny0/DividedConstructors.dfy +++ b/Test/dafny0/DividedConstructors.dfy @@ -1,4 +1,4 @@ -// RUN: %dafny /compile:3 /env:0 /dprint:- "%s" > "%t" +// RUN: %dafny /compile:3 /env:0 "%s" > "%t" // RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny0/DividedConstructors.dfy.expect b/Test/dafny0/DividedConstructors.dfy.expect index f7412d8d0a1..d46c6a37312 100644 --- a/Test/dafny0/DividedConstructors.dfy.expect +++ b/Test/dafny0/DividedConstructors.dfy.expect @@ -1,187 +1,3 @@ -DividedConstructors.dfy(62,9): Warning: the ... refinement feature in statements is deprecated -// DividedConstructors.dfy - - -module M0 { - class MyClass { - var a: nat - const b := 17 - var c: real - - constructor Init(x: nat) - { - this.a := x; - c := 3.14; - new; - a := a + b; - assert c == 3.14; - assert this.a == 17 + x; - } - - constructor (z: real) - ensures c <= 2.0 * z - { - a, c := 50, 2.0 * z; - new; - } - - constructor Make() - ensures 10 <= a - { - new; - a := a + b; - } - - constructor Create() - ensures 30 <= a - { - new; - a := a + 2 * b; - } - } -} - -module M1 refines M0 { - class MyClass ... { - const d := 'D' - var e: char - - constructor Init ... - { - e := 'e'; - new; - e := 'x'; - ...; - assert e == 'x'; - } - - constructor ... - { - e := 'y'; - new; - } - - constructor Make ... - { - new; - e := 'z'; - } - - constructor Create ... - { - e := 'w'; - } - } -} - -module TypeOfThis { - class LinkedList { - ghost var Repr: set> - ghost var Rapr: set> - ghost var S: set - ghost var T: set - - constructor Init() - { - Repr := {this}; - } - - constructor Init'() - { - Rapr := {this}; - } - - constructor Create() - { - S := {this}; - } - - constructor Create'() - { - T := {this}; - } - - constructor Two() - { - new; - var ll: LinkedList? := this; - var o: object? := this; - if - case true => - T := {o}; - case true => - S := {o}; - case true => - Repr := {ll}; - case true => - Rapr := {ll}; - case true => - S := {ll}; - case true => - T := {ll}; - } - - method Mutate() - modifies this - { - Repr := {this}; - Rapr := {this}; - S := {this}; - T := {this}; - } - } -} - -module Regression { - class A { - var b: bool - var y: int - - constructor Make0() - ensures b == false - { - b := false; - } - - constructor Make1() - ensures b == true - { - b := true; - } - - constructor Make2() - { - b := false; - new; - assert !b; - } - - constructor Make3() - ensures b == false && y == 65 - { - b := false; - y := 65; - new; - assert !b; - assert y == 65; - } - - constructor Make4(bb: bool, yy: int) - ensures b == bb && y == yy - { - b, y := bb, yy; - } - } -} -method Main() -{ - var m := new M0.MyClass.Init(20); - print m.a, ", ", m.b, ", ", m.c, "\n"; - var r0 := new Regression.A.Make0(); - var r1 := new Regression.A.Make1(); - assert r0.b != r1.b; - print r0.b, ", ", r1.b, "\n"; -} Dafny program verifier finished with 17 verified, 0 errors 37, 17, 3.14 diff --git a/Test/dafny0/ForallCompilation.dfy b/Test/dafny0/ForallCompilation.dfy index 40c381521e8..23b5fd56936 100644 --- a/Test/dafny0/ForallCompilation.dfy +++ b/Test/dafny0/ForallCompilation.dfy @@ -1,3 +1,4 @@ +// NONUNIFORM: New CLI doesn't support /autoTriggers:0 // RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" /autoTriggers:0 "%s" > "%t" // RUN: %diff "%s.expect" "%t" diff --git a/Test/dafny0/MatchBraces.dfy b/Test/dafny0/MatchBraces.dfy index b3b87fd5e4a..ddd1924774b 100644 --- a/Test/dafny0/MatchBraces.dfy +++ b/Test/dafny0/MatchBraces.dfy @@ -1,4 +1,4 @@ -// RUN: %dafny /compile:0 /print:"%t.print" /env:0 /dprint:- "%s" > "%t" +// RUN: %dafny /compile:0 /print:"%t.print" /env:0 "%s" > "%t" // RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" // RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" // RUN: %diff "%s.expect" "%t" diff --git a/Test/dafny0/MatchBraces.dfy.expect b/Test/dafny0/MatchBraces.dfy.expect index b6129bafcc0..88f6cf4f56e 100644 --- a/Test/dafny0/MatchBraces.dfy.expect +++ b/Test/dafny0/MatchBraces.dfy.expect @@ -1,128 +1,3 @@ -// MatchBraces.dfy - -datatype Color = Red | Green | Blue - -method Main() -{ - M(Green, Red); - M(Blue, Blue); -} - -method M(c: Color, d: Color) -{ - var x := match c case Red => 5 case Green => 7 case Blue => 11; - var y := match c case Red => 0.3 case Green => (match d case Red => 0.18 case Green => 0.21 case Blue => 0.98) case Blue => 98.0; - var z := match c case Red => Green case Green => match d { case Red => Red case Green => Blue case Blue => Red } case Blue => Green; - var w := match c { case Red => 2 case Green => 3 case Blue => 4 } + 10; - var t := match c case Red => 0 case Green => match d { case Red => 2 case Green => 2 case Blue => 1 } + (match d case Red => 10 case Green => 8 case Blue => 5) case Blue => match d { case Red => 20 case Green => 20 case Blue => 10 } + match d case Red => 110 case Green => 108 case Blue => 105; - print x, " ", y, " ", z, " ", w, " ", t, "\n"; -} - -ghost function Heat(c: Color): int -{ - match c - case Red => - 10 - case Green => - 12 - case Blue => - 14 -} - -ghost function IceCream(c: Color): int -{ - match c { - case Red => - 0 - case Green => - 4 - case Blue => - 1 - } -} - -ghost function Flowers(c: Color, d: Color): int -{ - match c { - case Red => - match d { - case Red => - 0 - case Green => - 1 - case Blue => - 2 - } - case Green => - match d { case Red => 3 case Green => 3 case Blue => 2 } + 20 - case Blue => - match d { case Red => 9 case Green => 8 case Blue => 7 } + match d case Red => 23 case Green => 29 case Blue => 31 - } -} - -method P(c: Color, d: Color) -{ - var x: int; - match c { - case {:split false} Red => - x := 20; - case {:split false} Green => - case {:split false} Blue => - } - match c - case {:split false} Red => - match d { - case {:split false} Red => - case {:split false} Green => - case {:split false} Blue => - } - case {:split false} Green => - var y := 25; - var z := y + 3; - case {:split false} Blue => - { - var y := 25; - var z := y + 3; - } - match d - case {:split false} Red => - case {:split false} Green => - x := x + 1; - case {:split false} Blue => -} - -lemma HeatIsEven(c: Color) - ensures Heat(c) % 2 == 0 -{ - match c - case {:split false} Red => - assert 10 % 2 == 0; - case {:split false} Green => - assert 12 % 2 == 0; - case {:split false} Blue => -} - -method DegenerateExamples(c: Color) - requires Heat(c) == 10 -{ - match c - case {:split false} Red => - case {:split false} Green => - match c { - } - case {:split false} Blue => - match c -} - -method MoreDegenerateExamples(c: Color) - requires Heat(c) == 10 -{ - if c == Green { - var x: int := match c; - var y: int := match c { }; - var z := match c case Blue => 4; - } -} Dafny program verifier finished with 5 verified, 0 errors diff --git a/Test/dafny0/NameclashesCompile.dfy.go.check b/Test/dafny0/NameclashesCompile.dfy.go.check new file mode 100644 index 00000000000..590c4942826 --- /dev/null +++ b/Test/dafny0/NameclashesCompile.dfy.go.check @@ -0,0 +1,2 @@ +// https://github.com/dafny-lang/dafny/issues/4123 +// CHECK: _this.Get\(\) \(value of type dafny.Int\) is not an interface diff --git a/Test/dafny0/TypeConversionsCompile.dfy b/Test/dafny0/TypeConversionsCompile.dfy index 066af1b305b..2af24a392ca 100644 --- a/Test/dafny0/TypeConversionsCompile.dfy +++ b/Test/dafny0/TypeConversionsCompile.dfy @@ -1,4 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /env:0 /rprint:- "%s" > "%t" +// RUN: %dafny /compile:3 /print:"%t.print" /env:0 "%s" > "%t" // RUN: %diff "%s.expect" "%t" newtype Handful = x | 0 <= x < 0x8000 // this type turns native diff --git a/Test/dafny0/TypeConversionsCompile.dfy.expect b/Test/dafny0/TypeConversionsCompile.dfy.expect index d6b02b34eae..893938a0226 100644 --- a/Test/dafny0/TypeConversionsCompile.dfy.expect +++ b/Test/dafny0/TypeConversionsCompile.dfy.expect @@ -1,226 +1,3 @@ -// TypeConversionsCompile.dfy - -/* -module _System { - /* CALL GRAPH for module _System: - * SCC at height 1: - * RotateLeft - * SCC at height 1: - * RotateRight - * SCC at height 0: - * array - * SCC at height 0: - * nat - * SCC at height 0: - * object - */ - type string(==,0) = seq - - type {:axiom} nat(==,0) = x: int - | 0 <= x - - trait {:compile false} object { } - /*-- non-null type - type {:axiom} object(==) = c: object? | c != null /*special witness*/ - */ - - class {:compile false} array { - var Length: int // immutable - } - /*-- non-null type - type {:axiom} array(==) = c: array? | c != null /*special witness*/ - */ - - type {:compile false} /*_#Func1*/ -T0 ~> +R { - ghost function requires(x0: T0): bool - reads reads(x0) - - ghost function reads(x0: T0): set - reads reads(x0) - } - - type {:compile false} /*_#PartialFunc1*/ -T0 --> +R = f: T0 ~> R - | forall x0: T0 :: f.reads(x0) == {} - /*special witness*/ - - type {:compile false} /*_#TotalFunc1*/ -T0 -> +R = f: T0 --> R - | forall x0: T0 :: f.requires(x0) - /*special witness*/ - - type {:compile false} /*_#Func0*/ () ~> +R { - ghost function requires(): bool - reads reads() - - ghost function reads(): set - reads reads() - } - - type {:compile false} /*_#PartialFunc0*/ () --> +R = f: () ~> R - | f.reads() == {} - /*special witness*/ - - type {:compile false} /*_#TotalFunc0*/ () -> +R = f: () --> R - | f.requires() - /*special witness*/ - - datatype {:compile false} /*_tuple#2*/ (+T0, +T1) = _#Make2(0: T0, 1: T1) - - type bool { } - - type int { } - - type real { - var Floor: int // immutable - } - - type ORDINAL { - var IsLimit: bool // immutable - var IsSucc: bool // immutable - var Offset: int // immutable - var IsNat: bool // immutable - } - - type _bv { - function RotateLeft(w: nat): selftype - - function RotateRight(w: nat): selftype - } - - type map<+T, +U> { - var Keys: set // immutable - var Values: set // immutable - var Items: set<(T, U)> // immutable - } - - type imap<*T, +U> { - var Keys: iset // immutable - var Values: iset // immutable - var Items: iset<(T, U)> // immutable - } - - datatype {:compile false} /*_tuple#0*/ () = _#Make0 -} -// bitvector types in use: bv67 bv32 bv7 bv0 bv300 -*/ - -/* CALL GRAPH for module _module: - * SCC at height 2: - * Main - * SCC at height 1: - * Difficult - * SCC at height 1: - * Print - * SCC at height 0: - * Abundance - * SCC at height 0: - * EvenInt - * SCC at height 0: - * Handful - * SCC at height 0: - * OrdinalTests - * SCC at height 0: - * PrintExpected - * SCC at height 0: - * SmallReal - * SCC at height 0: - * int64 - */ -newtype Handful = x: int - | 0 <= x < 32768 - -newtype Abundance = y: int - | -20 <= y < 2199023255552 - -newtype int64 = y: int - | -9223372036854775808 <= y < 9223372036854775808 - -newtype EvenInt = x: int - | x % 2 == 0 - -newtype SmallReal = r: real - | -4.0 <= r < 300.0 - -method Print(x: int, n: nat, r: real, handful: Handful, even: EvenInt, small: SmallReal, b67: bv67, w: bv32, seven: bv7, noll: bv0) - decreases x, n, r, handful, even, small, b67, w, seven, noll -{ - print x, " ", n, " ", r, " ", handful, " ", even, " ", small, " ", b67, " ", w, " ", seven, " ", noll, "\n"; -} - -method PrintExpected(got: T, expected: T) -{ - print "got ", got, ", expected ", expected, "\n"; -} - -method Main() -{ - var x: int, n: nat, r: real := 3, 4, 5.0; - var handful: Handful, even: EvenInt, small: SmallReal := 5, 6, -1.0; - var b67: bv67, w: bv32, seven: bv7, noll: bv0 := 147573952589676412927, 4294967295, 127, 0; - Print(x, n, r, handful, even, small, b67, w, seven, noll); - PrintExpected(x as bv7, 3); - PrintExpected(0 as bv0, 0); - PrintExpected(r as int, 5); - PrintExpected((2.0 * r) as EvenInt, 10); - PrintExpected(x as real, 3.0); - PrintExpected(even as real, 6.0); - PrintExpected((small + 3.0) as Handful, 2); - PrintExpected(noll as Handful, 0); - PrintExpected(noll as SmallReal, 0.0); - PrintExpected(w as real, 4294967295.0); - PrintExpected(seven as real, 127.0); - PrintExpected(noll as bv32, 0); - PrintExpected(noll as bv67, 0); - PrintExpected(seven as bv32, 127); - PrintExpected(seven as bv67, 127); - b67 := 50; - PrintExpected(r as bv67, 5); - PrintExpected(r as bv32, 5); - PrintExpected(w as bv67, 4294967295); - PrintExpected(r as bv7, 5); - PrintExpected(0.0 as bv0, 0); - PrintExpected(handful as bv67, 5); - PrintExpected(handful as bv32, 5); - PrintExpected(handful as bv7, 5); - PrintExpected(handful as int, 5); - PrintExpected(noll as bv32 as bv0, 0); - PrintExpected(noll as bv67 as bv0, 0); - PrintExpected(seven as bv32 as bv7, 127); - PrintExpected(seven as bv67 as bv7, 127); - PrintExpected(handful as real, 5.0); - Difficult(); - var a0: Abundance, a1: Abundance, a2: Abundance, lng: int64; - var s: set := {4.0, 6.3, r, 1000.2}; - var a: array := new char[68]; - handful := 120 as Handful; - a0, a1 := -1 as Abundance, 4 as Abundance; - a2 := 8589934592 as Abundance; - w, lng := 6345789 as bv32, -9223372036854775808 as int64; - print handful, " ", a0, " ", a1, " ", a2, " ", w, " ", lng, "\n"; - x, handful, a0, w := |s|, |s| as Handful, |s| as Abundance, |s| as bv32; - print x, " ", handful, " ", a0, " ", w, "\n"; - x, handful, a0, w := a.Length, a.Length as Handful, a.Length as Abundance, a.Length as bv32; - print x, " ", handful, " ", a0, " ", w, "\n"; - OrdinalTests(); -} - -method Difficult() -{ - if 14 as real as int as bv67 == 14 { - PrintExpected(14 as real as int as bv67 as EvenInt as SmallReal as Handful as bv7 as bv32 as int, 14); - } -} - -method OrdinalTests() -{ - var ord: ORDINAL := 143; - var iord: int := ord as int; - var oord: ORDINAL := iord as ORDINAL; - print "Something about ORDINAL: ", ord, " ", iord, " ", oord, " ", ord + 4, " ", ord - 100, "\n"; - print "ORDINAL and bitvectors: ", 20 as bv32 as ORDINAL, " ", 20 as bv300 as ORDINAL, "\n"; - print ord.IsLimit, " ", ord.Offset, " ", ord.IsNat, "\n"; - ord := 0; - print ord.IsLimit, " ", ord.Offset, " ", ord.IsNat, "\n"; -} Dafny program verifier finished with 8 verified, 0 errors 3 4 5.0 5 6 -1.0 147573952589676412927 4294967295 127 0 diff --git a/Test/dafny4/ExpandedGuardedness.dfy.java.check b/Test/dafny4/ExpandedGuardedness.dfy.java.check new file mode 100644 index 00000000000..76eff868f59 --- /dev/null +++ b/Test/dafny4/ExpandedGuardedness.dfy.java.check @@ -0,0 +1,2 @@ +// https://github.com/dafny-lang/dafny/issues/4124 +// CHECK: error: incompatible types: int cannot be converted to CodePoint diff --git a/Test/dafny4/git-issue105.dfy.go.check b/Test/dafny4/git-issue105.dfy.go.check new file mode 100644 index 00000000000..57f361cbb89 --- /dev/null +++ b/Test/dafny4/git-issue105.dfy.go.check @@ -0,0 +1,2 @@ +// https://github.com/dafny-lang/dafny/issues/4120 +// CHECK: syntax error: unexpected -, expected semicolon or newline \ No newline at end of file diff --git a/Test/dafny4/git-issue43.dfy.go.check b/Test/dafny4/git-issue43.dfy.go.check new file mode 100644 index 00000000000..057c563f8b4 --- /dev/null +++ b/Test/dafny4/git-issue43.dfy.go.check @@ -0,0 +1,3 @@ +// https://github.com/dafny-lang/dafny/issues/4120 +// CHECK: syntax error: unexpected -, expected semicolon or newline + diff --git a/Test/dafny4/git-issue79.dfy.go.check b/Test/dafny4/git-issue79.dfy.go.check new file mode 100644 index 00000000000..057c563f8b4 --- /dev/null +++ b/Test/dafny4/git-issue79.dfy.go.check @@ -0,0 +1,3 @@ +// https://github.com/dafny-lang/dafny/issues/4120 +// CHECK: syntax error: unexpected -, expected semicolon or newline + diff --git a/Test/git-issues/git-issue-1815b.dfy.go.check b/Test/git-issues/git-issue-1815b.dfy.go.check new file mode 100644 index 00000000000..b806adb9572 --- /dev/null +++ b/Test/git-issues/git-issue-1815b.dfy.go.check @@ -0,0 +1,2 @@ +// https://github.com/dafny-lang/dafny/issues/4120 +// CHECK: Y \(variable of type interface{}\) is not a type diff --git a/Test/git-issues/git-issue-2173.dfy.go.check b/Test/git-issues/git-issue-2173.dfy.go.check new file mode 100644 index 00000000000..4654124ceb0 --- /dev/null +++ b/Test/git-issues/git-issue-2173.dfy.go.check @@ -0,0 +1,3 @@ +// https://github.com/dafny-lang/dafny/issues/4120 +// CHECK: T \(variable of type T\) is not a type + diff --git a/Test/git-issues/git-issue-2441.dfy.go.check b/Test/git-issues/git-issue-2441.dfy.go.check new file mode 100644 index 00000000000..fc520cadf31 --- /dev/null +++ b/Test/git-issues/git-issue-2441.dfy.go.check @@ -0,0 +1,2 @@ +// https://github.com/dafny-lang/dafny/issues/4120 +// CHECK: syntax error: unexpected -, expected semicolon or newline diff --git a/Test/git-issues/git-issue-262.dfy.py.expect b/Test/git-issues/git-issue-262.dfy.py.expect new file mode 100644 index 00000000000..aa5478ef8c9 --- /dev/null +++ b/Test/git-issues/git-issue-262.dfy.py.expect @@ -0,0 +1,2 @@ +Function +Function diff --git a/Test/git-issues/git-issue-267.dfy.py.check b/Test/git-issues/git-issue-267.dfy.py.check new file mode 100644 index 00000000000..df2e06683f3 --- /dev/null +++ b/Test/git-issues/git-issue-267.dfy.py.check @@ -0,0 +1,2 @@ +// https://github.com/dafny-lang/dafny/issues/4127 +// CHECK-L: SyntaxError: too many nested parentheses diff --git a/Test/git-issues/git-issue-4012.dfy.cs.check b/Test/git-issues/git-issue-4012.dfy.cs.check new file mode 100644 index 00000000000..42f034cb8ed --- /dev/null +++ b/Test/git-issues/git-issue-4012.dfy.cs.check @@ -0,0 +1,2 @@ +// https://github.com/dafny-lang/dafny/issues/4125 +// CHECK-L: Unhandled exception. System.OverflowException: Value was either too large or too small for an Int32. diff --git a/Test/git-issues/github-issue-3343.dfy.go.check b/Test/git-issues/github-issue-3343.dfy.go.check new file mode 100644 index 00000000000..fc520cadf31 --- /dev/null +++ b/Test/git-issues/github-issue-3343.dfy.go.check @@ -0,0 +1,2 @@ +// https://github.com/dafny-lang/dafny/issues/4120 +// CHECK: syntax error: unexpected -, expected semicolon or newline diff --git a/Test/hofs/VectorUpdate.dfy.java.check b/Test/hofs/VectorUpdate.dfy.java.check new file mode 100644 index 00000000000..55ca0026d06 --- /dev/null +++ b/Test/hofs/VectorUpdate.dfy.java.check @@ -0,0 +1,2 @@ +// https://github.com/dafny-lang/dafny/issues/4122 +// CHECK: error: array required, but Object found From 204efa3a320492e61e9a80695854c2176d59a6f6 Mon Sep 17 00:00:00 2001 From: Robin Salkeld Date: Fri, 2 Jun 2023 15:54:16 -0700 Subject: [PATCH 32/68] Convert all tests --- Test/VerifyThis2015/Problem1.dfy | 3 +- Test/VerifyThis2015/Problem1.dfy.expect | 2 - Test/VerifyThis2015/Problem2.dfy | 3 +- Test/VerifyThis2015/Problem2.dfy.expect | 2 - Test/VerifyThis2015/Problem3.dfy | 3 +- Test/VerifyThis2015/Problem3.dfy.expect | 2 - Test/c++/arrays.dfy | 3 +- Test/c++/arrays.dfy.expect | 2 - Test/c++/bit-vectors.dfy | 3 +- Test/c++/bit-vectors.dfy.expect | 2 - Test/c++/class.dfy | 3 +- Test/c++/class.dfy.expect | 2 - Test/c++/const.dfy | 3 +- Test/c++/const.dfy.expect | 2 - Test/c++/datatypes.dfy | 3 +- Test/c++/datatypes.dfy.expect | 2 - Test/c++/generic.dfy | 3 +- Test/c++/generic.dfy.expect | 2 - Test/c++/hello.dfy | 3 +- Test/c++/hello.dfy.expect | 2 - Test/c++/ints.dfy | 3 +- Test/c++/ints.dfy.expect | 2 - Test/c++/maps.dfy | 3 +- Test/c++/maps.dfy.expect | 2 - Test/c++/recursion.dfy | 3 +- Test/c++/recursion.dfy.expect | 2 - Test/c++/returns.dfy | 3 +- Test/c++/returns.dfy.expect | 2 - Test/c++/seqs.dfy | 3 +- Test/c++/seqs.dfy.expect | 2 - Test/c++/sets.dfy | 3 +- Test/c++/sets.dfy.expect | 2 - Test/c++/while.dfy | 3 +- Test/c++/while.dfy.expect | 2 - Test/comp/Arrays.dfy | 9 +- Test/comp/Arrays.dfy.expect | 396 ------------ Test/comp/Arrays.dfy.go.expect | 96 +++ Test/comp/AsIs-Compile.dfy | 8 +- Test/comp/AsIs-Compile.dfy.expect | 160 ----- Test/comp/AutoInit.dfy | 8 +- Test/comp/AutoInit.dfy.expect | 160 ----- Test/comp/ByMethodCompilation.dfy | 8 +- Test/comp/ByMethodCompilation.dfy.expect | 32 - Test/comp/Calls.dfy | 8 +- Test/comp/Calls.dfy.expect | 40 -- Test/comp/Class.dfy | 8 +- Test/comp/Class.dfy.expect | 72 --- Test/comp/Collections.dfy | 9 +- Test/comp/Collections.dfy.expect | 512 ---------------- Test/comp/Collections.dfy.go.expect | 125 ++++ Test/comp/Collections.dfy.java.expect | 125 ++++ Test/comp/Collections.dfy.js.expect | 125 ++++ Test/comp/Collections.dfy.py.expect | 125 ++++ Test/comp/Comprehensions.dfy | 9 +- Test/comp/Comprehensions.dfy.expect | 260 -------- Test/comp/Comprehensions.dfy.py.expect | 62 ++ Test/comp/ComprehensionsNewSyntax.dfy | 9 +- Test/comp/ComprehensionsNewSyntax.dfy.expect | 148 ----- .../ComprehensionsNewSyntax.dfy.py.expect | 34 ++ Test/comp/CovariantCollections.dfy | 8 +- Test/comp/CovariantCollections.dfy.expect | 220 ------- Test/comp/Datatype.dfy | 9 +- Test/comp/Datatype.dfy.expect | 100 --- Test/comp/Datatype.dfy.java.expect | 22 + Test/comp/Datatype.dfy.py.expect | 22 + Test/comp/DefaultParameters-Compile.dfy | 8 +- .../comp/DefaultParameters-Compile.dfy.expect | 48 -- Test/comp/DowncastClone.dfy | 8 +- Test/comp/DowncastClone.dfy.expect | 40 -- Test/comp/ErasableTypeWrappers.dfy | 8 +- Test/comp/ErasableTypeWrappers.dfy.expect | 84 --- Test/comp/EuclideanDivision.dfy | 8 +- Test/comp/EuclideanDivision.dfy.expect | 36 -- Test/comp/ForLoops-Compilation.dfy | 8 +- Test/comp/ForLoops-Compilation.dfy.expect | 200 ------ Test/comp/ForallNewSyntax.dfy | 8 +- Test/comp/ForallNewSyntax.dfy.expect | 180 ------ Test/comp/Ghosts.dfy | 8 +- Test/comp/Ghosts.dfy.expect | 52 -- Test/comp/Let.dfy | 7 +- Test/comp/Let.dfy.expect | 34 -- Test/comp/MoreAutoInit.dfy | 8 +- Test/comp/MoreAutoInit.dfy.expect | 572 ------------------ Test/comp/NativeNumbers.dfy | 7 +- Test/comp/NativeNumbers.dfy.expect | 256 -------- Test/comp/NestedArrays.dfy | 7 +- Test/comp/NestedArrays.dfy.expect | 16 - Test/comp/Numbers.dfy | 9 +- Test/comp/Numbers.dfy.expect | 456 -------------- Test/comp/Numbers.dfy.go.expect | 111 ++++ Test/comp/Numbers.dfy.py.expect | 111 ++++ Test/comp/Poly.dfy | 9 +- Test/comp/Poly.dfy.expect | 60 -- Test/comp/Poly.dfy.go.expect | 12 + Test/comp/Poly.dfy.py.expect | 12 + Test/comp/Print.dfy | 8 +- Test/comp/Print.dfy.expect | 34 -- Test/comp/Print.dfy.go.expect | 8 + Test/comp/Print.dfy.java.expect | 8 + Test/comp/Print.dfy.js.expect | 8 + Test/comp/StaticMembersOfGenericTypes.dfy | 8 +- .../StaticMembersOfGenericTypes.dfy.expect | 76 --- Test/comp/TailRecursion.dfy | 8 +- Test/comp/TailRecursion.dfy.expect | 76 --- Test/comp/TypeDescriptors.dfy | 8 +- Test/comp/TypeDescriptors.dfy.expect | 152 ----- Test/comp/TypeParams.dfy | 11 +- Test/comp/TypeParams.dfy.expect | 88 --- Test/comp/TypeParams.dfy.go.expect | 19 + Test/comp/TypeParams.dfy.java.expect | 19 + Test/comp/TypeParams.dfy.js.expect | 19 + Test/comp/TypeParams.dfy.py.expect | 19 + Test/comp/UnoptimizedErasableTypeWrappers.dfy | 8 +- ...UnoptimizedErasableTypeWrappers.dfy.expect | 28 - Test/comp/Variance.dfy | 8 +- Test/comp/Variance.dfy.expect | 64 -- Test/comp/Various.dfy | 8 +- Test/comp/Various.dfy.expect | 40 -- Test/comp/firstSteps/0_IKnowThisMuchIs.dfy | 4 +- .../firstSteps/0_IKnowThisMuchIs.dfy.expect | 4 - Test/comp/firstSteps/1_Calls-F.dfy | 4 +- Test/comp/firstSteps/1_Calls-F.dfy.expect | 4 - Test/comp/firstSteps/2_Modules.dfy | 4 +- Test/comp/firstSteps/2_Modules.dfy.expect | 4 - Test/comp/firstSteps/3_Calls-As.dfy | 4 +- Test/comp/firstSteps/3_Calls-As.dfy.expect | 4 - .../4_Calls-FunctionsValues-Class+NT.dfy | 4 +- ..._Calls-FunctionsValues-Class+NT.dfy.expect | 4 - .../firstSteps/5_Calls-FunctionsValues-Dt.dfy | 4 +- .../5_Calls-FunctionsValues-Dt.dfy.expect | 4 - .../firstSteps/6_Calls-VariableCapture.dfy | 4 +- .../6_Calls-VariableCapture.dfy.expect | 4 - Test/comp/firstSteps/7_Arrays.dfy | 4 +- Test/comp/firstSteps/7_Arrays.dfy.expect | 4 - Test/comp/firstSteps/7_Dt_Algebraic.dfy | 6 +- .../firstSteps/7_Dt_Algebraic.dfy.cs.expect | 11 + .../comp/firstSteps/7_Dt_Algebraic.dfy.expect | 17 - Test/dafny0/ArrayElementInitCompile.dfy | 8 +- .../dafny0/ArrayElementInitCompile.dfy.expect | 76 --- Test/dafny0/Bitvectors.dfy | 5 +- Test/dafny0/Bitvectors.dfy.expect | 49 -- Test/dafny0/Constant.dfy | 3 +- Test/dafny0/Constant.dfy.expect | 2 - Test/dafny0/Deprecation.dfy | 3 +- Test/dafny0/Deprecation.dfy.expect | 7 - Test/dafny0/Deprecation.dfy.verifier.expect | 5 + Test/dafny0/DiscoverBounds.dfy | 3 +- Test/dafny0/DiscoverBounds.dfy.expect | 7 - .../dafny0/DiscoverBounds.dfy.verifier.expect | 5 + Test/dafny0/DividedConstructors.dfy | 3 +- Test/dafny0/DividedConstructors.dfy.expect | 2 - Test/dafny0/EqualityTypesCompile.dfy | 3 +- Test/dafny0/EqualityTypesCompile.dfy.expect | 2 - Test/dafny0/ForallCompilationNewSyntax.dfy | 3 +- .../ForallCompilationNewSyntax.dfy.expect | 6 - ...llCompilationNewSyntax.dfy.verifier.expect | 4 + Test/dafny0/GhostGuards.dfy | 3 +- Test/dafny0/GhostGuards.dfy.expect | 7 - Test/dafny0/GhostGuards.dfy.verifier.expect | 5 + Test/dafny0/GhostITECompilation.dfy | 8 +- Test/dafny0/GhostITECompilation.dfy.expect | 28 - Test/dafny0/InitialValues.dfy | 3 +- Test/dafny0/InitialValues.dfy.expect | 2 - Test/dafny0/MatchBraces.dfy | 5 +- Test/dafny0/MatchBraces.dfy.expect | 8 - Test/dafny0/MoForallCompilation.dfy | 3 +- Test/dafny0/MoForallCompilation.dfy.expect | 2 - Test/dafny0/NameclashesCompile.dfy | 3 +- Test/dafny0/NameclashesCompile.dfy.expect | 2 - Test/dafny0/NonZeroInitializationCompile.dfy | 7 +- .../NonZeroInitializationCompile.dfy.expect | 73 --- Test/dafny0/NullComparisonWarnings.dfy | 3 +- Test/dafny0/NullComparisonWarnings.dfy.expect | 13 - ...NullComparisonWarnings.dfy.verifier.expect | 11 + Test/dafny0/PrintUTF8.dfy | 3 +- Test/dafny0/PrintUTF8.dfy.expect | 2 - Test/dafny0/RangeCompilation.dfy | 3 +- Test/dafny0/RangeCompilation.dfy.expect | 2 - Test/dafny0/SeqFromArray.dfy | 3 +- Test/dafny0/SeqFromArray.dfy.expect | 2 - Test/dafny0/SharedDestructorsCompile.dfy | 5 +- .../SharedDestructorsCompile.dfy.expect | 17 - Test/dafny0/SiblingImports.dfy | 3 +- Test/dafny0/SiblingImports.dfy.expect | 2 - Test/dafny0/TypeConversionsCompile.dfy | 3 +- Test/dafny0/TypeConversionsCompile.dfy.expect | 2 - Test/dafny0/TypeMembers.dfy | 5 +- Test/dafny0/TypeMembers.dfy.expect | 29 - Test/dafny0/TypeMembers.dfy.verifier.expect | 1 + Test/dafny0/Wellfounded.dfy | 3 +- Test/dafny0/Wellfounded.dfy.expect | 4 - Test/dafny0/Wellfounded.dfy.verifier.expect | 2 + Test/dafny2/MinWindowMax.dfy | 3 +- Test/dafny2/MinWindowMax.dfy.expect | 2 - .../SmallestMissingNumber-functional.dfy | 3 +- ...mallestMissingNumber-functional.dfy.expect | 3 - ...ssingNumber-functional.dfy.verifier.expect | 1 + .../SmallestMissingNumber-imperative.dfy | 3 +- ...mallestMissingNumber-imperative.dfy.expect | 2 - Test/dafny2/StoreAndRetrieve.dfy | 7 +- Test/dafny2/StoreAndRetrieve.dfy.expect | 38 -- .../StoreAndRetrieve.dfy.verifier.expect | 5 + Test/dafny2/Z-BirthdayBook.dfy | 3 +- Test/dafny2/Z-BirthdayBook.dfy.expect | 2 - Test/dafny2/pq-intrinsic-extrinsic.dfy | 5 +- Test/dafny2/pq-intrinsic-extrinsic.dfy.expect | 11 - Test/dafny3/Abstemious.dfy | 3 +- Test/dafny3/Abstemious.dfy.expect | 2 - Test/dafny3/CachedContainer.dfy | 7 +- Test/dafny3/CachedContainer.dfy.expect | 78 --- .../CachedContainer.dfy.verifier.expect | 13 + Test/dafny3/Iter.dfy | 3 +- Test/dafny3/Iter.dfy.expect | 2 - Test/dafny4/Ackermann.dfy | 3 +- Test/dafny4/Ackermann.dfy.expect | 4 - Test/dafny4/Ackermann.dfy.verifier.expect | 2 + Test/dafny4/Bug107.dfy | 3 +- Test/dafny4/Bug107.dfy.expect | 2 - Test/dafny4/Bug108.dfy | 3 +- Test/dafny4/Bug108.dfy.expect | 2 - Test/dafny4/Bug113.dfy | 5 +- Test/dafny4/Bug113.dfy.expect | 2 - Test/dafny4/Bug116.dfy | 3 +- Test/dafny4/Bug116.dfy.expect | 2 - Test/dafny4/Bug140.dfy | 3 +- Test/dafny4/Bug140.dfy.expect | 2 - Test/dafny4/Bug148.dfy | 3 +- Test/dafny4/Bug148.dfy.expect | 2 - Test/dafny4/Bug49.dfy | 3 +- Test/dafny4/Bug49.dfy.expect | 2 - Test/dafny4/Bug60.dfy | 3 +- Test/dafny4/Bug60.dfy.expect | 2 - Test/dafny4/Bug67.dfy | 5 +- Test/dafny4/Bug67.dfy.expect | 2 - Test/dafny4/Bug68.dfy | 5 +- Test/dafny4/Bug68.dfy.expect | 2 - Test/dafny4/Bug89.dfy | 3 +- Test/dafny4/Bug89.dfy.expect | 2 - Test/dafny4/Bug94.dfy | 3 +- Test/dafny4/Bug94.dfy.expect | 2 - Test/dafny4/ClassRefinement.dfy | 7 +- Test/dafny4/ClassRefinement.dfy.expect | 43 -- .../ClassRefinement.dfy.verifier.expect | 6 + Test/dafny4/ExpandedGuardedness.dfy | 3 +- Test/dafny4/ExpandedGuardedness.dfy.expect | 2 - Test/dafny4/FlyingRobots.dfy | 3 +- Test/dafny4/FlyingRobots.dfy.expect | 2 - Test/dafny4/Leq.dfy | 3 +- Test/dafny4/Leq.dfy.expect | 2 - Test/dafny4/McCarthy91.dfy | 3 +- Test/dafny4/McCarthy91.dfy.expect | 2 - Test/dafny4/NatList.dfy | 3 +- Test/dafny4/NatList.dfy.expect | 2 - Test/dafny4/Regression15.dfy | 3 +- Test/dafny4/Regression15.dfy.expect | 2 - Test/dafny4/Regression2.dfy | 3 +- Test/dafny4/Regression2.dfy.expect | 2 - Test/dafny4/Regression3.dfy | 3 +- Test/dafny4/Regression3.dfy.expect | 2 - Test/dafny4/Regression4.dfy | 3 +- Test/dafny4/Regression4.dfy.expect | 2 - Test/dafny4/Regression6.dfy | 3 +- Test/dafny4/Regression6.dfy.expect | 2 - Test/dafny4/Regression7.dfy | 3 +- Test/dafny4/Regression7.dfy.expect | 2 - Test/dafny4/Regression9.dfy | 3 +- Test/dafny4/Regression9.dfy.expect | 2 - Test/dafny4/UnionFind.dfy | 3 +- Test/dafny4/UnionFind.dfy.expect | 2 - Test/dafny4/gcd.dfy | 7 +- Test/dafny4/gcd.dfy.expect | 31 - Test/dafny4/git-issue104.dfy | 8 +- Test/dafny4/git-issue104.dfy.expect | 16 - Test/dafny4/git-issue105.dfy | 3 +- Test/dafny4/git-issue105.dfy.expect | 2 - Test/dafny4/git-issue15.dfy | 3 +- Test/dafny4/git-issue15.dfy.expect | 2 - Test/dafny4/git-issue167.dfy | 3 +- Test/dafny4/git-issue167.dfy.expect | 2 - Test/dafny4/git-issue195.dfy | 3 +- Test/dafny4/git-issue195.dfy.expect | 2 - Test/dafny4/git-issue196.dfy | 3 +- Test/dafny4/git-issue196.dfy.expect | 2 - Test/dafny4/git-issue4.dfy | 3 +- Test/dafny4/git-issue4.dfy.expect | 2 - Test/dafny4/git-issue43.dfy | 3 +- Test/dafny4/git-issue43.dfy.expect | 2 - Test/dafny4/git-issue70.dfy | 3 +- Test/dafny4/git-issue70.dfy.expect | 2 - Test/dafny4/git-issue76.dfy | 5 +- Test/dafny4/git-issue76.dfy.expect | 7 - Test/dafny4/git-issue79.dfy | 3 +- Test/dafny4/git-issue79.dfy.expect | 2 - Test/dafny4/git-issue88.dfy | 3 +- Test/dafny4/git-issue88.dfy.expect | 2 - Test/exceptions/Exceptions1.dfy | 3 +- Test/exceptions/Exceptions1.dfy.expect | 2 - Test/exceptions/Exceptions1Expressions.dfy | 3 +- .../Exceptions1Expressions.dfy.expect | 2 - Test/exports/FIFO.dfy | 3 +- Test/exports/FIFO.dfy.expect | 2 - Test/exports/LIFO.dfy | 3 +- Test/exports/LIFO.dfy.expect | 2 - Test/exports/xrefine2.dfy | 3 +- Test/exports/xrefine2.dfy.expect | 2 - Test/exports/xrefine3.dfy | 3 +- Test/exports/xrefine3.dfy.expect | 2 - Test/git-issues/git-issue-032.dfy | 7 +- Test/git-issues/git-issue-032.dfy.expect | 37 -- .../git-issue-032.dfy.verifier.expect | 3 + Test/git-issues/git-issue-1029.dfy | 3 +- Test/git-issues/git-issue-1029.dfy.expect | 2 - Test/git-issues/git-issue-1093.dfy | 8 +- Test/git-issues/git-issue-1093.dfy.expect | 16 - Test/git-issues/git-issue-1100.dfy | 3 +- Test/git-issues/git-issue-1100.dfy.expect | 2 - Test/git-issues/git-issue-1130.dfy | 3 +- Test/git-issues/git-issue-1130.dfy.expect | 2 - Test/git-issues/git-issue-1150.dfy | 3 +- Test/git-issues/git-issue-1150.dfy.expect | 2 - Test/git-issues/git-issue-1185.dfy | 8 +- Test/git-issues/git-issue-1185.dfy.expect | 13 - .../git-issues/git-issue-1185.dfy.java.expect | 1 + Test/git-issues/git-issue-1514.dfy | 3 +- Test/git-issues/git-issue-1514.dfy.expect | 2 - Test/git-issues/git-issue-1514b.dfy | 3 +- Test/git-issues/git-issue-1514b.dfy.expect | 2 - Test/git-issues/git-issue-1514c.dfy | 5 +- Test/git-issues/git-issue-1514c.dfy.expect | 7 - Test/git-issues/git-issue-1553.dfy | 7 +- Test/git-issues/git-issue-1553.dfy.expect | 10 - Test/git-issues/git-issue-1604b.dfy | 3 +- Test/git-issues/git-issue-1604b.dfy.expect | 2 - Test/git-issues/git-issue-1714.dfy | 3 +- Test/git-issues/git-issue-1714.dfy.expect | 2 - Test/git-issues/git-issue-179.dfy | 8 +- Test/git-issues/git-issue-179.dfy.expect | 22 - Test/git-issues/git-issue-179.dfy.go.expect | 4 + Test/git-issues/git-issue-179.dfy.java.expect | 4 + Test/git-issues/git-issue-179.dfy.js.expect | 4 + Test/git-issues/git-issue-1815a.dfy | 8 +- Test/git-issues/git-issue-1815a.dfy.expect | 16 - Test/git-issues/git-issue-1852.dfy | 5 +- Test/git-issues/git-issue-1852.dfy.expect | 7 - Test/git-issues/git-issue-1903.dfy | 3 +- Test/git-issues/git-issue-1903.dfy.expect | 2 - Test/git-issues/git-issue-1909.dfy | 3 +- Test/git-issues/git-issue-1909.dfy.expect | 2 - Test/git-issues/git-issue-2013.dfy | 8 +- Test/git-issues/git-issue-2013.dfy.expect | 52 -- Test/git-issues/git-issue-2441.dfy | 5 +- Test/git-issues/git-issue-2441.dfy.expect | 6 - Test/git-issues/git-issue-2510.dfy | 3 +- Test/git-issues/git-issue-2510.dfy.expect | 2 - Test/git-issues/git-issue-258.dfy | 8 +- Test/git-issues/git-issue-258.dfy.expect | 73 --- Test/git-issues/git-issue-258.dfy.go.expect | 21 + Test/git-issues/git-issue-258.dfy.js.expect | 21 + Test/git-issues/git-issue-2608.dfy | 3 +- Test/git-issues/git-issue-2608.dfy.expect | 2 - Test/git-issues/git-issue-262.dfy | 7 +- Test/git-issues/git-issue-262.dfy.expect | 18 - Test/git-issues/git-issue-262.dfy.go.expect | 2 + Test/git-issues/git-issue-262.dfy.java.expect | 2 + Test/git-issues/git-issue-262.dfy.js.expect | 6 + Test/git-issues/git-issue-267.dfy | 7 +- Test/git-issues/git-issue-267.dfy.expect | 13 - Test/git-issues/git-issue-2672.dfy | 8 +- Test/git-issues/git-issue-2672.dfy.expect | 44 -- Test/git-issues/git-issue-2726a.dfy | 3 +- Test/git-issues/git-issue-2726a.dfy.expect | 2 - Test/git-issues/git-issue-2733.dfy | 9 +- Test/git-issues/git-issue-2733.dfy.expect | 14 - Test/git-issues/git-issue-2792.dfy | 3 +- Test/git-issues/git-issue-2792.dfy.expect | 2 - Test/git-issues/git-issue-283.dfy | 7 +- Test/git-issues/git-issue-283.dfy.expect | 13 - Test/git-issues/git-issue-283d.dfy | 7 +- Test/git-issues/git-issue-283d.dfy.expect | 10 - Test/git-issues/git-issue-314.dfy | 7 +- Test/git-issues/git-issue-314.dfy.expect | 10 - Test/git-issues/git-issue-332.dfy | 3 +- Test/git-issues/git-issue-332.dfy.expect | 2 - Test/git-issues/git-issue-354.dfy | 7 +- Test/git-issues/git-issue-354.dfy.expect | 22 - Test/git-issues/git-issue-356.dfy | 8 +- Test/git-issues/git-issue-356.dfy.expect | 36 -- Test/git-issues/git-issue-364.dfy | 3 +- Test/git-issues/git-issue-364.dfy.expect | 2 - Test/git-issues/git-issue-374.dfy | 7 +- Test/git-issues/git-issue-374.dfy.expect | 10 - Test/git-issues/git-issue-396.dfy | 6 +- Test/git-issues/git-issue-396.dfy.expect | 11 - Test/git-issues/git-issue-4007.dfy | 5 +- Test/git-issues/git-issue-4007.dfy.expect | 3 - .../git-issue-4007.dfy.verifier.expect | 1 + Test/git-issues/git-issue-4012.dfy | 5 +- Test/git-issues/git-issue-4012.dfy.expect | 2 - Test/git-issues/git-issue-425.dfy | 7 +- Test/git-issues/git-issue-425.dfy.expect | 16 - Test/git-issues/git-issue-443.dfy | 3 +- Test/git-issues/git-issue-443.dfy.expect | 2 - Test/git-issues/git-issue-446.dfy | 7 +- Test/git-issues/git-issue-446.dfy.expect | 19 - Test/git-issues/git-issue-446a.dfy | 7 +- Test/git-issues/git-issue-446a.dfy.expect | 19 - Test/git-issues/git-issue-446b.dfy | 7 +- Test/git-issues/git-issue-446b.dfy.expect | 25 - Test/git-issues/git-issue-478-good.dfy | 3 +- Test/git-issues/git-issue-478-good.dfy.expect | 2 - Test/git-issues/git-issue-506.dfy | 6 +- Test/git-issues/git-issue-506.dfy.expect | 26 - Test/git-issues/git-issue-532.dfy | 7 +- Test/git-issues/git-issue-532.dfy.expect | 19 - Test/git-issues/git-issue-549.dfy | 5 +- Test/git-issues/git-issue-549.dfy.expect | 8 - Test/git-issues/git-issue-622$f.dfy | 3 +- Test/git-issues/git-issue-622$f.dfy.expect | 2 - Test/git-issues/git-issue-633.dfy | 7 +- Test/git-issues/git-issue-633.dfy.expect | 10 - Test/git-issues/git-issue-684.dfy | 7 +- Test/git-issues/git-issue-684.dfy.expect | 10 - Test/git-issues/git-issue-686.dfy | 7 +- Test/git-issues/git-issue-686.dfy.expect | 23 - .../git-issue-686.dfy.verifier.expect | 2 + Test/git-issues/git-issue-697.dfy | 3 +- Test/git-issues/git-issue-697.dfy.expect | 2 - Test/git-issues/git-issue-697b.dfy | 3 +- Test/git-issues/git-issue-697b.dfy.expect | 2 - Test/git-issues/git-issue-697d.dfy | 3 +- Test/git-issues/git-issue-697d.dfy.expect | 2 - Test/git-issues/git-issue-697e.dfy | 3 +- Test/git-issues/git-issue-697e.dfy.expect | 2 - Test/git-issues/git-issue-697f.dfy | 3 +- Test/git-issues/git-issue-697f.dfy.expect | 2 - Test/git-issues/git-issue-697g.dfy | 3 +- Test/git-issues/git-issue-697g.dfy.expect | 2 - Test/git-issues/git-issue-698.dfy | 5 +- Test/git-issues/git-issue-698.dfy.expect | 7 - Test/git-issues/git-issue-698b.dfy | 5 +- Test/git-issues/git-issue-698b.dfy.expect | 2 - Test/git-issues/git-issue-701.dfy | 7 +- Test/git-issues/git-issue-701.dfy.expect | 19 - Test/git-issues/git-issue-705.dfy | 7 +- Test/git-issues/git-issue-705.dfy.expect | 13 - Test/git-issues/git-issue-731.dfy | 7 +- Test/git-issues/git-issue-731.dfy.expect | 16 - Test/git-issues/git-issue-731b.dfy | 7 +- Test/git-issues/git-issue-731b.dfy.expect | 13 - Test/git-issues/git-issue-755.dfy | 8 +- Test/git-issues/git-issue-755.dfy.expect | 31 - Test/git-issues/git-issue-755.dfy.go.expect | 7 + Test/git-issues/git-issue-755.dfy.java.expect | 7 + Test/git-issues/git-issue-755.dfy.js.expect | 7 + Test/git-issues/git-issue-784.dfy | 7 +- Test/git-issues/git-issue-784.dfy.expect | 10 - Test/git-issues/git-issue-953.dfy | 8 +- Test/git-issues/git-issue-953.dfy.expect | 36 -- Test/git-issues/github-issue-3343.dfy | 3 +- Test/git-issues/github-issue-3343.dfy.expect | 2 - Test/hofs/Compilation.dfy | 3 +- Test/hofs/Compilation.dfy.expect | 2 - Test/hofs/Examples.dfy | 3 +- Test/hofs/Examples.dfy.expect | 2 - Test/hofs/Fold.dfy | 3 +- Test/hofs/Fold.dfy.expect | 2 - Test/hofs/Renaming.dfy | 3 +- Test/hofs/Renaming.dfy.expect | 2 - Test/hofs/Requires.dfy | 3 +- Test/hofs/Requires.dfy.expect | 2 - Test/hofs/TreeMapSimple.dfy | 3 +- Test/hofs/TreeMapSimple.dfy.expect | 2 - Test/hofs/VectorUpdate.dfy | 3 +- Test/hofs/VectorUpdate.dfy.expect | 2 - Test/hofs/WhileLoop.dfy | 3 +- Test/hofs/WhileLoop.dfy.expect | 2 - Test/metatests/OutputEncoding.dfy | 8 +- Test/metatests/OutputEncoding.dfy.expect | 16 - Test/patterns/OrPatterns.dfy | 3 +- Test/patterns/OrPatterns.dfy.expect | 2 - Test/patterns/PatternMatching.dfy | 5 +- Test/patterns/PatternMatching.dfy.expect | 3 - .../PatternMatching.dfy.verifier.expect | 1 + Test/traits/TraitCompile.dfy | 10 +- Test/traits/TraitCompile.dfy.expect | 256 -------- Test/traits/TraitExample.dfy | 3 +- Test/traits/TraitExample.dfy.expect | 2 - Test/traits/Traits-Fields.dfy | 3 +- Test/traits/Traits-Fields.dfy.expect | 2 - Test/traits/TraitsMultipleInheritance.dfy | 3 +- .../TraitsMultipleInheritance.dfy.expect | 2 - Test/unicodechars/comp/Collections.dfy | 9 +- Test/unicodechars/comp/Collections.dfy.expect | 512 ---------------- .../comp/Collections.dfy.go.expect | 125 ++++ .../comp/Collections.dfy.java.expect | 125 ++++ .../comp/Collections.dfy.js.expect | 125 ++++ .../comp/Collections.dfy.py.expect | 125 ++++ Test/unicodechars/comp/Comprehensions.dfy | 11 +- .../comp/Comprehensions.dfy.expect | 260 -------- .../comp/Comprehensions.dfy.py.expect | 62 ++ Test/unicodechars/comp/NativeNumbers.dfy | 9 +- .../comp/NativeNumbers.dfy.expect | 256 -------- Test/unicodechars/comp/Numbers.dfy | 11 +- Test/unicodechars/comp/Numbers.dfy.expect | 456 -------------- Test/unicodechars/comp/Numbers.dfy.go.expect | 111 ++++ Test/unicodechars/comp/Numbers.dfy.py.expect | 111 ++++ 506 files changed, 2285 insertions(+), 8925 deletions(-) create mode 100644 Test/comp/Arrays.dfy.go.expect create mode 100644 Test/comp/Collections.dfy.go.expect create mode 100644 Test/comp/Collections.dfy.java.expect create mode 100644 Test/comp/Collections.dfy.js.expect create mode 100644 Test/comp/Collections.dfy.py.expect create mode 100644 Test/comp/Comprehensions.dfy.py.expect create mode 100644 Test/comp/ComprehensionsNewSyntax.dfy.py.expect create mode 100644 Test/comp/Datatype.dfy.java.expect create mode 100644 Test/comp/Datatype.dfy.py.expect create mode 100644 Test/comp/Numbers.dfy.go.expect create mode 100644 Test/comp/Numbers.dfy.py.expect create mode 100644 Test/comp/Poly.dfy.go.expect create mode 100644 Test/comp/Poly.dfy.py.expect create mode 100644 Test/comp/Print.dfy.go.expect create mode 100644 Test/comp/Print.dfy.java.expect create mode 100644 Test/comp/Print.dfy.js.expect create mode 100644 Test/comp/TypeParams.dfy.go.expect create mode 100644 Test/comp/TypeParams.dfy.java.expect create mode 100644 Test/comp/TypeParams.dfy.js.expect create mode 100644 Test/comp/TypeParams.dfy.py.expect create mode 100644 Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect create mode 100644 Test/dafny0/Deprecation.dfy.verifier.expect create mode 100644 Test/dafny0/DiscoverBounds.dfy.verifier.expect create mode 100644 Test/dafny0/ForallCompilationNewSyntax.dfy.verifier.expect create mode 100644 Test/dafny0/GhostGuards.dfy.verifier.expect create mode 100644 Test/dafny0/NullComparisonWarnings.dfy.verifier.expect create mode 100644 Test/dafny0/TypeMembers.dfy.verifier.expect create mode 100644 Test/dafny0/Wellfounded.dfy.verifier.expect create mode 100644 Test/dafny2/SmallestMissingNumber-functional.dfy.verifier.expect create mode 100644 Test/dafny2/StoreAndRetrieve.dfy.verifier.expect create mode 100644 Test/dafny3/CachedContainer.dfy.verifier.expect create mode 100644 Test/dafny4/Ackermann.dfy.verifier.expect create mode 100644 Test/dafny4/ClassRefinement.dfy.verifier.expect create mode 100644 Test/git-issues/git-issue-032.dfy.verifier.expect create mode 100644 Test/git-issues/git-issue-1185.dfy.java.expect create mode 100644 Test/git-issues/git-issue-179.dfy.go.expect create mode 100644 Test/git-issues/git-issue-179.dfy.java.expect create mode 100644 Test/git-issues/git-issue-179.dfy.js.expect create mode 100644 Test/git-issues/git-issue-258.dfy.go.expect create mode 100644 Test/git-issues/git-issue-258.dfy.js.expect create mode 100644 Test/git-issues/git-issue-262.dfy.go.expect create mode 100644 Test/git-issues/git-issue-262.dfy.java.expect create mode 100644 Test/git-issues/git-issue-262.dfy.js.expect create mode 100644 Test/git-issues/git-issue-4007.dfy.verifier.expect create mode 100644 Test/git-issues/git-issue-686.dfy.verifier.expect create mode 100644 Test/git-issues/git-issue-755.dfy.go.expect create mode 100644 Test/git-issues/git-issue-755.dfy.java.expect create mode 100644 Test/git-issues/git-issue-755.dfy.js.expect create mode 100644 Test/patterns/PatternMatching.dfy.verifier.expect create mode 100644 Test/unicodechars/comp/Collections.dfy.go.expect create mode 100644 Test/unicodechars/comp/Collections.dfy.java.expect create mode 100644 Test/unicodechars/comp/Collections.dfy.js.expect create mode 100644 Test/unicodechars/comp/Collections.dfy.py.expect create mode 100644 Test/unicodechars/comp/Comprehensions.dfy.py.expect create mode 100644 Test/unicodechars/comp/Numbers.dfy.go.expect create mode 100644 Test/unicodechars/comp/Numbers.dfy.py.expect diff --git a/Test/VerifyThis2015/Problem1.dfy b/Test/VerifyThis2015/Problem1.dfy index 20bd154ab8d..ab227e1ab85 100644 --- a/Test/VerifyThis2015/Problem1.dfy +++ b/Test/VerifyThis2015/Problem1.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Rustan Leino // 12 April 2015 diff --git a/Test/VerifyThis2015/Problem1.dfy.expect b/Test/VerifyThis2015/Problem1.dfy.expect index 110dd45761d..9e8a46acf90 100644 --- a/Test/VerifyThis2015/Problem1.dfy.expect +++ b/Test/VerifyThis2015/Problem1.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 18 verified, 0 errors true true false diff --git a/Test/VerifyThis2015/Problem2.dfy b/Test/VerifyThis2015/Problem2.dfy index 7466df6d410..9b57395e68b 100644 --- a/Test/VerifyThis2015/Problem2.dfy +++ b/Test/VerifyThis2015/Problem2.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Rustan Leino // 13 April 2015, and many subsequent enhancements and revisions diff --git a/Test/VerifyThis2015/Problem2.dfy.expect b/Test/VerifyThis2015/Problem2.dfy.expect index b49c1470365..e69de29bb2d 100644 --- a/Test/VerifyThis2015/Problem2.dfy.expect +++ b/Test/VerifyThis2015/Problem2.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 32 verified, 0 errors diff --git a/Test/VerifyThis2015/Problem3.dfy b/Test/VerifyThis2015/Problem3.dfy index 3be60b5d81a..1348acf0f4d 100644 --- a/Test/VerifyThis2015/Problem3.dfy +++ b/Test/VerifyThis2015/Problem3.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Rustan Leino // 12 April 2015 // VerifyThis 2015 diff --git a/Test/VerifyThis2015/Problem3.dfy.expect b/Test/VerifyThis2015/Problem3.dfy.expect index 4bb1c2c7251..e69de29bb2d 100644 --- a/Test/VerifyThis2015/Problem3.dfy.expect +++ b/Test/VerifyThis2015/Problem3.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 18 verified, 0 errors diff --git a/Test/c++/arrays.dfy b/Test/c++/arrays.dfy index 47140146468..a02b57e5ff8 100644 --- a/Test/c++/arrays.dfy +++ b/Test/c++/arrays.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/arrays.dfy.expect b/Test/c++/arrays.dfy.expect index 552f9355593..2ce9320d8c2 100644 --- a/Test/c++/arrays.dfy.expect +++ b/Test/c++/arrays.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 9 verified, 0 errors 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/c++/bit-vectors.dfy b/Test/c++/bit-vectors.dfy index b7f5d35df07..d27469e4ca5 100644 --- a/Test/c++/bit-vectors.dfy +++ b/Test/c++/bit-vectors.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint64 = i:int | 0 <= i < 0x10000000000000000 diff --git a/Test/c++/bit-vectors.dfy.expect b/Test/c++/bit-vectors.dfy.expect index e327aa2f73b..c491236b12b 100644 --- a/Test/c++/bit-vectors.dfy.expect +++ b/Test/c++/bit-vectors.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 6 verified, 0 errors 084841024 diff --git a/Test/c++/class.dfy b/Test/c++/class.dfy index 3039bd0466b..b10d703c981 100644 --- a/Test/c++/class.dfy +++ b/Test/c++/class.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/class.dfy.expect b/Test/c++/class.dfy.expect index 93717ecfa9e..80f1587d0a2 100644 --- a/Test/c++/class.dfy.expect +++ b/Test/c++/class.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 16 verified, 0 errors true true false 103 102 102 106 105 105 203 17 0 18 8 9 69 70 diff --git a/Test/c++/const.dfy b/Test/c++/const.dfy index 5ab9a62e0e9..1bfb79f0361 100644 --- a/Test/c++/const.dfy +++ b/Test/c++/const.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false module Holder { const x:bool := false diff --git a/Test/c++/const.dfy.expect b/Test/c++/const.dfy.expect index 823a60a105c..e69de29bb2d 100644 --- a/Test/c++/const.dfy.expect +++ b/Test/c++/const.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 1 verified, 0 errors diff --git a/Test/c++/datatypes.dfy b/Test/c++/datatypes.dfy index 9d077b97575..f56b7907cc3 100644 --- a/Test/c++/datatypes.dfy +++ b/Test/c++/datatypes.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/datatypes.dfy.expect b/Test/c++/datatypes.dfy.expect index efa71b43546..c122f5af791 100644 --- a/Test/c++/datatypes.dfy.expect +++ b/Test/c++/datatypes.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 12 verified, 0 errors Case A: 42 Case B: true This is expected diff --git a/Test/c++/generic.dfy b/Test/c++/generic.dfy index 7995928f93f..374c545b9c1 100644 --- a/Test/c++/generic.dfy +++ b/Test/c++/generic.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false class Test { var t:T diff --git a/Test/c++/generic.dfy.expect b/Test/c++/generic.dfy.expect index 00a51f822da..e69de29bb2d 100644 --- a/Test/c++/generic.dfy.expect +++ b/Test/c++/generic.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 3 verified, 0 errors diff --git a/Test/c++/hello.dfy b/Test/c++/hello.dfy index c887337c7e1..523d3152209 100644 --- a/Test/c++/hello.dfy +++ b/Test/c++/hello.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false method Main() { print "Hello world\n"; diff --git a/Test/c++/hello.dfy.expect b/Test/c++/hello.dfy.expect index 87101fec036..802992c4220 100644 --- a/Test/c++/hello.dfy.expect +++ b/Test/c++/hello.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors Hello world diff --git a/Test/c++/ints.dfy b/Test/c++/ints.dfy index cf7ae63e0da..4490a54817a 100644 --- a/Test/c++/ints.dfy +++ b/Test/c++/ints.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype sbyte = i:int | -0x80 <= i < 0x80 newtype byte = i:int | 0 <= i < 0x100 diff --git a/Test/c++/ints.dfy.expect b/Test/c++/ints.dfy.expect index aeabccf73b0..5fcb7b811cb 100644 --- a/Test/c++/ints.dfy.expect +++ b/Test/c++/ints.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 15 verified, 0 errors Result is z = 42 diff --git a/Test/c++/maps.dfy b/Test/c++/maps.dfy index 951d34e96f1..b88ebd56ad5 100644 --- a/Test/c++/maps.dfy +++ b/Test/c++/maps.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/maps.dfy.expect b/Test/c++/maps.dfy.expect index 482aa604356..80642c23257 100644 --- a/Test/c++/maps.dfy.expect +++ b/Test/c++/maps.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 9 verified, 0 errors Identity: This is expected ValuesIdentity: This is expected KeyMembership: This is expected diff --git a/Test/c++/recursion.dfy b/Test/c++/recursion.dfy index e255b8e6b08..36048aab527 100644 --- a/Test/c++/recursion.dfy +++ b/Test/c++/recursion.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/recursion.dfy.expect b/Test/c++/recursion.dfy.expect index 15dbfe2bcd1..1ea14926e89 100644 --- a/Test/c++/recursion.dfy.expect +++ b/Test/c++/recursion.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors x !y 3 diff --git a/Test/c++/returns.dfy b/Test/c++/returns.dfy index 1ad19a8ce83..9e23121d26a 100644 --- a/Test/c++/returns.dfy +++ b/Test/c++/returns.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint64 = i:int | 0 <= i < 0x10000000000000000 diff --git a/Test/c++/returns.dfy.expect b/Test/c++/returns.dfy.expect index 8db105eaba8..48082f72f08 100644 --- a/Test/c++/returns.dfy.expect +++ b/Test/c++/returns.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors 12 diff --git a/Test/c++/seqs.dfy b/Test/c++/seqs.dfy index f97a42b2851..903208b07f8 100644 --- a/Test/c++/seqs.dfy +++ b/Test/c++/seqs.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint8 = i:int | 0 <= i < 0x100 newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/seqs.dfy.expect b/Test/c++/seqs.dfy.expect index 23f01695bc9..16f5f9d22ea 100644 --- a/Test/c++/seqs.dfy.expect +++ b/Test/c++/seqs.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 11 verified, 0 errors Head second:2 Trunc first:2 Head trunc: This is expected diff --git a/Test/c++/sets.dfy b/Test/c++/sets.dfy index 5bfb6f80f1e..10e2fe0501d 100644 --- a/Test/c++/sets.dfy +++ b/Test/c++/sets.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/sets.dfy.expect b/Test/c++/sets.dfy.expect index 1c8ede8765e..52a1e67717e 100644 --- a/Test/c++/sets.dfy.expect +++ b/Test/c++/sets.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 8 verified, 0 errors Identity: This is expected ValuesIdentity: This is expected DiffIdentity: This is expected diff --git a/Test/c++/while.dfy b/Test/c++/while.dfy index 40dc4699d11..0c0d7ee98df 100644 --- a/Test/c++/while.dfy +++ b/Test/c++/while.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/while.dfy.expect b/Test/c++/while.dfy.expect index 8dfe872ca51..9a44de1e2a3 100644 --- a/Test/c++/while.dfy.expect +++ b/Test/c++/while.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 2 verified, 0 errors 0 1 2 diff --git a/Test/comp/Arrays.dfy b/Test/comp/Arrays.dfy index 566f052e0a6..acb4225b358 100644 --- a/Test/comp/Arrays.dfy +++ b/Test/comp/Arrays.dfy @@ -1,10 +1,5 @@ -// RUN: %baredafny verify %args --relax-definite-assignment "%s" > "%t" -// RUN: %baredafny run --unicode-char:false --no-verify --target=cs %args "%s" >> "%t" -// RUN: %baredafny run --unicode-char:false --no-verify --target=js %args "%s" >> "%t" -// RUN: %baredafny run --unicode-char:false --no-verify --target=go %args "%s" >> "%t" -// RUN: %baredafny run --unicode-char:false --no-verify --target=java %args "%s" >> "%t" -// RUN: %baredafny run --unicode-char:false --no-verify --target=py %args "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false method LinearSearch(a: array, key: int) returns (n: nat) ensures 0 <= n <= a.Length diff --git a/Test/comp/Arrays.dfy.expect b/Test/comp/Arrays.dfy.expect index 8559e2f3c5c..ef3b884f98a 100644 --- a/Test/comp/Arrays.dfy.expect +++ b/Test/comp/Arrays.dfy.expect @@ -1,399 +1,3 @@ - -Dafny program verifier finished with 89 verified, 0 errors - -Dafny program verifier did not attempt verification -0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 -17 -[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] -[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] -[20, 21, 22] -[0, 1, 2, 3, 4, 5, 6, 7] -[0, 1, 2, 3, 4, 5, 6, 7] -d d d -h e l l o -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -1 0 0 0 0 -0 1 0 0 0 -0 0 1 0 0 -cube dims: 3 0 4 -[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] -It's null -hi hello tjena hej hola -hi hello tjena hej hola -hi hello tjena hej hola -d d d -h e l l o -8 8 8 8 -true true true -1 1 1 1 1 -2 2 2 2 2 -3 3 3 3 3 -4 4 4 4 4 -(d, 8, true, 1, 2, 3, 4) -D D D -0 0 0 0 -false false false -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -(D, 0, false, 0, 0, 0, 0) -8 0 -false 0 null null -8 8 -8 8 -8 8 -8 8 -D D D -D D D -D D D -D D r (D, D, r) -D D r -[19, 18, 9, 8] - true - false - true - false - false - false - true - true - false - true - false - true - true - false -hello there -false false -true true -false false -false false -uninitialized bytes: array[0, 0, 0] -bytes from display: array[7, 8, 9] -bytes from lambda: array[20, 21, 22] -uninitialized 1bytes: array[1, 1, 1] -1bytes from display: array[7, 8, 9] -1bytes from lambda: array[20, 21, 22] -17 19 18 20 -100 200 300 120 38 -hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -DDDDDabcdeabcdeggggg -DDDDDabcdeabcdeggggg -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] -DDDDDDDDDDagggggaggg -0 69 50 -0 69 50 -D k n -false false -true true -false false -false false -true true - -Dafny program verifier did not attempt verification -0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 -17 -[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] -[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] -[20, 21, 22] -[0, 1, 2, 3, 4, 5, 6, 7] -[0, 1, 2, 3, 4, 5, 6, 7] -d d d -h e l l o -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -1 0 0 0 0 -0 1 0 0 0 -0 0 1 0 0 -cube dims: 3 0 4 -[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] -It's null -hi hello tjena hej hola -hi hello tjena hej hola -hi hello tjena hej hola -d d d -h e l l o -8 8 8 8 -true true true -1 1 1 1 1 -2 2 2 2 2 -3 3 3 3 3 -4 4 4 4 4 -(d, 8, true, 1, 2, 3, 4) -D D D -0 0 0 0 -false false false -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -(D, 0, false, 0, 0, 0, 0) -8 0 -false 0 null null -8 8 -8 8 -8 8 -8 8 -D D D -D D D -D D D -D D r (D, D, r) -D D r -[19, 18, 9, 8] - true - false - true - false - false - false - true - true - false - true - false - true - true - false -hello there -false false -true true -false false -false false -uninitialized bytes: array[0, 0, 0] -bytes from display: array[7, 8, 9] -bytes from lambda: array[20, 21, 22] -uninitialized 1bytes: array[1, 1, 1] -1bytes from display: array[7, 8, 9] -1bytes from lambda: array[20, 21, 22] -17 19 18 20 -100 200 300 120 38 -hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -DDDDDabcdeabcdeggggg -DDDDDabcdeabcdeggggg -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] -DDDDDDDDDDagggggaggg -0 69 50 -0 69 50 -D k n -false false -true true -false false -false false -true true - -Dafny program verifier did not attempt verification -0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 -17 -[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] -[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] -[20, 21, 22] -[0, 1, 2, 3, 4, 5, 6, 7] -[0, 1, 2, 3, 4, 5, 6, 7] -d d d -h e l l o -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -1 0 0 0 0 -0 1 0 0 0 -0 0 1 0 0 -cube dims: 3 0 4 -[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] -It's null -hi hello tjena hej hola -hi hello tjena hej hola -hi hello tjena hej hola -d d d -h e l l o -8 8 8 8 -true true true -1 1 1 1 1 -2 2 2 2 2 -3 3 3 3 3 -4 4 4 4 4 -(d, 8, true, 1, 2, 3, 4) -D D D -0 0 0 0 -false false false -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -(D, 0, false, 0, 0, 0, 0) -8 0 -false 0 null null -8 8 -8 8 -8 8 -8 8 -D D D -D D D -D D D -D D r (D, D, r) -D D r -[19, 18, 9, 8] - true - false - true - false - false - false - true - true - false - true - false - true - true - false -hello there -false false -true true -false false -false false -uninitialized bytes: array[0, 0, 0] -bytes from display: array[7, 8, 9] -bytes from lambda: array[20, 21, 22] -uninitialized 1bytes: array[1, 1, 1] -1bytes from display: array[7, 8, 9] -1bytes from lambda: array[20, 21, 22] -17 19 18 20 -100 200 300 120 38 -hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -DDDDDabcdeabcdeggggg -DDDDDabcdeabcdeggggg -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] -[D, D, D, D, D, D, D, D, D, D, a, g, g, g, g, g, a, g, g, g] -0 69 50 -0 69 50 -D k n -false false -true true -false false -false false -true true - -Dafny program verifier did not attempt verification -0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 -17 -[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] -[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] -[20, 21, 22] -[0, 1, 2, 3, 4, 5, 6, 7] -[0, 1, 2, 3, 4, 5, 6, 7] -d d d -h e l l o -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -1 0 0 0 0 -0 1 0 0 0 -0 0 1 0 0 -cube dims: 3 0 4 -[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] -It's null -hi hello tjena hej hola -hi hello tjena hej hola -hi hello tjena hej hola -d d d -h e l l o -8 8 8 8 -true true true -1 1 1 1 1 -2 2 2 2 2 -3 3 3 3 3 -4 4 4 4 4 -(d, 8, true, 1, 2, 3, 4) -D D D -0 0 0 0 -false false false -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -(D, 0, false, 0, 0, 0, 0) -8 0 -false 0 null null -8 8 -8 8 -8 8 -8 8 -D D D -D D D -D D D -D D r (D, D, r) -D D r -[19, 18, 9, 8] - true - false - true - false - false - false - true - true - false - true - false - true - true - false -hello there -false false -true true -false false -false false -uninitialized bytes: array[0, 0, 0] -bytes from display: array[7, 8, 9] -bytes from lambda: array[20, 21, 22] -uninitialized 1bytes: array[1, 1, 1] -1bytes from display: array[7, 8, 9] -1bytes from lambda: array[20, 21, 22] -17 19 18 20 -100 200 300 120 38 -hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -DDDDDabcdeabcdeggggg -DDDDDabcdeabcdeggggg -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] -DDDDDDDDDDagggggaggg -0 69 50 -0 69 50 -D k n -false false -true true -false false -false false -true true - -Dafny program verifier did not attempt verification 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/comp/Arrays.dfy.go.expect b/Test/comp/Arrays.dfy.go.expect new file mode 100644 index 00000000000..1217623d90c --- /dev/null +++ b/Test/comp/Arrays.dfy.go.expect @@ -0,0 +1,96 @@ +0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 +17 +[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] +[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] +[20, 21, 22] +[0, 1, 2, 3, 4, 5, 6, 7] +[0, 1, 2, 3, 4, 5, 6, 7] +d d d +h e l l o +0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 +1 0 0 0 0 +0 1 0 0 0 +0 0 1 0 0 +cube dims: 3 0 4 +[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] +It's null +hi hello tjena hej hola +hi hello tjena hej hola +hi hello tjena hej hola +d d d +h e l l o +8 8 8 8 +true true true +1 1 1 1 1 +2 2 2 2 2 +3 3 3 3 3 +4 4 4 4 4 +(d, 8, true, 1, 2, 3, 4) +D D D +0 0 0 0 +false false false +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +(D, 0, false, 0, 0, 0, 0) +8 0 +false 0 null null +8 8 +8 8 +8 8 +8 8 +D D D +D D D +D D D +D D r (D, D, r) +D D r +[19, 18, 9, 8] + true + false + true + false + false + false + true + true + false + true + false + true + true + false +hello there +false false +true true +false false +false false +uninitialized bytes: array[0, 0, 0] +bytes from display: array[7, 8, 9] +bytes from lambda: array[20, 21, 22] +uninitialized 1bytes: array[1, 1, 1] +1bytes from display: array[7, 8, 9] +1bytes from lambda: array[20, 21, 22] +17 19 18 20 +100 200 300 120 38 +hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +DDDDDabcdeabcdeggggg +DDDDDabcdeabcdeggggg +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] +[D, D, D, D, D, D, D, D, D, D, a, g, g, g, g, g, a, g, g, g] +0 69 50 +0 69 50 +D k n +false false +true true +false false +false false +true true diff --git a/Test/comp/AsIs-Compile.dfy b/Test/comp/AsIs-Compile.dfy index 47084ed7633..319847564e2 100644 --- a/Test/comp/AsIs-Compile.dfy +++ b/Test/comp/AsIs-Compile.dfy @@ -1,10 +1,4 @@ -// RUN: %baredafny verify %args "%s" > "%t" -// RUN: %baredafny run --no-verify -t=cs %args "%s" >> "%t" -// RUN: %baredafny run --no-verify -t=js %args "%s" >> "%t" -// RUN: %baredafny run --no-verify -t=go %args "%s" >> "%t" -// RUN: %baredafny run --no-verify -t=java %args "%s" >> "%t" -// RUN: %baredafny run --no-verify -t=py %args "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" method Main() { var a: A, b: B, c: C, k: K, l: L := new M, new M, new M, new K, new L; diff --git a/Test/comp/AsIs-Compile.dfy.expect b/Test/comp/AsIs-Compile.dfy.expect index 36dfe46e91d..acc78c6e155 100644 --- a/Test/comp/AsIs-Compile.dfy.expect +++ b/Test/comp/AsIs-Compile.dfy.expect @@ -1,163 +1,3 @@ - -Dafny program verifier finished with 6 verified, 0 errors - -Dafny program verifier did not attempt verification -true true true true true -true true true true true -IsComparisons ---- -false true false false - true false false - true false -false false true false - false true false - false false -false false false true - false false true - false true -false true false false - false true false - false false -true true -false true -TestNullIs ---- -true true -true true -true true true true true true -true true true true true true -true true true true true true -true true true true true true -true true -false true -true true true true true true -false true false true false true -true true true true true true -false true false true false true -TestFromTraits ---- -5 -0 -4 -4 -4 -4 - -Dafny program verifier did not attempt verification -true true true true true -true true true true true -IsComparisons ---- -false true false false - true false false - true false -false false true false - false true false - false false -false false false true - false false true - false true -false true false false - false true false - false false -true true -false true -TestNullIs ---- -true true -true true -true true true true true true -true true true true true true -true true true true true true -true true true true true true -true true -false true -true true true true true true -false true false true false true -true true true true true true -false true false true false true -TestFromTraits ---- -5 -0 -4 -4 -4 -4 - -Dafny program verifier did not attempt verification -true true true true true -true true true true true -IsComparisons ---- -false true false false - true false false - true false -false false true false - false true false - false false -false false false true - false false true - false true -false true false false - false true false - false false -true true -false true -TestNullIs ---- -true true -true true -true true true true true true -true true true true true true -true true true true true true -true true true true true true -true true -false true -true true true true true true -false true false true false true -true true true true true true -false true false true false true -TestFromTraits ---- -5 -0 -4 -4 -4 -4 - -Dafny program verifier did not attempt verification -true true true true true -true true true true true -IsComparisons ---- -false true false false - true false false - true false -false false true false - false true false - false false -false false false true - false false true - false true -false true false false - false true false - false false -true true -false true -TestNullIs ---- -true true -true true -true true true true true true -true true true true true true -true true true true true true -true true true true true true -true true -false true -true true true true true true -false true false true false true -true true true true true true -false true false true false true -TestFromTraits ---- -5 -0 -4 -4 -4 -4 - -Dafny program verifier did not attempt verification true true true true true true true true true true IsComparisons ---- diff --git a/Test/comp/AutoInit.dfy b/Test/comp/AutoInit.dfy index b284619a80c..c0e752efa36 100644 --- a/Test/comp/AutoInit.dfy +++ b/Test/comp/AutoInit.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This file tests the compilation of some default values. It also includes some // regression tests for equality, printing, and tuples. diff --git a/Test/comp/AutoInit.dfy.expect b/Test/comp/AutoInit.dfy.expect index c8ed022d09b..a282fc36633 100644 --- a/Test/comp/AutoInit.dfy.expect +++ b/Test/comp/AutoInit.dfy.expect @@ -1,163 +1,3 @@ - -Dafny program verifier finished with 21 verified, 0 errors - -Dafny program verifier did not attempt verification -3 false 0 -false false true -() (0, false, false, []) -(null, 0) (null, 0) true -(null, null, null, 0) (null, null, null, 0) true -true false false true -true false false true -17 -1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or -(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) -1 -ww == null -- yes, as expected -true true true true -true true true -true true true -null null -null null -null null null -null null null -null null null -null null null -null null -null null null -null null null -DatatypeDefaultValues_Compile.EnumDatatype.MakeZero - DatatypeDefaultValues_Compile.IntList.Nil - 0 -DatatypeDefaultValues_Compile.GenericTree.Leaf - DatatypeDefaultValues_Compile.Complicated.ComplA(0, false) - DatatypeDefaultValues_Compile.CellCell.MakeCellCell(0) -null - null -ImportedTypes_mLibrary_Compile.Color.Red(0) and ImportedTypes_mLibrary_Compile.Color.Red(0) -ImportedTypes_mLibrary_Compile.CoColor.Yellow and ImportedTypes_mLibrary_Compile.CoColor.Yellow -ImportedTypes_mLibrary_Compile.MoColor.MoYellow and ImportedTypes_mLibrary_Compile.MoColor.MoYellow -0.0 and 0.0 -13 - -Dafny program verifier did not attempt verification -3 false 0 -false false true -() (0, false, false, []) -(null, 0) (null, 0) true -(null, null, null, 0) (null, null, null, 0) true -true false false true -true false false true -17 -1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or -(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) -1 -ww == null -- yes, as expected -true true true true -true true true -true true true -null null -null null -null null null -null null null -null null null -null null null -null null -null null null -null null null -DatatypeDefaultValues_Compile.EnumDatatype.MakeZero - DatatypeDefaultValues_Compile.IntList.Nil - 0 -DatatypeDefaultValues_Compile.GenericTree.Leaf - DatatypeDefaultValues_Compile.Complicated.ComplA(0, false) - DatatypeDefaultValues_Compile.CellCell.MakeCellCell(0) -null - null -ImportedTypes_mLibrary_Compile.Color.Red(0) and ImportedTypes_mLibrary_Compile.Color.Red(0) -ImportedTypes_mLibrary_Compile.CoColor.Yellow and ImportedTypes_mLibrary_Compile.CoColor.Yellow -ImportedTypes_mLibrary_Compile.MoColor.MoYellow and ImportedTypes_mLibrary_Compile.MoColor.MoYellow -0.0 and 0.0 -13 - -Dafny program verifier did not attempt verification -3 false 0 -false false true -() (0, false, false, []) -(null, 0) (null, 0) true -(null, null, null, 0) (null, null, null, 0) true -true false false true -true false false true -17 -1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or -(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) -1 -ww == null -- yes, as expected -true true true true -true true true -true true true -null null -null null -null null null -null null null -null null null -null null null -null null -null null null -null null null -DatatypeDefaultValues_Compile.EnumDatatype.MakeZero - DatatypeDefaultValues_Compile.IntList.Nil - 0 -DatatypeDefaultValues_Compile.GenericTree.Leaf - DatatypeDefaultValues_Compile.Complicated.ComplA(0, false) - DatatypeDefaultValues_Compile.CellCell.MakeCellCell(0) -null - null -ImportedTypes_mLibrary_Compile.Color.Red(0) and ImportedTypes_mLibrary_Compile.Color.Red(0) -ImportedTypes_mLibrary_Compile.CoColor.Yellow and ImportedTypes_mLibrary_Compile.CoColor.Yellow -ImportedTypes_mLibrary_Compile.MoColor.MoYellow and ImportedTypes_mLibrary_Compile.MoColor.MoYellow -0.0 and 0.0 -13 - -Dafny program verifier did not attempt verification -3 false 0 -false false true -() (0, false, false, []) -(null, 0) (null, 0) true -(null, null, null, 0) (null, null, null, 0) true -true false false true -true false false true -17 -1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or -(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) -1 -ww == null -- yes, as expected -true true true true -true true true -true true true -null null -null null -null null null -null null null -null null null -null null null -null null -null null null -null null null -DatatypeDefaultValues_Compile.EnumDatatype.MakeZero - DatatypeDefaultValues_Compile.IntList.Nil - 0 -DatatypeDefaultValues_Compile.GenericTree.Leaf - DatatypeDefaultValues_Compile.Complicated.ComplA(0, false) - DatatypeDefaultValues_Compile.CellCell.MakeCellCell(0) -null - null -ImportedTypes_mLibrary_Compile.Color.Red(0) and ImportedTypes_mLibrary_Compile.Color.Red(0) -ImportedTypes_mLibrary_Compile.CoColor.Yellow and ImportedTypes_mLibrary_Compile.CoColor.Yellow -ImportedTypes_mLibrary_Compile.MoColor.MoYellow and ImportedTypes_mLibrary_Compile.MoColor.MoYellow -0.0 and 0.0 -13 - -Dafny program verifier did not attempt verification 3 false 0 false false true () (0, false, false, []) diff --git a/Test/comp/ByMethodCompilation.dfy b/Test/comp/ByMethodCompilation.dfy index ea62d84b21e..7432f72f7d4 100644 --- a/Test/comp/ByMethodCompilation.dfy +++ b/Test/comp/ByMethodCompilation.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method Main() { var four := Four(); diff --git a/Test/comp/ByMethodCompilation.dfy.expect b/Test/comp/ByMethodCompilation.dfy.expect index 1519a955b0c..d61780e3fb8 100644 --- a/Test/comp/ByMethodCompilation.dfy.expect +++ b/Test/comp/ByMethodCompilation.dfy.expect @@ -1,35 +1,3 @@ - -Dafny program verifier finished with 13 verified, 0 errors - -Dafny program verifier did not attempt verification -hello -four is 4 -Recursive(7) = 14 -NonCompilableFunction: 4 7 -Sums: 14 3 - -Dafny program verifier did not attempt verification -hello -four is 4 -Recursive(7) = 14 -NonCompilableFunction: 4 7 -Sums: 14 3 - -Dafny program verifier did not attempt verification -hello -four is 4 -Recursive(7) = 14 -NonCompilableFunction: 4 7 -Sums: 14 3 - -Dafny program verifier did not attempt verification -hello -four is 4 -Recursive(7) = 14 -NonCompilableFunction: 4 7 -Sums: 14 3 - -Dafny program verifier did not attempt verification hello four is 4 Recursive(7) = 14 diff --git a/Test/comp/Calls.dfy b/Test/comp/Calls.dfy index 4a4916aea0c..c56bc3e5286 100644 --- a/Test/comp/Calls.dfy +++ b/Test/comp/Calls.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function F(x: int, y: bool): int { x + if y then 2 else 3 diff --git a/Test/comp/Calls.dfy.expect b/Test/comp/Calls.dfy.expect index 3317b8be164..cf4e1bc155b 100644 --- a/Test/comp/Calls.dfy.expect +++ b/Test/comp/Calls.dfy.expect @@ -1,43 +1,3 @@ - -Dafny program verifier finished with 6 verified, 0 errors - -Dafny program verifier did not attempt verification -5 0 0 false 0 false 0 -5 3 5 3 5 3 -5 3 5 3 5 3 -15 -[0, 1, 2, 4] -[0, 2, 4] ---> 5 <-- - -Dafny program verifier did not attempt verification -5 0 0 false 0 false 0 -5 3 5 3 5 3 -5 3 5 3 5 3 -15 -[0, 1, 2, 4] -[0, 2, 4] ---> 5 <-- - -Dafny program verifier did not attempt verification -5 0 0 false 0 false 0 -5 3 5 3 5 3 -5 3 5 3 5 3 -15 -[0, 1, 2, 4] -[0, 2, 4] ---> 5 <-- - -Dafny program verifier did not attempt verification -5 0 0 false 0 false 0 -5 3 5 3 5 3 -5 3 5 3 5 3 -15 -[0, 1, 2, 4] -[0, 2, 4] ---> 5 <-- - -Dafny program verifier did not attempt verification 5 0 0 false 0 false 0 5 3 5 3 5 3 5 3 5 3 5 3 diff --git a/Test/comp/Class.dfy b/Test/comp/Class.dfy index fb994f008e7..23591e43450 100644 --- a/Test/comp/Class.dfy +++ b/Test/comp/Class.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation class MyClass { var a: int diff --git a/Test/comp/Class.dfy.expect b/Test/comp/Class.dfy.expect index ba1482a164b..47e49966664 100644 --- a/Test/comp/Class.dfy.expect +++ b/Test/comp/Class.dfy.expect @@ -1,75 +1,3 @@ - -Dafny program verifier finished with 16 verified, 0 errors - -Dafny program verifier did not attempt verification -true true false -103 103 103 106 106 106 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -0 18 9 70 -0 18 9 70 -0 18 9 70 -70 -hi later -21 4 42 5 1 -TestGhostables -15 -Init called with x=15 -16 - -Dafny program verifier did not attempt verification -true true false -103 103 103 106 106 106 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -0 18 9 70 -0 18 9 70 -0 18 9 70 -70 -hi later -21 4 42 5 1 -TestGhostables -15 -Init called with x=15 -16 - -Dafny program verifier did not attempt verification -true true false -103 103 103 106 106 106 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -0 18 9 70 -0 18 9 70 -0 18 9 70 -70 -hi later -21 4 42 5 1 -TestGhostables -15 -Init called with x=15 -16 - -Dafny program verifier did not attempt verification -true true false -103 103 103 106 106 106 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -0 18 9 70 -0 18 9 70 -0 18 9 70 -70 -hi later -21 4 42 5 1 -TestGhostables -15 -Init called with x=15 -16 - -Dafny program verifier did not attempt verification true true false 103 103 103 106 106 106 203 17 0 18 8 9 69 70 diff --git a/Test/comp/Collections.dfy b/Test/comp/Collections.dfy index 104eb9f90ac..9457e44b170 100644 --- a/Test/comp/Collections.dfy +++ b/Test/comp/Collections.dfy @@ -1,10 +1,5 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false method Main() { Sets(); diff --git a/Test/comp/Collections.dfy.expect b/Test/comp/Collections.dfy.expect index 2361c1a88db..e705d887a7d 100644 --- a/Test/comp/Collections.dfy.expect +++ b/Test/comp/Collections.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 40 verified, 0 errors - -Dafny program verifier did not attempt verification Sets: {} {17, 82} {12, 17} cardinality: 0 2 2 union: {17, 82} {12, 17, 82} @@ -127,511 +123,3 @@ Multiset=== 1 3 |s|=2 |u|=4 1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Yellow := 21, Color.Blue := 30] -keys: {Color.Yellow, Color.Blue} -values: {21, 30} -items: {(Color.Yellow, 21), (Color.Blue, 30)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {21, 30} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/comp/Collections.dfy.go.expect b/Test/comp/Collections.dfy.go.expect new file mode 100644 index 00000000000..309d0c550c4 --- /dev/null +++ b/Test/comp/Collections.dfy.go.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/comp/Collections.dfy.java.expect b/Test/comp/Collections.dfy.java.expect new file mode 100644 index 00000000000..ed929a4d34c --- /dev/null +++ b/Test/comp/Collections.dfy.java.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Yellow := 21, Color.Blue := 30] +keys: {Color.Yellow, Color.Blue} +values: {21, 30} +items: {(Color.Yellow, 21), (Color.Blue, 30)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/comp/Collections.dfy.js.expect b/Test/comp/Collections.dfy.js.expect new file mode 100644 index 00000000000..309d0c550c4 --- /dev/null +++ b/Test/comp/Collections.dfy.js.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/comp/Collections.dfy.py.expect b/Test/comp/Collections.dfy.py.expect new file mode 100644 index 00000000000..61b4217bbaf --- /dev/null +++ b/Test/comp/Collections.dfy.py.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {21, 30} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/comp/Comprehensions.dfy b/Test/comp/Comprehensions.dfy index 29ac368f2c3..73c43b22bfa 100644 --- a/Test/comp/Comprehensions.dfy +++ b/Test/comp/Comprehensions.dfy @@ -1,10 +1,5 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false method Main() { AssignSuchThat(); diff --git a/Test/comp/Comprehensions.dfy.expect b/Test/comp/Comprehensions.dfy.expect index 18159ddde0a..c9703fc9397 100644 --- a/Test/comp/Comprehensions.dfy.expect +++ b/Test/comp/Comprehensions.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 32 verified, 0 errors - -Dafny program verifier did not attempt verification x=13 y=14 x=13 y=14 b=yes true false @@ -64,259 +60,3 @@ true true [137438953474, 137438953475, 137438953476, 137438953477, 137438953479] cdefh cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[14 := 7, 12 := 6, 13 := 6] -map[18 := 14, 17 := 13, 16 := 12] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh diff --git a/Test/comp/Comprehensions.dfy.py.expect b/Test/comp/Comprehensions.dfy.py.expect new file mode 100644 index 00000000000..aeaa31fc0f3 --- /dev/null +++ b/Test/comp/Comprehensions.dfy.py.expect @@ -0,0 +1,62 @@ +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[14 := 7, 12 := 6, 13 := 6] +map[18 := 14, 17 := 13, 16 := 12] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh diff --git a/Test/comp/ComprehensionsNewSyntax.dfy b/Test/comp/ComprehensionsNewSyntax.dfy index a324b622e8a..6cd88aeb4f7 100644 --- a/Test/comp/ComprehensionsNewSyntax.dfy +++ b/Test/comp/ComprehensionsNewSyntax.dfy @@ -1,10 +1,5 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method Main() { Quantifier(); diff --git a/Test/comp/ComprehensionsNewSyntax.dfy.expect b/Test/comp/ComprehensionsNewSyntax.dfy.expect index 408769f4b67..b70314ff87b 100644 --- a/Test/comp/ComprehensionsNewSyntax.dfy.expect +++ b/Test/comp/ComprehensionsNewSyntax.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 10 verified, 0 errors - -Dafny program verifier did not attempt verification true false true false map[12 := 6, 13 := 6, 14 := 7] @@ -36,147 +32,3 @@ false false false false true true true true false false false false true true true true - -Dafny program verifier did not attempt verification -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true - -Dafny program verifier did not attempt verification -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true - -Dafny program verifier did not attempt verification -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true - -Dafny program verifier did not attempt verification -true false -true false -map[14 := 7, 12 := 6, 13 := 6] -map[18 := 14, 17 := 13, 16 := 12] -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true diff --git a/Test/comp/ComprehensionsNewSyntax.dfy.py.expect b/Test/comp/ComprehensionsNewSyntax.dfy.py.expect new file mode 100644 index 00000000000..b19cef0ba0e --- /dev/null +++ b/Test/comp/ComprehensionsNewSyntax.dfy.py.expect @@ -0,0 +1,34 @@ +true false +true false +map[14 := 7, 12 := 6, 13 := 6] +map[18 := 14, 17 := 13, 16 := 12] +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true diff --git a/Test/comp/CovariantCollections.dfy b/Test/comp/CovariantCollections.dfy index 12301df3b09..6dd73ee7fea 100644 --- a/Test/comp/CovariantCollections.dfy +++ b/Test/comp/CovariantCollections.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method Main() { Sequences(); diff --git a/Test/comp/CovariantCollections.dfy.expect b/Test/comp/CovariantCollections.dfy.expect index e029d3abc3b..a9d00f4a65d 100644 --- a/Test/comp/CovariantCollections.dfy.expect +++ b/Test/comp/CovariantCollections.dfy.expect @@ -1,223 +1,3 @@ - -Dafny program verifier finished with 25 verified, 0 errors - -Dafny program verifier did not attempt verification -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17] [12, 17] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - comprehension: {82} - union: {17, 82} {12, 17, 82} - intersection: {} {17} - difference: {} {82} - subset: true false true - proper subset: true false false - membership: false true true -Multisets: {} {17, 17, 82, 82} {12, 17} - cardinality: 0 4 2 - update: {17, 17, 42, 42, 42} {12, 17, 42} - multiplicity: 2 0 20 - union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} - intersection: {} {17, 82, 82} - difference: {} {17, 82, 82} - subset: true false true - proper subset: true false false - membership: false true true -Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} - cardinality: 0 3 2 - update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} - comprehension: {17 := 12, 82 := 12} - Keys: {12, 17, 82} - Values: {17, 82} - eq: false true true - eq: true true true true true true - eq: true true true true true true - eq: true false true false true false - eq: true false true false true false - eq: true true true true true true - eq: true true true true true true -set: {20, 30} -multiset: {20, 30} -seq: [20, 30] -map: {20 := 30, 30 := 20} -true -true -1 1 -1 1 - -Dafny program verifier did not attempt verification -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17] [12, 17] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - comprehension: {82} - union: {17, 82} {12, 17, 82} - intersection: {} {17} - difference: {} {82} - subset: true false true - proper subset: true false false - membership: false true true -Multisets: {} {17, 17, 82, 82} {12, 17} - cardinality: 0 4 2 - update: {17, 17, 42, 42, 42} {12, 17, 42} - multiplicity: 2 0 20 - union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} - intersection: {} {17, 82, 82} - difference: {} {17, 82, 82} - subset: true false true - proper subset: true false false - membership: false true true -Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} - cardinality: 0 3 2 - update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} - comprehension: {17 := 12, 82 := 12} - Keys: {12, 17, 82} - Values: {17, 82} - eq: false true true - eq: true true true true true true - eq: true true true true true true - eq: true false true false true false - eq: true false true false true false - eq: true true true true true true - eq: true true true true true true -set: {20, 30} -multiset: {20, 30} -seq: [20, 30] -map: {20 := 30, 30 := 20} -true -true -1 1 -1 1 - -Dafny program verifier did not attempt verification -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17] [12, 17] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - comprehension: {82} - union: {17, 82} {12, 17, 82} - intersection: {} {17} - difference: {} {82} - subset: true false true - proper subset: true false false - membership: false true true -Multisets: {} {17, 17, 82, 82} {12, 17} - cardinality: 0 4 2 - update: {17, 17, 42, 42, 42} {12, 17, 42} - multiplicity: 2 0 20 - union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} - intersection: {} {17, 82, 82} - difference: {} {17, 82, 82} - subset: true false true - proper subset: true false false - membership: false true true -Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} - cardinality: 0 3 2 - update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} - comprehension: {17 := 12, 82 := 12} - Keys: {12, 17, 82} - Values: {17, 82} - eq: false true true - eq: true true true true true true - eq: true true true true true true - eq: true false true false true false - eq: true false true false true false - eq: true true true true true true - eq: true true true true true true -set: {20, 30} -multiset: {20, 30} -seq: [20, 30] -map: {20 := 30, 30 := 20} -true -true -1 1 -1 1 - -Dafny program verifier did not attempt verification -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17] [12, 17] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - comprehension: {82} - union: {17, 82} {12, 17, 82} - intersection: {} {17} - difference: {} {82} - subset: true false true - proper subset: true false false - membership: false true true -Multisets: {} {17, 17, 82, 82} {12, 17} - cardinality: 0 4 2 - update: {17, 17, 42, 42, 42} {12, 17, 42} - multiplicity: 2 0 20 - union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} - intersection: {} {17, 82, 82} - difference: {} {17, 82, 82} - subset: true false true - proper subset: true false false - membership: false true true -Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} - cardinality: 0 3 2 - update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} - comprehension: {17 := 12, 82 := 12} - Keys: {12, 17, 82} - Values: {17, 82} - eq: false true true - eq: true true true true true true - eq: true true true true true true - eq: true false true false true false - eq: true false true false true false - eq: true true true true true true - eq: true true true true true true -set: {20, 30} -multiset: {20, 30} -seq: [20, 30] -map: {20 := 30, 30 := 20} -true -true -1 1 -1 1 - -Dafny program verifier did not attempt verification Sequences: [] [17, 82, 17, 82] [12, 17] cardinality: 0 4 2 update: [42, 82, 17, 82] [42, 17] diff --git a/Test/comp/Datatype.dfy b/Test/comp/Datatype.dfy index 0f4bab7c469..3b3f0641c1a 100644 --- a/Test/comp/Datatype.dfy +++ b/Test/comp/Datatype.dfy @@ -1,10 +1,5 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation datatype List = Nil | Cons(head: int, tail: List) diff --git a/Test/comp/Datatype.dfy.expect b/Test/comp/Datatype.dfy.expect index 84dceeb16e6..93e37a9562a 100644 --- a/Test/comp/Datatype.dfy.expect +++ b/Test/comp/Datatype.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 12 verified, 0 errors - -Dafny program verifier did not attempt verification List.Nil List.Cons(5, List.Nil) (List.Nil, List.Cons(5, List.Nil)) @@ -24,99 +20,3 @@ Record.Record(58, true) 199 800 801 802 800 801 802 - -Dafny program verifier did not attempt verification -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) -0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) -Stream.Next -Stream.Next -{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} -CoBerry.Hjortron true true false -false -42 'q' hello -1701 -Record.Record(58, true) -199 -800 801 802 -800 801 802 - -Dafny program verifier did not attempt verification -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) -0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) -Stream.Next -Stream.Next -{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} -CoBerry.Hjortron true true false -false -42 'q' hello -1701 -Record.Record(58, true) -199 -800 801 802 -800 801 802 - -Dafny program verifier did not attempt verification -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) -0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) -Stream.Next -Stream.Next -{Berry.Jordgubb, Berry.Smultron, Berry.Hallon} -CoBerry.Hjortron true true false -false -42 'q' hello -1701 -Record.Record(58, true) -199 -800 801 802 -800 801 802 - -Dafny program verifier did not attempt verification -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) -0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) -Stream.Next -Stream.Next -{Berry.Hallon, Berry.Smultron, Berry.Jordgubb} -CoBerry.Hjortron true true false -false -42 'q' hello -1701 -Record.Record(58, true) -199 -800 801 802 -800 801 802 diff --git a/Test/comp/Datatype.dfy.java.expect b/Test/comp/Datatype.dfy.java.expect new file mode 100644 index 00000000000..e5a32fd58bc --- /dev/null +++ b/Test/comp/Datatype.dfy.java.expect @@ -0,0 +1,22 @@ +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) +0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) +Stream.Next +Stream.Next +{Berry.Jordgubb, Berry.Smultron, Berry.Hallon} +CoBerry.Hjortron true true false +false +42 'q' hello +1701 +Record.Record(58, true) +199 +800 801 802 +800 801 802 diff --git a/Test/comp/Datatype.dfy.py.expect b/Test/comp/Datatype.dfy.py.expect new file mode 100644 index 00000000000..0f64b73ba2d --- /dev/null +++ b/Test/comp/Datatype.dfy.py.expect @@ -0,0 +1,22 @@ +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) +0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) +Stream.Next +Stream.Next +{Berry.Hallon, Berry.Smultron, Berry.Jordgubb} +CoBerry.Hjortron true true false +false +42 'q' hello +1701 +Record.Record(58, true) +199 +800 801 802 +800 801 802 diff --git a/Test/comp/DefaultParameters-Compile.dfy b/Test/comp/DefaultParameters-Compile.dfy index 145b8670647..cd6ba1163b1 100644 --- a/Test/comp/DefaultParameters-Compile.dfy +++ b/Test/comp/DefaultParameters-Compile.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method M(x: int := 16) { print x, "\n"; diff --git a/Test/comp/DefaultParameters-Compile.dfy.expect b/Test/comp/DefaultParameters-Compile.dfy.expect index b94739d5be1..b4b87321eb5 100644 --- a/Test/comp/DefaultParameters-Compile.dfy.expect +++ b/Test/comp/DefaultParameters-Compile.dfy.expect @@ -1,51 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification -12 -16 -1 2 -1 3 -10 20 -11 13 -Color.Blue(2, 1) Color.Red(3, 4) -5 5 6 -6 6 7 - -Dafny program verifier did not attempt verification -12 -16 -1 2 -1 3 -10 20 -11 13 -Color.Blue(2, 1) Color.Red(3, 4) -5 5 6 -6 6 7 - -Dafny program verifier did not attempt verification -12 -16 -1 2 -1 3 -10 20 -11 13 -Color.Blue(2, 1) Color.Red(3, 4) -5 5 6 -6 6 7 - -Dafny program verifier did not attempt verification -12 -16 -1 2 -1 3 -10 20 -11 13 -Color.Blue(2, 1) Color.Red(3, 4) -5 5 6 -6 6 7 - -Dafny program verifier did not attempt verification 12 16 1 2 diff --git a/Test/comp/DowncastClone.dfy b/Test/comp/DowncastClone.dfy index b90066da781..cb1f095b3f4 100644 --- a/Test/comp/DowncastClone.dfy +++ b/Test/comp/DowncastClone.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Co<+T> = Co(T) | C datatype ReCo<+T> = ReCo(T) diff --git a/Test/comp/DowncastClone.dfy.expect b/Test/comp/DowncastClone.dfy.expect index 982b36b396c..b0613294f3c 100644 --- a/Test/comp/DowncastClone.dfy.expect +++ b/Test/comp/DowncastClone.dfy.expect @@ -1,43 +1,3 @@ - -Dafny program verifier finished with 7 verified, 0 errors - -Dafny program verifier did not attempt verification -Co.Co(_module.Y) and Co.Co(_module.Y) -_module.Y and _module.Y -_module.Y _module.Y -false and false -false and false -_module.Y and _module.Y -Done - -Dafny program verifier did not attempt verification -Co.Co(_module.Y) and Co.Co(_module.Y) -_module.Y and _module.Y -_module.Y _module.Y -false and false -false and false -_module.Y and _module.Y -Done - -Dafny program verifier did not attempt verification -Co.Co(_module.Y) and Co.Co(_module.Y) -_module.Y and _module.Y -_module.Y _module.Y -false and false -false and false -_module.Y and _module.Y -Done - -Dafny program verifier did not attempt verification -Co.Co(_module.Y) and Co.Co(_module.Y) -_module.Y and _module.Y -_module.Y _module.Y -false and false -false and false -_module.Y and _module.Y -Done - -Dafny program verifier did not attempt verification Co.Co(_module.Y) and Co.Co(_module.Y) _module.Y and _module.Y _module.Y _module.Y diff --git a/Test/comp/ErasableTypeWrappers.dfy b/Test/comp/ErasableTypeWrappers.dfy index d62d3736622..a280099699f 100644 --- a/Test/comp/ErasableTypeWrappers.dfy +++ b/Test/comp/ErasableTypeWrappers.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false datatype SingletonRecord = SingletonRecord(u: int) datatype GhostOrNot = ghost Ghost(a: int, b: int) | Compiled(x: int) diff --git a/Test/comp/ErasableTypeWrappers.dfy.expect b/Test/comp/ErasableTypeWrappers.dfy.expect index 602e30d2075..7dd41a194ac 100644 --- a/Test/comp/ErasableTypeWrappers.dfy.expect +++ b/Test/comp/ErasableTypeWrappers.dfy.expect @@ -1,87 +1,3 @@ - -Dafny program verifier finished with 10 verified, 0 errors - -Dafny program verifier did not attempt verification -62 63 (2, 5) (2, 5) 3 -62 63 5 5 3 -5 5 3 -1062 1063 1005 1005 1003 -true true true -20 20 *20 21 20 -20 20 *20 21 20 -true false -true false true false -true false -0 (0, 0) 0 Color.Pink -13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false - 3.14 2.7 -18.0 18.0 3.0 false -18.0 4.0 true -HasConst.MakeC(4) (4, 4) -4 (4, 4) -OptimizationChecks_Compile.Ints.Ints(5, 7) OptimizationChecks_Compile.Ints.Ints(5, 7) OptimizationChecks_Compile.Ints.AnotherIntsWrapper(OptimizationChecks_Compile.Ints.Ints(5, 7)) - -Dafny program verifier did not attempt verification -62 63 (2, 5) (2, 5) 3 -62 63 5 5 3 -5 5 3 -1062 1063 1005 1005 1003 -true true true -20 20 *20 21 20 -20 20 *20 21 20 -true false -true false true false -true false -0 (0, 0) 0 Color.Pink -13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false - 3.14 2.7 -18.0 18.0 3.0 false -18.0 4.0 true -HasConst.MakeC(4) (4, 4) -4 (4, 4) -OptimizationChecks_Compile.Ints.Ints(5, 7) OptimizationChecks_Compile.Ints.Ints(5, 7) OptimizationChecks_Compile.Ints.AnotherIntsWrapper(OptimizationChecks_Compile.Ints.Ints(5, 7)) - -Dafny program verifier did not attempt verification -62 63 (2, 5) (2, 5) 3 -62 63 5 5 3 -5 5 3 -1062 1063 1005 1005 1003 -true true true -20 20 *20 21 20 -20 20 *20 21 20 -true false -true false true false -true false -0 (0, 0) 0 Color.Pink -13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false - 3.14 2.7 -18.0 18.0 3.0 false -18.0 4.0 true -HasConst.MakeC(4) (4, 4) -4 (4, 4) -OptimizationChecks_Compile.Ints.Ints(5, 7) OptimizationChecks_Compile.Ints.Ints(5, 7) OptimizationChecks_Compile.Ints.AnotherIntsWrapper(OptimizationChecks_Compile.Ints.Ints(5, 7)) - -Dafny program verifier did not attempt verification -62 63 (2, 5) (2, 5) 3 -62 63 5 5 3 -5 5 3 -1062 1063 1005 1005 1003 -true true true -20 20 *20 21 20 -20 20 *20 21 20 -true false -true false true false -true false -0 (0, 0) 0 Color.Pink -13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false - 3.14 2.7 -18.0 18.0 3.0 false -18.0 4.0 true -HasConst.MakeC(4) (4, 4) -4 (4, 4) -OptimizationChecks_Compile.Ints.Ints(5, 7) OptimizationChecks_Compile.Ints.Ints(5, 7) OptimizationChecks_Compile.Ints.AnotherIntsWrapper(OptimizationChecks_Compile.Ints.Ints(5, 7)) - -Dafny program verifier did not attempt verification 62 63 (2, 5) (2, 5) 3 62 63 5 5 3 5 5 3 diff --git a/Test/comp/EuclideanDivision.dfy b/Test/comp/EuclideanDivision.dfy index 7ae1803cad8..1286dcd125b 100644 --- a/Test/comp/EuclideanDivision.dfy +++ b/Test/comp/EuclideanDivision.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Some runtimes (like the one for C#) have three implementations // of Euclidean div/mod: one for `int`, one for `long`, and one diff --git a/Test/comp/EuclideanDivision.dfy.expect b/Test/comp/EuclideanDivision.dfy.expect index b538c9494de..e2585ff8c70 100644 --- a/Test/comp/EuclideanDivision.dfy.expect +++ b/Test/comp/EuclideanDivision.dfy.expect @@ -1,39 +1,3 @@ - -Dafny program verifier finished with 11 verified, 0 errors - -Dafny program verifier did not attempt verification -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 - -Dafny program verifier did not attempt verification -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 - -Dafny program verifier did not attempt verification -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 - -Dafny program verifier did not attempt verification -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 - -Dafny program verifier did not attempt verification 2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 diff --git a/Test/comp/ForLoops-Compilation.dfy b/Test/comp/ForLoops-Compilation.dfy index 97101b82961..b468d21f69f 100644 --- a/Test/comp/ForLoops-Compilation.dfy +++ b/Test/comp/ForLoops-Compilation.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method Main() { TestM(0, 0); diff --git a/Test/comp/ForLoops-Compilation.dfy.expect b/Test/comp/ForLoops-Compilation.dfy.expect index d67a5429fed..97724a714bc 100644 --- a/Test/comp/ForLoops-Compilation.dfy.expect +++ b/Test/comp/ForLoops-Compilation.dfy.expect @@ -1,203 +1,3 @@ - -Dafny program verifier finished with 23 verified, 0 errors - -Dafny program verifier did not attempt verification -0 0 0 0 --2 -2 -2 -2 -0 0 0 0 -145 145 145 145 -0 0 -0 0 -57 57 -0 0 -32385 32385 -0 0 --128 -128 -126 126 -0 0 -0 * 2 == 0 -2 * 0 == 0 -1 * 1 == 1 -6 * 5 == 30 -0 + 3 == 3 -3 + 0 == 3 -4 + 0 == 4 -0 + 0 == 0 -19 + 14 == 33 -4 4 4 -== BC10 == -0 --++--++---- *** -1 --++--++----++-- -2 --++--++----++--++--++--++--++--++--++ *** -3 --++--++----++--++--++--++--++--++--++ *** -4 --++--++----++--++--++--++--++--++--++ *** -5 --++--++----++--++--++--++--++--++--++ *** -6 --++--++----++--++--++--++--++--++--++ *** -7 --++--++----++--++--++--++--++--++--++ *** -8 --++--++----++--++--++--++--++--++--++ *** -9 --++--++----++--++--++--++--++--++--++ *** -== BC11 == -0 ||--++----++-- *** -1 ||--++----++--++-- -2 ||--++----++--++--++--++--++--++--++--++ *** -3 ||--++----++--++--++--++--++--++--++--++ *** -4 ||--++----++--++--++--++--++--++--++--++ *** -5 ||--++----++--++--++--++--++--++--++--++ *** -6 ||--++----++--++--++--++--++--++--++--++ *** -7 ||--++----++--++--++--++--++--++--++--++ *** -8 ||--++----++--++--++--++--++--++--++--++ *** -9 ||--++----++--++--++--++--++--++--++--++ *** -true true true 15 -all good - -Dafny program verifier did not attempt verification -0 0 0 0 --2 -2 -2 -2 -0 0 0 0 -145 145 145 145 -0 0 -0 0 -57 57 -0 0 -32385 32385 -0 0 --128 -128 -126 126 -0 0 -0 * 2 == 0 -2 * 0 == 0 -1 * 1 == 1 -6 * 5 == 30 -0 + 3 == 3 -3 + 0 == 3 -4 + 0 == 4 -0 + 0 == 0 -19 + 14 == 33 -4 4 4 -== BC10 == -0 --++--++---- *** -1 --++--++----++-- -2 --++--++----++--++--++--++--++--++--++ *** -3 --++--++----++--++--++--++--++--++--++ *** -4 --++--++----++--++--++--++--++--++--++ *** -5 --++--++----++--++--++--++--++--++--++ *** -6 --++--++----++--++--++--++--++--++--++ *** -7 --++--++----++--++--++--++--++--++--++ *** -8 --++--++----++--++--++--++--++--++--++ *** -9 --++--++----++--++--++--++--++--++--++ *** -== BC11 == -0 ||--++----++-- *** -1 ||--++----++--++-- -2 ||--++----++--++--++--++--++--++--++--++ *** -3 ||--++----++--++--++--++--++--++--++--++ *** -4 ||--++----++--++--++--++--++--++--++--++ *** -5 ||--++----++--++--++--++--++--++--++--++ *** -6 ||--++----++--++--++--++--++--++--++--++ *** -7 ||--++----++--++--++--++--++--++--++--++ *** -8 ||--++----++--++--++--++--++--++--++--++ *** -9 ||--++----++--++--++--++--++--++--++--++ *** -true true true 15 -all good - -Dafny program verifier did not attempt verification -0 0 0 0 --2 -2 -2 -2 -0 0 0 0 -145 145 145 145 -0 0 -0 0 -57 57 -0 0 -32385 32385 -0 0 --128 -128 -126 126 -0 0 -0 * 2 == 0 -2 * 0 == 0 -1 * 1 == 1 -6 * 5 == 30 -0 + 3 == 3 -3 + 0 == 3 -4 + 0 == 4 -0 + 0 == 0 -19 + 14 == 33 -4 4 4 -== BC10 == -0 --++--++---- *** -1 --++--++----++-- -2 --++--++----++--++--++--++--++--++--++ *** -3 --++--++----++--++--++--++--++--++--++ *** -4 --++--++----++--++--++--++--++--++--++ *** -5 --++--++----++--++--++--++--++--++--++ *** -6 --++--++----++--++--++--++--++--++--++ *** -7 --++--++----++--++--++--++--++--++--++ *** -8 --++--++----++--++--++--++--++--++--++ *** -9 --++--++----++--++--++--++--++--++--++ *** -== BC11 == -0 ||--++----++-- *** -1 ||--++----++--++-- -2 ||--++----++--++--++--++--++--++--++--++ *** -3 ||--++----++--++--++--++--++--++--++--++ *** -4 ||--++----++--++--++--++--++--++--++--++ *** -5 ||--++----++--++--++--++--++--++--++--++ *** -6 ||--++----++--++--++--++--++--++--++--++ *** -7 ||--++----++--++--++--++--++--++--++--++ *** -8 ||--++----++--++--++--++--++--++--++--++ *** -9 ||--++----++--++--++--++--++--++--++--++ *** -true true true 15 -all good - -Dafny program verifier did not attempt verification -0 0 0 0 --2 -2 -2 -2 -0 0 0 0 -145 145 145 145 -0 0 -0 0 -57 57 -0 0 -32385 32385 -0 0 --128 -128 -126 126 -0 0 -0 * 2 == 0 -2 * 0 == 0 -1 * 1 == 1 -6 * 5 == 30 -0 + 3 == 3 -3 + 0 == 3 -4 + 0 == 4 -0 + 0 == 0 -19 + 14 == 33 -4 4 4 -== BC10 == -0 --++--++---- *** -1 --++--++----++-- -2 --++--++----++--++--++--++--++--++--++ *** -3 --++--++----++--++--++--++--++--++--++ *** -4 --++--++----++--++--++--++--++--++--++ *** -5 --++--++----++--++--++--++--++--++--++ *** -6 --++--++----++--++--++--++--++--++--++ *** -7 --++--++----++--++--++--++--++--++--++ *** -8 --++--++----++--++--++--++--++--++--++ *** -9 --++--++----++--++--++--++--++--++--++ *** -== BC11 == -0 ||--++----++-- *** -1 ||--++----++--++-- -2 ||--++----++--++--++--++--++--++--++--++ *** -3 ||--++----++--++--++--++--++--++--++--++ *** -4 ||--++----++--++--++--++--++--++--++--++ *** -5 ||--++----++--++--++--++--++--++--++--++ *** -6 ||--++----++--++--++--++--++--++--++--++ *** -7 ||--++----++--++--++--++--++--++--++--++ *** -8 ||--++----++--++--++--++--++--++--++--++ *** -9 ||--++----++--++--++--++--++--++--++--++ *** -true true true 15 -all good - -Dafny program verifier did not attempt verification 0 0 0 0 -2 -2 -2 -2 0 0 0 0 diff --git a/Test/comp/ForallNewSyntax.dfy b/Test/comp/ForallNewSyntax.dfy index c17bf86830e..85e609b37b3 100644 --- a/Test/comp/ForallNewSyntax.dfy +++ b/Test/comp/ForallNewSyntax.dfy @@ -1,10 +1,4 @@ -// RUN: %baredafny verify %args --relax-definite-assignment --function-syntax:3 --quantifier-syntax:4 "%s" > "%t" -// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:cs "%s" >> "%t" -// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:js "%s" >> "%t" -// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:go "%s" >> "%t" -// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:java "%s" >> "%t" -// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --function-syntax:3 --quantifier-syntax:4 --relax-definite-assignment method Main() { var arrayTests := new ArrayTests(); diff --git a/Test/comp/ForallNewSyntax.dfy.expect b/Test/comp/ForallNewSyntax.dfy.expect index 241ea9ea521..5b33d939607 100644 --- a/Test/comp/ForallNewSyntax.dfy.expect +++ b/Test/comp/ForallNewSyntax.dfy.expect @@ -1,183 +1,3 @@ - -Dafny program verifier finished with 25 verified, 0 errors - -Dafny program verifier did not attempt verification -Arrays: Basic cases -[0, 1, 2, 3, 4] -[0, 1, 2, 3, 4] -[0, 1, 4, 3, 8] - -Arrays: Wrong index -[0, 0, 1, 2, 3] -[0, 0, 1, 2, 3] -[1, 2, 3, 4, 5] - -Arrays: Sequence conversion -[2, 1, 4, 5, 6] -[0, 3, 3, 3, 4] - -Arrays: Index collection -[1, 1, 2, 3, 4] -[1, 1, 2, 3, 4] - -Arrays: Functions -[1, 1, 3, 4, 5] -[1, 1, 3, 4, 5] -[1, 2, 3, 3, 5] -[1, 2, 3, 4, 5] - -Multi-dimensional arrays -[[0, 2, 4], [1, 3, 5], [2, 4, 6]] -[[0, 1, 2], [2, 3, 4], [4, 5, 6]] - -Objects: Basic cases -[(0, 1.0), (0, 2.0), (0, 3.0)] -[(2, 1.0), (2, 2.0), (4, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] - -Objects: Bad field accesses -[(2, 1.0), (3, 2.0), (4, 3.0)] -[(2, 1.0), (2, 2.0), (2, 3.0)] -[(2, 1.0), (3, 2.0), (1, 3.0)] - -Objects: Functions -[(2, 1.0), (4, 2.0), (6, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] -[(3, 1.0), (4, 2.0), (5, 3.0)] - -Dafny program verifier did not attempt verification -Arrays: Basic cases -[0, 1, 2, 3, 4] -[0, 1, 2, 3, 4] -[0, 1, 4, 3, 8] - -Arrays: Wrong index -[0, 0, 1, 2, 3] -[0, 0, 1, 2, 3] -[1, 2, 3, 4, 5] - -Arrays: Sequence conversion -[2, 1, 4, 5, 6] -[0, 3, 3, 3, 4] - -Arrays: Index collection -[1, 1, 2, 3, 4] -[1, 1, 2, 3, 4] - -Arrays: Functions -[1, 1, 3, 4, 5] -[1, 1, 3, 4, 5] -[1, 2, 3, 3, 5] -[1, 2, 3, 4, 5] - -Multi-dimensional arrays -[[0, 2, 4], [1, 3, 5], [2, 4, 6]] -[[0, 1, 2], [2, 3, 4], [4, 5, 6]] - -Objects: Basic cases -[(0, 1.0), (0, 2.0), (0, 3.0)] -[(2, 1.0), (2, 2.0), (4, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] - -Objects: Bad field accesses -[(2, 1.0), (3, 2.0), (4, 3.0)] -[(2, 1.0), (2, 2.0), (2, 3.0)] -[(2, 1.0), (3, 2.0), (1, 3.0)] - -Objects: Functions -[(2, 1.0), (4, 2.0), (6, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] -[(3, 1.0), (4, 2.0), (5, 3.0)] - -Dafny program verifier did not attempt verification -Arrays: Basic cases -[0, 1, 2, 3, 4] -[0, 1, 2, 3, 4] -[0, 1, 4, 3, 8] - -Arrays: Wrong index -[0, 0, 1, 2, 3] -[0, 0, 1, 2, 3] -[1, 2, 3, 4, 5] - -Arrays: Sequence conversion -[2, 1, 4, 5, 6] -[0, 3, 3, 3, 4] - -Arrays: Index collection -[1, 1, 2, 3, 4] -[1, 1, 2, 3, 4] - -Arrays: Functions -[1, 1, 3, 4, 5] -[1, 1, 3, 4, 5] -[1, 2, 3, 3, 5] -[1, 2, 3, 4, 5] - -Multi-dimensional arrays -[[0, 2, 4], [1, 3, 5], [2, 4, 6]] -[[0, 1, 2], [2, 3, 4], [4, 5, 6]] - -Objects: Basic cases -[(0, 1.0), (0, 2.0), (0, 3.0)] -[(2, 1.0), (2, 2.0), (4, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] - -Objects: Bad field accesses -[(2, 1.0), (3, 2.0), (4, 3.0)] -[(2, 1.0), (2, 2.0), (2, 3.0)] -[(2, 1.0), (3, 2.0), (1, 3.0)] - -Objects: Functions -[(2, 1.0), (4, 2.0), (6, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] -[(3, 1.0), (4, 2.0), (5, 3.0)] - -Dafny program verifier did not attempt verification -Arrays: Basic cases -[0, 1, 2, 3, 4] -[0, 1, 2, 3, 4] -[0, 1, 4, 3, 8] - -Arrays: Wrong index -[0, 0, 1, 2, 3] -[0, 0, 1, 2, 3] -[1, 2, 3, 4, 5] - -Arrays: Sequence conversion -[2, 1, 4, 5, 6] -[0, 3, 3, 3, 4] - -Arrays: Index collection -[1, 1, 2, 3, 4] -[1, 1, 2, 3, 4] - -Arrays: Functions -[1, 1, 3, 4, 5] -[1, 1, 3, 4, 5] -[1, 2, 3, 3, 5] -[1, 2, 3, 4, 5] - -Multi-dimensional arrays -[[0, 2, 4], [1, 3, 5], [2, 4, 6]] -[[0, 1, 2], [2, 3, 4], [4, 5, 6]] - -Objects: Basic cases -[(0, 1.0), (0, 2.0), (0, 3.0)] -[(2, 1.0), (2, 2.0), (4, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] - -Objects: Bad field accesses -[(2, 1.0), (3, 2.0), (4, 3.0)] -[(2, 1.0), (2, 2.0), (2, 3.0)] -[(2, 1.0), (3, 2.0), (1, 3.0)] - -Objects: Functions -[(2, 1.0), (4, 2.0), (6, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] -[(3, 1.0), (4, 2.0), (5, 3.0)] - -Dafny program verifier did not attempt verification Arrays: Basic cases [0, 1, 2, 3, 4] [0, 1, 2, 3, 4] diff --git a/Test/comp/Ghosts.dfy b/Test/comp/Ghosts.dfy index 506fe0facb1..8afe8a36d3f 100644 --- a/Test/comp/Ghosts.dfy +++ b/Test/comp/Ghosts.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method M1() returns (x: int) { diff --git a/Test/comp/Ghosts.dfy.expect b/Test/comp/Ghosts.dfy.expect index 430a9c18fc0..d075ea048c1 100644 --- a/Test/comp/Ghosts.dfy.expect +++ b/Test/comp/Ghosts.dfy.expect @@ -1,55 +1,3 @@ - -Dafny program verifier finished with 8 verified, 0 errors - -Dafny program verifier did not attempt verification -hello, M2 -hello, M2 -hello, M3 -hello, M1 -hello, M1 -hello, M1 -hello, M2 -hello, M3 -hello, N0 -hello, N1 - -Dafny program verifier did not attempt verification -hello, M2 -hello, M2 -hello, M3 -hello, M1 -hello, M1 -hello, M1 -hello, M2 -hello, M3 -hello, N0 -hello, N1 - -Dafny program verifier did not attempt verification -hello, M2 -hello, M2 -hello, M3 -hello, M1 -hello, M1 -hello, M1 -hello, M2 -hello, M3 -hello, N0 -hello, N1 - -Dafny program verifier did not attempt verification -hello, M2 -hello, M2 -hello, M3 -hello, M1 -hello, M1 -hello, M1 -hello, M2 -hello, M3 -hello, N0 -hello, N1 - -Dafny program verifier did not attempt verification hello, M2 hello, M2 hello, M3 diff --git a/Test/comp/Let.dfy b/Test/comp/Let.dfy index 64dce8b90e6..2a639009c78 100644 --- a/Test/comp/Let.dfy +++ b/Test/comp/Let.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cs "%s" > "%t" -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method M() returns (x: int) { x := var y := 50; y; // non-top-level let diff --git a/Test/comp/Let.dfy.expect b/Test/comp/Let.dfy.expect index 667abc32458..f05dfc414c1 100644 --- a/Test/comp/Let.dfy.expect +++ b/Test/comp/Let.dfy.expect @@ -1,37 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors -50 58 -Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) -5 7 9 10 12 30 -5 7 -5 7 -12.0 15.0 15.0 15.0 - -Dafny program verifier finished with 5 verified, 0 errors -50 58 -Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) -5 7 9 10 12 30 -5 7 -5 7 -12.0 15.0 15.0 15.0 - -Dafny program verifier finished with 5 verified, 0 errors -50 58 -Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) -5 7 9 10 12 30 -5 7 -5 7 -12.0 15.0 15.0 15.0 - -Dafny program verifier finished with 5 verified, 0 errors -50 58 -Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) -5 7 9 10 12 30 -5 7 -5 7 -12.0 15.0 15.0 15.0 - -Dafny program verifier finished with 5 verified, 0 errors 50 58 Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) 5 7 9 10 12 30 diff --git a/Test/comp/MoreAutoInit.dfy b/Test/comp/MoreAutoInit.dfy index 46bdf7148f1..c72083f1be5 100644 --- a/Test/comp/MoreAutoInit.dfy +++ b/Test/comp/MoreAutoInit.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { Methods.TestStart(); diff --git a/Test/comp/MoreAutoInit.dfy.expect b/Test/comp/MoreAutoInit.dfy.expect index cc1ae3b994a..a3a230fd0f1 100644 --- a/Test/comp/MoreAutoInit.dfy.expect +++ b/Test/comp/MoreAutoInit.dfy.expect @@ -1,575 +1,3 @@ - -Dafny program verifier finished with 38 verified, 0 errors - -Dafny program verifier did not attempt verification -Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -{} - ++ {} -[] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -{2} - ++ {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni - ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni -Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni - ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni -Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni -Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni - ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni - ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni -[] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] - ** [] ++ [] -[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [] - ** [] ++ [] -[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [] -[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] - ++ [Consts_Compile.Uni.Uni] ++ [] - ** [] ++ [] ++ [] -15 -0-0 0.0-0.0 false-false 'D'-'D' 0 -0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 -0-0 0-0 0-0 0-0 1 1 -0.0-0.0 68.0 -null-null null-null null-null null-null -0 -0:0:0 -0-0 -{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] -DefaultValuedExpressions_Compile.Color.Red-DefaultValuedExpressions_Compile.Color.Red DefaultValuedExpressions_Compile.PossibleCell.Nothing-DefaultValuedExpressions_Compile.PossibleCell.Nothing DefaultValuedExpressions_Compile.Cell.LittleCell(0)-DefaultValuedExpressions_Compile.Cell.LittleCell(0) -()-() (0, 0.0)-(0, 0.0) -(DefaultValuedExpressions_Compile.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions_Compile.Color.Red, (0, 0.0), ()) -null-null null-null -0-0 0-0 0-0 3 4 5 -0-0 11 0-0 8 - -Dafny program verifier did not attempt verification -Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -{} - ++ {} -[] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -{2} - ++ {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni - ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni -Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni - ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni -Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni -Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni - ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni - ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni -[] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] - ** [] ++ [] -[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [] - ** [] ++ [] -[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [] -[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] - ++ [Consts_Compile.Uni.Uni] ++ [] - ** [] ++ [] ++ [] -15 -0-0 0.0-0.0 false-false 'D'-'D' 0 -0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 -0-0 0-0 0-0 0-0 1 1 -0.0-0.0 68.0 -null-null null-null null-null null-null -0 -0:0:0 -0-0 -{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] -DefaultValuedExpressions_Compile.Color.Red-DefaultValuedExpressions_Compile.Color.Red DefaultValuedExpressions_Compile.PossibleCell.Nothing-DefaultValuedExpressions_Compile.PossibleCell.Nothing DefaultValuedExpressions_Compile.Cell.LittleCell(0)-DefaultValuedExpressions_Compile.Cell.LittleCell(0) -()-() (0, 0.0)-(0, 0.0) -(DefaultValuedExpressions_Compile.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions_Compile.Color.Red, (0, 0.0), ()) -null-null null-null -0-0 0-0 0-0 3 4 5 -0-0 11 0-0 8 - -Dafny program verifier did not attempt verification -Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -{} - ++ {} -[] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -{2} - ++ {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni - ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni -Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni - ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni -Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni -Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni - ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni - ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni -[] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] - ** [] ++ [] -[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [] - ** [] ++ [] -[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [] -[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] - ++ [Consts_Compile.Uni.Uni] ++ [] - ** [] ++ [] ++ [] -15 -0-0 0.0-0.0 false-false 'D'-'D' 0 -0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 -0-0 0-0 0-0 0-0 1 1 -0.0-0.0 68.0 -null-null null-null null-null null-null -0 -0:0:0 -0-0 -{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] -DefaultValuedExpressions_Compile.Color.Red-DefaultValuedExpressions_Compile.Color.Red DefaultValuedExpressions_Compile.PossibleCell.Nothing-DefaultValuedExpressions_Compile.PossibleCell.Nothing DefaultValuedExpressions_Compile.Cell.LittleCell(0)-DefaultValuedExpressions_Compile.Cell.LittleCell(0) -()-() (0, 0.0)-(0, 0.0) -(DefaultValuedExpressions_Compile.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions_Compile.Color.Red, (0, 0.0), ()) -null-null null-null -0-0 0-0 0-0 3 4 5 -0-0 11 0-0 8 - -Dafny program verifier did not attempt verification -Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni - ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni -{} - ++ {} -[] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni - ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni -{2} - ++ {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -[Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} - ++ [Functions_Compile.Uni.Uni] {2} -Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni - ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni -Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni - ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni -Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni -Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni - ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni - ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni -[] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] - ** [] ++ [] -[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [] - ** [] ++ [] -[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [] -[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] - ++ [Consts_Compile.Uni.Uni] ++ [] - ** [] ++ [] ++ [] -15 -0-0 0.0-0.0 false-false 'D'-'D' 0 -0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 -0-0 0-0 0-0 0-0 1 1 -0.0-0.0 68.0 -null-null null-null null-null null-null -0 -0:0:0 -0-0 -{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] -DefaultValuedExpressions_Compile.Color.Red-DefaultValuedExpressions_Compile.Color.Red DefaultValuedExpressions_Compile.PossibleCell.Nothing-DefaultValuedExpressions_Compile.PossibleCell.Nothing DefaultValuedExpressions_Compile.Cell.LittleCell(0)-DefaultValuedExpressions_Compile.Cell.LittleCell(0) -()-() (0, 0.0)-(0, 0.0) -(DefaultValuedExpressions_Compile.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions_Compile.Color.Red, (0, 0.0), ()) -null-null null-null -0-0 0-0 0-0 3 4 5 -0-0 11 0-0 8 - -Dafny program verifier did not attempt verification Methods_Compile.Uni.Uni ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni diff --git a/Test/comp/NativeNumbers.dfy b/Test/comp/NativeNumbers.dfy index c63d02cf643..e1fadb1c406 100644 --- a/Test/comp/NativeNumbers.dfy +++ b/Test/comp/NativeNumbers.dfy @@ -1,11 +1,6 @@ +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false // Skip JavaScript because JavaScript doesn't have the same native types -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" method Main() { CastTests(); diff --git a/Test/comp/NativeNumbers.dfy.expect b/Test/comp/NativeNumbers.dfy.expect index 2be030252cf..6a9d263fc73 100644 --- a/Test/comp/NativeNumbers.dfy.expect +++ b/Test/comp/NativeNumbers.dfy.expect @@ -1,259 +1,3 @@ - -Dafny program verifier finished with 25 verified, 0 errors - -Dafny program verifier did not attempt verification -Casting: - -Small numbers: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 -5 5 5 5 5 5 5 5 5 -6 6 6 6 6 6 6 6 6 -7 7 7 7 7 7 7 7 7 -8 8 8 8 8 8 8 8 8 - -Large unsigned numbers: -255 255 255 255 255 255 255 255 -65535 65535 65535 65535 65535 65535 -4294967295 4294967295 4294967295 4294967295 -18446744073709551615 18446744073709551615 - -Int to large unsigned: -255 65535 4294967295 18446744073709551615 - -Cast from cardinality operator: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 - -Characters: -C 67 67 67 67 67 67 67 67 67 -0 127 32767 65535 65535 255 65535 65535 65535 - -Defaults: - -0 0 0 0 0 0 0 0 0 - -Byte arithmetic: - -20 30 -10 10 18 - -Short arithmetic: - -20 30 -10 10 18 - -Bitvectors: - -0 3 4 1 - -Comparison to zero: - -int8: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int16: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int32: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int64: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint8: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint16: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint32: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint64: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N - - -Dafny program verifier did not attempt verification -Casting: - -Small numbers: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 -5 5 5 5 5 5 5 5 5 -6 6 6 6 6 6 6 6 6 -7 7 7 7 7 7 7 7 7 -8 8 8 8 8 8 8 8 8 - -Large unsigned numbers: -255 255 255 255 255 255 255 255 -65535 65535 65535 65535 65535 65535 -4294967295 4294967295 4294967295 4294967295 -18446744073709551615 18446744073709551615 - -Int to large unsigned: -255 65535 4294967295 18446744073709551615 - -Cast from cardinality operator: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 - -Characters: -C 67 67 67 67 67 67 67 67 67 -0 127 32767 65535 65535 255 65535 65535 65535 - -Defaults: - -0 0 0 0 0 0 0 0 0 - -Byte arithmetic: - -20 30 -10 10 18 - -Short arithmetic: - -20 30 -10 10 18 - -Bitvectors: - -0 3 4 1 - -Comparison to zero: - -int8: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int16: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int32: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int64: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint8: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint16: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint32: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint64: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N - - -Dafny program verifier did not attempt verification -Casting: - -Small numbers: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 -5 5 5 5 5 5 5 5 5 -6 6 6 6 6 6 6 6 6 -7 7 7 7 7 7 7 7 7 -8 8 8 8 8 8 8 8 8 - -Large unsigned numbers: -255 255 255 255 255 255 255 255 -65535 65535 65535 65535 65535 65535 -4294967295 4294967295 4294967295 4294967295 -18446744073709551615 18446744073709551615 - -Int to large unsigned: -255 65535 4294967295 18446744073709551615 - -Cast from cardinality operator: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 - -Characters: -C 67 67 67 67 67 67 67 67 67 -0 127 32767 65535 65535 255 65535 65535 65535 - -Defaults: - -0 0 0 0 0 0 0 0 0 - -Byte arithmetic: - -20 30 -10 10 18 - -Short arithmetic: - -20 30 -10 10 18 - -Bitvectors: - -0 3 4 1 - -Comparison to zero: - -int8: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int16: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int32: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int64: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint8: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint16: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint32: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint64: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N - - -Dafny program verifier did not attempt verification Casting: Small numbers: diff --git a/Test/comp/NestedArrays.dfy b/Test/comp/NestedArrays.dfy index 0c2b313a32c..39d256f4936 100644 --- a/Test/comp/NestedArrays.dfy +++ b/Test/comp/NestedArrays.dfy @@ -1,9 +1,4 @@ -// RUN: %baredafny verify --relax-definite-assignment %args "%s" > "%t" -// RUN: %baredafny run --no-verify --target=cs %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=js %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=go %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=py %args "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /* Note, compiling to arrays in Java is difficult. In fact, this is currently * broken, see https://github.com/dafny-lang/dafny/issues/3055. Until this gets diff --git a/Test/comp/NestedArrays.dfy.expect b/Test/comp/NestedArrays.dfy.expect index a24d140b9d4..aa47d0d46d4 100644 --- a/Test/comp/NestedArrays.dfy.expect +++ b/Test/comp/NestedArrays.dfy.expect @@ -1,18 +1,2 @@ - -Dafny program verifier finished with 4 verified, 0 errors - -Dafny program verifier did not attempt verification -0 -0 - -Dafny program verifier did not attempt verification -0 -0 - -Dafny program verifier did not attempt verification -0 -0 - -Dafny program verifier did not attempt verification 0 0 diff --git a/Test/comp/Numbers.dfy b/Test/comp/Numbers.dfy index 36bf24dcdb4..c76bc87fdc0 100644 --- a/Test/comp/Numbers.dfy +++ b/Test/comp/Numbers.dfy @@ -1,10 +1,5 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false method Main() { Literals(); diff --git a/Test/comp/Numbers.dfy.expect b/Test/comp/Numbers.dfy.expect index 8d994e1c7c6..7eacf4e709d 100644 --- a/Test/comp/Numbers.dfy.expect +++ b/Test/comp/Numbers.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 59 verified, 0 errors - -Dafny program verifier did not attempt verification 0 0 3 @@ -113,455 +109,3 @@ true false true false false true false true true false true false 20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -g Q 2 -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -(312.0 / 40.0) (1248.0 / 40.0) -(-312.0 / 40.0) (-1248.0 / 40.0) -(-312.0 / 40.0) (1248.0 / 40.0) -(312.0 / 40.0) (-1248.0 / 40.0) -0.0 0.0 0.0 -120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) -123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 (8100.0 / 8100.0) -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -g Q 2 -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -g Q 2 -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -(312.0 / 40.0) (1248.0 / 40.0) -(-312.0 / 40.0) (-1248.0 / 40.0) -(-312.0 / 40.0) (1248.0 / 40.0) -(312.0 / 40.0) (-1248.0 / 40.0) -0.0 0.0 0.0 -120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) -123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 (8100.0 / 8100.0) -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -g Q 2 -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 diff --git a/Test/comp/Numbers.dfy.go.expect b/Test/comp/Numbers.dfy.go.expect new file mode 100644 index 00000000000..ce109553619 --- /dev/null +++ b/Test/comp/Numbers.dfy.go.expect @@ -0,0 +1,111 @@ +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +g Q 2 +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 diff --git a/Test/comp/Numbers.dfy.py.expect b/Test/comp/Numbers.dfy.py.expect new file mode 100644 index 00000000000..ce109553619 --- /dev/null +++ b/Test/comp/Numbers.dfy.py.expect @@ -0,0 +1,111 @@ +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +g Q 2 +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 diff --git a/Test/comp/Poly.dfy b/Test/comp/Poly.dfy index f3c3aa58599..5af5e8134e9 100644 --- a/Test/comp/Poly.dfy +++ b/Test/comp/Poly.dfy @@ -1,10 +1,5 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation trait Shape { function Center(): (real, real) reads this diff --git a/Test/comp/Poly.dfy.expect b/Test/comp/Poly.dfy.expect index 4ffff82d5ab..7dc24821586 100644 --- a/Test/comp/Poly.dfy.expect +++ b/Test/comp/Poly.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 15 verified, 0 errors - -Dafny program verifier did not attempt verification Center of square: ((1.0 / 2.0), (1.0 / 2.0)) Center of circle: (1.0, 1.0) Center: ((1.0 / 2.0), (1.0 / 2.0)) @@ -14,59 +10,3 @@ Center: ((1.0 / 2.0), (1.0 / 2.0)) Center: (1.0, 1.0) Center: ((1.0 / 2.0), (1.0 / 2.0)) Center: (1.0, 1.0) - -Dafny program verifier did not attempt verification -Center of square: ((1.0 / 2.0), (1.0 / 2.0)) -Center of circle: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) - -Dafny program verifier did not attempt verification -Center of square: ((1.0 / 2.0), (1.0 / 2.0)) -Center of circle: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) - -Dafny program verifier did not attempt verification -Center of square: (0.5, 0.5) -Center of circle: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) - -Dafny program verifier did not attempt verification -Center of square: (0.5, 0.5) -Center of circle: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) diff --git a/Test/comp/Poly.dfy.go.expect b/Test/comp/Poly.dfy.go.expect new file mode 100644 index 00000000000..88e09c5e6ff --- /dev/null +++ b/Test/comp/Poly.dfy.go.expect @@ -0,0 +1,12 @@ +Center of square: (0.5, 0.5) +Center of circle: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) diff --git a/Test/comp/Poly.dfy.py.expect b/Test/comp/Poly.dfy.py.expect new file mode 100644 index 00000000000..88e09c5e6ff --- /dev/null +++ b/Test/comp/Poly.dfy.py.expect @@ -0,0 +1,12 @@ +Center of square: (0.5, 0.5) +Center of circle: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) diff --git a/Test/comp/Print.dfy b/Test/comp/Print.dfy index 166bae4c351..39f8a447396 100644 --- a/Test/comp/Print.dfy +++ b/Test/comp/Print.dfy @@ -1,9 +1,5 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false // Python salts hashes so they are not deterministic. diff --git a/Test/comp/Print.dfy.expect b/Test/comp/Print.dfy.expect index c2b186af0ec..88ded65afab 100644 --- a/Test/comp/Print.dfy.expect +++ b/Test/comp/Print.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification Strings in collections: [abc, def] [[abc, def]] @@ -10,33 +6,3 @@ Strings in collections: [] [] [aaaaa] - -Dafny program verifier did not attempt verification -Strings in collections: - [abc, def] - [[abc, def]] - {abc, def} - [abc, def] - [] - [] - [aaaaa] - -Dafny program verifier did not attempt verification -Strings in collections: - [abc, def] - [[abc, def]] - {abc, def} - [abc, def] - [] - [] - [aaaaa] - -Dafny program verifier did not attempt verification -Strings in collections: - [abc, def] - [[abc, def]] - {abc, def} - [abc, def] - [] - [] - [aaaaa] diff --git a/Test/comp/Print.dfy.go.expect b/Test/comp/Print.dfy.go.expect new file mode 100644 index 00000000000..7ac90f01b3c --- /dev/null +++ b/Test/comp/Print.dfy.go.expect @@ -0,0 +1,8 @@ +Strings in collections: + [abc, def] + [[abc, def]] + {abc, def} + [abc, def] + [] + [] + [aaaaa] diff --git a/Test/comp/Print.dfy.java.expect b/Test/comp/Print.dfy.java.expect new file mode 100644 index 00000000000..7ac90f01b3c --- /dev/null +++ b/Test/comp/Print.dfy.java.expect @@ -0,0 +1,8 @@ +Strings in collections: + [abc, def] + [[abc, def]] + {abc, def} + [abc, def] + [] + [] + [aaaaa] diff --git a/Test/comp/Print.dfy.js.expect b/Test/comp/Print.dfy.js.expect new file mode 100644 index 00000000000..7ac90f01b3c --- /dev/null +++ b/Test/comp/Print.dfy.js.expect @@ -0,0 +1,8 @@ +Strings in collections: + [abc, def] + [[abc, def]] + {abc, def} + [abc, def] + [] + [] + [aaaaa] diff --git a/Test/comp/StaticMembersOfGenericTypes.dfy b/Test/comp/StaticMembersOfGenericTypes.dfy index 8c402dab951..8a8614d21a5 100644 --- a/Test/comp/StaticMembersOfGenericTypes.dfy +++ b/Test/comp/StaticMembersOfGenericTypes.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { GenericClass(); diff --git a/Test/comp/StaticMembersOfGenericTypes.dfy.expect b/Test/comp/StaticMembersOfGenericTypes.dfy.expect index 54e32b42ee5..196f1295e12 100644 --- a/Test/comp/StaticMembersOfGenericTypes.dfy.expect +++ b/Test/comp/StaticMembersOfGenericTypes.dfy.expect @@ -1,79 +1,3 @@ - -Dafny program verifier finished with 9 verified, 0 errors - -Dafny program verifier did not attempt verification -(0, 1) (true, 2, 3) -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -(2.0, true) (3.0, false) -(2.0, true) (3.0, false) -true false -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -50 3 4 -149 - -Dafny program verifier did not attempt verification -(0, 1) (true, 2, 3) -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -(2.0, true) (3.0, false) -(2.0, true) (3.0, false) -true false -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -50 3 4 -149 - -Dafny program verifier did not attempt verification -(0, 1) (true, 2, 3) -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -(2.0, true) (3.0, false) -(2.0, true) (3.0, false) -true false -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -50 3 4 -149 - -Dafny program verifier did not attempt verification -(0, 1) (true, 2, 3) -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -(2.0, true) (3.0, false) -(2.0, true) (3.0, false) -true false -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -50 3 4 -149 - -Dafny program verifier did not attempt verification (0, 1) (true, 2, 3) 0 25 (20, 21) (20, 21) 23 22 0 25 (20, 21) (20, 21) 23 22 diff --git a/Test/comp/TailRecursion.dfy b/Test/comp/TailRecursion.dfy index 68ba6ee4669..b3631d5eccc 100644 --- a/Test/comp/TailRecursion.dfy +++ b/Test/comp/TailRecursion.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { // In the following, 2_000_000 is too large an argument without tail-calls diff --git a/Test/comp/TailRecursion.dfy.expect b/Test/comp/TailRecursion.dfy.expect index 23c852a41fe..4b9da7e5093 100644 --- a/Test/comp/TailRecursion.dfy.expect +++ b/Test/comp/TailRecursion.dfy.expect @@ -1,79 +1,3 @@ - -Dafny program verifier finished with 28 verified, 0 errors - -Dafny program verifier did not attempt verification -2000000 2000000 -2000000 2000000 -1000000 1000000 -10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 -TriangleNumber(10) = 55 -TriangleNumber_Real(10) = 55.0 -TriangleNumber_ORDINAL(10) = 55 -Factorial(5) = 120 -Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] -UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] -Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 -TheBigSubtract(100) = -12 -TailNat(10) = 50 -17 17 17 -2000000 - -Dafny program verifier did not attempt verification -2000000 2000000 -2000000 2000000 -1000000 1000000 -10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 -TriangleNumber(10) = 55 -TriangleNumber_Real(10) = 55.0 -TriangleNumber_ORDINAL(10) = 55 -Factorial(5) = 120 -Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] -UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] -Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 -TheBigSubtract(100) = -12 -TailNat(10) = 50 -17 17 17 -2000000 - -Dafny program verifier did not attempt verification -2000000 2000000 -2000000 2000000 -1000000 1000000 -10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 -TriangleNumber(10) = 55 -TriangleNumber_Real(10) = 55.0 -TriangleNumber_ORDINAL(10) = 55 -Factorial(5) = 120 -Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] -UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] -Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 -TheBigSubtract(100) = -12 -TailNat(10) = 50 -17 17 17 -2000000 - -Dafny program verifier did not attempt verification -2000000 2000000 -2000000 2000000 -1000000 1000000 -10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 -TriangleNumber(10) = 55 -TriangleNumber_Real(10) = 55.0 -TriangleNumber_ORDINAL(10) = 55 -Factorial(5) = 120 -Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] -UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] -Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 -TheBigSubtract(100) = -12 -TailNat(10) = 50 -17 17 17 -2000000 - -Dafny program verifier did not attempt verification 2000000 2000000 2000000 2000000 1000000 1000000 diff --git a/Test/comp/TypeDescriptors.dfy b/Test/comp/TypeDescriptors.dfy index 636cb3db583..5bedbb900e4 100644 --- a/Test/comp/TypeDescriptors.dfy +++ b/Test/comp/TypeDescriptors.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Method(s: string, g: G) { var zero: G; diff --git a/Test/comp/TypeDescriptors.dfy.expect b/Test/comp/TypeDescriptors.dfy.expect index 9b1e8487bdc..1b09338c83d 100644 --- a/Test/comp/TypeDescriptors.dfy.expect +++ b/Test/comp/TypeDescriptors.dfy.expect @@ -1,155 +1,3 @@ - -Dafny program verifier finished with 11 verified, 0 errors - -Dafny program verifier did not attempt verification -int: 8 0 -bool: true false -char: 'r' 'D' -real: 1.618 0.0 -ORDINAL: 0 -bv0: 0 0 -bv21: 121 0 -bv32: 132 0 -bv191: 191 0 -set: {7} {} -multiset: multiset{7, 7} multiset{} -seq: [7] [] -map: map[2 := 7] map[] -pos: 3 1 -Hundred: 6 0 -HundredOdd: 13 19 -JustOdd: 131 5 -(): () () -(int, real): (2, 3.2) (0, 0.0) -(int, pos): (2, 3) (0, 1) -AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) -Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) -Stream: Stream.More -A=int: 15 0 -B=int: 16 0 -datatype.B=: {14} {} -object?: null -Class?>: null -Trait?>: null -array?: null -array2?: null -int --> bool: null -array? ~> bool: null - -Dafny program verifier did not attempt verification -int: 8 0 -bool: true false -char: 'r' 'D' -real: 1.618 0.0 -ORDINAL: 0 -bv0: 0 0 -bv21: 121 0 -bv32: 132 0 -bv191: 191 0 -set: {7} {} -multiset: multiset{7, 7} multiset{} -seq: [7] [] -map: map[2 := 7] map[] -pos: 3 1 -Hundred: 6 0 -HundredOdd: 13 19 -JustOdd: 131 5 -(): () () -(int, real): (2, 3.2) (0, 0.0) -(int, pos): (2, 3) (0, 1) -AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) -Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) -Stream: Stream.More -A=int: 15 0 -B=int: 16 0 -datatype.B=: {14} {} -object?: null -Class?>: null -Trait?>: null -array?: null -array2?: null -int --> bool: null -array? ~> bool: null - -Dafny program verifier did not attempt verification -int: 8 0 -bool: true false -char: 'r' 'D' -real: 1.618 0.0 -ORDINAL: 0 -bv0: 0 0 -bv21: 121 0 -bv32: 132 0 -bv191: 191 0 -set: {7} {} -multiset: multiset{7, 7} multiset{} -seq: [7] [] -map: map[2 := 7] map[] -pos: 3 1 -Hundred: 6 0 -HundredOdd: 13 19 -JustOdd: 131 5 -(): () () -(int, real): (2, 3.2) (0, 0.0) -(int, pos): (2, 3) (0, 1) -AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) -Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) -Stream: Stream.More -A=int: 15 0 -B=int: 16 0 -datatype.B=: {14} {} -object?: null -Class?>: null -Trait?>: null -array?: null -array2?: null -int --> bool: null -array? ~> bool: null - -Dafny program verifier did not attempt verification -int: 8 0 -bool: true false -char: 'r' 'D' -real: 1.618 0.0 -ORDINAL: 0 -bv0: 0 0 -bv21: 121 0 -bv32: 132 0 -bv191: 191 0 -set: {7} {} -multiset: multiset{7, 7} multiset{} -seq: [7] [] -map: map[2 := 7] map[] -pos: 3 1 -Hundred: 6 0 -HundredOdd: 13 19 -JustOdd: 131 5 -(): () () -(int, real): (2, 3.2) (0, 0.0) -(int, pos): (2, 3) (0, 1) -AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) -Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) -Stream: Stream.More -A=int: 15 0 -B=int: 16 0 -datatype.B=: {14} {} -object?: null -Class?>: null -Trait?>: null -array?: null -array2?: null -int --> bool: null -array? ~> bool: null - -Dafny program verifier did not attempt verification int: 8 0 bool: true false char: 'r' 'D' diff --git a/Test/comp/TypeParams.dfy b/Test/comp/TypeParams.dfy index 11d1b3bac6a..c595881e028 100644 --- a/Test/comp/TypeParams.dfy +++ b/Test/comp/TypeParams.dfy @@ -1,11 +1,6 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" - -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation + datatype Color = Orange | Pink | Teal type Six = x | x <= 6 diff --git a/Test/comp/TypeParams.dfy.expect b/Test/comp/TypeParams.dfy.expect index ac8ef1c58e5..1381a030f65 100644 --- a/Test/comp/TypeParams.dfy.expect +++ b/Test/comp/TypeParams.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 17 verified, 0 errors - -Dafny program verifier did not attempt verification 0 0 0 false Color.Orange 0.0 {} Color.Orange null null null null null {} multiset{} [] map[] {} map[] @@ -21,87 +17,3 @@ System.Func`2[Dafny.BigRational,System.Boolean] System.Func`1[System.Numerics.BigInteger] System.Func`3[_module._IColor,Dafny.ISet`1[System.UInt16],System.UInt32] 0 0 - -Dafny program verifier did not attempt verification -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -function () { return false; } -function () { return _dafny.ZERO; } -function () { return _dafny.ZERO; } -0 0 - -Dafny program verifier did not attempt verification -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -func(dafny.Real) bool -func() dafny.Int -func(main.Color, dafny.Set) uint32 -0 0 - -Dafny program verifier did not attempt verification -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -Function -Function -Function -0 0 - -Dafny program verifier did not attempt verification -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -Function -Function -Function -0 0 diff --git a/Test/comp/TypeParams.dfy.go.expect b/Test/comp/TypeParams.dfy.go.expect new file mode 100644 index 00000000000..e3a8e67d066 --- /dev/null +++ b/Test/comp/TypeParams.dfy.go.expect @@ -0,0 +1,19 @@ +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +func(dafny.Real) bool +func() dafny.Int +func(main.Color, dafny.Set) uint32 +0 0 diff --git a/Test/comp/TypeParams.dfy.java.expect b/Test/comp/TypeParams.dfy.java.expect new file mode 100644 index 00000000000..5f843ba06d1 --- /dev/null +++ b/Test/comp/TypeParams.dfy.java.expect @@ -0,0 +1,19 @@ +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +Function +Function +Function +0 0 diff --git a/Test/comp/TypeParams.dfy.js.expect b/Test/comp/TypeParams.dfy.js.expect new file mode 100644 index 00000000000..865c33ea48b --- /dev/null +++ b/Test/comp/TypeParams.dfy.js.expect @@ -0,0 +1,19 @@ +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +function () { return false; } +function () { return _dafny.ZERO; } +function () { return _dafny.ZERO; } +0 0 diff --git a/Test/comp/TypeParams.dfy.py.expect b/Test/comp/TypeParams.dfy.py.expect new file mode 100644 index 00000000000..5f843ba06d1 --- /dev/null +++ b/Test/comp/TypeParams.dfy.py.expect @@ -0,0 +1,19 @@ +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +Function +Function +Function +0 0 diff --git a/Test/comp/UnoptimizedErasableTypeWrappers.dfy b/Test/comp/UnoptimizedErasableTypeWrappers.dfy index 58f0682ed41..b7911aed9db 100644 --- a/Test/comp/UnoptimizedErasableTypeWrappers.dfy +++ b/Test/comp/UnoptimizedErasableTypeWrappers.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --optimize-erasable-datatype-wrapper:false --relax-definite-assignment --spill-translation datatype SingletonRecord = SingletonRecord(u: int) datatype WithGhost = WithGhost(u: int, ghost v: int) diff --git a/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect b/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect index be1d7190b0f..3371376a52b 100644 --- a/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect +++ b/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect @@ -1,31 +1,3 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification -SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) -() (30) (31) (30, 32) -15 20 -30 31 30 32 - -Dafny program verifier did not attempt verification -SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) -() (30) (31) (30, 32) -15 20 -30 31 30 32 - -Dafny program verifier did not attempt verification -SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) -() (30) (31) (30, 32) -15 20 -30 31 30 32 - -Dafny program verifier did not attempt verification -SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) -() (30) (31) (30, 32) -15 20 -30 31 30 32 - -Dafny program verifier did not attempt verification SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) () (30) (31) (30, 32) 15 20 diff --git a/Test/comp/Variance.dfy b/Test/comp/Variance.dfy index 6c198495209..ddcde6cd7d7 100644 --- a/Test/comp/Variance.dfy +++ b/Test/comp/Variance.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 /deprecation:0 "%s" > "%t" -// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --warn-deprecation:false datatype Co<+T> = Co(z: T) { const x: int; diff --git a/Test/comp/Variance.dfy.expect b/Test/comp/Variance.dfy.expect index cf08d82ac07..5bb565b6bb4 100644 --- a/Test/comp/Variance.dfy.expect +++ b/Test/comp/Variance.dfy.expect @@ -1,67 +1,3 @@ - -Dafny program verifier finished with 13 verified, 0 errors - -Dafny program verifier did not attempt verification -Co.Co(_module.Int) and Co.Co(_module.Int) -true0[]0000 -Non.Non(_module.Int) and Non.Non(_module.Int) -true0[]0000 -0 and 0 -_module.Int0[]0000 -CCo.CCo and CCo.CCo -true0[]0000 -CNon.CNon and CNon.CNon -true0[]0000 -CCon.CCon and CCon.CCon -_module.Int0[]0000 -Done - -Dafny program verifier did not attempt verification -Co.Co(_module.Int) and Co.Co(_module.Int) -true0[]0000 -Non.Non(_module.Int) and Non.Non(_module.Int) -true0[]0000 -0 and 0 -_module.Int0[]0000 -CCo.CCo and CCo.CCo -true0[]0000 -CNon.CNon and CNon.CNon -true0[]0000 -CCon.CCon and CCon.CCon -_module.Int0[]0000 -Done - -Dafny program verifier did not attempt verification -Co.Co(_module.Int) and Co.Co(_module.Int) -true0[]0000 -Non.Non(_module.Int) and Non.Non(_module.Int) -true0[]0000 -0 and 0 -_module.Int0[]0000 -CCo.CCo and CCo.CCo -true0[]0000 -CNon.CNon and CNon.CNon -true0[]0000 -CCon.CCon and CCon.CCon -_module.Int0[]0000 -Done - -Dafny program verifier did not attempt verification -Co.Co(_module.Int) and Co.Co(_module.Int) -true0[]0000 -Non.Non(_module.Int) and Non.Non(_module.Int) -true0[]0000 -0 and 0 -_module.Int0[]0000 -CCo.CCo and CCo.CCo -true0[]0000 -CNon.CNon and CNon.CNon -true0[]0000 -CCon.CCon and CCon.CCon -_module.Int0[]0000 -Done - -Dafny program verifier did not attempt verification Co.Co(_module.Int) and Co.Co(_module.Int) true0[]0000 Non.Non(_module.Int) and Non.Non(_module.Int) diff --git a/Test/comp/Various.dfy b/Test/comp/Various.dfy index 1f29c511a83..502801e4c2a 100644 --- a/Test/comp/Various.dfy +++ b/Test/comp/Various.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Match(tp: (nat, nat)) { match tp diff --git a/Test/comp/Various.dfy.expect b/Test/comp/Various.dfy.expect index 502e2d04792..66f013c00f7 100644 --- a/Test/comp/Various.dfy.expect +++ b/Test/comp/Various.dfy.expect @@ -1,43 +1,3 @@ - -Dafny program verifier finished with 4 verified, 0 errors - -Dafny program verifier did not attempt verification -match -1 -Kablammo!! -0 -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] - -Dafny program verifier did not attempt verification -match -1 -Kablammo!! -0 -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] - -Dafny program verifier did not attempt verification -match -1 -Kablammo!! -0 -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] - -Dafny program verifier did not attempt verification -match -1 -Kablammo!! -0 -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] - -Dafny program verifier did not attempt verification match 1 Kablammo!! diff --git a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy index 10fe57dec8f..2cf77360cab 100644 --- a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy +++ b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // An extremely small program intended to be the first target input for // brand new Dafny compilers. Avoids any use of strings (and therefore sequences) diff --git a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect index e1dcaef650b..f32a5804e29 100644 --- a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect +++ b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect @@ -1,5 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification true \ No newline at end of file diff --git a/Test/comp/firstSteps/1_Calls-F.dfy b/Test/comp/firstSteps/1_Calls-F.dfy index 32566f59f3b..4fe5b83e551 100644 --- a/Test/comp/firstSteps/1_Calls-F.dfy +++ b/Test/comp/firstSteps/1_Calls-F.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/1_Calls-F.dfy.expect b/Test/comp/firstSteps/1_Calls-F.dfy.expect index 58e0a68ec1c..7ed6ff82de6 100644 --- a/Test/comp/firstSteps/1_Calls-F.dfy.expect +++ b/Test/comp/firstSteps/1_Calls-F.dfy.expect @@ -1,5 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification 5 diff --git a/Test/comp/firstSteps/2_Modules.dfy b/Test/comp/firstSteps/2_Modules.dfy index 750b8d60c21..d0effcb5a71 100644 --- a/Test/comp/firstSteps/2_Modules.dfy +++ b/Test/comp/firstSteps/2_Modules.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module A { const i: nat := 1 diff --git a/Test/comp/firstSteps/2_Modules.dfy.expect b/Test/comp/firstSteps/2_Modules.dfy.expect index 9a4b57459c7..b85905ec0b9 100644 --- a/Test/comp/firstSteps/2_Modules.dfy.expect +++ b/Test/comp/firstSteps/2_Modules.dfy.expect @@ -1,5 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification 1 2 3 diff --git a/Test/comp/firstSteps/3_Calls-As.dfy b/Test/comp/firstSteps/3_Calls-As.dfy index f22bbdbd3f6..38889421865 100644 --- a/Test/comp/firstSteps/3_Calls-As.dfy +++ b/Test/comp/firstSteps/3_Calls-As.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/3_Calls-As.dfy.expect b/Test/comp/firstSteps/3_Calls-As.dfy.expect index eea6c52592c..a1c59bb761f 100644 --- a/Test/comp/firstSteps/3_Calls-As.dfy.expect +++ b/Test/comp/firstSteps/3_Calls-As.dfy.expect @@ -1,5 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification 0 0 false 0 false 0 diff --git a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy index 89fb669dca0..6a66781ff0d 100644 --- a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy +++ b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect index e7498a27e3e..a8d09f0a6f5 100644 --- a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect +++ b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect @@ -1,6 +1,2 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification 5 3 5 3 5 3 5 3 diff --git a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy index 096523f8956..1175b1eca8f 100644 --- a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy +++ b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect index 8954da2b386..ef3de96e567 100644 --- a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect +++ b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect @@ -1,6 +1,2 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification 5 3 5 3 diff --git a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy index 1fbaebdf4e9..5d970ac4de5 100644 --- a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy +++ b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect index b6ffe78bcbb..4ff62e33956 100644 --- a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect +++ b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 4 verified, 0 errors - -Dafny program verifier did not attempt verification 15 [0, 1, 2, 4] [0, 2, 4] diff --git a/Test/comp/firstSteps/7_Arrays.dfy b/Test/comp/firstSteps/7_Arrays.dfy index 07ddf89594b..d02c942c9bb 100644 --- a/Test/comp/firstSteps/7_Arrays.dfy +++ b/Test/comp/firstSteps/7_Arrays.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Arrays.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/7_Arrays.dfy.expect b/Test/comp/firstSteps/7_Arrays.dfy.expect index 75e824c80bb..fa00285c692 100644 --- a/Test/comp/firstSteps/7_Arrays.dfy.expect +++ b/Test/comp/firstSteps/7_Arrays.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 7 verified, 0 errors - -Dafny program verifier did not attempt verification 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/comp/firstSteps/7_Dt_Algebraic.dfy b/Test/comp/firstSteps/7_Dt_Algebraic.dfy index 991462d8bdf..46a2995b37f 100644 --- a/Test/comp/firstSteps/7_Dt_Algebraic.dfy +++ b/Test/comp/firstSteps/7_Dt_Algebraic.dfy @@ -1,7 +1,5 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Dt.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect new file mode 100644 index 00000000000..ba1b72ea6f7 --- /dev/null +++ b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect @@ -0,0 +1,11 @@ +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} +42 'q' hello +1701 diff --git a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect index ec9b49fe420..e3ff7faba6e 100644 --- a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect +++ b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 7 verified, 0 errors - -Dafny program verifier did not attempt verification List.Nil List.Cons(5, List.Nil) (List.Nil, List.Cons(5, List.Nil)) @@ -13,16 +9,3 @@ List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, Li {Berry.Hallon, Berry.Smultron, Berry.Jordgubb} 42 'q' hello 1701 - -Dafny program verifier did not attempt verification -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} -42 'q' hello -1701 diff --git a/Test/dafny0/ArrayElementInitCompile.dfy b/Test/dafny0/ArrayElementInitCompile.dfy index 7d652486b9e..3714cf0fe8e 100644 --- a/Test/dafny0/ArrayElementInitCompile.dfy +++ b/Test/dafny0/ArrayElementInitCompile.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 /print:"%t.print" /rprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false method Main() { diff --git a/Test/dafny0/ArrayElementInitCompile.dfy.expect b/Test/dafny0/ArrayElementInitCompile.dfy.expect index a5241c75f19..eaa3e759999 100644 --- a/Test/dafny0/ArrayElementInitCompile.dfy.expect +++ b/Test/dafny0/ArrayElementInitCompile.dfy.expect @@ -1,79 +1,3 @@ - -Dafny program verifier finished with 18 verified, 0 errors - -Dafny program verifier did not attempt verification -67 67 67 67 67 67 67 67 -0 1 2 3 -1 2 3 4 -2 3 4 5 -3 4 5 6 -4 5 6 7 -O . O . O . O . O . O . -12 12 12 12 12 12 12 12 12 12 12 12 -D E -y z -4 3 -7 -100 75 98 25 - -looks like this rocks --2 -1 0 1 2 3 4 - -Dafny program verifier did not attempt verification -67 67 67 67 67 67 67 67 -0 1 2 3 -1 2 3 4 -2 3 4 5 -3 4 5 6 -4 5 6 7 -O . O . O . O . O . O . -12 12 12 12 12 12 12 12 12 12 12 12 -D E -y z -4 3 -7 -100 75 98 25 - -looks like this rocks --2 -1 0 1 2 3 4 - -Dafny program verifier did not attempt verification -67 67 67 67 67 67 67 67 -0 1 2 3 -1 2 3 4 -2 3 4 5 -3 4 5 6 -4 5 6 7 -O . O . O . O . O . O . -12 12 12 12 12 12 12 12 12 12 12 12 -D E -y z -4 3 -7 -100 75 98 25 - -looks like this rocks --2 -1 0 1 2 3 4 - -Dafny program verifier did not attempt verification -67 67 67 67 67 67 67 67 -0 1 2 3 -1 2 3 4 -2 3 4 5 -3 4 5 6 -4 5 6 7 -O . O . O . O . O . O . -12 12 12 12 12 12 12 12 12 12 12 12 -D E -y z -4 3 -7 -100 75 98 25 - -looks like this rocks --2 -1 0 1 2 3 4 - -Dafny program verifier did not attempt verification 67 67 67 67 67 67 67 67 0 1 2 3 1 2 3 4 diff --git a/Test/dafny0/Bitvectors.dfy b/Test/dafny0/Bitvectors.dfy index 320408e5772..b19e84d1181 100644 --- a/Test/dafny0/Bitvectors.dfy +++ b/Test/dafny0/Bitvectors.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /print:"%t.print" /env:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method M(a: bv1, b: bv32) returns (c: bv32, d: bv1) { diff --git a/Test/dafny0/Bitvectors.dfy.expect b/Test/dafny0/Bitvectors.dfy.expect index 51fda88f97b..ed1c7328e83 100644 --- a/Test/dafny0/Bitvectors.dfy.expect +++ b/Test/dafny0/Bitvectors.dfy.expect @@ -1,52 +1,3 @@ - -Dafny program verifier finished with 11 verified, 0 errors - -Dafny program verifier did not attempt verification -4000 4000 4000 0 -1 2053 1099 -185 55 -2 4 -Comparisons: true true false false -bv16: 5 - 2 == 3 -bv16: 1 - 2 == 65535 -3 2 -0 0 -false true true false -bv67: 147573952589676412927 + 3 == 2 - 3 == 147573952589676412925 !! 3 == ! 147573952589676412924 == 3 -bv64: 18446744073709551615 + 3 == 2 - 3 == 18446744073709551613 !! 3 == ! 18446744073709551612 == 3 -bv53: 9007199254740991 + 3 == 2 - 3 == 9007199254740989 !! 3 == ! 9007199254740988 == 3 -bv33: 8589934591 + 3 == 2 - 3 == 8589934589 !! 3 == ! 8589934588 == 3 -bv32: 4294967295 + 3 == 2 - 3 == 4294967293 !! 3 == ! 4294967292 == 3 -bv31: 2147483647 + 3 == 2 - 3 == 2147483645 !! 3 == ! 2147483644 == 3 -bv16: 65535 + 3 == 2 - 3 == 65533 !! 3 == ! 65532 == 3 -bv15: 32767 + 3 == 2 - 3 == 32765 !! 3 == ! 32764 == 3 -bv8: 255 + 3 == 2 - 3 == 253 !! 3 == ! 252 == 3 -bv6: 63 + 3 == 2 - 3 == 61 !! 3 == ! 60 == 3 -bv1: 1 + 1 == 0 - 1 == 1 !! 1 == ! 0 == 1 -bv0: 0 + 0 == 0 - 0 == 0 !! 0 == ! 0 == 0 -bv2: - 3 + 2 == 1 - 3 - 2 == 1 - 3 * 2 == 2 - 3 / 2 == 1 - 3 % 2 == 1 -PrintShifts: bv67: 5 40 40 40 -PrintShifts: bv32: 5 40 40 40 -PrintShifts: bv7: 5 40 40 40 -PrintShifts: bv2: 1 2 2 2 -PrintShifts: bv0: 0 0 0 0 -PrintShifts: bv67 again: 2 2 2 73786976294838206465 -PrintShifts: bv32 again: 8000 8000 2147487648 3221227472 -PrintShifts: bv7 again: 124 124 124 127 -PrintShifts: bv0 again: 0 0 0 0 -PrintRotates: bv12: 5 5 -PrintRotates: bv7: 5 5 -PrintRotates: bv2: 1 1 -PrintRotates: bv0: 0 0 -PrintRotates: bv12 again: 976 976 -PrintRotates: bv7 again: 127 127 - -Dafny program verifier did not attempt verification 4000 4000 4000 0 1 2053 1099 185 55 diff --git a/Test/dafny0/Constant.dfy b/Test/dafny0/Constant.dfy index f021e7d4482..1fdeedc3335 100644 --- a/Test/dafny0/Constant.dfy +++ b/Test/dafny0/Constant.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment const one:int := 1 const two:int := one * 2 diff --git a/Test/dafny0/Constant.dfy.expect b/Test/dafny0/Constant.dfy.expect index 6099b08c38c..1a7b981715f 100644 --- a/Test/dafny0/Constant.dfy.expect +++ b/Test/dafny0/Constant.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 17 verified, 0 errors one := 1 two := 2 three := 3 diff --git a/Test/dafny0/Deprecation.dfy b/Test/dafny0/Deprecation.dfy index 8c9c688d463..86521043d43 100644 --- a/Test/dafny0/Deprecation.dfy +++ b/Test/dafny0/Deprecation.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This file contains tests for messags about various deprecated features. // As those features go away completely, so can the corresponding tests. diff --git a/Test/dafny0/Deprecation.dfy.expect b/Test/dafny0/Deprecation.dfy.expect index 4ff88d31ade..0dffd975ac7 100644 --- a/Test/dafny0/Deprecation.dfy.expect +++ b/Test/dafny0/Deprecation.dfy.expect @@ -1,8 +1 @@ -Deprecation.dfy(16,13): Warning: constructors no longer need 'this' to be listed in modifies clauses -Deprecation.dfy(23,0): Warning: the old keyword phrase 'inductive predicate' has been renamed to 'least predicate' -Deprecation.dfy(26,0): Warning: the old keyword 'copredicate' has been renamed to the keyword phrase 'greatest predicate' -Deprecation.dfy(29,0): Warning: the old keyword phrase 'inductive lemma' has been renamed to 'least lemma' -Deprecation.dfy(32,0): Warning: the old keyword 'colemma' has been renamed to the keyword phrase 'greatest lemma' - -Dafny program verifier finished with 0 verified, 0 errors yet here we are diff --git a/Test/dafny0/Deprecation.dfy.verifier.expect b/Test/dafny0/Deprecation.dfy.verifier.expect new file mode 100644 index 00000000000..c0851e9888c --- /dev/null +++ b/Test/dafny0/Deprecation.dfy.verifier.expect @@ -0,0 +1,5 @@ +Deprecation.dfy(15,13): Warning: constructors no longer need 'this' to be listed in modifies clauses +Deprecation.dfy(22,0): Warning: the old keyword phrase 'inductive predicate' has been renamed to 'least predicate' +Deprecation.dfy(25,0): Warning: the old keyword 'copredicate' has been renamed to the keyword phrase 'greatest predicate' +Deprecation.dfy(28,0): Warning: the old keyword phrase 'inductive lemma' has been renamed to 'least lemma' +Deprecation.dfy(31,0): Warning: the old keyword 'colemma' has been renamed to the keyword phrase 'greatest lemma' diff --git a/Test/dafny0/DiscoverBounds.dfy b/Test/dafny0/DiscoverBounds.dfy index 31f9717ee79..18e56158613 100644 --- a/Test/dafny0/DiscoverBounds.dfy +++ b/Test/dafny0/DiscoverBounds.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /print:"%t.print" /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment newtype NT = x | 0 <= x < 100 newtype UT = NT diff --git a/Test/dafny0/DiscoverBounds.dfy.expect b/Test/dafny0/DiscoverBounds.dfy.expect index e43954c7be1..909a58326d0 100644 --- a/Test/dafny0/DiscoverBounds.dfy.expect +++ b/Test/dafny0/DiscoverBounds.dfy.expect @@ -1,10 +1,3 @@ -DiscoverBounds.dfy(32,7): Warning: /!\ No terms found to trigger on. -DiscoverBounds.dfy(33,7): Warning: /!\ No terms found to trigger on. -DiscoverBounds.dfy(34,7): Warning: /!\ No terms found to trigger on. -DiscoverBounds.dfy(35,7): Warning: /!\ No terms found to trigger on. -DiscoverBounds.dfy(36,7): Warning: /!\ No terms found to trigger on. - -Dafny program verifier finished with 7 verified, 0 errors 0 0 -2 diff --git a/Test/dafny0/DiscoverBounds.dfy.verifier.expect b/Test/dafny0/DiscoverBounds.dfy.verifier.expect new file mode 100644 index 00000000000..7c4de01ee0e --- /dev/null +++ b/Test/dafny0/DiscoverBounds.dfy.verifier.expect @@ -0,0 +1,5 @@ +DiscoverBounds.dfy(31,7): Warning: /!\ No terms found to trigger on. +DiscoverBounds.dfy(32,7): Warning: /!\ No terms found to trigger on. +DiscoverBounds.dfy(33,7): Warning: /!\ No terms found to trigger on. +DiscoverBounds.dfy(34,7): Warning: /!\ No terms found to trigger on. +DiscoverBounds.dfy(35,7): Warning: /!\ No terms found to trigger on. diff --git a/Test/dafny0/DividedConstructors.dfy b/Test/dafny0/DividedConstructors.dfy index 169bf4ee7df..e6f63a35f11 100644 --- a/Test/dafny0/DividedConstructors.dfy +++ b/Test/dafny0/DividedConstructors.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /env:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var m := new M0.MyClass.Init(20); diff --git a/Test/dafny0/DividedConstructors.dfy.expect b/Test/dafny0/DividedConstructors.dfy.expect index d46c6a37312..2dcc1ba6402 100644 --- a/Test/dafny0/DividedConstructors.dfy.expect +++ b/Test/dafny0/DividedConstructors.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 17 verified, 0 errors 37, 17, 3.14 false, true diff --git a/Test/dafny0/EqualityTypesCompile.dfy b/Test/dafny0/EqualityTypesCompile.dfy index de7954710e9..a36d1818c1d 100644 --- a/Test/dafny0/EqualityTypesCompile.dfy +++ b/Test/dafny0/EqualityTypesCompile.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype List = Nil | Cons(A, List) | ICons(int, List) datatype TwoLists = Two(List, List) diff --git a/Test/dafny0/EqualityTypesCompile.dfy.expect b/Test/dafny0/EqualityTypesCompile.dfy.expect index d2f1950e7f7..0246dc39633 100644 --- a/Test/dafny0/EqualityTypesCompile.dfy.expect +++ b/Test/dafny0/EqualityTypesCompile.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors from M: false from N: false from H: false diff --git a/Test/dafny0/ForallCompilationNewSyntax.dfy b/Test/dafny0/ForallCompilationNewSyntax.dfy index b7132df78ae..ac354d6338c 100644 --- a/Test/dafny0/ForallCompilationNewSyntax.dfy +++ b/Test/dafny0/ForallCompilationNewSyntax.dfy @@ -1,5 +1,4 @@ -// RUN: %baredafny run %args --relax-definite-assignment --quantifier-syntax:4 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --quantifier-syntax:4 --relax-definite-assignment method Main() { var c := new MyClass; diff --git a/Test/dafny0/ForallCompilationNewSyntax.dfy.expect b/Test/dafny0/ForallCompilationNewSyntax.dfy.expect index 5b7ec4613bb..e69de29bb2d 100644 --- a/Test/dafny0/ForallCompilationNewSyntax.dfy.expect +++ b/Test/dafny0/ForallCompilationNewSyntax.dfy.expect @@ -1,6 +0,0 @@ -ForallCompilationNewSyntax.dfy(26,4): Warning: /!\ No terms found to trigger on. -ForallCompilationNewSyntax.dfy(35,4): Warning: /!\ No terms found to trigger on. -ForallCompilationNewSyntax.dfy(44,4): Warning: /!\ No terms found to trigger on. -ForallCompilationNewSyntax.dfy(64,4): Warning: /!\ No trigger covering all quantified variables found. - -Dafny program verifier finished with 14 verified, 0 errors diff --git a/Test/dafny0/ForallCompilationNewSyntax.dfy.verifier.expect b/Test/dafny0/ForallCompilationNewSyntax.dfy.verifier.expect new file mode 100644 index 00000000000..a94cd5ea608 --- /dev/null +++ b/Test/dafny0/ForallCompilationNewSyntax.dfy.verifier.expect @@ -0,0 +1,4 @@ +ForallCompilationNewSyntax.dfy(25,4): Warning: /!\ No terms found to trigger on. +ForallCompilationNewSyntax.dfy(34,4): Warning: /!\ No terms found to trigger on. +ForallCompilationNewSyntax.dfy(43,4): Warning: /!\ No terms found to trigger on. +ForallCompilationNewSyntax.dfy(63,4): Warning: /!\ No trigger covering all quantified variables found. diff --git a/Test/dafny0/GhostGuards.dfy b/Test/dafny0/GhostGuards.dfy index b17c98662ce..49877792a47 100644 --- a/Test/dafny0/GhostGuards.dfy +++ b/Test/dafny0/GhostGuards.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /printTooltips /rprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Dt = Green | Dog diff --git a/Test/dafny0/GhostGuards.dfy.expect b/Test/dafny0/GhostGuards.dfy.expect index 8bb8a71d69d..e69de29bb2d 100644 --- a/Test/dafny0/GhostGuards.dfy.expect +++ b/Test/dafny0/GhostGuards.dfy.expect @@ -1,7 +0,0 @@ -GhostGuards.dfy(12,9): Info: ghost if -GhostGuards.dfy(18,2): Info: ghost if -GhostGuards.dfy(28,2): Info: ghost while -GhostGuards.dfy(41,2): Info: ghost while -GhostGuards.dfy(54,2): Info: ghost match - -Dafny program verifier finished with 1 verified, 0 errors diff --git a/Test/dafny0/GhostGuards.dfy.verifier.expect b/Test/dafny0/GhostGuards.dfy.verifier.expect new file mode 100644 index 00000000000..7e2637d73bb --- /dev/null +++ b/Test/dafny0/GhostGuards.dfy.verifier.expect @@ -0,0 +1,5 @@ +GhostGuards.dfy(11,9): Info: ghost if +GhostGuards.dfy(17,2): Info: ghost if +GhostGuards.dfy(27,2): Info: ghost while +GhostGuards.dfy(40,2): Info: ghost while +GhostGuards.dfy(53,2): Info: ghost match diff --git a/Test/dafny0/GhostITECompilation.dfy b/Test/dafny0/GhostITECompilation.dfy index d761ddbc6ea..bd7cfa28a95 100644 --- a/Test/dafny0/GhostITECompilation.dfy +++ b/Test/dafny0/GhostITECompilation.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 /functionSyntax:4 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --function-syntax:4 --relax-definite-assignment function F(x: nat, ghost y: nat): nat { diff --git a/Test/dafny0/GhostITECompilation.dfy.expect b/Test/dafny0/GhostITECompilation.dfy.expect index 1ec406bf52c..b4988e5cf11 100644 --- a/Test/dafny0/GhostITECompilation.dfy.expect +++ b/Test/dafny0/GhostITECompilation.dfy.expect @@ -1,31 +1,3 @@ - -Dafny program verifier finished with 6 verified, 0 errors - -Dafny program verifier did not attempt verification -65 -65 -65 -65 - -Dafny program verifier did not attempt verification -65 -65 -65 -65 - -Dafny program verifier did not attempt verification -65 -65 -65 -65 - -Dafny program verifier did not attempt verification -65 -65 -65 -65 - -Dafny program verifier did not attempt verification 65 65 65 diff --git a/Test/dafny0/InitialValues.dfy b/Test/dafny0/InitialValues.dfy index 7dcb05cc9c9..0848d244d71 100644 --- a/Test/dafny0/InitialValues.dfy +++ b/Test/dafny0/InitialValues.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/dafny0/InitialValues.dfy.expect b/Test/dafny0/InitialValues.dfy.expect index ada1b783c16..18903dcc3dd 100644 --- a/Test/dafny0/InitialValues.dfy.expect +++ b/Test/dafny0/InitialValues.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 2 verified, 0 errors r= 0.0 s= 3.4 a= 0.0 b= 3.4 z= 0.0 a==z = true diff --git a/Test/dafny0/MatchBraces.dfy b/Test/dafny0/MatchBraces.dfy index ddd1924774b..4ac380f2739 100644 --- a/Test/dafny0/MatchBraces.dfy +++ b/Test/dafny0/MatchBraces.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /print:"%t.print" /env:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Color = Red | Green | Blue diff --git a/Test/dafny0/MatchBraces.dfy.expect b/Test/dafny0/MatchBraces.dfy.expect index 88f6cf4f56e..4f89bff47e5 100644 --- a/Test/dafny0/MatchBraces.dfy.expect +++ b/Test/dafny0/MatchBraces.dfy.expect @@ -1,10 +1,2 @@ - -Dafny program verifier finished with 5 verified, 0 errors - -Dafny program verifier did not attempt verification -7 0.18 Color.Red 13 12 -11 98.0 Color.Green 14 115 - -Dafny program verifier did not attempt verification 7 0.18 Color.Red 13 12 11 98.0 Color.Green 14 115 diff --git a/Test/dafny0/MoForallCompilation.dfy b/Test/dafny0/MoForallCompilation.dfy index 835712edbce..af080853463 100644 --- a/Test/dafny0/MoForallCompilation.dfy +++ b/Test/dafny0/MoForallCompilation.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { TestAggregateArrayUpdate(); diff --git a/Test/dafny0/MoForallCompilation.dfy.expect b/Test/dafny0/MoForallCompilation.dfy.expect index c431c74c6aa..7bb606c1528 100644 --- a/Test/dafny0/MoForallCompilation.dfy.expect +++ b/Test/dafny0/MoForallCompilation.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 18 verified, 0 errors -4.0 -3.0 -2.0 -1.0 0.0 1.0 2.0 3.0 7.0 6.0 5.0 4.0 3.0 2.0 1.0 0.0 true true true true true true false false diff --git a/Test/dafny0/NameclashesCompile.dfy b/Test/dafny0/NameclashesCompile.dfy index 4d06065c675..46cae4b2338 100644 --- a/Test/dafny0/NameclashesCompile.dfy +++ b/Test/dafny0/NameclashesCompile.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var r0, r1; diff --git a/Test/dafny0/NameclashesCompile.dfy.expect b/Test/dafny0/NameclashesCompile.dfy.expect index 1434bb632f6..f001bdaeb1e 100644 --- a/Test/dafny0/NameclashesCompile.dfy.expect +++ b/Test/dafny0/NameclashesCompile.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 2 verified, 0 errors 15.0 15.1 94 99 0.8 14.3 14.4 18.9 18.92 diff --git a/Test/dafny0/NonZeroInitializationCompile.dfy b/Test/dafny0/NonZeroInitializationCompile.dfy index 48b61a39369..2fedae6d60d 100644 --- a/Test/dafny0/NonZeroInitializationCompile.dfy +++ b/Test/dafny0/NonZeroInitializationCompile.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment type MyInt = x | 6 <= x witness 6 newtype MyNewInt = x | 6 <= x witness 12 diff --git a/Test/dafny0/NonZeroInitializationCompile.dfy.expect b/Test/dafny0/NonZeroInitializationCompile.dfy.expect index 69539e473c2..2e20350afad 100644 --- a/Test/dafny0/NonZeroInitializationCompile.dfy.expect +++ b/Test/dafny0/NonZeroInitializationCompile.dfy.expect @@ -1,76 +1,3 @@ - -Dafny program verifier finished with 15 verified, 0 errors - -Dafny program verifier did not attempt verification -These are the arbitrary values chosen by the compiler: 6, 12 -short, short': 0, -35 -nes: {57} -f0, f1: (0, false), (29, true) -dt: Dt.Atom(-35) -cl { u: 12, x: 0, r: 3.14, nes: {57} } -cl' { u: 12, x: 0, ': 3.14, nes: {20, 57} } - -x: real :: 0.0 versus 0.0 -ch: char :: 'D' versus 'D' -s: set :: {} versus {} -d: Xt :: AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) versus AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) -y: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) -z: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) - -x: real :: 0.0 versus 0.0 -ch: char :: 'D' versus 'D' -s: set :: {} versus {} -d: Xt :: AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) versus AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) -y: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) -z: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) - -Dafny program verifier did not attempt verification -These are the arbitrary values chosen by the compiler: 6, 12 -short, short': 0, -35 -nes: {57} -f0, f1: (0, false), (29, true) -dt: Dt.Atom(-35) -cl { u: 12, x: 0, r: 3.14, nes: {57} } -cl' { u: 12, x: 0, ': 3.14, nes: {20, 57} } - -x: real :: 0.0 versus 0.0 -ch: char :: 'D' versus 'D' -s: set :: {} versus {} -d: Xt :: AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) versus AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) -y: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) -z: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) - -x: real :: 0.0 versus 0.0 -ch: char :: 'D' versus 'D' -s: set :: {} versus {} -d: Xt :: AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) versus AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) -y: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) -z: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) - -Dafny program verifier did not attempt verification -These are the arbitrary values chosen by the compiler: 6, 12 -short, short': 0, -35 -nes: {57} -f0, f1: (0, false), (29, true) -dt: Dt.Atom(-35) -cl { u: 12, x: 0, r: 3.14, nes: {57} } -cl' { u: 12, x: 0, ': 3.14, nes: {20, 57} } - -x: real :: 0.0 versus 0.0 -ch: char :: 'D' versus 'D' -s: set :: {} versus {} -d: Xt :: AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) versus AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) -y: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) -z: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) - -x: real :: 0.0 versus 0.0 -ch: char :: 'D' versus 'D' -s: set :: {} versus {} -d: Xt :: AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) versus AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) -y: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) -z: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) - -Dafny program verifier did not attempt verification These are the arbitrary values chosen by the compiler: 6, 12 short, short': 0, -35 nes: {57} diff --git a/Test/dafny0/NullComparisonWarnings.dfy b/Test/dafny0/NullComparisonWarnings.dfy index eb9183040bc..35fd5ffb3f4 100644 --- a/Test/dafny0/NullComparisonWarnings.dfy +++ b/Test/dafny0/NullComparisonWarnings.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { print "despite the warnings, the program still compiles\n"; diff --git a/Test/dafny0/NullComparisonWarnings.dfy.expect b/Test/dafny0/NullComparisonWarnings.dfy.expect index d8cf4a9960c..f2b4545fac7 100644 --- a/Test/dafny0/NullComparisonWarnings.dfy.expect +++ b/Test/dafny0/NullComparisonWarnings.dfy.expect @@ -1,14 +1 @@ -NullComparisonWarnings.dfy(27,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(28,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'y' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(29,14): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for field 'next' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(30,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(31,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'y' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(32,14): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for field 'next' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(34,12): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(37,12): Warning: the type of the other operand is a set of non-null elements, so the inclusion test of 'null' will always return 'false' -NullComparisonWarnings.dfy(38,12): Warning: the type of the other operand is a set of non-null elements, so the non-inclusion test of 'null' will always return 'true' -NullComparisonWarnings.dfy(40,41): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'u' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(45,12): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' - -Dafny program verifier finished with 4 verified, 0 errors despite the warnings, the program still compiles diff --git a/Test/dafny0/NullComparisonWarnings.dfy.verifier.expect b/Test/dafny0/NullComparisonWarnings.dfy.verifier.expect new file mode 100644 index 00000000000..24f9074ecc9 --- /dev/null +++ b/Test/dafny0/NullComparisonWarnings.dfy.verifier.expect @@ -0,0 +1,11 @@ +NullComparisonWarnings.dfy(26,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(27,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'y' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(28,14): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for field 'next' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(29,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(30,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'y' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(31,14): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for field 'next' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(33,12): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(36,12): Warning: the type of the other operand is a set of non-null elements, so the inclusion test of 'null' will always return 'false' +NullComparisonWarnings.dfy(37,12): Warning: the type of the other operand is a set of non-null elements, so the non-inclusion test of 'null' will always return 'true' +NullComparisonWarnings.dfy(39,41): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'u' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(44,12): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' diff --git a/Test/dafny0/PrintUTF8.dfy b/Test/dafny0/PrintUTF8.dfy index 5d4e376b19d..eff7baa32a9 100644 --- a/Test/dafny0/PrintUTF8.dfy +++ b/Test/dafny0/PrintUTF8.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { print "Mikaël fixed UTF8\n"; diff --git a/Test/dafny0/PrintUTF8.dfy.expect b/Test/dafny0/PrintUTF8.dfy.expect index 52a23e906cc..818549280d3 100644 --- a/Test/dafny0/PrintUTF8.dfy.expect +++ b/Test/dafny0/PrintUTF8.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors Mikaël fixed UTF8 diff --git a/Test/dafny0/RangeCompilation.dfy b/Test/dafny0/RangeCompilation.dfy index 53a8d6e33e5..3f3e6aed0f8 100644 --- a/Test/dafny0/RangeCompilation.dfy +++ b/Test/dafny0/RangeCompilation.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment newtype Byte = x | 0 <= x < 256 predicate GoodByte(b: Byte) { diff --git a/Test/dafny0/RangeCompilation.dfy.expect b/Test/dafny0/RangeCompilation.dfy.expect index 82fbbb9b698..9e0f9e5f028 100644 --- a/Test/dafny0/RangeCompilation.dfy.expect +++ b/Test/dafny0/RangeCompilation.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 4 verified, 0 errors b=2 i=4 diff --git a/Test/dafny0/SeqFromArray.dfy b/Test/dafny0/SeqFromArray.dfy index 6bab732c906..39f72303d18 100644 --- a/Test/dafny0/SeqFromArray.dfy +++ b/Test/dafny0/SeqFromArray.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // /autoTriggers:1 added to suppress instabilities diff --git a/Test/dafny0/SeqFromArray.dfy.expect b/Test/dafny0/SeqFromArray.dfy.expect index 1981561ca00..e69de29bb2d 100644 --- a/Test/dafny0/SeqFromArray.dfy.expect +++ b/Test/dafny0/SeqFromArray.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 10 verified, 0 errors diff --git a/Test/dafny0/SharedDestructorsCompile.dfy b/Test/dafny0/SharedDestructorsCompile.dfy index 8171cf72404..64d8b245b58 100644 --- a/Test/dafny0/SharedDestructorsCompile.dfy +++ b/Test/dafny0/SharedDestructorsCompile.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Dt = | A(x: int, y: real) diff --git a/Test/dafny0/SharedDestructorsCompile.dfy.expect b/Test/dafny0/SharedDestructorsCompile.dfy.expect index e037db03c40..060d152d77b 100644 --- a/Test/dafny0/SharedDestructorsCompile.dfy.expect +++ b/Test/dafny0/SharedDestructorsCompile.dfy.expect @@ -1,20 +1,3 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification -Dt.A(10, 12.0): x=10 y=12.0 -Dt.B(_module.MyClass, 6): h=_module.MyClass x=6 -Dt.C(3.14): y=3.14 -Dt.C(3.14) -Dt.A(71, 0.1) -Klef.C3(44, 100, 66, 200) -Datte.AA(10, 2) Datte.AA(10, 5) -Datte.BB(false, 12) Datte.BB(false, 6) -Datte.CC(3.2) Datte.CC(3.4) -Datte.DD(100, {7}, 5, 9.0) Datte.DD(30, {7}, 5, 9.0) -Datte.DD(100, {7}, 5, 9.0) Datte.DD(30, {7}, 5, 2.0) - -Dafny program verifier did not attempt verification Dt.A(10, 12.0): x=10 y=12.0 Dt.B(_module.MyClass, 6): h=_module.MyClass x=6 Dt.C(3.14): y=3.14 diff --git a/Test/dafny0/SiblingImports.dfy b/Test/dafny0/SiblingImports.dfy index 3fb01d9d1b8..756e4b253f3 100644 --- a/Test/dafny0/SiblingImports.dfy +++ b/Test/dafny0/SiblingImports.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { ClientA.Test(); diff --git a/Test/dafny0/SiblingImports.dfy.expect b/Test/dafny0/SiblingImports.dfy.expect index ba4df82a925..fb6171563ac 100644 --- a/Test/dafny0/SiblingImports.dfy.expect +++ b/Test/dafny0/SiblingImports.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors ClientA.Inner.Five: 5 ClientB.Inner.Five: 5 ClientC.Inner.Five: 5 diff --git a/Test/dafny0/TypeConversionsCompile.dfy b/Test/dafny0/TypeConversionsCompile.dfy index 2af24a392ca..585aca1e6c6 100644 --- a/Test/dafny0/TypeConversionsCompile.dfy +++ b/Test/dafny0/TypeConversionsCompile.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /env:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment newtype Handful = x | 0 <= x < 0x8000 // this type turns native newtype Abundance = y | -20 <= y < 0x200_0000_0000 // still fits inside a "long" diff --git a/Test/dafny0/TypeConversionsCompile.dfy.expect b/Test/dafny0/TypeConversionsCompile.dfy.expect index 893938a0226..78990cf4a30 100644 --- a/Test/dafny0/TypeConversionsCompile.dfy.expect +++ b/Test/dafny0/TypeConversionsCompile.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 8 verified, 0 errors 3 4 5.0 5 6 -1.0 147573952589676412927 4294967295 127 0 got 3, expected 3 got 0, expected 0 diff --git a/Test/dafny0/TypeMembers.dfy b/Test/dafny0/TypeMembers.dfy index 2ab57767ad5..f2bea4039c9 100644 --- a/Test/dafny0/TypeMembers.dfy +++ b/Test/dafny0/TypeMembers.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { BasicTests(); diff --git a/Test/dafny0/TypeMembers.dfy.expect b/Test/dafny0/TypeMembers.dfy.expect index 1d406ca85dc..923cb07e841 100644 --- a/Test/dafny0/TypeMembers.dfy.expect +++ b/Test/dafny0/TypeMembers.dfy.expect @@ -1,32 +1,3 @@ -TypeMembers.dfy(117,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect - -Dafny program verifier finished with 29 verified, 0 errors -TypeMembers.dfy(117,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect - -Dafny program verifier did not attempt verification -DaTy.Yes 10 26 -8 11 10 11 10 -35 10 14 -22 22 -9 Dt.Business(false, 5) -76 77 -19 -0 0 -19 82 83 -93 Co.Cobalt -27 27 -18 -11 18 18 22 -15 30 29 -95 11 -162 165 -11 18 18 3 -15 30 29 -95 11 -162 165 -TypeMembers.dfy(117,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect - -Dafny program verifier did not attempt verification DaTy.Yes 10 26 8 11 10 11 10 35 10 14 diff --git a/Test/dafny0/TypeMembers.dfy.verifier.expect b/Test/dafny0/TypeMembers.dfy.verifier.expect new file mode 100644 index 00000000000..62f55c943d2 --- /dev/null +++ b/Test/dafny0/TypeMembers.dfy.verifier.expect @@ -0,0 +1 @@ +TypeMembers.dfy(114,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect diff --git a/Test/dafny0/Wellfounded.dfy b/Test/dafny0/Wellfounded.dfy index 2ed488974c6..7ec2be06b38 100644 --- a/Test/dafny0/Wellfounded.dfy +++ b/Test/dafny0/Wellfounded.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var d := Int(10); diff --git a/Test/dafny0/Wellfounded.dfy.expect b/Test/dafny0/Wellfounded.dfy.expect index 73d7a1e7ca2..52742a67098 100644 --- a/Test/dafny0/Wellfounded.dfy.expect +++ b/Test/dafny0/Wellfounded.dfy.expect @@ -1,7 +1,3 @@ -Wellfounded.dfy(49,14): Warning: /!\ No terms found to trigger on. -Wellfounded.dfy(77,5): Warning: /!\ No terms found to trigger on. - -Dafny program verifier finished with 3 verified, 0 errors M(d, d) = 10 M(a1, d) = 10 M(a2, d) = 10 diff --git a/Test/dafny0/Wellfounded.dfy.verifier.expect b/Test/dafny0/Wellfounded.dfy.verifier.expect new file mode 100644 index 00000000000..e61f12f01b2 --- /dev/null +++ b/Test/dafny0/Wellfounded.dfy.verifier.expect @@ -0,0 +1,2 @@ +Wellfounded.dfy(48,14): Warning: /!\ No terms found to trigger on. +Wellfounded.dfy(76,5): Warning: /!\ No terms found to trigger on. diff --git a/Test/dafny2/MinWindowMax.dfy b/Test/dafny2/MinWindowMax.dfy index 71ccb539d7d..32342cdd8b9 100644 --- a/Test/dafny2/MinWindowMax.dfy +++ b/Test/dafny2/MinWindowMax.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Minimum window-max problem. // Rustan Leino diff --git a/Test/dafny2/MinWindowMax.dfy.expect b/Test/dafny2/MinWindowMax.dfy.expect index f6f6e52d9bc..1bb5609994e 100644 --- a/Test/dafny2/MinWindowMax.dfy.expect +++ b/Test/dafny2/MinWindowMax.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 12 verified, 0 errors Window size 1: min window-max is -5 Window size 2: min window-max is 2 Window size 3: min window-max is 3 diff --git a/Test/dafny2/SmallestMissingNumber-functional.dfy b/Test/dafny2/SmallestMissingNumber-functional.dfy index 047475c2680..a1544efab5f 100644 --- a/Test/dafny2/SmallestMissingNumber-functional.dfy +++ b/Test/dafny2/SmallestMissingNumber-functional.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Smallest missing number problem, functional version without duplicates. // A purely functional solution to the programming problem in Richard Bird's diff --git a/Test/dafny2/SmallestMissingNumber-functional.dfy.expect b/Test/dafny2/SmallestMissingNumber-functional.dfy.expect index 208b183ee3e..5d75da8ddd3 100644 --- a/Test/dafny2/SmallestMissingNumber-functional.dfy.expect +++ b/Test/dafny2/SmallestMissingNumber-functional.dfy.expect @@ -1,4 +1 @@ -SmallestMissingNumber-functional.dfy(213,11): Warning: /!\ No terms found to trigger on. - -Dafny program verifier finished with 21 verified, 0 errors 0 1 4 5 diff --git a/Test/dafny2/SmallestMissingNumber-functional.dfy.verifier.expect b/Test/dafny2/SmallestMissingNumber-functional.dfy.verifier.expect new file mode 100644 index 00000000000..cf10280f376 --- /dev/null +++ b/Test/dafny2/SmallestMissingNumber-functional.dfy.verifier.expect @@ -0,0 +1 @@ +SmallestMissingNumber-functional.dfy(212,11): Warning: /!\ No terms found to trigger on. diff --git a/Test/dafny2/SmallestMissingNumber-imperative.dfy b/Test/dafny2/SmallestMissingNumber-imperative.dfy index b8539481a54..314bf4e464c 100644 --- a/Test/dafny2/SmallestMissingNumber-imperative.dfy +++ b/Test/dafny2/SmallestMissingNumber-imperative.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Smallest missing number. // An imperative solution to the programming problem in Richard Bird's diff --git a/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect b/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect index bc4a868fdff..cfb25913041 100644 --- a/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect +++ b/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 8 verified, 0 errors 0 1 5 diff --git a/Test/dafny2/StoreAndRetrieve.dfy b/Test/dafny2/StoreAndRetrieve.dfy index 968b6948e0d..87b7bc78127 100644 --- a/Test/dafny2/StoreAndRetrieve.dfy +++ b/Test/dafny2/StoreAndRetrieve.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This file shows an example program that uses both refinement and :autocontracts // specify a class that stores a set of things that can be retrieved using a query. diff --git a/Test/dafny2/StoreAndRetrieve.dfy.expect b/Test/dafny2/StoreAndRetrieve.dfy.expect index 1d7d71d5202..030f5bfab39 100644 --- a/Test/dafny2/StoreAndRetrieve.dfy.expect +++ b/Test/dafny2/StoreAndRetrieve.dfy.expect @@ -1,39 +1 @@ -StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier finished with 19 verified, 0 errors -StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -20.3 -StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -20.3 -StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -20.3 -StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification 20.3 diff --git a/Test/dafny2/StoreAndRetrieve.dfy.verifier.expect b/Test/dafny2/StoreAndRetrieve.dfy.verifier.expect new file mode 100644 index 00000000000..0c3d269cdc1 --- /dev/null +++ b/Test/dafny2/StoreAndRetrieve.dfy.verifier.expect @@ -0,0 +1,5 @@ +StoreAndRetrieve.dfy(60,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(65,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(66,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(81,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(92,9): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny2/Z-BirthdayBook.dfy b/Test/dafny2/Z-BirthdayBook.dfy index d9580e7cca2..10fc159b1a3 100644 --- a/Test/dafny2/Z-BirthdayBook.dfy +++ b/Test/dafny2/Z-BirthdayBook.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // The birthday book example from the Z Reference Manual // Rustan Leino, 22 Feb 2018 diff --git a/Test/dafny2/Z-BirthdayBook.dfy.expect b/Test/dafny2/Z-BirthdayBook.dfy.expect index 31762ddd5b4..c6f2230e21a 100644 --- a/Test/dafny2/Z-BirthdayBook.dfy.expect +++ b/Test/dafny2/Z-BirthdayBook.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 21 verified, 0 errors Send cards to: {['M', 'i', 'k', 'e'], ['S', 'u', 's', 'a', 'n']} diff --git a/Test/dafny2/pq-intrinsic-extrinsic.dfy b/Test/dafny2/pq-intrinsic-extrinsic.dfy index c797c92445d..588c2f9e2b1 100644 --- a/Test/dafny2/pq-intrinsic-extrinsic.dfy +++ b/Test/dafny2/pq-intrinsic-extrinsic.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This file contains several versions of a priority queue implemented by Braun trees: // diff --git a/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect b/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect index bc2608f44b7..5c90c26e0eb 100644 --- a/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect +++ b/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect @@ -1,14 +1,3 @@ - -Dafny program verifier finished with 32 verified, 0 errors - -Dafny program verifier did not attempt verification -PriorityQueue_extrinsic: 3 -PriorityQueue_layered: 3 -PriorityQueue_intrinsic: 3 -PriorityQueue_on_intrinsic: 3 -PriorityQueue_direct: 3 - -Dafny program verifier did not attempt verification PriorityQueue_extrinsic: 3 PriorityQueue_layered: 3 PriorityQueue_intrinsic: 3 diff --git a/Test/dafny3/Abstemious.dfy b/Test/dafny3/Abstemious.dfy index 263c1f1fb00..62d891f950f 100644 --- a/Test/dafny3/Abstemious.dfy +++ b/Test/dafny3/Abstemious.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Examples from https://www.haskell.org/tutorial/functions.html diff --git a/Test/dafny3/Abstemious.dfy.expect b/Test/dafny3/Abstemious.dfy.expect index 96f109b0b58..3511a04a840 100644 --- a/Test/dafny3/Abstemious.dfy.expect +++ b/Test/dafny3/Abstemious.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 19 verified, 0 errors ones(): 1 1 1 1 1 1 1 ... from(3): 3 4 5 6 7 8 9 ... Map(plus1, ones()): 2 2 2 2 2 2 2 ... diff --git a/Test/dafny3/CachedContainer.dfy b/Test/dafny3/CachedContainer.dfy index 77c3e45897f..e36e76d6851 100644 --- a/Test/dafny3/CachedContainer.dfy +++ b/Test/dafny3/CachedContainer.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This file contains an example chain of module refinements, starting from a // simple interface M0 to an implementation M3. Module Client.Test() is diff --git a/Test/dafny3/CachedContainer.dfy.expect b/Test/dafny3/CachedContainer.dfy.expect index 08f4fb30b0a..ed2a587c3f1 100644 --- a/Test/dafny3/CachedContainer.dfy.expect +++ b/Test/dafny3/CachedContainer.dfy.expect @@ -1,79 +1 @@ -CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier finished with 29 verified, 0 errors -CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -false true false true -CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -false true false true -CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -false true false true -CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification false true false true diff --git a/Test/dafny3/CachedContainer.dfy.verifier.expect b/Test/dafny3/CachedContainer.dfy.verifier.expect new file mode 100644 index 00000000000..a037bc94ff6 --- /dev/null +++ b/Test/dafny3/CachedContainer.dfy.verifier.expect @@ -0,0 +1,13 @@ +CachedContainer.dfy(112,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(119,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(122,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(129,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(132,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(153,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(154,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(162,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(163,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(166,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(178,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(179,13): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny3/Iter.dfy b/Test/dafny3/Iter.dfy index 81431f2c64b..46befa24dd8 100644 --- a/Test/dafny3/Iter.dfy +++ b/Test/dafny3/Iter.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class List { ghost var Contents: seq diff --git a/Test/dafny3/Iter.dfy.expect b/Test/dafny3/Iter.dfy.expect index 69d7373d5d5..0ed11070541 100644 --- a/Test/dafny3/Iter.dfy.expect +++ b/Test/dafny3/Iter.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 12 verified, 0 errors 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 98 0 2 4 6 8 10 12 14 diff --git a/Test/dafny4/Ackermann.dfy b/Test/dafny4/Ackermann.dfy index 27968070e9b..a4ef351c96b 100644 --- a/Test/dafny4/Ackermann.dfy +++ b/Test/dafny4/Ackermann.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Rustan Leino, 8 Sep 2015. // This file proves that the Ackermann function is monotonic in each argument diff --git a/Test/dafny4/Ackermann.dfy.expect b/Test/dafny4/Ackermann.dfy.expect index c995dac9c9a..43d9513ef4b 100644 --- a/Test/dafny4/Ackermann.dfy.expect +++ b/Test/dafny4/Ackermann.dfy.expect @@ -1,5 +1 @@ -Ackermann.dfy(163,4): Warning: /!\ No terms found to trigger on. -Ackermann.dfy(181,4): Warning: /!\ No terms found to trigger on. - -Dafny program verifier finished with 14 verified, 0 errors Ack(3, 4) = 125 diff --git a/Test/dafny4/Ackermann.dfy.verifier.expect b/Test/dafny4/Ackermann.dfy.verifier.expect new file mode 100644 index 00000000000..b302e2b4daf --- /dev/null +++ b/Test/dafny4/Ackermann.dfy.verifier.expect @@ -0,0 +1,2 @@ +Ackermann.dfy(162,4): Warning: /!\ No terms found to trigger on. +Ackermann.dfy(180,4): Warning: /!\ No terms found to trigger on. diff --git a/Test/dafny4/Bug107.dfy b/Test/dafny4/Bug107.dfy index e417fc90a53..b7ab69c9a8d 100644 --- a/Test/dafny4/Bug107.dfy +++ b/Test/dafny4/Bug107.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/dafny4/Bug107.dfy.expect b/Test/dafny4/Bug107.dfy.expect index ad79213a18c..62f9457511f 100644 --- a/Test/dafny4/Bug107.dfy.expect +++ b/Test/dafny4/Bug107.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors 6 \ No newline at end of file diff --git a/Test/dafny4/Bug108.dfy b/Test/dafny4/Bug108.dfy index c64ec32a340..8228fe44f87 100644 --- a/Test/dafny4/Bug108.dfy +++ b/Test/dafny4/Bug108.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var A := map[0 := 1]; diff --git a/Test/dafny4/Bug108.dfy.expect b/Test/dafny4/Bug108.dfy.expect index c1c63f6c5c1..0777a01b26d 100644 --- a/Test/dafny4/Bug108.dfy.expect +++ b/Test/dafny4/Bug108.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 1 verified, 0 errors map[0 := 1] map[0 := 1] diff --git a/Test/dafny4/Bug113.dfy b/Test/dafny4/Bug113.dfy index 23c759540cd..0bec0c1ce31 100644 --- a/Test/dafny4/Bug113.dfy +++ b/Test/dafny4/Bug113.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype D = D(q:int, r:int, s:int, t:int) @@ -7,4 +6,4 @@ method Main() { print D(10, 20, 30, 40); print "\n"; -} \ No newline at end of file +} diff --git a/Test/dafny4/Bug113.dfy.expect b/Test/dafny4/Bug113.dfy.expect index 3ea1396ad00..e2eeff32e9a 100644 --- a/Test/dafny4/Bug113.dfy.expect +++ b/Test/dafny4/Bug113.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors D.D(10, 20, 30, 40) diff --git a/Test/dafny4/Bug116.dfy b/Test/dafny4/Bug116.dfy index e29da0f609d..501b74c74d5 100644 --- a/Test/dafny4/Bug116.dfy +++ b/Test/dafny4/Bug116.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // test various compiler-target keywords diff --git a/Test/dafny4/Bug116.dfy.expect b/Test/dafny4/Bug116.dfy.expect index 21aa85d71f0..93102ef3120 100644 --- a/Test/dafny4/Bug116.dfy.expect +++ b/Test/dafny4/Bug116.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors struct.S byte.arguments enum_Compile.goto.switch enum_Compile.goto.switch 20 + 20 == 40 diff --git a/Test/dafny4/Bug140.dfy b/Test/dafny4/Bug140.dfy index edde966c149..8280db8f665 100644 --- a/Test/dafny4/Bug140.dfy +++ b/Test/dafny4/Bug140.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class Node { ghost var List: seq diff --git a/Test/dafny4/Bug140.dfy.expect b/Test/dafny4/Bug140.dfy.expect index bad48de4d6b..a40ee1166fb 100644 --- a/Test/dafny4/Bug140.dfy.expect +++ b/Test/dafny4/Bug140.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 8 verified, 0 errors 1 2 diff --git a/Test/dafny4/Bug148.dfy b/Test/dafny4/Bug148.dfy index da1ebf99447..f31cef2cdc8 100644 --- a/Test/dafny4/Bug148.dfy +++ b/Test/dafny4/Bug148.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/dafny4/Bug148.dfy.expect b/Test/dafny4/Bug148.dfy.expect index 79d02517ceb..9ed6ca4768b 100644 --- a/Test/dafny4/Bug148.dfy.expect +++ b/Test/dafny4/Bug148.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 0 verified, 0 errors true false true diff --git a/Test/dafny4/Bug49.dfy b/Test/dafny4/Bug49.dfy index 68722830422..868f4a3964b 100644 --- a/Test/dafny4/Bug49.dfy +++ b/Test/dafny4/Bug49.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/dafny4/Bug49.dfy.expect b/Test/dafny4/Bug49.dfy.expect index 4e02a08bbee..800c2bd15ba 100644 --- a/Test/dafny4/Bug49.dfy.expect +++ b/Test/dafny4/Bug49.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 13 verified, 0 errors 6 6 5 diff --git a/Test/dafny4/Bug60.dfy b/Test/dafny4/Bug60.dfy index 0aa9209269d..f4585753f5f 100644 --- a/Test/dafny4/Bug60.dfy +++ b/Test/dafny4/Bug60.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This method can be used to test compilation. method Main() diff --git a/Test/dafny4/Bug60.dfy.expect b/Test/dafny4/Bug60.dfy.expect index 49740e95682..fd56dc3fcbc 100644 --- a/Test/dafny4/Bug60.dfy.expect +++ b/Test/dafny4/Bug60.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 0 verified, 0 errors ({2, 3}, map[2 := 20, 3 := 30]) (2, 2) {2, 3} diff --git a/Test/dafny4/Bug67.dfy b/Test/dafny4/Bug67.dfy index 731018a293b..f01d4239a75 100644 --- a/Test/dafny4/Bug67.dfy +++ b/Test/dafny4/Bug67.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype d = D(m:seq) @@ -8,4 +7,4 @@ method Main() assert D([10, 20]) == D([10, 20]); // succeeds print [10, 20] == [10, 20], "\n"; // prints True print D([10, 20]) == D([10, 20]); // prints False -} \ No newline at end of file +} diff --git a/Test/dafny4/Bug67.dfy.expect b/Test/dafny4/Bug67.dfy.expect index c716cab3144..0be5d980da4 100644 --- a/Test/dafny4/Bug67.dfy.expect +++ b/Test/dafny4/Bug67.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 1 verified, 0 errors true true \ No newline at end of file diff --git a/Test/dafny4/Bug68.dfy b/Test/dafny4/Bug68.dfy index a211206acba..bf50015f90c 100644 --- a/Test/dafny4/Bug68.dfy +++ b/Test/dafny4/Bug68.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method M1() { @@ -62,4 +61,4 @@ method Main() M3(); M3'(); M4(); -} \ No newline at end of file +} diff --git a/Test/dafny4/Bug68.dfy.expect b/Test/dafny4/Bug68.dfy.expect index f4ef534187d..814ccfee2df 100644 --- a/Test/dafny4/Bug68.dfy.expect +++ b/Test/dafny4/Bug68.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 8 verified, 0 errors true true true diff --git a/Test/dafny4/Bug89.dfy b/Test/dafny4/Bug89.dfy index 4aec1acb8b7..c7b77b44f99 100644 --- a/Test/dafny4/Bug89.dfy +++ b/Test/dafny4/Bug89.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method F() returns(x:int) ensures x == 6 diff --git a/Test/dafny4/Bug89.dfy.expect b/Test/dafny4/Bug89.dfy.expect index ed41c274352..62f9457511f 100644 --- a/Test/dafny4/Bug89.dfy.expect +++ b/Test/dafny4/Bug89.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors 6 \ No newline at end of file diff --git a/Test/dafny4/Bug94.dfy b/Test/dafny4/Bug94.dfy index be931445654..c41458539fc 100644 --- a/Test/dafny4/Bug94.dfy +++ b/Test/dafny4/Bug94.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment ghost function foo() : (int, int) { diff --git a/Test/dafny4/Bug94.dfy.expect b/Test/dafny4/Bug94.dfy.expect index ab0cfbb2d9e..3f10ffe7a4c 100644 --- a/Test/dafny4/Bug94.dfy.expect +++ b/Test/dafny4/Bug94.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors 15 \ No newline at end of file diff --git a/Test/dafny4/ClassRefinement.dfy b/Test/dafny4/ClassRefinement.dfy index 320749ec197..3d5fd1006eb 100644 --- a/Test/dafny4/ClassRefinement.dfy +++ b/Test/dafny4/ClassRefinement.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment abstract module M0 { class Counter { diff --git a/Test/dafny4/ClassRefinement.dfy.expect b/Test/dafny4/ClassRefinement.dfy.expect index f456b6777f3..cba3471eb57 100644 --- a/Test/dafny4/ClassRefinement.dfy.expect +++ b/Test/dafny4/ClassRefinement.dfy.expect @@ -1,44 +1 @@ -ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated -ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier finished with 11 verified, 0 errors -ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated -ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -2 1 -ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated -ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -2 1 -ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated -ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -2 1 -ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated -ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification 2 1 diff --git a/Test/dafny4/ClassRefinement.dfy.verifier.expect b/Test/dafny4/ClassRefinement.dfy.verifier.expect new file mode 100644 index 00000000000..543e77303b5 --- /dev/null +++ b/Test/dafny4/ClassRefinement.dfy.verifier.expect @@ -0,0 +1,6 @@ +ClassRefinement.dfy(68,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(69,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(74,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(75,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(77,6): Warning: the modify statement with a block statement is deprecated +ClassRefinement.dfy(78,13): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny4/ExpandedGuardedness.dfy b/Test/dafny4/ExpandedGuardedness.dfy index 5cd7828f932..af620ec40e8 100644 --- a/Test/dafny4/ExpandedGuardedness.dfy +++ b/Test/dafny4/ExpandedGuardedness.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/dafny4/ExpandedGuardedness.dfy.expect b/Test/dafny4/ExpandedGuardedness.dfy.expect index d05670701e0..e0f3b041a66 100644 --- a/Test/dafny4/ExpandedGuardedness.dfy.expect +++ b/Test/dafny4/ExpandedGuardedness.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 12 verified, 0 errors Up 19 20 21 22 23 Up2 19 20 21 22 23 UpIf 19 20 22 24 26 diff --git a/Test/dafny4/FlyingRobots.dfy b/Test/dafny4/FlyingRobots.dfy index 41223cca1aa..f14a2a467cd 100644 --- a/Test/dafny4/FlyingRobots.dfy +++ b/Test/dafny4/FlyingRobots.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // The flying robots examples from an F* tutorial. It demonstrates how to specify // mutable data structures in the heap. diff --git a/Test/dafny4/FlyingRobots.dfy.expect b/Test/dafny4/FlyingRobots.dfy.expect index 5ed0d97333e..e69de29bb2d 100644 --- a/Test/dafny4/FlyingRobots.dfy.expect +++ b/Test/dafny4/FlyingRobots.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 31 verified, 0 errors diff --git a/Test/dafny4/Leq.dfy b/Test/dafny4/Leq.dfy index fac12757ba0..fdbc1078ca3 100644 --- a/Test/dafny4/Leq.dfy +++ b/Test/dafny4/Leq.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Rustan Leino, 22 Sep 2015. // This file considers two definitions of Leq on naturals+infinity. One diff --git a/Test/dafny4/Leq.dfy.expect b/Test/dafny4/Leq.dfy.expect index 15301952c57..e69de29bb2d 100644 --- a/Test/dafny4/Leq.dfy.expect +++ b/Test/dafny4/Leq.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 16 verified, 0 errors diff --git a/Test/dafny4/McCarthy91.dfy b/Test/dafny4/McCarthy91.dfy index 466d30328cc..428f11eb269 100644 --- a/Test/dafny4/McCarthy91.dfy +++ b/Test/dafny4/McCarthy91.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // The usual recursive method for computing McCarthy's 91 function method Main() { diff --git a/Test/dafny4/McCarthy91.dfy.expect b/Test/dafny4/McCarthy91.dfy.expect index b63f7a0b03b..1511cff2c81 100644 --- a/Test/dafny4/McCarthy91.dfy.expect +++ b/Test/dafny4/McCarthy91.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors M(3) = 91 M(99) = 91 M(100) = 91 diff --git a/Test/dafny4/NatList.dfy b/Test/dafny4/NatList.dfy index 567fd461259..5a1b0358eaf 100644 --- a/Test/dafny4/NatList.dfy +++ b/Test/dafny4/NatList.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This file tests some programs where "nat" is a type parameter to // a datatype. diff --git a/Test/dafny4/NatList.dfy.expect b/Test/dafny4/NatList.dfy.expect index 2ceb3169787..5382a29cb9f 100644 --- a/Test/dafny4/NatList.dfy.expect +++ b/Test/dafny4/NatList.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 11 verified, 0 errors ns = List.Cons(4, List.Cons(10, List.Nil)) Sum(ns) = 14 ns' = List.Cons(20, List.Nil) diff --git a/Test/dafny4/Regression15.dfy b/Test/dafny4/Regression15.dfy index 37f31ba7e90..5ecb5ee4e2b 100644 --- a/Test/dafny4/Regression15.dfy +++ b/Test/dafny4/Regression15.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var b; diff --git a/Test/dafny4/Regression15.dfy.expect b/Test/dafny4/Regression15.dfy.expect index 584190727b9..4cf7b8a8eb1 100644 --- a/Test/dafny4/Regression15.dfy.expect +++ b/Test/dafny4/Regression15.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 3 verified, 0 errors false true true diff --git a/Test/dafny4/Regression2.dfy b/Test/dafny4/Regression2.dfy index 213bf265401..0d28285e74c 100644 --- a/Test/dafny4/Regression2.dfy +++ b/Test/dafny4/Regression2.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module NativeTypes { newtype uint64 = int diff --git a/Test/dafny4/Regression2.dfy.expect b/Test/dafny4/Regression2.dfy.expect index 3f8ac383f86..8a739fb435a 100644 --- a/Test/dafny4/Regression2.dfy.expect +++ b/Test/dafny4/Regression2.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors true true true diff --git a/Test/dafny4/Regression3.dfy b/Test/dafny4/Regression3.dfy index adaa0d2763d..fc60fad3cb1 100644 --- a/Test/dafny4/Regression3.dfy +++ b/Test/dafny4/Regression3.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/dafny4/Regression3.dfy.expect b/Test/dafny4/Regression3.dfy.expect index 841338987c7..1223bf9ffaf 100644 --- a/Test/dafny4/Regression3.dfy.expect +++ b/Test/dafny4/Regression3.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 3 verified, 0 errors 55 Trunc( -3.0 ) = -3 (expected -3) Trunc( -2.8 ) = -3 (expected -3) diff --git a/Test/dafny4/Regression4.dfy b/Test/dafny4/Regression4.dfy index 5f881a5083f..e4bc4cbef85 100644 --- a/Test/dafny4/Regression4.dfy +++ b/Test/dafny4/Regression4.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { } diff --git a/Test/dafny4/Regression4.dfy.expect b/Test/dafny4/Regression4.dfy.expect index ba00363fc08..e69de29bb2d 100644 --- a/Test/dafny4/Regression4.dfy.expect +++ b/Test/dafny4/Regression4.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 4 verified, 0 errors diff --git a/Test/dafny4/Regression6.dfy b/Test/dafny4/Regression6.dfy index f1551d3ef2d..b589ec0ce7d 100644 --- a/Test/dafny4/Regression6.dfy +++ b/Test/dafny4/Regression6.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function Sum(a: array, lo: int, hi: int): int requires 0 <= lo <= hi <= a.Length diff --git a/Test/dafny4/Regression6.dfy.expect b/Test/dafny4/Regression6.dfy.expect index 17464f29e0b..54573bead10 100644 --- a/Test/dafny4/Regression6.dfy.expect +++ b/Test/dafny4/Regression6.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors 0 1028 0 diff --git a/Test/dafny4/Regression7.dfy b/Test/dafny4/Regression7.dfy index 8ce421a62f3..ef3ca5eea44 100644 --- a/Test/dafny4/Regression7.dfy +++ b/Test/dafny4/Regression7.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /rprint:"%t.rprint" /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module ListLibrary { datatype List = Nil | Cons(head: B, tail: List) diff --git a/Test/dafny4/Regression7.dfy.expect b/Test/dafny4/Regression7.dfy.expect index 19e63b05225..70b01f973a0 100644 --- a/Test/dafny4/Regression7.dfy.expect +++ b/Test/dafny4/Regression7.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors ListLibrary_Compile.List.Cons(28.0, ListLibrary_Compile.List.Nil) diff --git a/Test/dafny4/Regression9.dfy b/Test/dafny4/Regression9.dfy index d9e44547252..086007a3ef8 100644 --- a/Test/dafny4/Regression9.dfy +++ b/Test/dafny4/Regression9.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Some tests for the type inference that was revamped // to better support subset types. diff --git a/Test/dafny4/Regression9.dfy.expect b/Test/dafny4/Regression9.dfy.expect index 5a26eaeabfb..2183b22cfa9 100644 --- a/Test/dafny4/Regression9.dfy.expect +++ b/Test/dafny4/Regression9.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors 'D''D''D' diff --git a/Test/dafny4/UnionFind.dfy b/Test/dafny4/UnionFind.dfy index 1968d0d3b26..e862fb64e64 100644 --- a/Test/dafny4/UnionFind.dfy +++ b/Test/dafny4/UnionFind.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Rustan Leino, Nov 2015 // Module M0 gives the high-level specification of the UnionFind data structure diff --git a/Test/dafny4/UnionFind.dfy.expect b/Test/dafny4/UnionFind.dfy.expect index 961b161b8dc..1cb72129e49 100644 --- a/Test/dafny4/UnionFind.dfy.expect +++ b/Test/dafny4/UnionFind.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 63 verified, 0 errors false true true false true true diff --git a/Test/dafny4/gcd.dfy b/Test/dafny4/gcd.dfy index 384e338435f..fa92223fa49 100644 --- a/Test/dafny4/gcd.dfy +++ b/Test/dafny4/gcd.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation // A text describing this file is found in a Dafny Power User note: http://leino.science/papers/krml279.html diff --git a/Test/dafny4/gcd.dfy.expect b/Test/dafny4/gcd.dfy.expect index ecbe2b6f64a..c17551a37a4 100644 --- a/Test/dafny4/gcd.dfy.expect +++ b/Test/dafny4/gcd.dfy.expect @@ -1,34 +1,3 @@ - -Dafny program verifier finished with 19 verified, 0 errors - -Dafny program verifier did not attempt verification -15 gcd 9 = 3 -14 gcd 22 = 2 -371 gcd 1 = 1 -1 gcd 2 = 1 -1 gcd 1 = 1 -13 gcd 13 = 13 -60 gcd 60 = 60 - -Dafny program verifier did not attempt verification -15 gcd 9 = 3 -14 gcd 22 = 2 -371 gcd 1 = 1 -1 gcd 2 = 1 -1 gcd 1 = 1 -13 gcd 13 = 13 -60 gcd 60 = 60 - -Dafny program verifier did not attempt verification -15 gcd 9 = 3 -14 gcd 22 = 2 -371 gcd 1 = 1 -1 gcd 2 = 1 -1 gcd 1 = 1 -13 gcd 13 = 13 -60 gcd 60 = 60 - -Dafny program verifier did not attempt verification 15 gcd 9 = 3 14 gcd 22 = 2 371 gcd 1 = 1 diff --git a/Test/dafny4/git-issue104.dfy b/Test/dafny4/git-issue104.dfy index 86683a2ed88..b05ec4de1cc 100644 --- a/Test/dafny4/git-issue104.dfy +++ b/Test/dafny4/git-issue104.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment predicate bug(a: array) reads a diff --git a/Test/dafny4/git-issue104.dfy.expect b/Test/dafny4/git-issue104.dfy.expect index f572edb2471..836a5934c8f 100644 --- a/Test/dafny4/git-issue104.dfy.expect +++ b/Test/dafny4/git-issue104.dfy.expect @@ -1,17 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification -true false - -Dafny program verifier did not attempt verification -true false - -Dafny program verifier did not attempt verification -true false - -Dafny program verifier did not attempt verification -true false - -Dafny program verifier did not attempt verification true false diff --git a/Test/dafny4/git-issue105.dfy b/Test/dafny4/git-issue105.dfy index 09cfce29a6e..4cff2330cba 100644 --- a/Test/dafny4/git-issue105.dfy +++ b/Test/dafny4/git-issue105.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method lol() returns (c: int) { diff --git a/Test/dafny4/git-issue105.dfy.expect b/Test/dafny4/git-issue105.dfy.expect index 012f5b99379..e69de29bb2d 100644 --- a/Test/dafny4/git-issue105.dfy.expect +++ b/Test/dafny4/git-issue105.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/dafny4/git-issue15.dfy b/Test/dafny4/git-issue15.dfy index 96905286209..7c77a67ccf9 100755 --- a/Test/dafny4/git-issue15.dfy +++ b/Test/dafny4/git-issue15.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype obj = Obj(fooBar:map) datatype foo = Foo diff --git a/Test/dafny4/git-issue15.dfy.expect b/Test/dafny4/git-issue15.dfy.expect index e52de78d0b1..00750edc07d 100755 --- a/Test/dafny4/git-issue15.dfy.expect +++ b/Test/dafny4/git-issue15.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors 3 diff --git a/Test/dafny4/git-issue167.dfy b/Test/dafny4/git-issue167.dfy index d02943dc42d..d98d425c345 100644 --- a/Test/dafny4/git-issue167.dfy +++ b/Test/dafny4/git-issue167.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { LetTest(); diff --git a/Test/dafny4/git-issue167.dfy.expect b/Test/dafny4/git-issue167.dfy.expect index 0a230fe846e..8c5e1ed8df7 100644 --- a/Test/dafny4/git-issue167.dfy.expect +++ b/Test/dafny4/git-issue167.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 4 verified, 0 errors 30 {6, 7} {['M', 'i', 'l', 'l', 'a'], ['A', 'l', 'f', 'o', 'n', 's']} diff --git a/Test/dafny4/git-issue195.dfy b/Test/dafny4/git-issue195.dfy index ac4b1306ac6..fccdc5461c8 100644 --- a/Test/dafny4/git-issue195.dfy +++ b/Test/dafny4/git-issue195.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Block = Block(prevBlockHash:Hash, txs:seq, proof:VProof) diff --git a/Test/dafny4/git-issue195.dfy.expect b/Test/dafny4/git-issue195.dfy.expect index 30692fdef2a..638bfb50b2d 100644 --- a/Test/dafny4/git-issue195.dfy.expect +++ b/Test/dafny4/git-issue195.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 4 verified, 0 errors true true true true true diff --git a/Test/dafny4/git-issue196.dfy b/Test/dafny4/git-issue196.dfy index 64eb0e9123f..056687ab1a5 100644 --- a/Test/dafny4/git-issue196.dfy +++ b/Test/dafny4/git-issue196.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class A { var a: array> diff --git a/Test/dafny4/git-issue196.dfy.expect b/Test/dafny4/git-issue196.dfy.expect index a333f982b8f..ee25a2c5027 100644 --- a/Test/dafny4/git-issue196.dfy.expect +++ b/Test/dafny4/git-issue196.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 9 verified, 0 errors 42 42 42 5000 5000 5000 5000 5000 diff --git a/Test/dafny4/git-issue4.dfy b/Test/dafny4/git-issue4.dfy index b19cf3ce6df..b17a545e219 100644 --- a/Test/dafny4/git-issue4.dfy +++ b/Test/dafny4/git-issue4.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function IntToChar(i:int):char requires 0 <= i < 10 diff --git a/Test/dafny4/git-issue4.dfy.expect b/Test/dafny4/git-issue4.dfy.expect index 33af1e040b7..24e24eb63cc 100644 --- a/Test/dafny4/git-issue4.dfy.expect +++ b/Test/dafny4/git-issue4.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors '8' 8 '8' 56 56 diff --git a/Test/dafny4/git-issue43.dfy b/Test/dafny4/git-issue43.dfy index edf056a1a91..d320d7761bc 100644 --- a/Test/dafny4/git-issue43.dfy +++ b/Test/dafny4/git-issue43.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class System { } diff --git a/Test/dafny4/git-issue43.dfy.expect b/Test/dafny4/git-issue43.dfy.expect index 012f5b99379..e69de29bb2d 100644 --- a/Test/dafny4/git-issue43.dfy.expect +++ b/Test/dafny4/git-issue43.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/dafny4/git-issue70.dfy b/Test/dafny4/git-issue70.dfy index c8db7c9618d..3a3a01e0af7 100644 --- a/Test/dafny4/git-issue70.dfy +++ b/Test/dafny4/git-issue70.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/dafny4/git-issue70.dfy.expect b/Test/dafny4/git-issue70.dfy.expect index 526e9a5b349..36ede89b639 100644 --- a/Test/dafny4/git-issue70.dfy.expect +++ b/Test/dafny4/git-issue70.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 3 verified, 0 errors map test {4, 6} {5, 7} diff --git a/Test/dafny4/git-issue76.dfy b/Test/dafny4/git-issue76.dfy index 708ee911b24..85613dba2f2 100644 --- a/Test/dafny4/git-issue76.dfy +++ b/Test/dafny4/git-issue76.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { M0(); diff --git a/Test/dafny4/git-issue76.dfy.expect b/Test/dafny4/git-issue76.dfy.expect index 546da03a267..0cfbf08886f 100644 --- a/Test/dafny4/git-issue76.dfy.expect +++ b/Test/dafny4/git-issue76.dfy.expect @@ -1,8 +1 @@ - -Dafny program verifier finished with 7 verified, 0 errors - -Dafny program verifier did not attempt verification -2 - -Dafny program verifier did not attempt verification 2 diff --git a/Test/dafny4/git-issue79.dfy b/Test/dafny4/git-issue79.dfy index 046a7c5e375..f3fb17b8531 100644 --- a/Test/dafny4/git-issue79.dfy +++ b/Test/dafny4/git-issue79.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype EInt = Int(val: int) | Unknown type Pair = (string, EInt) diff --git a/Test/dafny4/git-issue79.dfy.expect b/Test/dafny4/git-issue79.dfy.expect index 012f5b99379..e69de29bb2d 100644 --- a/Test/dafny4/git-issue79.dfy.expect +++ b/Test/dafny4/git-issue79.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/dafny4/git-issue88.dfy b/Test/dafny4/git-issue88.dfy index 1c188333783..83c0b4a8ef9 100644 --- a/Test/dafny4/git-issue88.dfy +++ b/Test/dafny4/git-issue88.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment type Grid = array2 diff --git a/Test/dafny4/git-issue88.dfy.expect b/Test/dafny4/git-issue88.dfy.expect index 00a51f822da..e69de29bb2d 100644 --- a/Test/dafny4/git-issue88.dfy.expect +++ b/Test/dafny4/git-issue88.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 3 verified, 0 errors diff --git a/Test/exceptions/Exceptions1.dfy b/Test/exceptions/Exceptions1.dfy index 11bb2f7923d..4ffd3291f2f 100644 --- a/Test/exceptions/Exceptions1.dfy +++ b/Test/exceptions/Exceptions1.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" /rprint:"%t.rprint" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "./NatOutcome.dfy" include "./VoidOutcome.dfy" diff --git a/Test/exceptions/Exceptions1.dfy.expect b/Test/exceptions/Exceptions1.dfy.expect index e61be2a11ad..c87eb938c55 100644 --- a/Test/exceptions/Exceptions1.dfy.expect +++ b/Test/exceptions/Exceptions1.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 7 verified, 0 errors true_true_true_88_42_33_Success=100 ___VoidSuccess true_true_false_88_42_Failure diff --git a/Test/exceptions/Exceptions1Expressions.dfy b/Test/exceptions/Exceptions1Expressions.dfy index c0f3c67cd39..a57e5b78c7e 100644 --- a/Test/exceptions/Exceptions1Expressions.dfy +++ b/Test/exceptions/Exceptions1Expressions.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" /rprint:"%t.rprint" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "./NatOutcomeDt.dfy" include "./VoidOutcomeDt.dfy" diff --git a/Test/exceptions/Exceptions1Expressions.dfy.expect b/Test/exceptions/Exceptions1Expressions.dfy.expect index 3da30f30d36..3f1b38ab150 100644 --- a/Test/exceptions/Exceptions1Expressions.dfy.expect +++ b/Test/exceptions/Exceptions1Expressions.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors true_true_true_Success=100 VoidSuccess true_true_false_Failure diff --git a/Test/exports/FIFO.dfy b/Test/exports/FIFO.dfy index 173e412eaa9..95a8d25510c 100644 --- a/Test/exports/FIFO.dfy +++ b/Test/exports/FIFO.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "Queue.dfyi" diff --git a/Test/exports/FIFO.dfy.expect b/Test/exports/FIFO.dfy.expect index 8350309cc2a..4539bbf2d22 100644 --- a/Test/exports/FIFO.dfy.expect +++ b/Test/exports/FIFO.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors 0 1 2 diff --git a/Test/exports/LIFO.dfy b/Test/exports/LIFO.dfy index ea691935620..513dd457c3f 100644 --- a/Test/exports/LIFO.dfy +++ b/Test/exports/LIFO.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "Queue.dfyi" diff --git a/Test/exports/LIFO.dfy.expect b/Test/exports/LIFO.dfy.expect index 48aa7787d09..ae136939b64 100644 --- a/Test/exports/LIFO.dfy.expect +++ b/Test/exports/LIFO.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors 2 1 0 diff --git a/Test/exports/xrefine2.dfy b/Test/exports/xrefine2.dfy index 0b25240916c..2409cc0509a 100644 --- a/Test/exports/xrefine2.dfy +++ b/Test/exports/xrefine2.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module ProtocolImpl { diff --git a/Test/exports/xrefine2.dfy.expect b/Test/exports/xrefine2.dfy.expect index 34e1b357779..858dbd09862 100644 --- a/Test/exports/xrefine2.dfy.expect +++ b/Test/exports/xrefine2.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 4 verified, 0 errors HI.foo(h1) => true HI.foo(h2) => true PI.orange(1) => 2 diff --git a/Test/exports/xrefine3.dfy b/Test/exports/xrefine3.dfy index 24d6fa062f0..bb2480bfed7 100644 --- a/Test/exports/xrefine3.dfy +++ b/Test/exports/xrefine3.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module AlphaImpl { diff --git a/Test/exports/xrefine3.dfy.expect b/Test/exports/xrefine3.dfy.expect index 488ab11c36a..ae50cef0985 100644 --- a/Test/exports/xrefine3.dfy.expect +++ b/Test/exports/xrefine3.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors o hai! diff --git a/Test/git-issues/git-issue-032.dfy b/Test/git-issues/git-issue-032.dfy index bde5b2f2a69..d7dd61440a7 100644 --- a/Test/git-issues/git-issue-032.dfy +++ b/Test/git-issues/git-issue-032.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/git-issues/git-issue-032.dfy.expect b/Test/git-issues/git-issue-032.dfy.expect index 91c285009c1..2a64997c6f7 100644 --- a/Test/git-issues/git-issue-032.dfy.expect +++ b/Test/git-issues/git-issue-032.dfy.expect @@ -1,40 +1,3 @@ -git-issue-032.dfy(18,35): Warning: this branch is redundant -git-issue-032.dfy(27,34): Warning: this branch is redundant -git-issue-032.dfy(28,35): Warning: this branch is redundant - -Dafny program verifier finished with 1 verified, 0 errors -git-issue-032.dfy(18,35): Warning: this branch is redundant -git-issue-032.dfy(27,34): Warning: this branch is redundant -git-issue-032.dfy(28,35): Warning: this branch is redundant - -Dafny program verifier did not attempt verification -OK3 -OK -OKOK -00 -git-issue-032.dfy(18,35): Warning: this branch is redundant -git-issue-032.dfy(27,34): Warning: this branch is redundant -git-issue-032.dfy(28,35): Warning: this branch is redundant - -Dafny program verifier did not attempt verification -OK3 -OK -OKOK -00 -git-issue-032.dfy(18,35): Warning: this branch is redundant -git-issue-032.dfy(27,34): Warning: this branch is redundant -git-issue-032.dfy(28,35): Warning: this branch is redundant - -Dafny program verifier did not attempt verification -OK3 -OK -OKOK -00 -git-issue-032.dfy(18,35): Warning: this branch is redundant -git-issue-032.dfy(27,34): Warning: this branch is redundant -git-issue-032.dfy(28,35): Warning: this branch is redundant - -Dafny program verifier did not attempt verification OK3 OK OKOK diff --git a/Test/git-issues/git-issue-032.dfy.verifier.expect b/Test/git-issues/git-issue-032.dfy.verifier.expect new file mode 100644 index 00000000000..1878351db97 --- /dev/null +++ b/Test/git-issues/git-issue-032.dfy.verifier.expect @@ -0,0 +1,3 @@ +git-issue-032.dfy(13,35): Warning: this branch is redundant +git-issue-032.dfy(22,34): Warning: this branch is redundant +git-issue-032.dfy(23,35): Warning: this branch is redundant diff --git a/Test/git-issues/git-issue-1029.dfy b/Test/git-issues/git-issue-1029.dfy index a310a99c169..7e1e7a31cf2 100644 --- a/Test/git-issues/git-issue-1029.dfy +++ b/Test/git-issues/git-issue-1029.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module ValueType { export S diff --git a/Test/git-issues/git-issue-1029.dfy.expect b/Test/git-issues/git-issue-1029.dfy.expect index 075fcd93aed..f603f618f29 100644 --- a/Test/git-issues/git-issue-1029.dfy.expect +++ b/Test/git-issues/git-issue-1029.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors [true, true, false] UI_Compile.Op2.GetOps([true, true, false], [true, true, false]) diff --git a/Test/git-issues/git-issue-1093.dfy b/Test/git-issues/git-issue-1093.dfy index 9365397496f..97797296680 100644 --- a/Test/git-issues/git-issue-1093.dfy +++ b/Test/git-issues/git-issue-1093.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { UnusedLabel(); diff --git a/Test/git-issues/git-issue-1093.dfy.expect b/Test/git-issues/git-issue-1093.dfy.expect index 0cadf5e4199..f599e28b8ab 100644 --- a/Test/git-issues/git-issue-1093.dfy.expect +++ b/Test/git-issues/git-issue-1093.dfy.expect @@ -1,17 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification -10 - -Dafny program verifier did not attempt verification -10 - -Dafny program verifier did not attempt verification -10 - -Dafny program verifier did not attempt verification -10 - -Dafny program verifier did not attempt verification 10 diff --git a/Test/git-issues/git-issue-1100.dfy b/Test/git-issues/git-issue-1100.dfy index 533d7688731..2c4bb564136 100644 --- a/Test/git-issues/git-issue-1100.dfy +++ b/Test/git-issues/git-issue-1100.dfy @@ -1,4 +1,3 @@ -// RUN: %dafny /compile:3 /unicodeChar:0 /compileTarget:cpp %S/../c++/arrays.dfy > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false /Users/salkeldr/Documents/GitHub/dafny/Test/git-issues/../c++/arrays.dfy // Test compilation of a file in another directory diff --git a/Test/git-issues/git-issue-1100.dfy.expect b/Test/git-issues/git-issue-1100.dfy.expect index 552f9355593..2ce9320d8c2 100644 --- a/Test/git-issues/git-issue-1100.dfy.expect +++ b/Test/git-issues/git-issue-1100.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 9 verified, 0 errors 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/git-issues/git-issue-1130.dfy b/Test/git-issues/git-issue-1130.dfy index 5b7fc5068e2..f1f5ad5a54b 100644 --- a/Test/git-issues/git-issue-1130.dfy +++ b/Test/git-issues/git-issue-1130.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var a := new Issue.Foo(); diff --git a/Test/git-issues/git-issue-1130.dfy.expect b/Test/git-issues/git-issue-1130.dfy.expect index 6c3dd07b1f1..de97a6dc4ca 100644 --- a/Test/git-issues/git-issue-1130.dfy.expect +++ b/Test/git-issues/git-issue-1130.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 13 verified, 0 errors 012 diff --git a/Test/git-issues/git-issue-1150.dfy b/Test/git-issues/git-issue-1150.dfy index d4cee3c3ef2..d3416a53813 100644 --- a/Test/git-issues/git-issue-1150.dfy +++ b/Test/git-issues/git-issue-1150.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Foo = Foo(x: nat) { diff --git a/Test/git-issues/git-issue-1150.dfy.expect b/Test/git-issues/git-issue-1150.dfy.expect index fb4be1897cf..f34d8df4a11 100644 --- a/Test/git-issues/git-issue-1150.dfy.expect +++ b/Test/git-issues/git-issue-1150.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 1 verified, 0 errors Foo.Foo(2) true Foo.Foo(5) false diff --git a/Test/git-issues/git-issue-1185.dfy b/Test/git-issues/git-issue-1185.dfy index 32c340b0736..c7ad72134d1 100644 --- a/Test/git-issues/git-issue-1185.dfy +++ b/Test/git-issues/git-issue-1185.dfy @@ -1,9 +1,5 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment predicate P(s: set) requires s != {} diff --git a/Test/git-issues/git-issue-1185.dfy.expect b/Test/git-issues/git-issue-1185.dfy.expect index 90ab58a1f5a..525ce875525 100644 --- a/Test/git-issues/git-issue-1185.dfy.expect +++ b/Test/git-issues/git-issue-1185.dfy.expect @@ -1,14 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification -{12, 20} true 6 - -Dafny program verifier did not attempt verification -{20, 12} true 6 - -Dafny program verifier did not attempt verification -{12, 20} true 6 - -Dafny program verifier did not attempt verification {12, 20} true 6 diff --git a/Test/git-issues/git-issue-1185.dfy.java.expect b/Test/git-issues/git-issue-1185.dfy.java.expect new file mode 100644 index 00000000000..8ba669ad273 --- /dev/null +++ b/Test/git-issues/git-issue-1185.dfy.java.expect @@ -0,0 +1 @@ +{20, 12} true 6 diff --git a/Test/git-issues/git-issue-1514.dfy b/Test/git-issues/git-issue-1514.dfy index 74b75478609..816eadce69b 100644 --- a/Test/git-issues/git-issue-1514.dfy +++ b/Test/git-issues/git-issue-1514.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "Wrappers.dfy" import opened Wrappers diff --git a/Test/git-issues/git-issue-1514.dfy.expect b/Test/git-issues/git-issue-1514.dfy.expect index 2f22d47cee8..b5754e20373 100644 --- a/Test/git-issues/git-issue-1514.dfy.expect +++ b/Test/git-issues/git-issue-1514.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-1514b.dfy b/Test/git-issues/git-issue-1514b.dfy index 1d8cd122d28..050a4a71760 100644 --- a/Test/git-issues/git-issue-1514b.dfy +++ b/Test/git-issues/git-issue-1514b.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "Wrappers.dfy" import opened Wrappers diff --git a/Test/git-issues/git-issue-1514b.dfy.expect b/Test/git-issues/git-issue-1514b.dfy.expect index 2f22d47cee8..b5754e20373 100644 --- a/Test/git-issues/git-issue-1514b.dfy.expect +++ b/Test/git-issues/git-issue-1514b.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-1514c.dfy b/Test/git-issues/git-issue-1514c.dfy index d9df7d108c1..578316f217c 100644 --- a/Test/git-issues/git-issue-1514c.dfy +++ b/Test/git-issues/git-issue-1514c.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "Wrappers.dfy" import opened Wrappers diff --git a/Test/git-issues/git-issue-1514c.dfy.expect b/Test/git-issues/git-issue-1514c.dfy.expect index 694254c28aa..9766475a418 100644 --- a/Test/git-issues/git-issue-1514c.dfy.expect +++ b/Test/git-issues/git-issue-1514c.dfy.expect @@ -1,8 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification -ok - -Dafny program verifier did not attempt verification ok diff --git a/Test/git-issues/git-issue-1553.dfy b/Test/git-issues/git-issue-1553.dfy index 6267018c92d..81cbef7aa7e 100644 --- a/Test/git-issues/git-issue-1553.dfy +++ b/Test/git-issues/git-issue-1553.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { } method Test() { diff --git a/Test/git-issues/git-issue-1553.dfy.expect b/Test/git-issues/git-issue-1553.dfy.expect index 65d3b5d6635..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-1553.dfy.expect +++ b/Test/git-issues/git-issue-1553.dfy.expect @@ -1,10 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-1604b.dfy b/Test/git-issues/git-issue-1604b.dfy index 497ee5017d5..d7c4169ec60 100644 --- a/Test/git-issues/git-issue-1604b.dfy +++ b/Test/git-issues/git-issue-1604b.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /errorLimit:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --error-limit:0 --relax-definite-assignment // Double constraints. Will this still work? diff --git a/Test/git-issues/git-issue-1604b.dfy.expect b/Test/git-issues/git-issue-1604b.dfy.expect index 93d7203e654..b5754e20373 100644 --- a/Test/git-issues/git-issue-1604b.dfy.expect +++ b/Test/git-issues/git-issue-1604b.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 5 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-1714.dfy b/Test/git-issues/git-issue-1714.dfy index 6ce8915a7af..540a41c39cb 100644 --- a/Test/git-issues/git-issue-1714.dfy +++ b/Test/git-issues/git-issue-1714.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait Base {} class Derived extends Base { var n: int constructor() { n := 0; } } diff --git a/Test/git-issues/git-issue-1714.dfy.expect b/Test/git-issues/git-issue-1714.dfy.expect index 67dd7d95642..88039063d09 100644 --- a/Test/git-issues/git-issue-1714.dfy.expect +++ b/Test/git-issues/git-issue-1714.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors (b as Derived).n == 0 diff --git a/Test/git-issues/git-issue-179.dfy b/Test/git-issues/git-issue-179.dfy index 283a04f1a68..d37d3048490 100644 --- a/Test/git-issues/git-issue-179.dfy +++ b/Test/git-issues/git-issue-179.dfy @@ -1,9 +1,5 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var mp: map; diff --git a/Test/git-issues/git-issue-179.dfy.expect b/Test/git-issues/git-issue-179.dfy.expect index 3f922ac5bd4..97cb7aa6c7a 100644 --- a/Test/git-issues/git-issue-179.dfy.expect +++ b/Test/git-issues/git-issue-179.dfy.expect @@ -1,26 +1,4 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification {(3, false), (4, true), (5, false)} {3, 4, 5} {false, true} true false true false - -Dafny program verifier did not attempt verification -{(5, false), (4, true), (3, false)} -{5, 4, 3} -{false, true} -true false true false - -Dafny program verifier did not attempt verification -{(5, false), (4, true), (3, false)} -{5, 4, 3} -{false, true} -true false true false - -Dafny program verifier did not attempt verification -{(5, false), (3, false), (4, true)} -{3, 4, 5} -{false, true} -true false true false diff --git a/Test/git-issues/git-issue-179.dfy.go.expect b/Test/git-issues/git-issue-179.dfy.go.expect new file mode 100644 index 00000000000..3b6c1b2603f --- /dev/null +++ b/Test/git-issues/git-issue-179.dfy.go.expect @@ -0,0 +1,4 @@ +{(5, false), (4, true), (3, false)} +{5, 4, 3} +{false, true} +true false true false diff --git a/Test/git-issues/git-issue-179.dfy.java.expect b/Test/git-issues/git-issue-179.dfy.java.expect new file mode 100644 index 00000000000..ebe17288dfd --- /dev/null +++ b/Test/git-issues/git-issue-179.dfy.java.expect @@ -0,0 +1,4 @@ +{(5, false), (3, false), (4, true)} +{3, 4, 5} +{false, true} +true false true false diff --git a/Test/git-issues/git-issue-179.dfy.js.expect b/Test/git-issues/git-issue-179.dfy.js.expect new file mode 100644 index 00000000000..3b6c1b2603f --- /dev/null +++ b/Test/git-issues/git-issue-179.dfy.js.expect @@ -0,0 +1,4 @@ +{(5, false), (4, true), (3, false)} +{5, 4, 3} +{false, true} +true false true false diff --git a/Test/git-issues/git-issue-1815a.dfy b/Test/git-issues/git-issue-1815a.dfy index 91fb7a32aa6..72d55a1cb4f 100644 --- a/Test/git-issues/git-issue-1815a.dfy +++ b/Test/git-issues/git-issue-1815a.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Dt<+U> = Dt(x: U, i: int) diff --git a/Test/git-issues/git-issue-1815a.dfy.expect b/Test/git-issues/git-issue-1815a.dfy.expect index 7b2651302d9..19f86f493ab 100644 --- a/Test/git-issues/git-issue-1815a.dfy.expect +++ b/Test/git-issues/git-issue-1815a.dfy.expect @@ -1,17 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification -done - -Dafny program verifier did not attempt verification -done - -Dafny program verifier did not attempt verification -done - -Dafny program verifier did not attempt verification -done - -Dafny program verifier did not attempt verification done diff --git a/Test/git-issues/git-issue-1852.dfy b/Test/git-issues/git-issue-1852.dfy index 516835e8ea8..046f3fca1fc 100644 --- a/Test/git-issues/git-issue-1852.dfy +++ b/Test/git-issues/git-issue-1852.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module A { export diff --git a/Test/git-issues/git-issue-1852.dfy.expect b/Test/git-issues/git-issue-1852.dfy.expect index e9cd0ea2e07..299a71f3fe4 100644 --- a/Test/git-issues/git-issue-1852.dfy.expect +++ b/Test/git-issues/git-issue-1852.dfy.expect @@ -1,8 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification -5 5 - -Dafny program verifier did not attempt verification 5 5 diff --git a/Test/git-issues/git-issue-1903.dfy b/Test/git-issues/git-issue-1903.dfy index 7edb2a46c61..60ee1c121ab 100644 --- a/Test/git-issues/git-issue-1903.dfy +++ b/Test/git-issues/git-issue-1903.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method g(x : seq := []) { diff --git a/Test/git-issues/git-issue-1903.dfy.expect b/Test/git-issues/git-issue-1903.dfy.expect index 3170fb0c7f2..84cc8d360f9 100644 --- a/Test/git-issues/git-issue-1903.dfy.expect +++ b/Test/git-issues/git-issue-1903.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors worked! diff --git a/Test/git-issues/git-issue-1909.dfy b/Test/git-issues/git-issue-1909.dfy index 7fb5b3b8c48..83d9ec1d785 100644 --- a/Test/git-issues/git-issue-1909.dfy +++ b/Test/git-issues/git-issue-1909.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype ABC = ABC(nameonly a: int, nameonly b: int, nameonly c: int) diff --git a/Test/git-issues/git-issue-1909.dfy.expect b/Test/git-issues/git-issue-1909.dfy.expect index b4eb7e7774e..ab6f7d69d36 100644 --- a/Test/git-issues/git-issue-1909.dfy.expect +++ b/Test/git-issues/git-issue-1909.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors ABC.ABC(19, 21, 23) ABC.ABC(19, 42, 23) ABC.ABC(100, 42, 90) diff --git a/Test/git-issues/git-issue-2013.dfy b/Test/git-issues/git-issue-2013.dfy index d1d3e15880e..1f3962988ee 100644 --- a/Test/git-issues/git-issue-2013.dfy +++ b/Test/git-issues/git-issue-2013.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/git-issues/git-issue-2013.dfy.expect b/Test/git-issues/git-issue-2013.dfy.expect index bbf7e59b073..2cf9744efb3 100644 --- a/Test/git-issues/git-issue-2013.dfy.expect +++ b/Test/git-issues/git-issue-2013.dfy.expect @@ -1,55 +1,3 @@ - -Dafny program verifier finished with 12 verified, 0 errors - -Dafny program verifier did not attempt verification -16 -16 -12 30 30 -Result.Success(8) Result.Failure(_module.MyClassException) -{100} {100} {100} -{MoreTests_Compile.C} {MoreTests_Compile.C} {MoreTests_Compile.C} -100 100 100 -MoreTests_Compile.C MoreTests_Compile.C MoreTests_Compile.C -Conveyance_Compile.NonVariantResult.NVSuccess(Conveyance_Compile.Car) Conveyance_Compile.CovariantResult.CVSuccess(Conveyance_Compile.Car) -Regression_mM_Compile.Stream.Next - -Dafny program verifier did not attempt verification -16 -16 -12 30 30 -Result.Success(8) Result.Failure(_module.MyClassException) -{100} {100} {100} -{MoreTests_Compile.C} {MoreTests_Compile.C} {MoreTests_Compile.C} -100 100 100 -MoreTests_Compile.C MoreTests_Compile.C MoreTests_Compile.C -Conveyance_Compile.NonVariantResult.NVSuccess(Conveyance_Compile.Car) Conveyance_Compile.CovariantResult.CVSuccess(Conveyance_Compile.Car) -Regression_mM_Compile.Stream.Next - -Dafny program verifier did not attempt verification -16 -16 -12 30 30 -Result.Success(8) Result.Failure(_module.MyClassException) -{100} {100} {100} -{MoreTests_Compile.C} {MoreTests_Compile.C} {MoreTests_Compile.C} -100 100 100 -MoreTests_Compile.C MoreTests_Compile.C MoreTests_Compile.C -Conveyance_Compile.NonVariantResult.NVSuccess(Conveyance_Compile.Car) Conveyance_Compile.CovariantResult.CVSuccess(Conveyance_Compile.Car) -Regression_mM_Compile.Stream.Next - -Dafny program verifier did not attempt verification -16 -16 -12 30 30 -Result.Success(8) Result.Failure(_module.MyClassException) -{100} {100} {100} -{MoreTests_Compile.C} {MoreTests_Compile.C} {MoreTests_Compile.C} -100 100 100 -MoreTests_Compile.C MoreTests_Compile.C MoreTests_Compile.C -Conveyance_Compile.NonVariantResult.NVSuccess(Conveyance_Compile.Car) Conveyance_Compile.CovariantResult.CVSuccess(Conveyance_Compile.Car) -Regression_mM_Compile.Stream.Next - -Dafny program verifier did not attempt verification 16 16 12 30 30 diff --git a/Test/git-issues/git-issue-2441.dfy b/Test/git-issues/git-issue-2441.dfy index bc9c8721ee2..4179ecc87bc 100644 --- a/Test/git-issues/git-issue-2441.dfy +++ b/Test/git-issues/git-issue-2441.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype A = A(B: B) datatype B = X diff --git a/Test/git-issues/git-issue-2441.dfy.expect b/Test/git-issues/git-issue-2441.dfy.expect index 0c3f603d584..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-2441.dfy.expect +++ b/Test/git-issues/git-issue-2441.dfy.expect @@ -1,6 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-2510.dfy b/Test/git-issues/git-issue-2510.dfy index 22ef8e47058..11ee2877bb3 100644 --- a/Test/git-issues/git-issue-2510.dfy +++ b/Test/git-issues/git-issue-2510.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:4 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /// Check that the compiler accepts `:- assume {:axiom} …`. diff --git a/Test/git-issues/git-issue-2510.dfy.expect b/Test/git-issues/git-issue-2510.dfy.expect index b341a39a78d..56a6051ca2b 100644 --- a/Test/git-issues/git-issue-2510.dfy.expect +++ b/Test/git-issues/git-issue-2510.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors 1 \ No newline at end of file diff --git a/Test/git-issues/git-issue-258.dfy b/Test/git-issues/git-issue-258.dfy index dbc437cebbc..e6a5ef2248d 100644 --- a/Test/git-issues/git-issue-258.dfy +++ b/Test/git-issues/git-issue-258.dfy @@ -1,9 +1,5 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /compile:3 /unicodeChar:0 /spillTargetCode:3 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /compile:3 /unicodeChar:0 /spillTargetCode:3 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /compile:3 /unicodeChar:0 /spillTargetCode:3 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /compile:3 /unicodeChar:0 /spillTargetCode:3 /compileTarget:go "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false method pr(s: seq) { print s, "\n"; diff --git a/Test/git-issues/git-issue-258.dfy.expect b/Test/git-issues/git-issue-258.dfy.expect index 8cf196174b8..31b98032806 100644 --- a/Test/git-issues/git-issue-258.dfy.expect +++ b/Test/git-issues/git-issue-258.dfy.expect @@ -1,83 +1,10 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier finished with 1 verified, 0 errors -hi -hi - - -HI! -hi - -HI! - -[23, 45] -[23, 45] -[] -[] -abcabc -abcabc -abcdef -abcdef - - -[1, 2, 3, 4] -[1, 2, 3, 4] - -Dafny program verifier finished with 1 verified, 0 errors -hi -hi - - -HI! -hi - -HI! - -[23, 45] -[23, 45] -[] -[] -abcabc -abcabc -abcdef -abcdef - - -[1, 2, 3, 4] -[1, 2, 3, 4] - -Dafny program verifier finished with 1 verified, 0 errors hi hi HI! hi -[] -HI! - -[23, 45] -[23, 45] -[] -[] -abcabc -abcabc -abcdef -abcdef - - -[1, 2, 3, 4] -[1, 2, 3, 4] - -Dafny program verifier finished with 1 verified, 0 errors -hi -hi - -HI! -hi -[] HI! [23, 45] diff --git a/Test/git-issues/git-issue-258.dfy.go.expect b/Test/git-issues/git-issue-258.dfy.go.expect new file mode 100644 index 00000000000..2745afdf6e1 --- /dev/null +++ b/Test/git-issues/git-issue-258.dfy.go.expect @@ -0,0 +1,21 @@ +hi +hi + + +HI! +hi +[] +HI! + +[23, 45] +[23, 45] +[] +[] +abcabc +abcabc +abcdef +abcdef + + +[1, 2, 3, 4] +[1, 2, 3, 4] diff --git a/Test/git-issues/git-issue-258.dfy.js.expect b/Test/git-issues/git-issue-258.dfy.js.expect new file mode 100644 index 00000000000..2745afdf6e1 --- /dev/null +++ b/Test/git-issues/git-issue-258.dfy.js.expect @@ -0,0 +1,21 @@ +hi +hi + + +HI! +hi +[] +HI! + +[23, 45] +[23, 45] +[] +[] +abcabc +abcabc +abcdef +abcdef + + +[1, 2, 3, 4] +[1, 2, 3, 4] diff --git a/Test/git-issues/git-issue-2608.dfy b/Test/git-issues/git-issue-2608.dfy index 459c9ffbf94..c606177f94f 100644 --- a/Test/git-issues/git-issue-2608.dfy +++ b/Test/git-issues/git-issue-2608.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /compileTarget:js "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method GetNext(i: int) returns (j: int, possible: bool) { if i == 1 { diff --git a/Test/git-issues/git-issue-2608.dfy.expect b/Test/git-issues/git-issue-2608.dfy.expect index dce7ba1814a..d9ed583f710 100644 --- a/Test/git-issues/git-issue-2608.dfy.expect +++ b/Test/git-issues/git-issue-2608.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors 82411246231944714271214 \ No newline at end of file diff --git a/Test/git-issues/git-issue-262.dfy b/Test/git-issues/git-issue-262.dfy index 2c00ad94a39..22d9a31b2fe 100644 --- a/Test/git-issues/git-issue-262.dfy +++ b/Test/git-issues/git-issue-262.dfy @@ -1,8 +1,5 @@ -// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" -// RUN: %dafny /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function tst(x: nat): nat { x + 1 diff --git a/Test/git-issues/git-issue-262.dfy.expect b/Test/git-issues/git-issue-262.dfy.expect index 76af42cd4a3..41d8cd55158 100644 --- a/Test/git-issues/git-issue-262.dfy.expect +++ b/Test/git-issues/git-issue-262.dfy.expect @@ -1,20 +1,2 @@ - -Dafny program verifier finished with 2 verified, 0 errors System.Func`2[System.Numerics.BigInteger,System.Numerics.BigInteger] System.Func`2[System.Numerics.BigInteger,System.Numerics.BigInteger] - -Dafny program verifier finished with 2 verified, 0 errors -tst(x) { - return (x).plus(_dafny.ONE); - } -tst(x) { - return (x).plus(_dafny.ONE); - } - -Dafny program verifier finished with 2 verified, 0 errors -func(dafny.Int) dafny.Int -func(dafny.Int) dafny.Int - -Dafny program verifier finished with 2 verified, 0 errors -Function -Function diff --git a/Test/git-issues/git-issue-262.dfy.go.expect b/Test/git-issues/git-issue-262.dfy.go.expect new file mode 100644 index 00000000000..578754c176c --- /dev/null +++ b/Test/git-issues/git-issue-262.dfy.go.expect @@ -0,0 +1,2 @@ +func(dafny.Int) dafny.Int +func(dafny.Int) dafny.Int diff --git a/Test/git-issues/git-issue-262.dfy.java.expect b/Test/git-issues/git-issue-262.dfy.java.expect new file mode 100644 index 00000000000..aa5478ef8c9 --- /dev/null +++ b/Test/git-issues/git-issue-262.dfy.java.expect @@ -0,0 +1,2 @@ +Function +Function diff --git a/Test/git-issues/git-issue-262.dfy.js.expect b/Test/git-issues/git-issue-262.dfy.js.expect new file mode 100644 index 00000000000..e181ef2fef8 --- /dev/null +++ b/Test/git-issues/git-issue-262.dfy.js.expect @@ -0,0 +1,6 @@ +tst(x) { + return (x).plus(_dafny.ONE); + } +tst(x) { + return (x).plus(_dafny.ONE); + } diff --git a/Test/git-issues/git-issue-267.dfy b/Test/git-issues/git-issue-267.dfy index cef2fcc6c17..2b0b3281589 100644 --- a/Test/git-issues/git-issue-267.dfy +++ b/Test/git-issues/git-issue-267.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var c := 1; diff --git a/Test/git-issues/git-issue-267.dfy.expect b/Test/git-issues/git-issue-267.dfy.expect index d71aef2f440..cd7da05e3d2 100644 --- a/Test/git-issues/git-issue-267.dfy.expect +++ b/Test/git-issues/git-issue-267.dfy.expect @@ -1,14 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification -210 - -Dafny program verifier did not attempt verification -210 - -Dafny program verifier did not attempt verification -210 - -Dafny program verifier did not attempt verification 210 diff --git a/Test/git-issues/git-issue-2672.dfy b/Test/git-issues/git-issue-2672.dfy index 338299ee8b7..52c5b9c638c 100644 --- a/Test/git-issues/git-issue-2672.dfy +++ b/Test/git-issues/git-issue-2672.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment newtype sreal = r: real | r > -4 as real newtype sint = r: int | r > -4 as int diff --git a/Test/git-issues/git-issue-2672.dfy.expect b/Test/git-issues/git-issue-2672.dfy.expect index c9c3244b6f4..43440a83d53 100644 --- a/Test/git-issues/git-issue-2672.dfy.expect +++ b/Test/git-issues/git-issue-2672.dfy.expect @@ -1,47 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors - -Dafny program verifier did not attempt verification -true true true true true true true true true true -false false false false false false false false false false -false false false false false false false false false false -true true true true true true true true true true -true true true true true true true true true true -false false false false false false false false false false -true true true -false false false - -Dafny program verifier did not attempt verification -true true true true true true true true true true -false false false false false false false false false false -false false false false false false false false false false -true true true true true true true true true true -true true true true true true true true true true -false false false false false false false false false false -true true true -false false false - -Dafny program verifier did not attempt verification -true true true true true true true true true true -false false false false false false false false false false -false false false false false false false false false false -true true true true true true true true true true -true true true true true true true true true true -false false false false false false false false false false -true true true -false false false - -Dafny program verifier did not attempt verification -true true true true true true true true true true -false false false false false false false false false false -false false false false false false false false false false -true true true true true true true true true true -true true true true true true true true true true -false false false false false false false false false false -true true true -false false false - -Dafny program verifier did not attempt verification true true true true true true true true true true false false false false false false false false false false false false false false false false false false false false diff --git a/Test/git-issues/git-issue-2726a.dfy b/Test/git-issues/git-issue-2726a.dfy index 641fefbbdc4..a43d5dd0107 100644 --- a/Test/git-issues/git-issue-2726a.dfy +++ b/Test/git-issues/git-issue-2726a.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /compileTarget:cs "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment const digits := ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"] diff --git a/Test/git-issues/git-issue-2726a.dfy.expect b/Test/git-issues/git-issue-2726a.dfy.expect index 6985935c88c..8e1bedb2a64 100644 --- a/Test/git-issues/git-issue-2726a.dfy.expect +++ b/Test/git-issues/git-issue-2726a.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors 4 42 422 diff --git a/Test/git-issues/git-issue-2733.dfy b/Test/git-issues/git-issue-2733.dfy index 232eab3cc74..65bc2b991fd 100644 --- a/Test/git-issues/git-issue-2733.dfy +++ b/Test/git-issues/git-issue-2733.dfy @@ -1,11 +1,4 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cpp "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false method Main() { print "XYZ"; // Checks that no extra newline is added to the output diff --git a/Test/git-issues/git-issue-2733.dfy.expect b/Test/git-issues/git-issue-2733.dfy.expect index b139e2f3d58..77bf25132db 100644 --- a/Test/git-issues/git-issue-2733.dfy.expect +++ b/Test/git-issues/git-issue-2733.dfy.expect @@ -1,15 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification -XYZ -Dafny program verifier did not attempt verification -XYZ -Dafny program verifier did not attempt verification -XYZ -Dafny program verifier did not attempt verification -XYZ -Dafny program verifier did not attempt verification -XYZ -Dafny program verifier did not attempt verification XYZ \ No newline at end of file diff --git a/Test/git-issues/git-issue-2792.dfy b/Test/git-issues/git-issue-2792.dfy index 89e736667c0..d2fb9db2055 100644 --- a/Test/git-issues/git-issue-2792.dfy +++ b/Test/git-issues/git-issue-2792.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /compileTarget:java "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Wrapper = Wrapper(s: seq) { diff --git a/Test/git-issues/git-issue-2792.dfy.expect b/Test/git-issues/git-issue-2792.dfy.expect index c1e603c58fe..ca1683c3020 100644 --- a/Test/git-issues/git-issue-2792.dfy.expect +++ b/Test/git-issues/git-issue-2792.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors [] Wrapper2.Wrapper2([], 2792) diff --git a/Test/git-issues/git-issue-283.dfy b/Test/git-issues/git-issue-283.dfy index c7c10f4aea3..1ca6d48d32c 100644 --- a/Test/git-issues/git-issue-283.dfy +++ b/Test/git-issues/git-issue-283.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Result = | Success(value: T) diff --git a/Test/git-issues/git-issue-283.dfy.expect b/Test/git-issues/git-issue-283.dfy.expect index 2adb114b8a0..a965a70ed4e 100644 --- a/Test/git-issues/git-issue-283.dfy.expect +++ b/Test/git-issues/git-issue-283.dfy.expect @@ -1,14 +1 @@ - -Dafny program verifier finished with 9 verified, 0 errors - -Dafny program verifier did not attempt verification -Done - -Dafny program verifier did not attempt verification -Done - -Dafny program verifier did not attempt verification -Done - -Dafny program verifier did not attempt verification Done diff --git a/Test/git-issues/git-issue-283d.dfy b/Test/git-issues/git-issue-283d.dfy index 54ee58fb456..46c1056d5e1 100644 --- a/Test/git-issues/git-issue-283d.dfy +++ b/Test/git-issues/git-issue-283d.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Foo = R(v: int) diff --git a/Test/git-issues/git-issue-283d.dfy.expect b/Test/git-issues/git-issue-283d.dfy.expect index 8da23be5c8c..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-283d.dfy.expect +++ b/Test/git-issues/git-issue-283d.dfy.expect @@ -1,10 +0,0 @@ - -Dafny program verifier finished with 4 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-314.dfy b/Test/git-issues/git-issue-314.dfy index 5e3e93ca654..a7fc06564a5 100644 --- a/Test/git-issues/git-issue-314.dfy +++ b/Test/git-issues/git-issue-314.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype S = S(G: array) datatype T = T(F: array, ghost Repr: set) diff --git a/Test/git-issues/git-issue-314.dfy.expect b/Test/git-issues/git-issue-314.dfy.expect index f02fc57989a..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-314.dfy.expect +++ b/Test/git-issues/git-issue-314.dfy.expect @@ -1,10 +0,0 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-332.dfy b/Test/git-issues/git-issue-332.dfy index ca2b08f3e8d..5166441405d 100644 --- a/Test/git-issues/git-issue-332.dfy +++ b/Test/git-issues/git-issue-332.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var foo := new B.Foo(15); diff --git a/Test/git-issues/git-issue-332.dfy.expect b/Test/git-issues/git-issue-332.dfy.expect index 57cad39addf..209e3ef4b62 100644 --- a/Test/git-issues/git-issue-332.dfy.expect +++ b/Test/git-issues/git-issue-332.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 6 verified, 0 errors 20 diff --git a/Test/git-issues/git-issue-354.dfy b/Test/git-issues/git-issue-354.dfy index 5938c2f71ae..c3d63021209 100644 --- a/Test/git-issues/git-issue-354.dfy +++ b/Test/git-issues/git-issue-354.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class C { static const u: X diff --git a/Test/git-issues/git-issue-354.dfy.expect b/Test/git-issues/git-issue-354.dfy.expect index cb5ae21dc46..4368562357f 100644 --- a/Test/git-issues/git-issue-354.dfy.expect +++ b/Test/git-issues/git-issue-354.dfy.expect @@ -1,25 +1,3 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification -0 -0 -0.0 -false - -Dafny program verifier did not attempt verification -0 -0 -0.0 -false - -Dafny program verifier did not attempt verification -0 -0 -0.0 -false - -Dafny program verifier did not attempt verification 0 0 0.0 diff --git a/Test/git-issues/git-issue-356.dfy b/Test/git-issues/git-issue-356.dfy index f5c34b0803b..2d497c0531c 100644 --- a/Test/git-issues/git-issue-356.dfy +++ b/Test/git-issues/git-issue-356.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false module M { type Tx = i: int | 0 <= i <= 100 diff --git a/Test/git-issues/git-issue-356.dfy.expect b/Test/git-issues/git-issue-356.dfy.expect index cff4ed233e1..9d984ec4ef4 100644 --- a/Test/git-issues/git-issue-356.dfy.expect +++ b/Test/git-issues/git-issue-356.dfy.expect @@ -1,39 +1,3 @@ - -Dafny program verifier finished with 25 verified, 0 errors - -Dafny program verifier did not attempt verification -a d 57005 * * -Z 90 90.0 90 90 -* 42 42.0 42 42 -F 70 70.0 70 70 -# 35 35.0 35 35 -END - -Dafny program verifier did not attempt verification -a d 57005 * * -Z 90 90.0 90 90 -* 42 42.0 42 42 -F 70 70.0 70 70 -# 35 35.0 35 35 -END - -Dafny program verifier did not attempt verification -a d 57005 * * -Z 90 90.0 90 90 -* 42 42.0 42 42 -F 70 70.0 70 70 -# 35 35.0 35 35 -END - -Dafny program verifier did not attempt verification -a d 57005 * * -Z 90 90.0 90 90 -* 42 42.0 42 42 -F 70 70.0 70 70 -# 35 35.0 35 35 -END - -Dafny program verifier did not attempt verification a d 57005 * * Z 90 90.0 90 90 * 42 42.0 42 42 diff --git a/Test/git-issues/git-issue-364.dfy b/Test/git-issues/git-issue-364.dfy index 0fdedc7d9c0..68c75931746 100644 --- a/Test/git-issues/git-issue-364.dfy +++ b/Test/git-issues/git-issue-364.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype NatOutcome = | Success(value: nat) diff --git a/Test/git-issues/git-issue-364.dfy.expect b/Test/git-issues/git-issue-364.dfy.expect index 1368349d437..38478c6c688 100644 --- a/Test/git-issues/git-issue-364.dfy.expect +++ b/Test/git-issues/git-issue-364.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 4 verified, 0 errors NatOutcome.Success(55) false 55 12 0 NatOutcome.Failure("it could be worse") true NatOutcome.Failure("it could be worse") diff --git a/Test/git-issues/git-issue-374.dfy b/Test/git-issues/git-issue-374.dfy index 4c031b7d3ff..15b56ec6396 100644 --- a/Test/git-issues/git-issue-374.dfy +++ b/Test/git-issues/git-issue-374.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class C { constructor(ghost x: int) diff --git a/Test/git-issues/git-issue-374.dfy.expect b/Test/git-issues/git-issue-374.dfy.expect index f02fc57989a..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-374.dfy.expect +++ b/Test/git-issues/git-issue-374.dfy.expect @@ -1,10 +0,0 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-396.dfy b/Test/git-issues/git-issue-396.dfy index 2ab68e51e12..7866d3d0498 100644 --- a/Test/git-issues/git-issue-396.dfy +++ b/Test/git-issues/git-issue-396.dfy @@ -1,8 +1,4 @@ -// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" -// RUN: %dafny /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Foo = Bar(value: int) diff --git a/Test/git-issues/git-issue-396.dfy.expect b/Test/git-issues/git-issue-396.dfy.expect index 3dd340d3178..dee79f10940 100644 --- a/Test/git-issues/git-issue-396.dfy.expect +++ b/Test/git-issues/git-issue-396.dfy.expect @@ -1,12 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors -114 - -Dafny program verifier finished with 1 verified, 0 errors -114 - -Dafny program verifier finished with 1 verified, 0 errors -114 - -Dafny program verifier finished with 1 verified, 0 errors 114 diff --git a/Test/git-issues/git-issue-4007.dfy b/Test/git-issues/git-issue-4007.dfy index e4c25b82bb8..5a279e7b8e6 100644 --- a/Test/git-issues/git-issue-4007.dfy +++ b/Test/git-issues/git-issue-4007.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:4 /compileTarget:py "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var a := 0; @@ -7,4 +6,4 @@ method Main() { a := a + 1; } print a, "\n"; -} \ No newline at end of file +} diff --git a/Test/git-issues/git-issue-4007.dfy.expect b/Test/git-issues/git-issue-4007.dfy.expect index 3ce6919d35b..00750edc07d 100644 --- a/Test/git-issues/git-issue-4007.dfy.expect +++ b/Test/git-issues/git-issue-4007.dfy.expect @@ -1,4 +1 @@ -git-issue-4007.dfy(6,20): Warning: /!\ No terms found to trigger on. - -Dafny program verifier finished with 1 verified, 0 errors 3 diff --git a/Test/git-issues/git-issue-4007.dfy.verifier.expect b/Test/git-issues/git-issue-4007.dfy.verifier.expect new file mode 100644 index 00000000000..1d4310d09b5 --- /dev/null +++ b/Test/git-issues/git-issue-4007.dfy.verifier.expect @@ -0,0 +1 @@ +git-issue-4007.dfy(5,20): Warning: /!\ No terms found to trigger on. diff --git a/Test/git-issues/git-issue-4012.dfy b/Test/git-issues/git-issue-4012.dfy index e065393a211..5360c0e935b 100644 --- a/Test/git-issues/git-issue-4012.dfy +++ b/Test/git-issues/git-issue-4012.dfy @@ -1,8 +1,7 @@ -// RUN: %dafny /compile:4 /compileTarget:py "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var x: multiset := multiset{}; x := x[1 := 18446744073709551616]; print |x|, "\n"; -} \ No newline at end of file +} diff --git a/Test/git-issues/git-issue-4012.dfy.expect b/Test/git-issues/git-issue-4012.dfy.expect index 230fbdbd384..ab69b99fab4 100644 --- a/Test/git-issues/git-issue-4012.dfy.expect +++ b/Test/git-issues/git-issue-4012.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors 18446744073709551616 diff --git a/Test/git-issues/git-issue-425.dfy b/Test/git-issues/git-issue-425.dfy index 4e555daaed0..122a10e4fbb 100644 --- a/Test/git-issues/git-issue-425.dfy +++ b/Test/git-issues/git-issue-425.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method M() returns (x: int, ghost y: int) { return 42, 43; diff --git a/Test/git-issues/git-issue-425.dfy.expect b/Test/git-issues/git-issue-425.dfy.expect index c2284013d9e..daaac9e3030 100644 --- a/Test/git-issues/git-issue-425.dfy.expect +++ b/Test/git-issues/git-issue-425.dfy.expect @@ -1,18 +1,2 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification -42 -42 - -Dafny program verifier did not attempt verification -42 -42 - -Dafny program verifier did not attempt verification -42 -42 - -Dafny program verifier did not attempt verification 42 42 diff --git a/Test/git-issues/git-issue-443.dfy b/Test/git-issues/git-issue-443.dfy index e8745b5ddda..6702e37484f 100644 --- a/Test/git-issues/git-issue-443.dfy +++ b/Test/git-issues/git-issue-443.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { print F(), " ", G(802.11), "\n"; // 12 15 diff --git a/Test/git-issues/git-issue-443.dfy.expect b/Test/git-issues/git-issue-443.dfy.expect index 10af01216da..0b64712fdcf 100644 --- a/Test/git-issues/git-issue-443.dfy.expect +++ b/Test/git-issues/git-issue-443.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors 12 15 diff --git a/Test/git-issues/git-issue-446.dfy b/Test/git-issues/git-issue-446.dfy index 0656587fd03..a66a9272d18 100644 --- a/Test/git-issues/git-issue-446.dfy +++ b/Test/git-issues/git-issue-446.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Result = Success(value: T) | Failure(error: string) { diff --git a/Test/git-issues/git-issue-446.dfy.expect b/Test/git-issues/git-issue-446.dfy.expect index 18195d22344..8165c2056d0 100644 --- a/Test/git-issues/git-issue-446.dfy.expect +++ b/Test/git-issues/git-issue-446.dfy.expect @@ -1,22 +1,3 @@ - -Dafny program verifier finished with 9 verified, 0 errors - -Dafny program verifier did not attempt verification -true -2 -true 42 -End - -Dafny program verifier did not attempt verification -true -2 -true 42 -End - -Dafny program verifier did not attempt verification -true -2 -true 42 -End - -Dafny program verifier did not attempt verification true -2 true 42 End diff --git a/Test/git-issues/git-issue-446a.dfy b/Test/git-issues/git-issue-446a.dfy index 41917680fee..2c559cea76d 100644 --- a/Test/git-issues/git-issue-446a.dfy +++ b/Test/git-issues/git-issue-446a.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Result = Success(value: T) | Failure(error: string) { diff --git a/Test/git-issues/git-issue-446a.dfy.expect b/Test/git-issues/git-issue-446a.dfy.expect index fbf9ee6f31d..9897e1c3f56 100644 --- a/Test/git-issues/git-issue-446a.dfy.expect +++ b/Test/git-issues/git-issue-446a.dfy.expect @@ -1,22 +1,3 @@ - -Dafny program verifier finished with 9 verified, 0 errors - -Dafny program verifier did not attempt verification -OK -true OK -true -2 End - -Dafny program verifier did not attempt verification -OK -true OK -true -2 End - -Dafny program verifier did not attempt verification -OK -true OK -true -2 End - -Dafny program verifier did not attempt verification OK true OK true -2 End diff --git a/Test/git-issues/git-issue-446b.dfy b/Test/git-issues/git-issue-446b.dfy index aa7ac30d9a7..79e55d9a1f8 100644 --- a/Test/git-issues/git-issue-446b.dfy +++ b/Test/git-issues/git-issue-446b.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Result = Success(value: T) | Failure(error: string) { diff --git a/Test/git-issues/git-issue-446b.dfy.expect b/Test/git-issues/git-issue-446b.dfy.expect index 0e99363fdb9..36fdd8ba47b 100644 --- a/Test/git-issues/git-issue-446b.dfy.expect +++ b/Test/git-issues/git-issue-446b.dfy.expect @@ -1,28 +1,3 @@ - -Dafny program verifier finished with 10 verified, 0 errors - -Dafny program verifier did not attempt verification -OK -true OK -true -2 -true 100 -End - -Dafny program verifier did not attempt verification -OK -true OK -true -2 -true 100 -End - -Dafny program verifier did not attempt verification -OK -true OK -true -2 -true 100 -End - -Dafny program verifier did not attempt verification OK true OK true -2 diff --git a/Test/git-issues/git-issue-478-good.dfy b/Test/git-issues/git-issue-478-good.dfy index b3fab26a312..9abce41e97c 100644 --- a/Test/git-issues/git-issue-478-good.dfy +++ b/Test/git-issues/git-issue-478-good.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // By first defining import LibA and then defining a module LibA, // the latter used to generate: diff --git a/Test/git-issues/git-issue-478-good.dfy.expect b/Test/git-issues/git-issue-478-good.dfy.expect index 17aea610943..6807b84eba5 100644 --- a/Test/git-issues/git-issue-478-good.dfy.expect +++ b/Test/git-issues/git-issue-478-good.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors hello hello hi diff --git a/Test/git-issues/git-issue-506.dfy b/Test/git-issues/git-issue-506.dfy index d25596621de..b2a409951a1 100644 --- a/Test/git-issues/git-issue-506.dfy +++ b/Test/git-issues/git-issue-506.dfy @@ -1,8 +1,4 @@ -// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" -// RUN: %dafny /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/git-issues/git-issue-506.dfy.expect b/Test/git-issues/git-issue-506.dfy.expect index e2bb6d644d9..ef2606ec5dc 100644 --- a/Test/git-issues/git-issue-506.dfy.expect +++ b/Test/git-issues/git-issue-506.dfy.expect @@ -1,29 +1,3 @@ - -Dafny program verifier finished with 2 verified, 0 errors -7 301 -8 391 -2 2 -4 5 -6 7 -2 3 7 0 - -Dafny program verifier finished with 2 verified, 0 errors -7 301 -8 391 -2 2 -4 5 -6 7 -2 3 7 0 - -Dafny program verifier finished with 2 verified, 0 errors -7 301 -8 391 -2 2 -4 5 -6 7 -2 3 7 0 - -Dafny program verifier finished with 2 verified, 0 errors 7 301 8 391 2 2 diff --git a/Test/git-issues/git-issue-532.dfy b/Test/git-issues/git-issue-532.dfy index 3d511dbb4c8..2a2b5aaaf2e 100644 --- a/Test/git-issues/git-issue-532.dfy +++ b/Test/git-issues/git-issue-532.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment predicate SuppressNoTriggerWarning(x: X) { true } diff --git a/Test/git-issues/git-issue-532.dfy.expect b/Test/git-issues/git-issue-532.dfy.expect index 1bd9e82cc5a..0f3ef3de427 100644 --- a/Test/git-issues/git-issue-532.dfy.expect +++ b/Test/git-issues/git-issue-532.dfy.expect @@ -1,22 +1,3 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification -t.x=5 The given Tr is a C, and c.y=6 -t.x=100 The given Tr is not a C -t.x=5 The given Tr is a C, and c.y=16 - -Dafny program verifier did not attempt verification -t.x=5 The given Tr is a C, and c.y=6 -t.x=100 The given Tr is not a C -t.x=5 The given Tr is a C, and c.y=16 - -Dafny program verifier did not attempt verification -t.x=5 The given Tr is a C, and c.y=6 -t.x=100 The given Tr is not a C -t.x=5 The given Tr is a C, and c.y=16 - -Dafny program verifier did not attempt verification t.x=5 The given Tr is a C, and c.y=6 t.x=100 The given Tr is not a C t.x=5 The given Tr is a C, and c.y=16 diff --git a/Test/git-issues/git-issue-549.dfy b/Test/git-issues/git-issue-549.dfy index 2e5ab322f23..d362a0bd039 100644 --- a/Test/git-issues/git-issue-549.dfy +++ b/Test/git-issues/git-issue-549.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait T { function bar(): bv8 diff --git a/Test/git-issues/git-issue-549.dfy.expect b/Test/git-issues/git-issue-549.dfy.expect index 3ae509fee5e..6e0790e778e 100644 --- a/Test/git-issues/git-issue-549.dfy.expect +++ b/Test/git-issues/git-issue-549.dfy.expect @@ -1,10 +1,2 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification -bar() = 1 -bar() = 1 - -Dafny program verifier did not attempt verification bar() = 1 bar() = 1 diff --git a/Test/git-issues/git-issue-622$f.dfy b/Test/git-issues/git-issue-622$f.dfy index fe4fdf38e03..2a7003e0f4e 100644 --- a/Test/git-issues/git-issue-622$f.dfy +++ b/Test/git-issues/git-issue-622$f.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /compileTarget:java /spillTargetCode:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method Main() { } diff --git a/Test/git-issues/git-issue-622$f.dfy.expect b/Test/git-issues/git-issue-622$f.dfy.expect index 012f5b99379..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-622$f.dfy.expect +++ b/Test/git-issues/git-issue-622$f.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/git-issues/git-issue-633.dfy b/Test/git-issues/git-issue-633.dfy index 5d9b5aecf58..dd547fe65a6 100644 --- a/Test/git-issues/git-issue-633.dfy +++ b/Test/git-issues/git-issue-633.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" %S/git-issue-633A.dfy > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs /spillTargetCode:3 "%s" %S/git-issue-633A.dfy >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js /spillTargetCode:3 "%s" %S/git-issue-633A.dfy >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go /spillTargetCode:3 "%s" %S/git-issue-633A.dfy >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java /spillTargetCode:3 "%s" %S/git-issue-633A.dfy >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation /Users/salkeldr/Documents/GitHub/dafny/Test/git-issues/git-issue-633A.dfy method m() { print "OK\n"; diff --git a/Test/git-issues/git-issue-633.dfy.expect b/Test/git-issues/git-issue-633.dfy.expect index f02fc57989a..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-633.dfy.expect +++ b/Test/git-issues/git-issue-633.dfy.expect @@ -1,10 +0,0 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-684.dfy b/Test/git-issues/git-issue-684.dfy index b1fbd7ab036..4c2b0a8fa02 100644 --- a/Test/git-issues/git-issue-684.dfy +++ b/Test/git-issues/git-issue-684.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Level1 = Level1(u:int) datatype Level2 = Level2(u:int, l:Level1) diff --git a/Test/git-issues/git-issue-684.dfy.expect b/Test/git-issues/git-issue-684.dfy.expect index 65d3b5d6635..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-684.dfy.expect +++ b/Test/git-issues/git-issue-684.dfy.expect @@ -1,10 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-686.dfy b/Test/git-issues/git-issue-686.dfy index bbc975200c8..9845ce2b027 100644 --- a/Test/git-issues/git-issue-686.dfy +++ b/Test/git-issues/git-issue-686.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Color = Blue | Red diff --git a/Test/git-issues/git-issue-686.dfy.expect b/Test/git-issues/git-issue-686.dfy.expect index f30b0581688..c12f8e66df2 100644 --- a/Test/git-issues/git-issue-686.dfy.expect +++ b/Test/git-issues/git-issue-686.dfy.expect @@ -1,24 +1 @@ -git-issue-686.dfy(13,2): Warning: this branch is redundant -git-issue-686.dfy(21,2): Warning: this branch is redundant - -Dafny program verifier finished with 1 verified, 0 errors -git-issue-686.dfy(13,2): Warning: this branch is redundant -git-issue-686.dfy(21,2): Warning: this branch is redundant - -Dafny program verifier did not attempt verification -6 0 -git-issue-686.dfy(13,2): Warning: this branch is redundant -git-issue-686.dfy(21,2): Warning: this branch is redundant - -Dafny program verifier did not attempt verification -6 0 -git-issue-686.dfy(13,2): Warning: this branch is redundant -git-issue-686.dfy(21,2): Warning: this branch is redundant - -Dafny program verifier did not attempt verification -6 0 -git-issue-686.dfy(13,2): Warning: this branch is redundant -git-issue-686.dfy(21,2): Warning: this branch is redundant - -Dafny program verifier did not attempt verification 6 0 diff --git a/Test/git-issues/git-issue-686.dfy.verifier.expect b/Test/git-issues/git-issue-686.dfy.verifier.expect new file mode 100644 index 00000000000..805bd55730c --- /dev/null +++ b/Test/git-issues/git-issue-686.dfy.verifier.expect @@ -0,0 +1,2 @@ +git-issue-686.dfy(8,2): Warning: this branch is redundant +git-issue-686.dfy(16,2): Warning: this branch is redundant diff --git a/Test/git-issues/git-issue-697.dfy b/Test/git-issues/git-issue-697.dfy index 095c1a02399..23cce66dee7 100644 --- a/Test/git-issues/git-issue-697.dfy +++ b/Test/git-issues/git-issue-697.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Cell = Cell(x: int) type EvenCell = c: Cell | c.x % 2 == 0 witness Cell(0) diff --git a/Test/git-issues/git-issue-697.dfy.expect b/Test/git-issues/git-issue-697.dfy.expect index 188a72ebc36..f32a5804e29 100644 --- a/Test/git-issues/git-issue-697.dfy.expect +++ b/Test/git-issues/git-issue-697.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-697b.dfy b/Test/git-issues/git-issue-697b.dfy index cfdd3fd0821..cdb054d8d78 100644 --- a/Test/git-issues/git-issue-697b.dfy +++ b/Test/git-issues/git-issue-697b.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Cell = Cell(x: int) type EvenCell = c: Cell | c.x % 2 == 0 witness Cell(0) diff --git a/Test/git-issues/git-issue-697b.dfy.expect b/Test/git-issues/git-issue-697b.dfy.expect index b355409912b..9c777ac6a0f 100644 --- a/Test/git-issues/git-issue-697b.dfy.expect +++ b/Test/git-issues/git-issue-697b.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors false 2 diff --git a/Test/git-issues/git-issue-697d.dfy b/Test/git-issues/git-issue-697d.dfy index 71a262fc985..8b65c2da4f7 100644 --- a/Test/git-issues/git-issue-697d.dfy +++ b/Test/git-issues/git-issue-697d.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function nonGhostPredicate(x: int): bool { x % 2 == 0 diff --git a/Test/git-issues/git-issue-697d.dfy.expect b/Test/git-issues/git-issue-697d.dfy.expect index 48fb59aeae5..f32a5804e29 100644 --- a/Test/git-issues/git-issue-697d.dfy.expect +++ b/Test/git-issues/git-issue-697d.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 4 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-697e.dfy b/Test/git-issues/git-issue-697e.dfy index e4500bfab28..310851abf9a 100644 --- a/Test/git-issues/git-issue-697e.dfy +++ b/Test/git-issues/git-issue-697e.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Cell = Cell(x: int) type EvenCell = c: Cell | c.x % 2 == 0 witness Cell(0) diff --git a/Test/git-issues/git-issue-697e.dfy.expect b/Test/git-issues/git-issue-697e.dfy.expect index 00a51f822da..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-697e.dfy.expect +++ b/Test/git-issues/git-issue-697e.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 3 verified, 0 errors diff --git a/Test/git-issues/git-issue-697f.dfy b/Test/git-issues/git-issue-697f.dfy index 92d1cec2ed8..acb8810dfbf 100644 --- a/Test/git-issues/git-issue-697f.dfy +++ b/Test/git-issues/git-issue-697f.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment ghost function ghostPredicate(x: int): bool { x % 2 == 0 diff --git a/Test/git-issues/git-issue-697f.dfy.expect b/Test/git-issues/git-issue-697f.dfy.expect index 3e2cf8d0f69..b5754e20373 100644 --- a/Test/git-issues/git-issue-697f.dfy.expect +++ b/Test/git-issues/git-issue-697f.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 4 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-697g.dfy b/Test/git-issues/git-issue-697g.dfy index c3b7581ff61..7b30de7f3a0 100644 --- a/Test/git-issues/git-issue-697g.dfy +++ b/Test/git-issues/git-issue-697g.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function returnNat(c: nat): int { diff --git a/Test/git-issues/git-issue-697g.dfy.expect b/Test/git-issues/git-issue-697g.dfy.expect index d9157fa820a..f32a5804e29 100644 --- a/Test/git-issues/git-issue-697g.dfy.expect +++ b/Test/git-issues/git-issue-697g.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-698.dfy b/Test/git-issues/git-issue-698.dfy index b15295c9b46..7b7a9ca15b8 100644 --- a/Test/git-issues/git-issue-698.dfy +++ b/Test/git-issues/git-issue-698.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment type Small = x: int | 0 <= x < 100 && x != 3 diff --git a/Test/git-issues/git-issue-698.dfy.expect b/Test/git-issues/git-issue-698.dfy.expect index 7f965a65d2e..27ba77ddaf6 100644 --- a/Test/git-issues/git-issue-698.dfy.expect +++ b/Test/git-issues/git-issue-698.dfy.expect @@ -1,8 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification -true - -Dafny program verifier did not attempt verification true diff --git a/Test/git-issues/git-issue-698b.dfy b/Test/git-issues/git-issue-698b.dfy index 1d4a92456e6..dbdbc3b36d3 100644 --- a/Test/git-issues/git-issue-698b.dfy +++ b/Test/git-issues/git-issue-698b.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment type Small = x: int | 0 <= x < 100 && x != 3 @@ -13,4 +12,4 @@ method Main() { var b := !exists n: Small :: F(n) != 100; assert b; print b; -} \ No newline at end of file +} diff --git a/Test/git-issues/git-issue-698b.dfy.expect b/Test/git-issues/git-issue-698b.dfy.expect index 188a72ebc36..f32a5804e29 100644 --- a/Test/git-issues/git-issue-698b.dfy.expect +++ b/Test/git-issues/git-issue-698b.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-701.dfy b/Test/git-issues/git-issue-701.dfy index af19f0d89e2..38984df4ecf 100644 --- a/Test/git-issues/git-issue-701.dfy +++ b/Test/git-issues/git-issue-701.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var ca := new ClassA; diff --git a/Test/git-issues/git-issue-701.dfy.expect b/Test/git-issues/git-issue-701.dfy.expect index 4d20966e641..5198c09cbb1 100644 --- a/Test/git-issues/git-issue-701.dfy.expect +++ b/Test/git-issues/git-issue-701.dfy.expect @@ -1,22 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification -0 0 0 -[] [] [] -C.Nothing C.Nothing C.Nothing - -Dafny program verifier did not attempt verification -0 0 0 -[] [] [] -C.Nothing C.Nothing C.Nothing - -Dafny program verifier did not attempt verification -0 0 0 -[] [] [] -C.Nothing C.Nothing C.Nothing - -Dafny program verifier did not attempt verification 0 0 0 [] [] [] C.Nothing C.Nothing C.Nothing diff --git a/Test/git-issues/git-issue-705.dfy b/Test/git-issues/git-issue-705.dfy index d4b806800c2..9c36a336e8e 100644 --- a/Test/git-issues/git-issue-705.dfy +++ b/Test/git-issues/git-issue-705.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs /spillTargetCode:3 "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js /spillTargetCode:3 "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go /spillTargetCode:3 "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java /spillTargetCode:3 "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation datatype MyDataType = AAA { function toString(): int { 222 } diff --git a/Test/git-issues/git-issue-705.dfy.expect b/Test/git-issues/git-issue-705.dfy.expect index 02cf409667a..79a1eee7c74 100644 --- a/Test/git-issues/git-issue-705.dfy.expect +++ b/Test/git-issues/git-issue-705.dfy.expect @@ -1,14 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification -MyDataType.AAA 222 - -Dafny program verifier did not attempt verification -MyDataType.AAA 222 - -Dafny program verifier did not attempt verification -MyDataType.AAA 222 - -Dafny program verifier did not attempt verification MyDataType.AAA 222 diff --git a/Test/git-issues/git-issue-731.dfy b/Test/git-issues/git-issue-731.dfy index 05d02fea1af..348d40fecea 100644 --- a/Test/git-issues/git-issue-731.dfy +++ b/Test/git-issues/git-issue-731.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait Trait { const y: Y diff --git a/Test/git-issues/git-issue-731.dfy.expect b/Test/git-issues/git-issue-731.dfy.expect index 69b2e6af648..7554a44901e 100644 --- a/Test/git-issues/git-issue-731.dfy.expect +++ b/Test/git-issues/git-issue-731.dfy.expect @@ -1,18 +1,2 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification -0 0 0 42 -0 0 0 9 - -Dafny program verifier did not attempt verification -0 0 0 42 -0 0 0 9 - -Dafny program verifier did not attempt verification -0 0 0 42 -0 0 0 9 - -Dafny program verifier did not attempt verification 0 0 0 42 0 0 0 9 diff --git a/Test/git-issues/git-issue-731b.dfy b/Test/git-issues/git-issue-731b.dfy index a77dbd6323b..2a0507839a2 100644 --- a/Test/git-issues/git-issue-731b.dfy +++ b/Test/git-issues/git-issue-731b.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Testing issue#731 when the class in question has type parameters diff --git a/Test/git-issues/git-issue-731b.dfy.expect b/Test/git-issues/git-issue-731b.dfy.expect index 97e6c041920..dd3226d2b73 100644 --- a/Test/git-issues/git-issue-731b.dfy.expect +++ b/Test/git-issues/git-issue-731b.dfy.expect @@ -1,14 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification -0 42 - -Dafny program verifier did not attempt verification -0 42 - -Dafny program verifier did not attempt verification -0 42 - -Dafny program verifier did not attempt verification 0 42 diff --git a/Test/git-issues/git-issue-755.dfy b/Test/git-issues/git-issue-755.dfy index 25fb3e6a485..2227a486a21 100644 --- a/Test/git-issues/git-issue-755.dfy +++ b/Test/git-issues/git-issue-755.dfy @@ -1,9 +1,5 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var s := { 1,9,3,7,5}; diff --git a/Test/git-issues/git-issue-755.dfy.expect b/Test/git-issues/git-issue-755.dfy.expect index c930da26922..9182de3a24a 100644 --- a/Test/git-issues/git-issue-755.dfy.expect +++ b/Test/git-issues/git-issue-755.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors - -Dafny program verifier did not attempt verification 1 3 5 @@ -9,30 +5,3 @@ Dafny program verifier did not attempt verification 9 1 3 3 5 - -Dafny program verifier did not attempt verification -1 -9 -3 -7 -5 -1 3 -3 5 - -Dafny program verifier did not attempt verification -1 -9 -3 -7 -5 -1 3 -3 5 - -Dafny program verifier did not attempt verification -1 -3 -5 -7 -9 -3 5 -1 3 diff --git a/Test/git-issues/git-issue-755.dfy.go.expect b/Test/git-issues/git-issue-755.dfy.go.expect new file mode 100644 index 00000000000..f41e86c7579 --- /dev/null +++ b/Test/git-issues/git-issue-755.dfy.go.expect @@ -0,0 +1,7 @@ +1 +9 +3 +7 +5 +1 3 +3 5 diff --git a/Test/git-issues/git-issue-755.dfy.java.expect b/Test/git-issues/git-issue-755.dfy.java.expect new file mode 100644 index 00000000000..f4407f49a6f --- /dev/null +++ b/Test/git-issues/git-issue-755.dfy.java.expect @@ -0,0 +1,7 @@ +1 +3 +5 +7 +9 +3 5 +1 3 diff --git a/Test/git-issues/git-issue-755.dfy.js.expect b/Test/git-issues/git-issue-755.dfy.js.expect new file mode 100644 index 00000000000..f41e86c7579 --- /dev/null +++ b/Test/git-issues/git-issue-755.dfy.js.expect @@ -0,0 +1,7 @@ +1 +9 +3 +7 +5 +1 3 +3 5 diff --git a/Test/git-issues/git-issue-784.dfy b/Test/git-issues/git-issue-784.dfy index 78b83f01064..5f6cf59465c 100644 --- a/Test/git-issues/git-issue-784.dfy +++ b/Test/git-issues/git-issue-784.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype List = Nil | Cons(T, List) { function App(ys: List): List { diff --git a/Test/git-issues/git-issue-784.dfy.expect b/Test/git-issues/git-issue-784.dfy.expect index 8da23be5c8c..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-784.dfy.expect +++ b/Test/git-issues/git-issue-784.dfy.expect @@ -1,10 +0,0 @@ - -Dafny program verifier finished with 4 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-953.dfy b/Test/git-issues/git-issue-953.dfy index 0e9e0198b90..1032ad45a3a 100644 --- a/Test/git-issues/git-issue-953.dfy +++ b/Test/git-issues/git-issue-953.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module P { datatype T_ = T() // the underscore in this name once caused a problem in Java compilation diff --git a/Test/git-issues/git-issue-953.dfy.expect b/Test/git-issues/git-issue-953.dfy.expect index b731ec2edbe..d992760e80b 100644 --- a/Test/git-issues/git-issue-953.dfy.expect +++ b/Test/git-issues/git-issue-953.dfy.expect @@ -1,39 +1,3 @@ - -Dafny program verifier finished with 6 verified, 0 errors - -Dafny program verifier did not attempt verification -C_Compile.T_.T -P_Compile.T_.T -OtherNamesWithSpecialCharacters_q___Compile.A?_.A?_ OtherNamesWithSpecialCharacters_q___Compile.B?_.B?_ -17 17 0 0 -C2_Compile.C.C(10, 11) -9 - -Dafny program verifier did not attempt verification -C_Compile.T_.T -P_Compile.T_.T -OtherNamesWithSpecialCharacters_q___Compile.A?_.A?_ OtherNamesWithSpecialCharacters_q___Compile.B?_.B?_ -17 17 0 0 -C2_Compile.C.C(10, 11) -9 - -Dafny program verifier did not attempt verification -C_Compile.T_.T -P_Compile.T_.T -OtherNamesWithSpecialCharacters_q___Compile.A?_.A?_ OtherNamesWithSpecialCharacters_q___Compile.B?_.B?_ -17 17 0 0 -C2_Compile.C.C(10, 11) -9 - -Dafny program verifier did not attempt verification -C_Compile.T_.T -P_Compile.T_.T -OtherNamesWithSpecialCharacters_q___Compile.A?_.A?_ OtherNamesWithSpecialCharacters_q___Compile.B?_.B?_ -17 17 0 0 -C2_Compile.C.C(10, 11) -9 - -Dafny program verifier did not attempt verification C_Compile.T_.T P_Compile.T_.T OtherNamesWithSpecialCharacters_q___Compile.A?_.A?_ OtherNamesWithSpecialCharacters_q___Compile.B?_.B?_ diff --git a/Test/git-issues/github-issue-3343.dfy b/Test/git-issues/github-issue-3343.dfy index 517a11d7fc1..d518b2a1a41 100644 --- a/Test/git-issues/github-issue-3343.dfy +++ b/Test/git-issues/github-issue-3343.dfy @@ -1,5 +1,4 @@ -// RUN: %baredafny run "%s" -t:java > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" method Bug() { var zero := 0; var a := new int[zero] []; diff --git a/Test/git-issues/github-issue-3343.dfy.expect b/Test/git-issues/github-issue-3343.dfy.expect index 823a60a105c..e69de29bb2d 100644 --- a/Test/git-issues/github-issue-3343.dfy.expect +++ b/Test/git-issues/github-issue-3343.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 1 verified, 0 errors diff --git a/Test/hofs/Compilation.dfy b/Test/hofs/Compilation.dfy index 99fd0a36506..7e9c674b495 100644 --- a/Test/hofs/Compilation.dfy +++ b/Test/hofs/Compilation.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class Ref { var val : A diff --git a/Test/hofs/Compilation.dfy.expect b/Test/hofs/Compilation.dfy.expect index 760fafc6189..6b7187d2557 100644 --- a/Test/hofs/Compilation.dfy.expect +++ b/Test/hofs/Compilation.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 2 verified, 0 errors 1 = 1 3 = 3 3 = 3 diff --git a/Test/hofs/Examples.dfy b/Test/hofs/Examples.dfy index cdf177c001f..bebda559221 100644 --- a/Test/hofs/Examples.dfy +++ b/Test/hofs/Examples.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function Apply(f: A ~> B, x: A): B reads f.reads(x) diff --git a/Test/hofs/Examples.dfy.expect b/Test/hofs/Examples.dfy.expect index 851aaf58286..e69de29bb2d 100644 --- a/Test/hofs/Examples.dfy.expect +++ b/Test/hofs/Examples.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 7 verified, 0 errors diff --git a/Test/hofs/Fold.dfy b/Test/hofs/Fold.dfy index 336f9121b52..96ddb01591f 100644 --- a/Test/hofs/Fold.dfy +++ b/Test/hofs/Fold.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype List = Nil | Cons(A,List) diff --git a/Test/hofs/Fold.dfy.expect b/Test/hofs/Fold.dfy.expect index 144ffab92db..3abcc310618 100644 --- a/Test/hofs/Fold.dfy.expect +++ b/Test/hofs/Fold.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors 3 = 3 diff --git a/Test/hofs/Renaming.dfy b/Test/hofs/Renaming.dfy index cf21fdba2f8..391c0e79ef6 100644 --- a/Test/hofs/Renaming.dfy +++ b/Test/hofs/Renaming.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function OnId(f : (bool -> bool) -> int) : int reads f.reads(x => x) diff --git a/Test/hofs/Renaming.dfy.expect b/Test/hofs/Renaming.dfy.expect index e2b6636dbe4..13a954d9043 100644 --- a/Test/hofs/Renaming.dfy.expect +++ b/Test/hofs/Renaming.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 4 verified, 0 errors 10 11 diff --git a/Test/hofs/Requires.dfy b/Test/hofs/Requires.dfy index de5944b6744..f5e51244184 100644 --- a/Test/hofs/Requires.dfy +++ b/Test/hofs/Requires.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/hofs/Requires.dfy.expect b/Test/hofs/Requires.dfy.expect index 1981561ca00..e69de29bb2d 100644 --- a/Test/hofs/Requires.dfy.expect +++ b/Test/hofs/Requires.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 10 verified, 0 errors diff --git a/Test/hofs/TreeMapSimple.dfy b/Test/hofs/TreeMapSimple.dfy index d93aea46403..b7baf6eb8d7 100644 --- a/Test/hofs/TreeMapSimple.dfy +++ b/Test/hofs/TreeMapSimple.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { TestY(); diff --git a/Test/hofs/TreeMapSimple.dfy.expect b/Test/hofs/TreeMapSimple.dfy.expect index 9224d605f7e..be0317f1016 100644 --- a/Test/hofs/TreeMapSimple.dfy.expect +++ b/Test/hofs/TreeMapSimple.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 11 verified, 0 errors Tree.Branch(100, List.Cons(Tree.Branch(50, List.Nil), List.Nil)) Tree.Branch(100, List.Cons(Tree.Branch(50, List.Nil), List.Nil)) diff --git a/Test/hofs/VectorUpdate.dfy b/Test/hofs/VectorUpdate.dfy index 848ed585ca6..70c0de3084e 100644 --- a/Test/hofs/VectorUpdate.dfy +++ b/Test/hofs/VectorUpdate.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // this is a rather verbose version of the VectorUpdate method method VectorUpdate(N: int, a : array, f : (int,A) ~> A) diff --git a/Test/hofs/VectorUpdate.dfy.expect b/Test/hofs/VectorUpdate.dfy.expect index b8fae39eab8..7645f125857 100644 --- a/Test/hofs/VectorUpdate.dfy.expect +++ b/Test/hofs/VectorUpdate.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 8 verified, 0 errors 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 100, 50, 33, 25, 20, 16, 14, 12, 11, 10 diff --git a/Test/hofs/WhileLoop.dfy b/Test/hofs/WhileLoop.dfy index 4af9fbd841b..914f47f4522 100644 --- a/Test/hofs/WhileLoop.dfy +++ b/Test/hofs/WhileLoop.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class Ref { var val: A diff --git a/Test/hofs/WhileLoop.dfy.expect b/Test/hofs/WhileLoop.dfy.expect index 234ac298c9b..83083b451e1 100644 --- a/Test/hofs/WhileLoop.dfy.expect +++ b/Test/hofs/WhileLoop.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 4 verified, 0 errors 22 22 22 diff --git a/Test/metatests/OutputEncoding.dfy b/Test/metatests/OutputEncoding.dfy index 68c390ac811..59fa53bf298 100644 --- a/Test/metatests/OutputEncoding.dfy +++ b/Test/metatests/OutputEncoding.dfy @@ -1,10 +1,4 @@ -// RUN: %baredafny verify %args "%s" > "%t" -// RUN: %baredafny run --no-verify --target=cs %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=js %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=go %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=py %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=java %args "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" method Main() { // This works fine in all languages because € is a single UTF-16 code unit. diff --git a/Test/metatests/OutputEncoding.dfy.expect b/Test/metatests/OutputEncoding.dfy.expect index a37241376f3..b25a57298f1 100644 --- a/Test/metatests/OutputEncoding.dfy.expect +++ b/Test/metatests/OutputEncoding.dfy.expect @@ -1,17 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification -Euro sign: € - -Dafny program verifier did not attempt verification -Euro sign: € - -Dafny program verifier did not attempt verification -Euro sign: € - -Dafny program verifier did not attempt verification -Euro sign: € - -Dafny program verifier did not attempt verification Euro sign: € diff --git a/Test/patterns/OrPatterns.dfy b/Test/patterns/OrPatterns.dfy index 4f2610c9379..6385bd55c93 100644 --- a/Test/patterns/OrPatterns.dfy +++ b/Test/patterns/OrPatterns.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /rprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Enum = One | Two | Three { predicate Even() { diff --git a/Test/patterns/OrPatterns.dfy.expect b/Test/patterns/OrPatterns.dfy.expect index a6fce7c4a13..d86bac9de59 100644 --- a/Test/patterns/OrPatterns.dfy.expect +++ b/Test/patterns/OrPatterns.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 11 verified, 0 errors OK diff --git a/Test/patterns/PatternMatching.dfy b/Test/patterns/PatternMatching.dfy index 477126c066a..e8a73b856e4 100644 --- a/Test/patterns/PatternMatching.dfy +++ b/Test/patterns/PatternMatching.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /* * This file contains a collection of tests for features modified or introduced in PR 458 @@ -222,4 +221,4 @@ method Main() { var r5 := MultipleNestedMatch(A(0), t4, bb); print "Testing MultipleNestedMatch: ", r0, r1, r2, r3, r4, r5, ", should return 012345\n"; -} \ No newline at end of file +} diff --git a/Test/patterns/PatternMatching.dfy.expect b/Test/patterns/PatternMatching.dfy.expect index 2970273cbfc..b4415971ca5 100644 --- a/Test/patterns/PatternMatching.dfy.expect +++ b/Test/patterns/PatternMatching.dfy.expect @@ -1,6 +1,3 @@ -PatternMatching.dfy(102,4): Warning: this branch is redundant - -Dafny program verifier finished with 9 verified, 0 errors NestingTest([6]) = 6, should return 6 NestedVariableTest([2::3::4::5::6]) = 0, should return 0 ConstantTest([3::4::5::6]) = 2, should return 2 diff --git a/Test/patterns/PatternMatching.dfy.verifier.expect b/Test/patterns/PatternMatching.dfy.verifier.expect new file mode 100644 index 00000000000..b486aadfb80 --- /dev/null +++ b/Test/patterns/PatternMatching.dfy.verifier.expect @@ -0,0 +1 @@ +PatternMatching.dfy(101,4): Warning: this branch is redundant diff --git a/Test/traits/TraitCompile.dfy b/Test/traits/TraitCompile.dfy index 03cf3746c6f..6e9b925fbc5 100644 --- a/Test/traits/TraitCompile.dfy +++ b/Test/traits/TraitCompile.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait TT { @@ -820,4 +814,4 @@ module RedeclaringMembers { true } } -} \ No newline at end of file +} diff --git a/Test/traits/TraitCompile.dfy.expect b/Test/traits/TraitCompile.dfy.expect index 8257b754de2..b70a9b09d2e 100644 --- a/Test/traits/TraitCompile.dfy.expect +++ b/Test/traits/TraitCompile.dfy.expect @@ -1,259 +1,3 @@ - -Dafny program verifier finished with 75 verified, 0 errors - -Dafny program verifier did not attempt verification -y=120 -x=12 -d=800 -a5=407 -t=1212 -z=30 -z'=30 -w=30 -d=1000 -a5=507 -t=1512 -t=1512 -t=1515 -This is OtherModule.P(7.0) -From OtherModule.Y: 7 and true -This is OtherModule.P(7.0) -From OtherModule.X: 7 and true -c.f= 15 j.f= 15 -c.f= 18 j.f= 18 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -x=126 -5.2 9 false -true true true true -false false false false -true true true true -false false false false -5.2 5.2 -1.2 1.2 -1.2 1.2 -15 30 -15 30 -15 30 -0 (0, 0) 0 -8 -0 0 0 0 0 0 0 0 0 0 0 0 -13 13 13 13 13 13 13 13 13 13 13 13 -14 14 14 14 14 14 14 14 14 14 14 14 -15 15 15 15 15 15 15 15 15 15 15 15 -16 16 16 16 16 16 16 16 16 16 16 16 -17 17 17 17 17 17 17 17 17 17 17 17 -18 18 18 18 18 18 18 18 18 18 18 18 -19 19 19 19 19 19 19 19 19 19 19 19 -20 20 20 20 20 20 20 20 20 20 20 20 -21 21 21 21 21 21 21 21 21 21 21 21 -22 22 22 22 22 22 22 22 22 22 22 22 -23 23 23 23 23 23 23 23 23 23 23 23 -24 24 24 24 24 24 24 24 24 24 24 24 -f(4) = 7 -f(4) = 7 -g(4) = 7 -g(4) = 7 -41 15 26 -true true -true true -true true -true true -true true true -true true true - -Dafny program verifier did not attempt verification -y=120 -x=12 -d=800 -a5=407 -t=1212 -z=30 -z'=30 -w=30 -d=1000 -a5=507 -t=1512 -t=1512 -t=1515 -This is OtherModule.P(7.0) -From OtherModule.Y: 7 and true -This is OtherModule.P(7.0) -From OtherModule.X: 7 and true -c.f= 15 j.f= 15 -c.f= 18 j.f= 18 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -x=126 -5.2 9 false -true true true true -false false false false -true true true true -false false false false -5.2 5.2 -1.2 1.2 -1.2 1.2 -15 30 -15 30 -15 30 -0 (0, 0) 0 -8 -0 0 0 0 0 0 0 0 0 0 0 0 -13 13 13 13 13 13 13 13 13 13 13 13 -14 14 14 14 14 14 14 14 14 14 14 14 -15 15 15 15 15 15 15 15 15 15 15 15 -16 16 16 16 16 16 16 16 16 16 16 16 -17 17 17 17 17 17 17 17 17 17 17 17 -18 18 18 18 18 18 18 18 18 18 18 18 -19 19 19 19 19 19 19 19 19 19 19 19 -20 20 20 20 20 20 20 20 20 20 20 20 -21 21 21 21 21 21 21 21 21 21 21 21 -22 22 22 22 22 22 22 22 22 22 22 22 -23 23 23 23 23 23 23 23 23 23 23 23 -24 24 24 24 24 24 24 24 24 24 24 24 -f(4) = 7 -f(4) = 7 -g(4) = 7 -g(4) = 7 -41 15 26 -true true -true true -true true -true true -true true true -true true true - -Dafny program verifier did not attempt verification -y=120 -x=12 -d=800 -a5=407 -t=1212 -z=30 -z'=30 -w=30 -d=1000 -a5=507 -t=1512 -t=1512 -t=1515 -This is OtherModule.P(7.0) -From OtherModule.Y: 7 and true -This is OtherModule.P(7.0) -From OtherModule.X: 7 and true -c.f= 15 j.f= 15 -c.f= 18 j.f= 18 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -x=126 -5.2 9 false -true true true true -false false false false -true true true true -false false false false -5.2 5.2 -1.2 1.2 -1.2 1.2 -15 30 -15 30 -15 30 -0 (0, 0) 0 -8 -0 0 0 0 0 0 0 0 0 0 0 0 -13 13 13 13 13 13 13 13 13 13 13 13 -14 14 14 14 14 14 14 14 14 14 14 14 -15 15 15 15 15 15 15 15 15 15 15 15 -16 16 16 16 16 16 16 16 16 16 16 16 -17 17 17 17 17 17 17 17 17 17 17 17 -18 18 18 18 18 18 18 18 18 18 18 18 -19 19 19 19 19 19 19 19 19 19 19 19 -20 20 20 20 20 20 20 20 20 20 20 20 -21 21 21 21 21 21 21 21 21 21 21 21 -22 22 22 22 22 22 22 22 22 22 22 22 -23 23 23 23 23 23 23 23 23 23 23 23 -24 24 24 24 24 24 24 24 24 24 24 24 -f(4) = 7 -f(4) = 7 -g(4) = 7 -g(4) = 7 -41 15 26 -true true -true true -true true -true true -true true true -true true true - -Dafny program verifier did not attempt verification -y=120 -x=12 -d=800 -a5=407 -t=1212 -z=30 -z'=30 -w=30 -d=1000 -a5=507 -t=1512 -t=1512 -t=1515 -This is OtherModule.P(7.0) -From OtherModule.Y: 7 and true -This is OtherModule.P(7.0) -From OtherModule.X: 7 and true -c.f= 15 j.f= 15 -c.f= 18 j.f= 18 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -x=126 -5.2 9 false -true true true true -false false false false -true true true true -false false false false -5.2 5.2 -1.2 1.2 -1.2 1.2 -15 30 -15 30 -15 30 -0 (0, 0) 0 -8 -0 0 0 0 0 0 0 0 0 0 0 0 -13 13 13 13 13 13 13 13 13 13 13 13 -14 14 14 14 14 14 14 14 14 14 14 14 -15 15 15 15 15 15 15 15 15 15 15 15 -16 16 16 16 16 16 16 16 16 16 16 16 -17 17 17 17 17 17 17 17 17 17 17 17 -18 18 18 18 18 18 18 18 18 18 18 18 -19 19 19 19 19 19 19 19 19 19 19 19 -20 20 20 20 20 20 20 20 20 20 20 20 -21 21 21 21 21 21 21 21 21 21 21 21 -22 22 22 22 22 22 22 22 22 22 22 22 -23 23 23 23 23 23 23 23 23 23 23 23 -24 24 24 24 24 24 24 24 24 24 24 24 -f(4) = 7 -f(4) = 7 -g(4) = 7 -g(4) = 7 -41 15 26 -true true -true true -true true -true true -true true true -true true true - -Dafny program verifier did not attempt verification y=120 x=12 d=800 diff --git a/Test/traits/TraitExample.dfy b/Test/traits/TraitExample.dfy index d6afb4ce70b..54c5cbbec6f 100644 --- a/Test/traits/TraitExample.dfy +++ b/Test/traits/TraitExample.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait Automobile { ghost var Repr: set diff --git a/Test/traits/TraitExample.dfy.expect b/Test/traits/TraitExample.dfy.expect index c1b4ac93962..b9783e62141 100644 --- a/Test/traits/TraitExample.dfy.expect +++ b/Test/traits/TraitExample.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 29 verified, 0 errors Fiat: 6 Volvo: 20 Catacar: 26 diff --git a/Test/traits/Traits-Fields.dfy b/Test/traits/Traits-Fields.dfy index 2da609c33c8..6ae1aaab6d9 100644 --- a/Test/traits/Traits-Fields.dfy +++ b/Test/traits/Traits-Fields.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait J { diff --git a/Test/traits/Traits-Fields.dfy.expect b/Test/traits/Traits-Fields.dfy.expect index cc460fc52f4..c39bd8b5d5d 100644 --- a/Test/traits/Traits-Fields.dfy.expect +++ b/Test/traits/Traits-Fields.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 2 verified, 0 errors j.x = 9 c.x = 9 diff --git a/Test/traits/TraitsMultipleInheritance.dfy b/Test/traits/TraitsMultipleInheritance.dfy index 12590e47828..67fd8673488 100644 --- a/Test/traits/TraitsMultipleInheritance.dfy +++ b/Test/traits/TraitsMultipleInheritance.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait J1{ var x: int diff --git a/Test/traits/TraitsMultipleInheritance.dfy.expect b/Test/traits/TraitsMultipleInheritance.dfy.expect index ad1a1011a25..b116b2d070d 100644 --- a/Test/traits/TraitsMultipleInheritance.dfy.expect +++ b/Test/traits/TraitsMultipleInheritance.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 1 verified, 0 errors c.x + c.y = 30 j1.x + j2.y = 30 diff --git a/Test/unicodechars/comp/Collections.dfy b/Test/unicodechars/comp/Collections.dfy index fb3e451eb83..14d241ed5ab 100644 --- a/Test/unicodechars/comp/Collections.dfy +++ b/Test/unicodechars/comp/Collections.dfy @@ -1,8 +1,3 @@ -// RUN: %dafny /compile:0 /verifyAllModules /unicodeChar:1 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:true --verify-included-files include "../../comp/Collections.dfy" diff --git a/Test/unicodechars/comp/Collections.dfy.expect b/Test/unicodechars/comp/Collections.dfy.expect index 70586502b0d..89f08b08d75 100644 --- a/Test/unicodechars/comp/Collections.dfy.expect +++ b/Test/unicodechars/comp/Collections.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 40 verified, 0 errors - -Dafny program verifier did not attempt verification Sets: {} {17, 82} {12, 17} cardinality: 0 2 2 union: {17, 82} {12, 17, 82} @@ -127,511 +123,3 @@ Multiset=== 1 3 |s|=2 |u|=4 1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Yellow := 21, Color.Blue := 30] -keys: {Color.Yellow, Color.Blue} -values: {21, 30} -items: {(Color.Yellow, 21), (Color.Blue, 30)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {21, 30} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.go.expect b/Test/unicodechars/comp/Collections.dfy.go.expect new file mode 100644 index 00000000000..2fc0f3b7093 --- /dev/null +++ b/Test/unicodechars/comp/Collections.dfy.go.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.java.expect b/Test/unicodechars/comp/Collections.dfy.java.expect new file mode 100644 index 00000000000..39975cadfc4 --- /dev/null +++ b/Test/unicodechars/comp/Collections.dfy.java.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Yellow := 21, Color.Blue := 30] +keys: {Color.Yellow, Color.Blue} +values: {21, 30} +items: {(Color.Yellow, 21), (Color.Blue, 30)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.js.expect b/Test/unicodechars/comp/Collections.dfy.js.expect new file mode 100644 index 00000000000..2fc0f3b7093 --- /dev/null +++ b/Test/unicodechars/comp/Collections.dfy.js.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.py.expect b/Test/unicodechars/comp/Collections.dfy.py.expect new file mode 100644 index 00000000000..e4e346dede0 --- /dev/null +++ b/Test/unicodechars/comp/Collections.dfy.py.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {21, 30} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/unicodechars/comp/Comprehensions.dfy b/Test/unicodechars/comp/Comprehensions.dfy index 274f8d3a150..8bd5f67525e 100644 --- a/Test/unicodechars/comp/Comprehensions.dfy +++ b/Test/unicodechars/comp/Comprehensions.dfy @@ -1,8 +1,3 @@ -// RUN: %dafny /compile:0 /unicodeChar:1 /verifyAllModules "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" -include "../../comp/Comprehensions.dfy" \ No newline at end of file +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:true --verify-included-files +include "../../comp/Comprehensions.dfy" diff --git a/Test/unicodechars/comp/Comprehensions.dfy.expect b/Test/unicodechars/comp/Comprehensions.dfy.expect index 18159ddde0a..c9703fc9397 100644 --- a/Test/unicodechars/comp/Comprehensions.dfy.expect +++ b/Test/unicodechars/comp/Comprehensions.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 32 verified, 0 errors - -Dafny program verifier did not attempt verification x=13 y=14 x=13 y=14 b=yes true false @@ -64,259 +60,3 @@ true true [137438953474, 137438953475, 137438953476, 137438953477, 137438953479] cdefh cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[14 := 7, 12 := 6, 13 := 6] -map[18 := 14, 17 := 13, 16 := 12] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh diff --git a/Test/unicodechars/comp/Comprehensions.dfy.py.expect b/Test/unicodechars/comp/Comprehensions.dfy.py.expect new file mode 100644 index 00000000000..aeaa31fc0f3 --- /dev/null +++ b/Test/unicodechars/comp/Comprehensions.dfy.py.expect @@ -0,0 +1,62 @@ +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[14 := 7, 12 := 6, 13 := 6] +map[18 := 14, 17 := 13, 16 := 12] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh diff --git a/Test/unicodechars/comp/NativeNumbers.dfy b/Test/unicodechars/comp/NativeNumbers.dfy index 764b4b3b384..20cdb1e214f 100644 --- a/Test/unicodechars/comp/NativeNumbers.dfy +++ b/Test/unicodechars/comp/NativeNumbers.dfy @@ -1,9 +1,4 @@ +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:true --verify-included-files // Skip JavaScript because JavaScript doesn't have the same native types -// RUN: %dafny /compile:0 /verifyAllModules /unicodeChar:1 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" -include "../../comp/NativeNumbers.dfy" \ No newline at end of file +include "../../comp/NativeNumbers.dfy" diff --git a/Test/unicodechars/comp/NativeNumbers.dfy.expect b/Test/unicodechars/comp/NativeNumbers.dfy.expect index b0fc6754f84..354d931a151 100644 --- a/Test/unicodechars/comp/NativeNumbers.dfy.expect +++ b/Test/unicodechars/comp/NativeNumbers.dfy.expect @@ -1,259 +1,3 @@ - -Dafny program verifier finished with 25 verified, 0 errors - -Dafny program verifier did not attempt verification -Casting: - -Small numbers: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 -5 5 5 5 5 5 5 5 5 -6 6 6 6 6 6 6 6 6 -7 7 7 7 7 7 7 7 7 -8 8 8 8 8 8 8 8 8 - -Large unsigned numbers: -255 255 255 255 255 255 255 255 -65535 65535 65535 65535 65535 65535 -4294967295 4294967295 4294967295 4294967295 -18446744073709551615 18446744073709551615 - -Int to large unsigned: -255 65535 4294967295 18446744073709551615 - -Cast from cardinality operator: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 - -Characters: -'C' 67 67 67 67 67 67 67 67 67 -0 127 32767 65535 65535 255 65535 65535 65535 - -Defaults: - -0 0 0 0 0 0 0 0 0 - -Byte arithmetic: - -20 30 -10 10 18 - -Short arithmetic: - -20 30 -10 10 18 - -Bitvectors: - -0 3 4 1 - -Comparison to zero: - -int8: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int16: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int32: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int64: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint8: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint16: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint32: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint64: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N - - -Dafny program verifier did not attempt verification -Casting: - -Small numbers: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 -5 5 5 5 5 5 5 5 5 -6 6 6 6 6 6 6 6 6 -7 7 7 7 7 7 7 7 7 -8 8 8 8 8 8 8 8 8 - -Large unsigned numbers: -255 255 255 255 255 255 255 255 -65535 65535 65535 65535 65535 65535 -4294967295 4294967295 4294967295 4294967295 -18446744073709551615 18446744073709551615 - -Int to large unsigned: -255 65535 4294967295 18446744073709551615 - -Cast from cardinality operator: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 - -Characters: -'C' 67 67 67 67 67 67 67 67 67 -0 127 32767 65535 65535 255 65535 65535 65535 - -Defaults: - -0 0 0 0 0 0 0 0 0 - -Byte arithmetic: - -20 30 -10 10 18 - -Short arithmetic: - -20 30 -10 10 18 - -Bitvectors: - -0 3 4 1 - -Comparison to zero: - -int8: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int16: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int32: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int64: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint8: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint16: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint32: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint64: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N - - -Dafny program verifier did not attempt verification -Casting: - -Small numbers: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 -5 5 5 5 5 5 5 5 5 -6 6 6 6 6 6 6 6 6 -7 7 7 7 7 7 7 7 7 -8 8 8 8 8 8 8 8 8 - -Large unsigned numbers: -255 255 255 255 255 255 255 255 -65535 65535 65535 65535 65535 65535 -4294967295 4294967295 4294967295 4294967295 -18446744073709551615 18446744073709551615 - -Int to large unsigned: -255 65535 4294967295 18446744073709551615 - -Cast from cardinality operator: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 - -Characters: -'C' 67 67 67 67 67 67 67 67 67 -0 127 32767 65535 65535 255 65535 65535 65535 - -Defaults: - -0 0 0 0 0 0 0 0 0 - -Byte arithmetic: - -20 30 -10 10 18 - -Short arithmetic: - -20 30 -10 10 18 - -Bitvectors: - -0 3 4 1 - -Comparison to zero: - -int8: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int16: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int32: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int64: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint8: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint16: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint32: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint64: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N - - -Dafny program verifier did not attempt verification Casting: Small numbers: diff --git a/Test/unicodechars/comp/Numbers.dfy b/Test/unicodechars/comp/Numbers.dfy index 2c9170fe4d7..e5e36180234 100644 --- a/Test/unicodechars/comp/Numbers.dfy +++ b/Test/unicodechars/comp/Numbers.dfy @@ -1,8 +1,3 @@ -// RUN: %dafny /compile:0 /verifyAllModules /unicodeChar:1 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" -include "../../comp/Numbers.dfy" \ No newline at end of file +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:true --verify-included-files +include "../../comp/Numbers.dfy" diff --git a/Test/unicodechars/comp/Numbers.dfy.expect b/Test/unicodechars/comp/Numbers.dfy.expect index 6fa2f59f340..cce193e1cce 100644 --- a/Test/unicodechars/comp/Numbers.dfy.expect +++ b/Test/unicodechars/comp/Numbers.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 59 verified, 0 errors - -Dafny program verifier did not attempt verification 0 0 3 @@ -113,455 +109,3 @@ true false true false false true false true true false true false 20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -'g' 'Q' '2' -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -(312.0 / 40.0) (1248.0 / 40.0) -(-312.0 / 40.0) (-1248.0 / 40.0) -(-312.0 / 40.0) (1248.0 / 40.0) -(312.0 / 40.0) (-1248.0 / 40.0) -0.0 0.0 0.0 -120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) -123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 (8100.0 / 8100.0) -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -'g' 'Q' '2' -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -'g' 'Q' '2' -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -(312.0 / 40.0) (1248.0 / 40.0) -(-312.0 / 40.0) (-1248.0 / 40.0) -(-312.0 / 40.0) (1248.0 / 40.0) -(312.0 / 40.0) (-1248.0 / 40.0) -0.0 0.0 0.0 -120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) -123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 (8100.0 / 8100.0) -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -'g' 'Q' '2' -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 diff --git a/Test/unicodechars/comp/Numbers.dfy.go.expect b/Test/unicodechars/comp/Numbers.dfy.go.expect new file mode 100644 index 00000000000..95d8ac259c7 --- /dev/null +++ b/Test/unicodechars/comp/Numbers.dfy.go.expect @@ -0,0 +1,111 @@ +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +'g' 'Q' '2' +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 diff --git a/Test/unicodechars/comp/Numbers.dfy.py.expect b/Test/unicodechars/comp/Numbers.dfy.py.expect new file mode 100644 index 00000000000..95d8ac259c7 --- /dev/null +++ b/Test/unicodechars/comp/Numbers.dfy.py.expect @@ -0,0 +1,111 @@ +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +'g' 'Q' '2' +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 From e898aa323311ad2228f214a459c45cc9f211c81a Mon Sep 17 00:00:00 2001 From: Robin Salkeld Date: Thu, 8 Jun 2023 09:17:05 -0700 Subject: [PATCH 33/68] Revert "Convert all tests" This reverts commit 204efa3a320492e61e9a80695854c2176d59a6f6. --- Test/VerifyThis2015/Problem1.dfy | 3 +- Test/VerifyThis2015/Problem1.dfy.expect | 2 + Test/VerifyThis2015/Problem2.dfy | 3 +- Test/VerifyThis2015/Problem2.dfy.expect | 2 + Test/VerifyThis2015/Problem3.dfy | 3 +- Test/VerifyThis2015/Problem3.dfy.expect | 2 + Test/c++/arrays.dfy | 3 +- Test/c++/arrays.dfy.expect | 2 + Test/c++/bit-vectors.dfy | 3 +- Test/c++/bit-vectors.dfy.expect | 2 + Test/c++/class.dfy | 3 +- Test/c++/class.dfy.expect | 2 + Test/c++/const.dfy | 3 +- Test/c++/const.dfy.expect | 2 + Test/c++/datatypes.dfy | 3 +- Test/c++/datatypes.dfy.expect | 2 + Test/c++/generic.dfy | 3 +- Test/c++/generic.dfy.expect | 2 + Test/c++/hello.dfy | 3 +- Test/c++/hello.dfy.expect | 2 + Test/c++/ints.dfy | 3 +- Test/c++/ints.dfy.expect | 2 + Test/c++/maps.dfy | 3 +- Test/c++/maps.dfy.expect | 2 + Test/c++/recursion.dfy | 3 +- Test/c++/recursion.dfy.expect | 2 + Test/c++/returns.dfy | 3 +- Test/c++/returns.dfy.expect | 2 + Test/c++/seqs.dfy | 3 +- Test/c++/seqs.dfy.expect | 2 + Test/c++/sets.dfy | 3 +- Test/c++/sets.dfy.expect | 2 + Test/c++/while.dfy | 3 +- Test/c++/while.dfy.expect | 2 + Test/comp/Arrays.dfy | 9 +- Test/comp/Arrays.dfy.expect | 396 ++++++++++++ Test/comp/Arrays.dfy.go.expect | 96 --- Test/comp/AsIs-Compile.dfy | 8 +- Test/comp/AsIs-Compile.dfy.expect | 160 +++++ Test/comp/AutoInit.dfy | 8 +- Test/comp/AutoInit.dfy.expect | 160 +++++ Test/comp/ByMethodCompilation.dfy | 8 +- Test/comp/ByMethodCompilation.dfy.expect | 32 + Test/comp/Calls.dfy | 8 +- Test/comp/Calls.dfy.expect | 40 ++ Test/comp/Class.dfy | 8 +- Test/comp/Class.dfy.expect | 72 +++ Test/comp/Collections.dfy | 9 +- Test/comp/Collections.dfy.expect | 512 ++++++++++++++++ Test/comp/Collections.dfy.go.expect | 125 ---- Test/comp/Collections.dfy.java.expect | 125 ---- Test/comp/Collections.dfy.js.expect | 125 ---- Test/comp/Collections.dfy.py.expect | 125 ---- Test/comp/Comprehensions.dfy | 9 +- Test/comp/Comprehensions.dfy.expect | 260 ++++++++ Test/comp/Comprehensions.dfy.py.expect | 62 -- Test/comp/ComprehensionsNewSyntax.dfy | 9 +- Test/comp/ComprehensionsNewSyntax.dfy.expect | 148 +++++ .../ComprehensionsNewSyntax.dfy.py.expect | 34 -- Test/comp/CovariantCollections.dfy | 8 +- Test/comp/CovariantCollections.dfy.expect | 220 +++++++ Test/comp/Datatype.dfy | 9 +- Test/comp/Datatype.dfy.expect | 100 +++ Test/comp/Datatype.dfy.java.expect | 22 - Test/comp/Datatype.dfy.py.expect | 22 - Test/comp/DefaultParameters-Compile.dfy | 8 +- .../comp/DefaultParameters-Compile.dfy.expect | 48 ++ Test/comp/DowncastClone.dfy | 8 +- Test/comp/DowncastClone.dfy.expect | 40 ++ Test/comp/ErasableTypeWrappers.dfy | 8 +- Test/comp/ErasableTypeWrappers.dfy.expect | 84 +++ Test/comp/EuclideanDivision.dfy | 8 +- Test/comp/EuclideanDivision.dfy.expect | 36 ++ Test/comp/ForLoops-Compilation.dfy | 8 +- Test/comp/ForLoops-Compilation.dfy.expect | 200 ++++++ Test/comp/ForallNewSyntax.dfy | 8 +- Test/comp/ForallNewSyntax.dfy.expect | 180 ++++++ Test/comp/Ghosts.dfy | 8 +- Test/comp/Ghosts.dfy.expect | 52 ++ Test/comp/Let.dfy | 7 +- Test/comp/Let.dfy.expect | 34 ++ Test/comp/MoreAutoInit.dfy | 8 +- Test/comp/MoreAutoInit.dfy.expect | 572 ++++++++++++++++++ Test/comp/NativeNumbers.dfy | 7 +- Test/comp/NativeNumbers.dfy.expect | 256 ++++++++ Test/comp/NestedArrays.dfy | 7 +- Test/comp/NestedArrays.dfy.expect | 16 + Test/comp/Numbers.dfy | 9 +- Test/comp/Numbers.dfy.expect | 456 ++++++++++++++ Test/comp/Numbers.dfy.go.expect | 111 ---- Test/comp/Numbers.dfy.py.expect | 111 ---- Test/comp/Poly.dfy | 9 +- Test/comp/Poly.dfy.expect | 60 ++ Test/comp/Poly.dfy.go.expect | 12 - Test/comp/Poly.dfy.py.expect | 12 - Test/comp/Print.dfy | 8 +- Test/comp/Print.dfy.expect | 34 ++ Test/comp/Print.dfy.go.expect | 8 - Test/comp/Print.dfy.java.expect | 8 - Test/comp/Print.dfy.js.expect | 8 - Test/comp/StaticMembersOfGenericTypes.dfy | 8 +- .../StaticMembersOfGenericTypes.dfy.expect | 76 +++ Test/comp/TailRecursion.dfy | 8 +- Test/comp/TailRecursion.dfy.expect | 76 +++ Test/comp/TypeDescriptors.dfy | 8 +- Test/comp/TypeDescriptors.dfy.expect | 152 +++++ Test/comp/TypeParams.dfy | 11 +- Test/comp/TypeParams.dfy.expect | 88 +++ Test/comp/TypeParams.dfy.go.expect | 19 - Test/comp/TypeParams.dfy.java.expect | 19 - Test/comp/TypeParams.dfy.js.expect | 19 - Test/comp/TypeParams.dfy.py.expect | 19 - Test/comp/UnoptimizedErasableTypeWrappers.dfy | 8 +- ...UnoptimizedErasableTypeWrappers.dfy.expect | 28 + Test/comp/Variance.dfy | 8 +- Test/comp/Variance.dfy.expect | 64 ++ Test/comp/Various.dfy | 8 +- Test/comp/Various.dfy.expect | 40 ++ Test/comp/firstSteps/0_IKnowThisMuchIs.dfy | 4 +- .../firstSteps/0_IKnowThisMuchIs.dfy.expect | 4 + Test/comp/firstSteps/1_Calls-F.dfy | 4 +- Test/comp/firstSteps/1_Calls-F.dfy.expect | 4 + Test/comp/firstSteps/2_Modules.dfy | 4 +- Test/comp/firstSteps/2_Modules.dfy.expect | 4 + Test/comp/firstSteps/3_Calls-As.dfy | 4 +- Test/comp/firstSteps/3_Calls-As.dfy.expect | 4 + .../4_Calls-FunctionsValues-Class+NT.dfy | 4 +- ..._Calls-FunctionsValues-Class+NT.dfy.expect | 4 + .../firstSteps/5_Calls-FunctionsValues-Dt.dfy | 4 +- .../5_Calls-FunctionsValues-Dt.dfy.expect | 4 + .../firstSteps/6_Calls-VariableCapture.dfy | 4 +- .../6_Calls-VariableCapture.dfy.expect | 4 + Test/comp/firstSteps/7_Arrays.dfy | 4 +- Test/comp/firstSteps/7_Arrays.dfy.expect | 4 + Test/comp/firstSteps/7_Dt_Algebraic.dfy | 6 +- .../firstSteps/7_Dt_Algebraic.dfy.cs.expect | 11 - .../comp/firstSteps/7_Dt_Algebraic.dfy.expect | 17 + Test/dafny0/ArrayElementInitCompile.dfy | 8 +- .../dafny0/ArrayElementInitCompile.dfy.expect | 76 +++ Test/dafny0/Bitvectors.dfy | 5 +- Test/dafny0/Bitvectors.dfy.expect | 49 ++ Test/dafny0/Constant.dfy | 3 +- Test/dafny0/Constant.dfy.expect | 2 + Test/dafny0/Deprecation.dfy | 3 +- Test/dafny0/Deprecation.dfy.expect | 7 + Test/dafny0/Deprecation.dfy.verifier.expect | 5 - Test/dafny0/DiscoverBounds.dfy | 3 +- Test/dafny0/DiscoverBounds.dfy.expect | 7 + .../dafny0/DiscoverBounds.dfy.verifier.expect | 5 - Test/dafny0/DividedConstructors.dfy | 3 +- Test/dafny0/DividedConstructors.dfy.expect | 2 + Test/dafny0/EqualityTypesCompile.dfy | 3 +- Test/dafny0/EqualityTypesCompile.dfy.expect | 2 + Test/dafny0/ForallCompilationNewSyntax.dfy | 3 +- .../ForallCompilationNewSyntax.dfy.expect | 6 + ...llCompilationNewSyntax.dfy.verifier.expect | 4 - Test/dafny0/GhostGuards.dfy | 3 +- Test/dafny0/GhostGuards.dfy.expect | 7 + Test/dafny0/GhostGuards.dfy.verifier.expect | 5 - Test/dafny0/GhostITECompilation.dfy | 8 +- Test/dafny0/GhostITECompilation.dfy.expect | 28 + Test/dafny0/InitialValues.dfy | 3 +- Test/dafny0/InitialValues.dfy.expect | 2 + Test/dafny0/MatchBraces.dfy | 5 +- Test/dafny0/MatchBraces.dfy.expect | 8 + Test/dafny0/MoForallCompilation.dfy | 3 +- Test/dafny0/MoForallCompilation.dfy.expect | 2 + Test/dafny0/NameclashesCompile.dfy | 3 +- Test/dafny0/NameclashesCompile.dfy.expect | 2 + Test/dafny0/NonZeroInitializationCompile.dfy | 7 +- .../NonZeroInitializationCompile.dfy.expect | 73 +++ Test/dafny0/NullComparisonWarnings.dfy | 3 +- Test/dafny0/NullComparisonWarnings.dfy.expect | 13 + ...NullComparisonWarnings.dfy.verifier.expect | 11 - Test/dafny0/PrintUTF8.dfy | 3 +- Test/dafny0/PrintUTF8.dfy.expect | 2 + Test/dafny0/RangeCompilation.dfy | 3 +- Test/dafny0/RangeCompilation.dfy.expect | 2 + Test/dafny0/SeqFromArray.dfy | 3 +- Test/dafny0/SeqFromArray.dfy.expect | 2 + Test/dafny0/SharedDestructorsCompile.dfy | 5 +- .../SharedDestructorsCompile.dfy.expect | 17 + Test/dafny0/SiblingImports.dfy | 3 +- Test/dafny0/SiblingImports.dfy.expect | 2 + Test/dafny0/TypeConversionsCompile.dfy | 3 +- Test/dafny0/TypeConversionsCompile.dfy.expect | 2 + Test/dafny0/TypeMembers.dfy | 5 +- Test/dafny0/TypeMembers.dfy.expect | 29 + Test/dafny0/TypeMembers.dfy.verifier.expect | 1 - Test/dafny0/Wellfounded.dfy | 3 +- Test/dafny0/Wellfounded.dfy.expect | 4 + Test/dafny0/Wellfounded.dfy.verifier.expect | 2 - Test/dafny2/MinWindowMax.dfy | 3 +- Test/dafny2/MinWindowMax.dfy.expect | 2 + .../SmallestMissingNumber-functional.dfy | 3 +- ...mallestMissingNumber-functional.dfy.expect | 3 + ...ssingNumber-functional.dfy.verifier.expect | 1 - .../SmallestMissingNumber-imperative.dfy | 3 +- ...mallestMissingNumber-imperative.dfy.expect | 2 + Test/dafny2/StoreAndRetrieve.dfy | 7 +- Test/dafny2/StoreAndRetrieve.dfy.expect | 38 ++ .../StoreAndRetrieve.dfy.verifier.expect | 5 - Test/dafny2/Z-BirthdayBook.dfy | 3 +- Test/dafny2/Z-BirthdayBook.dfy.expect | 2 + Test/dafny2/pq-intrinsic-extrinsic.dfy | 5 +- Test/dafny2/pq-intrinsic-extrinsic.dfy.expect | 11 + Test/dafny3/Abstemious.dfy | 3 +- Test/dafny3/Abstemious.dfy.expect | 2 + Test/dafny3/CachedContainer.dfy | 7 +- Test/dafny3/CachedContainer.dfy.expect | 78 +++ .../CachedContainer.dfy.verifier.expect | 13 - Test/dafny3/Iter.dfy | 3 +- Test/dafny3/Iter.dfy.expect | 2 + Test/dafny4/Ackermann.dfy | 3 +- Test/dafny4/Ackermann.dfy.expect | 4 + Test/dafny4/Ackermann.dfy.verifier.expect | 2 - Test/dafny4/Bug107.dfy | 3 +- Test/dafny4/Bug107.dfy.expect | 2 + Test/dafny4/Bug108.dfy | 3 +- Test/dafny4/Bug108.dfy.expect | 2 + Test/dafny4/Bug113.dfy | 5 +- Test/dafny4/Bug113.dfy.expect | 2 + Test/dafny4/Bug116.dfy | 3 +- Test/dafny4/Bug116.dfy.expect | 2 + Test/dafny4/Bug140.dfy | 3 +- Test/dafny4/Bug140.dfy.expect | 2 + Test/dafny4/Bug148.dfy | 3 +- Test/dafny4/Bug148.dfy.expect | 2 + Test/dafny4/Bug49.dfy | 3 +- Test/dafny4/Bug49.dfy.expect | 2 + Test/dafny4/Bug60.dfy | 3 +- Test/dafny4/Bug60.dfy.expect | 2 + Test/dafny4/Bug67.dfy | 5 +- Test/dafny4/Bug67.dfy.expect | 2 + Test/dafny4/Bug68.dfy | 5 +- Test/dafny4/Bug68.dfy.expect | 2 + Test/dafny4/Bug89.dfy | 3 +- Test/dafny4/Bug89.dfy.expect | 2 + Test/dafny4/Bug94.dfy | 3 +- Test/dafny4/Bug94.dfy.expect | 2 + Test/dafny4/ClassRefinement.dfy | 7 +- Test/dafny4/ClassRefinement.dfy.expect | 43 ++ .../ClassRefinement.dfy.verifier.expect | 6 - Test/dafny4/ExpandedGuardedness.dfy | 3 +- Test/dafny4/ExpandedGuardedness.dfy.expect | 2 + Test/dafny4/FlyingRobots.dfy | 3 +- Test/dafny4/FlyingRobots.dfy.expect | 2 + Test/dafny4/Leq.dfy | 3 +- Test/dafny4/Leq.dfy.expect | 2 + Test/dafny4/McCarthy91.dfy | 3 +- Test/dafny4/McCarthy91.dfy.expect | 2 + Test/dafny4/NatList.dfy | 3 +- Test/dafny4/NatList.dfy.expect | 2 + Test/dafny4/Regression15.dfy | 3 +- Test/dafny4/Regression15.dfy.expect | 2 + Test/dafny4/Regression2.dfy | 3 +- Test/dafny4/Regression2.dfy.expect | 2 + Test/dafny4/Regression3.dfy | 3 +- Test/dafny4/Regression3.dfy.expect | 2 + Test/dafny4/Regression4.dfy | 3 +- Test/dafny4/Regression4.dfy.expect | 2 + Test/dafny4/Regression6.dfy | 3 +- Test/dafny4/Regression6.dfy.expect | 2 + Test/dafny4/Regression7.dfy | 3 +- Test/dafny4/Regression7.dfy.expect | 2 + Test/dafny4/Regression9.dfy | 3 +- Test/dafny4/Regression9.dfy.expect | 2 + Test/dafny4/UnionFind.dfy | 3 +- Test/dafny4/UnionFind.dfy.expect | 2 + Test/dafny4/gcd.dfy | 7 +- Test/dafny4/gcd.dfy.expect | 31 + Test/dafny4/git-issue104.dfy | 8 +- Test/dafny4/git-issue104.dfy.expect | 16 + Test/dafny4/git-issue105.dfy | 3 +- Test/dafny4/git-issue105.dfy.expect | 2 + Test/dafny4/git-issue15.dfy | 3 +- Test/dafny4/git-issue15.dfy.expect | 2 + Test/dafny4/git-issue167.dfy | 3 +- Test/dafny4/git-issue167.dfy.expect | 2 + Test/dafny4/git-issue195.dfy | 3 +- Test/dafny4/git-issue195.dfy.expect | 2 + Test/dafny4/git-issue196.dfy | 3 +- Test/dafny4/git-issue196.dfy.expect | 2 + Test/dafny4/git-issue4.dfy | 3 +- Test/dafny4/git-issue4.dfy.expect | 2 + Test/dafny4/git-issue43.dfy | 3 +- Test/dafny4/git-issue43.dfy.expect | 2 + Test/dafny4/git-issue70.dfy | 3 +- Test/dafny4/git-issue70.dfy.expect | 2 + Test/dafny4/git-issue76.dfy | 5 +- Test/dafny4/git-issue76.dfy.expect | 7 + Test/dafny4/git-issue79.dfy | 3 +- Test/dafny4/git-issue79.dfy.expect | 2 + Test/dafny4/git-issue88.dfy | 3 +- Test/dafny4/git-issue88.dfy.expect | 2 + Test/exceptions/Exceptions1.dfy | 3 +- Test/exceptions/Exceptions1.dfy.expect | 2 + Test/exceptions/Exceptions1Expressions.dfy | 3 +- .../Exceptions1Expressions.dfy.expect | 2 + Test/exports/FIFO.dfy | 3 +- Test/exports/FIFO.dfy.expect | 2 + Test/exports/LIFO.dfy | 3 +- Test/exports/LIFO.dfy.expect | 2 + Test/exports/xrefine2.dfy | 3 +- Test/exports/xrefine2.dfy.expect | 2 + Test/exports/xrefine3.dfy | 3 +- Test/exports/xrefine3.dfy.expect | 2 + Test/git-issues/git-issue-032.dfy | 7 +- Test/git-issues/git-issue-032.dfy.expect | 37 ++ .../git-issue-032.dfy.verifier.expect | 3 - Test/git-issues/git-issue-1029.dfy | 3 +- Test/git-issues/git-issue-1029.dfy.expect | 2 + Test/git-issues/git-issue-1093.dfy | 8 +- Test/git-issues/git-issue-1093.dfy.expect | 16 + Test/git-issues/git-issue-1100.dfy | 3 +- Test/git-issues/git-issue-1100.dfy.expect | 2 + Test/git-issues/git-issue-1130.dfy | 3 +- Test/git-issues/git-issue-1130.dfy.expect | 2 + Test/git-issues/git-issue-1150.dfy | 3 +- Test/git-issues/git-issue-1150.dfy.expect | 2 + Test/git-issues/git-issue-1185.dfy | 8 +- Test/git-issues/git-issue-1185.dfy.expect | 13 + .../git-issues/git-issue-1185.dfy.java.expect | 1 - Test/git-issues/git-issue-1514.dfy | 3 +- Test/git-issues/git-issue-1514.dfy.expect | 2 + Test/git-issues/git-issue-1514b.dfy | 3 +- Test/git-issues/git-issue-1514b.dfy.expect | 2 + Test/git-issues/git-issue-1514c.dfy | 5 +- Test/git-issues/git-issue-1514c.dfy.expect | 7 + Test/git-issues/git-issue-1553.dfy | 7 +- Test/git-issues/git-issue-1553.dfy.expect | 10 + Test/git-issues/git-issue-1604b.dfy | 3 +- Test/git-issues/git-issue-1604b.dfy.expect | 2 + Test/git-issues/git-issue-1714.dfy | 3 +- Test/git-issues/git-issue-1714.dfy.expect | 2 + Test/git-issues/git-issue-179.dfy | 8 +- Test/git-issues/git-issue-179.dfy.expect | 22 + Test/git-issues/git-issue-179.dfy.go.expect | 4 - Test/git-issues/git-issue-179.dfy.java.expect | 4 - Test/git-issues/git-issue-179.dfy.js.expect | 4 - Test/git-issues/git-issue-1815a.dfy | 8 +- Test/git-issues/git-issue-1815a.dfy.expect | 16 + Test/git-issues/git-issue-1852.dfy | 5 +- Test/git-issues/git-issue-1852.dfy.expect | 7 + Test/git-issues/git-issue-1903.dfy | 3 +- Test/git-issues/git-issue-1903.dfy.expect | 2 + Test/git-issues/git-issue-1909.dfy | 3 +- Test/git-issues/git-issue-1909.dfy.expect | 2 + Test/git-issues/git-issue-2013.dfy | 8 +- Test/git-issues/git-issue-2013.dfy.expect | 52 ++ Test/git-issues/git-issue-2441.dfy | 5 +- Test/git-issues/git-issue-2441.dfy.expect | 6 + Test/git-issues/git-issue-2510.dfy | 3 +- Test/git-issues/git-issue-2510.dfy.expect | 2 + Test/git-issues/git-issue-258.dfy | 8 +- Test/git-issues/git-issue-258.dfy.expect | 73 +++ Test/git-issues/git-issue-258.dfy.go.expect | 21 - Test/git-issues/git-issue-258.dfy.js.expect | 21 - Test/git-issues/git-issue-2608.dfy | 3 +- Test/git-issues/git-issue-2608.dfy.expect | 2 + Test/git-issues/git-issue-262.dfy | 7 +- Test/git-issues/git-issue-262.dfy.expect | 18 + Test/git-issues/git-issue-262.dfy.go.expect | 2 - Test/git-issues/git-issue-262.dfy.java.expect | 2 - Test/git-issues/git-issue-262.dfy.js.expect | 6 - Test/git-issues/git-issue-267.dfy | 7 +- Test/git-issues/git-issue-267.dfy.expect | 13 + Test/git-issues/git-issue-2672.dfy | 8 +- Test/git-issues/git-issue-2672.dfy.expect | 44 ++ Test/git-issues/git-issue-2726a.dfy | 3 +- Test/git-issues/git-issue-2726a.dfy.expect | 2 + Test/git-issues/git-issue-2733.dfy | 9 +- Test/git-issues/git-issue-2733.dfy.expect | 14 + Test/git-issues/git-issue-2792.dfy | 3 +- Test/git-issues/git-issue-2792.dfy.expect | 2 + Test/git-issues/git-issue-283.dfy | 7 +- Test/git-issues/git-issue-283.dfy.expect | 13 + Test/git-issues/git-issue-283d.dfy | 7 +- Test/git-issues/git-issue-283d.dfy.expect | 10 + Test/git-issues/git-issue-314.dfy | 7 +- Test/git-issues/git-issue-314.dfy.expect | 10 + Test/git-issues/git-issue-332.dfy | 3 +- Test/git-issues/git-issue-332.dfy.expect | 2 + Test/git-issues/git-issue-354.dfy | 7 +- Test/git-issues/git-issue-354.dfy.expect | 22 + Test/git-issues/git-issue-356.dfy | 8 +- Test/git-issues/git-issue-356.dfy.expect | 36 ++ Test/git-issues/git-issue-364.dfy | 3 +- Test/git-issues/git-issue-364.dfy.expect | 2 + Test/git-issues/git-issue-374.dfy | 7 +- Test/git-issues/git-issue-374.dfy.expect | 10 + Test/git-issues/git-issue-396.dfy | 6 +- Test/git-issues/git-issue-396.dfy.expect | 11 + Test/git-issues/git-issue-4007.dfy | 5 +- Test/git-issues/git-issue-4007.dfy.expect | 3 + .../git-issue-4007.dfy.verifier.expect | 1 - Test/git-issues/git-issue-4012.dfy | 5 +- Test/git-issues/git-issue-4012.dfy.expect | 2 + Test/git-issues/git-issue-425.dfy | 7 +- Test/git-issues/git-issue-425.dfy.expect | 16 + Test/git-issues/git-issue-443.dfy | 3 +- Test/git-issues/git-issue-443.dfy.expect | 2 + Test/git-issues/git-issue-446.dfy | 7 +- Test/git-issues/git-issue-446.dfy.expect | 19 + Test/git-issues/git-issue-446a.dfy | 7 +- Test/git-issues/git-issue-446a.dfy.expect | 19 + Test/git-issues/git-issue-446b.dfy | 7 +- Test/git-issues/git-issue-446b.dfy.expect | 25 + Test/git-issues/git-issue-478-good.dfy | 3 +- Test/git-issues/git-issue-478-good.dfy.expect | 2 + Test/git-issues/git-issue-506.dfy | 6 +- Test/git-issues/git-issue-506.dfy.expect | 26 + Test/git-issues/git-issue-532.dfy | 7 +- Test/git-issues/git-issue-532.dfy.expect | 19 + Test/git-issues/git-issue-549.dfy | 5 +- Test/git-issues/git-issue-549.dfy.expect | 8 + Test/git-issues/git-issue-622$f.dfy | 3 +- Test/git-issues/git-issue-622$f.dfy.expect | 2 + Test/git-issues/git-issue-633.dfy | 7 +- Test/git-issues/git-issue-633.dfy.expect | 10 + Test/git-issues/git-issue-684.dfy | 7 +- Test/git-issues/git-issue-684.dfy.expect | 10 + Test/git-issues/git-issue-686.dfy | 7 +- Test/git-issues/git-issue-686.dfy.expect | 23 + .../git-issue-686.dfy.verifier.expect | 2 - Test/git-issues/git-issue-697.dfy | 3 +- Test/git-issues/git-issue-697.dfy.expect | 2 + Test/git-issues/git-issue-697b.dfy | 3 +- Test/git-issues/git-issue-697b.dfy.expect | 2 + Test/git-issues/git-issue-697d.dfy | 3 +- Test/git-issues/git-issue-697d.dfy.expect | 2 + Test/git-issues/git-issue-697e.dfy | 3 +- Test/git-issues/git-issue-697e.dfy.expect | 2 + Test/git-issues/git-issue-697f.dfy | 3 +- Test/git-issues/git-issue-697f.dfy.expect | 2 + Test/git-issues/git-issue-697g.dfy | 3 +- Test/git-issues/git-issue-697g.dfy.expect | 2 + Test/git-issues/git-issue-698.dfy | 5 +- Test/git-issues/git-issue-698.dfy.expect | 7 + Test/git-issues/git-issue-698b.dfy | 5 +- Test/git-issues/git-issue-698b.dfy.expect | 2 + Test/git-issues/git-issue-701.dfy | 7 +- Test/git-issues/git-issue-701.dfy.expect | 19 + Test/git-issues/git-issue-705.dfy | 7 +- Test/git-issues/git-issue-705.dfy.expect | 13 + Test/git-issues/git-issue-731.dfy | 7 +- Test/git-issues/git-issue-731.dfy.expect | 16 + Test/git-issues/git-issue-731b.dfy | 7 +- Test/git-issues/git-issue-731b.dfy.expect | 13 + Test/git-issues/git-issue-755.dfy | 8 +- Test/git-issues/git-issue-755.dfy.expect | 31 + Test/git-issues/git-issue-755.dfy.go.expect | 7 - Test/git-issues/git-issue-755.dfy.java.expect | 7 - Test/git-issues/git-issue-755.dfy.js.expect | 7 - Test/git-issues/git-issue-784.dfy | 7 +- Test/git-issues/git-issue-784.dfy.expect | 10 + Test/git-issues/git-issue-953.dfy | 8 +- Test/git-issues/git-issue-953.dfy.expect | 36 ++ Test/git-issues/github-issue-3343.dfy | 3 +- Test/git-issues/github-issue-3343.dfy.expect | 2 + Test/hofs/Compilation.dfy | 3 +- Test/hofs/Compilation.dfy.expect | 2 + Test/hofs/Examples.dfy | 3 +- Test/hofs/Examples.dfy.expect | 2 + Test/hofs/Fold.dfy | 3 +- Test/hofs/Fold.dfy.expect | 2 + Test/hofs/Renaming.dfy | 3 +- Test/hofs/Renaming.dfy.expect | 2 + Test/hofs/Requires.dfy | 3 +- Test/hofs/Requires.dfy.expect | 2 + Test/hofs/TreeMapSimple.dfy | 3 +- Test/hofs/TreeMapSimple.dfy.expect | 2 + Test/hofs/VectorUpdate.dfy | 3 +- Test/hofs/VectorUpdate.dfy.expect | 2 + Test/hofs/WhileLoop.dfy | 3 +- Test/hofs/WhileLoop.dfy.expect | 2 + Test/metatests/OutputEncoding.dfy | 8 +- Test/metatests/OutputEncoding.dfy.expect | 16 + Test/patterns/OrPatterns.dfy | 3 +- Test/patterns/OrPatterns.dfy.expect | 2 + Test/patterns/PatternMatching.dfy | 5 +- Test/patterns/PatternMatching.dfy.expect | 3 + .../PatternMatching.dfy.verifier.expect | 1 - Test/traits/TraitCompile.dfy | 10 +- Test/traits/TraitCompile.dfy.expect | 256 ++++++++ Test/traits/TraitExample.dfy | 3 +- Test/traits/TraitExample.dfy.expect | 2 + Test/traits/Traits-Fields.dfy | 3 +- Test/traits/Traits-Fields.dfy.expect | 2 + Test/traits/TraitsMultipleInheritance.dfy | 3 +- .../TraitsMultipleInheritance.dfy.expect | 2 + Test/unicodechars/comp/Collections.dfy | 9 +- Test/unicodechars/comp/Collections.dfy.expect | 512 ++++++++++++++++ .../comp/Collections.dfy.go.expect | 125 ---- .../comp/Collections.dfy.java.expect | 125 ---- .../comp/Collections.dfy.js.expect | 125 ---- .../comp/Collections.dfy.py.expect | 125 ---- Test/unicodechars/comp/Comprehensions.dfy | 11 +- .../comp/Comprehensions.dfy.expect | 260 ++++++++ .../comp/Comprehensions.dfy.py.expect | 62 -- Test/unicodechars/comp/NativeNumbers.dfy | 9 +- .../comp/NativeNumbers.dfy.expect | 256 ++++++++ Test/unicodechars/comp/Numbers.dfy | 11 +- Test/unicodechars/comp/Numbers.dfy.expect | 456 ++++++++++++++ Test/unicodechars/comp/Numbers.dfy.go.expect | 111 ---- Test/unicodechars/comp/Numbers.dfy.py.expect | 111 ---- 506 files changed, 8925 insertions(+), 2285 deletions(-) delete mode 100644 Test/comp/Arrays.dfy.go.expect delete mode 100644 Test/comp/Collections.dfy.go.expect delete mode 100644 Test/comp/Collections.dfy.java.expect delete mode 100644 Test/comp/Collections.dfy.js.expect delete mode 100644 Test/comp/Collections.dfy.py.expect delete mode 100644 Test/comp/Comprehensions.dfy.py.expect delete mode 100644 Test/comp/ComprehensionsNewSyntax.dfy.py.expect delete mode 100644 Test/comp/Datatype.dfy.java.expect delete mode 100644 Test/comp/Datatype.dfy.py.expect delete mode 100644 Test/comp/Numbers.dfy.go.expect delete mode 100644 Test/comp/Numbers.dfy.py.expect delete mode 100644 Test/comp/Poly.dfy.go.expect delete mode 100644 Test/comp/Poly.dfy.py.expect delete mode 100644 Test/comp/Print.dfy.go.expect delete mode 100644 Test/comp/Print.dfy.java.expect delete mode 100644 Test/comp/Print.dfy.js.expect delete mode 100644 Test/comp/TypeParams.dfy.go.expect delete mode 100644 Test/comp/TypeParams.dfy.java.expect delete mode 100644 Test/comp/TypeParams.dfy.js.expect delete mode 100644 Test/comp/TypeParams.dfy.py.expect delete mode 100644 Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect delete mode 100644 Test/dafny0/Deprecation.dfy.verifier.expect delete mode 100644 Test/dafny0/DiscoverBounds.dfy.verifier.expect delete mode 100644 Test/dafny0/ForallCompilationNewSyntax.dfy.verifier.expect delete mode 100644 Test/dafny0/GhostGuards.dfy.verifier.expect delete mode 100644 Test/dafny0/NullComparisonWarnings.dfy.verifier.expect delete mode 100644 Test/dafny0/TypeMembers.dfy.verifier.expect delete mode 100644 Test/dafny0/Wellfounded.dfy.verifier.expect delete mode 100644 Test/dafny2/SmallestMissingNumber-functional.dfy.verifier.expect delete mode 100644 Test/dafny2/StoreAndRetrieve.dfy.verifier.expect delete mode 100644 Test/dafny3/CachedContainer.dfy.verifier.expect delete mode 100644 Test/dafny4/Ackermann.dfy.verifier.expect delete mode 100644 Test/dafny4/ClassRefinement.dfy.verifier.expect delete mode 100644 Test/git-issues/git-issue-032.dfy.verifier.expect delete mode 100644 Test/git-issues/git-issue-1185.dfy.java.expect delete mode 100644 Test/git-issues/git-issue-179.dfy.go.expect delete mode 100644 Test/git-issues/git-issue-179.dfy.java.expect delete mode 100644 Test/git-issues/git-issue-179.dfy.js.expect delete mode 100644 Test/git-issues/git-issue-258.dfy.go.expect delete mode 100644 Test/git-issues/git-issue-258.dfy.js.expect delete mode 100644 Test/git-issues/git-issue-262.dfy.go.expect delete mode 100644 Test/git-issues/git-issue-262.dfy.java.expect delete mode 100644 Test/git-issues/git-issue-262.dfy.js.expect delete mode 100644 Test/git-issues/git-issue-4007.dfy.verifier.expect delete mode 100644 Test/git-issues/git-issue-686.dfy.verifier.expect delete mode 100644 Test/git-issues/git-issue-755.dfy.go.expect delete mode 100644 Test/git-issues/git-issue-755.dfy.java.expect delete mode 100644 Test/git-issues/git-issue-755.dfy.js.expect delete mode 100644 Test/patterns/PatternMatching.dfy.verifier.expect delete mode 100644 Test/unicodechars/comp/Collections.dfy.go.expect delete mode 100644 Test/unicodechars/comp/Collections.dfy.java.expect delete mode 100644 Test/unicodechars/comp/Collections.dfy.js.expect delete mode 100644 Test/unicodechars/comp/Collections.dfy.py.expect delete mode 100644 Test/unicodechars/comp/Comprehensions.dfy.py.expect delete mode 100644 Test/unicodechars/comp/Numbers.dfy.go.expect delete mode 100644 Test/unicodechars/comp/Numbers.dfy.py.expect diff --git a/Test/VerifyThis2015/Problem1.dfy b/Test/VerifyThis2015/Problem1.dfy index ab227e1ab85..20bd154ab8d 100644 --- a/Test/VerifyThis2015/Problem1.dfy +++ b/Test/VerifyThis2015/Problem1.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Rustan Leino // 12 April 2015 diff --git a/Test/VerifyThis2015/Problem1.dfy.expect b/Test/VerifyThis2015/Problem1.dfy.expect index 9e8a46acf90..110dd45761d 100644 --- a/Test/VerifyThis2015/Problem1.dfy.expect +++ b/Test/VerifyThis2015/Problem1.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 18 verified, 0 errors true true false diff --git a/Test/VerifyThis2015/Problem2.dfy b/Test/VerifyThis2015/Problem2.dfy index 9b57395e68b..7466df6d410 100644 --- a/Test/VerifyThis2015/Problem2.dfy +++ b/Test/VerifyThis2015/Problem2.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Rustan Leino // 13 April 2015, and many subsequent enhancements and revisions diff --git a/Test/VerifyThis2015/Problem2.dfy.expect b/Test/VerifyThis2015/Problem2.dfy.expect index e69de29bb2d..b49c1470365 100644 --- a/Test/VerifyThis2015/Problem2.dfy.expect +++ b/Test/VerifyThis2015/Problem2.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 32 verified, 0 errors diff --git a/Test/VerifyThis2015/Problem3.dfy b/Test/VerifyThis2015/Problem3.dfy index 1348acf0f4d..3be60b5d81a 100644 --- a/Test/VerifyThis2015/Problem3.dfy +++ b/Test/VerifyThis2015/Problem3.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Rustan Leino // 12 April 2015 // VerifyThis 2015 diff --git a/Test/VerifyThis2015/Problem3.dfy.expect b/Test/VerifyThis2015/Problem3.dfy.expect index e69de29bb2d..4bb1c2c7251 100644 --- a/Test/VerifyThis2015/Problem3.dfy.expect +++ b/Test/VerifyThis2015/Problem3.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 18 verified, 0 errors diff --git a/Test/c++/arrays.dfy b/Test/c++/arrays.dfy index a02b57e5ff8..47140146468 100644 --- a/Test/c++/arrays.dfy +++ b/Test/c++/arrays.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/arrays.dfy.expect b/Test/c++/arrays.dfy.expect index 2ce9320d8c2..552f9355593 100644 --- a/Test/c++/arrays.dfy.expect +++ b/Test/c++/arrays.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 9 verified, 0 errors 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/c++/bit-vectors.dfy b/Test/c++/bit-vectors.dfy index d27469e4ca5..b7f5d35df07 100644 --- a/Test/c++/bit-vectors.dfy +++ b/Test/c++/bit-vectors.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint64 = i:int | 0 <= i < 0x10000000000000000 diff --git a/Test/c++/bit-vectors.dfy.expect b/Test/c++/bit-vectors.dfy.expect index c491236b12b..e327aa2f73b 100644 --- a/Test/c++/bit-vectors.dfy.expect +++ b/Test/c++/bit-vectors.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 6 verified, 0 errors 084841024 diff --git a/Test/c++/class.dfy b/Test/c++/class.dfy index b10d703c981..3039bd0466b 100644 --- a/Test/c++/class.dfy +++ b/Test/c++/class.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/class.dfy.expect b/Test/c++/class.dfy.expect index 80f1587d0a2..93717ecfa9e 100644 --- a/Test/c++/class.dfy.expect +++ b/Test/c++/class.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 16 verified, 0 errors true true false 103 102 102 106 105 105 203 17 0 18 8 9 69 70 diff --git a/Test/c++/const.dfy b/Test/c++/const.dfy index 1bfb79f0361..5ab9a62e0e9 100644 --- a/Test/c++/const.dfy +++ b/Test/c++/const.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" module Holder { const x:bool := false diff --git a/Test/c++/const.dfy.expect b/Test/c++/const.dfy.expect index e69de29bb2d..823a60a105c 100644 --- a/Test/c++/const.dfy.expect +++ b/Test/c++/const.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 1 verified, 0 errors diff --git a/Test/c++/datatypes.dfy b/Test/c++/datatypes.dfy index f56b7907cc3..9d077b97575 100644 --- a/Test/c++/datatypes.dfy +++ b/Test/c++/datatypes.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/datatypes.dfy.expect b/Test/c++/datatypes.dfy.expect index c122f5af791..efa71b43546 100644 --- a/Test/c++/datatypes.dfy.expect +++ b/Test/c++/datatypes.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 12 verified, 0 errors Case A: 42 Case B: true This is expected diff --git a/Test/c++/generic.dfy b/Test/c++/generic.dfy index 374c545b9c1..7995928f93f 100644 --- a/Test/c++/generic.dfy +++ b/Test/c++/generic.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" class Test { var t:T diff --git a/Test/c++/generic.dfy.expect b/Test/c++/generic.dfy.expect index e69de29bb2d..00a51f822da 100644 --- a/Test/c++/generic.dfy.expect +++ b/Test/c++/generic.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 3 verified, 0 errors diff --git a/Test/c++/hello.dfy b/Test/c++/hello.dfy index 523d3152209..c887337c7e1 100644 --- a/Test/c++/hello.dfy +++ b/Test/c++/hello.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { print "Hello world\n"; diff --git a/Test/c++/hello.dfy.expect b/Test/c++/hello.dfy.expect index 802992c4220..87101fec036 100644 --- a/Test/c++/hello.dfy.expect +++ b/Test/c++/hello.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 0 verified, 0 errors Hello world diff --git a/Test/c++/ints.dfy b/Test/c++/ints.dfy index 4490a54817a..cf7ae63e0da 100644 --- a/Test/c++/ints.dfy +++ b/Test/c++/ints.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype sbyte = i:int | -0x80 <= i < 0x80 newtype byte = i:int | 0 <= i < 0x100 diff --git a/Test/c++/ints.dfy.expect b/Test/c++/ints.dfy.expect index 5fcb7b811cb..aeabccf73b0 100644 --- a/Test/c++/ints.dfy.expect +++ b/Test/c++/ints.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 15 verified, 0 errors Result is z = 42 diff --git a/Test/c++/maps.dfy b/Test/c++/maps.dfy index b88ebd56ad5..951d34e96f1 100644 --- a/Test/c++/maps.dfy +++ b/Test/c++/maps.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/maps.dfy.expect b/Test/c++/maps.dfy.expect index 80642c23257..482aa604356 100644 --- a/Test/c++/maps.dfy.expect +++ b/Test/c++/maps.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 9 verified, 0 errors Identity: This is expected ValuesIdentity: This is expected KeyMembership: This is expected diff --git a/Test/c++/recursion.dfy b/Test/c++/recursion.dfy index 36048aab527..e255b8e6b08 100644 --- a/Test/c++/recursion.dfy +++ b/Test/c++/recursion.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/recursion.dfy.expect b/Test/c++/recursion.dfy.expect index 1ea14926e89..15dbfe2bcd1 100644 --- a/Test/c++/recursion.dfy.expect +++ b/Test/c++/recursion.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 5 verified, 0 errors x !y 3 diff --git a/Test/c++/returns.dfy b/Test/c++/returns.dfy index 9e23121d26a..1ad19a8ce83 100644 --- a/Test/c++/returns.dfy +++ b/Test/c++/returns.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint64 = i:int | 0 <= i < 0x10000000000000000 diff --git a/Test/c++/returns.dfy.expect b/Test/c++/returns.dfy.expect index 48082f72f08..8db105eaba8 100644 --- a/Test/c++/returns.dfy.expect +++ b/Test/c++/returns.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors 12 diff --git a/Test/c++/seqs.dfy b/Test/c++/seqs.dfy index 903208b07f8..f97a42b2851 100644 --- a/Test/c++/seqs.dfy +++ b/Test/c++/seqs.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint8 = i:int | 0 <= i < 0x100 newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/seqs.dfy.expect b/Test/c++/seqs.dfy.expect index 16f5f9d22ea..23f01695bc9 100644 --- a/Test/c++/seqs.dfy.expect +++ b/Test/c++/seqs.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 11 verified, 0 errors Head second:2 Trunc first:2 Head trunc: This is expected diff --git a/Test/c++/sets.dfy b/Test/c++/sets.dfy index 10e2fe0501d..5bfb6f80f1e 100644 --- a/Test/c++/sets.dfy +++ b/Test/c++/sets.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/sets.dfy.expect b/Test/c++/sets.dfy.expect index 52a1e67717e..1c8ede8765e 100644 --- a/Test/c++/sets.dfy.expect +++ b/Test/c++/sets.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 8 verified, 0 errors Identity: This is expected ValuesIdentity: This is expected DiffIdentity: This is expected diff --git a/Test/c++/while.dfy b/Test/c++/while.dfy index 0c0d7ee98df..40dc4699d11 100644 --- a/Test/c++/while.dfy +++ b/Test/c++/while.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/while.dfy.expect b/Test/c++/while.dfy.expect index 9a44de1e2a3..8dfe872ca51 100644 --- a/Test/c++/while.dfy.expect +++ b/Test/c++/while.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 2 verified, 0 errors 0 1 2 diff --git a/Test/comp/Arrays.dfy b/Test/comp/Arrays.dfy index acb4225b358..566f052e0a6 100644 --- a/Test/comp/Arrays.dfy +++ b/Test/comp/Arrays.dfy @@ -1,5 +1,10 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false +// RUN: %baredafny verify %args --relax-definite-assignment "%s" > "%t" +// RUN: %baredafny run --unicode-char:false --no-verify --target=cs %args "%s" >> "%t" +// RUN: %baredafny run --unicode-char:false --no-verify --target=js %args "%s" >> "%t" +// RUN: %baredafny run --unicode-char:false --no-verify --target=go %args "%s" >> "%t" +// RUN: %baredafny run --unicode-char:false --no-verify --target=java %args "%s" >> "%t" +// RUN: %baredafny run --unicode-char:false --no-verify --target=py %args "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method LinearSearch(a: array, key: int) returns (n: nat) ensures 0 <= n <= a.Length diff --git a/Test/comp/Arrays.dfy.expect b/Test/comp/Arrays.dfy.expect index ef3b884f98a..8559e2f3c5c 100644 --- a/Test/comp/Arrays.dfy.expect +++ b/Test/comp/Arrays.dfy.expect @@ -1,3 +1,399 @@ + +Dafny program verifier finished with 89 verified, 0 errors + +Dafny program verifier did not attempt verification +0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 +17 +[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] +[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] +[20, 21, 22] +[0, 1, 2, 3, 4, 5, 6, 7] +[0, 1, 2, 3, 4, 5, 6, 7] +d d d +h e l l o +0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 +1 0 0 0 0 +0 1 0 0 0 +0 0 1 0 0 +cube dims: 3 0 4 +[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] +It's null +hi hello tjena hej hola +hi hello tjena hej hola +hi hello tjena hej hola +d d d +h e l l o +8 8 8 8 +true true true +1 1 1 1 1 +2 2 2 2 2 +3 3 3 3 3 +4 4 4 4 4 +(d, 8, true, 1, 2, 3, 4) +D D D +0 0 0 0 +false false false +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +(D, 0, false, 0, 0, 0, 0) +8 0 +false 0 null null +8 8 +8 8 +8 8 +8 8 +D D D +D D D +D D D +D D r (D, D, r) +D D r +[19, 18, 9, 8] + true + false + true + false + false + false + true + true + false + true + false + true + true + false +hello there +false false +true true +false false +false false +uninitialized bytes: array[0, 0, 0] +bytes from display: array[7, 8, 9] +bytes from lambda: array[20, 21, 22] +uninitialized 1bytes: array[1, 1, 1] +1bytes from display: array[7, 8, 9] +1bytes from lambda: array[20, 21, 22] +17 19 18 20 +100 200 300 120 38 +hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +DDDDDabcdeabcdeggggg +DDDDDabcdeabcdeggggg +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] +DDDDDDDDDDagggggaggg +0 69 50 +0 69 50 +D k n +false false +true true +false false +false false +true true + +Dafny program verifier did not attempt verification +0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 +17 +[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] +[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] +[20, 21, 22] +[0, 1, 2, 3, 4, 5, 6, 7] +[0, 1, 2, 3, 4, 5, 6, 7] +d d d +h e l l o +0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 +1 0 0 0 0 +0 1 0 0 0 +0 0 1 0 0 +cube dims: 3 0 4 +[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] +It's null +hi hello tjena hej hola +hi hello tjena hej hola +hi hello tjena hej hola +d d d +h e l l o +8 8 8 8 +true true true +1 1 1 1 1 +2 2 2 2 2 +3 3 3 3 3 +4 4 4 4 4 +(d, 8, true, 1, 2, 3, 4) +D D D +0 0 0 0 +false false false +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +(D, 0, false, 0, 0, 0, 0) +8 0 +false 0 null null +8 8 +8 8 +8 8 +8 8 +D D D +D D D +D D D +D D r (D, D, r) +D D r +[19, 18, 9, 8] + true + false + true + false + false + false + true + true + false + true + false + true + true + false +hello there +false false +true true +false false +false false +uninitialized bytes: array[0, 0, 0] +bytes from display: array[7, 8, 9] +bytes from lambda: array[20, 21, 22] +uninitialized 1bytes: array[1, 1, 1] +1bytes from display: array[7, 8, 9] +1bytes from lambda: array[20, 21, 22] +17 19 18 20 +100 200 300 120 38 +hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +DDDDDabcdeabcdeggggg +DDDDDabcdeabcdeggggg +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] +DDDDDDDDDDagggggaggg +0 69 50 +0 69 50 +D k n +false false +true true +false false +false false +true true + +Dafny program verifier did not attempt verification +0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 +17 +[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] +[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] +[20, 21, 22] +[0, 1, 2, 3, 4, 5, 6, 7] +[0, 1, 2, 3, 4, 5, 6, 7] +d d d +h e l l o +0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 +1 0 0 0 0 +0 1 0 0 0 +0 0 1 0 0 +cube dims: 3 0 4 +[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] +It's null +hi hello tjena hej hola +hi hello tjena hej hola +hi hello tjena hej hola +d d d +h e l l o +8 8 8 8 +true true true +1 1 1 1 1 +2 2 2 2 2 +3 3 3 3 3 +4 4 4 4 4 +(d, 8, true, 1, 2, 3, 4) +D D D +0 0 0 0 +false false false +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +(D, 0, false, 0, 0, 0, 0) +8 0 +false 0 null null +8 8 +8 8 +8 8 +8 8 +D D D +D D D +D D D +D D r (D, D, r) +D D r +[19, 18, 9, 8] + true + false + true + false + false + false + true + true + false + true + false + true + true + false +hello there +false false +true true +false false +false false +uninitialized bytes: array[0, 0, 0] +bytes from display: array[7, 8, 9] +bytes from lambda: array[20, 21, 22] +uninitialized 1bytes: array[1, 1, 1] +1bytes from display: array[7, 8, 9] +1bytes from lambda: array[20, 21, 22] +17 19 18 20 +100 200 300 120 38 +hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +DDDDDabcdeabcdeggggg +DDDDDabcdeabcdeggggg +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] +[D, D, D, D, D, D, D, D, D, D, a, g, g, g, g, g, a, g, g, g] +0 69 50 +0 69 50 +D k n +false false +true true +false false +false false +true true + +Dafny program verifier did not attempt verification +0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 +17 +[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] +[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] +[20, 21, 22] +[0, 1, 2, 3, 4, 5, 6, 7] +[0, 1, 2, 3, 4, 5, 6, 7] +d d d +h e l l o +0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 +1 0 0 0 0 +0 1 0 0 0 +0 0 1 0 0 +cube dims: 3 0 4 +[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] +It's null +hi hello tjena hej hola +hi hello tjena hej hola +hi hello tjena hej hola +d d d +h e l l o +8 8 8 8 +true true true +1 1 1 1 1 +2 2 2 2 2 +3 3 3 3 3 +4 4 4 4 4 +(d, 8, true, 1, 2, 3, 4) +D D D +0 0 0 0 +false false false +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +(D, 0, false, 0, 0, 0, 0) +8 0 +false 0 null null +8 8 +8 8 +8 8 +8 8 +D D D +D D D +D D D +D D r (D, D, r) +D D r +[19, 18, 9, 8] + true + false + true + false + false + false + true + true + false + true + false + true + true + false +hello there +false false +true true +false false +false false +uninitialized bytes: array[0, 0, 0] +bytes from display: array[7, 8, 9] +bytes from lambda: array[20, 21, 22] +uninitialized 1bytes: array[1, 1, 1] +1bytes from display: array[7, 8, 9] +1bytes from lambda: array[20, 21, 22] +17 19 18 20 +100 200 300 120 38 +hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +DDDDDabcdeabcdeggggg +DDDDDabcdeabcdeggggg +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] +DDDDDDDDDDagggggaggg +0 69 50 +0 69 50 +D k n +false false +true true +false false +false false +true true + +Dafny program verifier did not attempt verification 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/comp/Arrays.dfy.go.expect b/Test/comp/Arrays.dfy.go.expect deleted file mode 100644 index 1217623d90c..00000000000 --- a/Test/comp/Arrays.dfy.go.expect +++ /dev/null @@ -1,96 +0,0 @@ -0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 -17 -[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] -[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] -[20, 21, 22] -[0, 1, 2, 3, 4, 5, 6, 7] -[0, 1, 2, 3, 4, 5, 6, 7] -d d d -h e l l o -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -1 0 0 0 0 -0 1 0 0 0 -0 0 1 0 0 -cube dims: 3 0 4 -[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] -It's null -hi hello tjena hej hola -hi hello tjena hej hola -hi hello tjena hej hola -d d d -h e l l o -8 8 8 8 -true true true -1 1 1 1 1 -2 2 2 2 2 -3 3 3 3 3 -4 4 4 4 4 -(d, 8, true, 1, 2, 3, 4) -D D D -0 0 0 0 -false false false -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -(D, 0, false, 0, 0, 0, 0) -8 0 -false 0 null null -8 8 -8 8 -8 8 -8 8 -D D D -D D D -D D D -D D r (D, D, r) -D D r -[19, 18, 9, 8] - true - false - true - false - false - false - true - true - false - true - false - true - true - false -hello there -false false -true true -false false -false false -uninitialized bytes: array[0, 0, 0] -bytes from display: array[7, 8, 9] -bytes from lambda: array[20, 21, 22] -uninitialized 1bytes: array[1, 1, 1] -1bytes from display: array[7, 8, 9] -1bytes from lambda: array[20, 21, 22] -17 19 18 20 -100 200 300 120 38 -hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -DDDDDabcdeabcdeggggg -DDDDDabcdeabcdeggggg -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] -[D, D, D, D, D, D, D, D, D, D, a, g, g, g, g, g, a, g, g, g] -0 69 50 -0 69 50 -D k n -false false -true true -false false -false false -true true diff --git a/Test/comp/AsIs-Compile.dfy b/Test/comp/AsIs-Compile.dfy index 319847564e2..47084ed7633 100644 --- a/Test/comp/AsIs-Compile.dfy +++ b/Test/comp/AsIs-Compile.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" +// RUN: %baredafny verify %args "%s" > "%t" +// RUN: %baredafny run --no-verify -t=cs %args "%s" >> "%t" +// RUN: %baredafny run --no-verify -t=js %args "%s" >> "%t" +// RUN: %baredafny run --no-verify -t=go %args "%s" >> "%t" +// RUN: %baredafny run --no-verify -t=java %args "%s" >> "%t" +// RUN: %baredafny run --no-verify -t=py %args "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var a: A, b: B, c: C, k: K, l: L := new M, new M, new M, new K, new L; diff --git a/Test/comp/AsIs-Compile.dfy.expect b/Test/comp/AsIs-Compile.dfy.expect index acc78c6e155..36dfe46e91d 100644 --- a/Test/comp/AsIs-Compile.dfy.expect +++ b/Test/comp/AsIs-Compile.dfy.expect @@ -1,3 +1,163 @@ + +Dafny program verifier finished with 6 verified, 0 errors + +Dafny program verifier did not attempt verification +true true true true true +true true true true true +IsComparisons ---- +false true false false + true false false + true false +false false true false + false true false + false false +false false false true + false false true + false true +false true false false + false true false + false false +true true +false true +TestNullIs ---- +true true +true true +true true true true true true +true true true true true true +true true true true true true +true true true true true true +true true +false true +true true true true true true +false true false true false true +true true true true true true +false true false true false true +TestFromTraits ---- +5 +0 +4 +4 +4 +4 + +Dafny program verifier did not attempt verification +true true true true true +true true true true true +IsComparisons ---- +false true false false + true false false + true false +false false true false + false true false + false false +false false false true + false false true + false true +false true false false + false true false + false false +true true +false true +TestNullIs ---- +true true +true true +true true true true true true +true true true true true true +true true true true true true +true true true true true true +true true +false true +true true true true true true +false true false true false true +true true true true true true +false true false true false true +TestFromTraits ---- +5 +0 +4 +4 +4 +4 + +Dafny program verifier did not attempt verification +true true true true true +true true true true true +IsComparisons ---- +false true false false + true false false + true false +false false true false + false true false + false false +false false false true + false false true + false true +false true false false + false true false + false false +true true +false true +TestNullIs ---- +true true +true true +true true true true true true +true true true true true true +true true true true true true +true true true true true true +true true +false true +true true true true true true +false true false true false true +true true true true true true +false true false true false true +TestFromTraits ---- +5 +0 +4 +4 +4 +4 + +Dafny program verifier did not attempt verification +true true true true true +true true true true true +IsComparisons ---- +false true false false + true false false + true false +false false true false + false true false + false false +false false false true + false false true + false true +false true false false + false true false + false false +true true +false true +TestNullIs ---- +true true +true true +true true true true true true +true true true true true true +true true true true true true +true true true true true true +true true +false true +true true true true true true +false true false true false true +true true true true true true +false true false true false true +TestFromTraits ---- +5 +0 +4 +4 +4 +4 + +Dafny program verifier did not attempt verification true true true true true true true true true true IsComparisons ---- diff --git a/Test/comp/AutoInit.dfy b/Test/comp/AutoInit.dfy index c0e752efa36..b284619a80c 100644 --- a/Test/comp/AutoInit.dfy +++ b/Test/comp/AutoInit.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // This file tests the compilation of some default values. It also includes some // regression tests for equality, printing, and tuples. diff --git a/Test/comp/AutoInit.dfy.expect b/Test/comp/AutoInit.dfy.expect index a282fc36633..c8ed022d09b 100644 --- a/Test/comp/AutoInit.dfy.expect +++ b/Test/comp/AutoInit.dfy.expect @@ -1,3 +1,163 @@ + +Dafny program verifier finished with 21 verified, 0 errors + +Dafny program verifier did not attempt verification +3 false 0 +false false true +() (0, false, false, []) +(null, 0) (null, 0) true +(null, null, null, 0) (null, null, null, 0) true +true false false true +true false false true +17 +1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or +(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) +1 +ww == null -- yes, as expected +true true true true +true true true +true true true +null null +null null +null null null +null null null +null null null +null null null +null null +null null null +null null null +DatatypeDefaultValues_Compile.EnumDatatype.MakeZero + DatatypeDefaultValues_Compile.IntList.Nil + 0 +DatatypeDefaultValues_Compile.GenericTree.Leaf + DatatypeDefaultValues_Compile.Complicated.ComplA(0, false) + DatatypeDefaultValues_Compile.CellCell.MakeCellCell(0) +null + null +ImportedTypes_mLibrary_Compile.Color.Red(0) and ImportedTypes_mLibrary_Compile.Color.Red(0) +ImportedTypes_mLibrary_Compile.CoColor.Yellow and ImportedTypes_mLibrary_Compile.CoColor.Yellow +ImportedTypes_mLibrary_Compile.MoColor.MoYellow and ImportedTypes_mLibrary_Compile.MoColor.MoYellow +0.0 and 0.0 +13 + +Dafny program verifier did not attempt verification +3 false 0 +false false true +() (0, false, false, []) +(null, 0) (null, 0) true +(null, null, null, 0) (null, null, null, 0) true +true false false true +true false false true +17 +1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or +(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) +1 +ww == null -- yes, as expected +true true true true +true true true +true true true +null null +null null +null null null +null null null +null null null +null null null +null null +null null null +null null null +DatatypeDefaultValues_Compile.EnumDatatype.MakeZero + DatatypeDefaultValues_Compile.IntList.Nil + 0 +DatatypeDefaultValues_Compile.GenericTree.Leaf + DatatypeDefaultValues_Compile.Complicated.ComplA(0, false) + DatatypeDefaultValues_Compile.CellCell.MakeCellCell(0) +null + null +ImportedTypes_mLibrary_Compile.Color.Red(0) and ImportedTypes_mLibrary_Compile.Color.Red(0) +ImportedTypes_mLibrary_Compile.CoColor.Yellow and ImportedTypes_mLibrary_Compile.CoColor.Yellow +ImportedTypes_mLibrary_Compile.MoColor.MoYellow and ImportedTypes_mLibrary_Compile.MoColor.MoYellow +0.0 and 0.0 +13 + +Dafny program verifier did not attempt verification +3 false 0 +false false true +() (0, false, false, []) +(null, 0) (null, 0) true +(null, null, null, 0) (null, null, null, 0) true +true false false true +true false false true +17 +1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or +(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) +1 +ww == null -- yes, as expected +true true true true +true true true +true true true +null null +null null +null null null +null null null +null null null +null null null +null null +null null null +null null null +DatatypeDefaultValues_Compile.EnumDatatype.MakeZero + DatatypeDefaultValues_Compile.IntList.Nil + 0 +DatatypeDefaultValues_Compile.GenericTree.Leaf + DatatypeDefaultValues_Compile.Complicated.ComplA(0, false) + DatatypeDefaultValues_Compile.CellCell.MakeCellCell(0) +null + null +ImportedTypes_mLibrary_Compile.Color.Red(0) and ImportedTypes_mLibrary_Compile.Color.Red(0) +ImportedTypes_mLibrary_Compile.CoColor.Yellow and ImportedTypes_mLibrary_Compile.CoColor.Yellow +ImportedTypes_mLibrary_Compile.MoColor.MoYellow and ImportedTypes_mLibrary_Compile.MoColor.MoYellow +0.0 and 0.0 +13 + +Dafny program verifier did not attempt verification +3 false 0 +false false true +() (0, false, false, []) +(null, 0) (null, 0) true +(null, null, null, 0) (null, null, null, 0) true +true false false true +true false false true +17 +1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or +(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) +1 +ww == null -- yes, as expected +true true true true +true true true +true true true +null null +null null +null null null +null null null +null null null +null null null +null null +null null null +null null null +DatatypeDefaultValues_Compile.EnumDatatype.MakeZero + DatatypeDefaultValues_Compile.IntList.Nil + 0 +DatatypeDefaultValues_Compile.GenericTree.Leaf + DatatypeDefaultValues_Compile.Complicated.ComplA(0, false) + DatatypeDefaultValues_Compile.CellCell.MakeCellCell(0) +null + null +ImportedTypes_mLibrary_Compile.Color.Red(0) and ImportedTypes_mLibrary_Compile.Color.Red(0) +ImportedTypes_mLibrary_Compile.CoColor.Yellow and ImportedTypes_mLibrary_Compile.CoColor.Yellow +ImportedTypes_mLibrary_Compile.MoColor.MoYellow and ImportedTypes_mLibrary_Compile.MoColor.MoYellow +0.0 and 0.0 +13 + +Dafny program verifier did not attempt verification 3 false 0 false false true () (0, false, false, []) diff --git a/Test/comp/ByMethodCompilation.dfy b/Test/comp/ByMethodCompilation.dfy index 7432f72f7d4..ea62d84b21e 100644 --- a/Test/comp/ByMethodCompilation.dfy +++ b/Test/comp/ByMethodCompilation.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var four := Four(); diff --git a/Test/comp/ByMethodCompilation.dfy.expect b/Test/comp/ByMethodCompilation.dfy.expect index d61780e3fb8..1519a955b0c 100644 --- a/Test/comp/ByMethodCompilation.dfy.expect +++ b/Test/comp/ByMethodCompilation.dfy.expect @@ -1,3 +1,35 @@ + +Dafny program verifier finished with 13 verified, 0 errors + +Dafny program verifier did not attempt verification +hello +four is 4 +Recursive(7) = 14 +NonCompilableFunction: 4 7 +Sums: 14 3 + +Dafny program verifier did not attempt verification +hello +four is 4 +Recursive(7) = 14 +NonCompilableFunction: 4 7 +Sums: 14 3 + +Dafny program verifier did not attempt verification +hello +four is 4 +Recursive(7) = 14 +NonCompilableFunction: 4 7 +Sums: 14 3 + +Dafny program verifier did not attempt verification +hello +four is 4 +Recursive(7) = 14 +NonCompilableFunction: 4 7 +Sums: 14 3 + +Dafny program verifier did not attempt verification hello four is 4 Recursive(7) = 14 diff --git a/Test/comp/Calls.dfy b/Test/comp/Calls.dfy index c56bc3e5286..4a4916aea0c 100644 --- a/Test/comp/Calls.dfy +++ b/Test/comp/Calls.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" function F(x: int, y: bool): int { x + if y then 2 else 3 diff --git a/Test/comp/Calls.dfy.expect b/Test/comp/Calls.dfy.expect index cf4e1bc155b..3317b8be164 100644 --- a/Test/comp/Calls.dfy.expect +++ b/Test/comp/Calls.dfy.expect @@ -1,3 +1,43 @@ + +Dafny program verifier finished with 6 verified, 0 errors + +Dafny program verifier did not attempt verification +5 0 0 false 0 false 0 +5 3 5 3 5 3 +5 3 5 3 5 3 +15 +[0, 1, 2, 4] +[0, 2, 4] +--> 5 <-- + +Dafny program verifier did not attempt verification +5 0 0 false 0 false 0 +5 3 5 3 5 3 +5 3 5 3 5 3 +15 +[0, 1, 2, 4] +[0, 2, 4] +--> 5 <-- + +Dafny program verifier did not attempt verification +5 0 0 false 0 false 0 +5 3 5 3 5 3 +5 3 5 3 5 3 +15 +[0, 1, 2, 4] +[0, 2, 4] +--> 5 <-- + +Dafny program verifier did not attempt verification +5 0 0 false 0 false 0 +5 3 5 3 5 3 +5 3 5 3 5 3 +15 +[0, 1, 2, 4] +[0, 2, 4] +--> 5 <-- + +Dafny program verifier did not attempt verification 5 0 0 false 0 false 0 5 3 5 3 5 3 5 3 5 3 5 3 diff --git a/Test/comp/Class.dfy b/Test/comp/Class.dfy index 23591e43450..fb994f008e7 100644 --- a/Test/comp/Class.dfy +++ b/Test/comp/Class.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" class MyClass { var a: int diff --git a/Test/comp/Class.dfy.expect b/Test/comp/Class.dfy.expect index 47e49966664..ba1482a164b 100644 --- a/Test/comp/Class.dfy.expect +++ b/Test/comp/Class.dfy.expect @@ -1,3 +1,75 @@ + +Dafny program verifier finished with 16 verified, 0 errors + +Dafny program verifier did not attempt verification +true true false +103 103 103 106 106 106 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +0 18 9 70 +0 18 9 70 +0 18 9 70 +70 +hi later +21 4 42 5 1 +TestGhostables +15 +Init called with x=15 +16 + +Dafny program verifier did not attempt verification +true true false +103 103 103 106 106 106 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +0 18 9 70 +0 18 9 70 +0 18 9 70 +70 +hi later +21 4 42 5 1 +TestGhostables +15 +Init called with x=15 +16 + +Dafny program verifier did not attempt verification +true true false +103 103 103 106 106 106 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +0 18 9 70 +0 18 9 70 +0 18 9 70 +70 +hi later +21 4 42 5 1 +TestGhostables +15 +Init called with x=15 +16 + +Dafny program verifier did not attempt verification +true true false +103 103 103 106 106 106 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +0 18 9 70 +0 18 9 70 +0 18 9 70 +70 +hi later +21 4 42 5 1 +TestGhostables +15 +Init called with x=15 +16 + +Dafny program verifier did not attempt verification true true false 103 103 103 106 106 106 203 17 0 18 8 9 69 70 diff --git a/Test/comp/Collections.dfy b/Test/comp/Collections.dfy index 9457e44b170..104eb9f90ac 100644 --- a/Test/comp/Collections.dfy +++ b/Test/comp/Collections.dfy @@ -1,5 +1,10 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { Sets(); diff --git a/Test/comp/Collections.dfy.expect b/Test/comp/Collections.dfy.expect index e705d887a7d..2361c1a88db 100644 --- a/Test/comp/Collections.dfy.expect +++ b/Test/comp/Collections.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 40 verified, 0 errors + +Dafny program verifier did not attempt verification Sets: {} {17, 82} {12, 17} cardinality: 0 2 2 union: {17, 82} {12, 17, 82} @@ -123,3 +127,511 @@ Multiset=== 1 3 |s|=2 |u|=4 1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Yellow := 21, Color.Blue := 30] +keys: {Color.Yellow, Color.Blue} +values: {21, 30} +items: {(Color.Yellow, 21), (Color.Blue, 30)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {21, 30} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/comp/Collections.dfy.go.expect b/Test/comp/Collections.dfy.go.expect deleted file mode 100644 index 309d0c550c4..00000000000 --- a/Test/comp/Collections.dfy.go.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/comp/Collections.dfy.java.expect b/Test/comp/Collections.dfy.java.expect deleted file mode 100644 index ed929a4d34c..00000000000 --- a/Test/comp/Collections.dfy.java.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Yellow := 21, Color.Blue := 30] -keys: {Color.Yellow, Color.Blue} -values: {21, 30} -items: {(Color.Yellow, 21), (Color.Blue, 30)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/comp/Collections.dfy.js.expect b/Test/comp/Collections.dfy.js.expect deleted file mode 100644 index 309d0c550c4..00000000000 --- a/Test/comp/Collections.dfy.js.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/comp/Collections.dfy.py.expect b/Test/comp/Collections.dfy.py.expect deleted file mode 100644 index 61b4217bbaf..00000000000 --- a/Test/comp/Collections.dfy.py.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {21, 30} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/comp/Comprehensions.dfy b/Test/comp/Comprehensions.dfy index 73c43b22bfa..29ac368f2c3 100644 --- a/Test/comp/Comprehensions.dfy +++ b/Test/comp/Comprehensions.dfy @@ -1,5 +1,10 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { AssignSuchThat(); diff --git a/Test/comp/Comprehensions.dfy.expect b/Test/comp/Comprehensions.dfy.expect index c9703fc9397..18159ddde0a 100644 --- a/Test/comp/Comprehensions.dfy.expect +++ b/Test/comp/Comprehensions.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 32 verified, 0 errors + +Dafny program verifier did not attempt verification x=13 y=14 x=13 y=14 b=yes true false @@ -60,3 +64,259 @@ true true [137438953474, 137438953475, 137438953476, 137438953477, 137438953479] cdefh cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[14 := 7, 12 := 6, 13 := 6] +map[18 := 14, 17 := 13, 16 := 12] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh diff --git a/Test/comp/Comprehensions.dfy.py.expect b/Test/comp/Comprehensions.dfy.py.expect deleted file mode 100644 index aeaa31fc0f3..00000000000 --- a/Test/comp/Comprehensions.dfy.py.expect +++ /dev/null @@ -1,62 +0,0 @@ -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[14 := 7, 12 := 6, 13 := 6] -map[18 := 14, 17 := 13, 16 := 12] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh diff --git a/Test/comp/ComprehensionsNewSyntax.dfy b/Test/comp/ComprehensionsNewSyntax.dfy index 6cd88aeb4f7..a324b622e8a 100644 --- a/Test/comp/ComprehensionsNewSyntax.dfy +++ b/Test/comp/ComprehensionsNewSyntax.dfy @@ -1,5 +1,10 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { Quantifier(); diff --git a/Test/comp/ComprehensionsNewSyntax.dfy.expect b/Test/comp/ComprehensionsNewSyntax.dfy.expect index b70314ff87b..408769f4b67 100644 --- a/Test/comp/ComprehensionsNewSyntax.dfy.expect +++ b/Test/comp/ComprehensionsNewSyntax.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 10 verified, 0 errors + +Dafny program verifier did not attempt verification true false true false map[12 := 6, 13 := 6, 14 := 7] @@ -32,3 +36,147 @@ false false false false true true true true false false false false true true true true + +Dafny program verifier did not attempt verification +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true + +Dafny program verifier did not attempt verification +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true + +Dafny program verifier did not attempt verification +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true + +Dafny program verifier did not attempt verification +true false +true false +map[14 := 7, 12 := 6, 13 := 6] +map[18 := 14, 17 := 13, 16 := 12] +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true diff --git a/Test/comp/ComprehensionsNewSyntax.dfy.py.expect b/Test/comp/ComprehensionsNewSyntax.dfy.py.expect deleted file mode 100644 index b19cef0ba0e..00000000000 --- a/Test/comp/ComprehensionsNewSyntax.dfy.py.expect +++ /dev/null @@ -1,34 +0,0 @@ -true false -true false -map[14 := 7, 12 := 6, 13 := 6] -map[18 := 14, 17 := 13, 16 := 12] -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true diff --git a/Test/comp/CovariantCollections.dfy b/Test/comp/CovariantCollections.dfy index 6dd73ee7fea..12301df3b09 100644 --- a/Test/comp/CovariantCollections.dfy +++ b/Test/comp/CovariantCollections.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { Sequences(); diff --git a/Test/comp/CovariantCollections.dfy.expect b/Test/comp/CovariantCollections.dfy.expect index a9d00f4a65d..e029d3abc3b 100644 --- a/Test/comp/CovariantCollections.dfy.expect +++ b/Test/comp/CovariantCollections.dfy.expect @@ -1,3 +1,223 @@ + +Dafny program verifier finished with 25 verified, 0 errors + +Dafny program verifier did not attempt verification +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17] [12, 17] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + comprehension: {82} + union: {17, 82} {12, 17, 82} + intersection: {} {17} + difference: {} {82} + subset: true false true + proper subset: true false false + membership: false true true +Multisets: {} {17, 17, 82, 82} {12, 17} + cardinality: 0 4 2 + update: {17, 17, 42, 42, 42} {12, 17, 42} + multiplicity: 2 0 20 + union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} + intersection: {} {17, 82, 82} + difference: {} {17, 82, 82} + subset: true false true + proper subset: true false false + membership: false true true +Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} + cardinality: 0 3 2 + update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} + comprehension: {17 := 12, 82 := 12} + Keys: {12, 17, 82} + Values: {17, 82} + eq: false true true + eq: true true true true true true + eq: true true true true true true + eq: true false true false true false + eq: true false true false true false + eq: true true true true true true + eq: true true true true true true +set: {20, 30} +multiset: {20, 30} +seq: [20, 30] +map: {20 := 30, 30 := 20} +true +true +1 1 +1 1 + +Dafny program verifier did not attempt verification +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17] [12, 17] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + comprehension: {82} + union: {17, 82} {12, 17, 82} + intersection: {} {17} + difference: {} {82} + subset: true false true + proper subset: true false false + membership: false true true +Multisets: {} {17, 17, 82, 82} {12, 17} + cardinality: 0 4 2 + update: {17, 17, 42, 42, 42} {12, 17, 42} + multiplicity: 2 0 20 + union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} + intersection: {} {17, 82, 82} + difference: {} {17, 82, 82} + subset: true false true + proper subset: true false false + membership: false true true +Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} + cardinality: 0 3 2 + update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} + comprehension: {17 := 12, 82 := 12} + Keys: {12, 17, 82} + Values: {17, 82} + eq: false true true + eq: true true true true true true + eq: true true true true true true + eq: true false true false true false + eq: true false true false true false + eq: true true true true true true + eq: true true true true true true +set: {20, 30} +multiset: {20, 30} +seq: [20, 30] +map: {20 := 30, 30 := 20} +true +true +1 1 +1 1 + +Dafny program verifier did not attempt verification +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17] [12, 17] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + comprehension: {82} + union: {17, 82} {12, 17, 82} + intersection: {} {17} + difference: {} {82} + subset: true false true + proper subset: true false false + membership: false true true +Multisets: {} {17, 17, 82, 82} {12, 17} + cardinality: 0 4 2 + update: {17, 17, 42, 42, 42} {12, 17, 42} + multiplicity: 2 0 20 + union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} + intersection: {} {17, 82, 82} + difference: {} {17, 82, 82} + subset: true false true + proper subset: true false false + membership: false true true +Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} + cardinality: 0 3 2 + update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} + comprehension: {17 := 12, 82 := 12} + Keys: {12, 17, 82} + Values: {17, 82} + eq: false true true + eq: true true true true true true + eq: true true true true true true + eq: true false true false true false + eq: true false true false true false + eq: true true true true true true + eq: true true true true true true +set: {20, 30} +multiset: {20, 30} +seq: [20, 30] +map: {20 := 30, 30 := 20} +true +true +1 1 +1 1 + +Dafny program verifier did not attempt verification +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17] [12, 17] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + comprehension: {82} + union: {17, 82} {12, 17, 82} + intersection: {} {17} + difference: {} {82} + subset: true false true + proper subset: true false false + membership: false true true +Multisets: {} {17, 17, 82, 82} {12, 17} + cardinality: 0 4 2 + update: {17, 17, 42, 42, 42} {12, 17, 42} + multiplicity: 2 0 20 + union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} + intersection: {} {17, 82, 82} + difference: {} {17, 82, 82} + subset: true false true + proper subset: true false false + membership: false true true +Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} + cardinality: 0 3 2 + update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} + comprehension: {17 := 12, 82 := 12} + Keys: {12, 17, 82} + Values: {17, 82} + eq: false true true + eq: true true true true true true + eq: true true true true true true + eq: true false true false true false + eq: true false true false true false + eq: true true true true true true + eq: true true true true true true +set: {20, 30} +multiset: {20, 30} +seq: [20, 30] +map: {20 := 30, 30 := 20} +true +true +1 1 +1 1 + +Dafny program verifier did not attempt verification Sequences: [] [17, 82, 17, 82] [12, 17] cardinality: 0 4 2 update: [42, 82, 17, 82] [42, 17] diff --git a/Test/comp/Datatype.dfy b/Test/comp/Datatype.dfy index 3b3f0641c1a..0f4bab7c469 100644 --- a/Test/comp/Datatype.dfy +++ b/Test/comp/Datatype.dfy @@ -1,5 +1,10 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype List = Nil | Cons(head: int, tail: List) diff --git a/Test/comp/Datatype.dfy.expect b/Test/comp/Datatype.dfy.expect index 93e37a9562a..84dceeb16e6 100644 --- a/Test/comp/Datatype.dfy.expect +++ b/Test/comp/Datatype.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 12 verified, 0 errors + +Dafny program verifier did not attempt verification List.Nil List.Cons(5, List.Nil) (List.Nil, List.Cons(5, List.Nil)) @@ -20,3 +24,99 @@ Record.Record(58, true) 199 800 801 802 800 801 802 + +Dafny program verifier did not attempt verification +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) +0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) +Stream.Next +Stream.Next +{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} +CoBerry.Hjortron true true false +false +42 'q' hello +1701 +Record.Record(58, true) +199 +800 801 802 +800 801 802 + +Dafny program verifier did not attempt verification +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) +0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) +Stream.Next +Stream.Next +{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} +CoBerry.Hjortron true true false +false +42 'q' hello +1701 +Record.Record(58, true) +199 +800 801 802 +800 801 802 + +Dafny program verifier did not attempt verification +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) +0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) +Stream.Next +Stream.Next +{Berry.Jordgubb, Berry.Smultron, Berry.Hallon} +CoBerry.Hjortron true true false +false +42 'q' hello +1701 +Record.Record(58, true) +199 +800 801 802 +800 801 802 + +Dafny program verifier did not attempt verification +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) +0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) +Stream.Next +Stream.Next +{Berry.Hallon, Berry.Smultron, Berry.Jordgubb} +CoBerry.Hjortron true true false +false +42 'q' hello +1701 +Record.Record(58, true) +199 +800 801 802 +800 801 802 diff --git a/Test/comp/Datatype.dfy.java.expect b/Test/comp/Datatype.dfy.java.expect deleted file mode 100644 index e5a32fd58bc..00000000000 --- a/Test/comp/Datatype.dfy.java.expect +++ /dev/null @@ -1,22 +0,0 @@ -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) -0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) -Stream.Next -Stream.Next -{Berry.Jordgubb, Berry.Smultron, Berry.Hallon} -CoBerry.Hjortron true true false -false -42 'q' hello -1701 -Record.Record(58, true) -199 -800 801 802 -800 801 802 diff --git a/Test/comp/Datatype.dfy.py.expect b/Test/comp/Datatype.dfy.py.expect deleted file mode 100644 index 0f64b73ba2d..00000000000 --- a/Test/comp/Datatype.dfy.py.expect +++ /dev/null @@ -1,22 +0,0 @@ -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) -0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) -Stream.Next -Stream.Next -{Berry.Hallon, Berry.Smultron, Berry.Jordgubb} -CoBerry.Hjortron true true false -false -42 'q' hello -1701 -Record.Record(58, true) -199 -800 801 802 -800 801 802 diff --git a/Test/comp/DefaultParameters-Compile.dfy b/Test/comp/DefaultParameters-Compile.dfy index cd6ba1163b1..145b8670647 100644 --- a/Test/comp/DefaultParameters-Compile.dfy +++ b/Test/comp/DefaultParameters-Compile.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method M(x: int := 16) { print x, "\n"; diff --git a/Test/comp/DefaultParameters-Compile.dfy.expect b/Test/comp/DefaultParameters-Compile.dfy.expect index b4b87321eb5..b94739d5be1 100644 --- a/Test/comp/DefaultParameters-Compile.dfy.expect +++ b/Test/comp/DefaultParameters-Compile.dfy.expect @@ -1,3 +1,51 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification +12 +16 +1 2 +1 3 +10 20 +11 13 +Color.Blue(2, 1) Color.Red(3, 4) +5 5 6 +6 6 7 + +Dafny program verifier did not attempt verification +12 +16 +1 2 +1 3 +10 20 +11 13 +Color.Blue(2, 1) Color.Red(3, 4) +5 5 6 +6 6 7 + +Dafny program verifier did not attempt verification +12 +16 +1 2 +1 3 +10 20 +11 13 +Color.Blue(2, 1) Color.Red(3, 4) +5 5 6 +6 6 7 + +Dafny program verifier did not attempt verification +12 +16 +1 2 +1 3 +10 20 +11 13 +Color.Blue(2, 1) Color.Red(3, 4) +5 5 6 +6 6 7 + +Dafny program verifier did not attempt verification 12 16 1 2 diff --git a/Test/comp/DowncastClone.dfy b/Test/comp/DowncastClone.dfy index cb1f095b3f4..b90066da781 100644 --- a/Test/comp/DowncastClone.dfy +++ b/Test/comp/DowncastClone.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Co<+T> = Co(T) | C datatype ReCo<+T> = ReCo(T) diff --git a/Test/comp/DowncastClone.dfy.expect b/Test/comp/DowncastClone.dfy.expect index b0613294f3c..982b36b396c 100644 --- a/Test/comp/DowncastClone.dfy.expect +++ b/Test/comp/DowncastClone.dfy.expect @@ -1,3 +1,43 @@ + +Dafny program verifier finished with 7 verified, 0 errors + +Dafny program verifier did not attempt verification +Co.Co(_module.Y) and Co.Co(_module.Y) +_module.Y and _module.Y +_module.Y _module.Y +false and false +false and false +_module.Y and _module.Y +Done + +Dafny program verifier did not attempt verification +Co.Co(_module.Y) and Co.Co(_module.Y) +_module.Y and _module.Y +_module.Y _module.Y +false and false +false and false +_module.Y and _module.Y +Done + +Dafny program verifier did not attempt verification +Co.Co(_module.Y) and Co.Co(_module.Y) +_module.Y and _module.Y +_module.Y _module.Y +false and false +false and false +_module.Y and _module.Y +Done + +Dafny program verifier did not attempt verification +Co.Co(_module.Y) and Co.Co(_module.Y) +_module.Y and _module.Y +_module.Y _module.Y +false and false +false and false +_module.Y and _module.Y +Done + +Dafny program verifier did not attempt verification Co.Co(_module.Y) and Co.Co(_module.Y) _module.Y and _module.Y _module.Y _module.Y diff --git a/Test/comp/ErasableTypeWrappers.dfy b/Test/comp/ErasableTypeWrappers.dfy index a280099699f..d62d3736622 100644 --- a/Test/comp/ErasableTypeWrappers.dfy +++ b/Test/comp/ErasableTypeWrappers.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype SingletonRecord = SingletonRecord(u: int) datatype GhostOrNot = ghost Ghost(a: int, b: int) | Compiled(x: int) diff --git a/Test/comp/ErasableTypeWrappers.dfy.expect b/Test/comp/ErasableTypeWrappers.dfy.expect index 7dd41a194ac..602e30d2075 100644 --- a/Test/comp/ErasableTypeWrappers.dfy.expect +++ b/Test/comp/ErasableTypeWrappers.dfy.expect @@ -1,3 +1,87 @@ + +Dafny program verifier finished with 10 verified, 0 errors + +Dafny program verifier did not attempt verification +62 63 (2, 5) (2, 5) 3 +62 63 5 5 3 +5 5 3 +1062 1063 1005 1005 1003 +true true true +20 20 *20 21 20 +20 20 *20 21 20 +true false +true false true false +true false +0 (0, 0) 0 Color.Pink +13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false + 3.14 2.7 +18.0 18.0 3.0 false +18.0 4.0 true +HasConst.MakeC(4) (4, 4) +4 (4, 4) +OptimizationChecks_Compile.Ints.Ints(5, 7) OptimizationChecks_Compile.Ints.Ints(5, 7) OptimizationChecks_Compile.Ints.AnotherIntsWrapper(OptimizationChecks_Compile.Ints.Ints(5, 7)) + +Dafny program verifier did not attempt verification +62 63 (2, 5) (2, 5) 3 +62 63 5 5 3 +5 5 3 +1062 1063 1005 1005 1003 +true true true +20 20 *20 21 20 +20 20 *20 21 20 +true false +true false true false +true false +0 (0, 0) 0 Color.Pink +13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false + 3.14 2.7 +18.0 18.0 3.0 false +18.0 4.0 true +HasConst.MakeC(4) (4, 4) +4 (4, 4) +OptimizationChecks_Compile.Ints.Ints(5, 7) OptimizationChecks_Compile.Ints.Ints(5, 7) OptimizationChecks_Compile.Ints.AnotherIntsWrapper(OptimizationChecks_Compile.Ints.Ints(5, 7)) + +Dafny program verifier did not attempt verification +62 63 (2, 5) (2, 5) 3 +62 63 5 5 3 +5 5 3 +1062 1063 1005 1005 1003 +true true true +20 20 *20 21 20 +20 20 *20 21 20 +true false +true false true false +true false +0 (0, 0) 0 Color.Pink +13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false + 3.14 2.7 +18.0 18.0 3.0 false +18.0 4.0 true +HasConst.MakeC(4) (4, 4) +4 (4, 4) +OptimizationChecks_Compile.Ints.Ints(5, 7) OptimizationChecks_Compile.Ints.Ints(5, 7) OptimizationChecks_Compile.Ints.AnotherIntsWrapper(OptimizationChecks_Compile.Ints.Ints(5, 7)) + +Dafny program verifier did not attempt verification +62 63 (2, 5) (2, 5) 3 +62 63 5 5 3 +5 5 3 +1062 1063 1005 1005 1003 +true true true +20 20 *20 21 20 +20 20 *20 21 20 +true false +true false true false +true false +0 (0, 0) 0 Color.Pink +13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false + 3.14 2.7 +18.0 18.0 3.0 false +18.0 4.0 true +HasConst.MakeC(4) (4, 4) +4 (4, 4) +OptimizationChecks_Compile.Ints.Ints(5, 7) OptimizationChecks_Compile.Ints.Ints(5, 7) OptimizationChecks_Compile.Ints.AnotherIntsWrapper(OptimizationChecks_Compile.Ints.Ints(5, 7)) + +Dafny program verifier did not attempt verification 62 63 (2, 5) (2, 5) 3 62 63 5 5 3 5 5 3 diff --git a/Test/comp/EuclideanDivision.dfy b/Test/comp/EuclideanDivision.dfy index 1286dcd125b..7ae1803cad8 100644 --- a/Test/comp/EuclideanDivision.dfy +++ b/Test/comp/EuclideanDivision.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // Some runtimes (like the one for C#) have three implementations // of Euclidean div/mod: one for `int`, one for `long`, and one diff --git a/Test/comp/EuclideanDivision.dfy.expect b/Test/comp/EuclideanDivision.dfy.expect index e2585ff8c70..b538c9494de 100644 --- a/Test/comp/EuclideanDivision.dfy.expect +++ b/Test/comp/EuclideanDivision.dfy.expect @@ -1,3 +1,39 @@ + +Dafny program verifier finished with 11 verified, 0 errors + +Dafny program verifier did not attempt verification +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 + +Dafny program verifier did not attempt verification +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 + +Dafny program verifier did not attempt verification +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 + +Dafny program verifier did not attempt verification +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 + +Dafny program verifier did not attempt verification 2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 diff --git a/Test/comp/ForLoops-Compilation.dfy b/Test/comp/ForLoops-Compilation.dfy index b468d21f69f..97101b82961 100644 --- a/Test/comp/ForLoops-Compilation.dfy +++ b/Test/comp/ForLoops-Compilation.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { TestM(0, 0); diff --git a/Test/comp/ForLoops-Compilation.dfy.expect b/Test/comp/ForLoops-Compilation.dfy.expect index 97724a714bc..d67a5429fed 100644 --- a/Test/comp/ForLoops-Compilation.dfy.expect +++ b/Test/comp/ForLoops-Compilation.dfy.expect @@ -1,3 +1,203 @@ + +Dafny program verifier finished with 23 verified, 0 errors + +Dafny program verifier did not attempt verification +0 0 0 0 +-2 -2 -2 -2 +0 0 0 0 +145 145 145 145 +0 0 +0 0 +57 57 +0 0 +32385 32385 +0 0 +-128 -128 +126 126 +0 0 +0 * 2 == 0 +2 * 0 == 0 +1 * 1 == 1 +6 * 5 == 30 +0 + 3 == 3 +3 + 0 == 3 +4 + 0 == 4 +0 + 0 == 0 +19 + 14 == 33 +4 4 4 +== BC10 == +0 --++--++---- *** +1 --++--++----++-- +2 --++--++----++--++--++--++--++--++--++ *** +3 --++--++----++--++--++--++--++--++--++ *** +4 --++--++----++--++--++--++--++--++--++ *** +5 --++--++----++--++--++--++--++--++--++ *** +6 --++--++----++--++--++--++--++--++--++ *** +7 --++--++----++--++--++--++--++--++--++ *** +8 --++--++----++--++--++--++--++--++--++ *** +9 --++--++----++--++--++--++--++--++--++ *** +== BC11 == +0 ||--++----++-- *** +1 ||--++----++--++-- +2 ||--++----++--++--++--++--++--++--++--++ *** +3 ||--++----++--++--++--++--++--++--++--++ *** +4 ||--++----++--++--++--++--++--++--++--++ *** +5 ||--++----++--++--++--++--++--++--++--++ *** +6 ||--++----++--++--++--++--++--++--++--++ *** +7 ||--++----++--++--++--++--++--++--++--++ *** +8 ||--++----++--++--++--++--++--++--++--++ *** +9 ||--++----++--++--++--++--++--++--++--++ *** +true true true 15 +all good + +Dafny program verifier did not attempt verification +0 0 0 0 +-2 -2 -2 -2 +0 0 0 0 +145 145 145 145 +0 0 +0 0 +57 57 +0 0 +32385 32385 +0 0 +-128 -128 +126 126 +0 0 +0 * 2 == 0 +2 * 0 == 0 +1 * 1 == 1 +6 * 5 == 30 +0 + 3 == 3 +3 + 0 == 3 +4 + 0 == 4 +0 + 0 == 0 +19 + 14 == 33 +4 4 4 +== BC10 == +0 --++--++---- *** +1 --++--++----++-- +2 --++--++----++--++--++--++--++--++--++ *** +3 --++--++----++--++--++--++--++--++--++ *** +4 --++--++----++--++--++--++--++--++--++ *** +5 --++--++----++--++--++--++--++--++--++ *** +6 --++--++----++--++--++--++--++--++--++ *** +7 --++--++----++--++--++--++--++--++--++ *** +8 --++--++----++--++--++--++--++--++--++ *** +9 --++--++----++--++--++--++--++--++--++ *** +== BC11 == +0 ||--++----++-- *** +1 ||--++----++--++-- +2 ||--++----++--++--++--++--++--++--++--++ *** +3 ||--++----++--++--++--++--++--++--++--++ *** +4 ||--++----++--++--++--++--++--++--++--++ *** +5 ||--++----++--++--++--++--++--++--++--++ *** +6 ||--++----++--++--++--++--++--++--++--++ *** +7 ||--++----++--++--++--++--++--++--++--++ *** +8 ||--++----++--++--++--++--++--++--++--++ *** +9 ||--++----++--++--++--++--++--++--++--++ *** +true true true 15 +all good + +Dafny program verifier did not attempt verification +0 0 0 0 +-2 -2 -2 -2 +0 0 0 0 +145 145 145 145 +0 0 +0 0 +57 57 +0 0 +32385 32385 +0 0 +-128 -128 +126 126 +0 0 +0 * 2 == 0 +2 * 0 == 0 +1 * 1 == 1 +6 * 5 == 30 +0 + 3 == 3 +3 + 0 == 3 +4 + 0 == 4 +0 + 0 == 0 +19 + 14 == 33 +4 4 4 +== BC10 == +0 --++--++---- *** +1 --++--++----++-- +2 --++--++----++--++--++--++--++--++--++ *** +3 --++--++----++--++--++--++--++--++--++ *** +4 --++--++----++--++--++--++--++--++--++ *** +5 --++--++----++--++--++--++--++--++--++ *** +6 --++--++----++--++--++--++--++--++--++ *** +7 --++--++----++--++--++--++--++--++--++ *** +8 --++--++----++--++--++--++--++--++--++ *** +9 --++--++----++--++--++--++--++--++--++ *** +== BC11 == +0 ||--++----++-- *** +1 ||--++----++--++-- +2 ||--++----++--++--++--++--++--++--++--++ *** +3 ||--++----++--++--++--++--++--++--++--++ *** +4 ||--++----++--++--++--++--++--++--++--++ *** +5 ||--++----++--++--++--++--++--++--++--++ *** +6 ||--++----++--++--++--++--++--++--++--++ *** +7 ||--++----++--++--++--++--++--++--++--++ *** +8 ||--++----++--++--++--++--++--++--++--++ *** +9 ||--++----++--++--++--++--++--++--++--++ *** +true true true 15 +all good + +Dafny program verifier did not attempt verification +0 0 0 0 +-2 -2 -2 -2 +0 0 0 0 +145 145 145 145 +0 0 +0 0 +57 57 +0 0 +32385 32385 +0 0 +-128 -128 +126 126 +0 0 +0 * 2 == 0 +2 * 0 == 0 +1 * 1 == 1 +6 * 5 == 30 +0 + 3 == 3 +3 + 0 == 3 +4 + 0 == 4 +0 + 0 == 0 +19 + 14 == 33 +4 4 4 +== BC10 == +0 --++--++---- *** +1 --++--++----++-- +2 --++--++----++--++--++--++--++--++--++ *** +3 --++--++----++--++--++--++--++--++--++ *** +4 --++--++----++--++--++--++--++--++--++ *** +5 --++--++----++--++--++--++--++--++--++ *** +6 --++--++----++--++--++--++--++--++--++ *** +7 --++--++----++--++--++--++--++--++--++ *** +8 --++--++----++--++--++--++--++--++--++ *** +9 --++--++----++--++--++--++--++--++--++ *** +== BC11 == +0 ||--++----++-- *** +1 ||--++----++--++-- +2 ||--++----++--++--++--++--++--++--++--++ *** +3 ||--++----++--++--++--++--++--++--++--++ *** +4 ||--++----++--++--++--++--++--++--++--++ *** +5 ||--++----++--++--++--++--++--++--++--++ *** +6 ||--++----++--++--++--++--++--++--++--++ *** +7 ||--++----++--++--++--++--++--++--++--++ *** +8 ||--++----++--++--++--++--++--++--++--++ *** +9 ||--++----++--++--++--++--++--++--++--++ *** +true true true 15 +all good + +Dafny program verifier did not attempt verification 0 0 0 0 -2 -2 -2 -2 0 0 0 0 diff --git a/Test/comp/ForallNewSyntax.dfy b/Test/comp/ForallNewSyntax.dfy index 85e609b37b3..c17bf86830e 100644 --- a/Test/comp/ForallNewSyntax.dfy +++ b/Test/comp/ForallNewSyntax.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --function-syntax:3 --quantifier-syntax:4 --relax-definite-assignment +// RUN: %baredafny verify %args --relax-definite-assignment --function-syntax:3 --quantifier-syntax:4 "%s" > "%t" +// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:cs "%s" >> "%t" +// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:js "%s" >> "%t" +// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:go "%s" >> "%t" +// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:java "%s" >> "%t" +// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var arrayTests := new ArrayTests(); diff --git a/Test/comp/ForallNewSyntax.dfy.expect b/Test/comp/ForallNewSyntax.dfy.expect index 5b33d939607..241ea9ea521 100644 --- a/Test/comp/ForallNewSyntax.dfy.expect +++ b/Test/comp/ForallNewSyntax.dfy.expect @@ -1,3 +1,183 @@ + +Dafny program verifier finished with 25 verified, 0 errors + +Dafny program verifier did not attempt verification +Arrays: Basic cases +[0, 1, 2, 3, 4] +[0, 1, 2, 3, 4] +[0, 1, 4, 3, 8] + +Arrays: Wrong index +[0, 0, 1, 2, 3] +[0, 0, 1, 2, 3] +[1, 2, 3, 4, 5] + +Arrays: Sequence conversion +[2, 1, 4, 5, 6] +[0, 3, 3, 3, 4] + +Arrays: Index collection +[1, 1, 2, 3, 4] +[1, 1, 2, 3, 4] + +Arrays: Functions +[1, 1, 3, 4, 5] +[1, 1, 3, 4, 5] +[1, 2, 3, 3, 5] +[1, 2, 3, 4, 5] + +Multi-dimensional arrays +[[0, 2, 4], [1, 3, 5], [2, 4, 6]] +[[0, 1, 2], [2, 3, 4], [4, 5, 6]] + +Objects: Basic cases +[(0, 1.0), (0, 2.0), (0, 3.0)] +[(2, 1.0), (2, 2.0), (4, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] + +Objects: Bad field accesses +[(2, 1.0), (3, 2.0), (4, 3.0)] +[(2, 1.0), (2, 2.0), (2, 3.0)] +[(2, 1.0), (3, 2.0), (1, 3.0)] + +Objects: Functions +[(2, 1.0), (4, 2.0), (6, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] +[(3, 1.0), (4, 2.0), (5, 3.0)] + +Dafny program verifier did not attempt verification +Arrays: Basic cases +[0, 1, 2, 3, 4] +[0, 1, 2, 3, 4] +[0, 1, 4, 3, 8] + +Arrays: Wrong index +[0, 0, 1, 2, 3] +[0, 0, 1, 2, 3] +[1, 2, 3, 4, 5] + +Arrays: Sequence conversion +[2, 1, 4, 5, 6] +[0, 3, 3, 3, 4] + +Arrays: Index collection +[1, 1, 2, 3, 4] +[1, 1, 2, 3, 4] + +Arrays: Functions +[1, 1, 3, 4, 5] +[1, 1, 3, 4, 5] +[1, 2, 3, 3, 5] +[1, 2, 3, 4, 5] + +Multi-dimensional arrays +[[0, 2, 4], [1, 3, 5], [2, 4, 6]] +[[0, 1, 2], [2, 3, 4], [4, 5, 6]] + +Objects: Basic cases +[(0, 1.0), (0, 2.0), (0, 3.0)] +[(2, 1.0), (2, 2.0), (4, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] + +Objects: Bad field accesses +[(2, 1.0), (3, 2.0), (4, 3.0)] +[(2, 1.0), (2, 2.0), (2, 3.0)] +[(2, 1.0), (3, 2.0), (1, 3.0)] + +Objects: Functions +[(2, 1.0), (4, 2.0), (6, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] +[(3, 1.0), (4, 2.0), (5, 3.0)] + +Dafny program verifier did not attempt verification +Arrays: Basic cases +[0, 1, 2, 3, 4] +[0, 1, 2, 3, 4] +[0, 1, 4, 3, 8] + +Arrays: Wrong index +[0, 0, 1, 2, 3] +[0, 0, 1, 2, 3] +[1, 2, 3, 4, 5] + +Arrays: Sequence conversion +[2, 1, 4, 5, 6] +[0, 3, 3, 3, 4] + +Arrays: Index collection +[1, 1, 2, 3, 4] +[1, 1, 2, 3, 4] + +Arrays: Functions +[1, 1, 3, 4, 5] +[1, 1, 3, 4, 5] +[1, 2, 3, 3, 5] +[1, 2, 3, 4, 5] + +Multi-dimensional arrays +[[0, 2, 4], [1, 3, 5], [2, 4, 6]] +[[0, 1, 2], [2, 3, 4], [4, 5, 6]] + +Objects: Basic cases +[(0, 1.0), (0, 2.0), (0, 3.0)] +[(2, 1.0), (2, 2.0), (4, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] + +Objects: Bad field accesses +[(2, 1.0), (3, 2.0), (4, 3.0)] +[(2, 1.0), (2, 2.0), (2, 3.0)] +[(2, 1.0), (3, 2.0), (1, 3.0)] + +Objects: Functions +[(2, 1.0), (4, 2.0), (6, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] +[(3, 1.0), (4, 2.0), (5, 3.0)] + +Dafny program verifier did not attempt verification +Arrays: Basic cases +[0, 1, 2, 3, 4] +[0, 1, 2, 3, 4] +[0, 1, 4, 3, 8] + +Arrays: Wrong index +[0, 0, 1, 2, 3] +[0, 0, 1, 2, 3] +[1, 2, 3, 4, 5] + +Arrays: Sequence conversion +[2, 1, 4, 5, 6] +[0, 3, 3, 3, 4] + +Arrays: Index collection +[1, 1, 2, 3, 4] +[1, 1, 2, 3, 4] + +Arrays: Functions +[1, 1, 3, 4, 5] +[1, 1, 3, 4, 5] +[1, 2, 3, 3, 5] +[1, 2, 3, 4, 5] + +Multi-dimensional arrays +[[0, 2, 4], [1, 3, 5], [2, 4, 6]] +[[0, 1, 2], [2, 3, 4], [4, 5, 6]] + +Objects: Basic cases +[(0, 1.0), (0, 2.0), (0, 3.0)] +[(2, 1.0), (2, 2.0), (4, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] + +Objects: Bad field accesses +[(2, 1.0), (3, 2.0), (4, 3.0)] +[(2, 1.0), (2, 2.0), (2, 3.0)] +[(2, 1.0), (3, 2.0), (1, 3.0)] + +Objects: Functions +[(2, 1.0), (4, 2.0), (6, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] +[(3, 1.0), (4, 2.0), (5, 3.0)] + +Dafny program verifier did not attempt verification Arrays: Basic cases [0, 1, 2, 3, 4] [0, 1, 2, 3, 4] diff --git a/Test/comp/Ghosts.dfy b/Test/comp/Ghosts.dfy index 8afe8a36d3f..506fe0facb1 100644 --- a/Test/comp/Ghosts.dfy +++ b/Test/comp/Ghosts.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method M1() returns (x: int) { diff --git a/Test/comp/Ghosts.dfy.expect b/Test/comp/Ghosts.dfy.expect index d075ea048c1..430a9c18fc0 100644 --- a/Test/comp/Ghosts.dfy.expect +++ b/Test/comp/Ghosts.dfy.expect @@ -1,3 +1,55 @@ + +Dafny program verifier finished with 8 verified, 0 errors + +Dafny program verifier did not attempt verification +hello, M2 +hello, M2 +hello, M3 +hello, M1 +hello, M1 +hello, M1 +hello, M2 +hello, M3 +hello, N0 +hello, N1 + +Dafny program verifier did not attempt verification +hello, M2 +hello, M2 +hello, M3 +hello, M1 +hello, M1 +hello, M1 +hello, M2 +hello, M3 +hello, N0 +hello, N1 + +Dafny program verifier did not attempt verification +hello, M2 +hello, M2 +hello, M3 +hello, M1 +hello, M1 +hello, M1 +hello, M2 +hello, M3 +hello, N0 +hello, N1 + +Dafny program verifier did not attempt verification +hello, M2 +hello, M2 +hello, M3 +hello, M1 +hello, M1 +hello, M1 +hello, M2 +hello, M3 +hello, N0 +hello, N1 + +Dafny program verifier did not attempt verification hello, M2 hello, M2 hello, M3 diff --git a/Test/comp/Let.dfy b/Test/comp/Let.dfy index 2a639009c78..64dce8b90e6 100644 --- a/Test/comp/Let.dfy +++ b/Test/comp/Let.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cs "%s" > "%t" +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method M() returns (x: int) { x := var y := 50; y; // non-top-level let diff --git a/Test/comp/Let.dfy.expect b/Test/comp/Let.dfy.expect index f05dfc414c1..667abc32458 100644 --- a/Test/comp/Let.dfy.expect +++ b/Test/comp/Let.dfy.expect @@ -1,3 +1,37 @@ + +Dafny program verifier finished with 5 verified, 0 errors +50 58 +Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) +5 7 9 10 12 30 +5 7 +5 7 +12.0 15.0 15.0 15.0 + +Dafny program verifier finished with 5 verified, 0 errors +50 58 +Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) +5 7 9 10 12 30 +5 7 +5 7 +12.0 15.0 15.0 15.0 + +Dafny program verifier finished with 5 verified, 0 errors +50 58 +Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) +5 7 9 10 12 30 +5 7 +5 7 +12.0 15.0 15.0 15.0 + +Dafny program verifier finished with 5 verified, 0 errors +50 58 +Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) +5 7 9 10 12 30 +5 7 +5 7 +12.0 15.0 15.0 15.0 + +Dafny program verifier finished with 5 verified, 0 errors 50 58 Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) 5 7 9 10 12 30 diff --git a/Test/comp/MoreAutoInit.dfy b/Test/comp/MoreAutoInit.dfy index c72083f1be5..46bdf7148f1 100644 --- a/Test/comp/MoreAutoInit.dfy +++ b/Test/comp/MoreAutoInit.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { Methods.TestStart(); diff --git a/Test/comp/MoreAutoInit.dfy.expect b/Test/comp/MoreAutoInit.dfy.expect index a3a230fd0f1..cc1ae3b994a 100644 --- a/Test/comp/MoreAutoInit.dfy.expect +++ b/Test/comp/MoreAutoInit.dfy.expect @@ -1,3 +1,575 @@ + +Dafny program verifier finished with 38 verified, 0 errors + +Dafny program verifier did not attempt verification +Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +{} + ++ {} +[] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +{2} + ++ {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni + ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni +Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni + ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni +Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni +Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni + ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni + ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni +[] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] + ** [] ++ [] +[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [] + ** [] ++ [] +[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [] +[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] + ++ [Consts_Compile.Uni.Uni] ++ [] + ** [] ++ [] ++ [] +15 +0-0 0.0-0.0 false-false 'D'-'D' 0 +0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 +0-0 0-0 0-0 0-0 1 1 +0.0-0.0 68.0 +null-null null-null null-null null-null +0 +0:0:0 +0-0 +{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] +DefaultValuedExpressions_Compile.Color.Red-DefaultValuedExpressions_Compile.Color.Red DefaultValuedExpressions_Compile.PossibleCell.Nothing-DefaultValuedExpressions_Compile.PossibleCell.Nothing DefaultValuedExpressions_Compile.Cell.LittleCell(0)-DefaultValuedExpressions_Compile.Cell.LittleCell(0) +()-() (0, 0.0)-(0, 0.0) +(DefaultValuedExpressions_Compile.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions_Compile.Color.Red, (0, 0.0), ()) +null-null null-null +0-0 0-0 0-0 3 4 5 +0-0 11 0-0 8 + +Dafny program verifier did not attempt verification +Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +{} + ++ {} +[] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +{2} + ++ {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni + ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni +Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni + ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni +Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni +Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni + ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni + ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni +[] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] + ** [] ++ [] +[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [] + ** [] ++ [] +[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [] +[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] + ++ [Consts_Compile.Uni.Uni] ++ [] + ** [] ++ [] ++ [] +15 +0-0 0.0-0.0 false-false 'D'-'D' 0 +0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 +0-0 0-0 0-0 0-0 1 1 +0.0-0.0 68.0 +null-null null-null null-null null-null +0 +0:0:0 +0-0 +{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] +DefaultValuedExpressions_Compile.Color.Red-DefaultValuedExpressions_Compile.Color.Red DefaultValuedExpressions_Compile.PossibleCell.Nothing-DefaultValuedExpressions_Compile.PossibleCell.Nothing DefaultValuedExpressions_Compile.Cell.LittleCell(0)-DefaultValuedExpressions_Compile.Cell.LittleCell(0) +()-() (0, 0.0)-(0, 0.0) +(DefaultValuedExpressions_Compile.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions_Compile.Color.Red, (0, 0.0), ()) +null-null null-null +0-0 0-0 0-0 3 4 5 +0-0 11 0-0 8 + +Dafny program verifier did not attempt verification +Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +{} + ++ {} +[] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +{2} + ++ {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni + ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni +Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni + ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni +Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni +Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni + ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni + ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni +[] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] + ** [] ++ [] +[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [] + ** [] ++ [] +[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [] +[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] + ++ [Consts_Compile.Uni.Uni] ++ [] + ** [] ++ [] ++ [] +15 +0-0 0.0-0.0 false-false 'D'-'D' 0 +0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 +0-0 0-0 0-0 0-0 1 1 +0.0-0.0 68.0 +null-null null-null null-null null-null +0 +0:0:0 +0-0 +{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] +DefaultValuedExpressions_Compile.Color.Red-DefaultValuedExpressions_Compile.Color.Red DefaultValuedExpressions_Compile.PossibleCell.Nothing-DefaultValuedExpressions_Compile.PossibleCell.Nothing DefaultValuedExpressions_Compile.Cell.LittleCell(0)-DefaultValuedExpressions_Compile.Cell.LittleCell(0) +()-() (0, 0.0)-(0, 0.0) +(DefaultValuedExpressions_Compile.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions_Compile.Color.Red, (0, 0.0), ()) +null-null null-null +0-0 0-0 0-0 3 4 5 +0-0 11 0-0 8 + +Dafny program verifier did not attempt verification +Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni + ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni +{} + ++ {} +[] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni + ++ Functions_Compile.Uni.Uni Functions_Compile.Uni.Uni +{2} + ++ {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +[Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} + ++ [Functions_Compile.Uni.Uni] {2} +Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni + ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni +Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni + ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni +Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni +Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni + ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni + ** Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni ++ Consts_Compile.Uni.Uni +[] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] + ** [] ++ [] +[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [] + ** [] ++ [] +[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] ++ [Consts_Compile.Uni.Uni] ++ [] +[Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [Consts_Compile.Uni.Uni] ++ [] + ++ [Consts_Compile.Uni.Uni] ++ [] + ** [] ++ [] ++ [] +15 +0-0 0.0-0.0 false-false 'D'-'D' 0 +0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 +0-0 0-0 0-0 0-0 1 1 +0.0-0.0 68.0 +null-null null-null null-null null-null +0 +0:0:0 +0-0 +{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] +DefaultValuedExpressions_Compile.Color.Red-DefaultValuedExpressions_Compile.Color.Red DefaultValuedExpressions_Compile.PossibleCell.Nothing-DefaultValuedExpressions_Compile.PossibleCell.Nothing DefaultValuedExpressions_Compile.Cell.LittleCell(0)-DefaultValuedExpressions_Compile.Cell.LittleCell(0) +()-() (0, 0.0)-(0, 0.0) +(DefaultValuedExpressions_Compile.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions_Compile.Color.Red, (0, 0.0), ()) +null-null null-null +0-0 0-0 0-0 3 4 5 +0-0 11 0-0 8 + +Dafny program verifier did not attempt verification Methods_Compile.Uni.Uni ++ Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni Methods_Compile.Uni.Uni diff --git a/Test/comp/NativeNumbers.dfy b/Test/comp/NativeNumbers.dfy index e1fadb1c406..c63d02cf643 100644 --- a/Test/comp/NativeNumbers.dfy +++ b/Test/comp/NativeNumbers.dfy @@ -1,6 +1,11 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false // Skip JavaScript because JavaScript doesn't have the same native types +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { CastTests(); diff --git a/Test/comp/NativeNumbers.dfy.expect b/Test/comp/NativeNumbers.dfy.expect index 6a9d263fc73..2be030252cf 100644 --- a/Test/comp/NativeNumbers.dfy.expect +++ b/Test/comp/NativeNumbers.dfy.expect @@ -1,3 +1,259 @@ + +Dafny program verifier finished with 25 verified, 0 errors + +Dafny program verifier did not attempt verification +Casting: + +Small numbers: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 +5 5 5 5 5 5 5 5 5 +6 6 6 6 6 6 6 6 6 +7 7 7 7 7 7 7 7 7 +8 8 8 8 8 8 8 8 8 + +Large unsigned numbers: +255 255 255 255 255 255 255 255 +65535 65535 65535 65535 65535 65535 +4294967295 4294967295 4294967295 4294967295 +18446744073709551615 18446744073709551615 + +Int to large unsigned: +255 65535 4294967295 18446744073709551615 + +Cast from cardinality operator: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 + +Characters: +C 67 67 67 67 67 67 67 67 67 +0 127 32767 65535 65535 255 65535 65535 65535 + +Defaults: + +0 0 0 0 0 0 0 0 0 + +Byte arithmetic: + +20 30 +10 10 18 + +Short arithmetic: + +20 30 +10 10 18 + +Bitvectors: + +0 3 4 1 + +Comparison to zero: + +int8: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int16: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int32: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int64: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint8: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint16: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint32: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint64: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N + + +Dafny program verifier did not attempt verification +Casting: + +Small numbers: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 +5 5 5 5 5 5 5 5 5 +6 6 6 6 6 6 6 6 6 +7 7 7 7 7 7 7 7 7 +8 8 8 8 8 8 8 8 8 + +Large unsigned numbers: +255 255 255 255 255 255 255 255 +65535 65535 65535 65535 65535 65535 +4294967295 4294967295 4294967295 4294967295 +18446744073709551615 18446744073709551615 + +Int to large unsigned: +255 65535 4294967295 18446744073709551615 + +Cast from cardinality operator: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 + +Characters: +C 67 67 67 67 67 67 67 67 67 +0 127 32767 65535 65535 255 65535 65535 65535 + +Defaults: + +0 0 0 0 0 0 0 0 0 + +Byte arithmetic: + +20 30 +10 10 18 + +Short arithmetic: + +20 30 +10 10 18 + +Bitvectors: + +0 3 4 1 + +Comparison to zero: + +int8: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int16: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int32: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int64: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint8: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint16: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint32: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint64: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N + + +Dafny program verifier did not attempt verification +Casting: + +Small numbers: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 +5 5 5 5 5 5 5 5 5 +6 6 6 6 6 6 6 6 6 +7 7 7 7 7 7 7 7 7 +8 8 8 8 8 8 8 8 8 + +Large unsigned numbers: +255 255 255 255 255 255 255 255 +65535 65535 65535 65535 65535 65535 +4294967295 4294967295 4294967295 4294967295 +18446744073709551615 18446744073709551615 + +Int to large unsigned: +255 65535 4294967295 18446744073709551615 + +Cast from cardinality operator: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 + +Characters: +C 67 67 67 67 67 67 67 67 67 +0 127 32767 65535 65535 255 65535 65535 65535 + +Defaults: + +0 0 0 0 0 0 0 0 0 + +Byte arithmetic: + +20 30 +10 10 18 + +Short arithmetic: + +20 30 +10 10 18 + +Bitvectors: + +0 3 4 1 + +Comparison to zero: + +int8: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int16: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int32: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int64: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint8: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint16: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint32: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint64: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N + + +Dafny program verifier did not attempt verification Casting: Small numbers: diff --git a/Test/comp/NestedArrays.dfy b/Test/comp/NestedArrays.dfy index 39d256f4936..0c2b313a32c 100644 --- a/Test/comp/NestedArrays.dfy +++ b/Test/comp/NestedArrays.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %baredafny verify --relax-definite-assignment %args "%s" > "%t" +// RUN: %baredafny run --no-verify --target=cs %args "%s" >> "%t" +// RUN: %baredafny run --no-verify --target=js %args "%s" >> "%t" +// RUN: %baredafny run --no-verify --target=go %args "%s" >> "%t" +// RUN: %baredafny run --no-verify --target=py %args "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" /* Note, compiling to arrays in Java is difficult. In fact, this is currently * broken, see https://github.com/dafny-lang/dafny/issues/3055. Until this gets diff --git a/Test/comp/NestedArrays.dfy.expect b/Test/comp/NestedArrays.dfy.expect index aa47d0d46d4..a24d140b9d4 100644 --- a/Test/comp/NestedArrays.dfy.expect +++ b/Test/comp/NestedArrays.dfy.expect @@ -1,2 +1,18 @@ + +Dafny program verifier finished with 4 verified, 0 errors + +Dafny program verifier did not attempt verification +0 +0 + +Dafny program verifier did not attempt verification +0 +0 + +Dafny program verifier did not attempt verification +0 +0 + +Dafny program verifier did not attempt verification 0 0 diff --git a/Test/comp/Numbers.dfy b/Test/comp/Numbers.dfy index c76bc87fdc0..36bf24dcdb4 100644 --- a/Test/comp/Numbers.dfy +++ b/Test/comp/Numbers.dfy @@ -1,5 +1,10 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { Literals(); diff --git a/Test/comp/Numbers.dfy.expect b/Test/comp/Numbers.dfy.expect index 7eacf4e709d..8d994e1c7c6 100644 --- a/Test/comp/Numbers.dfy.expect +++ b/Test/comp/Numbers.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 59 verified, 0 errors + +Dafny program verifier did not attempt verification 0 0 3 @@ -109,3 +113,455 @@ true false true false false true false true true false true false 20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +g Q 2 +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +(312.0 / 40.0) (1248.0 / 40.0) +(-312.0 / 40.0) (-1248.0 / 40.0) +(-312.0 / 40.0) (1248.0 / 40.0) +(312.0 / 40.0) (-1248.0 / 40.0) +0.0 0.0 0.0 +120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) +123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 (8100.0 / 8100.0) +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +g Q 2 +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +g Q 2 +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +(312.0 / 40.0) (1248.0 / 40.0) +(-312.0 / 40.0) (-1248.0 / 40.0) +(-312.0 / 40.0) (1248.0 / 40.0) +(312.0 / 40.0) (-1248.0 / 40.0) +0.0 0.0 0.0 +120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) +123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 (8100.0 / 8100.0) +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +g Q 2 +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 diff --git a/Test/comp/Numbers.dfy.go.expect b/Test/comp/Numbers.dfy.go.expect deleted file mode 100644 index ce109553619..00000000000 --- a/Test/comp/Numbers.dfy.go.expect +++ /dev/null @@ -1,111 +0,0 @@ -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -g Q 2 -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 diff --git a/Test/comp/Numbers.dfy.py.expect b/Test/comp/Numbers.dfy.py.expect deleted file mode 100644 index ce109553619..00000000000 --- a/Test/comp/Numbers.dfy.py.expect +++ /dev/null @@ -1,111 +0,0 @@ -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -g Q 2 -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 diff --git a/Test/comp/Poly.dfy b/Test/comp/Poly.dfy index 5af5e8134e9..f3c3aa58599 100644 --- a/Test/comp/Poly.dfy +++ b/Test/comp/Poly.dfy @@ -1,5 +1,10 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" trait Shape { function Center(): (real, real) reads this diff --git a/Test/comp/Poly.dfy.expect b/Test/comp/Poly.dfy.expect index 7dc24821586..4ffff82d5ab 100644 --- a/Test/comp/Poly.dfy.expect +++ b/Test/comp/Poly.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 15 verified, 0 errors + +Dafny program verifier did not attempt verification Center of square: ((1.0 / 2.0), (1.0 / 2.0)) Center of circle: (1.0, 1.0) Center: ((1.0 / 2.0), (1.0 / 2.0)) @@ -10,3 +14,59 @@ Center: ((1.0 / 2.0), (1.0 / 2.0)) Center: (1.0, 1.0) Center: ((1.0 / 2.0), (1.0 / 2.0)) Center: (1.0, 1.0) + +Dafny program verifier did not attempt verification +Center of square: ((1.0 / 2.0), (1.0 / 2.0)) +Center of circle: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) + +Dafny program verifier did not attempt verification +Center of square: ((1.0 / 2.0), (1.0 / 2.0)) +Center of circle: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) + +Dafny program verifier did not attempt verification +Center of square: (0.5, 0.5) +Center of circle: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) + +Dafny program verifier did not attempt verification +Center of square: (0.5, 0.5) +Center of circle: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) diff --git a/Test/comp/Poly.dfy.go.expect b/Test/comp/Poly.dfy.go.expect deleted file mode 100644 index 88e09c5e6ff..00000000000 --- a/Test/comp/Poly.dfy.go.expect +++ /dev/null @@ -1,12 +0,0 @@ -Center of square: (0.5, 0.5) -Center of circle: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) diff --git a/Test/comp/Poly.dfy.py.expect b/Test/comp/Poly.dfy.py.expect deleted file mode 100644 index 88e09c5e6ff..00000000000 --- a/Test/comp/Poly.dfy.py.expect +++ /dev/null @@ -1,12 +0,0 @@ -Center of square: (0.5, 0.5) -Center of circle: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) diff --git a/Test/comp/Print.dfy b/Test/comp/Print.dfy index 39f8a447396..166bae4c351 100644 --- a/Test/comp/Print.dfy +++ b/Test/comp/Print.dfy @@ -1,5 +1,9 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // Python salts hashes so they are not deterministic. diff --git a/Test/comp/Print.dfy.expect b/Test/comp/Print.dfy.expect index 88ded65afab..c2b186af0ec 100644 --- a/Test/comp/Print.dfy.expect +++ b/Test/comp/Print.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification Strings in collections: [abc, def] [[abc, def]] @@ -6,3 +10,33 @@ Strings in collections: [] [] [aaaaa] + +Dafny program verifier did not attempt verification +Strings in collections: + [abc, def] + [[abc, def]] + {abc, def} + [abc, def] + [] + [] + [aaaaa] + +Dafny program verifier did not attempt verification +Strings in collections: + [abc, def] + [[abc, def]] + {abc, def} + [abc, def] + [] + [] + [aaaaa] + +Dafny program verifier did not attempt verification +Strings in collections: + [abc, def] + [[abc, def]] + {abc, def} + [abc, def] + [] + [] + [aaaaa] diff --git a/Test/comp/Print.dfy.go.expect b/Test/comp/Print.dfy.go.expect deleted file mode 100644 index 7ac90f01b3c..00000000000 --- a/Test/comp/Print.dfy.go.expect +++ /dev/null @@ -1,8 +0,0 @@ -Strings in collections: - [abc, def] - [[abc, def]] - {abc, def} - [abc, def] - [] - [] - [aaaaa] diff --git a/Test/comp/Print.dfy.java.expect b/Test/comp/Print.dfy.java.expect deleted file mode 100644 index 7ac90f01b3c..00000000000 --- a/Test/comp/Print.dfy.java.expect +++ /dev/null @@ -1,8 +0,0 @@ -Strings in collections: - [abc, def] - [[abc, def]] - {abc, def} - [abc, def] - [] - [] - [aaaaa] diff --git a/Test/comp/Print.dfy.js.expect b/Test/comp/Print.dfy.js.expect deleted file mode 100644 index 7ac90f01b3c..00000000000 --- a/Test/comp/Print.dfy.js.expect +++ /dev/null @@ -1,8 +0,0 @@ -Strings in collections: - [abc, def] - [[abc, def]] - {abc, def} - [abc, def] - [] - [] - [aaaaa] diff --git a/Test/comp/StaticMembersOfGenericTypes.dfy b/Test/comp/StaticMembersOfGenericTypes.dfy index 8a8614d21a5..8c402dab951 100644 --- a/Test/comp/StaticMembersOfGenericTypes.dfy +++ b/Test/comp/StaticMembersOfGenericTypes.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { GenericClass(); diff --git a/Test/comp/StaticMembersOfGenericTypes.dfy.expect b/Test/comp/StaticMembersOfGenericTypes.dfy.expect index 196f1295e12..54e32b42ee5 100644 --- a/Test/comp/StaticMembersOfGenericTypes.dfy.expect +++ b/Test/comp/StaticMembersOfGenericTypes.dfy.expect @@ -1,3 +1,79 @@ + +Dafny program verifier finished with 9 verified, 0 errors + +Dafny program verifier did not attempt verification +(0, 1) (true, 2, 3) +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +(2.0, true) (3.0, false) +(2.0, true) (3.0, false) +true false +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +50 3 4 +149 + +Dafny program verifier did not attempt verification +(0, 1) (true, 2, 3) +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +(2.0, true) (3.0, false) +(2.0, true) (3.0, false) +true false +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +50 3 4 +149 + +Dafny program verifier did not attempt verification +(0, 1) (true, 2, 3) +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +(2.0, true) (3.0, false) +(2.0, true) (3.0, false) +true false +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +50 3 4 +149 + +Dafny program verifier did not attempt verification +(0, 1) (true, 2, 3) +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +(2.0, true) (3.0, false) +(2.0, true) (3.0, false) +true false +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +50 3 4 +149 + +Dafny program verifier did not attempt verification (0, 1) (true, 2, 3) 0 25 (20, 21) (20, 21) 23 22 0 25 (20, 21) (20, 21) 23 22 diff --git a/Test/comp/TailRecursion.dfy b/Test/comp/TailRecursion.dfy index b3631d5eccc..68ba6ee4669 100644 --- a/Test/comp/TailRecursion.dfy +++ b/Test/comp/TailRecursion.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { // In the following, 2_000_000 is too large an argument without tail-calls diff --git a/Test/comp/TailRecursion.dfy.expect b/Test/comp/TailRecursion.dfy.expect index 4b9da7e5093..23c852a41fe 100644 --- a/Test/comp/TailRecursion.dfy.expect +++ b/Test/comp/TailRecursion.dfy.expect @@ -1,3 +1,79 @@ + +Dafny program verifier finished with 28 verified, 0 errors + +Dafny program verifier did not attempt verification +2000000 2000000 +2000000 2000000 +1000000 1000000 +10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 +TriangleNumber(10) = 55 +TriangleNumber_Real(10) = 55.0 +TriangleNumber_ORDINAL(10) = 55 +Factorial(5) = 120 +Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] +UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] +Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 +TheBigSubtract(100) = -12 +TailNat(10) = 50 +17 17 17 +2000000 + +Dafny program verifier did not attempt verification +2000000 2000000 +2000000 2000000 +1000000 1000000 +10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 +TriangleNumber(10) = 55 +TriangleNumber_Real(10) = 55.0 +TriangleNumber_ORDINAL(10) = 55 +Factorial(5) = 120 +Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] +UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] +Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 +TheBigSubtract(100) = -12 +TailNat(10) = 50 +17 17 17 +2000000 + +Dafny program verifier did not attempt verification +2000000 2000000 +2000000 2000000 +1000000 1000000 +10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 +TriangleNumber(10) = 55 +TriangleNumber_Real(10) = 55.0 +TriangleNumber_ORDINAL(10) = 55 +Factorial(5) = 120 +Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] +UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] +Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 +TheBigSubtract(100) = -12 +TailNat(10) = 50 +17 17 17 +2000000 + +Dafny program verifier did not attempt verification +2000000 2000000 +2000000 2000000 +1000000 1000000 +10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 +TriangleNumber(10) = 55 +TriangleNumber_Real(10) = 55.0 +TriangleNumber_ORDINAL(10) = 55 +Factorial(5) = 120 +Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] +UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] +Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 +TheBigSubtract(100) = -12 +TailNat(10) = 50 +17 17 17 +2000000 + +Dafny program verifier did not attempt verification 2000000 2000000 2000000 2000000 1000000 1000000 diff --git a/Test/comp/TypeDescriptors.dfy b/Test/comp/TypeDescriptors.dfy index 5bedbb900e4..636cb3db583 100644 --- a/Test/comp/TypeDescriptors.dfy +++ b/Test/comp/TypeDescriptors.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Method(s: string, g: G) { var zero: G; diff --git a/Test/comp/TypeDescriptors.dfy.expect b/Test/comp/TypeDescriptors.dfy.expect index 1b09338c83d..9b1e8487bdc 100644 --- a/Test/comp/TypeDescriptors.dfy.expect +++ b/Test/comp/TypeDescriptors.dfy.expect @@ -1,3 +1,155 @@ + +Dafny program verifier finished with 11 verified, 0 errors + +Dafny program verifier did not attempt verification +int: 8 0 +bool: true false +char: 'r' 'D' +real: 1.618 0.0 +ORDINAL: 0 +bv0: 0 0 +bv21: 121 0 +bv32: 132 0 +bv191: 191 0 +set: {7} {} +multiset: multiset{7, 7} multiset{} +seq: [7] [] +map: map[2 := 7] map[] +pos: 3 1 +Hundred: 6 0 +HundredOdd: 13 19 +JustOdd: 131 5 +(): () () +(int, real): (2, 3.2) (0, 0.0) +(int, pos): (2, 3) (0, 1) +AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) +Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) +Stream: Stream.More +A=int: 15 0 +B=int: 16 0 +datatype.B=: {14} {} +object?: null +Class?>: null +Trait?>: null +array?: null +array2?: null +int --> bool: null +array? ~> bool: null + +Dafny program verifier did not attempt verification +int: 8 0 +bool: true false +char: 'r' 'D' +real: 1.618 0.0 +ORDINAL: 0 +bv0: 0 0 +bv21: 121 0 +bv32: 132 0 +bv191: 191 0 +set: {7} {} +multiset: multiset{7, 7} multiset{} +seq: [7] [] +map: map[2 := 7] map[] +pos: 3 1 +Hundred: 6 0 +HundredOdd: 13 19 +JustOdd: 131 5 +(): () () +(int, real): (2, 3.2) (0, 0.0) +(int, pos): (2, 3) (0, 1) +AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) +Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) +Stream: Stream.More +A=int: 15 0 +B=int: 16 0 +datatype.B=: {14} {} +object?: null +Class?>: null +Trait?>: null +array?: null +array2?: null +int --> bool: null +array? ~> bool: null + +Dafny program verifier did not attempt verification +int: 8 0 +bool: true false +char: 'r' 'D' +real: 1.618 0.0 +ORDINAL: 0 +bv0: 0 0 +bv21: 121 0 +bv32: 132 0 +bv191: 191 0 +set: {7} {} +multiset: multiset{7, 7} multiset{} +seq: [7] [] +map: map[2 := 7] map[] +pos: 3 1 +Hundred: 6 0 +HundredOdd: 13 19 +JustOdd: 131 5 +(): () () +(int, real): (2, 3.2) (0, 0.0) +(int, pos): (2, 3) (0, 1) +AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) +Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) +Stream: Stream.More +A=int: 15 0 +B=int: 16 0 +datatype.B=: {14} {} +object?: null +Class?>: null +Trait?>: null +array?: null +array2?: null +int --> bool: null +array? ~> bool: null + +Dafny program verifier did not attempt verification +int: 8 0 +bool: true false +char: 'r' 'D' +real: 1.618 0.0 +ORDINAL: 0 +bv0: 0 0 +bv21: 121 0 +bv32: 132 0 +bv191: 191 0 +set: {7} {} +multiset: multiset{7, 7} multiset{} +seq: [7] [] +map: map[2 := 7] map[] +pos: 3 1 +Hundred: 6 0 +HundredOdd: 13 19 +JustOdd: 131 5 +(): () () +(int, real): (2, 3.2) (0, 0.0) +(int, pos): (2, 3) (0, 1) +AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) +Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) +Stream: Stream.More +A=int: 15 0 +B=int: 16 0 +datatype.B=: {14} {} +object?: null +Class?>: null +Trait?>: null +array?: null +array2?: null +int --> bool: null +array? ~> bool: null + +Dafny program verifier did not attempt verification int: 8 0 bool: true false char: 'r' 'D' diff --git a/Test/comp/TypeParams.dfy b/Test/comp/TypeParams.dfy index c595881e028..11d1b3bac6a 100644 --- a/Test/comp/TypeParams.dfy +++ b/Test/comp/TypeParams.dfy @@ -1,6 +1,11 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation - +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" + +// RUN: %diff "%s.expect" "%t" datatype Color = Orange | Pink | Teal type Six = x | x <= 6 diff --git a/Test/comp/TypeParams.dfy.expect b/Test/comp/TypeParams.dfy.expect index 1381a030f65..ac8ef1c58e5 100644 --- a/Test/comp/TypeParams.dfy.expect +++ b/Test/comp/TypeParams.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 17 verified, 0 errors + +Dafny program verifier did not attempt verification 0 0 0 false Color.Orange 0.0 {} Color.Orange null null null null null {} multiset{} [] map[] {} map[] @@ -17,3 +21,87 @@ System.Func`2[Dafny.BigRational,System.Boolean] System.Func`1[System.Numerics.BigInteger] System.Func`3[_module._IColor,Dafny.ISet`1[System.UInt16],System.UInt32] 0 0 + +Dafny program verifier did not attempt verification +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +function () { return false; } +function () { return _dafny.ZERO; } +function () { return _dafny.ZERO; } +0 0 + +Dafny program verifier did not attempt verification +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +func(dafny.Real) bool +func() dafny.Int +func(main.Color, dafny.Set) uint32 +0 0 + +Dafny program verifier did not attempt verification +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +Function +Function +Function +0 0 + +Dafny program verifier did not attempt verification +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +Function +Function +Function +0 0 diff --git a/Test/comp/TypeParams.dfy.go.expect b/Test/comp/TypeParams.dfy.go.expect deleted file mode 100644 index e3a8e67d066..00000000000 --- a/Test/comp/TypeParams.dfy.go.expect +++ /dev/null @@ -1,19 +0,0 @@ -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -func(dafny.Real) bool -func() dafny.Int -func(main.Color, dafny.Set) uint32 -0 0 diff --git a/Test/comp/TypeParams.dfy.java.expect b/Test/comp/TypeParams.dfy.java.expect deleted file mode 100644 index 5f843ba06d1..00000000000 --- a/Test/comp/TypeParams.dfy.java.expect +++ /dev/null @@ -1,19 +0,0 @@ -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -Function -Function -Function -0 0 diff --git a/Test/comp/TypeParams.dfy.js.expect b/Test/comp/TypeParams.dfy.js.expect deleted file mode 100644 index 865c33ea48b..00000000000 --- a/Test/comp/TypeParams.dfy.js.expect +++ /dev/null @@ -1,19 +0,0 @@ -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -function () { return false; } -function () { return _dafny.ZERO; } -function () { return _dafny.ZERO; } -0 0 diff --git a/Test/comp/TypeParams.dfy.py.expect b/Test/comp/TypeParams.dfy.py.expect deleted file mode 100644 index 5f843ba06d1..00000000000 --- a/Test/comp/TypeParams.dfy.py.expect +++ /dev/null @@ -1,19 +0,0 @@ -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -Function -Function -Function -0 0 diff --git a/Test/comp/UnoptimizedErasableTypeWrappers.dfy b/Test/comp/UnoptimizedErasableTypeWrappers.dfy index b7911aed9db..58f0682ed41 100644 --- a/Test/comp/UnoptimizedErasableTypeWrappers.dfy +++ b/Test/comp/UnoptimizedErasableTypeWrappers.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --optimize-erasable-datatype-wrapper:false --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype SingletonRecord = SingletonRecord(u: int) datatype WithGhost = WithGhost(u: int, ghost v: int) diff --git a/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect b/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect index 3371376a52b..be1d7190b0f 100644 --- a/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect +++ b/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect @@ -1,3 +1,31 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification +SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) +() (30) (31) (30, 32) +15 20 +30 31 30 32 + +Dafny program verifier did not attempt verification +SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) +() (30) (31) (30, 32) +15 20 +30 31 30 32 + +Dafny program verifier did not attempt verification +SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) +() (30) (31) (30, 32) +15 20 +30 31 30 32 + +Dafny program verifier did not attempt verification +SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) +() (30) (31) (30, 32) +15 20 +30 31 30 32 + +Dafny program verifier did not attempt verification SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) () (30) (31) (30, 32) 15 20 diff --git a/Test/comp/Variance.dfy b/Test/comp/Variance.dfy index ddcde6cd7d7..6c198495209 100644 --- a/Test/comp/Variance.dfy +++ b/Test/comp/Variance.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --warn-deprecation:false +// RUN: %dafny /compile:0 /deprecation:0 "%s" > "%t" +// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Co<+T> = Co(z: T) { const x: int; diff --git a/Test/comp/Variance.dfy.expect b/Test/comp/Variance.dfy.expect index 5bb565b6bb4..cf08d82ac07 100644 --- a/Test/comp/Variance.dfy.expect +++ b/Test/comp/Variance.dfy.expect @@ -1,3 +1,67 @@ + +Dafny program verifier finished with 13 verified, 0 errors + +Dafny program verifier did not attempt verification +Co.Co(_module.Int) and Co.Co(_module.Int) +true0[]0000 +Non.Non(_module.Int) and Non.Non(_module.Int) +true0[]0000 +0 and 0 +_module.Int0[]0000 +CCo.CCo and CCo.CCo +true0[]0000 +CNon.CNon and CNon.CNon +true0[]0000 +CCon.CCon and CCon.CCon +_module.Int0[]0000 +Done + +Dafny program verifier did not attempt verification +Co.Co(_module.Int) and Co.Co(_module.Int) +true0[]0000 +Non.Non(_module.Int) and Non.Non(_module.Int) +true0[]0000 +0 and 0 +_module.Int0[]0000 +CCo.CCo and CCo.CCo +true0[]0000 +CNon.CNon and CNon.CNon +true0[]0000 +CCon.CCon and CCon.CCon +_module.Int0[]0000 +Done + +Dafny program verifier did not attempt verification +Co.Co(_module.Int) and Co.Co(_module.Int) +true0[]0000 +Non.Non(_module.Int) and Non.Non(_module.Int) +true0[]0000 +0 and 0 +_module.Int0[]0000 +CCo.CCo and CCo.CCo +true0[]0000 +CNon.CNon and CNon.CNon +true0[]0000 +CCon.CCon and CCon.CCon +_module.Int0[]0000 +Done + +Dafny program verifier did not attempt verification +Co.Co(_module.Int) and Co.Co(_module.Int) +true0[]0000 +Non.Non(_module.Int) and Non.Non(_module.Int) +true0[]0000 +0 and 0 +_module.Int0[]0000 +CCo.CCo and CCo.CCo +true0[]0000 +CNon.CNon and CNon.CNon +true0[]0000 +CCon.CCon and CCon.CCon +_module.Int0[]0000 +Done + +Dafny program verifier did not attempt verification Co.Co(_module.Int) and Co.Co(_module.Int) true0[]0000 Non.Non(_module.Int) and Non.Non(_module.Int) diff --git a/Test/comp/Various.dfy b/Test/comp/Various.dfy index 502801e4c2a..1f29c511a83 100644 --- a/Test/comp/Various.dfy +++ b/Test/comp/Various.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Match(tp: (nat, nat)) { match tp diff --git a/Test/comp/Various.dfy.expect b/Test/comp/Various.dfy.expect index 66f013c00f7..502e2d04792 100644 --- a/Test/comp/Various.dfy.expect +++ b/Test/comp/Various.dfy.expect @@ -1,3 +1,43 @@ + +Dafny program verifier finished with 4 verified, 0 errors + +Dafny program verifier did not attempt verification +match +1 +Kablammo!! +0 +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] + +Dafny program verifier did not attempt verification +match +1 +Kablammo!! +0 +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] + +Dafny program verifier did not attempt verification +match +1 +Kablammo!! +0 +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] + +Dafny program verifier did not attempt verification +match +1 +Kablammo!! +0 +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] + +Dafny program verifier did not attempt verification match 1 Kablammo!! diff --git a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy index 2cf77360cab..10fe57dec8f 100644 --- a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy +++ b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // An extremely small program intended to be the first target input for // brand new Dafny compilers. Avoids any use of strings (and therefore sequences) diff --git a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect index f32a5804e29..e1dcaef650b 100644 --- a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect +++ b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect @@ -1 +1,5 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification true \ No newline at end of file diff --git a/Test/comp/firstSteps/1_Calls-F.dfy b/Test/comp/firstSteps/1_Calls-F.dfy index 4fe5b83e551..32566f59f3b 100644 --- a/Test/comp/firstSteps/1_Calls-F.dfy +++ b/Test/comp/firstSteps/1_Calls-F.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/1_Calls-F.dfy.expect b/Test/comp/firstSteps/1_Calls-F.dfy.expect index 7ed6ff82de6..58e0a68ec1c 100644 --- a/Test/comp/firstSteps/1_Calls-F.dfy.expect +++ b/Test/comp/firstSteps/1_Calls-F.dfy.expect @@ -1 +1,5 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification 5 diff --git a/Test/comp/firstSteps/2_Modules.dfy b/Test/comp/firstSteps/2_Modules.dfy index d0effcb5a71..750b8d60c21 100644 --- a/Test/comp/firstSteps/2_Modules.dfy +++ b/Test/comp/firstSteps/2_Modules.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" module A { const i: nat := 1 diff --git a/Test/comp/firstSteps/2_Modules.dfy.expect b/Test/comp/firstSteps/2_Modules.dfy.expect index b85905ec0b9..9a4b57459c7 100644 --- a/Test/comp/firstSteps/2_Modules.dfy.expect +++ b/Test/comp/firstSteps/2_Modules.dfy.expect @@ -1 +1,5 @@ + +Dafny program verifier finished with 3 verified, 0 errors + +Dafny program verifier did not attempt verification 1 2 3 diff --git a/Test/comp/firstSteps/3_Calls-As.dfy b/Test/comp/firstSteps/3_Calls-As.dfy index 38889421865..f22bbdbd3f6 100644 --- a/Test/comp/firstSteps/3_Calls-As.dfy +++ b/Test/comp/firstSteps/3_Calls-As.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/3_Calls-As.dfy.expect b/Test/comp/firstSteps/3_Calls-As.dfy.expect index a1c59bb761f..eea6c52592c 100644 --- a/Test/comp/firstSteps/3_Calls-As.dfy.expect +++ b/Test/comp/firstSteps/3_Calls-As.dfy.expect @@ -1 +1,5 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification 0 0 false 0 false 0 diff --git a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy index 6a66781ff0d..89fb669dca0 100644 --- a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy +++ b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect index a8d09f0a6f5..e7498a27e3e 100644 --- a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect +++ b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect @@ -1,2 +1,6 @@ + +Dafny program verifier finished with 3 verified, 0 errors + +Dafny program verifier did not attempt verification 5 3 5 3 5 3 5 3 diff --git a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy index 1175b1eca8f..096523f8956 100644 --- a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy +++ b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect index ef3de96e567..8954da2b386 100644 --- a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect +++ b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect @@ -1,2 +1,6 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification 5 3 5 3 diff --git a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy index 5d970ac4de5..1fbaebdf4e9 100644 --- a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy +++ b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect index 4ff62e33956..b6ffe78bcbb 100644 --- a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect +++ b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 4 verified, 0 errors + +Dafny program verifier did not attempt verification 15 [0, 1, 2, 4] [0, 2, 4] diff --git a/Test/comp/firstSteps/7_Arrays.dfy b/Test/comp/firstSteps/7_Arrays.dfy index d02c942c9bb..07ddf89594b 100644 --- a/Test/comp/firstSteps/7_Arrays.dfy +++ b/Test/comp/firstSteps/7_Arrays.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // This fragment of comp/Arrays.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/7_Arrays.dfy.expect b/Test/comp/firstSteps/7_Arrays.dfy.expect index fa00285c692..75e824c80bb 100644 --- a/Test/comp/firstSteps/7_Arrays.dfy.expect +++ b/Test/comp/firstSteps/7_Arrays.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 7 verified, 0 errors + +Dafny program verifier did not attempt verification 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/comp/firstSteps/7_Dt_Algebraic.dfy b/Test/comp/firstSteps/7_Dt_Algebraic.dfy index 46a2995b37f..991462d8bdf 100644 --- a/Test/comp/firstSteps/7_Dt_Algebraic.dfy +++ b/Test/comp/firstSteps/7_Dt_Algebraic.dfy @@ -1,5 +1,7 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // This fragment of comp/Dt.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect deleted file mode 100644 index ba1b72ea6f7..00000000000 --- a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect +++ /dev/null @@ -1,11 +0,0 @@ -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} -42 'q' hello -1701 diff --git a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect index e3ff7faba6e..ec9b49fe420 100644 --- a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect +++ b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 7 verified, 0 errors + +Dafny program verifier did not attempt verification List.Nil List.Cons(5, List.Nil) (List.Nil, List.Cons(5, List.Nil)) @@ -9,3 +13,16 @@ List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, Li {Berry.Hallon, Berry.Smultron, Berry.Jordgubb} 42 'q' hello 1701 + +Dafny program verifier did not attempt verification +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} +42 'q' hello +1701 diff --git a/Test/dafny0/ArrayElementInitCompile.dfy b/Test/dafny0/ArrayElementInitCompile.dfy index 3714cf0fe8e..7d652486b9e 100644 --- a/Test/dafny0/ArrayElementInitCompile.dfy +++ b/Test/dafny0/ArrayElementInitCompile.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 /print:"%t.print" /rprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny0/ArrayElementInitCompile.dfy.expect b/Test/dafny0/ArrayElementInitCompile.dfy.expect index eaa3e759999..a5241c75f19 100644 --- a/Test/dafny0/ArrayElementInitCompile.dfy.expect +++ b/Test/dafny0/ArrayElementInitCompile.dfy.expect @@ -1,3 +1,79 @@ + +Dafny program verifier finished with 18 verified, 0 errors + +Dafny program verifier did not attempt verification +67 67 67 67 67 67 67 67 +0 1 2 3 +1 2 3 4 +2 3 4 5 +3 4 5 6 +4 5 6 7 +O . O . O . O . O . O . +12 12 12 12 12 12 12 12 12 12 12 12 +D E +y z +4 3 +7 +100 75 98 25 + +looks like this rocks +-2 -1 0 1 2 3 4 + +Dafny program verifier did not attempt verification +67 67 67 67 67 67 67 67 +0 1 2 3 +1 2 3 4 +2 3 4 5 +3 4 5 6 +4 5 6 7 +O . O . O . O . O . O . +12 12 12 12 12 12 12 12 12 12 12 12 +D E +y z +4 3 +7 +100 75 98 25 + +looks like this rocks +-2 -1 0 1 2 3 4 + +Dafny program verifier did not attempt verification +67 67 67 67 67 67 67 67 +0 1 2 3 +1 2 3 4 +2 3 4 5 +3 4 5 6 +4 5 6 7 +O . O . O . O . O . O . +12 12 12 12 12 12 12 12 12 12 12 12 +D E +y z +4 3 +7 +100 75 98 25 + +looks like this rocks +-2 -1 0 1 2 3 4 + +Dafny program verifier did not attempt verification +67 67 67 67 67 67 67 67 +0 1 2 3 +1 2 3 4 +2 3 4 5 +3 4 5 6 +4 5 6 7 +O . O . O . O . O . O . +12 12 12 12 12 12 12 12 12 12 12 12 +D E +y z +4 3 +7 +100 75 98 25 + +looks like this rocks +-2 -1 0 1 2 3 4 + +Dafny program verifier did not attempt verification 67 67 67 67 67 67 67 67 0 1 2 3 1 2 3 4 diff --git a/Test/dafny0/Bitvectors.dfy b/Test/dafny0/Bitvectors.dfy index b19e84d1181..320408e5772 100644 --- a/Test/dafny0/Bitvectors.dfy +++ b/Test/dafny0/Bitvectors.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /print:"%t.print" /env:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method M(a: bv1, b: bv32) returns (c: bv32, d: bv1) { diff --git a/Test/dafny0/Bitvectors.dfy.expect b/Test/dafny0/Bitvectors.dfy.expect index ed1c7328e83..51fda88f97b 100644 --- a/Test/dafny0/Bitvectors.dfy.expect +++ b/Test/dafny0/Bitvectors.dfy.expect @@ -1,3 +1,52 @@ + +Dafny program verifier finished with 11 verified, 0 errors + +Dafny program verifier did not attempt verification +4000 4000 4000 0 +1 2053 1099 +185 55 +2 4 +Comparisons: true true false false +bv16: 5 - 2 == 3 +bv16: 1 - 2 == 65535 +3 2 +0 0 +false true true false +bv67: 147573952589676412927 + 3 == 2 - 3 == 147573952589676412925 !! 3 == ! 147573952589676412924 == 3 +bv64: 18446744073709551615 + 3 == 2 - 3 == 18446744073709551613 !! 3 == ! 18446744073709551612 == 3 +bv53: 9007199254740991 + 3 == 2 - 3 == 9007199254740989 !! 3 == ! 9007199254740988 == 3 +bv33: 8589934591 + 3 == 2 - 3 == 8589934589 !! 3 == ! 8589934588 == 3 +bv32: 4294967295 + 3 == 2 - 3 == 4294967293 !! 3 == ! 4294967292 == 3 +bv31: 2147483647 + 3 == 2 - 3 == 2147483645 !! 3 == ! 2147483644 == 3 +bv16: 65535 + 3 == 2 - 3 == 65533 !! 3 == ! 65532 == 3 +bv15: 32767 + 3 == 2 - 3 == 32765 !! 3 == ! 32764 == 3 +bv8: 255 + 3 == 2 - 3 == 253 !! 3 == ! 252 == 3 +bv6: 63 + 3 == 2 - 3 == 61 !! 3 == ! 60 == 3 +bv1: 1 + 1 == 0 - 1 == 1 !! 1 == ! 0 == 1 +bv0: 0 + 0 == 0 - 0 == 0 !! 0 == ! 0 == 0 +bv2: + 3 + 2 == 1 + 3 - 2 == 1 + 3 * 2 == 2 + 3 / 2 == 1 + 3 % 2 == 1 +PrintShifts: bv67: 5 40 40 40 +PrintShifts: bv32: 5 40 40 40 +PrintShifts: bv7: 5 40 40 40 +PrintShifts: bv2: 1 2 2 2 +PrintShifts: bv0: 0 0 0 0 +PrintShifts: bv67 again: 2 2 2 73786976294838206465 +PrintShifts: bv32 again: 8000 8000 2147487648 3221227472 +PrintShifts: bv7 again: 124 124 124 127 +PrintShifts: bv0 again: 0 0 0 0 +PrintRotates: bv12: 5 5 +PrintRotates: bv7: 5 5 +PrintRotates: bv2: 1 1 +PrintRotates: bv0: 0 0 +PrintRotates: bv12 again: 976 976 +PrintRotates: bv7 again: 127 127 + +Dafny program verifier did not attempt verification 4000 4000 4000 0 1 2053 1099 185 55 diff --git a/Test/dafny0/Constant.dfy b/Test/dafny0/Constant.dfy index 1fdeedc3335..f021e7d4482 100644 --- a/Test/dafny0/Constant.dfy +++ b/Test/dafny0/Constant.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" const one:int := 1 const two:int := one * 2 diff --git a/Test/dafny0/Constant.dfy.expect b/Test/dafny0/Constant.dfy.expect index 1a7b981715f..6099b08c38c 100644 --- a/Test/dafny0/Constant.dfy.expect +++ b/Test/dafny0/Constant.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 17 verified, 0 errors one := 1 two := 2 three := 3 diff --git a/Test/dafny0/Deprecation.dfy b/Test/dafny0/Deprecation.dfy index 86521043d43..8c9c688d463 100644 --- a/Test/dafny0/Deprecation.dfy +++ b/Test/dafny0/Deprecation.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // This file contains tests for messags about various deprecated features. // As those features go away completely, so can the corresponding tests. diff --git a/Test/dafny0/Deprecation.dfy.expect b/Test/dafny0/Deprecation.dfy.expect index 0dffd975ac7..4ff88d31ade 100644 --- a/Test/dafny0/Deprecation.dfy.expect +++ b/Test/dafny0/Deprecation.dfy.expect @@ -1 +1,8 @@ +Deprecation.dfy(16,13): Warning: constructors no longer need 'this' to be listed in modifies clauses +Deprecation.dfy(23,0): Warning: the old keyword phrase 'inductive predicate' has been renamed to 'least predicate' +Deprecation.dfy(26,0): Warning: the old keyword 'copredicate' has been renamed to the keyword phrase 'greatest predicate' +Deprecation.dfy(29,0): Warning: the old keyword phrase 'inductive lemma' has been renamed to 'least lemma' +Deprecation.dfy(32,0): Warning: the old keyword 'colemma' has been renamed to the keyword phrase 'greatest lemma' + +Dafny program verifier finished with 0 verified, 0 errors yet here we are diff --git a/Test/dafny0/Deprecation.dfy.verifier.expect b/Test/dafny0/Deprecation.dfy.verifier.expect deleted file mode 100644 index c0851e9888c..00000000000 --- a/Test/dafny0/Deprecation.dfy.verifier.expect +++ /dev/null @@ -1,5 +0,0 @@ -Deprecation.dfy(15,13): Warning: constructors no longer need 'this' to be listed in modifies clauses -Deprecation.dfy(22,0): Warning: the old keyword phrase 'inductive predicate' has been renamed to 'least predicate' -Deprecation.dfy(25,0): Warning: the old keyword 'copredicate' has been renamed to the keyword phrase 'greatest predicate' -Deprecation.dfy(28,0): Warning: the old keyword phrase 'inductive lemma' has been renamed to 'least lemma' -Deprecation.dfy(31,0): Warning: the old keyword 'colemma' has been renamed to the keyword phrase 'greatest lemma' diff --git a/Test/dafny0/DiscoverBounds.dfy b/Test/dafny0/DiscoverBounds.dfy index 18e56158613..31f9717ee79 100644 --- a/Test/dafny0/DiscoverBounds.dfy +++ b/Test/dafny0/DiscoverBounds.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /print:"%t.print" /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype NT = x | 0 <= x < 100 newtype UT = NT diff --git a/Test/dafny0/DiscoverBounds.dfy.expect b/Test/dafny0/DiscoverBounds.dfy.expect index 909a58326d0..e43954c7be1 100644 --- a/Test/dafny0/DiscoverBounds.dfy.expect +++ b/Test/dafny0/DiscoverBounds.dfy.expect @@ -1,3 +1,10 @@ +DiscoverBounds.dfy(32,7): Warning: /!\ No terms found to trigger on. +DiscoverBounds.dfy(33,7): Warning: /!\ No terms found to trigger on. +DiscoverBounds.dfy(34,7): Warning: /!\ No terms found to trigger on. +DiscoverBounds.dfy(35,7): Warning: /!\ No terms found to trigger on. +DiscoverBounds.dfy(36,7): Warning: /!\ No terms found to trigger on. + +Dafny program verifier finished with 7 verified, 0 errors 0 0 -2 diff --git a/Test/dafny0/DiscoverBounds.dfy.verifier.expect b/Test/dafny0/DiscoverBounds.dfy.verifier.expect deleted file mode 100644 index 7c4de01ee0e..00000000000 --- a/Test/dafny0/DiscoverBounds.dfy.verifier.expect +++ /dev/null @@ -1,5 +0,0 @@ -DiscoverBounds.dfy(31,7): Warning: /!\ No terms found to trigger on. -DiscoverBounds.dfy(32,7): Warning: /!\ No terms found to trigger on. -DiscoverBounds.dfy(33,7): Warning: /!\ No terms found to trigger on. -DiscoverBounds.dfy(34,7): Warning: /!\ No terms found to trigger on. -DiscoverBounds.dfy(35,7): Warning: /!\ No terms found to trigger on. diff --git a/Test/dafny0/DividedConstructors.dfy b/Test/dafny0/DividedConstructors.dfy index e6f63a35f11..169bf4ee7df 100644 --- a/Test/dafny0/DividedConstructors.dfy +++ b/Test/dafny0/DividedConstructors.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /env:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var m := new M0.MyClass.Init(20); diff --git a/Test/dafny0/DividedConstructors.dfy.expect b/Test/dafny0/DividedConstructors.dfy.expect index 2dcc1ba6402..d46c6a37312 100644 --- a/Test/dafny0/DividedConstructors.dfy.expect +++ b/Test/dafny0/DividedConstructors.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 17 verified, 0 errors 37, 17, 3.14 false, true diff --git a/Test/dafny0/EqualityTypesCompile.dfy b/Test/dafny0/EqualityTypesCompile.dfy index a36d1818c1d..de7954710e9 100644 --- a/Test/dafny0/EqualityTypesCompile.dfy +++ b/Test/dafny0/EqualityTypesCompile.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype List = Nil | Cons(A, List) | ICons(int, List) datatype TwoLists = Two(List, List) diff --git a/Test/dafny0/EqualityTypesCompile.dfy.expect b/Test/dafny0/EqualityTypesCompile.dfy.expect index 0246dc39633..d2f1950e7f7 100644 --- a/Test/dafny0/EqualityTypesCompile.dfy.expect +++ b/Test/dafny0/EqualityTypesCompile.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 1 verified, 0 errors from M: false from N: false from H: false diff --git a/Test/dafny0/ForallCompilationNewSyntax.dfy b/Test/dafny0/ForallCompilationNewSyntax.dfy index ac354d6338c..b7132df78ae 100644 --- a/Test/dafny0/ForallCompilationNewSyntax.dfy +++ b/Test/dafny0/ForallCompilationNewSyntax.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --quantifier-syntax:4 --relax-definite-assignment +// RUN: %baredafny run %args --relax-definite-assignment --quantifier-syntax:4 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var c := new MyClass; diff --git a/Test/dafny0/ForallCompilationNewSyntax.dfy.expect b/Test/dafny0/ForallCompilationNewSyntax.dfy.expect index e69de29bb2d..5b7ec4613bb 100644 --- a/Test/dafny0/ForallCompilationNewSyntax.dfy.expect +++ b/Test/dafny0/ForallCompilationNewSyntax.dfy.expect @@ -0,0 +1,6 @@ +ForallCompilationNewSyntax.dfy(26,4): Warning: /!\ No terms found to trigger on. +ForallCompilationNewSyntax.dfy(35,4): Warning: /!\ No terms found to trigger on. +ForallCompilationNewSyntax.dfy(44,4): Warning: /!\ No terms found to trigger on. +ForallCompilationNewSyntax.dfy(64,4): Warning: /!\ No trigger covering all quantified variables found. + +Dafny program verifier finished with 14 verified, 0 errors diff --git a/Test/dafny0/ForallCompilationNewSyntax.dfy.verifier.expect b/Test/dafny0/ForallCompilationNewSyntax.dfy.verifier.expect deleted file mode 100644 index a94cd5ea608..00000000000 --- a/Test/dafny0/ForallCompilationNewSyntax.dfy.verifier.expect +++ /dev/null @@ -1,4 +0,0 @@ -ForallCompilationNewSyntax.dfy(25,4): Warning: /!\ No terms found to trigger on. -ForallCompilationNewSyntax.dfy(34,4): Warning: /!\ No terms found to trigger on. -ForallCompilationNewSyntax.dfy(43,4): Warning: /!\ No terms found to trigger on. -ForallCompilationNewSyntax.dfy(63,4): Warning: /!\ No trigger covering all quantified variables found. diff --git a/Test/dafny0/GhostGuards.dfy b/Test/dafny0/GhostGuards.dfy index 49877792a47..b17c98662ce 100644 --- a/Test/dafny0/GhostGuards.dfy +++ b/Test/dafny0/GhostGuards.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /printTooltips /rprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Dt = Green | Dog diff --git a/Test/dafny0/GhostGuards.dfy.expect b/Test/dafny0/GhostGuards.dfy.expect index e69de29bb2d..8bb8a71d69d 100644 --- a/Test/dafny0/GhostGuards.dfy.expect +++ b/Test/dafny0/GhostGuards.dfy.expect @@ -0,0 +1,7 @@ +GhostGuards.dfy(12,9): Info: ghost if +GhostGuards.dfy(18,2): Info: ghost if +GhostGuards.dfy(28,2): Info: ghost while +GhostGuards.dfy(41,2): Info: ghost while +GhostGuards.dfy(54,2): Info: ghost match + +Dafny program verifier finished with 1 verified, 0 errors diff --git a/Test/dafny0/GhostGuards.dfy.verifier.expect b/Test/dafny0/GhostGuards.dfy.verifier.expect deleted file mode 100644 index 7e2637d73bb..00000000000 --- a/Test/dafny0/GhostGuards.dfy.verifier.expect +++ /dev/null @@ -1,5 +0,0 @@ -GhostGuards.dfy(11,9): Info: ghost if -GhostGuards.dfy(17,2): Info: ghost if -GhostGuards.dfy(27,2): Info: ghost while -GhostGuards.dfy(40,2): Info: ghost while -GhostGuards.dfy(53,2): Info: ghost match diff --git a/Test/dafny0/GhostITECompilation.dfy b/Test/dafny0/GhostITECompilation.dfy index bd7cfa28a95..d761ddbc6ea 100644 --- a/Test/dafny0/GhostITECompilation.dfy +++ b/Test/dafny0/GhostITECompilation.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --function-syntax:4 --relax-definite-assignment +// RUN: %dafny /compile:0 /functionSyntax:4 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" function F(x: nat, ghost y: nat): nat { diff --git a/Test/dafny0/GhostITECompilation.dfy.expect b/Test/dafny0/GhostITECompilation.dfy.expect index b4988e5cf11..1ec406bf52c 100644 --- a/Test/dafny0/GhostITECompilation.dfy.expect +++ b/Test/dafny0/GhostITECompilation.dfy.expect @@ -1,3 +1,31 @@ + +Dafny program verifier finished with 6 verified, 0 errors + +Dafny program verifier did not attempt verification +65 +65 +65 +65 + +Dafny program verifier did not attempt verification +65 +65 +65 +65 + +Dafny program verifier did not attempt verification +65 +65 +65 +65 + +Dafny program verifier did not attempt verification +65 +65 +65 +65 + +Dafny program verifier did not attempt verification 65 65 65 diff --git a/Test/dafny0/InitialValues.dfy b/Test/dafny0/InitialValues.dfy index 0848d244d71..7dcb05cc9c9 100644 --- a/Test/dafny0/InitialValues.dfy +++ b/Test/dafny0/InitialValues.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny0/InitialValues.dfy.expect b/Test/dafny0/InitialValues.dfy.expect index 18903dcc3dd..ada1b783c16 100644 --- a/Test/dafny0/InitialValues.dfy.expect +++ b/Test/dafny0/InitialValues.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 2 verified, 0 errors r= 0.0 s= 3.4 a= 0.0 b= 3.4 z= 0.0 a==z = true diff --git a/Test/dafny0/MatchBraces.dfy b/Test/dafny0/MatchBraces.dfy index 4ac380f2739..ddd1924774b 100644 --- a/Test/dafny0/MatchBraces.dfy +++ b/Test/dafny0/MatchBraces.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /print:"%t.print" /env:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Color = Red | Green | Blue diff --git a/Test/dafny0/MatchBraces.dfy.expect b/Test/dafny0/MatchBraces.dfy.expect index 4f89bff47e5..88f6cf4f56e 100644 --- a/Test/dafny0/MatchBraces.dfy.expect +++ b/Test/dafny0/MatchBraces.dfy.expect @@ -1,2 +1,10 @@ + +Dafny program verifier finished with 5 verified, 0 errors + +Dafny program verifier did not attempt verification +7 0.18 Color.Red 13 12 +11 98.0 Color.Green 14 115 + +Dafny program verifier did not attempt verification 7 0.18 Color.Red 13 12 11 98.0 Color.Green 14 115 diff --git a/Test/dafny0/MoForallCompilation.dfy b/Test/dafny0/MoForallCompilation.dfy index af080853463..835712edbce 100644 --- a/Test/dafny0/MoForallCompilation.dfy +++ b/Test/dafny0/MoForallCompilation.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { TestAggregateArrayUpdate(); diff --git a/Test/dafny0/MoForallCompilation.dfy.expect b/Test/dafny0/MoForallCompilation.dfy.expect index 7bb606c1528..c431c74c6aa 100644 --- a/Test/dafny0/MoForallCompilation.dfy.expect +++ b/Test/dafny0/MoForallCompilation.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 18 verified, 0 errors -4.0 -3.0 -2.0 -1.0 0.0 1.0 2.0 3.0 7.0 6.0 5.0 4.0 3.0 2.0 1.0 0.0 true true true true true true false false diff --git a/Test/dafny0/NameclashesCompile.dfy b/Test/dafny0/NameclashesCompile.dfy index 46cae4b2338..4d06065c675 100644 --- a/Test/dafny0/NameclashesCompile.dfy +++ b/Test/dafny0/NameclashesCompile.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var r0, r1; diff --git a/Test/dafny0/NameclashesCompile.dfy.expect b/Test/dafny0/NameclashesCompile.dfy.expect index f001bdaeb1e..1434bb632f6 100644 --- a/Test/dafny0/NameclashesCompile.dfy.expect +++ b/Test/dafny0/NameclashesCompile.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 2 verified, 0 errors 15.0 15.1 94 99 0.8 14.3 14.4 18.9 18.92 diff --git a/Test/dafny0/NonZeroInitializationCompile.dfy b/Test/dafny0/NonZeroInitializationCompile.dfy index 2fedae6d60d..48b61a39369 100644 --- a/Test/dafny0/NonZeroInitializationCompile.dfy +++ b/Test/dafny0/NonZeroInitializationCompile.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" type MyInt = x | 6 <= x witness 6 newtype MyNewInt = x | 6 <= x witness 12 diff --git a/Test/dafny0/NonZeroInitializationCompile.dfy.expect b/Test/dafny0/NonZeroInitializationCompile.dfy.expect index 2e20350afad..69539e473c2 100644 --- a/Test/dafny0/NonZeroInitializationCompile.dfy.expect +++ b/Test/dafny0/NonZeroInitializationCompile.dfy.expect @@ -1,3 +1,76 @@ + +Dafny program verifier finished with 15 verified, 0 errors + +Dafny program verifier did not attempt verification +These are the arbitrary values chosen by the compiler: 6, 12 +short, short': 0, -35 +nes: {57} +f0, f1: (0, false), (29, true) +dt: Dt.Atom(-35) +cl { u: 12, x: 0, r: 3.14, nes: {57} } +cl' { u: 12, x: 0, ': 3.14, nes: {20, 57} } + +x: real :: 0.0 versus 0.0 +ch: char :: 'D' versus 'D' +s: set :: {} versus {} +d: Xt :: AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) versus AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) +y: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) +z: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) + +x: real :: 0.0 versus 0.0 +ch: char :: 'D' versus 'D' +s: set :: {} versus {} +d: Xt :: AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) versus AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) +y: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) +z: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) + +Dafny program verifier did not attempt verification +These are the arbitrary values chosen by the compiler: 6, 12 +short, short': 0, -35 +nes: {57} +f0, f1: (0, false), (29, true) +dt: Dt.Atom(-35) +cl { u: 12, x: 0, r: 3.14, nes: {57} } +cl' { u: 12, x: 0, ': 3.14, nes: {20, 57} } + +x: real :: 0.0 versus 0.0 +ch: char :: 'D' versus 'D' +s: set :: {} versus {} +d: Xt :: AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) versus AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) +y: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) +z: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) + +x: real :: 0.0 versus 0.0 +ch: char :: 'D' versus 'D' +s: set :: {} versus {} +d: Xt :: AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) versus AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) +y: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) +z: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) + +Dafny program verifier did not attempt verification +These are the arbitrary values chosen by the compiler: 6, 12 +short, short': 0, -35 +nes: {57} +f0, f1: (0, false), (29, true) +dt: Dt.Atom(-35) +cl { u: 12, x: 0, r: 3.14, nes: {57} } +cl' { u: 12, x: 0, ': 3.14, nes: {20, 57} } + +x: real :: 0.0 versus 0.0 +ch: char :: 'D' versus 'D' +s: set :: {} versus {} +d: Xt :: AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) versus AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) +y: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) +z: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) + +x: real :: 0.0 versus 0.0 +ch: char :: 'D' versus 'D' +s: set :: {} versus {} +d: Xt :: AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) versus AdvancedZeroInitialization_Compile.Xt.MakeXt(0, []) +y: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, []) +z: Yt :: AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization_Compile.Yt.MakeYt(0, 0) + +Dafny program verifier did not attempt verification These are the arbitrary values chosen by the compiler: 6, 12 short, short': 0, -35 nes: {57} diff --git a/Test/dafny0/NullComparisonWarnings.dfy b/Test/dafny0/NullComparisonWarnings.dfy index 35fd5ffb3f4..eb9183040bc 100644 --- a/Test/dafny0/NullComparisonWarnings.dfy +++ b/Test/dafny0/NullComparisonWarnings.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { print "despite the warnings, the program still compiles\n"; diff --git a/Test/dafny0/NullComparisonWarnings.dfy.expect b/Test/dafny0/NullComparisonWarnings.dfy.expect index f2b4545fac7..d8cf4a9960c 100644 --- a/Test/dafny0/NullComparisonWarnings.dfy.expect +++ b/Test/dafny0/NullComparisonWarnings.dfy.expect @@ -1 +1,14 @@ +NullComparisonWarnings.dfy(27,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(28,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'y' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(29,14): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for field 'next' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(30,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(31,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'y' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(32,14): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for field 'next' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(34,12): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(37,12): Warning: the type of the other operand is a set of non-null elements, so the inclusion test of 'null' will always return 'false' +NullComparisonWarnings.dfy(38,12): Warning: the type of the other operand is a set of non-null elements, so the non-inclusion test of 'null' will always return 'true' +NullComparisonWarnings.dfy(40,41): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'u' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(45,12): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' + +Dafny program verifier finished with 4 verified, 0 errors despite the warnings, the program still compiles diff --git a/Test/dafny0/NullComparisonWarnings.dfy.verifier.expect b/Test/dafny0/NullComparisonWarnings.dfy.verifier.expect deleted file mode 100644 index 24f9074ecc9..00000000000 --- a/Test/dafny0/NullComparisonWarnings.dfy.verifier.expect +++ /dev/null @@ -1,11 +0,0 @@ -NullComparisonWarnings.dfy(26,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(27,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'y' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(28,14): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for field 'next' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(29,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(30,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'y' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(31,14): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for field 'next' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(33,12): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(36,12): Warning: the type of the other operand is a set of non-null elements, so the inclusion test of 'null' will always return 'false' -NullComparisonWarnings.dfy(37,12): Warning: the type of the other operand is a set of non-null elements, so the non-inclusion test of 'null' will always return 'true' -NullComparisonWarnings.dfy(39,41): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'u' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(44,12): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' diff --git a/Test/dafny0/PrintUTF8.dfy b/Test/dafny0/PrintUTF8.dfy index eff7baa32a9..5d4e376b19d 100644 --- a/Test/dafny0/PrintUTF8.dfy +++ b/Test/dafny0/PrintUTF8.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { print "Mikaël fixed UTF8\n"; diff --git a/Test/dafny0/PrintUTF8.dfy.expect b/Test/dafny0/PrintUTF8.dfy.expect index 818549280d3..52a23e906cc 100644 --- a/Test/dafny0/PrintUTF8.dfy.expect +++ b/Test/dafny0/PrintUTF8.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 0 verified, 0 errors Mikaël fixed UTF8 diff --git a/Test/dafny0/RangeCompilation.dfy b/Test/dafny0/RangeCompilation.dfy index 3f3e6aed0f8..53a8d6e33e5 100644 --- a/Test/dafny0/RangeCompilation.dfy +++ b/Test/dafny0/RangeCompilation.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype Byte = x | 0 <= x < 256 predicate GoodByte(b: Byte) { diff --git a/Test/dafny0/RangeCompilation.dfy.expect b/Test/dafny0/RangeCompilation.dfy.expect index 9e0f9e5f028..82fbbb9b698 100644 --- a/Test/dafny0/RangeCompilation.dfy.expect +++ b/Test/dafny0/RangeCompilation.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 4 verified, 0 errors b=2 i=4 diff --git a/Test/dafny0/SeqFromArray.dfy b/Test/dafny0/SeqFromArray.dfy index 39f72303d18..6bab732c906 100644 --- a/Test/dafny0/SeqFromArray.dfy +++ b/Test/dafny0/SeqFromArray.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // /autoTriggers:1 added to suppress instabilities diff --git a/Test/dafny0/SeqFromArray.dfy.expect b/Test/dafny0/SeqFromArray.dfy.expect index e69de29bb2d..1981561ca00 100644 --- a/Test/dafny0/SeqFromArray.dfy.expect +++ b/Test/dafny0/SeqFromArray.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 10 verified, 0 errors diff --git a/Test/dafny0/SharedDestructorsCompile.dfy b/Test/dafny0/SharedDestructorsCompile.dfy index 64d8b245b58..8171cf72404 100644 --- a/Test/dafny0/SharedDestructorsCompile.dfy +++ b/Test/dafny0/SharedDestructorsCompile.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Dt = | A(x: int, y: real) diff --git a/Test/dafny0/SharedDestructorsCompile.dfy.expect b/Test/dafny0/SharedDestructorsCompile.dfy.expect index 060d152d77b..e037db03c40 100644 --- a/Test/dafny0/SharedDestructorsCompile.dfy.expect +++ b/Test/dafny0/SharedDestructorsCompile.dfy.expect @@ -1,3 +1,20 @@ + +Dafny program verifier finished with 3 verified, 0 errors + +Dafny program verifier did not attempt verification +Dt.A(10, 12.0): x=10 y=12.0 +Dt.B(_module.MyClass, 6): h=_module.MyClass x=6 +Dt.C(3.14): y=3.14 +Dt.C(3.14) +Dt.A(71, 0.1) +Klef.C3(44, 100, 66, 200) +Datte.AA(10, 2) Datte.AA(10, 5) +Datte.BB(false, 12) Datte.BB(false, 6) +Datte.CC(3.2) Datte.CC(3.4) +Datte.DD(100, {7}, 5, 9.0) Datte.DD(30, {7}, 5, 9.0) +Datte.DD(100, {7}, 5, 9.0) Datte.DD(30, {7}, 5, 2.0) + +Dafny program verifier did not attempt verification Dt.A(10, 12.0): x=10 y=12.0 Dt.B(_module.MyClass, 6): h=_module.MyClass x=6 Dt.C(3.14): y=3.14 diff --git a/Test/dafny0/SiblingImports.dfy b/Test/dafny0/SiblingImports.dfy index 756e4b253f3..3fb01d9d1b8 100644 --- a/Test/dafny0/SiblingImports.dfy +++ b/Test/dafny0/SiblingImports.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { ClientA.Test(); diff --git a/Test/dafny0/SiblingImports.dfy.expect b/Test/dafny0/SiblingImports.dfy.expect index fb6171563ac..ba4df82a925 100644 --- a/Test/dafny0/SiblingImports.dfy.expect +++ b/Test/dafny0/SiblingImports.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 1 verified, 0 errors ClientA.Inner.Five: 5 ClientB.Inner.Five: 5 ClientC.Inner.Five: 5 diff --git a/Test/dafny0/TypeConversionsCompile.dfy b/Test/dafny0/TypeConversionsCompile.dfy index 585aca1e6c6..2af24a392ca 100644 --- a/Test/dafny0/TypeConversionsCompile.dfy +++ b/Test/dafny0/TypeConversionsCompile.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /env:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype Handful = x | 0 <= x < 0x8000 // this type turns native newtype Abundance = y | -20 <= y < 0x200_0000_0000 // still fits inside a "long" diff --git a/Test/dafny0/TypeConversionsCompile.dfy.expect b/Test/dafny0/TypeConversionsCompile.dfy.expect index 78990cf4a30..893938a0226 100644 --- a/Test/dafny0/TypeConversionsCompile.dfy.expect +++ b/Test/dafny0/TypeConversionsCompile.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 8 verified, 0 errors 3 4 5.0 5 6 -1.0 147573952589676412927 4294967295 127 0 got 3, expected 3 got 0, expected 0 diff --git a/Test/dafny0/TypeMembers.dfy b/Test/dafny0/TypeMembers.dfy index f2bea4039c9..2ab57767ad5 100644 --- a/Test/dafny0/TypeMembers.dfy +++ b/Test/dafny0/TypeMembers.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { BasicTests(); diff --git a/Test/dafny0/TypeMembers.dfy.expect b/Test/dafny0/TypeMembers.dfy.expect index 923cb07e841..1d406ca85dc 100644 --- a/Test/dafny0/TypeMembers.dfy.expect +++ b/Test/dafny0/TypeMembers.dfy.expect @@ -1,3 +1,32 @@ +TypeMembers.dfy(117,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect + +Dafny program verifier finished with 29 verified, 0 errors +TypeMembers.dfy(117,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect + +Dafny program verifier did not attempt verification +DaTy.Yes 10 26 +8 11 10 11 10 +35 10 14 +22 22 +9 Dt.Business(false, 5) +76 77 +19 +0 0 +19 82 83 +93 Co.Cobalt +27 27 +18 +11 18 18 22 +15 30 29 +95 11 +162 165 +11 18 18 3 +15 30 29 +95 11 +162 165 +TypeMembers.dfy(117,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect + +Dafny program verifier did not attempt verification DaTy.Yes 10 26 8 11 10 11 10 35 10 14 diff --git a/Test/dafny0/TypeMembers.dfy.verifier.expect b/Test/dafny0/TypeMembers.dfy.verifier.expect deleted file mode 100644 index 62f55c943d2..00000000000 --- a/Test/dafny0/TypeMembers.dfy.verifier.expect +++ /dev/null @@ -1 +0,0 @@ -TypeMembers.dfy(114,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect diff --git a/Test/dafny0/Wellfounded.dfy b/Test/dafny0/Wellfounded.dfy index 7ec2be06b38..2ed488974c6 100644 --- a/Test/dafny0/Wellfounded.dfy +++ b/Test/dafny0/Wellfounded.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var d := Int(10); diff --git a/Test/dafny0/Wellfounded.dfy.expect b/Test/dafny0/Wellfounded.dfy.expect index 52742a67098..73d7a1e7ca2 100644 --- a/Test/dafny0/Wellfounded.dfy.expect +++ b/Test/dafny0/Wellfounded.dfy.expect @@ -1,3 +1,7 @@ +Wellfounded.dfy(49,14): Warning: /!\ No terms found to trigger on. +Wellfounded.dfy(77,5): Warning: /!\ No terms found to trigger on. + +Dafny program verifier finished with 3 verified, 0 errors M(d, d) = 10 M(a1, d) = 10 M(a2, d) = 10 diff --git a/Test/dafny0/Wellfounded.dfy.verifier.expect b/Test/dafny0/Wellfounded.dfy.verifier.expect deleted file mode 100644 index e61f12f01b2..00000000000 --- a/Test/dafny0/Wellfounded.dfy.verifier.expect +++ /dev/null @@ -1,2 +0,0 @@ -Wellfounded.dfy(48,14): Warning: /!\ No terms found to trigger on. -Wellfounded.dfy(76,5): Warning: /!\ No terms found to trigger on. diff --git a/Test/dafny2/MinWindowMax.dfy b/Test/dafny2/MinWindowMax.dfy index 32342cdd8b9..71ccb539d7d 100644 --- a/Test/dafny2/MinWindowMax.dfy +++ b/Test/dafny2/MinWindowMax.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Minimum window-max problem. // Rustan Leino diff --git a/Test/dafny2/MinWindowMax.dfy.expect b/Test/dafny2/MinWindowMax.dfy.expect index 1bb5609994e..f6f6e52d9bc 100644 --- a/Test/dafny2/MinWindowMax.dfy.expect +++ b/Test/dafny2/MinWindowMax.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 12 verified, 0 errors Window size 1: min window-max is -5 Window size 2: min window-max is 2 Window size 3: min window-max is 3 diff --git a/Test/dafny2/SmallestMissingNumber-functional.dfy b/Test/dafny2/SmallestMissingNumber-functional.dfy index a1544efab5f..047475c2680 100644 --- a/Test/dafny2/SmallestMissingNumber-functional.dfy +++ b/Test/dafny2/SmallestMissingNumber-functional.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Smallest missing number problem, functional version without duplicates. // A purely functional solution to the programming problem in Richard Bird's diff --git a/Test/dafny2/SmallestMissingNumber-functional.dfy.expect b/Test/dafny2/SmallestMissingNumber-functional.dfy.expect index 5d75da8ddd3..208b183ee3e 100644 --- a/Test/dafny2/SmallestMissingNumber-functional.dfy.expect +++ b/Test/dafny2/SmallestMissingNumber-functional.dfy.expect @@ -1 +1,4 @@ +SmallestMissingNumber-functional.dfy(213,11): Warning: /!\ No terms found to trigger on. + +Dafny program verifier finished with 21 verified, 0 errors 0 1 4 5 diff --git a/Test/dafny2/SmallestMissingNumber-functional.dfy.verifier.expect b/Test/dafny2/SmallestMissingNumber-functional.dfy.verifier.expect deleted file mode 100644 index cf10280f376..00000000000 --- a/Test/dafny2/SmallestMissingNumber-functional.dfy.verifier.expect +++ /dev/null @@ -1 +0,0 @@ -SmallestMissingNumber-functional.dfy(212,11): Warning: /!\ No terms found to trigger on. diff --git a/Test/dafny2/SmallestMissingNumber-imperative.dfy b/Test/dafny2/SmallestMissingNumber-imperative.dfy index 314bf4e464c..b8539481a54 100644 --- a/Test/dafny2/SmallestMissingNumber-imperative.dfy +++ b/Test/dafny2/SmallestMissingNumber-imperative.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Smallest missing number. // An imperative solution to the programming problem in Richard Bird's diff --git a/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect b/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect index cfb25913041..bc4a868fdff 100644 --- a/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect +++ b/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 8 verified, 0 errors 0 1 5 diff --git a/Test/dafny2/StoreAndRetrieve.dfy b/Test/dafny2/StoreAndRetrieve.dfy index 87b7bc78127..968b6948e0d 100644 --- a/Test/dafny2/StoreAndRetrieve.dfy +++ b/Test/dafny2/StoreAndRetrieve.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // This file shows an example program that uses both refinement and :autocontracts // specify a class that stores a set of things that can be retrieved using a query. diff --git a/Test/dafny2/StoreAndRetrieve.dfy.expect b/Test/dafny2/StoreAndRetrieve.dfy.expect index 030f5bfab39..1d7d71d5202 100644 --- a/Test/dafny2/StoreAndRetrieve.dfy.expect +++ b/Test/dafny2/StoreAndRetrieve.dfy.expect @@ -1 +1,39 @@ +StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier finished with 19 verified, 0 errors +StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +20.3 +StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +20.3 +StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +20.3 +StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification 20.3 diff --git a/Test/dafny2/StoreAndRetrieve.dfy.verifier.expect b/Test/dafny2/StoreAndRetrieve.dfy.verifier.expect deleted file mode 100644 index 0c3d269cdc1..00000000000 --- a/Test/dafny2/StoreAndRetrieve.dfy.verifier.expect +++ /dev/null @@ -1,5 +0,0 @@ -StoreAndRetrieve.dfy(60,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(65,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(66,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(81,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(92,9): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny2/Z-BirthdayBook.dfy b/Test/dafny2/Z-BirthdayBook.dfy index 10fc159b1a3..d9580e7cca2 100644 --- a/Test/dafny2/Z-BirthdayBook.dfy +++ b/Test/dafny2/Z-BirthdayBook.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // The birthday book example from the Z Reference Manual // Rustan Leino, 22 Feb 2018 diff --git a/Test/dafny2/Z-BirthdayBook.dfy.expect b/Test/dafny2/Z-BirthdayBook.dfy.expect index c6f2230e21a..31762ddd5b4 100644 --- a/Test/dafny2/Z-BirthdayBook.dfy.expect +++ b/Test/dafny2/Z-BirthdayBook.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 21 verified, 0 errors Send cards to: {['M', 'i', 'k', 'e'], ['S', 'u', 's', 'a', 'n']} diff --git a/Test/dafny2/pq-intrinsic-extrinsic.dfy b/Test/dafny2/pq-intrinsic-extrinsic.dfy index 588c2f9e2b1..c797c92445d 100644 --- a/Test/dafny2/pq-intrinsic-extrinsic.dfy +++ b/Test/dafny2/pq-intrinsic-extrinsic.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // This file contains several versions of a priority queue implemented by Braun trees: // diff --git a/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect b/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect index 5c90c26e0eb..bc2608f44b7 100644 --- a/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect +++ b/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect @@ -1,3 +1,14 @@ + +Dafny program verifier finished with 32 verified, 0 errors + +Dafny program verifier did not attempt verification +PriorityQueue_extrinsic: 3 +PriorityQueue_layered: 3 +PriorityQueue_intrinsic: 3 +PriorityQueue_on_intrinsic: 3 +PriorityQueue_direct: 3 + +Dafny program verifier did not attempt verification PriorityQueue_extrinsic: 3 PriorityQueue_layered: 3 PriorityQueue_intrinsic: 3 diff --git a/Test/dafny3/Abstemious.dfy b/Test/dafny3/Abstemious.dfy index 62d891f950f..263c1f1fb00 100644 --- a/Test/dafny3/Abstemious.dfy +++ b/Test/dafny3/Abstemious.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Examples from https://www.haskell.org/tutorial/functions.html diff --git a/Test/dafny3/Abstemious.dfy.expect b/Test/dafny3/Abstemious.dfy.expect index 3511a04a840..96f109b0b58 100644 --- a/Test/dafny3/Abstemious.dfy.expect +++ b/Test/dafny3/Abstemious.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 19 verified, 0 errors ones(): 1 1 1 1 1 1 1 ... from(3): 3 4 5 6 7 8 9 ... Map(plus1, ones()): 2 2 2 2 2 2 2 ... diff --git a/Test/dafny3/CachedContainer.dfy b/Test/dafny3/CachedContainer.dfy index e36e76d6851..77c3e45897f 100644 --- a/Test/dafny3/CachedContainer.dfy +++ b/Test/dafny3/CachedContainer.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // This file contains an example chain of module refinements, starting from a // simple interface M0 to an implementation M3. Module Client.Test() is diff --git a/Test/dafny3/CachedContainer.dfy.expect b/Test/dafny3/CachedContainer.dfy.expect index ed2a587c3f1..08f4fb30b0a 100644 --- a/Test/dafny3/CachedContainer.dfy.expect +++ b/Test/dafny3/CachedContainer.dfy.expect @@ -1 +1,79 @@ +CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier finished with 29 verified, 0 errors +CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +false true false true +CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +false true false true +CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +false true false true +CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification false true false true diff --git a/Test/dafny3/CachedContainer.dfy.verifier.expect b/Test/dafny3/CachedContainer.dfy.verifier.expect deleted file mode 100644 index a037bc94ff6..00000000000 --- a/Test/dafny3/CachedContainer.dfy.verifier.expect +++ /dev/null @@ -1,13 +0,0 @@ -CachedContainer.dfy(112,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(119,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(122,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(129,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(132,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(153,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(154,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(162,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(163,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(166,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(178,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(179,13): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny3/Iter.dfy b/Test/dafny3/Iter.dfy index 46befa24dd8..81431f2c64b 100644 --- a/Test/dafny3/Iter.dfy +++ b/Test/dafny3/Iter.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" class List { ghost var Contents: seq diff --git a/Test/dafny3/Iter.dfy.expect b/Test/dafny3/Iter.dfy.expect index 0ed11070541..69d7373d5d5 100644 --- a/Test/dafny3/Iter.dfy.expect +++ b/Test/dafny3/Iter.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 12 verified, 0 errors 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 98 0 2 4 6 8 10 12 14 diff --git a/Test/dafny4/Ackermann.dfy b/Test/dafny4/Ackermann.dfy index a4ef351c96b..27968070e9b 100644 --- a/Test/dafny4/Ackermann.dfy +++ b/Test/dafny4/Ackermann.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Rustan Leino, 8 Sep 2015. // This file proves that the Ackermann function is monotonic in each argument diff --git a/Test/dafny4/Ackermann.dfy.expect b/Test/dafny4/Ackermann.dfy.expect index 43d9513ef4b..c995dac9c9a 100644 --- a/Test/dafny4/Ackermann.dfy.expect +++ b/Test/dafny4/Ackermann.dfy.expect @@ -1 +1,5 @@ +Ackermann.dfy(163,4): Warning: /!\ No terms found to trigger on. +Ackermann.dfy(181,4): Warning: /!\ No terms found to trigger on. + +Dafny program verifier finished with 14 verified, 0 errors Ack(3, 4) = 125 diff --git a/Test/dafny4/Ackermann.dfy.verifier.expect b/Test/dafny4/Ackermann.dfy.verifier.expect deleted file mode 100644 index b302e2b4daf..00000000000 --- a/Test/dafny4/Ackermann.dfy.verifier.expect +++ /dev/null @@ -1,2 +0,0 @@ -Ackermann.dfy(162,4): Warning: /!\ No terms found to trigger on. -Ackermann.dfy(180,4): Warning: /!\ No terms found to trigger on. diff --git a/Test/dafny4/Bug107.dfy b/Test/dafny4/Bug107.dfy index b7ab69c9a8d..e417fc90a53 100644 --- a/Test/dafny4/Bug107.dfy +++ b/Test/dafny4/Bug107.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny4/Bug107.dfy.expect b/Test/dafny4/Bug107.dfy.expect index 62f9457511f..ad79213a18c 100644 --- a/Test/dafny4/Bug107.dfy.expect +++ b/Test/dafny4/Bug107.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 1 verified, 0 errors 6 \ No newline at end of file diff --git a/Test/dafny4/Bug108.dfy b/Test/dafny4/Bug108.dfy index 8228fe44f87..c64ec32a340 100644 --- a/Test/dafny4/Bug108.dfy +++ b/Test/dafny4/Bug108.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var A := map[0 := 1]; diff --git a/Test/dafny4/Bug108.dfy.expect b/Test/dafny4/Bug108.dfy.expect index 0777a01b26d..c1c63f6c5c1 100644 --- a/Test/dafny4/Bug108.dfy.expect +++ b/Test/dafny4/Bug108.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 1 verified, 0 errors map[0 := 1] map[0 := 1] diff --git a/Test/dafny4/Bug113.dfy b/Test/dafny4/Bug113.dfy index 0bec0c1ce31..23c759540cd 100644 --- a/Test/dafny4/Bug113.dfy +++ b/Test/dafny4/Bug113.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype D = D(q:int, r:int, s:int, t:int) @@ -6,4 +7,4 @@ method Main() { print D(10, 20, 30, 40); print "\n"; -} +} \ No newline at end of file diff --git a/Test/dafny4/Bug113.dfy.expect b/Test/dafny4/Bug113.dfy.expect index e2eeff32e9a..3ea1396ad00 100644 --- a/Test/dafny4/Bug113.dfy.expect +++ b/Test/dafny4/Bug113.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 0 verified, 0 errors D.D(10, 20, 30, 40) diff --git a/Test/dafny4/Bug116.dfy b/Test/dafny4/Bug116.dfy index 501b74c74d5..e29da0f609d 100644 --- a/Test/dafny4/Bug116.dfy +++ b/Test/dafny4/Bug116.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // test various compiler-target keywords diff --git a/Test/dafny4/Bug116.dfy.expect b/Test/dafny4/Bug116.dfy.expect index 93102ef3120..21aa85d71f0 100644 --- a/Test/dafny4/Bug116.dfy.expect +++ b/Test/dafny4/Bug116.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 1 verified, 0 errors struct.S byte.arguments enum_Compile.goto.switch enum_Compile.goto.switch 20 + 20 == 40 diff --git a/Test/dafny4/Bug140.dfy b/Test/dafny4/Bug140.dfy index 8280db8f665..edde966c149 100644 --- a/Test/dafny4/Bug140.dfy +++ b/Test/dafny4/Bug140.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" class Node { ghost var List: seq diff --git a/Test/dafny4/Bug140.dfy.expect b/Test/dafny4/Bug140.dfy.expect index a40ee1166fb..bad48de4d6b 100644 --- a/Test/dafny4/Bug140.dfy.expect +++ b/Test/dafny4/Bug140.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 8 verified, 0 errors 1 2 diff --git a/Test/dafny4/Bug148.dfy b/Test/dafny4/Bug148.dfy index f31cef2cdc8..da1ebf99447 100644 --- a/Test/dafny4/Bug148.dfy +++ b/Test/dafny4/Bug148.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny4/Bug148.dfy.expect b/Test/dafny4/Bug148.dfy.expect index 9ed6ca4768b..79d02517ceb 100644 --- a/Test/dafny4/Bug148.dfy.expect +++ b/Test/dafny4/Bug148.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 0 verified, 0 errors true false true diff --git a/Test/dafny4/Bug49.dfy b/Test/dafny4/Bug49.dfy index 868f4a3964b..68722830422 100644 --- a/Test/dafny4/Bug49.dfy +++ b/Test/dafny4/Bug49.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny4/Bug49.dfy.expect b/Test/dafny4/Bug49.dfy.expect index 800c2bd15ba..4e02a08bbee 100644 --- a/Test/dafny4/Bug49.dfy.expect +++ b/Test/dafny4/Bug49.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 13 verified, 0 errors 6 6 5 diff --git a/Test/dafny4/Bug60.dfy b/Test/dafny4/Bug60.dfy index f4585753f5f..0aa9209269d 100644 --- a/Test/dafny4/Bug60.dfy +++ b/Test/dafny4/Bug60.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // This method can be used to test compilation. method Main() diff --git a/Test/dafny4/Bug60.dfy.expect b/Test/dafny4/Bug60.dfy.expect index fd56dc3fcbc..49740e95682 100644 --- a/Test/dafny4/Bug60.dfy.expect +++ b/Test/dafny4/Bug60.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 0 verified, 0 errors ({2, 3}, map[2 := 20, 3 := 30]) (2, 2) {2, 3} diff --git a/Test/dafny4/Bug67.dfy b/Test/dafny4/Bug67.dfy index f01d4239a75..731018a293b 100644 --- a/Test/dafny4/Bug67.dfy +++ b/Test/dafny4/Bug67.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype d = D(m:seq) @@ -7,4 +8,4 @@ method Main() assert D([10, 20]) == D([10, 20]); // succeeds print [10, 20] == [10, 20], "\n"; // prints True print D([10, 20]) == D([10, 20]); // prints False -} +} \ No newline at end of file diff --git a/Test/dafny4/Bug67.dfy.expect b/Test/dafny4/Bug67.dfy.expect index 0be5d980da4..c716cab3144 100644 --- a/Test/dafny4/Bug67.dfy.expect +++ b/Test/dafny4/Bug67.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 1 verified, 0 errors true true \ No newline at end of file diff --git a/Test/dafny4/Bug68.dfy b/Test/dafny4/Bug68.dfy index bf50015f90c..a211206acba 100644 --- a/Test/dafny4/Bug68.dfy +++ b/Test/dafny4/Bug68.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method M1() { @@ -61,4 +62,4 @@ method Main() M3(); M3'(); M4(); -} +} \ No newline at end of file diff --git a/Test/dafny4/Bug68.dfy.expect b/Test/dafny4/Bug68.dfy.expect index 814ccfee2df..f4ef534187d 100644 --- a/Test/dafny4/Bug68.dfy.expect +++ b/Test/dafny4/Bug68.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 8 verified, 0 errors true true true diff --git a/Test/dafny4/Bug89.dfy b/Test/dafny4/Bug89.dfy index c7b77b44f99..4aec1acb8b7 100644 --- a/Test/dafny4/Bug89.dfy +++ b/Test/dafny4/Bug89.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method F() returns(x:int) ensures x == 6 diff --git a/Test/dafny4/Bug89.dfy.expect b/Test/dafny4/Bug89.dfy.expect index 62f9457511f..ed41c274352 100644 --- a/Test/dafny4/Bug89.dfy.expect +++ b/Test/dafny4/Bug89.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors 6 \ No newline at end of file diff --git a/Test/dafny4/Bug94.dfy b/Test/dafny4/Bug94.dfy index c41458539fc..be931445654 100644 --- a/Test/dafny4/Bug94.dfy +++ b/Test/dafny4/Bug94.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" ghost function foo() : (int, int) { diff --git a/Test/dafny4/Bug94.dfy.expect b/Test/dafny4/Bug94.dfy.expect index 3f10ffe7a4c..ab0cfbb2d9e 100644 --- a/Test/dafny4/Bug94.dfy.expect +++ b/Test/dafny4/Bug94.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 1 verified, 0 errors 15 \ No newline at end of file diff --git a/Test/dafny4/ClassRefinement.dfy b/Test/dafny4/ClassRefinement.dfy index 3d5fd1006eb..320749ec197 100644 --- a/Test/dafny4/ClassRefinement.dfy +++ b/Test/dafny4/ClassRefinement.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" abstract module M0 { class Counter { diff --git a/Test/dafny4/ClassRefinement.dfy.expect b/Test/dafny4/ClassRefinement.dfy.expect index cba3471eb57..f456b6777f3 100644 --- a/Test/dafny4/ClassRefinement.dfy.expect +++ b/Test/dafny4/ClassRefinement.dfy.expect @@ -1 +1,44 @@ +ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated +ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier finished with 11 verified, 0 errors +ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated +ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +2 1 +ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated +ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +2 1 +ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated +ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +2 1 +ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated +ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification 2 1 diff --git a/Test/dafny4/ClassRefinement.dfy.verifier.expect b/Test/dafny4/ClassRefinement.dfy.verifier.expect deleted file mode 100644 index 543e77303b5..00000000000 --- a/Test/dafny4/ClassRefinement.dfy.verifier.expect +++ /dev/null @@ -1,6 +0,0 @@ -ClassRefinement.dfy(68,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(69,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(74,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(75,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(77,6): Warning: the modify statement with a block statement is deprecated -ClassRefinement.dfy(78,13): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny4/ExpandedGuardedness.dfy b/Test/dafny4/ExpandedGuardedness.dfy index af620ec40e8..5cd7828f932 100644 --- a/Test/dafny4/ExpandedGuardedness.dfy +++ b/Test/dafny4/ExpandedGuardedness.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny4/ExpandedGuardedness.dfy.expect b/Test/dafny4/ExpandedGuardedness.dfy.expect index e0f3b041a66..d05670701e0 100644 --- a/Test/dafny4/ExpandedGuardedness.dfy.expect +++ b/Test/dafny4/ExpandedGuardedness.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 12 verified, 0 errors Up 19 20 21 22 23 Up2 19 20 21 22 23 UpIf 19 20 22 24 26 diff --git a/Test/dafny4/FlyingRobots.dfy b/Test/dafny4/FlyingRobots.dfy index f14a2a467cd..41223cca1aa 100644 --- a/Test/dafny4/FlyingRobots.dfy +++ b/Test/dafny4/FlyingRobots.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // The flying robots examples from an F* tutorial. It demonstrates how to specify // mutable data structures in the heap. diff --git a/Test/dafny4/FlyingRobots.dfy.expect b/Test/dafny4/FlyingRobots.dfy.expect index e69de29bb2d..5ed0d97333e 100644 --- a/Test/dafny4/FlyingRobots.dfy.expect +++ b/Test/dafny4/FlyingRobots.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 31 verified, 0 errors diff --git a/Test/dafny4/Leq.dfy b/Test/dafny4/Leq.dfy index fdbc1078ca3..fac12757ba0 100644 --- a/Test/dafny4/Leq.dfy +++ b/Test/dafny4/Leq.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Rustan Leino, 22 Sep 2015. // This file considers two definitions of Leq on naturals+infinity. One diff --git a/Test/dafny4/Leq.dfy.expect b/Test/dafny4/Leq.dfy.expect index e69de29bb2d..15301952c57 100644 --- a/Test/dafny4/Leq.dfy.expect +++ b/Test/dafny4/Leq.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 16 verified, 0 errors diff --git a/Test/dafny4/McCarthy91.dfy b/Test/dafny4/McCarthy91.dfy index 428f11eb269..466d30328cc 100644 --- a/Test/dafny4/McCarthy91.dfy +++ b/Test/dafny4/McCarthy91.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // The usual recursive method for computing McCarthy's 91 function method Main() { diff --git a/Test/dafny4/McCarthy91.dfy.expect b/Test/dafny4/McCarthy91.dfy.expect index 1511cff2c81..b63f7a0b03b 100644 --- a/Test/dafny4/McCarthy91.dfy.expect +++ b/Test/dafny4/McCarthy91.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 5 verified, 0 errors M(3) = 91 M(99) = 91 M(100) = 91 diff --git a/Test/dafny4/NatList.dfy b/Test/dafny4/NatList.dfy index 5a1b0358eaf..567fd461259 100644 --- a/Test/dafny4/NatList.dfy +++ b/Test/dafny4/NatList.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // This file tests some programs where "nat" is a type parameter to // a datatype. diff --git a/Test/dafny4/NatList.dfy.expect b/Test/dafny4/NatList.dfy.expect index 5382a29cb9f..2ceb3169787 100644 --- a/Test/dafny4/NatList.dfy.expect +++ b/Test/dafny4/NatList.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 11 verified, 0 errors ns = List.Cons(4, List.Cons(10, List.Nil)) Sum(ns) = 14 ns' = List.Cons(20, List.Nil) diff --git a/Test/dafny4/Regression15.dfy b/Test/dafny4/Regression15.dfy index 5ecb5ee4e2b..37f31ba7e90 100644 --- a/Test/dafny4/Regression15.dfy +++ b/Test/dafny4/Regression15.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var b; diff --git a/Test/dafny4/Regression15.dfy.expect b/Test/dafny4/Regression15.dfy.expect index 4cf7b8a8eb1..584190727b9 100644 --- a/Test/dafny4/Regression15.dfy.expect +++ b/Test/dafny4/Regression15.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 3 verified, 0 errors false true true diff --git a/Test/dafny4/Regression2.dfy b/Test/dafny4/Regression2.dfy index 0d28285e74c..213bf265401 100644 --- a/Test/dafny4/Regression2.dfy +++ b/Test/dafny4/Regression2.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" module NativeTypes { newtype uint64 = int diff --git a/Test/dafny4/Regression2.dfy.expect b/Test/dafny4/Regression2.dfy.expect index 8a739fb435a..3f8ac383f86 100644 --- a/Test/dafny4/Regression2.dfy.expect +++ b/Test/dafny4/Regression2.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 0 verified, 0 errors true true true diff --git a/Test/dafny4/Regression3.dfy b/Test/dafny4/Regression3.dfy index fc60fad3cb1..adaa0d2763d 100644 --- a/Test/dafny4/Regression3.dfy +++ b/Test/dafny4/Regression3.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny4/Regression3.dfy.expect b/Test/dafny4/Regression3.dfy.expect index 1223bf9ffaf..841338987c7 100644 --- a/Test/dafny4/Regression3.dfy.expect +++ b/Test/dafny4/Regression3.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 3 verified, 0 errors 55 Trunc( -3.0 ) = -3 (expected -3) Trunc( -2.8 ) = -3 (expected -3) diff --git a/Test/dafny4/Regression4.dfy b/Test/dafny4/Regression4.dfy index e4bc4cbef85..5f881a5083f 100644 --- a/Test/dafny4/Regression4.dfy +++ b/Test/dafny4/Regression4.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { } diff --git a/Test/dafny4/Regression4.dfy.expect b/Test/dafny4/Regression4.dfy.expect index e69de29bb2d..ba00363fc08 100644 --- a/Test/dafny4/Regression4.dfy.expect +++ b/Test/dafny4/Regression4.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 4 verified, 0 errors diff --git a/Test/dafny4/Regression6.dfy b/Test/dafny4/Regression6.dfy index b589ec0ce7d..f1551d3ef2d 100644 --- a/Test/dafny4/Regression6.dfy +++ b/Test/dafny4/Regression6.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" function Sum(a: array, lo: int, hi: int): int requires 0 <= lo <= hi <= a.Length diff --git a/Test/dafny4/Regression6.dfy.expect b/Test/dafny4/Regression6.dfy.expect index 54573bead10..17464f29e0b 100644 --- a/Test/dafny4/Regression6.dfy.expect +++ b/Test/dafny4/Regression6.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors 0 1028 0 diff --git a/Test/dafny4/Regression7.dfy b/Test/dafny4/Regression7.dfy index ef3ca5eea44..8ce421a62f3 100644 --- a/Test/dafny4/Regression7.dfy +++ b/Test/dafny4/Regression7.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /rprint:"%t.rprint" /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" module ListLibrary { datatype List = Nil | Cons(head: B, tail: List) diff --git a/Test/dafny4/Regression7.dfy.expect b/Test/dafny4/Regression7.dfy.expect index 70b01f973a0..19e63b05225 100644 --- a/Test/dafny4/Regression7.dfy.expect +++ b/Test/dafny4/Regression7.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors ListLibrary_Compile.List.Cons(28.0, ListLibrary_Compile.List.Nil) diff --git a/Test/dafny4/Regression9.dfy b/Test/dafny4/Regression9.dfy index 086007a3ef8..d9e44547252 100644 --- a/Test/dafny4/Regression9.dfy +++ b/Test/dafny4/Regression9.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Some tests for the type inference that was revamped // to better support subset types. diff --git a/Test/dafny4/Regression9.dfy.expect b/Test/dafny4/Regression9.dfy.expect index 2183b22cfa9..5a26eaeabfb 100644 --- a/Test/dafny4/Regression9.dfy.expect +++ b/Test/dafny4/Regression9.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors 'D''D''D' diff --git a/Test/dafny4/UnionFind.dfy b/Test/dafny4/UnionFind.dfy index e862fb64e64..1968d0d3b26 100644 --- a/Test/dafny4/UnionFind.dfy +++ b/Test/dafny4/UnionFind.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Rustan Leino, Nov 2015 // Module M0 gives the high-level specification of the UnionFind data structure diff --git a/Test/dafny4/UnionFind.dfy.expect b/Test/dafny4/UnionFind.dfy.expect index 1cb72129e49..961b161b8dc 100644 --- a/Test/dafny4/UnionFind.dfy.expect +++ b/Test/dafny4/UnionFind.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 63 verified, 0 errors false true true false true true diff --git a/Test/dafny4/gcd.dfy b/Test/dafny4/gcd.dfy index fa92223fa49..384e338435f 100644 --- a/Test/dafny4/gcd.dfy +++ b/Test/dafny4/gcd.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // A text describing this file is found in a Dafny Power User note: http://leino.science/papers/krml279.html diff --git a/Test/dafny4/gcd.dfy.expect b/Test/dafny4/gcd.dfy.expect index c17551a37a4..ecbe2b6f64a 100644 --- a/Test/dafny4/gcd.dfy.expect +++ b/Test/dafny4/gcd.dfy.expect @@ -1,3 +1,34 @@ + +Dafny program verifier finished with 19 verified, 0 errors + +Dafny program verifier did not attempt verification +15 gcd 9 = 3 +14 gcd 22 = 2 +371 gcd 1 = 1 +1 gcd 2 = 1 +1 gcd 1 = 1 +13 gcd 13 = 13 +60 gcd 60 = 60 + +Dafny program verifier did not attempt verification +15 gcd 9 = 3 +14 gcd 22 = 2 +371 gcd 1 = 1 +1 gcd 2 = 1 +1 gcd 1 = 1 +13 gcd 13 = 13 +60 gcd 60 = 60 + +Dafny program verifier did not attempt verification +15 gcd 9 = 3 +14 gcd 22 = 2 +371 gcd 1 = 1 +1 gcd 2 = 1 +1 gcd 1 = 1 +13 gcd 13 = 13 +60 gcd 60 = 60 + +Dafny program verifier did not attempt verification 15 gcd 9 = 3 14 gcd 22 = 2 371 gcd 1 = 1 diff --git a/Test/dafny4/git-issue104.dfy b/Test/dafny4/git-issue104.dfy index b05ec4de1cc..86683a2ed88 100644 --- a/Test/dafny4/git-issue104.dfy +++ b/Test/dafny4/git-issue104.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" predicate bug(a: array) reads a diff --git a/Test/dafny4/git-issue104.dfy.expect b/Test/dafny4/git-issue104.dfy.expect index 836a5934c8f..f572edb2471 100644 --- a/Test/dafny4/git-issue104.dfy.expect +++ b/Test/dafny4/git-issue104.dfy.expect @@ -1 +1,17 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification +true false + +Dafny program verifier did not attempt verification +true false + +Dafny program verifier did not attempt verification +true false + +Dafny program verifier did not attempt verification +true false + +Dafny program verifier did not attempt verification true false diff --git a/Test/dafny4/git-issue105.dfy b/Test/dafny4/git-issue105.dfy index 4cff2330cba..09cfce29a6e 100644 --- a/Test/dafny4/git-issue105.dfy +++ b/Test/dafny4/git-issue105.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method lol() returns (c: int) { diff --git a/Test/dafny4/git-issue105.dfy.expect b/Test/dafny4/git-issue105.dfy.expect index e69de29bb2d..012f5b99379 100644 --- a/Test/dafny4/git-issue105.dfy.expect +++ b/Test/dafny4/git-issue105.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/dafny4/git-issue15.dfy b/Test/dafny4/git-issue15.dfy index 7c77a67ccf9..96905286209 100755 --- a/Test/dafny4/git-issue15.dfy +++ b/Test/dafny4/git-issue15.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype obj = Obj(fooBar:map) datatype foo = Foo diff --git a/Test/dafny4/git-issue15.dfy.expect b/Test/dafny4/git-issue15.dfy.expect index 00750edc07d..e52de78d0b1 100755 --- a/Test/dafny4/git-issue15.dfy.expect +++ b/Test/dafny4/git-issue15.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 1 verified, 0 errors 3 diff --git a/Test/dafny4/git-issue167.dfy b/Test/dafny4/git-issue167.dfy index d98d425c345..d02943dc42d 100644 --- a/Test/dafny4/git-issue167.dfy +++ b/Test/dafny4/git-issue167.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { LetTest(); diff --git a/Test/dafny4/git-issue167.dfy.expect b/Test/dafny4/git-issue167.dfy.expect index 8c5e1ed8df7..0a230fe846e 100644 --- a/Test/dafny4/git-issue167.dfy.expect +++ b/Test/dafny4/git-issue167.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 4 verified, 0 errors 30 {6, 7} {['M', 'i', 'l', 'l', 'a'], ['A', 'l', 'f', 'o', 'n', 's']} diff --git a/Test/dafny4/git-issue195.dfy b/Test/dafny4/git-issue195.dfy index fccdc5461c8..ac4b1306ac6 100644 --- a/Test/dafny4/git-issue195.dfy +++ b/Test/dafny4/git-issue195.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Block = Block(prevBlockHash:Hash, txs:seq, proof:VProof) diff --git a/Test/dafny4/git-issue195.dfy.expect b/Test/dafny4/git-issue195.dfy.expect index 638bfb50b2d..30692fdef2a 100644 --- a/Test/dafny4/git-issue195.dfy.expect +++ b/Test/dafny4/git-issue195.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 4 verified, 0 errors true true true true true diff --git a/Test/dafny4/git-issue196.dfy b/Test/dafny4/git-issue196.dfy index 056687ab1a5..64eb0e9123f 100644 --- a/Test/dafny4/git-issue196.dfy +++ b/Test/dafny4/git-issue196.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" class A { var a: array> diff --git a/Test/dafny4/git-issue196.dfy.expect b/Test/dafny4/git-issue196.dfy.expect index ee25a2c5027..a333f982b8f 100644 --- a/Test/dafny4/git-issue196.dfy.expect +++ b/Test/dafny4/git-issue196.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 9 verified, 0 errors 42 42 42 5000 5000 5000 5000 5000 diff --git a/Test/dafny4/git-issue4.dfy b/Test/dafny4/git-issue4.dfy index b17a545e219..b19cf3ce6df 100644 --- a/Test/dafny4/git-issue4.dfy +++ b/Test/dafny4/git-issue4.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" function IntToChar(i:int):char requires 0 <= i < 10 diff --git a/Test/dafny4/git-issue4.dfy.expect b/Test/dafny4/git-issue4.dfy.expect index 24e24eb63cc..33af1e040b7 100644 --- a/Test/dafny4/git-issue4.dfy.expect +++ b/Test/dafny4/git-issue4.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 5 verified, 0 errors '8' 8 '8' 56 56 diff --git a/Test/dafny4/git-issue43.dfy b/Test/dafny4/git-issue43.dfy index d320d7761bc..edf056a1a91 100644 --- a/Test/dafny4/git-issue43.dfy +++ b/Test/dafny4/git-issue43.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" class System { } diff --git a/Test/dafny4/git-issue43.dfy.expect b/Test/dafny4/git-issue43.dfy.expect index e69de29bb2d..012f5b99379 100644 --- a/Test/dafny4/git-issue43.dfy.expect +++ b/Test/dafny4/git-issue43.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/dafny4/git-issue70.dfy b/Test/dafny4/git-issue70.dfy index 3a3a01e0af7..c8db7c9618d 100644 --- a/Test/dafny4/git-issue70.dfy +++ b/Test/dafny4/git-issue70.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny4/git-issue70.dfy.expect b/Test/dafny4/git-issue70.dfy.expect index 36ede89b639..526e9a5b349 100644 --- a/Test/dafny4/git-issue70.dfy.expect +++ b/Test/dafny4/git-issue70.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 3 verified, 0 errors map test {4, 6} {5, 7} diff --git a/Test/dafny4/git-issue76.dfy b/Test/dafny4/git-issue76.dfy index 85613dba2f2..708ee911b24 100644 --- a/Test/dafny4/git-issue76.dfy +++ b/Test/dafny4/git-issue76.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { M0(); diff --git a/Test/dafny4/git-issue76.dfy.expect b/Test/dafny4/git-issue76.dfy.expect index 0cfbf08886f..546da03a267 100644 --- a/Test/dafny4/git-issue76.dfy.expect +++ b/Test/dafny4/git-issue76.dfy.expect @@ -1 +1,8 @@ + +Dafny program verifier finished with 7 verified, 0 errors + +Dafny program verifier did not attempt verification +2 + +Dafny program verifier did not attempt verification 2 diff --git a/Test/dafny4/git-issue79.dfy b/Test/dafny4/git-issue79.dfy index f3fb17b8531..046a7c5e375 100644 --- a/Test/dafny4/git-issue79.dfy +++ b/Test/dafny4/git-issue79.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype EInt = Int(val: int) | Unknown type Pair = (string, EInt) diff --git a/Test/dafny4/git-issue79.dfy.expect b/Test/dafny4/git-issue79.dfy.expect index e69de29bb2d..012f5b99379 100644 --- a/Test/dafny4/git-issue79.dfy.expect +++ b/Test/dafny4/git-issue79.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/dafny4/git-issue88.dfy b/Test/dafny4/git-issue88.dfy index 83c0b4a8ef9..1c188333783 100644 --- a/Test/dafny4/git-issue88.dfy +++ b/Test/dafny4/git-issue88.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" type Grid = array2 diff --git a/Test/dafny4/git-issue88.dfy.expect b/Test/dafny4/git-issue88.dfy.expect index e69de29bb2d..00a51f822da 100644 --- a/Test/dafny4/git-issue88.dfy.expect +++ b/Test/dafny4/git-issue88.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 3 verified, 0 errors diff --git a/Test/exceptions/Exceptions1.dfy b/Test/exceptions/Exceptions1.dfy index 4ffd3291f2f..11bb2f7923d 100644 --- a/Test/exceptions/Exceptions1.dfy +++ b/Test/exceptions/Exceptions1.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" /rprint:"%t.rprint" > "%t" +// RUN: %diff "%s.expect" "%t" include "./NatOutcome.dfy" include "./VoidOutcome.dfy" diff --git a/Test/exceptions/Exceptions1.dfy.expect b/Test/exceptions/Exceptions1.dfy.expect index c87eb938c55..e61be2a11ad 100644 --- a/Test/exceptions/Exceptions1.dfy.expect +++ b/Test/exceptions/Exceptions1.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 7 verified, 0 errors true_true_true_88_42_33_Success=100 ___VoidSuccess true_true_false_88_42_Failure diff --git a/Test/exceptions/Exceptions1Expressions.dfy b/Test/exceptions/Exceptions1Expressions.dfy index a57e5b78c7e..c0f3c67cd39 100644 --- a/Test/exceptions/Exceptions1Expressions.dfy +++ b/Test/exceptions/Exceptions1Expressions.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" /rprint:"%t.rprint" > "%t" +// RUN: %diff "%s.expect" "%t" include "./NatOutcomeDt.dfy" include "./VoidOutcomeDt.dfy" diff --git a/Test/exceptions/Exceptions1Expressions.dfy.expect b/Test/exceptions/Exceptions1Expressions.dfy.expect index 3f1b38ab150..3da30f30d36 100644 --- a/Test/exceptions/Exceptions1Expressions.dfy.expect +++ b/Test/exceptions/Exceptions1Expressions.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 5 verified, 0 errors true_true_true_Success=100 VoidSuccess true_true_false_Failure diff --git a/Test/exports/FIFO.dfy b/Test/exports/FIFO.dfy index 95a8d25510c..173e412eaa9 100644 --- a/Test/exports/FIFO.dfy +++ b/Test/exports/FIFO.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" include "Queue.dfyi" diff --git a/Test/exports/FIFO.dfy.expect b/Test/exports/FIFO.dfy.expect index 4539bbf2d22..8350309cc2a 100644 --- a/Test/exports/FIFO.dfy.expect +++ b/Test/exports/FIFO.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 5 verified, 0 errors 0 1 2 diff --git a/Test/exports/LIFO.dfy b/Test/exports/LIFO.dfy index 513dd457c3f..ea691935620 100644 --- a/Test/exports/LIFO.dfy +++ b/Test/exports/LIFO.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" include "Queue.dfyi" diff --git a/Test/exports/LIFO.dfy.expect b/Test/exports/LIFO.dfy.expect index ae136939b64..48aa7787d09 100644 --- a/Test/exports/LIFO.dfy.expect +++ b/Test/exports/LIFO.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 5 verified, 0 errors 2 1 0 diff --git a/Test/exports/xrefine2.dfy b/Test/exports/xrefine2.dfy index 2409cc0509a..0b25240916c 100644 --- a/Test/exports/xrefine2.dfy +++ b/Test/exports/xrefine2.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" module ProtocolImpl { diff --git a/Test/exports/xrefine2.dfy.expect b/Test/exports/xrefine2.dfy.expect index 858dbd09862..34e1b357779 100644 --- a/Test/exports/xrefine2.dfy.expect +++ b/Test/exports/xrefine2.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 4 verified, 0 errors HI.foo(h1) => true HI.foo(h2) => true PI.orange(1) => 2 diff --git a/Test/exports/xrefine3.dfy b/Test/exports/xrefine3.dfy index bb2480bfed7..24d6fa062f0 100644 --- a/Test/exports/xrefine3.dfy +++ b/Test/exports/xrefine3.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" module AlphaImpl { diff --git a/Test/exports/xrefine3.dfy.expect b/Test/exports/xrefine3.dfy.expect index ae50cef0985..488ab11c36a 100644 --- a/Test/exports/xrefine3.dfy.expect +++ b/Test/exports/xrefine3.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors o hai! diff --git a/Test/git-issues/git-issue-032.dfy b/Test/git-issues/git-issue-032.dfy index d7dd61440a7..bde5b2f2a69 100644 --- a/Test/git-issues/git-issue-032.dfy +++ b/Test/git-issues/git-issue-032.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/git-issues/git-issue-032.dfy.expect b/Test/git-issues/git-issue-032.dfy.expect index 2a64997c6f7..91c285009c1 100644 --- a/Test/git-issues/git-issue-032.dfy.expect +++ b/Test/git-issues/git-issue-032.dfy.expect @@ -1,3 +1,40 @@ +git-issue-032.dfy(18,35): Warning: this branch is redundant +git-issue-032.dfy(27,34): Warning: this branch is redundant +git-issue-032.dfy(28,35): Warning: this branch is redundant + +Dafny program verifier finished with 1 verified, 0 errors +git-issue-032.dfy(18,35): Warning: this branch is redundant +git-issue-032.dfy(27,34): Warning: this branch is redundant +git-issue-032.dfy(28,35): Warning: this branch is redundant + +Dafny program verifier did not attempt verification +OK3 +OK +OKOK +00 +git-issue-032.dfy(18,35): Warning: this branch is redundant +git-issue-032.dfy(27,34): Warning: this branch is redundant +git-issue-032.dfy(28,35): Warning: this branch is redundant + +Dafny program verifier did not attempt verification +OK3 +OK +OKOK +00 +git-issue-032.dfy(18,35): Warning: this branch is redundant +git-issue-032.dfy(27,34): Warning: this branch is redundant +git-issue-032.dfy(28,35): Warning: this branch is redundant + +Dafny program verifier did not attempt verification +OK3 +OK +OKOK +00 +git-issue-032.dfy(18,35): Warning: this branch is redundant +git-issue-032.dfy(27,34): Warning: this branch is redundant +git-issue-032.dfy(28,35): Warning: this branch is redundant + +Dafny program verifier did not attempt verification OK3 OK OKOK diff --git a/Test/git-issues/git-issue-032.dfy.verifier.expect b/Test/git-issues/git-issue-032.dfy.verifier.expect deleted file mode 100644 index 1878351db97..00000000000 --- a/Test/git-issues/git-issue-032.dfy.verifier.expect +++ /dev/null @@ -1,3 +0,0 @@ -git-issue-032.dfy(13,35): Warning: this branch is redundant -git-issue-032.dfy(22,34): Warning: this branch is redundant -git-issue-032.dfy(23,35): Warning: this branch is redundant diff --git a/Test/git-issues/git-issue-1029.dfy b/Test/git-issues/git-issue-1029.dfy index 7e1e7a31cf2..a310a99c169 100644 --- a/Test/git-issues/git-issue-1029.dfy +++ b/Test/git-issues/git-issue-1029.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" module ValueType { export S diff --git a/Test/git-issues/git-issue-1029.dfy.expect b/Test/git-issues/git-issue-1029.dfy.expect index f603f618f29..075fcd93aed 100644 --- a/Test/git-issues/git-issue-1029.dfy.expect +++ b/Test/git-issues/git-issue-1029.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors [true, true, false] UI_Compile.Op2.GetOps([true, true, false], [true, true, false]) diff --git a/Test/git-issues/git-issue-1093.dfy b/Test/git-issues/git-issue-1093.dfy index 97797296680..9365397496f 100644 --- a/Test/git-issues/git-issue-1093.dfy +++ b/Test/git-issues/git-issue-1093.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { UnusedLabel(); diff --git a/Test/git-issues/git-issue-1093.dfy.expect b/Test/git-issues/git-issue-1093.dfy.expect index f599e28b8ab..0cadf5e4199 100644 --- a/Test/git-issues/git-issue-1093.dfy.expect +++ b/Test/git-issues/git-issue-1093.dfy.expect @@ -1 +1,17 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification +10 + +Dafny program verifier did not attempt verification +10 + +Dafny program verifier did not attempt verification +10 + +Dafny program verifier did not attempt verification +10 + +Dafny program verifier did not attempt verification 10 diff --git a/Test/git-issues/git-issue-1100.dfy b/Test/git-issues/git-issue-1100.dfy index 2c4bb564136..533d7688731 100644 --- a/Test/git-issues/git-issue-1100.dfy +++ b/Test/git-issues/git-issue-1100.dfy @@ -1,3 +1,4 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false /Users/salkeldr/Documents/GitHub/dafny/Test/git-issues/../c++/arrays.dfy +// RUN: %dafny /compile:3 /unicodeChar:0 /compileTarget:cpp %S/../c++/arrays.dfy > "%t" +// RUN: %diff "%s.expect" "%t" // Test compilation of a file in another directory diff --git a/Test/git-issues/git-issue-1100.dfy.expect b/Test/git-issues/git-issue-1100.dfy.expect index 2ce9320d8c2..552f9355593 100644 --- a/Test/git-issues/git-issue-1100.dfy.expect +++ b/Test/git-issues/git-issue-1100.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 9 verified, 0 errors 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/git-issues/git-issue-1130.dfy b/Test/git-issues/git-issue-1130.dfy index f1f5ad5a54b..5b7fc5068e2 100644 --- a/Test/git-issues/git-issue-1130.dfy +++ b/Test/git-issues/git-issue-1130.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var a := new Issue.Foo(); diff --git a/Test/git-issues/git-issue-1130.dfy.expect b/Test/git-issues/git-issue-1130.dfy.expect index de97a6dc4ca..6c3dd07b1f1 100644 --- a/Test/git-issues/git-issue-1130.dfy.expect +++ b/Test/git-issues/git-issue-1130.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 13 verified, 0 errors 012 diff --git a/Test/git-issues/git-issue-1150.dfy b/Test/git-issues/git-issue-1150.dfy index d3416a53813..d4cee3c3ef2 100644 --- a/Test/git-issues/git-issue-1150.dfy +++ b/Test/git-issues/git-issue-1150.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Foo = Foo(x: nat) { diff --git a/Test/git-issues/git-issue-1150.dfy.expect b/Test/git-issues/git-issue-1150.dfy.expect index f34d8df4a11..fb4be1897cf 100644 --- a/Test/git-issues/git-issue-1150.dfy.expect +++ b/Test/git-issues/git-issue-1150.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 1 verified, 0 errors Foo.Foo(2) true Foo.Foo(5) false diff --git a/Test/git-issues/git-issue-1185.dfy b/Test/git-issues/git-issue-1185.dfy index c7ad72134d1..32c340b0736 100644 --- a/Test/git-issues/git-issue-1185.dfy +++ b/Test/git-issues/git-issue-1185.dfy @@ -1,5 +1,9 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" predicate P(s: set) requires s != {} diff --git a/Test/git-issues/git-issue-1185.dfy.expect b/Test/git-issues/git-issue-1185.dfy.expect index 525ce875525..90ab58a1f5a 100644 --- a/Test/git-issues/git-issue-1185.dfy.expect +++ b/Test/git-issues/git-issue-1185.dfy.expect @@ -1 +1,14 @@ + +Dafny program verifier finished with 3 verified, 0 errors + +Dafny program verifier did not attempt verification +{12, 20} true 6 + +Dafny program verifier did not attempt verification +{20, 12} true 6 + +Dafny program verifier did not attempt verification +{12, 20} true 6 + +Dafny program verifier did not attempt verification {12, 20} true 6 diff --git a/Test/git-issues/git-issue-1185.dfy.java.expect b/Test/git-issues/git-issue-1185.dfy.java.expect deleted file mode 100644 index 8ba669ad273..00000000000 --- a/Test/git-issues/git-issue-1185.dfy.java.expect +++ /dev/null @@ -1 +0,0 @@ -{20, 12} true 6 diff --git a/Test/git-issues/git-issue-1514.dfy b/Test/git-issues/git-issue-1514.dfy index 816eadce69b..74b75478609 100644 --- a/Test/git-issues/git-issue-1514.dfy +++ b/Test/git-issues/git-issue-1514.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" include "Wrappers.dfy" import opened Wrappers diff --git a/Test/git-issues/git-issue-1514.dfy.expect b/Test/git-issues/git-issue-1514.dfy.expect index b5754e20373..2f22d47cee8 100644 --- a/Test/git-issues/git-issue-1514.dfy.expect +++ b/Test/git-issues/git-issue-1514.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-1514b.dfy b/Test/git-issues/git-issue-1514b.dfy index 050a4a71760..1d8cd122d28 100644 --- a/Test/git-issues/git-issue-1514b.dfy +++ b/Test/git-issues/git-issue-1514b.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" include "Wrappers.dfy" import opened Wrappers diff --git a/Test/git-issues/git-issue-1514b.dfy.expect b/Test/git-issues/git-issue-1514b.dfy.expect index b5754e20373..2f22d47cee8 100644 --- a/Test/git-issues/git-issue-1514b.dfy.expect +++ b/Test/git-issues/git-issue-1514b.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-1514c.dfy b/Test/git-issues/git-issue-1514c.dfy index 578316f217c..d9df7d108c1 100644 --- a/Test/git-issues/git-issue-1514c.dfy +++ b/Test/git-issues/git-issue-1514c.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" include "Wrappers.dfy" import opened Wrappers diff --git a/Test/git-issues/git-issue-1514c.dfy.expect b/Test/git-issues/git-issue-1514c.dfy.expect index 9766475a418..694254c28aa 100644 --- a/Test/git-issues/git-issue-1514c.dfy.expect +++ b/Test/git-issues/git-issue-1514c.dfy.expect @@ -1 +1,8 @@ + +Dafny program verifier finished with 3 verified, 0 errors + +Dafny program verifier did not attempt verification +ok + +Dafny program verifier did not attempt verification ok diff --git a/Test/git-issues/git-issue-1553.dfy b/Test/git-issues/git-issue-1553.dfy index 81cbef7aa7e..6267018c92d 100644 --- a/Test/git-issues/git-issue-1553.dfy +++ b/Test/git-issues/git-issue-1553.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { } method Test() { diff --git a/Test/git-issues/git-issue-1553.dfy.expect b/Test/git-issues/git-issue-1553.dfy.expect index e69de29bb2d..65d3b5d6635 100644 --- a/Test/git-issues/git-issue-1553.dfy.expect +++ b/Test/git-issues/git-issue-1553.dfy.expect @@ -0,0 +1,10 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-1604b.dfy b/Test/git-issues/git-issue-1604b.dfy index d7c4169ec60..497ee5017d5 100644 --- a/Test/git-issues/git-issue-1604b.dfy +++ b/Test/git-issues/git-issue-1604b.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --error-limit:0 --relax-definite-assignment +// RUN: %dafny /compile:3 /errorLimit:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Double constraints. Will this still work? diff --git a/Test/git-issues/git-issue-1604b.dfy.expect b/Test/git-issues/git-issue-1604b.dfy.expect index b5754e20373..93d7203e654 100644 --- a/Test/git-issues/git-issue-1604b.dfy.expect +++ b/Test/git-issues/git-issue-1604b.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 5 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-1714.dfy b/Test/git-issues/git-issue-1714.dfy index 540a41c39cb..6ce8915a7af 100644 --- a/Test/git-issues/git-issue-1714.dfy +++ b/Test/git-issues/git-issue-1714.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" +// RUN: %diff "%s.expect" "%t" trait Base {} class Derived extends Base { var n: int constructor() { n := 0; } } diff --git a/Test/git-issues/git-issue-1714.dfy.expect b/Test/git-issues/git-issue-1714.dfy.expect index 88039063d09..67dd7d95642 100644 --- a/Test/git-issues/git-issue-1714.dfy.expect +++ b/Test/git-issues/git-issue-1714.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors (b as Derived).n == 0 diff --git a/Test/git-issues/git-issue-179.dfy b/Test/git-issues/git-issue-179.dfy index d37d3048490..283a04f1a68 100644 --- a/Test/git-issues/git-issue-179.dfy +++ b/Test/git-issues/git-issue-179.dfy @@ -1,5 +1,9 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var mp: map; diff --git a/Test/git-issues/git-issue-179.dfy.expect b/Test/git-issues/git-issue-179.dfy.expect index 97cb7aa6c7a..3f922ac5bd4 100644 --- a/Test/git-issues/git-issue-179.dfy.expect +++ b/Test/git-issues/git-issue-179.dfy.expect @@ -1,4 +1,26 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification {(3, false), (4, true), (5, false)} {3, 4, 5} {false, true} true false true false + +Dafny program verifier did not attempt verification +{(5, false), (4, true), (3, false)} +{5, 4, 3} +{false, true} +true false true false + +Dafny program verifier did not attempt verification +{(5, false), (4, true), (3, false)} +{5, 4, 3} +{false, true} +true false true false + +Dafny program verifier did not attempt verification +{(5, false), (3, false), (4, true)} +{3, 4, 5} +{false, true} +true false true false diff --git a/Test/git-issues/git-issue-179.dfy.go.expect b/Test/git-issues/git-issue-179.dfy.go.expect deleted file mode 100644 index 3b6c1b2603f..00000000000 --- a/Test/git-issues/git-issue-179.dfy.go.expect +++ /dev/null @@ -1,4 +0,0 @@ -{(5, false), (4, true), (3, false)} -{5, 4, 3} -{false, true} -true false true false diff --git a/Test/git-issues/git-issue-179.dfy.java.expect b/Test/git-issues/git-issue-179.dfy.java.expect deleted file mode 100644 index ebe17288dfd..00000000000 --- a/Test/git-issues/git-issue-179.dfy.java.expect +++ /dev/null @@ -1,4 +0,0 @@ -{(5, false), (3, false), (4, true)} -{3, 4, 5} -{false, true} -true false true false diff --git a/Test/git-issues/git-issue-179.dfy.js.expect b/Test/git-issues/git-issue-179.dfy.js.expect deleted file mode 100644 index 3b6c1b2603f..00000000000 --- a/Test/git-issues/git-issue-179.dfy.js.expect +++ /dev/null @@ -1,4 +0,0 @@ -{(5, false), (4, true), (3, false)} -{5, 4, 3} -{false, true} -true false true false diff --git a/Test/git-issues/git-issue-1815a.dfy b/Test/git-issues/git-issue-1815a.dfy index 72d55a1cb4f..91fb7a32aa6 100644 --- a/Test/git-issues/git-issue-1815a.dfy +++ b/Test/git-issues/git-issue-1815a.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Dt<+U> = Dt(x: U, i: int) diff --git a/Test/git-issues/git-issue-1815a.dfy.expect b/Test/git-issues/git-issue-1815a.dfy.expect index 19f86f493ab..7b2651302d9 100644 --- a/Test/git-issues/git-issue-1815a.dfy.expect +++ b/Test/git-issues/git-issue-1815a.dfy.expect @@ -1 +1,17 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification +done + +Dafny program verifier did not attempt verification +done + +Dafny program verifier did not attempt verification +done + +Dafny program verifier did not attempt verification +done + +Dafny program verifier did not attempt verification done diff --git a/Test/git-issues/git-issue-1852.dfy b/Test/git-issues/git-issue-1852.dfy index 046f3fca1fc..516835e8ea8 100644 --- a/Test/git-issues/git-issue-1852.dfy +++ b/Test/git-issues/git-issue-1852.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" module A { export diff --git a/Test/git-issues/git-issue-1852.dfy.expect b/Test/git-issues/git-issue-1852.dfy.expect index 299a71f3fe4..e9cd0ea2e07 100644 --- a/Test/git-issues/git-issue-1852.dfy.expect +++ b/Test/git-issues/git-issue-1852.dfy.expect @@ -1 +1,8 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification +5 5 + +Dafny program verifier did not attempt verification 5 5 diff --git a/Test/git-issues/git-issue-1903.dfy b/Test/git-issues/git-issue-1903.dfy index 60ee1c121ab..7edb2a46c61 100644 --- a/Test/git-issues/git-issue-1903.dfy +++ b/Test/git-issues/git-issue-1903.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method g(x : seq := []) { diff --git a/Test/git-issues/git-issue-1903.dfy.expect b/Test/git-issues/git-issue-1903.dfy.expect index 84cc8d360f9..3170fb0c7f2 100644 --- a/Test/git-issues/git-issue-1903.dfy.expect +++ b/Test/git-issues/git-issue-1903.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 1 verified, 0 errors worked! diff --git a/Test/git-issues/git-issue-1909.dfy b/Test/git-issues/git-issue-1909.dfy index 83d9ec1d785..7fb5b3b8c48 100644 --- a/Test/git-issues/git-issue-1909.dfy +++ b/Test/git-issues/git-issue-1909.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype ABC = ABC(nameonly a: int, nameonly b: int, nameonly c: int) diff --git a/Test/git-issues/git-issue-1909.dfy.expect b/Test/git-issues/git-issue-1909.dfy.expect index ab6f7d69d36..b4eb7e7774e 100644 --- a/Test/git-issues/git-issue-1909.dfy.expect +++ b/Test/git-issues/git-issue-1909.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 1 verified, 0 errors ABC.ABC(19, 21, 23) ABC.ABC(19, 42, 23) ABC.ABC(100, 42, 90) diff --git a/Test/git-issues/git-issue-2013.dfy b/Test/git-issues/git-issue-2013.dfy index 1f3962988ee..d1d3e15880e 100644 --- a/Test/git-issues/git-issue-2013.dfy +++ b/Test/git-issues/git-issue-2013.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/git-issues/git-issue-2013.dfy.expect b/Test/git-issues/git-issue-2013.dfy.expect index 2cf9744efb3..bbf7e59b073 100644 --- a/Test/git-issues/git-issue-2013.dfy.expect +++ b/Test/git-issues/git-issue-2013.dfy.expect @@ -1,3 +1,55 @@ + +Dafny program verifier finished with 12 verified, 0 errors + +Dafny program verifier did not attempt verification +16 +16 +12 30 30 +Result.Success(8) Result.Failure(_module.MyClassException) +{100} {100} {100} +{MoreTests_Compile.C} {MoreTests_Compile.C} {MoreTests_Compile.C} +100 100 100 +MoreTests_Compile.C MoreTests_Compile.C MoreTests_Compile.C +Conveyance_Compile.NonVariantResult.NVSuccess(Conveyance_Compile.Car) Conveyance_Compile.CovariantResult.CVSuccess(Conveyance_Compile.Car) +Regression_mM_Compile.Stream.Next + +Dafny program verifier did not attempt verification +16 +16 +12 30 30 +Result.Success(8) Result.Failure(_module.MyClassException) +{100} {100} {100} +{MoreTests_Compile.C} {MoreTests_Compile.C} {MoreTests_Compile.C} +100 100 100 +MoreTests_Compile.C MoreTests_Compile.C MoreTests_Compile.C +Conveyance_Compile.NonVariantResult.NVSuccess(Conveyance_Compile.Car) Conveyance_Compile.CovariantResult.CVSuccess(Conveyance_Compile.Car) +Regression_mM_Compile.Stream.Next + +Dafny program verifier did not attempt verification +16 +16 +12 30 30 +Result.Success(8) Result.Failure(_module.MyClassException) +{100} {100} {100} +{MoreTests_Compile.C} {MoreTests_Compile.C} {MoreTests_Compile.C} +100 100 100 +MoreTests_Compile.C MoreTests_Compile.C MoreTests_Compile.C +Conveyance_Compile.NonVariantResult.NVSuccess(Conveyance_Compile.Car) Conveyance_Compile.CovariantResult.CVSuccess(Conveyance_Compile.Car) +Regression_mM_Compile.Stream.Next + +Dafny program verifier did not attempt verification +16 +16 +12 30 30 +Result.Success(8) Result.Failure(_module.MyClassException) +{100} {100} {100} +{MoreTests_Compile.C} {MoreTests_Compile.C} {MoreTests_Compile.C} +100 100 100 +MoreTests_Compile.C MoreTests_Compile.C MoreTests_Compile.C +Conveyance_Compile.NonVariantResult.NVSuccess(Conveyance_Compile.Car) Conveyance_Compile.CovariantResult.CVSuccess(Conveyance_Compile.Car) +Regression_mM_Compile.Stream.Next + +Dafny program verifier did not attempt verification 16 16 12 30 30 diff --git a/Test/git-issues/git-issue-2441.dfy b/Test/git-issues/git-issue-2441.dfy index 4179ecc87bc..bc9c8721ee2 100644 --- a/Test/git-issues/git-issue-2441.dfy +++ b/Test/git-issues/git-issue-2441.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype A = A(B: B) datatype B = X diff --git a/Test/git-issues/git-issue-2441.dfy.expect b/Test/git-issues/git-issue-2441.dfy.expect index e69de29bb2d..0c3f603d584 100644 --- a/Test/git-issues/git-issue-2441.dfy.expect +++ b/Test/git-issues/git-issue-2441.dfy.expect @@ -0,0 +1,6 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-2510.dfy b/Test/git-issues/git-issue-2510.dfy index 11ee2877bb3..22ef8e47058 100644 --- a/Test/git-issues/git-issue-2510.dfy +++ b/Test/git-issues/git-issue-2510.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:4 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" /// Check that the compiler accepts `:- assume {:axiom} …`. diff --git a/Test/git-issues/git-issue-2510.dfy.expect b/Test/git-issues/git-issue-2510.dfy.expect index 56a6051ca2b..b341a39a78d 100644 --- a/Test/git-issues/git-issue-2510.dfy.expect +++ b/Test/git-issues/git-issue-2510.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors 1 \ No newline at end of file diff --git a/Test/git-issues/git-issue-258.dfy b/Test/git-issues/git-issue-258.dfy index e6a5ef2248d..dbc437cebbc 100644 --- a/Test/git-issues/git-issue-258.dfy +++ b/Test/git-issues/git-issue-258.dfy @@ -1,5 +1,9 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /compile:3 /unicodeChar:0 /spillTargetCode:3 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /compile:3 /unicodeChar:0 /spillTargetCode:3 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /compile:3 /unicodeChar:0 /spillTargetCode:3 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /compile:3 /unicodeChar:0 /spillTargetCode:3 /compileTarget:go "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method pr(s: seq) { print s, "\n"; diff --git a/Test/git-issues/git-issue-258.dfy.expect b/Test/git-issues/git-issue-258.dfy.expect index 31b98032806..8cf196174b8 100644 --- a/Test/git-issues/git-issue-258.dfy.expect +++ b/Test/git-issues/git-issue-258.dfy.expect @@ -1,10 +1,83 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier finished with 1 verified, 0 errors +hi +hi + + +HI! +hi + +HI! + +[23, 45] +[23, 45] +[] +[] +abcabc +abcabc +abcdef +abcdef + + +[1, 2, 3, 4] +[1, 2, 3, 4] + +Dafny program verifier finished with 1 verified, 0 errors +hi +hi + + +HI! +hi + +HI! + +[23, 45] +[23, 45] +[] +[] +abcabc +abcabc +abcdef +abcdef + + +[1, 2, 3, 4] +[1, 2, 3, 4] + +Dafny program verifier finished with 1 verified, 0 errors hi hi HI! hi +[] +HI! + +[23, 45] +[23, 45] +[] +[] +abcabc +abcabc +abcdef +abcdef + + +[1, 2, 3, 4] +[1, 2, 3, 4] + +Dafny program verifier finished with 1 verified, 0 errors +hi +hi + +HI! +hi +[] HI! [23, 45] diff --git a/Test/git-issues/git-issue-258.dfy.go.expect b/Test/git-issues/git-issue-258.dfy.go.expect deleted file mode 100644 index 2745afdf6e1..00000000000 --- a/Test/git-issues/git-issue-258.dfy.go.expect +++ /dev/null @@ -1,21 +0,0 @@ -hi -hi - - -HI! -hi -[] -HI! - -[23, 45] -[23, 45] -[] -[] -abcabc -abcabc -abcdef -abcdef - - -[1, 2, 3, 4] -[1, 2, 3, 4] diff --git a/Test/git-issues/git-issue-258.dfy.js.expect b/Test/git-issues/git-issue-258.dfy.js.expect deleted file mode 100644 index 2745afdf6e1..00000000000 --- a/Test/git-issues/git-issue-258.dfy.js.expect +++ /dev/null @@ -1,21 +0,0 @@ -hi -hi - - -HI! -hi -[] -HI! - -[23, 45] -[23, 45] -[] -[] -abcabc -abcabc -abcdef -abcdef - - -[1, 2, 3, 4] -[1, 2, 3, 4] diff --git a/Test/git-issues/git-issue-2608.dfy b/Test/git-issues/git-issue-2608.dfy index c606177f94f..459c9ffbf94 100644 --- a/Test/git-issues/git-issue-2608.dfy +++ b/Test/git-issues/git-issue-2608.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /compileTarget:js "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method GetNext(i: int) returns (j: int, possible: bool) { if i == 1 { diff --git a/Test/git-issues/git-issue-2608.dfy.expect b/Test/git-issues/git-issue-2608.dfy.expect index d9ed583f710..dce7ba1814a 100644 --- a/Test/git-issues/git-issue-2608.dfy.expect +++ b/Test/git-issues/git-issue-2608.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors 82411246231944714271214 \ No newline at end of file diff --git a/Test/git-issues/git-issue-262.dfy b/Test/git-issues/git-issue-262.dfy index 22d9a31b2fe..2c00ad94a39 100644 --- a/Test/git-issues/git-issue-262.dfy +++ b/Test/git-issues/git-issue-262.dfy @@ -1,5 +1,8 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" +// RUN: %dafny /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" function tst(x: nat): nat { x + 1 diff --git a/Test/git-issues/git-issue-262.dfy.expect b/Test/git-issues/git-issue-262.dfy.expect index 41d8cd55158..76af42cd4a3 100644 --- a/Test/git-issues/git-issue-262.dfy.expect +++ b/Test/git-issues/git-issue-262.dfy.expect @@ -1,2 +1,20 @@ + +Dafny program verifier finished with 2 verified, 0 errors System.Func`2[System.Numerics.BigInteger,System.Numerics.BigInteger] System.Func`2[System.Numerics.BigInteger,System.Numerics.BigInteger] + +Dafny program verifier finished with 2 verified, 0 errors +tst(x) { + return (x).plus(_dafny.ONE); + } +tst(x) { + return (x).plus(_dafny.ONE); + } + +Dafny program verifier finished with 2 verified, 0 errors +func(dafny.Int) dafny.Int +func(dafny.Int) dafny.Int + +Dafny program verifier finished with 2 verified, 0 errors +Function +Function diff --git a/Test/git-issues/git-issue-262.dfy.go.expect b/Test/git-issues/git-issue-262.dfy.go.expect deleted file mode 100644 index 578754c176c..00000000000 --- a/Test/git-issues/git-issue-262.dfy.go.expect +++ /dev/null @@ -1,2 +0,0 @@ -func(dafny.Int) dafny.Int -func(dafny.Int) dafny.Int diff --git a/Test/git-issues/git-issue-262.dfy.java.expect b/Test/git-issues/git-issue-262.dfy.java.expect deleted file mode 100644 index aa5478ef8c9..00000000000 --- a/Test/git-issues/git-issue-262.dfy.java.expect +++ /dev/null @@ -1,2 +0,0 @@ -Function -Function diff --git a/Test/git-issues/git-issue-262.dfy.js.expect b/Test/git-issues/git-issue-262.dfy.js.expect deleted file mode 100644 index e181ef2fef8..00000000000 --- a/Test/git-issues/git-issue-262.dfy.js.expect +++ /dev/null @@ -1,6 +0,0 @@ -tst(x) { - return (x).plus(_dafny.ONE); - } -tst(x) { - return (x).plus(_dafny.ONE); - } diff --git a/Test/git-issues/git-issue-267.dfy b/Test/git-issues/git-issue-267.dfy index 2b0b3281589..cef2fcc6c17 100644 --- a/Test/git-issues/git-issue-267.dfy +++ b/Test/git-issues/git-issue-267.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var c := 1; diff --git a/Test/git-issues/git-issue-267.dfy.expect b/Test/git-issues/git-issue-267.dfy.expect index cd7da05e3d2..d71aef2f440 100644 --- a/Test/git-issues/git-issue-267.dfy.expect +++ b/Test/git-issues/git-issue-267.dfy.expect @@ -1 +1,14 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification +210 + +Dafny program verifier did not attempt verification +210 + +Dafny program verifier did not attempt verification +210 + +Dafny program verifier did not attempt verification 210 diff --git a/Test/git-issues/git-issue-2672.dfy b/Test/git-issues/git-issue-2672.dfy index 52c5b9c638c..338299ee8b7 100644 --- a/Test/git-issues/git-issue-2672.dfy +++ b/Test/git-issues/git-issue-2672.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" newtype sreal = r: real | r > -4 as real newtype sint = r: int | r > -4 as int diff --git a/Test/git-issues/git-issue-2672.dfy.expect b/Test/git-issues/git-issue-2672.dfy.expect index 43440a83d53..c9c3244b6f4 100644 --- a/Test/git-issues/git-issue-2672.dfy.expect +++ b/Test/git-issues/git-issue-2672.dfy.expect @@ -1,3 +1,47 @@ + +Dafny program verifier finished with 5 verified, 0 errors + +Dafny program verifier did not attempt verification +true true true true true true true true true true +false false false false false false false false false false +false false false false false false false false false false +true true true true true true true true true true +true true true true true true true true true true +false false false false false false false false false false +true true true +false false false + +Dafny program verifier did not attempt verification +true true true true true true true true true true +false false false false false false false false false false +false false false false false false false false false false +true true true true true true true true true true +true true true true true true true true true true +false false false false false false false false false false +true true true +false false false + +Dafny program verifier did not attempt verification +true true true true true true true true true true +false false false false false false false false false false +false false false false false false false false false false +true true true true true true true true true true +true true true true true true true true true true +false false false false false false false false false false +true true true +false false false + +Dafny program verifier did not attempt verification +true true true true true true true true true true +false false false false false false false false false false +false false false false false false false false false false +true true true true true true true true true true +true true true true true true true true true true +false false false false false false false false false false +true true true +false false false + +Dafny program verifier did not attempt verification true true true true true true true true true true false false false false false false false false false false false false false false false false false false false false diff --git a/Test/git-issues/git-issue-2726a.dfy b/Test/git-issues/git-issue-2726a.dfy index a43d5dd0107..641fefbbdc4 100644 --- a/Test/git-issues/git-issue-2726a.dfy +++ b/Test/git-issues/git-issue-2726a.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /compileTarget:cs "%s" > "%t" +// RUN: %diff "%s.expect" "%t" const digits := ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"] diff --git a/Test/git-issues/git-issue-2726a.dfy.expect b/Test/git-issues/git-issue-2726a.dfy.expect index 8e1bedb2a64..6985935c88c 100644 --- a/Test/git-issues/git-issue-2726a.dfy.expect +++ b/Test/git-issues/git-issue-2726a.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 1 verified, 0 errors 4 42 422 diff --git a/Test/git-issues/git-issue-2733.dfy b/Test/git-issues/git-issue-2733.dfy index 65bc2b991fd..232eab3cc74 100644 --- a/Test/git-issues/git-issue-2733.dfy +++ b/Test/git-issues/git-issue-2733.dfy @@ -1,4 +1,11 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cpp "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { print "XYZ"; // Checks that no extra newline is added to the output diff --git a/Test/git-issues/git-issue-2733.dfy.expect b/Test/git-issues/git-issue-2733.dfy.expect index 77bf25132db..b139e2f3d58 100644 --- a/Test/git-issues/git-issue-2733.dfy.expect +++ b/Test/git-issues/git-issue-2733.dfy.expect @@ -1 +1,15 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification +XYZ +Dafny program verifier did not attempt verification +XYZ +Dafny program verifier did not attempt verification +XYZ +Dafny program verifier did not attempt verification +XYZ +Dafny program verifier did not attempt verification +XYZ +Dafny program verifier did not attempt verification XYZ \ No newline at end of file diff --git a/Test/git-issues/git-issue-2792.dfy b/Test/git-issues/git-issue-2792.dfy index d2fb9db2055..89e736667c0 100644 --- a/Test/git-issues/git-issue-2792.dfy +++ b/Test/git-issues/git-issue-2792.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /compileTarget:java "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Wrapper = Wrapper(s: seq) { diff --git a/Test/git-issues/git-issue-2792.dfy.expect b/Test/git-issues/git-issue-2792.dfy.expect index ca1683c3020..c1e603c58fe 100644 --- a/Test/git-issues/git-issue-2792.dfy.expect +++ b/Test/git-issues/git-issue-2792.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 0 verified, 0 errors [] Wrapper2.Wrapper2([], 2792) diff --git a/Test/git-issues/git-issue-283.dfy b/Test/git-issues/git-issue-283.dfy index 1ca6d48d32c..c7c10f4aea3 100644 --- a/Test/git-issues/git-issue-283.dfy +++ b/Test/git-issues/git-issue-283.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Result = | Success(value: T) diff --git a/Test/git-issues/git-issue-283.dfy.expect b/Test/git-issues/git-issue-283.dfy.expect index a965a70ed4e..2adb114b8a0 100644 --- a/Test/git-issues/git-issue-283.dfy.expect +++ b/Test/git-issues/git-issue-283.dfy.expect @@ -1 +1,14 @@ + +Dafny program verifier finished with 9 verified, 0 errors + +Dafny program verifier did not attempt verification +Done + +Dafny program verifier did not attempt verification +Done + +Dafny program verifier did not attempt verification +Done + +Dafny program verifier did not attempt verification Done diff --git a/Test/git-issues/git-issue-283d.dfy b/Test/git-issues/git-issue-283d.dfy index 46c1056d5e1..54ee58fb456 100644 --- a/Test/git-issues/git-issue-283d.dfy +++ b/Test/git-issues/git-issue-283d.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Foo = R(v: int) diff --git a/Test/git-issues/git-issue-283d.dfy.expect b/Test/git-issues/git-issue-283d.dfy.expect index e69de29bb2d..8da23be5c8c 100644 --- a/Test/git-issues/git-issue-283d.dfy.expect +++ b/Test/git-issues/git-issue-283d.dfy.expect @@ -0,0 +1,10 @@ + +Dafny program verifier finished with 4 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-314.dfy b/Test/git-issues/git-issue-314.dfy index a7fc06564a5..5e3e93ca654 100644 --- a/Test/git-issues/git-issue-314.dfy +++ b/Test/git-issues/git-issue-314.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype S = S(G: array) datatype T = T(F: array, ghost Repr: set) diff --git a/Test/git-issues/git-issue-314.dfy.expect b/Test/git-issues/git-issue-314.dfy.expect index e69de29bb2d..f02fc57989a 100644 --- a/Test/git-issues/git-issue-314.dfy.expect +++ b/Test/git-issues/git-issue-314.dfy.expect @@ -0,0 +1,10 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-332.dfy b/Test/git-issues/git-issue-332.dfy index 5166441405d..ca2b08f3e8d 100644 --- a/Test/git-issues/git-issue-332.dfy +++ b/Test/git-issues/git-issue-332.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var foo := new B.Foo(15); diff --git a/Test/git-issues/git-issue-332.dfy.expect b/Test/git-issues/git-issue-332.dfy.expect index 209e3ef4b62..57cad39addf 100644 --- a/Test/git-issues/git-issue-332.dfy.expect +++ b/Test/git-issues/git-issue-332.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 6 verified, 0 errors 20 diff --git a/Test/git-issues/git-issue-354.dfy b/Test/git-issues/git-issue-354.dfy index c3d63021209..5938c2f71ae 100644 --- a/Test/git-issues/git-issue-354.dfy +++ b/Test/git-issues/git-issue-354.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" class C { static const u: X diff --git a/Test/git-issues/git-issue-354.dfy.expect b/Test/git-issues/git-issue-354.dfy.expect index 4368562357f..cb5ae21dc46 100644 --- a/Test/git-issues/git-issue-354.dfy.expect +++ b/Test/git-issues/git-issue-354.dfy.expect @@ -1,3 +1,25 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification +0 +0 +0.0 +false + +Dafny program verifier did not attempt verification +0 +0 +0.0 +false + +Dafny program verifier did not attempt verification +0 +0 +0.0 +false + +Dafny program verifier did not attempt verification 0 0 0.0 diff --git a/Test/git-issues/git-issue-356.dfy b/Test/git-issues/git-issue-356.dfy index 2d497c0531c..f5c34b0803b 100644 --- a/Test/git-issues/git-issue-356.dfy +++ b/Test/git-issues/git-issue-356.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" module M { type Tx = i: int | 0 <= i <= 100 diff --git a/Test/git-issues/git-issue-356.dfy.expect b/Test/git-issues/git-issue-356.dfy.expect index 9d984ec4ef4..cff4ed233e1 100644 --- a/Test/git-issues/git-issue-356.dfy.expect +++ b/Test/git-issues/git-issue-356.dfy.expect @@ -1,3 +1,39 @@ + +Dafny program verifier finished with 25 verified, 0 errors + +Dafny program verifier did not attempt verification +a d 57005 * * +Z 90 90.0 90 90 +* 42 42.0 42 42 +F 70 70.0 70 70 +# 35 35.0 35 35 +END + +Dafny program verifier did not attempt verification +a d 57005 * * +Z 90 90.0 90 90 +* 42 42.0 42 42 +F 70 70.0 70 70 +# 35 35.0 35 35 +END + +Dafny program verifier did not attempt verification +a d 57005 * * +Z 90 90.0 90 90 +* 42 42.0 42 42 +F 70 70.0 70 70 +# 35 35.0 35 35 +END + +Dafny program verifier did not attempt verification +a d 57005 * * +Z 90 90.0 90 90 +* 42 42.0 42 42 +F 70 70.0 70 70 +# 35 35.0 35 35 +END + +Dafny program verifier did not attempt verification a d 57005 * * Z 90 90.0 90 90 * 42 42.0 42 42 diff --git a/Test/git-issues/git-issue-364.dfy b/Test/git-issues/git-issue-364.dfy index 68c75931746..0fdedc7d9c0 100644 --- a/Test/git-issues/git-issue-364.dfy +++ b/Test/git-issues/git-issue-364.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype NatOutcome = | Success(value: nat) diff --git a/Test/git-issues/git-issue-364.dfy.expect b/Test/git-issues/git-issue-364.dfy.expect index 38478c6c688..1368349d437 100644 --- a/Test/git-issues/git-issue-364.dfy.expect +++ b/Test/git-issues/git-issue-364.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 4 verified, 0 errors NatOutcome.Success(55) false 55 12 0 NatOutcome.Failure("it could be worse") true NatOutcome.Failure("it could be worse") diff --git a/Test/git-issues/git-issue-374.dfy b/Test/git-issues/git-issue-374.dfy index 15b56ec6396..4c031b7d3ff 100644 --- a/Test/git-issues/git-issue-374.dfy +++ b/Test/git-issues/git-issue-374.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" class C { constructor(ghost x: int) diff --git a/Test/git-issues/git-issue-374.dfy.expect b/Test/git-issues/git-issue-374.dfy.expect index e69de29bb2d..f02fc57989a 100644 --- a/Test/git-issues/git-issue-374.dfy.expect +++ b/Test/git-issues/git-issue-374.dfy.expect @@ -0,0 +1,10 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-396.dfy b/Test/git-issues/git-issue-396.dfy index 7866d3d0498..2ab68e51e12 100644 --- a/Test/git-issues/git-issue-396.dfy +++ b/Test/git-issues/git-issue-396.dfy @@ -1,4 +1,8 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" +// RUN: %dafny /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Foo = Bar(value: int) diff --git a/Test/git-issues/git-issue-396.dfy.expect b/Test/git-issues/git-issue-396.dfy.expect index dee79f10940..3dd340d3178 100644 --- a/Test/git-issues/git-issue-396.dfy.expect +++ b/Test/git-issues/git-issue-396.dfy.expect @@ -1 +1,12 @@ + +Dafny program verifier finished with 1 verified, 0 errors +114 + +Dafny program verifier finished with 1 verified, 0 errors +114 + +Dafny program verifier finished with 1 verified, 0 errors +114 + +Dafny program verifier finished with 1 verified, 0 errors 114 diff --git a/Test/git-issues/git-issue-4007.dfy b/Test/git-issues/git-issue-4007.dfy index 5a279e7b8e6..e4c25b82bb8 100644 --- a/Test/git-issues/git-issue-4007.dfy +++ b/Test/git-issues/git-issue-4007.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:4 /compileTarget:py "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var a := 0; @@ -6,4 +7,4 @@ method Main() { a := a + 1; } print a, "\n"; -} +} \ No newline at end of file diff --git a/Test/git-issues/git-issue-4007.dfy.expect b/Test/git-issues/git-issue-4007.dfy.expect index 00750edc07d..3ce6919d35b 100644 --- a/Test/git-issues/git-issue-4007.dfy.expect +++ b/Test/git-issues/git-issue-4007.dfy.expect @@ -1 +1,4 @@ +git-issue-4007.dfy(6,20): Warning: /!\ No terms found to trigger on. + +Dafny program verifier finished with 1 verified, 0 errors 3 diff --git a/Test/git-issues/git-issue-4007.dfy.verifier.expect b/Test/git-issues/git-issue-4007.dfy.verifier.expect deleted file mode 100644 index 1d4310d09b5..00000000000 --- a/Test/git-issues/git-issue-4007.dfy.verifier.expect +++ /dev/null @@ -1 +0,0 @@ -git-issue-4007.dfy(5,20): Warning: /!\ No terms found to trigger on. diff --git a/Test/git-issues/git-issue-4012.dfy b/Test/git-issues/git-issue-4012.dfy index 5360c0e935b..e065393a211 100644 --- a/Test/git-issues/git-issue-4012.dfy +++ b/Test/git-issues/git-issue-4012.dfy @@ -1,7 +1,8 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:4 /compileTarget:py "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var x: multiset := multiset{}; x := x[1 := 18446744073709551616]; print |x|, "\n"; -} +} \ No newline at end of file diff --git a/Test/git-issues/git-issue-4012.dfy.expect b/Test/git-issues/git-issue-4012.dfy.expect index ab69b99fab4..230fbdbd384 100644 --- a/Test/git-issues/git-issue-4012.dfy.expect +++ b/Test/git-issues/git-issue-4012.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 1 verified, 0 errors 18446744073709551616 diff --git a/Test/git-issues/git-issue-425.dfy b/Test/git-issues/git-issue-425.dfy index 122a10e4fbb..4e555daaed0 100644 --- a/Test/git-issues/git-issue-425.dfy +++ b/Test/git-issues/git-issue-425.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method M() returns (x: int, ghost y: int) { return 42, 43; diff --git a/Test/git-issues/git-issue-425.dfy.expect b/Test/git-issues/git-issue-425.dfy.expect index daaac9e3030..c2284013d9e 100644 --- a/Test/git-issues/git-issue-425.dfy.expect +++ b/Test/git-issues/git-issue-425.dfy.expect @@ -1,2 +1,18 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification +42 +42 + +Dafny program verifier did not attempt verification +42 +42 + +Dafny program verifier did not attempt verification +42 +42 + +Dafny program verifier did not attempt verification 42 42 diff --git a/Test/git-issues/git-issue-443.dfy b/Test/git-issues/git-issue-443.dfy index 6702e37484f..e8745b5ddda 100644 --- a/Test/git-issues/git-issue-443.dfy +++ b/Test/git-issues/git-issue-443.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { print F(), " ", G(802.11), "\n"; // 12 15 diff --git a/Test/git-issues/git-issue-443.dfy.expect b/Test/git-issues/git-issue-443.dfy.expect index 0b64712fdcf..10af01216da 100644 --- a/Test/git-issues/git-issue-443.dfy.expect +++ b/Test/git-issues/git-issue-443.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors 12 15 diff --git a/Test/git-issues/git-issue-446.dfy b/Test/git-issues/git-issue-446.dfy index a66a9272d18..0656587fd03 100644 --- a/Test/git-issues/git-issue-446.dfy +++ b/Test/git-issues/git-issue-446.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Result = Success(value: T) | Failure(error: string) { diff --git a/Test/git-issues/git-issue-446.dfy.expect b/Test/git-issues/git-issue-446.dfy.expect index 8165c2056d0..18195d22344 100644 --- a/Test/git-issues/git-issue-446.dfy.expect +++ b/Test/git-issues/git-issue-446.dfy.expect @@ -1,3 +1,22 @@ + +Dafny program verifier finished with 9 verified, 0 errors + +Dafny program verifier did not attempt verification +true -2 +true 42 +End + +Dafny program verifier did not attempt verification +true -2 +true 42 +End + +Dafny program verifier did not attempt verification +true -2 +true 42 +End + +Dafny program verifier did not attempt verification true -2 true 42 End diff --git a/Test/git-issues/git-issue-446a.dfy b/Test/git-issues/git-issue-446a.dfy index 2c559cea76d..41917680fee 100644 --- a/Test/git-issues/git-issue-446a.dfy +++ b/Test/git-issues/git-issue-446a.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Result = Success(value: T) | Failure(error: string) { diff --git a/Test/git-issues/git-issue-446a.dfy.expect b/Test/git-issues/git-issue-446a.dfy.expect index 9897e1c3f56..fbf9ee6f31d 100644 --- a/Test/git-issues/git-issue-446a.dfy.expect +++ b/Test/git-issues/git-issue-446a.dfy.expect @@ -1,3 +1,22 @@ + +Dafny program verifier finished with 9 verified, 0 errors + +Dafny program verifier did not attempt verification +OK +true OK +true -2 End + +Dafny program verifier did not attempt verification +OK +true OK +true -2 End + +Dafny program verifier did not attempt verification +OK +true OK +true -2 End + +Dafny program verifier did not attempt verification OK true OK true -2 End diff --git a/Test/git-issues/git-issue-446b.dfy b/Test/git-issues/git-issue-446b.dfy index 79e55d9a1f8..aa7ac30d9a7 100644 --- a/Test/git-issues/git-issue-446b.dfy +++ b/Test/git-issues/git-issue-446b.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Result = Success(value: T) | Failure(error: string) { diff --git a/Test/git-issues/git-issue-446b.dfy.expect b/Test/git-issues/git-issue-446b.dfy.expect index 36fdd8ba47b..0e99363fdb9 100644 --- a/Test/git-issues/git-issue-446b.dfy.expect +++ b/Test/git-issues/git-issue-446b.dfy.expect @@ -1,3 +1,28 @@ + +Dafny program verifier finished with 10 verified, 0 errors + +Dafny program verifier did not attempt verification +OK +true OK +true -2 +true 100 +End + +Dafny program verifier did not attempt verification +OK +true OK +true -2 +true 100 +End + +Dafny program verifier did not attempt verification +OK +true OK +true -2 +true 100 +End + +Dafny program verifier did not attempt verification OK true OK true -2 diff --git a/Test/git-issues/git-issue-478-good.dfy b/Test/git-issues/git-issue-478-good.dfy index 9abce41e97c..b3fab26a312 100644 --- a/Test/git-issues/git-issue-478-good.dfy +++ b/Test/git-issues/git-issue-478-good.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // By first defining import LibA and then defining a module LibA, // the latter used to generate: diff --git a/Test/git-issues/git-issue-478-good.dfy.expect b/Test/git-issues/git-issue-478-good.dfy.expect index 6807b84eba5..17aea610943 100644 --- a/Test/git-issues/git-issue-478-good.dfy.expect +++ b/Test/git-issues/git-issue-478-good.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 1 verified, 0 errors hello hello hi diff --git a/Test/git-issues/git-issue-506.dfy b/Test/git-issues/git-issue-506.dfy index b2a409951a1..d25596621de 100644 --- a/Test/git-issues/git-issue-506.dfy +++ b/Test/git-issues/git-issue-506.dfy @@ -1,4 +1,8 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" +// RUN: %dafny /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/git-issues/git-issue-506.dfy.expect b/Test/git-issues/git-issue-506.dfy.expect index ef2606ec5dc..e2bb6d644d9 100644 --- a/Test/git-issues/git-issue-506.dfy.expect +++ b/Test/git-issues/git-issue-506.dfy.expect @@ -1,3 +1,29 @@ + +Dafny program verifier finished with 2 verified, 0 errors +7 301 +8 391 +2 2 +4 5 +6 7 +2 3 7 0 + +Dafny program verifier finished with 2 verified, 0 errors +7 301 +8 391 +2 2 +4 5 +6 7 +2 3 7 0 + +Dafny program verifier finished with 2 verified, 0 errors +7 301 +8 391 +2 2 +4 5 +6 7 +2 3 7 0 + +Dafny program verifier finished with 2 verified, 0 errors 7 301 8 391 2 2 diff --git a/Test/git-issues/git-issue-532.dfy b/Test/git-issues/git-issue-532.dfy index 2a2b5aaaf2e..3d511dbb4c8 100644 --- a/Test/git-issues/git-issue-532.dfy +++ b/Test/git-issues/git-issue-532.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" predicate SuppressNoTriggerWarning(x: X) { true } diff --git a/Test/git-issues/git-issue-532.dfy.expect b/Test/git-issues/git-issue-532.dfy.expect index 0f3ef3de427..1bd9e82cc5a 100644 --- a/Test/git-issues/git-issue-532.dfy.expect +++ b/Test/git-issues/git-issue-532.dfy.expect @@ -1,3 +1,22 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification +t.x=5 The given Tr is a C, and c.y=6 +t.x=100 The given Tr is not a C +t.x=5 The given Tr is a C, and c.y=16 + +Dafny program verifier did not attempt verification +t.x=5 The given Tr is a C, and c.y=6 +t.x=100 The given Tr is not a C +t.x=5 The given Tr is a C, and c.y=16 + +Dafny program verifier did not attempt verification +t.x=5 The given Tr is a C, and c.y=6 +t.x=100 The given Tr is not a C +t.x=5 The given Tr is a C, and c.y=16 + +Dafny program verifier did not attempt verification t.x=5 The given Tr is a C, and c.y=6 t.x=100 The given Tr is not a C t.x=5 The given Tr is a C, and c.y=16 diff --git a/Test/git-issues/git-issue-549.dfy b/Test/git-issues/git-issue-549.dfy index d362a0bd039..2e5ab322f23 100644 --- a/Test/git-issues/git-issue-549.dfy +++ b/Test/git-issues/git-issue-549.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" trait T { function bar(): bv8 diff --git a/Test/git-issues/git-issue-549.dfy.expect b/Test/git-issues/git-issue-549.dfy.expect index 6e0790e778e..3ae509fee5e 100644 --- a/Test/git-issues/git-issue-549.dfy.expect +++ b/Test/git-issues/git-issue-549.dfy.expect @@ -1,2 +1,10 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification +bar() = 1 +bar() = 1 + +Dafny program verifier did not attempt verification bar() = 1 bar() = 1 diff --git a/Test/git-issues/git-issue-622$f.dfy b/Test/git-issues/git-issue-622$f.dfy index 2a7003e0f4e..fe4fdf38e03 100644 --- a/Test/git-issues/git-issue-622$f.dfy +++ b/Test/git-issues/git-issue-622$f.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:3 /compileTarget:java /spillTargetCode:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { } diff --git a/Test/git-issues/git-issue-622$f.dfy.expect b/Test/git-issues/git-issue-622$f.dfy.expect index e69de29bb2d..012f5b99379 100644 --- a/Test/git-issues/git-issue-622$f.dfy.expect +++ b/Test/git-issues/git-issue-622$f.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/git-issues/git-issue-633.dfy b/Test/git-issues/git-issue-633.dfy index dd547fe65a6..5d9b5aecf58 100644 --- a/Test/git-issues/git-issue-633.dfy +++ b/Test/git-issues/git-issue-633.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation /Users/salkeldr/Documents/GitHub/dafny/Test/git-issues/git-issue-633A.dfy +// RUN: %dafny /compile:0 "%s" %S/git-issue-633A.dfy > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs /spillTargetCode:3 "%s" %S/git-issue-633A.dfy >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js /spillTargetCode:3 "%s" %S/git-issue-633A.dfy >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go /spillTargetCode:3 "%s" %S/git-issue-633A.dfy >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java /spillTargetCode:3 "%s" %S/git-issue-633A.dfy >> "%t" +// RUN: %diff "%s.expect" "%t" method m() { print "OK\n"; diff --git a/Test/git-issues/git-issue-633.dfy.expect b/Test/git-issues/git-issue-633.dfy.expect index e69de29bb2d..f02fc57989a 100644 --- a/Test/git-issues/git-issue-633.dfy.expect +++ b/Test/git-issues/git-issue-633.dfy.expect @@ -0,0 +1,10 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-684.dfy b/Test/git-issues/git-issue-684.dfy index 4c2b0a8fa02..b1fbd7ab036 100644 --- a/Test/git-issues/git-issue-684.dfy +++ b/Test/git-issues/git-issue-684.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Level1 = Level1(u:int) datatype Level2 = Level2(u:int, l:Level1) diff --git a/Test/git-issues/git-issue-684.dfy.expect b/Test/git-issues/git-issue-684.dfy.expect index e69de29bb2d..65d3b5d6635 100644 --- a/Test/git-issues/git-issue-684.dfy.expect +++ b/Test/git-issues/git-issue-684.dfy.expect @@ -0,0 +1,10 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-686.dfy b/Test/git-issues/git-issue-686.dfy index 9845ce2b027..bbc975200c8 100644 --- a/Test/git-issues/git-issue-686.dfy +++ b/Test/git-issues/git-issue-686.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Color = Blue | Red diff --git a/Test/git-issues/git-issue-686.dfy.expect b/Test/git-issues/git-issue-686.dfy.expect index c12f8e66df2..f30b0581688 100644 --- a/Test/git-issues/git-issue-686.dfy.expect +++ b/Test/git-issues/git-issue-686.dfy.expect @@ -1 +1,24 @@ +git-issue-686.dfy(13,2): Warning: this branch is redundant +git-issue-686.dfy(21,2): Warning: this branch is redundant + +Dafny program verifier finished with 1 verified, 0 errors +git-issue-686.dfy(13,2): Warning: this branch is redundant +git-issue-686.dfy(21,2): Warning: this branch is redundant + +Dafny program verifier did not attempt verification +6 0 +git-issue-686.dfy(13,2): Warning: this branch is redundant +git-issue-686.dfy(21,2): Warning: this branch is redundant + +Dafny program verifier did not attempt verification +6 0 +git-issue-686.dfy(13,2): Warning: this branch is redundant +git-issue-686.dfy(21,2): Warning: this branch is redundant + +Dafny program verifier did not attempt verification +6 0 +git-issue-686.dfy(13,2): Warning: this branch is redundant +git-issue-686.dfy(21,2): Warning: this branch is redundant + +Dafny program verifier did not attempt verification 6 0 diff --git a/Test/git-issues/git-issue-686.dfy.verifier.expect b/Test/git-issues/git-issue-686.dfy.verifier.expect deleted file mode 100644 index 805bd55730c..00000000000 --- a/Test/git-issues/git-issue-686.dfy.verifier.expect +++ /dev/null @@ -1,2 +0,0 @@ -git-issue-686.dfy(8,2): Warning: this branch is redundant -git-issue-686.dfy(16,2): Warning: this branch is redundant diff --git a/Test/git-issues/git-issue-697.dfy b/Test/git-issues/git-issue-697.dfy index 23cce66dee7..095c1a02399 100644 --- a/Test/git-issues/git-issue-697.dfy +++ b/Test/git-issues/git-issue-697.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Cell = Cell(x: int) type EvenCell = c: Cell | c.x % 2 == 0 witness Cell(0) diff --git a/Test/git-issues/git-issue-697.dfy.expect b/Test/git-issues/git-issue-697.dfy.expect index f32a5804e29..188a72ebc36 100644 --- a/Test/git-issues/git-issue-697.dfy.expect +++ b/Test/git-issues/git-issue-697.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-697b.dfy b/Test/git-issues/git-issue-697b.dfy index cdb054d8d78..cfdd3fd0821 100644 --- a/Test/git-issues/git-issue-697b.dfy +++ b/Test/git-issues/git-issue-697b.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Cell = Cell(x: int) type EvenCell = c: Cell | c.x % 2 == 0 witness Cell(0) diff --git a/Test/git-issues/git-issue-697b.dfy.expect b/Test/git-issues/git-issue-697b.dfy.expect index 9c777ac6a0f..b355409912b 100644 --- a/Test/git-issues/git-issue-697b.dfy.expect +++ b/Test/git-issues/git-issue-697b.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors false 2 diff --git a/Test/git-issues/git-issue-697d.dfy b/Test/git-issues/git-issue-697d.dfy index 8b65c2da4f7..71a262fc985 100644 --- a/Test/git-issues/git-issue-697d.dfy +++ b/Test/git-issues/git-issue-697d.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" function nonGhostPredicate(x: int): bool { x % 2 == 0 diff --git a/Test/git-issues/git-issue-697d.dfy.expect b/Test/git-issues/git-issue-697d.dfy.expect index f32a5804e29..48fb59aeae5 100644 --- a/Test/git-issues/git-issue-697d.dfy.expect +++ b/Test/git-issues/git-issue-697d.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 4 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-697e.dfy b/Test/git-issues/git-issue-697e.dfy index 310851abf9a..e4500bfab28 100644 --- a/Test/git-issues/git-issue-697e.dfy +++ b/Test/git-issues/git-issue-697e.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Cell = Cell(x: int) type EvenCell = c: Cell | c.x % 2 == 0 witness Cell(0) diff --git a/Test/git-issues/git-issue-697e.dfy.expect b/Test/git-issues/git-issue-697e.dfy.expect index e69de29bb2d..00a51f822da 100644 --- a/Test/git-issues/git-issue-697e.dfy.expect +++ b/Test/git-issues/git-issue-697e.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 3 verified, 0 errors diff --git a/Test/git-issues/git-issue-697f.dfy b/Test/git-issues/git-issue-697f.dfy index acb8810dfbf..92d1cec2ed8 100644 --- a/Test/git-issues/git-issue-697f.dfy +++ b/Test/git-issues/git-issue-697f.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" ghost function ghostPredicate(x: int): bool { x % 2 == 0 diff --git a/Test/git-issues/git-issue-697f.dfy.expect b/Test/git-issues/git-issue-697f.dfy.expect index b5754e20373..3e2cf8d0f69 100644 --- a/Test/git-issues/git-issue-697f.dfy.expect +++ b/Test/git-issues/git-issue-697f.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 4 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-697g.dfy b/Test/git-issues/git-issue-697g.dfy index 7b30de7f3a0..c3b7581ff61 100644 --- a/Test/git-issues/git-issue-697g.dfy +++ b/Test/git-issues/git-issue-697g.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" function returnNat(c: nat): int { diff --git a/Test/git-issues/git-issue-697g.dfy.expect b/Test/git-issues/git-issue-697g.dfy.expect index f32a5804e29..d9157fa820a 100644 --- a/Test/git-issues/git-issue-697g.dfy.expect +++ b/Test/git-issues/git-issue-697g.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-698.dfy b/Test/git-issues/git-issue-698.dfy index 7b7a9ca15b8..b15295c9b46 100644 --- a/Test/git-issues/git-issue-698.dfy +++ b/Test/git-issues/git-issue-698.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" type Small = x: int | 0 <= x < 100 && x != 3 diff --git a/Test/git-issues/git-issue-698.dfy.expect b/Test/git-issues/git-issue-698.dfy.expect index 27ba77ddaf6..7f965a65d2e 100644 --- a/Test/git-issues/git-issue-698.dfy.expect +++ b/Test/git-issues/git-issue-698.dfy.expect @@ -1 +1,8 @@ + +Dafny program verifier finished with 3 verified, 0 errors + +Dafny program verifier did not attempt verification +true + +Dafny program verifier did not attempt verification true diff --git a/Test/git-issues/git-issue-698b.dfy b/Test/git-issues/git-issue-698b.dfy index dbdbc3b36d3..1d4a92456e6 100644 --- a/Test/git-issues/git-issue-698b.dfy +++ b/Test/git-issues/git-issue-698b.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" type Small = x: int | 0 <= x < 100 && x != 3 @@ -12,4 +13,4 @@ method Main() { var b := !exists n: Small :: F(n) != 100; assert b; print b; -} +} \ No newline at end of file diff --git a/Test/git-issues/git-issue-698b.dfy.expect b/Test/git-issues/git-issue-698b.dfy.expect index f32a5804e29..188a72ebc36 100644 --- a/Test/git-issues/git-issue-698b.dfy.expect +++ b/Test/git-issues/git-issue-698b.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-701.dfy b/Test/git-issues/git-issue-701.dfy index 38984df4ecf..af19f0d89e2 100644 --- a/Test/git-issues/git-issue-701.dfy +++ b/Test/git-issues/git-issue-701.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var ca := new ClassA; diff --git a/Test/git-issues/git-issue-701.dfy.expect b/Test/git-issues/git-issue-701.dfy.expect index 5198c09cbb1..4d20966e641 100644 --- a/Test/git-issues/git-issue-701.dfy.expect +++ b/Test/git-issues/git-issue-701.dfy.expect @@ -1,3 +1,22 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification +0 0 0 +[] [] [] +C.Nothing C.Nothing C.Nothing + +Dafny program verifier did not attempt verification +0 0 0 +[] [] [] +C.Nothing C.Nothing C.Nothing + +Dafny program verifier did not attempt verification +0 0 0 +[] [] [] +C.Nothing C.Nothing C.Nothing + +Dafny program verifier did not attempt verification 0 0 0 [] [] [] C.Nothing C.Nothing C.Nothing diff --git a/Test/git-issues/git-issue-705.dfy b/Test/git-issues/git-issue-705.dfy index 9c36a336e8e..d4b806800c2 100644 --- a/Test/git-issues/git-issue-705.dfy +++ b/Test/git-issues/git-issue-705.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs /spillTargetCode:3 "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js /spillTargetCode:3 "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go /spillTargetCode:3 "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java /spillTargetCode:3 "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype MyDataType = AAA { function toString(): int { 222 } diff --git a/Test/git-issues/git-issue-705.dfy.expect b/Test/git-issues/git-issue-705.dfy.expect index 79a1eee7c74..02cf409667a 100644 --- a/Test/git-issues/git-issue-705.dfy.expect +++ b/Test/git-issues/git-issue-705.dfy.expect @@ -1 +1,14 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification +MyDataType.AAA 222 + +Dafny program verifier did not attempt verification +MyDataType.AAA 222 + +Dafny program verifier did not attempt verification +MyDataType.AAA 222 + +Dafny program verifier did not attempt verification MyDataType.AAA 222 diff --git a/Test/git-issues/git-issue-731.dfy b/Test/git-issues/git-issue-731.dfy index 348d40fecea..05d02fea1af 100644 --- a/Test/git-issues/git-issue-731.dfy +++ b/Test/git-issues/git-issue-731.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" trait Trait { const y: Y diff --git a/Test/git-issues/git-issue-731.dfy.expect b/Test/git-issues/git-issue-731.dfy.expect index 7554a44901e..69b2e6af648 100644 --- a/Test/git-issues/git-issue-731.dfy.expect +++ b/Test/git-issues/git-issue-731.dfy.expect @@ -1,2 +1,18 @@ + +Dafny program verifier finished with 3 verified, 0 errors + +Dafny program verifier did not attempt verification +0 0 0 42 +0 0 0 9 + +Dafny program verifier did not attempt verification +0 0 0 42 +0 0 0 9 + +Dafny program verifier did not attempt verification +0 0 0 42 +0 0 0 9 + +Dafny program verifier did not attempt verification 0 0 0 42 0 0 0 9 diff --git a/Test/git-issues/git-issue-731b.dfy b/Test/git-issues/git-issue-731b.dfy index 2a0507839a2..a77dbd6323b 100644 --- a/Test/git-issues/git-issue-731b.dfy +++ b/Test/git-issues/git-issue-731b.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // Testing issue#731 when the class in question has type parameters diff --git a/Test/git-issues/git-issue-731b.dfy.expect b/Test/git-issues/git-issue-731b.dfy.expect index dd3226d2b73..97e6c041920 100644 --- a/Test/git-issues/git-issue-731b.dfy.expect +++ b/Test/git-issues/git-issue-731b.dfy.expect @@ -1 +1,14 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification +0 42 + +Dafny program verifier did not attempt verification +0 42 + +Dafny program verifier did not attempt verification +0 42 + +Dafny program verifier did not attempt verification 0 42 diff --git a/Test/git-issues/git-issue-755.dfy b/Test/git-issues/git-issue-755.dfy index 2227a486a21..25fb3e6a485 100644 --- a/Test/git-issues/git-issue-755.dfy +++ b/Test/git-issues/git-issue-755.dfy @@ -1,5 +1,9 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var s := { 1,9,3,7,5}; diff --git a/Test/git-issues/git-issue-755.dfy.expect b/Test/git-issues/git-issue-755.dfy.expect index 9182de3a24a..c930da26922 100644 --- a/Test/git-issues/git-issue-755.dfy.expect +++ b/Test/git-issues/git-issue-755.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 5 verified, 0 errors + +Dafny program verifier did not attempt verification 1 3 5 @@ -5,3 +9,30 @@ 9 1 3 3 5 + +Dafny program verifier did not attempt verification +1 +9 +3 +7 +5 +1 3 +3 5 + +Dafny program verifier did not attempt verification +1 +9 +3 +7 +5 +1 3 +3 5 + +Dafny program verifier did not attempt verification +1 +3 +5 +7 +9 +3 5 +1 3 diff --git a/Test/git-issues/git-issue-755.dfy.go.expect b/Test/git-issues/git-issue-755.dfy.go.expect deleted file mode 100644 index f41e86c7579..00000000000 --- a/Test/git-issues/git-issue-755.dfy.go.expect +++ /dev/null @@ -1,7 +0,0 @@ -1 -9 -3 -7 -5 -1 3 -3 5 diff --git a/Test/git-issues/git-issue-755.dfy.java.expect b/Test/git-issues/git-issue-755.dfy.java.expect deleted file mode 100644 index f4407f49a6f..00000000000 --- a/Test/git-issues/git-issue-755.dfy.java.expect +++ /dev/null @@ -1,7 +0,0 @@ -1 -3 -5 -7 -9 -3 5 -1 3 diff --git a/Test/git-issues/git-issue-755.dfy.js.expect b/Test/git-issues/git-issue-755.dfy.js.expect deleted file mode 100644 index f41e86c7579..00000000000 --- a/Test/git-issues/git-issue-755.dfy.js.expect +++ /dev/null @@ -1,7 +0,0 @@ -1 -9 -3 -7 -5 -1 3 -3 5 diff --git a/Test/git-issues/git-issue-784.dfy b/Test/git-issues/git-issue-784.dfy index 5f6cf59465c..78b83f01064 100644 --- a/Test/git-issues/git-issue-784.dfy +++ b/Test/git-issues/git-issue-784.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype List = Nil | Cons(T, List) { function App(ys: List): List { diff --git a/Test/git-issues/git-issue-784.dfy.expect b/Test/git-issues/git-issue-784.dfy.expect index e69de29bb2d..8da23be5c8c 100644 --- a/Test/git-issues/git-issue-784.dfy.expect +++ b/Test/git-issues/git-issue-784.dfy.expect @@ -0,0 +1,10 @@ + +Dafny program verifier finished with 4 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-953.dfy b/Test/git-issues/git-issue-953.dfy index 1032ad45a3a..0e9e0198b90 100644 --- a/Test/git-issues/git-issue-953.dfy +++ b/Test/git-issues/git-issue-953.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" module P { datatype T_ = T() // the underscore in this name once caused a problem in Java compilation diff --git a/Test/git-issues/git-issue-953.dfy.expect b/Test/git-issues/git-issue-953.dfy.expect index d992760e80b..b731ec2edbe 100644 --- a/Test/git-issues/git-issue-953.dfy.expect +++ b/Test/git-issues/git-issue-953.dfy.expect @@ -1,3 +1,39 @@ + +Dafny program verifier finished with 6 verified, 0 errors + +Dafny program verifier did not attempt verification +C_Compile.T_.T +P_Compile.T_.T +OtherNamesWithSpecialCharacters_q___Compile.A?_.A?_ OtherNamesWithSpecialCharacters_q___Compile.B?_.B?_ +17 17 0 0 +C2_Compile.C.C(10, 11) +9 + +Dafny program verifier did not attempt verification +C_Compile.T_.T +P_Compile.T_.T +OtherNamesWithSpecialCharacters_q___Compile.A?_.A?_ OtherNamesWithSpecialCharacters_q___Compile.B?_.B?_ +17 17 0 0 +C2_Compile.C.C(10, 11) +9 + +Dafny program verifier did not attempt verification +C_Compile.T_.T +P_Compile.T_.T +OtherNamesWithSpecialCharacters_q___Compile.A?_.A?_ OtherNamesWithSpecialCharacters_q___Compile.B?_.B?_ +17 17 0 0 +C2_Compile.C.C(10, 11) +9 + +Dafny program verifier did not attempt verification +C_Compile.T_.T +P_Compile.T_.T +OtherNamesWithSpecialCharacters_q___Compile.A?_.A?_ OtherNamesWithSpecialCharacters_q___Compile.B?_.B?_ +17 17 0 0 +C2_Compile.C.C(10, 11) +9 + +Dafny program verifier did not attempt verification C_Compile.T_.T P_Compile.T_.T OtherNamesWithSpecialCharacters_q___Compile.A?_.A?_ OtherNamesWithSpecialCharacters_q___Compile.B?_.B?_ diff --git a/Test/git-issues/github-issue-3343.dfy b/Test/git-issues/github-issue-3343.dfy index d518b2a1a41..517a11d7fc1 100644 --- a/Test/git-issues/github-issue-3343.dfy +++ b/Test/git-issues/github-issue-3343.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" +// RUN: %baredafny run "%s" -t:java > "%t" +// RUN: %diff "%s.expect" "%t" method Bug() { var zero := 0; var a := new int[zero] []; diff --git a/Test/git-issues/github-issue-3343.dfy.expect b/Test/git-issues/github-issue-3343.dfy.expect index e69de29bb2d..823a60a105c 100644 --- a/Test/git-issues/github-issue-3343.dfy.expect +++ b/Test/git-issues/github-issue-3343.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 1 verified, 0 errors diff --git a/Test/hofs/Compilation.dfy b/Test/hofs/Compilation.dfy index 7e9c674b495..99fd0a36506 100644 --- a/Test/hofs/Compilation.dfy +++ b/Test/hofs/Compilation.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" class Ref { var val : A diff --git a/Test/hofs/Compilation.dfy.expect b/Test/hofs/Compilation.dfy.expect index 6b7187d2557..760fafc6189 100644 --- a/Test/hofs/Compilation.dfy.expect +++ b/Test/hofs/Compilation.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 2 verified, 0 errors 1 = 1 3 = 3 3 = 3 diff --git a/Test/hofs/Examples.dfy b/Test/hofs/Examples.dfy index bebda559221..cdf177c001f 100644 --- a/Test/hofs/Examples.dfy +++ b/Test/hofs/Examples.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" function Apply(f: A ~> B, x: A): B reads f.reads(x) diff --git a/Test/hofs/Examples.dfy.expect b/Test/hofs/Examples.dfy.expect index e69de29bb2d..851aaf58286 100644 --- a/Test/hofs/Examples.dfy.expect +++ b/Test/hofs/Examples.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 7 verified, 0 errors diff --git a/Test/hofs/Fold.dfy b/Test/hofs/Fold.dfy index 96ddb01591f..336f9121b52 100644 --- a/Test/hofs/Fold.dfy +++ b/Test/hofs/Fold.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype List = Nil | Cons(A,List) diff --git a/Test/hofs/Fold.dfy.expect b/Test/hofs/Fold.dfy.expect index 3abcc310618..144ffab92db 100644 --- a/Test/hofs/Fold.dfy.expect +++ b/Test/hofs/Fold.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors 3 = 3 diff --git a/Test/hofs/Renaming.dfy b/Test/hofs/Renaming.dfy index 391c0e79ef6..cf21fdba2f8 100644 --- a/Test/hofs/Renaming.dfy +++ b/Test/hofs/Renaming.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" function OnId(f : (bool -> bool) -> int) : int reads f.reads(x => x) diff --git a/Test/hofs/Renaming.dfy.expect b/Test/hofs/Renaming.dfy.expect index 13a954d9043..e2b6636dbe4 100644 --- a/Test/hofs/Renaming.dfy.expect +++ b/Test/hofs/Renaming.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 4 verified, 0 errors 10 11 diff --git a/Test/hofs/Requires.dfy b/Test/hofs/Requires.dfy index f5e51244184..de5944b6744 100644 --- a/Test/hofs/Requires.dfy +++ b/Test/hofs/Requires.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/hofs/Requires.dfy.expect b/Test/hofs/Requires.dfy.expect index e69de29bb2d..1981561ca00 100644 --- a/Test/hofs/Requires.dfy.expect +++ b/Test/hofs/Requires.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 10 verified, 0 errors diff --git a/Test/hofs/TreeMapSimple.dfy b/Test/hofs/TreeMapSimple.dfy index b7baf6eb8d7..d93aea46403 100644 --- a/Test/hofs/TreeMapSimple.dfy +++ b/Test/hofs/TreeMapSimple.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { TestY(); diff --git a/Test/hofs/TreeMapSimple.dfy.expect b/Test/hofs/TreeMapSimple.dfy.expect index be0317f1016..9224d605f7e 100644 --- a/Test/hofs/TreeMapSimple.dfy.expect +++ b/Test/hofs/TreeMapSimple.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 11 verified, 0 errors Tree.Branch(100, List.Cons(Tree.Branch(50, List.Nil), List.Nil)) Tree.Branch(100, List.Cons(Tree.Branch(50, List.Nil), List.Nil)) diff --git a/Test/hofs/VectorUpdate.dfy b/Test/hofs/VectorUpdate.dfy index 70c0de3084e..848ed585ca6 100644 --- a/Test/hofs/VectorUpdate.dfy +++ b/Test/hofs/VectorUpdate.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // this is a rather verbose version of the VectorUpdate method method VectorUpdate(N: int, a : array, f : (int,A) ~> A) diff --git a/Test/hofs/VectorUpdate.dfy.expect b/Test/hofs/VectorUpdate.dfy.expect index 7645f125857..b8fae39eab8 100644 --- a/Test/hofs/VectorUpdate.dfy.expect +++ b/Test/hofs/VectorUpdate.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 8 verified, 0 errors 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 100, 50, 33, 25, 20, 16, 14, 12, 11, 10 diff --git a/Test/hofs/WhileLoop.dfy b/Test/hofs/WhileLoop.dfy index 914f47f4522..4af9fbd841b 100644 --- a/Test/hofs/WhileLoop.dfy +++ b/Test/hofs/WhileLoop.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" class Ref { var val: A diff --git a/Test/hofs/WhileLoop.dfy.expect b/Test/hofs/WhileLoop.dfy.expect index 83083b451e1..234ac298c9b 100644 --- a/Test/hofs/WhileLoop.dfy.expect +++ b/Test/hofs/WhileLoop.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 4 verified, 0 errors 22 22 22 diff --git a/Test/metatests/OutputEncoding.dfy b/Test/metatests/OutputEncoding.dfy index 59fa53bf298..68c390ac811 100644 --- a/Test/metatests/OutputEncoding.dfy +++ b/Test/metatests/OutputEncoding.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" +// RUN: %baredafny verify %args "%s" > "%t" +// RUN: %baredafny run --no-verify --target=cs %args "%s" >> "%t" +// RUN: %baredafny run --no-verify --target=js %args "%s" >> "%t" +// RUN: %baredafny run --no-verify --target=go %args "%s" >> "%t" +// RUN: %baredafny run --no-verify --target=py %args "%s" >> "%t" +// RUN: %baredafny run --no-verify --target=java %args "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { // This works fine in all languages because € is a single UTF-16 code unit. diff --git a/Test/metatests/OutputEncoding.dfy.expect b/Test/metatests/OutputEncoding.dfy.expect index b25a57298f1..a37241376f3 100644 --- a/Test/metatests/OutputEncoding.dfy.expect +++ b/Test/metatests/OutputEncoding.dfy.expect @@ -1 +1,17 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification +Euro sign: € + +Dafny program verifier did not attempt verification +Euro sign: € + +Dafny program verifier did not attempt verification +Euro sign: € + +Dafny program verifier did not attempt verification +Euro sign: € + +Dafny program verifier did not attempt verification Euro sign: € diff --git a/Test/patterns/OrPatterns.dfy b/Test/patterns/OrPatterns.dfy index 6385bd55c93..4f2610c9379 100644 --- a/Test/patterns/OrPatterns.dfy +++ b/Test/patterns/OrPatterns.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /rprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Enum = One | Two | Three { predicate Even() { diff --git a/Test/patterns/OrPatterns.dfy.expect b/Test/patterns/OrPatterns.dfy.expect index d86bac9de59..a6fce7c4a13 100644 --- a/Test/patterns/OrPatterns.dfy.expect +++ b/Test/patterns/OrPatterns.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 11 verified, 0 errors OK diff --git a/Test/patterns/PatternMatching.dfy b/Test/patterns/PatternMatching.dfy index e8a73b856e4..477126c066a 100644 --- a/Test/patterns/PatternMatching.dfy +++ b/Test/patterns/PatternMatching.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" /* * This file contains a collection of tests for features modified or introduced in PR 458 @@ -221,4 +222,4 @@ method Main() { var r5 := MultipleNestedMatch(A(0), t4, bb); print "Testing MultipleNestedMatch: ", r0, r1, r2, r3, r4, r5, ", should return 012345\n"; -} +} \ No newline at end of file diff --git a/Test/patterns/PatternMatching.dfy.expect b/Test/patterns/PatternMatching.dfy.expect index b4415971ca5..2970273cbfc 100644 --- a/Test/patterns/PatternMatching.dfy.expect +++ b/Test/patterns/PatternMatching.dfy.expect @@ -1,3 +1,6 @@ +PatternMatching.dfy(102,4): Warning: this branch is redundant + +Dafny program verifier finished with 9 verified, 0 errors NestingTest([6]) = 6, should return 6 NestedVariableTest([2::3::4::5::6]) = 0, should return 0 ConstantTest([3::4::5::6]) = 2, should return 2 diff --git a/Test/patterns/PatternMatching.dfy.verifier.expect b/Test/patterns/PatternMatching.dfy.verifier.expect deleted file mode 100644 index b486aadfb80..00000000000 --- a/Test/patterns/PatternMatching.dfy.verifier.expect +++ /dev/null @@ -1 +0,0 @@ -PatternMatching.dfy(101,4): Warning: this branch is redundant diff --git a/Test/traits/TraitCompile.dfy b/Test/traits/TraitCompile.dfy index 6e9b925fbc5..03cf3746c6f 100644 --- a/Test/traits/TraitCompile.dfy +++ b/Test/traits/TraitCompile.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" trait TT { @@ -814,4 +820,4 @@ module RedeclaringMembers { true } } -} +} \ No newline at end of file diff --git a/Test/traits/TraitCompile.dfy.expect b/Test/traits/TraitCompile.dfy.expect index b70a9b09d2e..8257b754de2 100644 --- a/Test/traits/TraitCompile.dfy.expect +++ b/Test/traits/TraitCompile.dfy.expect @@ -1,3 +1,259 @@ + +Dafny program verifier finished with 75 verified, 0 errors + +Dafny program verifier did not attempt verification +y=120 +x=12 +d=800 +a5=407 +t=1212 +z=30 +z'=30 +w=30 +d=1000 +a5=507 +t=1512 +t=1512 +t=1515 +This is OtherModule.P(7.0) +From OtherModule.Y: 7 and true +This is OtherModule.P(7.0) +From OtherModule.X: 7 and true +c.f= 15 j.f= 15 +c.f= 18 j.f= 18 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +x=126 +5.2 9 false +true true true true +false false false false +true true true true +false false false false +5.2 5.2 +1.2 1.2 +1.2 1.2 +15 30 +15 30 +15 30 +0 (0, 0) 0 +8 +0 0 0 0 0 0 0 0 0 0 0 0 +13 13 13 13 13 13 13 13 13 13 13 13 +14 14 14 14 14 14 14 14 14 14 14 14 +15 15 15 15 15 15 15 15 15 15 15 15 +16 16 16 16 16 16 16 16 16 16 16 16 +17 17 17 17 17 17 17 17 17 17 17 17 +18 18 18 18 18 18 18 18 18 18 18 18 +19 19 19 19 19 19 19 19 19 19 19 19 +20 20 20 20 20 20 20 20 20 20 20 20 +21 21 21 21 21 21 21 21 21 21 21 21 +22 22 22 22 22 22 22 22 22 22 22 22 +23 23 23 23 23 23 23 23 23 23 23 23 +24 24 24 24 24 24 24 24 24 24 24 24 +f(4) = 7 +f(4) = 7 +g(4) = 7 +g(4) = 7 +41 15 26 +true true +true true +true true +true true +true true true +true true true + +Dafny program verifier did not attempt verification +y=120 +x=12 +d=800 +a5=407 +t=1212 +z=30 +z'=30 +w=30 +d=1000 +a5=507 +t=1512 +t=1512 +t=1515 +This is OtherModule.P(7.0) +From OtherModule.Y: 7 and true +This is OtherModule.P(7.0) +From OtherModule.X: 7 and true +c.f= 15 j.f= 15 +c.f= 18 j.f= 18 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +x=126 +5.2 9 false +true true true true +false false false false +true true true true +false false false false +5.2 5.2 +1.2 1.2 +1.2 1.2 +15 30 +15 30 +15 30 +0 (0, 0) 0 +8 +0 0 0 0 0 0 0 0 0 0 0 0 +13 13 13 13 13 13 13 13 13 13 13 13 +14 14 14 14 14 14 14 14 14 14 14 14 +15 15 15 15 15 15 15 15 15 15 15 15 +16 16 16 16 16 16 16 16 16 16 16 16 +17 17 17 17 17 17 17 17 17 17 17 17 +18 18 18 18 18 18 18 18 18 18 18 18 +19 19 19 19 19 19 19 19 19 19 19 19 +20 20 20 20 20 20 20 20 20 20 20 20 +21 21 21 21 21 21 21 21 21 21 21 21 +22 22 22 22 22 22 22 22 22 22 22 22 +23 23 23 23 23 23 23 23 23 23 23 23 +24 24 24 24 24 24 24 24 24 24 24 24 +f(4) = 7 +f(4) = 7 +g(4) = 7 +g(4) = 7 +41 15 26 +true true +true true +true true +true true +true true true +true true true + +Dafny program verifier did not attempt verification +y=120 +x=12 +d=800 +a5=407 +t=1212 +z=30 +z'=30 +w=30 +d=1000 +a5=507 +t=1512 +t=1512 +t=1515 +This is OtherModule.P(7.0) +From OtherModule.Y: 7 and true +This is OtherModule.P(7.0) +From OtherModule.X: 7 and true +c.f= 15 j.f= 15 +c.f= 18 j.f= 18 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +x=126 +5.2 9 false +true true true true +false false false false +true true true true +false false false false +5.2 5.2 +1.2 1.2 +1.2 1.2 +15 30 +15 30 +15 30 +0 (0, 0) 0 +8 +0 0 0 0 0 0 0 0 0 0 0 0 +13 13 13 13 13 13 13 13 13 13 13 13 +14 14 14 14 14 14 14 14 14 14 14 14 +15 15 15 15 15 15 15 15 15 15 15 15 +16 16 16 16 16 16 16 16 16 16 16 16 +17 17 17 17 17 17 17 17 17 17 17 17 +18 18 18 18 18 18 18 18 18 18 18 18 +19 19 19 19 19 19 19 19 19 19 19 19 +20 20 20 20 20 20 20 20 20 20 20 20 +21 21 21 21 21 21 21 21 21 21 21 21 +22 22 22 22 22 22 22 22 22 22 22 22 +23 23 23 23 23 23 23 23 23 23 23 23 +24 24 24 24 24 24 24 24 24 24 24 24 +f(4) = 7 +f(4) = 7 +g(4) = 7 +g(4) = 7 +41 15 26 +true true +true true +true true +true true +true true true +true true true + +Dafny program verifier did not attempt verification +y=120 +x=12 +d=800 +a5=407 +t=1212 +z=30 +z'=30 +w=30 +d=1000 +a5=507 +t=1512 +t=1512 +t=1515 +This is OtherModule.P(7.0) +From OtherModule.Y: 7 and true +This is OtherModule.P(7.0) +From OtherModule.X: 7 and true +c.f= 15 j.f= 15 +c.f= 18 j.f= 18 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +x=126 +5.2 9 false +true true true true +false false false false +true true true true +false false false false +5.2 5.2 +1.2 1.2 +1.2 1.2 +15 30 +15 30 +15 30 +0 (0, 0) 0 +8 +0 0 0 0 0 0 0 0 0 0 0 0 +13 13 13 13 13 13 13 13 13 13 13 13 +14 14 14 14 14 14 14 14 14 14 14 14 +15 15 15 15 15 15 15 15 15 15 15 15 +16 16 16 16 16 16 16 16 16 16 16 16 +17 17 17 17 17 17 17 17 17 17 17 17 +18 18 18 18 18 18 18 18 18 18 18 18 +19 19 19 19 19 19 19 19 19 19 19 19 +20 20 20 20 20 20 20 20 20 20 20 20 +21 21 21 21 21 21 21 21 21 21 21 21 +22 22 22 22 22 22 22 22 22 22 22 22 +23 23 23 23 23 23 23 23 23 23 23 23 +24 24 24 24 24 24 24 24 24 24 24 24 +f(4) = 7 +f(4) = 7 +g(4) = 7 +g(4) = 7 +41 15 26 +true true +true true +true true +true true +true true true +true true true + +Dafny program verifier did not attempt verification y=120 x=12 d=800 diff --git a/Test/traits/TraitExample.dfy b/Test/traits/TraitExample.dfy index 54c5cbbec6f..d6afb4ce70b 100644 --- a/Test/traits/TraitExample.dfy +++ b/Test/traits/TraitExample.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" trait Automobile { ghost var Repr: set diff --git a/Test/traits/TraitExample.dfy.expect b/Test/traits/TraitExample.dfy.expect index b9783e62141..c1b4ac93962 100644 --- a/Test/traits/TraitExample.dfy.expect +++ b/Test/traits/TraitExample.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 29 verified, 0 errors Fiat: 6 Volvo: 20 Catacar: 26 diff --git a/Test/traits/Traits-Fields.dfy b/Test/traits/Traits-Fields.dfy index 6ae1aaab6d9..2da609c33c8 100644 --- a/Test/traits/Traits-Fields.dfy +++ b/Test/traits/Traits-Fields.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" trait J { diff --git a/Test/traits/Traits-Fields.dfy.expect b/Test/traits/Traits-Fields.dfy.expect index c39bd8b5d5d..cc460fc52f4 100644 --- a/Test/traits/Traits-Fields.dfy.expect +++ b/Test/traits/Traits-Fields.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 2 verified, 0 errors j.x = 9 c.x = 9 diff --git a/Test/traits/TraitsMultipleInheritance.dfy b/Test/traits/TraitsMultipleInheritance.dfy index 67fd8673488..12590e47828 100644 --- a/Test/traits/TraitsMultipleInheritance.dfy +++ b/Test/traits/TraitsMultipleInheritance.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" trait J1{ var x: int diff --git a/Test/traits/TraitsMultipleInheritance.dfy.expect b/Test/traits/TraitsMultipleInheritance.dfy.expect index b116b2d070d..ad1a1011a25 100644 --- a/Test/traits/TraitsMultipleInheritance.dfy.expect +++ b/Test/traits/TraitsMultipleInheritance.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 1 verified, 0 errors c.x + c.y = 30 j1.x + j2.y = 30 diff --git a/Test/unicodechars/comp/Collections.dfy b/Test/unicodechars/comp/Collections.dfy index 14d241ed5ab..fb3e451eb83 100644 --- a/Test/unicodechars/comp/Collections.dfy +++ b/Test/unicodechars/comp/Collections.dfy @@ -1,3 +1,8 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:true --verify-included-files +// RUN: %dafny /compile:0 /verifyAllModules /unicodeChar:1 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" include "../../comp/Collections.dfy" diff --git a/Test/unicodechars/comp/Collections.dfy.expect b/Test/unicodechars/comp/Collections.dfy.expect index 89f08b08d75..70586502b0d 100644 --- a/Test/unicodechars/comp/Collections.dfy.expect +++ b/Test/unicodechars/comp/Collections.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 40 verified, 0 errors + +Dafny program verifier did not attempt verification Sets: {} {17, 82} {12, 17} cardinality: 0 2 2 union: {17, 82} {12, 17, 82} @@ -123,3 +127,511 @@ Multiset=== 1 3 |s|=2 |u|=4 1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Yellow := 21, Color.Blue := 30] +keys: {Color.Yellow, Color.Blue} +values: {21, 30} +items: {(Color.Yellow, 21), (Color.Blue, 30)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {21, 30} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.go.expect b/Test/unicodechars/comp/Collections.dfy.go.expect deleted file mode 100644 index 2fc0f3b7093..00000000000 --- a/Test/unicodechars/comp/Collections.dfy.go.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.java.expect b/Test/unicodechars/comp/Collections.dfy.java.expect deleted file mode 100644 index 39975cadfc4..00000000000 --- a/Test/unicodechars/comp/Collections.dfy.java.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Yellow := 21, Color.Blue := 30] -keys: {Color.Yellow, Color.Blue} -values: {21, 30} -items: {(Color.Yellow, 21), (Color.Blue, 30)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.js.expect b/Test/unicodechars/comp/Collections.dfy.js.expect deleted file mode 100644 index 2fc0f3b7093..00000000000 --- a/Test/unicodechars/comp/Collections.dfy.js.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.py.expect b/Test/unicodechars/comp/Collections.dfy.py.expect deleted file mode 100644 index e4e346dede0..00000000000 --- a/Test/unicodechars/comp/Collections.dfy.py.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {21, 30} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/unicodechars/comp/Comprehensions.dfy b/Test/unicodechars/comp/Comprehensions.dfy index 8bd5f67525e..274f8d3a150 100644 --- a/Test/unicodechars/comp/Comprehensions.dfy +++ b/Test/unicodechars/comp/Comprehensions.dfy @@ -1,3 +1,8 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:true --verify-included-files -include "../../comp/Comprehensions.dfy" +// RUN: %dafny /compile:0 /unicodeChar:1 /verifyAllModules "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" +include "../../comp/Comprehensions.dfy" \ No newline at end of file diff --git a/Test/unicodechars/comp/Comprehensions.dfy.expect b/Test/unicodechars/comp/Comprehensions.dfy.expect index c9703fc9397..18159ddde0a 100644 --- a/Test/unicodechars/comp/Comprehensions.dfy.expect +++ b/Test/unicodechars/comp/Comprehensions.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 32 verified, 0 errors + +Dafny program verifier did not attempt verification x=13 y=14 x=13 y=14 b=yes true false @@ -60,3 +64,259 @@ true true [137438953474, 137438953475, 137438953476, 137438953477, 137438953479] cdefh cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[14 := 7, 12 := 6, 13 := 6] +map[18 := 14, 17 := 13, 16 := 12] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh diff --git a/Test/unicodechars/comp/Comprehensions.dfy.py.expect b/Test/unicodechars/comp/Comprehensions.dfy.py.expect deleted file mode 100644 index aeaa31fc0f3..00000000000 --- a/Test/unicodechars/comp/Comprehensions.dfy.py.expect +++ /dev/null @@ -1,62 +0,0 @@ -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[14 := 7, 12 := 6, 13 := 6] -map[18 := 14, 17 := 13, 16 := 12] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh diff --git a/Test/unicodechars/comp/NativeNumbers.dfy b/Test/unicodechars/comp/NativeNumbers.dfy index 20cdb1e214f..764b4b3b384 100644 --- a/Test/unicodechars/comp/NativeNumbers.dfy +++ b/Test/unicodechars/comp/NativeNumbers.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:true --verify-included-files // Skip JavaScript because JavaScript doesn't have the same native types -include "../../comp/NativeNumbers.dfy" +// RUN: %dafny /compile:0 /verifyAllModules /unicodeChar:1 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" +include "../../comp/NativeNumbers.dfy" \ No newline at end of file diff --git a/Test/unicodechars/comp/NativeNumbers.dfy.expect b/Test/unicodechars/comp/NativeNumbers.dfy.expect index 354d931a151..b0fc6754f84 100644 --- a/Test/unicodechars/comp/NativeNumbers.dfy.expect +++ b/Test/unicodechars/comp/NativeNumbers.dfy.expect @@ -1,3 +1,259 @@ + +Dafny program verifier finished with 25 verified, 0 errors + +Dafny program verifier did not attempt verification +Casting: + +Small numbers: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 +5 5 5 5 5 5 5 5 5 +6 6 6 6 6 6 6 6 6 +7 7 7 7 7 7 7 7 7 +8 8 8 8 8 8 8 8 8 + +Large unsigned numbers: +255 255 255 255 255 255 255 255 +65535 65535 65535 65535 65535 65535 +4294967295 4294967295 4294967295 4294967295 +18446744073709551615 18446744073709551615 + +Int to large unsigned: +255 65535 4294967295 18446744073709551615 + +Cast from cardinality operator: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 + +Characters: +'C' 67 67 67 67 67 67 67 67 67 +0 127 32767 65535 65535 255 65535 65535 65535 + +Defaults: + +0 0 0 0 0 0 0 0 0 + +Byte arithmetic: + +20 30 +10 10 18 + +Short arithmetic: + +20 30 +10 10 18 + +Bitvectors: + +0 3 4 1 + +Comparison to zero: + +int8: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int16: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int32: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int64: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint8: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint16: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint32: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint64: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N + + +Dafny program verifier did not attempt verification +Casting: + +Small numbers: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 +5 5 5 5 5 5 5 5 5 +6 6 6 6 6 6 6 6 6 +7 7 7 7 7 7 7 7 7 +8 8 8 8 8 8 8 8 8 + +Large unsigned numbers: +255 255 255 255 255 255 255 255 +65535 65535 65535 65535 65535 65535 +4294967295 4294967295 4294967295 4294967295 +18446744073709551615 18446744073709551615 + +Int to large unsigned: +255 65535 4294967295 18446744073709551615 + +Cast from cardinality operator: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 + +Characters: +'C' 67 67 67 67 67 67 67 67 67 +0 127 32767 65535 65535 255 65535 65535 65535 + +Defaults: + +0 0 0 0 0 0 0 0 0 + +Byte arithmetic: + +20 30 +10 10 18 + +Short arithmetic: + +20 30 +10 10 18 + +Bitvectors: + +0 3 4 1 + +Comparison to zero: + +int8: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int16: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int32: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int64: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint8: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint16: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint32: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint64: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N + + +Dafny program verifier did not attempt verification +Casting: + +Small numbers: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 +5 5 5 5 5 5 5 5 5 +6 6 6 6 6 6 6 6 6 +7 7 7 7 7 7 7 7 7 +8 8 8 8 8 8 8 8 8 + +Large unsigned numbers: +255 255 255 255 255 255 255 255 +65535 65535 65535 65535 65535 65535 +4294967295 4294967295 4294967295 4294967295 +18446744073709551615 18446744073709551615 + +Int to large unsigned: +255 65535 4294967295 18446744073709551615 + +Cast from cardinality operator: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 + +Characters: +'C' 67 67 67 67 67 67 67 67 67 +0 127 32767 65535 65535 255 65535 65535 65535 + +Defaults: + +0 0 0 0 0 0 0 0 0 + +Byte arithmetic: + +20 30 +10 10 18 + +Short arithmetic: + +20 30 +10 10 18 + +Bitvectors: + +0 3 4 1 + +Comparison to zero: + +int8: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int16: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int32: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int64: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint8: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint16: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint32: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint64: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N + + +Dafny program verifier did not attempt verification Casting: Small numbers: diff --git a/Test/unicodechars/comp/Numbers.dfy b/Test/unicodechars/comp/Numbers.dfy index e5e36180234..2c9170fe4d7 100644 --- a/Test/unicodechars/comp/Numbers.dfy +++ b/Test/unicodechars/comp/Numbers.dfy @@ -1,3 +1,8 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:true --verify-included-files -include "../../comp/Numbers.dfy" +// RUN: %dafny /compile:0 /verifyAllModules /unicodeChar:1 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" +include "../../comp/Numbers.dfy" \ No newline at end of file diff --git a/Test/unicodechars/comp/Numbers.dfy.expect b/Test/unicodechars/comp/Numbers.dfy.expect index cce193e1cce..6fa2f59f340 100644 --- a/Test/unicodechars/comp/Numbers.dfy.expect +++ b/Test/unicodechars/comp/Numbers.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 59 verified, 0 errors + +Dafny program verifier did not attempt verification 0 0 3 @@ -109,3 +113,455 @@ true false true false false true false true true false true false 20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +'g' 'Q' '2' +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +(312.0 / 40.0) (1248.0 / 40.0) +(-312.0 / 40.0) (-1248.0 / 40.0) +(-312.0 / 40.0) (1248.0 / 40.0) +(312.0 / 40.0) (-1248.0 / 40.0) +0.0 0.0 0.0 +120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) +123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 (8100.0 / 8100.0) +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +'g' 'Q' '2' +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +'g' 'Q' '2' +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +(312.0 / 40.0) (1248.0 / 40.0) +(-312.0 / 40.0) (-1248.0 / 40.0) +(-312.0 / 40.0) (1248.0 / 40.0) +(312.0 / 40.0) (-1248.0 / 40.0) +0.0 0.0 0.0 +120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) +123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 (8100.0 / 8100.0) +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +'g' 'Q' '2' +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 diff --git a/Test/unicodechars/comp/Numbers.dfy.go.expect b/Test/unicodechars/comp/Numbers.dfy.go.expect deleted file mode 100644 index 95d8ac259c7..00000000000 --- a/Test/unicodechars/comp/Numbers.dfy.go.expect +++ /dev/null @@ -1,111 +0,0 @@ -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -'g' 'Q' '2' -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 diff --git a/Test/unicodechars/comp/Numbers.dfy.py.expect b/Test/unicodechars/comp/Numbers.dfy.py.expect deleted file mode 100644 index 95d8ac259c7..00000000000 --- a/Test/unicodechars/comp/Numbers.dfy.py.expect +++ /dev/null @@ -1,111 +0,0 @@ -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -'g' 'Q' '2' -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 From 5802460fe8a9258a07e526fe49dc5994128ff573 Mon Sep 17 00:00:00 2001 From: Robin Salkeld Date: Thu, 8 Jun 2023 09:59:36 -0700 Subject: [PATCH 34/68] Another batch --- .../Compilers/Cplusplus/Compiler-cpp.cs | 2 +- Test/comp/NestedArrays.dfy.java.check | 4 +- Test/dafny0/Bitvectors.dfy | 3 + Test/dafny0/Bitvectors.dfy.java.expect | 88 +++++++++++++++++++ Test/dafny0/NameclashesCompile.dfy.java.check | 2 + Test/dafny0/TypeConversionsCompile.dfy | 3 + .../TypeConversionsCompile.dfy.java.expect | 38 ++++++++ Test/git-issues/git-issue-1105.dfy.go.expect | 1 + Test/git-issues/git-issue-1105.dfy.js.expect | 1 + Test/git-issues/git-issue-1105.dfy.py.expect | 1 + .../comp/NativeNumbers.dfy.js.check | 1 + 11 files changed, 141 insertions(+), 3 deletions(-) create mode 100644 Test/dafny0/Bitvectors.dfy.java.expect create mode 100644 Test/dafny0/NameclashesCompile.dfy.java.check create mode 100644 Test/dafny0/TypeConversionsCompile.dfy.java.expect create mode 100644 Test/git-issues/git-issue-1105.dfy.go.expect create mode 100644 Test/git-issues/git-issue-1105.dfy.js.expect create mode 100644 Test/git-issues/git-issue-1105.dfy.py.expect create mode 100644 Test/unicodechars/comp/NativeNumbers.dfy.js.check diff --git a/Source/DafnyCore/Compilers/Cplusplus/Compiler-cpp.cs b/Source/DafnyCore/Compilers/Cplusplus/Compiler-cpp.cs index c850acce307..5fd74eb3296 100644 --- a/Source/DafnyCore/Compilers/Cplusplus/Compiler-cpp.cs +++ b/Source/DafnyCore/Compilers/Cplusplus/Compiler-cpp.cs @@ -270,7 +270,7 @@ protected override IClassWriter CreateClass(string moduleName, string name, bool protected override IClassWriter CreateTrait(string name, bool isExtern, List typeParameters /*?*/, TopLevelDecl trait, List superClasses /*?*/, IToken tok, ConcreteSyntaxTree wr) { - throw new UnsupportedFeatureException(tok, Feature.Traits, String.Format("traits in class {0}", name)); + throw new UnsupportedFeatureException(tok, Feature.Traits); } protected override ConcreteSyntaxTree CreateIterator(IteratorDecl iter, ConcreteSyntaxTree wr) { diff --git a/Test/comp/NestedArrays.dfy.java.check b/Test/comp/NestedArrays.dfy.java.check index bbd77f670dd..f788a324b52 100644 --- a/Test/comp/NestedArrays.dfy.java.check +++ b/Test/comp/NestedArrays.dfy.java.check @@ -1,2 +1,2 @@ -// https://github.com/dafny-lang/dafny/issues/4126 -// CHECK: error: incompatible types: Object[] cannot be converted to boolean[][] +// https://github.com/dafny-lang/dafny/issues/3055 +// CHECK: error: incompatible types: Object\[\] cannot be converted to boolean\[\]\[\] diff --git a/Test/dafny0/Bitvectors.dfy b/Test/dafny0/Bitvectors.dfy index 320408e5772..6e0c9270b99 100644 --- a/Test/dafny0/Bitvectors.dfy +++ b/Test/dafny0/Bitvectors.dfy @@ -3,6 +3,9 @@ // RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" // RUN: %diff "%s.expect" "%t" +// Note the difference in Java output is due to +// https://github.com/dafny-lang/dafny/issues/4152 + method M(a: bv1, b: bv32) returns (c: bv32, d: bv1) { c := b; diff --git a/Test/dafny0/Bitvectors.dfy.java.expect b/Test/dafny0/Bitvectors.dfy.java.expect new file mode 100644 index 00000000000..624f1660248 --- /dev/null +++ b/Test/dafny0/Bitvectors.dfy.java.expect @@ -0,0 +1,88 @@ +4000 4000 4000 0 +1 2053 1099 +185 55 +2 4 +Comparisons: true true false false +bv16: 5 - 2 == 3 +bv16: 1 - 2 == 65535 +3 2 +0 0 +false true true false +bv67: 147573952589676412927 + 3 == 2 - 3 == 147573952589676412925 !! 3 == ! 147573952589676412924 == 3 +bv64: 18446744073709551615 + 3 == 2 - 3 == 18446744073709551613 !! 3 == ! 18446744073709551612 == 3 +bv53: 9007199254740991 + 3 == 2 - 3 == 9007199254740989 !! 3 == ! 9007199254740988 == 3 +bv33: 8589934591 + 3 == 2 - 3 == 8589934589 !! 3 == ! 8589934588 == 3 +bv32: 4294967295 + 3 == 2 - 3 == 4294967293 !! 3 == ! 4294967292 == 3 +bv31: 2147483647 + 3 == 2 - 3 == 2147483645 !! 3 == ! 2147483644 == 3 +bv16: 65535 + 3 == 2 - 3 == 65533 !! 3 == ! 65532 == 3 +bv15: 32767 + 3 == 2 - 3 == 32765 !! 3 == ! 32764 == 3 +bv8: 255 + 3 == 2 - 3 == 253 !! 3 == ! 252 == 3 +bv6: 63 + 3 == 2 - 3 == 61 !! 3 == ! 60 == 3 +bv1: 1 + 1 == 0 - 1 == 1 !! 1 == ! 0 == 1 +bv0: 0 + 0 == 0 - 0 == 0 !! 0 == ! 0 == 0 +bv2: + 3 + 2 == 1 + 3 - 2 == 1 + 3 * 2 == 2 + 3 / 2 == 1 + 3 % 2 == 1 +PrintShifts: bv67: 5 40 40 40 +PrintShifts: bv32: 5 40 40 40 +PrintShifts: bv7: 5 40 40 40 +PrintShifts: bv2: 1 2 2 2 +PrintShifts: bv0: 0 0 0 0 +PrintShifts: bv67 again: 2 2 2 73786976294838206465 +PrintShifts: bv32 again: 8000 8000 -2147479648 -1073739824 +PrintShifts: bv7 again: 124 124 124 127 +PrintShifts: bv0 again: 0 0 0 0 +PrintRotates: bv12: 5 5 +PrintRotates: bv7: 5 5 +PrintRotates: bv2: 1 1 +PrintRotates: bv0: 0 0 +PrintRotates: bv12 again: 976 976 +PrintRotates: bv7 again: 127 127 + +Dafny program verifier did not attempt verification +4000 4000 4000 0 +1 2053 1099 +185 55 +2 4 +Comparisons: true true false false +bv16: 5 - 2 == 3 +bv16: 1 - 2 == 65535 +3 2 +0 0 +false true true false +bv67: 147573952589676412927 + 3 == 2 - 3 == 147573952589676412925 !! 3 == ! 147573952589676412924 == 3 +bv64: 18446744073709551615 + 3 == 2 - 3 == 18446744073709551613 !! 3 == ! 18446744073709551612 == 3 +bv53: 9007199254740991 + 3 == 2 - 3 == 9007199254740989 !! 3 == ! 9007199254740988 == 3 +bv33: 8589934591 + 3 == 2 - 3 == 8589934589 !! 3 == ! 8589934588 == 3 +bv32: 4294967295 + 3 == 2 - 3 == 4294967293 !! 3 == ! 4294967292 == 3 +bv31: 2147483647 + 3 == 2 - 3 == 2147483645 !! 3 == ! 2147483644 == 3 +bv16: 65535 + 3 == 2 - 3 == 65533 !! 3 == ! 65532 == 3 +bv15: 32767 + 3 == 2 - 3 == 32765 !! 3 == ! 32764 == 3 +bv8: 255 + 3 == 2 - 3 == 253 !! 3 == ! 252 == 3 +bv6: 63 + 3 == 2 - 3 == 61 !! 3 == ! 60 == 3 +bv1: 1 + 1 == 0 - 1 == 1 !! 1 == ! 0 == 1 +bv0: 0 + 0 == 0 - 0 == 0 !! 0 == ! 0 == 0 +bv2: + 3 + 2 == 1 + 3 - 2 == 1 + 3 * 2 == 2 + 3 / 2 == 1 + 3 % 2 == 1 +PrintShifts: bv67: 5 40 40 40 +PrintShifts: bv32: 5 40 40 40 +PrintShifts: bv7: 5 40 40 40 +PrintShifts: bv2: 1 2 2 2 +PrintShifts: bv0: 0 0 0 0 +PrintShifts: bv67 again: 2 2 2 73786976294838206465 +PrintShifts: bv32 again: 8000 8000 2147487648 3221227472 +PrintShifts: bv7 again: 124 124 124 127 +PrintShifts: bv0 again: 0 0 0 0 +PrintRotates: bv12: 5 5 +PrintRotates: bv7: 5 5 +PrintRotates: bv2: 1 1 +PrintRotates: bv0: 0 0 +PrintRotates: bv12 again: 976 976 +PrintRotates: bv7 again: 127 127 diff --git a/Test/dafny0/NameclashesCompile.dfy.java.check b/Test/dafny0/NameclashesCompile.dfy.java.check new file mode 100644 index 00000000000..a86bf95eb1c --- /dev/null +++ b/Test/dafny0/NameclashesCompile.dfy.java.check @@ -0,0 +1,2 @@ +// https://github.com/dafny-lang/dafny/issues/4153 +// CHECK: method Get\(\) is already defined in class NameclashCo diff --git a/Test/dafny0/TypeConversionsCompile.dfy b/Test/dafny0/TypeConversionsCompile.dfy index 2af24a392ca..90075fb74a8 100644 --- a/Test/dafny0/TypeConversionsCompile.dfy +++ b/Test/dafny0/TypeConversionsCompile.dfy @@ -1,6 +1,9 @@ // RUN: %dafny /compile:3 /print:"%t.print" /env:0 "%s" > "%t" // RUN: %diff "%s.expect" "%t" +// Note the difference in output in Java's case is due to +// https://github.com/dafny-lang/dafny/issues/4152 + newtype Handful = x | 0 <= x < 0x8000 // this type turns native newtype Abundance = y | -20 <= y < 0x200_0000_0000 // still fits inside a "long" newtype int64 = y | -0x8000_0000_0000_0000 <= y < 0x8000_0000_0000_0000 // exactly a "long" diff --git a/Test/dafny0/TypeConversionsCompile.dfy.java.expect b/Test/dafny0/TypeConversionsCompile.dfy.java.expect new file mode 100644 index 00000000000..7b30c73f066 --- /dev/null +++ b/Test/dafny0/TypeConversionsCompile.dfy.java.expect @@ -0,0 +1,38 @@ +3 4 5.0 5 6 -1.0 147573952589676412927 4294967295 127 0 +got 3, expected 3 +got 0, expected 0 +got 5, expected 5 +got 10, expected 10 +got 3.0, expected 3.0 +got 6.0, expected 6.0 +got 2, expected 2 +got 0, expected 0 +got 0.0, expected 0.0 +got -1.0, expected 4294967295.0 +got 127.0, expected 127.0 +got 0, expected 0 +got 0, expected 0 +got 127, expected 127 +got 127, expected 127 +got 5, expected 5 +got 5, expected 5 +got 4294967295, expected 4294967295 +got 5, expected 5 +got 0, expected 0 +got 5, expected 5 +got 5, expected 5 +got 5, expected 5 +got 5, expected 5 +got 0, expected 0 +got 0, expected 0 +got 127, expected 127 +got 127, expected 127 +got 5.0, expected 5.0 +got 14, expected 14 +120 -1 4 8589934592 6345789 -9223372036854775808 +4 4 4 4 +68 68 68 68 +Something about ORDINAL: 143 143 143 147 43 +ORDINAL and bitvectors: 20 20 +false 143 true +true 0 true diff --git a/Test/git-issues/git-issue-1105.dfy.go.expect b/Test/git-issues/git-issue-1105.dfy.go.expect new file mode 100644 index 00000000000..8a456c6a3b2 --- /dev/null +++ b/Test/git-issues/git-issue-1105.dfy.go.expect @@ -0,0 +1 @@ +Op.PushOp diff --git a/Test/git-issues/git-issue-1105.dfy.js.expect b/Test/git-issues/git-issue-1105.dfy.js.expect new file mode 100644 index 00000000000..8a456c6a3b2 --- /dev/null +++ b/Test/git-issues/git-issue-1105.dfy.js.expect @@ -0,0 +1 @@ +Op.PushOp diff --git a/Test/git-issues/git-issue-1105.dfy.py.expect b/Test/git-issues/git-issue-1105.dfy.py.expect new file mode 100644 index 00000000000..8a456c6a3b2 --- /dev/null +++ b/Test/git-issues/git-issue-1105.dfy.py.expect @@ -0,0 +1 @@ +Op.PushOp diff --git a/Test/unicodechars/comp/NativeNumbers.dfy.js.check b/Test/unicodechars/comp/NativeNumbers.dfy.js.check new file mode 100644 index 00000000000..79bd3f69344 --- /dev/null +++ b/Test/unicodechars/comp/NativeNumbers.dfy.js.check @@ -0,0 +1 @@ +// CHECK: Error: None of the types given in :nativeType arguments is supported by the current compilation target. Try supplying others. From 7e80a1e5090432a8db53e42917a0e0268359a4d1 Mon Sep 17 00:00:00 2001 From: Robin Salkeld Date: Thu, 8 Jun 2023 10:50:32 -0700 Subject: [PATCH 35/68] Fix bad merge --- .../XUnitExtensions/Lit/LitCommandWithRedirection.cs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Source/XUnitExtensions/Lit/LitCommandWithRedirection.cs b/Source/XUnitExtensions/Lit/LitCommandWithRedirection.cs index f12b19e289f..34d45640333 100644 --- a/Source/XUnitExtensions/Lit/LitCommandWithRedirection.cs +++ b/Source/XUnitExtensions/Lit/LitCommandWithRedirection.cs @@ -81,16 +81,16 @@ public LitCommandWithRedirection(ILitCommand command, string? inputFile, string? public (int, string, string) Execute(TextReader inputReader, TextWriter outWriter, TextWriter errWriter) { var outputWriters = new List { outWriter }; - if (outputFile != null) { - outputWriters.Add(new StreamWriter(outputFile, append)); + if (OutputFile != null) { + outputWriters.Add(new StreamWriter(OutputFile, Append)); } - inputReader = inputFile != null ? new StreamReader(inputFile) : inputReader; + inputReader = InputFile != null ? new StreamReader(InputFile) : inputReader; var errorWriters = new List { errWriter }; - if (errorFile != null) { - errorWriters.Add(new StreamWriter(errorFile, append)); + if (ErrorFile != null) { + errorWriters.Add(new StreamWriter(ErrorFile, Append)); } - var result = command.Execute(inputReader, + var result = Command.Execute(inputReader, new CombinedWriter(outWriter.Encoding, outputWriters), new CombinedWriter(errWriter.Encoding, errorWriters)); inputReader.Close(); From c401ebb66eb7a6206a33bd4592cafeefed251760 Mon Sep 17 00:00:00 2001 From: Robin Salkeld Date: Fri, 9 Jun 2023 09:17:03 -0700 Subject: [PATCH 36/68] Fixing line numbers/warnings on manually edited tests --- Test/dafny0/DividedConstructors.dfy.expect | 1 + Test/dafny0/PrintEffects.dfy.expect | 28 +++++++++++----------- Test/git-issues/git-issue-MainE.dfy.expect | 6 ++--- 3 files changed, 18 insertions(+), 17 deletions(-) diff --git a/Test/dafny0/DividedConstructors.dfy.expect b/Test/dafny0/DividedConstructors.dfy.expect index d46c6a37312..eaa3ed7d379 100644 --- a/Test/dafny0/DividedConstructors.dfy.expect +++ b/Test/dafny0/DividedConstructors.dfy.expect @@ -1,3 +1,4 @@ +DividedConstructors.dfy(62,9): Warning: the ... refinement feature in statements is deprecated Dafny program verifier finished with 17 verified, 0 errors 37, 17, 3.14 diff --git a/Test/dafny0/PrintEffects.dfy.expect b/Test/dafny0/PrintEffects.dfy.expect index f5776cb8cf6..fbfef807e04 100644 --- a/Test/dafny0/PrintEffects.dfy.expect +++ b/Test/dafny0/PrintEffects.dfy.expect @@ -17,18 +17,18 @@ Start of Iter 0 Start of Iter 1 Cl.NoPrint ctor Cl.Print ctor -PrintEffects.dfy(53,2): Error: to use a print statement, the enclosing iterator must be marked with {:print} -PrintEffects.dfy(55,2): Error: to use a print statement, the enclosing iterator must be marked with {:print} -PrintEffects.dfy(67,4): Error: to use a print statement, the enclosing constructor must be marked with {:print} -PrintEffects.dfy(81,4): Error: to use a print statement, the enclosing method must be marked with {:print} -PrintEffects.dfy(6,2): Error: to use a print statement, the enclosing method must be marked with {:print} -PrintEffects.dfy(7,3): Error: to call a method with print effects, the enclosing method must be marked with {:print} -PrintEffects.dfy(11,25): Error: to call a method with print effects, the enclosing method must be marked with {:print} -PrintEffects.dfy(13,20): Error: to call a method with print effects, the enclosing method must be marked with {:print} -PrintEffects.dfy(36,29): Error: to call a method with print effects, the enclosing method must be marked with {:print} -PrintEffects.dfy(41,2): Error: to use a print statement, the enclosing method must be marked with {:print} -PrintEffects.dfy(47,2): Error: a function-by-method is not allowed to use print statements -PrintEffects.dfy(102,12): Error: to call a method with print effects, the enclosing method must be marked with {:print} -PrintEffects.dfy(103,16): Error: to call a method with print effects, the enclosing method must be marked with {:print} -PrintEffects.dfy(106,16): Error: to call a method with print effects, the enclosing method must be marked with {:print} +PrintEffects.dfy(54,2): Error: to use a print statement, the enclosing iterator must be marked with {:print} +PrintEffects.dfy(56,2): Error: to use a print statement, the enclosing iterator must be marked with {:print} +PrintEffects.dfy(68,4): Error: to use a print statement, the enclosing constructor must be marked with {:print} +PrintEffects.dfy(82,4): Error: to use a print statement, the enclosing method must be marked with {:print} +PrintEffects.dfy(7,2): Error: to use a print statement, the enclosing method must be marked with {:print} +PrintEffects.dfy(8,3): Error: to call a method with print effects, the enclosing method must be marked with {:print} +PrintEffects.dfy(12,25): Error: to call a method with print effects, the enclosing method must be marked with {:print} +PrintEffects.dfy(14,20): Error: to call a method with print effects, the enclosing method must be marked with {:print} +PrintEffects.dfy(37,29): Error: to call a method with print effects, the enclosing method must be marked with {:print} +PrintEffects.dfy(42,2): Error: to use a print statement, the enclosing method must be marked with {:print} +PrintEffects.dfy(48,2): Error: a function-by-method is not allowed to use print statements +PrintEffects.dfy(103,12): Error: to call a method with print effects, the enclosing method must be marked with {:print} +PrintEffects.dfy(104,16): Error: to call a method with print effects, the enclosing method must be marked with {:print} +PrintEffects.dfy(107,16): Error: to call a method with print effects, the enclosing method must be marked with {:print} 14 resolution/type errors detected in PrintEffects.dfy diff --git a/Test/git-issues/git-issue-MainE.dfy.expect b/Test/git-issues/git-issue-MainE.dfy.expect index f16901f0421..fc59785f193 100644 --- a/Test/git-issues/git-issue-MainE.dfy.expect +++ b/Test/git-issues/git-issue-MainE.dfy.expect @@ -2,16 +2,16 @@ Dafny program verifier finished with 1 verified, 0 errors Dafny program verifier did not attempt verification -git-issue-MainE.dfy(20,9): Error: The method 'A.Test' is not permitted as a main method (the method's non-ghost argument type should be an seq, got int). +git-issue-MainE.dfy(21,9): Error: The method 'A.Test' is not permitted as a main method (the method's non-ghost argument type should be an seq, got int). Dafny program verifier did not attempt verification -git-issue-MainE.dfy(23,9): Error: The method 'B.Test' is not permitted as a main method (the method has type parameters). +git-issue-MainE.dfy(24,9): Error: The method 'B.Test' is not permitted as a main method (the method has type parameters). Dafny program verifier did not attempt verification OK-C Dafny program verifier did not attempt verification -git-issue-MainE.dfy(30,9): Error: The method 'D.Test' is not permitted as a main method (the method is not static and the enclosing class has constructors). +git-issue-MainE.dfy(31,9): Error: The method 'D.Test' is not permitted as a main method (the method is not static and the enclosing class has constructors). Dafny program verifier did not attempt verification OK-E From 13ae819a8453ca89f866acc2034584048e10fd73 Mon Sep 17 00:00:00 2001 From: Robin Salkeld Date: Fri, 9 Jun 2023 09:47:08 -0700 Subject: [PATCH 37/68] =?UTF-8?q?Partial=20fix=20to=20using=20=E2=80=94pri?= =?UTF-8?q?nt=20and=20--rprint=20together?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Source/DafnyCore/AST/Grammar/Printer.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/DafnyCore/AST/Grammar/Printer.cs b/Source/DafnyCore/AST/Grammar/Printer.cs index 8cf2ec19b15..12cf975dc8b 100644 --- a/Source/DafnyCore/AST/Grammar/Printer.cs +++ b/Source/DafnyCore/AST/Grammar/Printer.cs @@ -339,7 +339,7 @@ public void PrintTopLevelDecls(Program program, IEnumerable decls, wr.WriteLine(); } - if (options.DafnyPrintResolvedFile != null) { + if (afterResolver) { // also print the members that were created as part of the interpretation of the iterator Contract.Assert(iter.Members.Count != 0); // filled in during resolution Indent(indent); wr.WriteLine("/*---------- iterator members ----------"); From b171628273e8c0009ede3dde461fc9be1da333b4 Mon Sep 17 00:00:00 2001 From: Robin Salkeld Date: Fri, 9 Jun 2023 10:22:33 -0700 Subject: [PATCH 38/68] Improve environment variable names --- Source/IntegrationTests/LitTests.cs | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/Source/IntegrationTests/LitTests.cs b/Source/IntegrationTests/LitTests.cs index c4ce1d7b4e4..fb89a1b18e2 100644 --- a/Source/IntegrationTests/LitTests.cs +++ b/Source/IntegrationTests/LitTests.cs @@ -47,7 +47,7 @@ static LitTests() { // Set this to true in order to debug the execution of commands like %dafny. // This is false by default because the main dafny CLI implementation currently has shared static state, which // causes errors when invoking the CLI in the same process on multiple inputs in sequence, much less in parallel. - InvokeMainMethodsDirectly = Environment.GetEnvironmentVariable("DAFNY_INTEGRATION_TEST_IN_PROCESS") == "true"; + InvokeMainMethodsDirectly = Environment.GetEnvironmentVariable("DAFNY_INTEGRATION_TESTS_IN_PROCESS") == "true"; // Allow extra arguments to Dafny subprocesses. This can be especially // useful for capturing prover logs. @@ -191,15 +191,15 @@ public LitTests(ITestOutputHelper output) { })] public void LitTest(string path) { var testPath = path.Replace("TestFiles/LitTests/LitTest", ""); - var uniformTestingMode = Environment.GetEnvironmentVariable("DAFNY_UNIFORM_BACKEND_TESTING_MODE"); - switch (uniformTestingMode) { - case "convert": + var mode = Environment.GetEnvironmentVariable("DAFNY_INTEGRATION_TESTS_MODE"); + switch (mode) { + case "uniform-convert": // Need to convert the original source path, // not the copy in the output directory of this project. - var sourcePath = Path.Join(Environment.GetEnvironmentVariable("DAFNY_INTEGRATION_TEST_DIR"), testPath); + var sourcePath = Path.Join(Environment.GetEnvironmentVariable("DAFNY_INTEGRATION_TESTS_ROOT_DIR"), testPath); ConvertToMultiBackendTestIfNecessary(sourcePath); return; - case "check": + case "uniform-check": var testCase = LitTestCase.Read(path, Config); if (NeedsConverting(testCase)) { Assert.Fail($"Non-uniform test case: {testPath}\nConvert to using %testDafnyForEachCompiler or add a '// NON-UNIFORM ' command"); @@ -210,7 +210,7 @@ public void LitTest(string path) { break; default: throw new ArgumentException( - $"Unrecognized value of DAFNY_UNIFORM_BACKEND_TESTING_MODE environment variable: {uniformTestingMode}"); + $"Unrecognized value of DAFNY_INTEGRATION_TESTS_MODE environment variable: {uniformTestingMode}"); } } @@ -272,7 +272,7 @@ bool IgnoreArgument(string arg, string testFilePath) { if (arg.StartsWith("--target") || arg.StartsWith("-t:") || arg.StartsWith("-t=")) { return true; } - // TODO: keep these (by always using them in MultiBackendTest) + // MultiBackendTest always adds all three of these to temporary files. if (arg.StartsWith("/print") || arg.StartsWith("/dprint") || arg.StartsWith("/rprint")) { return true; } @@ -424,7 +424,7 @@ bool IgnoreArgument(string arg, string testFilePath) { }; newLines.AddRange(testFileLines.Where(line => ILitCommand.Parse(line, Config) == null)); if (exceptions) { - // This is by far the most common source of inconsistent output. + // This is currently the most common source of inconsistent output by far. newLines.Insert(0, "// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108"); } @@ -470,7 +470,6 @@ private static ILitCommand GetLeafCommand(ILitCommand command) { } private static string? GetBackendFromCommand(IEnumerable arguments) { - if (arguments.Any(arg => arg is "/compile:0" or "verify")) { return null; } From d92b698cac4ccb1b10309360faf04e8e2d9d22a9 Mon Sep 17 00:00:00 2001 From: Robin Salkeld Date: Fri, 9 Jun 2023 10:27:21 -0700 Subject: [PATCH 39/68] Whitespace --- Source/IntegrationTests/LitTests.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Source/IntegrationTests/LitTests.cs b/Source/IntegrationTests/LitTests.cs index fb89a1b18e2..1a23c678d6d 100644 --- a/Source/IntegrationTests/LitTests.cs +++ b/Source/IntegrationTests/LitTests.cs @@ -362,7 +362,7 @@ bool IgnoreArgument(string arg, string testFilePath) { // Need to adjust the line numbers of any warnings or errors // since we're replacing many individual RUN lines with one :P var adjustedVerifierChunk = AdjustLineNumbers(verifierChunk, 1 - testCase.Commands.Count()); - + File.WriteAllText(verifierExpectPath, adjustedVerifierChunk); } @@ -441,7 +441,7 @@ private static string AdjustLineNumbers(string messages, int delta) { ); return string.Join("", adjusted); } - + private static ILitCommand GetLeafCommand(ILitCommand command) { if (command is LitCommandWithRedirection lcwr) { return GetLeafCommand(lcwr.Command); From 44cba87b8d49345e1ae9b6af19bb5bad123700ee Mon Sep 17 00:00:00 2001 From: Robin Salkeld Date: Fri, 9 Jun 2023 10:29:38 -0700 Subject: [PATCH 40/68] Convert all tests --- Test/VerifyThis2015/Problem1.dfy | 3 +- Test/VerifyThis2015/Problem1.dfy.expect | 2 - Test/VerifyThis2015/Problem2.dfy | 3 +- Test/VerifyThis2015/Problem2.dfy.expect | 2 - Test/VerifyThis2015/Problem3.dfy | 3 +- Test/VerifyThis2015/Problem3.dfy.expect | 2 - Test/c++/arrays.dfy | 3 +- Test/c++/arrays.dfy.expect | 2 - Test/c++/bit-vectors.dfy | 3 +- Test/c++/bit-vectors.dfy.expect | 2 - Test/c++/class.dfy | 3 +- Test/c++/class.dfy.expect | 2 - Test/c++/const.dfy | 3 +- Test/c++/const.dfy.expect | 2 - Test/c++/datatypes.dfy | 3 +- Test/c++/datatypes.dfy.expect | 2 - Test/c++/generic.dfy | 3 +- Test/c++/generic.dfy.expect | 2 - Test/c++/hello.dfy | 3 +- Test/c++/hello.dfy.expect | 2 - Test/c++/ints.dfy | 3 +- Test/c++/ints.dfy.expect | 2 - Test/c++/maps.dfy | 3 +- Test/c++/maps.dfy.expect | 2 - Test/c++/recursion.dfy | 3 +- Test/c++/recursion.dfy.expect | 2 - Test/c++/returns.dfy | 3 +- Test/c++/returns.dfy.expect | 2 - Test/c++/seqs.dfy | 3 +- Test/c++/seqs.dfy.expect | 2 - Test/c++/sets.dfy | 3 +- Test/c++/sets.dfy.expect | 2 - Test/c++/while.dfy | 3 +- Test/c++/while.dfy.expect | 2 - Test/comp/Arrays.dfy | 9 +- Test/comp/Arrays.dfy.expect | 396 ------------ Test/comp/Arrays.dfy.go.expect | 96 +++ Test/comp/AsIs-Compile.dfy | 8 +- Test/comp/AsIs-Compile.dfy.expect | 160 ----- Test/comp/AutoInit.dfy | 8 +- Test/comp/AutoInit.dfy.expect | 160 ----- Test/comp/ByMethodCompilation.dfy | 8 +- Test/comp/ByMethodCompilation.dfy.expect | 32 - Test/comp/Calls.dfy | 8 +- Test/comp/Calls.dfy.expect | 40 -- Test/comp/Class.dfy | 8 +- Test/comp/Class.dfy.expect | 72 --- Test/comp/Collections.dfy | 9 +- Test/comp/Collections.dfy.expect | 512 ---------------- Test/comp/Collections.dfy.go.expect | 125 ++++ Test/comp/Collections.dfy.java.expect | 125 ++++ Test/comp/Collections.dfy.js.expect | 125 ++++ Test/comp/Collections.dfy.py.expect | 125 ++++ Test/comp/Comprehensions.dfy | 9 +- Test/comp/Comprehensions.dfy.expect | 260 -------- Test/comp/Comprehensions.dfy.py.expect | 62 ++ Test/comp/ComprehensionsNewSyntax.dfy | 9 +- Test/comp/ComprehensionsNewSyntax.dfy.expect | 148 ----- .../ComprehensionsNewSyntax.dfy.py.expect | 34 ++ Test/comp/CovariantCollections.dfy | 8 +- Test/comp/CovariantCollections.dfy.expect | 220 ------- Test/comp/Datatype.dfy | 9 +- Test/comp/Datatype.dfy.expect | 100 --- Test/comp/Datatype.dfy.java.expect | 22 + Test/comp/Datatype.dfy.py.expect | 22 + Test/comp/DefaultParameters-Compile.dfy | 8 +- .../comp/DefaultParameters-Compile.dfy.expect | 48 -- Test/comp/DowncastClone.dfy | 8 +- Test/comp/DowncastClone.dfy.expect | 40 -- Test/comp/ErasableTypeWrappers.dfy | 8 +- Test/comp/ErasableTypeWrappers.dfy.expect | 84 --- Test/comp/EuclideanDivision.dfy | 8 +- Test/comp/EuclideanDivision.dfy.expect | 36 -- Test/comp/ForLoops-Compilation.dfy | 8 +- Test/comp/ForLoops-Compilation.dfy.expect | 200 ------ Test/comp/ForallNewSyntax.dfy | 8 +- Test/comp/ForallNewSyntax.dfy.expect | 180 ------ Test/comp/Ghosts.dfy | 8 +- Test/comp/Ghosts.dfy.expect | 52 -- Test/comp/Let.dfy | 7 +- Test/comp/Let.dfy.expect | 34 -- Test/comp/MoreAutoInit.dfy | 8 +- Test/comp/MoreAutoInit.dfy.expect | 572 ------------------ Test/comp/NativeNumbers.dfy | 7 +- Test/comp/NativeNumbers.dfy.expect | 256 -------- Test/comp/NestedArrays.dfy | 7 +- Test/comp/NestedArrays.dfy.expect | 16 - Test/comp/Numbers.dfy | 9 +- Test/comp/Numbers.dfy.expect | 456 -------------- Test/comp/Numbers.dfy.go.expect | 111 ++++ Test/comp/Numbers.dfy.py.expect | 111 ++++ Test/comp/Poly.dfy | 9 +- Test/comp/Poly.dfy.expect | 60 -- Test/comp/Poly.dfy.go.expect | 12 + Test/comp/Poly.dfy.py.expect | 12 + Test/comp/Print.dfy | 8 +- Test/comp/Print.dfy.expect | 34 -- Test/comp/Print.dfy.go.expect | 8 + Test/comp/Print.dfy.java.expect | 8 + Test/comp/Print.dfy.js.expect | 8 + Test/comp/StaticMembersOfGenericTypes.dfy | 8 +- .../StaticMembersOfGenericTypes.dfy.expect | 76 --- Test/comp/TailRecursion.dfy | 8 +- Test/comp/TailRecursion.dfy.expect | 76 --- Test/comp/TypeDescriptors.dfy | 8 +- Test/comp/TypeDescriptors.dfy.expect | 152 ----- Test/comp/TypeParams.dfy | 11 +- Test/comp/TypeParams.dfy.expect | 88 --- Test/comp/TypeParams.dfy.go.expect | 19 + Test/comp/TypeParams.dfy.java.expect | 19 + Test/comp/TypeParams.dfy.js.expect | 19 + Test/comp/TypeParams.dfy.py.expect | 19 + Test/comp/UnoptimizedErasableTypeWrappers.dfy | 8 +- ...UnoptimizedErasableTypeWrappers.dfy.expect | 28 - Test/comp/Variance.dfy | 8 +- Test/comp/Variance.dfy.expect | 64 -- Test/comp/Various.dfy | 8 +- Test/comp/Various.dfy.expect | 40 -- Test/comp/firstSteps/0_IKnowThisMuchIs.dfy | 4 +- .../firstSteps/0_IKnowThisMuchIs.dfy.expect | 4 - Test/comp/firstSteps/1_Calls-F.dfy | 4 +- Test/comp/firstSteps/1_Calls-F.dfy.expect | 4 - Test/comp/firstSteps/2_Modules.dfy | 4 +- Test/comp/firstSteps/2_Modules.dfy.expect | 4 - Test/comp/firstSteps/3_Calls-As.dfy | 4 +- Test/comp/firstSteps/3_Calls-As.dfy.expect | 4 - .../4_Calls-FunctionsValues-Class+NT.dfy | 4 +- ..._Calls-FunctionsValues-Class+NT.dfy.expect | 4 - .../firstSteps/5_Calls-FunctionsValues-Dt.dfy | 4 +- .../5_Calls-FunctionsValues-Dt.dfy.expect | 4 - .../firstSteps/6_Calls-VariableCapture.dfy | 4 +- .../6_Calls-VariableCapture.dfy.expect | 4 - Test/comp/firstSteps/7_Arrays.dfy | 4 +- Test/comp/firstSteps/7_Arrays.dfy.expect | 4 - Test/comp/firstSteps/7_Dt_Algebraic.dfy | 6 +- .../firstSteps/7_Dt_Algebraic.dfy.cs.expect | 11 + .../comp/firstSteps/7_Dt_Algebraic.dfy.expect | 17 - Test/dafny0/ArrayElementInitCompile.dfy | 8 +- .../dafny0/ArrayElementInitCompile.dfy.expect | 76 --- Test/dafny0/Bitvectors.dfy | 5 +- Test/dafny0/Bitvectors.dfy.expect | 49 -- Test/dafny0/Constant.dfy | 3 +- Test/dafny0/Constant.dfy.expect | 2 - Test/dafny0/Deprecation.dfy | 3 +- Test/dafny0/Deprecation.dfy.expect | 7 - Test/dafny0/Deprecation.dfy.verifier.expect | 5 + Test/dafny0/DiscoverBounds.dfy | 3 +- Test/dafny0/DiscoverBounds.dfy.expect | 7 - .../dafny0/DiscoverBounds.dfy.verifier.expect | 5 + Test/dafny0/DividedConstructors.dfy | 3 +- Test/dafny0/DividedConstructors.dfy.expect | 3 - .../DividedConstructors.dfy.verifier.expect | 1 + Test/dafny0/EqualityTypesCompile.dfy | 3 +- Test/dafny0/EqualityTypesCompile.dfy.expect | 2 - Test/dafny0/ForallCompilationNewSyntax.dfy | 3 +- .../ForallCompilationNewSyntax.dfy.expect | 6 - ...llCompilationNewSyntax.dfy.verifier.expect | 4 + Test/dafny0/GhostGuards.dfy | 3 +- Test/dafny0/GhostGuards.dfy.expect | 7 - Test/dafny0/GhostGuards.dfy.verifier.expect | 5 + Test/dafny0/GhostITECompilation.dfy | 8 +- Test/dafny0/GhostITECompilation.dfy.expect | 28 - Test/dafny0/InitialValues.dfy | 3 +- Test/dafny0/InitialValues.dfy.expect | 2 - Test/dafny0/MatchBraces.dfy | 5 +- Test/dafny0/MatchBraces.dfy.expect | 8 - Test/dafny0/MoForallCompilation.dfy | 3 +- Test/dafny0/MoForallCompilation.dfy.expect | 2 - Test/dafny0/NameclashesCompile.dfy | 3 +- Test/dafny0/NameclashesCompile.dfy.expect | 2 - Test/dafny0/NonZeroInitializationCompile.dfy | 7 +- .../NonZeroInitializationCompile.dfy.expect | 73 --- Test/dafny0/NullComparisonWarnings.dfy | 3 +- Test/dafny0/NullComparisonWarnings.dfy.expect | 13 - ...NullComparisonWarnings.dfy.verifier.expect | 11 + Test/dafny0/PrintUTF8.dfy | 3 +- Test/dafny0/PrintUTF8.dfy.expect | 2 - Test/dafny0/RangeCompilation.dfy | 3 +- Test/dafny0/RangeCompilation.dfy.expect | 2 - Test/dafny0/SeqFromArray.dfy | 3 +- Test/dafny0/SeqFromArray.dfy.expect | 2 - Test/dafny0/SharedDestructorsCompile.dfy | 5 +- .../SharedDestructorsCompile.dfy.expect | 17 - Test/dafny0/SiblingImports.dfy | 3 +- Test/dafny0/SiblingImports.dfy.expect | 2 - Test/dafny0/TypeConversionsCompile.dfy | 3 +- Test/dafny0/TypeConversionsCompile.dfy.expect | 2 - Test/dafny0/TypeMembers.dfy | 5 +- Test/dafny0/TypeMembers.dfy.expect | 29 - Test/dafny0/TypeMembers.dfy.verifier.expect | 1 + Test/dafny0/Wellfounded.dfy | 3 +- Test/dafny0/Wellfounded.dfy.expect | 4 - Test/dafny0/Wellfounded.dfy.verifier.expect | 2 + Test/dafny2/MinWindowMax.dfy | 3 +- Test/dafny2/MinWindowMax.dfy.expect | 2 - .../SmallestMissingNumber-functional.dfy | 3 +- ...mallestMissingNumber-functional.dfy.expect | 3 - ...ssingNumber-functional.dfy.verifier.expect | 1 + .../SmallestMissingNumber-imperative.dfy | 3 +- ...mallestMissingNumber-imperative.dfy.expect | 2 - Test/dafny2/StoreAndRetrieve.dfy | 7 +- Test/dafny2/StoreAndRetrieve.dfy.expect | 38 -- .../StoreAndRetrieve.dfy.verifier.expect | 5 + Test/dafny2/Z-BirthdayBook.dfy | 3 +- Test/dafny2/Z-BirthdayBook.dfy.expect | 2 - Test/dafny2/pq-intrinsic-extrinsic.dfy | 5 +- Test/dafny2/pq-intrinsic-extrinsic.dfy.expect | 11 - Test/dafny3/Abstemious.dfy | 3 +- Test/dafny3/Abstemious.dfy.expect | 2 - Test/dafny3/CachedContainer.dfy | 7 +- Test/dafny3/CachedContainer.dfy.expect | 78 --- .../CachedContainer.dfy.verifier.expect | 13 + Test/dafny3/Iter.dfy | 3 +- Test/dafny3/Iter.dfy.expect | 2 - Test/dafny4/Ackermann.dfy | 3 +- Test/dafny4/Ackermann.dfy.expect | 4 - Test/dafny4/Ackermann.dfy.verifier.expect | 2 + Test/dafny4/Bug107.dfy | 3 +- Test/dafny4/Bug107.dfy.expect | 2 - Test/dafny4/Bug108.dfy | 3 +- Test/dafny4/Bug108.dfy.expect | 2 - Test/dafny4/Bug113.dfy | 5 +- Test/dafny4/Bug113.dfy.expect | 2 - Test/dafny4/Bug116.dfy | 3 +- Test/dafny4/Bug116.dfy.expect | 2 - Test/dafny4/Bug140.dfy | 3 +- Test/dafny4/Bug140.dfy.expect | 2 - Test/dafny4/Bug148.dfy | 3 +- Test/dafny4/Bug148.dfy.expect | 2 - Test/dafny4/Bug49.dfy | 3 +- Test/dafny4/Bug49.dfy.expect | 2 - Test/dafny4/Bug60.dfy | 3 +- Test/dafny4/Bug60.dfy.expect | 2 - Test/dafny4/Bug67.dfy | 5 +- Test/dafny4/Bug67.dfy.expect | 2 - Test/dafny4/Bug68.dfy | 5 +- Test/dafny4/Bug68.dfy.expect | 2 - Test/dafny4/Bug89.dfy | 3 +- Test/dafny4/Bug89.dfy.expect | 2 - Test/dafny4/Bug94.dfy | 3 +- Test/dafny4/Bug94.dfy.expect | 2 - Test/dafny4/ClassRefinement.dfy | 7 +- Test/dafny4/ClassRefinement.dfy.expect | 43 -- .../ClassRefinement.dfy.verifier.expect | 6 + Test/dafny4/ExpandedGuardedness.dfy | 3 +- Test/dafny4/ExpandedGuardedness.dfy.expect | 2 - Test/dafny4/FlyingRobots.dfy | 3 +- Test/dafny4/FlyingRobots.dfy.expect | 2 - Test/dafny4/Leq.dfy | 3 +- Test/dafny4/Leq.dfy.expect | 2 - Test/dafny4/McCarthy91.dfy | 3 +- Test/dafny4/McCarthy91.dfy.expect | 2 - Test/dafny4/NatList.dfy | 3 +- Test/dafny4/NatList.dfy.expect | 2 - Test/dafny4/Regression15.dfy | 3 +- Test/dafny4/Regression15.dfy.expect | 2 - Test/dafny4/Regression2.dfy | 3 +- Test/dafny4/Regression2.dfy.expect | 2 - Test/dafny4/Regression3.dfy | 3 +- Test/dafny4/Regression3.dfy.expect | 2 - Test/dafny4/Regression4.dfy | 3 +- Test/dafny4/Regression4.dfy.expect | 2 - Test/dafny4/Regression6.dfy | 3 +- Test/dafny4/Regression6.dfy.expect | 2 - Test/dafny4/Regression7.dfy | 3 +- Test/dafny4/Regression7.dfy.expect | 2 - Test/dafny4/Regression9.dfy | 3 +- Test/dafny4/Regression9.dfy.expect | 2 - Test/dafny4/UnionFind.dfy | 3 +- Test/dafny4/UnionFind.dfy.expect | 2 - Test/dafny4/gcd.dfy | 7 +- Test/dafny4/gcd.dfy.expect | 31 - Test/dafny4/git-issue104.dfy | 8 +- Test/dafny4/git-issue104.dfy.expect | 16 - Test/dafny4/git-issue105.dfy | 3 +- Test/dafny4/git-issue105.dfy.expect | 2 - Test/dafny4/git-issue15.dfy | 3 +- Test/dafny4/git-issue15.dfy.expect | 2 - Test/dafny4/git-issue167.dfy | 3 +- Test/dafny4/git-issue167.dfy.expect | 2 - Test/dafny4/git-issue195.dfy | 3 +- Test/dafny4/git-issue195.dfy.expect | 2 - Test/dafny4/git-issue196.dfy | 3 +- Test/dafny4/git-issue196.dfy.expect | 2 - Test/dafny4/git-issue4.dfy | 3 +- Test/dafny4/git-issue4.dfy.expect | 2 - Test/dafny4/git-issue43.dfy | 3 +- Test/dafny4/git-issue43.dfy.expect | 2 - Test/dafny4/git-issue70.dfy | 3 +- Test/dafny4/git-issue70.dfy.expect | 2 - Test/dafny4/git-issue76.dfy | 5 +- Test/dafny4/git-issue76.dfy.expect | 7 - Test/dafny4/git-issue79.dfy | 3 +- Test/dafny4/git-issue79.dfy.expect | 2 - Test/dafny4/git-issue88.dfy | 3 +- Test/dafny4/git-issue88.dfy.expect | 2 - Test/exceptions/Exceptions1.dfy | 3 +- Test/exceptions/Exceptions1.dfy.expect | 2 - Test/exceptions/Exceptions1Expressions.dfy | 3 +- .../Exceptions1Expressions.dfy.expect | 2 - Test/exports/FIFO.dfy | 3 +- Test/exports/FIFO.dfy.expect | 2 - Test/exports/LIFO.dfy | 3 +- Test/exports/LIFO.dfy.expect | 2 - Test/exports/xrefine2.dfy | 3 +- Test/exports/xrefine2.dfy.expect | 2 - Test/exports/xrefine3.dfy | 3 +- Test/exports/xrefine3.dfy.expect | 2 - Test/git-issues/git-issue-032.dfy | 7 +- Test/git-issues/git-issue-032.dfy.expect | 37 -- .../git-issue-032.dfy.verifier.expect | 3 + Test/git-issues/git-issue-1029.dfy | 3 +- Test/git-issues/git-issue-1029.dfy.expect | 2 - Test/git-issues/git-issue-1093.dfy | 8 +- Test/git-issues/git-issue-1093.dfy.expect | 16 - Test/git-issues/git-issue-1100.dfy | 3 +- Test/git-issues/git-issue-1100.dfy.expect | 2 - Test/git-issues/git-issue-1130.dfy | 3 +- Test/git-issues/git-issue-1130.dfy.expect | 2 - Test/git-issues/git-issue-1150.dfy | 3 +- Test/git-issues/git-issue-1150.dfy.expect | 2 - Test/git-issues/git-issue-1185.dfy | 8 +- Test/git-issues/git-issue-1185.dfy.expect | 13 - .../git-issues/git-issue-1185.dfy.java.expect | 1 + Test/git-issues/git-issue-1514.dfy | 3 +- Test/git-issues/git-issue-1514.dfy.expect | 2 - Test/git-issues/git-issue-1514b.dfy | 3 +- Test/git-issues/git-issue-1514b.dfy.expect | 2 - Test/git-issues/git-issue-1514c.dfy | 5 +- Test/git-issues/git-issue-1514c.dfy.expect | 7 - Test/git-issues/git-issue-1553.dfy | 7 +- Test/git-issues/git-issue-1553.dfy.expect | 10 - Test/git-issues/git-issue-1604b.dfy | 3 +- Test/git-issues/git-issue-1604b.dfy.expect | 2 - Test/git-issues/git-issue-1714.dfy | 3 +- Test/git-issues/git-issue-1714.dfy.expect | 2 - Test/git-issues/git-issue-179.dfy | 8 +- Test/git-issues/git-issue-179.dfy.expect | 22 - Test/git-issues/git-issue-179.dfy.go.expect | 4 + Test/git-issues/git-issue-179.dfy.java.expect | 4 + Test/git-issues/git-issue-179.dfy.js.expect | 4 + Test/git-issues/git-issue-1815a.dfy | 8 +- Test/git-issues/git-issue-1815a.dfy.expect | 16 - Test/git-issues/git-issue-1852.dfy | 5 +- Test/git-issues/git-issue-1852.dfy.expect | 7 - Test/git-issues/git-issue-1903.dfy | 3 +- Test/git-issues/git-issue-1903.dfy.expect | 2 - Test/git-issues/git-issue-1909.dfy | 3 +- Test/git-issues/git-issue-1909.dfy.expect | 2 - Test/git-issues/git-issue-2013.dfy | 8 +- Test/git-issues/git-issue-2013.dfy.expect | 52 -- Test/git-issues/git-issue-2441.dfy | 5 +- Test/git-issues/git-issue-2441.dfy.expect | 6 - Test/git-issues/git-issue-2510.dfy | 3 +- Test/git-issues/git-issue-2510.dfy.expect | 2 - Test/git-issues/git-issue-258.dfy | 8 +- Test/git-issues/git-issue-258.dfy.expect | 73 --- Test/git-issues/git-issue-258.dfy.go.expect | 21 + Test/git-issues/git-issue-258.dfy.js.expect | 21 + Test/git-issues/git-issue-2608.dfy | 3 +- Test/git-issues/git-issue-2608.dfy.expect | 2 - Test/git-issues/git-issue-262.dfy | 7 +- Test/git-issues/git-issue-262.dfy.expect | 18 - Test/git-issues/git-issue-262.dfy.go.expect | 2 + Test/git-issues/git-issue-262.dfy.java.expect | 2 + Test/git-issues/git-issue-262.dfy.js.expect | 6 + Test/git-issues/git-issue-267.dfy | 7 +- Test/git-issues/git-issue-267.dfy.expect | 13 - Test/git-issues/git-issue-2672.dfy | 8 +- Test/git-issues/git-issue-2672.dfy.expect | 44 -- Test/git-issues/git-issue-2726a.dfy | 3 +- Test/git-issues/git-issue-2726a.dfy.expect | 2 - Test/git-issues/git-issue-2733.dfy | 9 +- Test/git-issues/git-issue-2733.dfy.expect | 14 - Test/git-issues/git-issue-2792.dfy | 3 +- Test/git-issues/git-issue-2792.dfy.expect | 2 - Test/git-issues/git-issue-283.dfy | 7 +- Test/git-issues/git-issue-283.dfy.expect | 13 - Test/git-issues/git-issue-283d.dfy | 7 +- Test/git-issues/git-issue-283d.dfy.expect | 10 - Test/git-issues/git-issue-314.dfy | 7 +- Test/git-issues/git-issue-314.dfy.expect | 10 - Test/git-issues/git-issue-332.dfy | 3 +- Test/git-issues/git-issue-332.dfy.expect | 2 - Test/git-issues/git-issue-354.dfy | 7 +- Test/git-issues/git-issue-354.dfy.expect | 22 - Test/git-issues/git-issue-356.dfy | 8 +- Test/git-issues/git-issue-356.dfy.expect | 36 -- Test/git-issues/git-issue-364.dfy | 3 +- Test/git-issues/git-issue-364.dfy.expect | 2 - Test/git-issues/git-issue-374.dfy | 7 +- Test/git-issues/git-issue-374.dfy.expect | 10 - Test/git-issues/git-issue-396.dfy | 6 +- Test/git-issues/git-issue-396.dfy.expect | 11 - Test/git-issues/git-issue-4007.dfy | 5 +- Test/git-issues/git-issue-4007.dfy.expect | 3 - .../git-issue-4007.dfy.verifier.expect | 1 + Test/git-issues/git-issue-4012.dfy | 5 +- Test/git-issues/git-issue-4012.dfy.expect | 2 - Test/git-issues/git-issue-425.dfy | 7 +- Test/git-issues/git-issue-425.dfy.expect | 16 - Test/git-issues/git-issue-443.dfy | 3 +- Test/git-issues/git-issue-443.dfy.expect | 2 - Test/git-issues/git-issue-446.dfy | 7 +- Test/git-issues/git-issue-446.dfy.expect | 19 - Test/git-issues/git-issue-446a.dfy | 7 +- Test/git-issues/git-issue-446a.dfy.expect | 19 - Test/git-issues/git-issue-446b.dfy | 7 +- Test/git-issues/git-issue-446b.dfy.expect | 25 - Test/git-issues/git-issue-478-good.dfy | 3 +- Test/git-issues/git-issue-478-good.dfy.expect | 2 - Test/git-issues/git-issue-506.dfy | 6 +- Test/git-issues/git-issue-506.dfy.expect | 26 - Test/git-issues/git-issue-532.dfy | 7 +- Test/git-issues/git-issue-532.dfy.expect | 19 - Test/git-issues/git-issue-549.dfy | 5 +- Test/git-issues/git-issue-549.dfy.expect | 8 - Test/git-issues/git-issue-622$f.dfy | 3 +- Test/git-issues/git-issue-622$f.dfy.expect | 2 - Test/git-issues/git-issue-633.dfy | 7 +- Test/git-issues/git-issue-633.dfy.expect | 10 - Test/git-issues/git-issue-684.dfy | 7 +- Test/git-issues/git-issue-684.dfy.expect | 10 - Test/git-issues/git-issue-686.dfy | 7 +- Test/git-issues/git-issue-686.dfy.expect | 23 - .../git-issue-686.dfy.verifier.expect | 2 + Test/git-issues/git-issue-697.dfy | 3 +- Test/git-issues/git-issue-697.dfy.expect | 2 - Test/git-issues/git-issue-697b.dfy | 3 +- Test/git-issues/git-issue-697b.dfy.expect | 2 - Test/git-issues/git-issue-697d.dfy | 3 +- Test/git-issues/git-issue-697d.dfy.expect | 2 - Test/git-issues/git-issue-697e.dfy | 3 +- Test/git-issues/git-issue-697e.dfy.expect | 2 - Test/git-issues/git-issue-697f.dfy | 3 +- Test/git-issues/git-issue-697f.dfy.expect | 2 - Test/git-issues/git-issue-697g.dfy | 3 +- Test/git-issues/git-issue-697g.dfy.expect | 2 - Test/git-issues/git-issue-698.dfy | 5 +- Test/git-issues/git-issue-698.dfy.expect | 7 - Test/git-issues/git-issue-698b.dfy | 5 +- Test/git-issues/git-issue-698b.dfy.expect | 2 - Test/git-issues/git-issue-701.dfy | 7 +- Test/git-issues/git-issue-701.dfy.expect | 19 - Test/git-issues/git-issue-705.dfy | 7 +- Test/git-issues/git-issue-705.dfy.expect | 13 - Test/git-issues/git-issue-731.dfy | 7 +- Test/git-issues/git-issue-731.dfy.expect | 16 - Test/git-issues/git-issue-731b.dfy | 7 +- Test/git-issues/git-issue-731b.dfy.expect | 13 - Test/git-issues/git-issue-755.dfy | 8 +- Test/git-issues/git-issue-755.dfy.expect | 31 - Test/git-issues/git-issue-755.dfy.go.expect | 7 + Test/git-issues/git-issue-755.dfy.java.expect | 7 + Test/git-issues/git-issue-755.dfy.js.expect | 7 + Test/git-issues/git-issue-784.dfy | 7 +- Test/git-issues/git-issue-784.dfy.expect | 10 - Test/git-issues/git-issue-953.dfy | 8 +- Test/git-issues/git-issue-953.dfy.expect | 36 -- Test/git-issues/github-issue-3343.dfy | 3 +- Test/git-issues/github-issue-3343.dfy.expect | 2 - Test/hofs/Compilation.dfy | 3 +- Test/hofs/Compilation.dfy.expect | 2 - Test/hofs/Examples.dfy | 3 +- Test/hofs/Examples.dfy.expect | 2 - Test/hofs/Fold.dfy | 3 +- Test/hofs/Fold.dfy.expect | 2 - Test/hofs/Renaming.dfy | 3 +- Test/hofs/Renaming.dfy.expect | 2 - Test/hofs/Requires.dfy | 3 +- Test/hofs/Requires.dfy.expect | 2 - Test/hofs/TreeMapSimple.dfy | 3 +- Test/hofs/TreeMapSimple.dfy.expect | 2 - Test/hofs/VectorUpdate.dfy | 3 +- Test/hofs/VectorUpdate.dfy.expect | 2 - Test/hofs/WhileLoop.dfy | 3 +- Test/hofs/WhileLoop.dfy.expect | 2 - Test/metatests/OutputEncoding.dfy | 8 +- Test/metatests/OutputEncoding.dfy.expect | 16 - Test/patterns/OrPatterns.dfy | 3 +- Test/patterns/OrPatterns.dfy.expect | 2 - Test/patterns/PatternMatching.dfy | 5 +- Test/patterns/PatternMatching.dfy.expect | 3 - .../PatternMatching.dfy.verifier.expect | 1 + Test/traits/TraitCompile.dfy | 10 +- Test/traits/TraitCompile.dfy.expect | 256 -------- Test/traits/TraitExample.dfy | 3 +- Test/traits/TraitExample.dfy.expect | 2 - Test/traits/Traits-Fields.dfy | 3 +- Test/traits/Traits-Fields.dfy.expect | 2 - Test/traits/TraitsMultipleInheritance.dfy | 3 +- .../TraitsMultipleInheritance.dfy.expect | 2 - Test/unicodechars/comp/Collections.dfy | 9 +- Test/unicodechars/comp/Collections.dfy.expect | 512 ---------------- .../comp/Collections.dfy.go.expect | 125 ++++ .../comp/Collections.dfy.java.expect | 125 ++++ .../comp/Collections.dfy.js.expect | 125 ++++ .../comp/Collections.dfy.py.expect | 125 ++++ Test/unicodechars/comp/Comprehensions.dfy | 11 +- .../comp/Comprehensions.dfy.expect | 260 -------- .../comp/Comprehensions.dfy.py.expect | 62 ++ Test/unicodechars/comp/NativeNumbers.dfy | 9 +- .../comp/NativeNumbers.dfy.expect | 256 -------- Test/unicodechars/comp/Numbers.dfy | 11 +- Test/unicodechars/comp/Numbers.dfy.expect | 456 -------------- Test/unicodechars/comp/Numbers.dfy.go.expect | 111 ++++ Test/unicodechars/comp/Numbers.dfy.py.expect | 111 ++++ 507 files changed, 2286 insertions(+), 8926 deletions(-) create mode 100644 Test/comp/Arrays.dfy.go.expect create mode 100644 Test/comp/Collections.dfy.go.expect create mode 100644 Test/comp/Collections.dfy.java.expect create mode 100644 Test/comp/Collections.dfy.js.expect create mode 100644 Test/comp/Collections.dfy.py.expect create mode 100644 Test/comp/Comprehensions.dfy.py.expect create mode 100644 Test/comp/ComprehensionsNewSyntax.dfy.py.expect create mode 100644 Test/comp/Datatype.dfy.java.expect create mode 100644 Test/comp/Datatype.dfy.py.expect create mode 100644 Test/comp/Numbers.dfy.go.expect create mode 100644 Test/comp/Numbers.dfy.py.expect create mode 100644 Test/comp/Poly.dfy.go.expect create mode 100644 Test/comp/Poly.dfy.py.expect create mode 100644 Test/comp/Print.dfy.go.expect create mode 100644 Test/comp/Print.dfy.java.expect create mode 100644 Test/comp/Print.dfy.js.expect create mode 100644 Test/comp/TypeParams.dfy.go.expect create mode 100644 Test/comp/TypeParams.dfy.java.expect create mode 100644 Test/comp/TypeParams.dfy.js.expect create mode 100644 Test/comp/TypeParams.dfy.py.expect create mode 100644 Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect create mode 100644 Test/dafny0/Deprecation.dfy.verifier.expect create mode 100644 Test/dafny0/DiscoverBounds.dfy.verifier.expect create mode 100644 Test/dafny0/DividedConstructors.dfy.verifier.expect create mode 100644 Test/dafny0/ForallCompilationNewSyntax.dfy.verifier.expect create mode 100644 Test/dafny0/GhostGuards.dfy.verifier.expect create mode 100644 Test/dafny0/NullComparisonWarnings.dfy.verifier.expect create mode 100644 Test/dafny0/TypeMembers.dfy.verifier.expect create mode 100644 Test/dafny0/Wellfounded.dfy.verifier.expect create mode 100644 Test/dafny2/SmallestMissingNumber-functional.dfy.verifier.expect create mode 100644 Test/dafny2/StoreAndRetrieve.dfy.verifier.expect create mode 100644 Test/dafny3/CachedContainer.dfy.verifier.expect create mode 100644 Test/dafny4/Ackermann.dfy.verifier.expect create mode 100644 Test/dafny4/ClassRefinement.dfy.verifier.expect create mode 100644 Test/git-issues/git-issue-032.dfy.verifier.expect create mode 100644 Test/git-issues/git-issue-1185.dfy.java.expect create mode 100644 Test/git-issues/git-issue-179.dfy.go.expect create mode 100644 Test/git-issues/git-issue-179.dfy.java.expect create mode 100644 Test/git-issues/git-issue-179.dfy.js.expect create mode 100644 Test/git-issues/git-issue-258.dfy.go.expect create mode 100644 Test/git-issues/git-issue-258.dfy.js.expect create mode 100644 Test/git-issues/git-issue-262.dfy.go.expect create mode 100644 Test/git-issues/git-issue-262.dfy.java.expect create mode 100644 Test/git-issues/git-issue-262.dfy.js.expect create mode 100644 Test/git-issues/git-issue-4007.dfy.verifier.expect create mode 100644 Test/git-issues/git-issue-686.dfy.verifier.expect create mode 100644 Test/git-issues/git-issue-755.dfy.go.expect create mode 100644 Test/git-issues/git-issue-755.dfy.java.expect create mode 100644 Test/git-issues/git-issue-755.dfy.js.expect create mode 100644 Test/patterns/PatternMatching.dfy.verifier.expect create mode 100644 Test/unicodechars/comp/Collections.dfy.go.expect create mode 100644 Test/unicodechars/comp/Collections.dfy.java.expect create mode 100644 Test/unicodechars/comp/Collections.dfy.js.expect create mode 100644 Test/unicodechars/comp/Collections.dfy.py.expect create mode 100644 Test/unicodechars/comp/Comprehensions.dfy.py.expect create mode 100644 Test/unicodechars/comp/Numbers.dfy.go.expect create mode 100644 Test/unicodechars/comp/Numbers.dfy.py.expect diff --git a/Test/VerifyThis2015/Problem1.dfy b/Test/VerifyThis2015/Problem1.dfy index 20bd154ab8d..ab227e1ab85 100644 --- a/Test/VerifyThis2015/Problem1.dfy +++ b/Test/VerifyThis2015/Problem1.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Rustan Leino // 12 April 2015 diff --git a/Test/VerifyThis2015/Problem1.dfy.expect b/Test/VerifyThis2015/Problem1.dfy.expect index 110dd45761d..9e8a46acf90 100644 --- a/Test/VerifyThis2015/Problem1.dfy.expect +++ b/Test/VerifyThis2015/Problem1.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 18 verified, 0 errors true true false diff --git a/Test/VerifyThis2015/Problem2.dfy b/Test/VerifyThis2015/Problem2.dfy index 7466df6d410..9b57395e68b 100644 --- a/Test/VerifyThis2015/Problem2.dfy +++ b/Test/VerifyThis2015/Problem2.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Rustan Leino // 13 April 2015, and many subsequent enhancements and revisions diff --git a/Test/VerifyThis2015/Problem2.dfy.expect b/Test/VerifyThis2015/Problem2.dfy.expect index b49c1470365..e69de29bb2d 100644 --- a/Test/VerifyThis2015/Problem2.dfy.expect +++ b/Test/VerifyThis2015/Problem2.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 32 verified, 0 errors diff --git a/Test/VerifyThis2015/Problem3.dfy b/Test/VerifyThis2015/Problem3.dfy index 3be60b5d81a..1348acf0f4d 100644 --- a/Test/VerifyThis2015/Problem3.dfy +++ b/Test/VerifyThis2015/Problem3.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Rustan Leino // 12 April 2015 // VerifyThis 2015 diff --git a/Test/VerifyThis2015/Problem3.dfy.expect b/Test/VerifyThis2015/Problem3.dfy.expect index 4bb1c2c7251..e69de29bb2d 100644 --- a/Test/VerifyThis2015/Problem3.dfy.expect +++ b/Test/VerifyThis2015/Problem3.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 18 verified, 0 errors diff --git a/Test/c++/arrays.dfy b/Test/c++/arrays.dfy index 47140146468..a02b57e5ff8 100644 --- a/Test/c++/arrays.dfy +++ b/Test/c++/arrays.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/arrays.dfy.expect b/Test/c++/arrays.dfy.expect index 552f9355593..2ce9320d8c2 100644 --- a/Test/c++/arrays.dfy.expect +++ b/Test/c++/arrays.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 9 verified, 0 errors 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/c++/bit-vectors.dfy b/Test/c++/bit-vectors.dfy index b7f5d35df07..d27469e4ca5 100644 --- a/Test/c++/bit-vectors.dfy +++ b/Test/c++/bit-vectors.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint64 = i:int | 0 <= i < 0x10000000000000000 diff --git a/Test/c++/bit-vectors.dfy.expect b/Test/c++/bit-vectors.dfy.expect index e327aa2f73b..c491236b12b 100644 --- a/Test/c++/bit-vectors.dfy.expect +++ b/Test/c++/bit-vectors.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 6 verified, 0 errors 084841024 diff --git a/Test/c++/class.dfy b/Test/c++/class.dfy index 3039bd0466b..b10d703c981 100644 --- a/Test/c++/class.dfy +++ b/Test/c++/class.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/class.dfy.expect b/Test/c++/class.dfy.expect index 93717ecfa9e..80f1587d0a2 100644 --- a/Test/c++/class.dfy.expect +++ b/Test/c++/class.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 16 verified, 0 errors true true false 103 102 102 106 105 105 203 17 0 18 8 9 69 70 diff --git a/Test/c++/const.dfy b/Test/c++/const.dfy index 5ab9a62e0e9..1bfb79f0361 100644 --- a/Test/c++/const.dfy +++ b/Test/c++/const.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false module Holder { const x:bool := false diff --git a/Test/c++/const.dfy.expect b/Test/c++/const.dfy.expect index 823a60a105c..e69de29bb2d 100644 --- a/Test/c++/const.dfy.expect +++ b/Test/c++/const.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 1 verified, 0 errors diff --git a/Test/c++/datatypes.dfy b/Test/c++/datatypes.dfy index 9d077b97575..f56b7907cc3 100644 --- a/Test/c++/datatypes.dfy +++ b/Test/c++/datatypes.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/datatypes.dfy.expect b/Test/c++/datatypes.dfy.expect index efa71b43546..c122f5af791 100644 --- a/Test/c++/datatypes.dfy.expect +++ b/Test/c++/datatypes.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 12 verified, 0 errors Case A: 42 Case B: true This is expected diff --git a/Test/c++/generic.dfy b/Test/c++/generic.dfy index 7995928f93f..374c545b9c1 100644 --- a/Test/c++/generic.dfy +++ b/Test/c++/generic.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false class Test { var t:T diff --git a/Test/c++/generic.dfy.expect b/Test/c++/generic.dfy.expect index 00a51f822da..e69de29bb2d 100644 --- a/Test/c++/generic.dfy.expect +++ b/Test/c++/generic.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 3 verified, 0 errors diff --git a/Test/c++/hello.dfy b/Test/c++/hello.dfy index c887337c7e1..523d3152209 100644 --- a/Test/c++/hello.dfy +++ b/Test/c++/hello.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false method Main() { print "Hello world\n"; diff --git a/Test/c++/hello.dfy.expect b/Test/c++/hello.dfy.expect index 87101fec036..802992c4220 100644 --- a/Test/c++/hello.dfy.expect +++ b/Test/c++/hello.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors Hello world diff --git a/Test/c++/ints.dfy b/Test/c++/ints.dfy index cf7ae63e0da..4490a54817a 100644 --- a/Test/c++/ints.dfy +++ b/Test/c++/ints.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype sbyte = i:int | -0x80 <= i < 0x80 newtype byte = i:int | 0 <= i < 0x100 diff --git a/Test/c++/ints.dfy.expect b/Test/c++/ints.dfy.expect index aeabccf73b0..5fcb7b811cb 100644 --- a/Test/c++/ints.dfy.expect +++ b/Test/c++/ints.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 15 verified, 0 errors Result is z = 42 diff --git a/Test/c++/maps.dfy b/Test/c++/maps.dfy index 951d34e96f1..b88ebd56ad5 100644 --- a/Test/c++/maps.dfy +++ b/Test/c++/maps.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/maps.dfy.expect b/Test/c++/maps.dfy.expect index 482aa604356..80642c23257 100644 --- a/Test/c++/maps.dfy.expect +++ b/Test/c++/maps.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 9 verified, 0 errors Identity: This is expected ValuesIdentity: This is expected KeyMembership: This is expected diff --git a/Test/c++/recursion.dfy b/Test/c++/recursion.dfy index e255b8e6b08..36048aab527 100644 --- a/Test/c++/recursion.dfy +++ b/Test/c++/recursion.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/recursion.dfy.expect b/Test/c++/recursion.dfy.expect index 15dbfe2bcd1..1ea14926e89 100644 --- a/Test/c++/recursion.dfy.expect +++ b/Test/c++/recursion.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors x !y 3 diff --git a/Test/c++/returns.dfy b/Test/c++/returns.dfy index 1ad19a8ce83..9e23121d26a 100644 --- a/Test/c++/returns.dfy +++ b/Test/c++/returns.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint64 = i:int | 0 <= i < 0x10000000000000000 diff --git a/Test/c++/returns.dfy.expect b/Test/c++/returns.dfy.expect index 8db105eaba8..48082f72f08 100644 --- a/Test/c++/returns.dfy.expect +++ b/Test/c++/returns.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors 12 diff --git a/Test/c++/seqs.dfy b/Test/c++/seqs.dfy index f97a42b2851..903208b07f8 100644 --- a/Test/c++/seqs.dfy +++ b/Test/c++/seqs.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint8 = i:int | 0 <= i < 0x100 newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/seqs.dfy.expect b/Test/c++/seqs.dfy.expect index 23f01695bc9..16f5f9d22ea 100644 --- a/Test/c++/seqs.dfy.expect +++ b/Test/c++/seqs.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 11 verified, 0 errors Head second:2 Trunc first:2 Head trunc: This is expected diff --git a/Test/c++/sets.dfy b/Test/c++/sets.dfy index 5bfb6f80f1e..10e2fe0501d 100644 --- a/Test/c++/sets.dfy +++ b/Test/c++/sets.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/sets.dfy.expect b/Test/c++/sets.dfy.expect index 1c8ede8765e..52a1e67717e 100644 --- a/Test/c++/sets.dfy.expect +++ b/Test/c++/sets.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 8 verified, 0 errors Identity: This is expected ValuesIdentity: This is expected DiffIdentity: This is expected diff --git a/Test/c++/while.dfy b/Test/c++/while.dfy index 40dc4699d11..0c0d7ee98df 100644 --- a/Test/c++/while.dfy +++ b/Test/c++/while.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/while.dfy.expect b/Test/c++/while.dfy.expect index 8dfe872ca51..9a44de1e2a3 100644 --- a/Test/c++/while.dfy.expect +++ b/Test/c++/while.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 2 verified, 0 errors 0 1 2 diff --git a/Test/comp/Arrays.dfy b/Test/comp/Arrays.dfy index 566f052e0a6..acb4225b358 100644 --- a/Test/comp/Arrays.dfy +++ b/Test/comp/Arrays.dfy @@ -1,10 +1,5 @@ -// RUN: %baredafny verify %args --relax-definite-assignment "%s" > "%t" -// RUN: %baredafny run --unicode-char:false --no-verify --target=cs %args "%s" >> "%t" -// RUN: %baredafny run --unicode-char:false --no-verify --target=js %args "%s" >> "%t" -// RUN: %baredafny run --unicode-char:false --no-verify --target=go %args "%s" >> "%t" -// RUN: %baredafny run --unicode-char:false --no-verify --target=java %args "%s" >> "%t" -// RUN: %baredafny run --unicode-char:false --no-verify --target=py %args "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false method LinearSearch(a: array, key: int) returns (n: nat) ensures 0 <= n <= a.Length diff --git a/Test/comp/Arrays.dfy.expect b/Test/comp/Arrays.dfy.expect index 8559e2f3c5c..ef3b884f98a 100644 --- a/Test/comp/Arrays.dfy.expect +++ b/Test/comp/Arrays.dfy.expect @@ -1,399 +1,3 @@ - -Dafny program verifier finished with 89 verified, 0 errors - -Dafny program verifier did not attempt verification -0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 -17 -[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] -[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] -[20, 21, 22] -[0, 1, 2, 3, 4, 5, 6, 7] -[0, 1, 2, 3, 4, 5, 6, 7] -d d d -h e l l o -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -1 0 0 0 0 -0 1 0 0 0 -0 0 1 0 0 -cube dims: 3 0 4 -[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] -It's null -hi hello tjena hej hola -hi hello tjena hej hola -hi hello tjena hej hola -d d d -h e l l o -8 8 8 8 -true true true -1 1 1 1 1 -2 2 2 2 2 -3 3 3 3 3 -4 4 4 4 4 -(d, 8, true, 1, 2, 3, 4) -D D D -0 0 0 0 -false false false -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -(D, 0, false, 0, 0, 0, 0) -8 0 -false 0 null null -8 8 -8 8 -8 8 -8 8 -D D D -D D D -D D D -D D r (D, D, r) -D D r -[19, 18, 9, 8] - true - false - true - false - false - false - true - true - false - true - false - true - true - false -hello there -false false -true true -false false -false false -uninitialized bytes: array[0, 0, 0] -bytes from display: array[7, 8, 9] -bytes from lambda: array[20, 21, 22] -uninitialized 1bytes: array[1, 1, 1] -1bytes from display: array[7, 8, 9] -1bytes from lambda: array[20, 21, 22] -17 19 18 20 -100 200 300 120 38 -hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -DDDDDabcdeabcdeggggg -DDDDDabcdeabcdeggggg -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] -DDDDDDDDDDagggggaggg -0 69 50 -0 69 50 -D k n -false false -true true -false false -false false -true true - -Dafny program verifier did not attempt verification -0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 -17 -[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] -[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] -[20, 21, 22] -[0, 1, 2, 3, 4, 5, 6, 7] -[0, 1, 2, 3, 4, 5, 6, 7] -d d d -h e l l o -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -1 0 0 0 0 -0 1 0 0 0 -0 0 1 0 0 -cube dims: 3 0 4 -[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] -It's null -hi hello tjena hej hola -hi hello tjena hej hola -hi hello tjena hej hola -d d d -h e l l o -8 8 8 8 -true true true -1 1 1 1 1 -2 2 2 2 2 -3 3 3 3 3 -4 4 4 4 4 -(d, 8, true, 1, 2, 3, 4) -D D D -0 0 0 0 -false false false -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -(D, 0, false, 0, 0, 0, 0) -8 0 -false 0 null null -8 8 -8 8 -8 8 -8 8 -D D D -D D D -D D D -D D r (D, D, r) -D D r -[19, 18, 9, 8] - true - false - true - false - false - false - true - true - false - true - false - true - true - false -hello there -false false -true true -false false -false false -uninitialized bytes: array[0, 0, 0] -bytes from display: array[7, 8, 9] -bytes from lambda: array[20, 21, 22] -uninitialized 1bytes: array[1, 1, 1] -1bytes from display: array[7, 8, 9] -1bytes from lambda: array[20, 21, 22] -17 19 18 20 -100 200 300 120 38 -hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -DDDDDabcdeabcdeggggg -DDDDDabcdeabcdeggggg -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] -DDDDDDDDDDagggggaggg -0 69 50 -0 69 50 -D k n -false false -true true -false false -false false -true true - -Dafny program verifier did not attempt verification -0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 -17 -[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] -[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] -[20, 21, 22] -[0, 1, 2, 3, 4, 5, 6, 7] -[0, 1, 2, 3, 4, 5, 6, 7] -d d d -h e l l o -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -1 0 0 0 0 -0 1 0 0 0 -0 0 1 0 0 -cube dims: 3 0 4 -[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] -It's null -hi hello tjena hej hola -hi hello tjena hej hola -hi hello tjena hej hola -d d d -h e l l o -8 8 8 8 -true true true -1 1 1 1 1 -2 2 2 2 2 -3 3 3 3 3 -4 4 4 4 4 -(d, 8, true, 1, 2, 3, 4) -D D D -0 0 0 0 -false false false -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -(D, 0, false, 0, 0, 0, 0) -8 0 -false 0 null null -8 8 -8 8 -8 8 -8 8 -D D D -D D D -D D D -D D r (D, D, r) -D D r -[19, 18, 9, 8] - true - false - true - false - false - false - true - true - false - true - false - true - true - false -hello there -false false -true true -false false -false false -uninitialized bytes: array[0, 0, 0] -bytes from display: array[7, 8, 9] -bytes from lambda: array[20, 21, 22] -uninitialized 1bytes: array[1, 1, 1] -1bytes from display: array[7, 8, 9] -1bytes from lambda: array[20, 21, 22] -17 19 18 20 -100 200 300 120 38 -hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -DDDDDabcdeabcdeggggg -DDDDDabcdeabcdeggggg -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] -[D, D, D, D, D, D, D, D, D, D, a, g, g, g, g, g, a, g, g, g] -0 69 50 -0 69 50 -D k n -false false -true true -false false -false false -true true - -Dafny program verifier did not attempt verification -0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 -17 -[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] -[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] -[20, 21, 22] -[0, 1, 2, 3, 4, 5, 6, 7] -[0, 1, 2, 3, 4, 5, 6, 7] -d d d -h e l l o -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -1 0 0 0 0 -0 1 0 0 0 -0 0 1 0 0 -cube dims: 3 0 4 -[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] -It's null -hi hello tjena hej hola -hi hello tjena hej hola -hi hello tjena hej hola -d d d -h e l l o -8 8 8 8 -true true true -1 1 1 1 1 -2 2 2 2 2 -3 3 3 3 3 -4 4 4 4 4 -(d, 8, true, 1, 2, 3, 4) -D D D -0 0 0 0 -false false false -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -(D, 0, false, 0, 0, 0, 0) -8 0 -false 0 null null -8 8 -8 8 -8 8 -8 8 -D D D -D D D -D D D -D D r (D, D, r) -D D r -[19, 18, 9, 8] - true - false - true - false - false - false - true - true - false - true - false - true - true - false -hello there -false false -true true -false false -false false -uninitialized bytes: array[0, 0, 0] -bytes from display: array[7, 8, 9] -bytes from lambda: array[20, 21, 22] -uninitialized 1bytes: array[1, 1, 1] -1bytes from display: array[7, 8, 9] -1bytes from lambda: array[20, 21, 22] -17 19 18 20 -100 200 300 120 38 -hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -DDDDDabcdeabcdeggggg -DDDDDabcdeabcdeggggg -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] -DDDDDDDDDDagggggaggg -0 69 50 -0 69 50 -D k n -false false -true true -false false -false false -true true - -Dafny program verifier did not attempt verification 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/comp/Arrays.dfy.go.expect b/Test/comp/Arrays.dfy.go.expect new file mode 100644 index 00000000000..1217623d90c --- /dev/null +++ b/Test/comp/Arrays.dfy.go.expect @@ -0,0 +1,96 @@ +0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 +17 +[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] +[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] +[20, 21, 22] +[0, 1, 2, 3, 4, 5, 6, 7] +[0, 1, 2, 3, 4, 5, 6, 7] +d d d +h e l l o +0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 +1 0 0 0 0 +0 1 0 0 0 +0 0 1 0 0 +cube dims: 3 0 4 +[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] +It's null +hi hello tjena hej hola +hi hello tjena hej hola +hi hello tjena hej hola +d d d +h e l l o +8 8 8 8 +true true true +1 1 1 1 1 +2 2 2 2 2 +3 3 3 3 3 +4 4 4 4 4 +(d, 8, true, 1, 2, 3, 4) +D D D +0 0 0 0 +false false false +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +(D, 0, false, 0, 0, 0, 0) +8 0 +false 0 null null +8 8 +8 8 +8 8 +8 8 +D D D +D D D +D D D +D D r (D, D, r) +D D r +[19, 18, 9, 8] + true + false + true + false + false + false + true + true + false + true + false + true + true + false +hello there +false false +true true +false false +false false +uninitialized bytes: array[0, 0, 0] +bytes from display: array[7, 8, 9] +bytes from lambda: array[20, 21, 22] +uninitialized 1bytes: array[1, 1, 1] +1bytes from display: array[7, 8, 9] +1bytes from lambda: array[20, 21, 22] +17 19 18 20 +100 200 300 120 38 +hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +DDDDDabcdeabcdeggggg +DDDDDabcdeabcdeggggg +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] +[D, D, D, D, D, D, D, D, D, D, a, g, g, g, g, g, a, g, g, g] +0 69 50 +0 69 50 +D k n +false false +true true +false false +false false +true true diff --git a/Test/comp/AsIs-Compile.dfy b/Test/comp/AsIs-Compile.dfy index 47084ed7633..319847564e2 100644 --- a/Test/comp/AsIs-Compile.dfy +++ b/Test/comp/AsIs-Compile.dfy @@ -1,10 +1,4 @@ -// RUN: %baredafny verify %args "%s" > "%t" -// RUN: %baredafny run --no-verify -t=cs %args "%s" >> "%t" -// RUN: %baredafny run --no-verify -t=js %args "%s" >> "%t" -// RUN: %baredafny run --no-verify -t=go %args "%s" >> "%t" -// RUN: %baredafny run --no-verify -t=java %args "%s" >> "%t" -// RUN: %baredafny run --no-verify -t=py %args "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" method Main() { var a: A, b: B, c: C, k: K, l: L := new M, new M, new M, new K, new L; diff --git a/Test/comp/AsIs-Compile.dfy.expect b/Test/comp/AsIs-Compile.dfy.expect index 36dfe46e91d..acc78c6e155 100644 --- a/Test/comp/AsIs-Compile.dfy.expect +++ b/Test/comp/AsIs-Compile.dfy.expect @@ -1,163 +1,3 @@ - -Dafny program verifier finished with 6 verified, 0 errors - -Dafny program verifier did not attempt verification -true true true true true -true true true true true -IsComparisons ---- -false true false false - true false false - true false -false false true false - false true false - false false -false false false true - false false true - false true -false true false false - false true false - false false -true true -false true -TestNullIs ---- -true true -true true -true true true true true true -true true true true true true -true true true true true true -true true true true true true -true true -false true -true true true true true true -false true false true false true -true true true true true true -false true false true false true -TestFromTraits ---- -5 -0 -4 -4 -4 -4 - -Dafny program verifier did not attempt verification -true true true true true -true true true true true -IsComparisons ---- -false true false false - true false false - true false -false false true false - false true false - false false -false false false true - false false true - false true -false true false false - false true false - false false -true true -false true -TestNullIs ---- -true true -true true -true true true true true true -true true true true true true -true true true true true true -true true true true true true -true true -false true -true true true true true true -false true false true false true -true true true true true true -false true false true false true -TestFromTraits ---- -5 -0 -4 -4 -4 -4 - -Dafny program verifier did not attempt verification -true true true true true -true true true true true -IsComparisons ---- -false true false false - true false false - true false -false false true false - false true false - false false -false false false true - false false true - false true -false true false false - false true false - false false -true true -false true -TestNullIs ---- -true true -true true -true true true true true true -true true true true true true -true true true true true true -true true true true true true -true true -false true -true true true true true true -false true false true false true -true true true true true true -false true false true false true -TestFromTraits ---- -5 -0 -4 -4 -4 -4 - -Dafny program verifier did not attempt verification -true true true true true -true true true true true -IsComparisons ---- -false true false false - true false false - true false -false false true false - false true false - false false -false false false true - false false true - false true -false true false false - false true false - false false -true true -false true -TestNullIs ---- -true true -true true -true true true true true true -true true true true true true -true true true true true true -true true true true true true -true true -false true -true true true true true true -false true false true false true -true true true true true true -false true false true false true -TestFromTraits ---- -5 -0 -4 -4 -4 -4 - -Dafny program verifier did not attempt verification true true true true true true true true true true IsComparisons ---- diff --git a/Test/comp/AutoInit.dfy b/Test/comp/AutoInit.dfy index b284619a80c..c0e752efa36 100644 --- a/Test/comp/AutoInit.dfy +++ b/Test/comp/AutoInit.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This file tests the compilation of some default values. It also includes some // regression tests for equality, printing, and tuples. diff --git a/Test/comp/AutoInit.dfy.expect b/Test/comp/AutoInit.dfy.expect index 51533cc6d5e..e68e2e43764 100644 --- a/Test/comp/AutoInit.dfy.expect +++ b/Test/comp/AutoInit.dfy.expect @@ -1,163 +1,3 @@ - -Dafny program verifier finished with 21 verified, 0 errors - -Dafny program verifier did not attempt verification -3 false 0 -false false true -() (0, false, false, []) -(null, 0) (null, 0) true -(null, null, null, 0) (null, null, null, 0) true -true false false true -true false false true -17 -1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or -(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) -1 -ww == null -- yes, as expected -true true true true -true true true -true true true -null null -null null -null null null -null null null -null null null -null null null -null null -null null null -null null null -DatatypeDefaultValues.EnumDatatype.MakeZero - DatatypeDefaultValues.IntList.Nil - 0 -DatatypeDefaultValues.GenericTree.Leaf - DatatypeDefaultValues.Complicated.ComplA(0, false) - DatatypeDefaultValues.CellCell.MakeCellCell(0) -null - null -Library.Color.Red(0) and Library.Color.Red(0) -Library.CoColor.Yellow and Library.CoColor.Yellow -Library.MoColor.MoYellow and Library.MoColor.MoYellow -0.0 and 0.0 -13 - -Dafny program verifier did not attempt verification -3 false 0 -false false true -() (0, false, false, []) -(null, 0) (null, 0) true -(null, null, null, 0) (null, null, null, 0) true -true false false true -true false false true -17 -1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or -(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) -1 -ww == null -- yes, as expected -true true true true -true true true -true true true -null null -null null -null null null -null null null -null null null -null null null -null null -null null null -null null null -DatatypeDefaultValues.EnumDatatype.MakeZero - DatatypeDefaultValues.IntList.Nil - 0 -DatatypeDefaultValues.GenericTree.Leaf - DatatypeDefaultValues.Complicated.ComplA(0, false) - DatatypeDefaultValues.CellCell.MakeCellCell(0) -null - null -Library.Color.Red(0) and Library.Color.Red(0) -Library.CoColor.Yellow and Library.CoColor.Yellow -Library.MoColor.MoYellow and Library.MoColor.MoYellow -0.0 and 0.0 -13 - -Dafny program verifier did not attempt verification -3 false 0 -false false true -() (0, false, false, []) -(null, 0) (null, 0) true -(null, null, null, 0) (null, null, null, 0) true -true false false true -true false false true -17 -1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or -(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) -1 -ww == null -- yes, as expected -true true true true -true true true -true true true -null null -null null -null null null -null null null -null null null -null null null -null null -null null null -null null null -DatatypeDefaultValues.EnumDatatype.MakeZero - DatatypeDefaultValues.IntList.Nil - 0 -DatatypeDefaultValues.GenericTree.Leaf - DatatypeDefaultValues.Complicated.ComplA(0, false) - DatatypeDefaultValues.CellCell.MakeCellCell(0) -null - null -Library.Color.Red(0) and Library.Color.Red(0) -Library.CoColor.Yellow and Library.CoColor.Yellow -Library.MoColor.MoYellow and Library.MoColor.MoYellow -0.0 and 0.0 -13 - -Dafny program verifier did not attempt verification -3 false 0 -false false true -() (0, false, false, []) -(null, 0) (null, 0) true -(null, null, null, 0) (null, null, null, 0) true -true false false true -true false false true -17 -1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or -(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) -1 -ww == null -- yes, as expected -true true true true -true true true -true true true -null null -null null -null null null -null null null -null null null -null null null -null null -null null null -null null null -DatatypeDefaultValues.EnumDatatype.MakeZero - DatatypeDefaultValues.IntList.Nil - 0 -DatatypeDefaultValues.GenericTree.Leaf - DatatypeDefaultValues.Complicated.ComplA(0, false) - DatatypeDefaultValues.CellCell.MakeCellCell(0) -null - null -Library.Color.Red(0) and Library.Color.Red(0) -Library.CoColor.Yellow and Library.CoColor.Yellow -Library.MoColor.MoYellow and Library.MoColor.MoYellow -0.0 and 0.0 -13 - -Dafny program verifier did not attempt verification 3 false 0 false false true () (0, false, false, []) diff --git a/Test/comp/ByMethodCompilation.dfy b/Test/comp/ByMethodCompilation.dfy index ea62d84b21e..7432f72f7d4 100644 --- a/Test/comp/ByMethodCompilation.dfy +++ b/Test/comp/ByMethodCompilation.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method Main() { var four := Four(); diff --git a/Test/comp/ByMethodCompilation.dfy.expect b/Test/comp/ByMethodCompilation.dfy.expect index 1519a955b0c..d61780e3fb8 100644 --- a/Test/comp/ByMethodCompilation.dfy.expect +++ b/Test/comp/ByMethodCompilation.dfy.expect @@ -1,35 +1,3 @@ - -Dafny program verifier finished with 13 verified, 0 errors - -Dafny program verifier did not attempt verification -hello -four is 4 -Recursive(7) = 14 -NonCompilableFunction: 4 7 -Sums: 14 3 - -Dafny program verifier did not attempt verification -hello -four is 4 -Recursive(7) = 14 -NonCompilableFunction: 4 7 -Sums: 14 3 - -Dafny program verifier did not attempt verification -hello -four is 4 -Recursive(7) = 14 -NonCompilableFunction: 4 7 -Sums: 14 3 - -Dafny program verifier did not attempt verification -hello -four is 4 -Recursive(7) = 14 -NonCompilableFunction: 4 7 -Sums: 14 3 - -Dafny program verifier did not attempt verification hello four is 4 Recursive(7) = 14 diff --git a/Test/comp/Calls.dfy b/Test/comp/Calls.dfy index 4a4916aea0c..c56bc3e5286 100644 --- a/Test/comp/Calls.dfy +++ b/Test/comp/Calls.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function F(x: int, y: bool): int { x + if y then 2 else 3 diff --git a/Test/comp/Calls.dfy.expect b/Test/comp/Calls.dfy.expect index 3317b8be164..cf4e1bc155b 100644 --- a/Test/comp/Calls.dfy.expect +++ b/Test/comp/Calls.dfy.expect @@ -1,43 +1,3 @@ - -Dafny program verifier finished with 6 verified, 0 errors - -Dafny program verifier did not attempt verification -5 0 0 false 0 false 0 -5 3 5 3 5 3 -5 3 5 3 5 3 -15 -[0, 1, 2, 4] -[0, 2, 4] ---> 5 <-- - -Dafny program verifier did not attempt verification -5 0 0 false 0 false 0 -5 3 5 3 5 3 -5 3 5 3 5 3 -15 -[0, 1, 2, 4] -[0, 2, 4] ---> 5 <-- - -Dafny program verifier did not attempt verification -5 0 0 false 0 false 0 -5 3 5 3 5 3 -5 3 5 3 5 3 -15 -[0, 1, 2, 4] -[0, 2, 4] ---> 5 <-- - -Dafny program verifier did not attempt verification -5 0 0 false 0 false 0 -5 3 5 3 5 3 -5 3 5 3 5 3 -15 -[0, 1, 2, 4] -[0, 2, 4] ---> 5 <-- - -Dafny program verifier did not attempt verification 5 0 0 false 0 false 0 5 3 5 3 5 3 5 3 5 3 5 3 diff --git a/Test/comp/Class.dfy b/Test/comp/Class.dfy index fb994f008e7..23591e43450 100644 --- a/Test/comp/Class.dfy +++ b/Test/comp/Class.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation class MyClass { var a: int diff --git a/Test/comp/Class.dfy.expect b/Test/comp/Class.dfy.expect index ba1482a164b..47e49966664 100644 --- a/Test/comp/Class.dfy.expect +++ b/Test/comp/Class.dfy.expect @@ -1,75 +1,3 @@ - -Dafny program verifier finished with 16 verified, 0 errors - -Dafny program verifier did not attempt verification -true true false -103 103 103 106 106 106 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -0 18 9 70 -0 18 9 70 -0 18 9 70 -70 -hi later -21 4 42 5 1 -TestGhostables -15 -Init called with x=15 -16 - -Dafny program verifier did not attempt verification -true true false -103 103 103 106 106 106 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -0 18 9 70 -0 18 9 70 -0 18 9 70 -70 -hi later -21 4 42 5 1 -TestGhostables -15 -Init called with x=15 -16 - -Dafny program verifier did not attempt verification -true true false -103 103 103 106 106 106 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -0 18 9 70 -0 18 9 70 -0 18 9 70 -70 -hi later -21 4 42 5 1 -TestGhostables -15 -Init called with x=15 -16 - -Dafny program verifier did not attempt verification -true true false -103 103 103 106 106 106 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -0 18 9 70 -0 18 9 70 -0 18 9 70 -70 -hi later -21 4 42 5 1 -TestGhostables -15 -Init called with x=15 -16 - -Dafny program verifier did not attempt verification true true false 103 103 103 106 106 106 203 17 0 18 8 9 69 70 diff --git a/Test/comp/Collections.dfy b/Test/comp/Collections.dfy index 104eb9f90ac..9457e44b170 100644 --- a/Test/comp/Collections.dfy +++ b/Test/comp/Collections.dfy @@ -1,10 +1,5 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false method Main() { Sets(); diff --git a/Test/comp/Collections.dfy.expect b/Test/comp/Collections.dfy.expect index 2361c1a88db..e705d887a7d 100644 --- a/Test/comp/Collections.dfy.expect +++ b/Test/comp/Collections.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 40 verified, 0 errors - -Dafny program verifier did not attempt verification Sets: {} {17, 82} {12, 17} cardinality: 0 2 2 union: {17, 82} {12, 17, 82} @@ -127,511 +123,3 @@ Multiset=== 1 3 |s|=2 |u|=4 1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Yellow := 21, Color.Blue := 30] -keys: {Color.Yellow, Color.Blue} -values: {21, 30} -items: {(Color.Yellow, 21), (Color.Blue, 30)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {21, 30} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/comp/Collections.dfy.go.expect b/Test/comp/Collections.dfy.go.expect new file mode 100644 index 00000000000..309d0c550c4 --- /dev/null +++ b/Test/comp/Collections.dfy.go.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/comp/Collections.dfy.java.expect b/Test/comp/Collections.dfy.java.expect new file mode 100644 index 00000000000..ed929a4d34c --- /dev/null +++ b/Test/comp/Collections.dfy.java.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Yellow := 21, Color.Blue := 30] +keys: {Color.Yellow, Color.Blue} +values: {21, 30} +items: {(Color.Yellow, 21), (Color.Blue, 30)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/comp/Collections.dfy.js.expect b/Test/comp/Collections.dfy.js.expect new file mode 100644 index 00000000000..309d0c550c4 --- /dev/null +++ b/Test/comp/Collections.dfy.js.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/comp/Collections.dfy.py.expect b/Test/comp/Collections.dfy.py.expect new file mode 100644 index 00000000000..61b4217bbaf --- /dev/null +++ b/Test/comp/Collections.dfy.py.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {21, 30} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/comp/Comprehensions.dfy b/Test/comp/Comprehensions.dfy index 29ac368f2c3..73c43b22bfa 100644 --- a/Test/comp/Comprehensions.dfy +++ b/Test/comp/Comprehensions.dfy @@ -1,10 +1,5 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false method Main() { AssignSuchThat(); diff --git a/Test/comp/Comprehensions.dfy.expect b/Test/comp/Comprehensions.dfy.expect index 18159ddde0a..c9703fc9397 100644 --- a/Test/comp/Comprehensions.dfy.expect +++ b/Test/comp/Comprehensions.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 32 verified, 0 errors - -Dafny program verifier did not attempt verification x=13 y=14 x=13 y=14 b=yes true false @@ -64,259 +60,3 @@ true true [137438953474, 137438953475, 137438953476, 137438953477, 137438953479] cdefh cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[14 := 7, 12 := 6, 13 := 6] -map[18 := 14, 17 := 13, 16 := 12] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh diff --git a/Test/comp/Comprehensions.dfy.py.expect b/Test/comp/Comprehensions.dfy.py.expect new file mode 100644 index 00000000000..aeaa31fc0f3 --- /dev/null +++ b/Test/comp/Comprehensions.dfy.py.expect @@ -0,0 +1,62 @@ +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[14 := 7, 12 := 6, 13 := 6] +map[18 := 14, 17 := 13, 16 := 12] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh diff --git a/Test/comp/ComprehensionsNewSyntax.dfy b/Test/comp/ComprehensionsNewSyntax.dfy index a324b622e8a..6cd88aeb4f7 100644 --- a/Test/comp/ComprehensionsNewSyntax.dfy +++ b/Test/comp/ComprehensionsNewSyntax.dfy @@ -1,10 +1,5 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method Main() { Quantifier(); diff --git a/Test/comp/ComprehensionsNewSyntax.dfy.expect b/Test/comp/ComprehensionsNewSyntax.dfy.expect index 408769f4b67..b70314ff87b 100644 --- a/Test/comp/ComprehensionsNewSyntax.dfy.expect +++ b/Test/comp/ComprehensionsNewSyntax.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 10 verified, 0 errors - -Dafny program verifier did not attempt verification true false true false map[12 := 6, 13 := 6, 14 := 7] @@ -36,147 +32,3 @@ false false false false true true true true false false false false true true true true - -Dafny program verifier did not attempt verification -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true - -Dafny program verifier did not attempt verification -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true - -Dafny program verifier did not attempt verification -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true - -Dafny program verifier did not attempt verification -true false -true false -map[14 := 7, 12 := 6, 13 := 6] -map[18 := 14, 17 := 13, 16 := 12] -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true diff --git a/Test/comp/ComprehensionsNewSyntax.dfy.py.expect b/Test/comp/ComprehensionsNewSyntax.dfy.py.expect new file mode 100644 index 00000000000..b19cef0ba0e --- /dev/null +++ b/Test/comp/ComprehensionsNewSyntax.dfy.py.expect @@ -0,0 +1,34 @@ +true false +true false +map[14 := 7, 12 := 6, 13 := 6] +map[18 := 14, 17 := 13, 16 := 12] +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true diff --git a/Test/comp/CovariantCollections.dfy b/Test/comp/CovariantCollections.dfy index 12301df3b09..6dd73ee7fea 100644 --- a/Test/comp/CovariantCollections.dfy +++ b/Test/comp/CovariantCollections.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method Main() { Sequences(); diff --git a/Test/comp/CovariantCollections.dfy.expect b/Test/comp/CovariantCollections.dfy.expect index e029d3abc3b..a9d00f4a65d 100644 --- a/Test/comp/CovariantCollections.dfy.expect +++ b/Test/comp/CovariantCollections.dfy.expect @@ -1,223 +1,3 @@ - -Dafny program verifier finished with 25 verified, 0 errors - -Dafny program verifier did not attempt verification -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17] [12, 17] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - comprehension: {82} - union: {17, 82} {12, 17, 82} - intersection: {} {17} - difference: {} {82} - subset: true false true - proper subset: true false false - membership: false true true -Multisets: {} {17, 17, 82, 82} {12, 17} - cardinality: 0 4 2 - update: {17, 17, 42, 42, 42} {12, 17, 42} - multiplicity: 2 0 20 - union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} - intersection: {} {17, 82, 82} - difference: {} {17, 82, 82} - subset: true false true - proper subset: true false false - membership: false true true -Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} - cardinality: 0 3 2 - update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} - comprehension: {17 := 12, 82 := 12} - Keys: {12, 17, 82} - Values: {17, 82} - eq: false true true - eq: true true true true true true - eq: true true true true true true - eq: true false true false true false - eq: true false true false true false - eq: true true true true true true - eq: true true true true true true -set: {20, 30} -multiset: {20, 30} -seq: [20, 30] -map: {20 := 30, 30 := 20} -true -true -1 1 -1 1 - -Dafny program verifier did not attempt verification -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17] [12, 17] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - comprehension: {82} - union: {17, 82} {12, 17, 82} - intersection: {} {17} - difference: {} {82} - subset: true false true - proper subset: true false false - membership: false true true -Multisets: {} {17, 17, 82, 82} {12, 17} - cardinality: 0 4 2 - update: {17, 17, 42, 42, 42} {12, 17, 42} - multiplicity: 2 0 20 - union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} - intersection: {} {17, 82, 82} - difference: {} {17, 82, 82} - subset: true false true - proper subset: true false false - membership: false true true -Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} - cardinality: 0 3 2 - update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} - comprehension: {17 := 12, 82 := 12} - Keys: {12, 17, 82} - Values: {17, 82} - eq: false true true - eq: true true true true true true - eq: true true true true true true - eq: true false true false true false - eq: true false true false true false - eq: true true true true true true - eq: true true true true true true -set: {20, 30} -multiset: {20, 30} -seq: [20, 30] -map: {20 := 30, 30 := 20} -true -true -1 1 -1 1 - -Dafny program verifier did not attempt verification -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17] [12, 17] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - comprehension: {82} - union: {17, 82} {12, 17, 82} - intersection: {} {17} - difference: {} {82} - subset: true false true - proper subset: true false false - membership: false true true -Multisets: {} {17, 17, 82, 82} {12, 17} - cardinality: 0 4 2 - update: {17, 17, 42, 42, 42} {12, 17, 42} - multiplicity: 2 0 20 - union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} - intersection: {} {17, 82, 82} - difference: {} {17, 82, 82} - subset: true false true - proper subset: true false false - membership: false true true -Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} - cardinality: 0 3 2 - update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} - comprehension: {17 := 12, 82 := 12} - Keys: {12, 17, 82} - Values: {17, 82} - eq: false true true - eq: true true true true true true - eq: true true true true true true - eq: true false true false true false - eq: true false true false true false - eq: true true true true true true - eq: true true true true true true -set: {20, 30} -multiset: {20, 30} -seq: [20, 30] -map: {20 := 30, 30 := 20} -true -true -1 1 -1 1 - -Dafny program verifier did not attempt verification -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17] [12, 17] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - comprehension: {82} - union: {17, 82} {12, 17, 82} - intersection: {} {17} - difference: {} {82} - subset: true false true - proper subset: true false false - membership: false true true -Multisets: {} {17, 17, 82, 82} {12, 17} - cardinality: 0 4 2 - update: {17, 17, 42, 42, 42} {12, 17, 42} - multiplicity: 2 0 20 - union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} - intersection: {} {17, 82, 82} - difference: {} {17, 82, 82} - subset: true false true - proper subset: true false false - membership: false true true -Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} - cardinality: 0 3 2 - update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} - comprehension: {17 := 12, 82 := 12} - Keys: {12, 17, 82} - Values: {17, 82} - eq: false true true - eq: true true true true true true - eq: true true true true true true - eq: true false true false true false - eq: true false true false true false - eq: true true true true true true - eq: true true true true true true -set: {20, 30} -multiset: {20, 30} -seq: [20, 30] -map: {20 := 30, 30 := 20} -true -true -1 1 -1 1 - -Dafny program verifier did not attempt verification Sequences: [] [17, 82, 17, 82] [12, 17] cardinality: 0 4 2 update: [42, 82, 17, 82] [42, 17] diff --git a/Test/comp/Datatype.dfy b/Test/comp/Datatype.dfy index 2599907a94c..44579383e5c 100644 --- a/Test/comp/Datatype.dfy +++ b/Test/comp/Datatype.dfy @@ -1,10 +1,5 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation datatype List = Nil | Cons(head: int, tail: List) diff --git a/Test/comp/Datatype.dfy.expect b/Test/comp/Datatype.dfy.expect index 84dceeb16e6..93e37a9562a 100644 --- a/Test/comp/Datatype.dfy.expect +++ b/Test/comp/Datatype.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 12 verified, 0 errors - -Dafny program verifier did not attempt verification List.Nil List.Cons(5, List.Nil) (List.Nil, List.Cons(5, List.Nil)) @@ -24,99 +20,3 @@ Record.Record(58, true) 199 800 801 802 800 801 802 - -Dafny program verifier did not attempt verification -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) -0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) -Stream.Next -Stream.Next -{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} -CoBerry.Hjortron true true false -false -42 'q' hello -1701 -Record.Record(58, true) -199 -800 801 802 -800 801 802 - -Dafny program verifier did not attempt verification -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) -0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) -Stream.Next -Stream.Next -{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} -CoBerry.Hjortron true true false -false -42 'q' hello -1701 -Record.Record(58, true) -199 -800 801 802 -800 801 802 - -Dafny program verifier did not attempt verification -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) -0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) -Stream.Next -Stream.Next -{Berry.Jordgubb, Berry.Smultron, Berry.Hallon} -CoBerry.Hjortron true true false -false -42 'q' hello -1701 -Record.Record(58, true) -199 -800 801 802 -800 801 802 - -Dafny program verifier did not attempt verification -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) -0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) -Stream.Next -Stream.Next -{Berry.Hallon, Berry.Smultron, Berry.Jordgubb} -CoBerry.Hjortron true true false -false -42 'q' hello -1701 -Record.Record(58, true) -199 -800 801 802 -800 801 802 diff --git a/Test/comp/Datatype.dfy.java.expect b/Test/comp/Datatype.dfy.java.expect new file mode 100644 index 00000000000..e5a32fd58bc --- /dev/null +++ b/Test/comp/Datatype.dfy.java.expect @@ -0,0 +1,22 @@ +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) +0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) +Stream.Next +Stream.Next +{Berry.Jordgubb, Berry.Smultron, Berry.Hallon} +CoBerry.Hjortron true true false +false +42 'q' hello +1701 +Record.Record(58, true) +199 +800 801 802 +800 801 802 diff --git a/Test/comp/Datatype.dfy.py.expect b/Test/comp/Datatype.dfy.py.expect new file mode 100644 index 00000000000..0f64b73ba2d --- /dev/null +++ b/Test/comp/Datatype.dfy.py.expect @@ -0,0 +1,22 @@ +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) +0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) +Stream.Next +Stream.Next +{Berry.Hallon, Berry.Smultron, Berry.Jordgubb} +CoBerry.Hjortron true true false +false +42 'q' hello +1701 +Record.Record(58, true) +199 +800 801 802 +800 801 802 diff --git a/Test/comp/DefaultParameters-Compile.dfy b/Test/comp/DefaultParameters-Compile.dfy index 145b8670647..cd6ba1163b1 100644 --- a/Test/comp/DefaultParameters-Compile.dfy +++ b/Test/comp/DefaultParameters-Compile.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method M(x: int := 16) { print x, "\n"; diff --git a/Test/comp/DefaultParameters-Compile.dfy.expect b/Test/comp/DefaultParameters-Compile.dfy.expect index b94739d5be1..b4b87321eb5 100644 --- a/Test/comp/DefaultParameters-Compile.dfy.expect +++ b/Test/comp/DefaultParameters-Compile.dfy.expect @@ -1,51 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification -12 -16 -1 2 -1 3 -10 20 -11 13 -Color.Blue(2, 1) Color.Red(3, 4) -5 5 6 -6 6 7 - -Dafny program verifier did not attempt verification -12 -16 -1 2 -1 3 -10 20 -11 13 -Color.Blue(2, 1) Color.Red(3, 4) -5 5 6 -6 6 7 - -Dafny program verifier did not attempt verification -12 -16 -1 2 -1 3 -10 20 -11 13 -Color.Blue(2, 1) Color.Red(3, 4) -5 5 6 -6 6 7 - -Dafny program verifier did not attempt verification -12 -16 -1 2 -1 3 -10 20 -11 13 -Color.Blue(2, 1) Color.Red(3, 4) -5 5 6 -6 6 7 - -Dafny program verifier did not attempt verification 12 16 1 2 diff --git a/Test/comp/DowncastClone.dfy b/Test/comp/DowncastClone.dfy index b90066da781..cb1f095b3f4 100644 --- a/Test/comp/DowncastClone.dfy +++ b/Test/comp/DowncastClone.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Co<+T> = Co(T) | C datatype ReCo<+T> = ReCo(T) diff --git a/Test/comp/DowncastClone.dfy.expect b/Test/comp/DowncastClone.dfy.expect index 982b36b396c..b0613294f3c 100644 --- a/Test/comp/DowncastClone.dfy.expect +++ b/Test/comp/DowncastClone.dfy.expect @@ -1,43 +1,3 @@ - -Dafny program verifier finished with 7 verified, 0 errors - -Dafny program verifier did not attempt verification -Co.Co(_module.Y) and Co.Co(_module.Y) -_module.Y and _module.Y -_module.Y _module.Y -false and false -false and false -_module.Y and _module.Y -Done - -Dafny program verifier did not attempt verification -Co.Co(_module.Y) and Co.Co(_module.Y) -_module.Y and _module.Y -_module.Y _module.Y -false and false -false and false -_module.Y and _module.Y -Done - -Dafny program verifier did not attempt verification -Co.Co(_module.Y) and Co.Co(_module.Y) -_module.Y and _module.Y -_module.Y _module.Y -false and false -false and false -_module.Y and _module.Y -Done - -Dafny program verifier did not attempt verification -Co.Co(_module.Y) and Co.Co(_module.Y) -_module.Y and _module.Y -_module.Y _module.Y -false and false -false and false -_module.Y and _module.Y -Done - -Dafny program verifier did not attempt verification Co.Co(_module.Y) and Co.Co(_module.Y) _module.Y and _module.Y _module.Y _module.Y diff --git a/Test/comp/ErasableTypeWrappers.dfy b/Test/comp/ErasableTypeWrappers.dfy index d62d3736622..a280099699f 100644 --- a/Test/comp/ErasableTypeWrappers.dfy +++ b/Test/comp/ErasableTypeWrappers.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false datatype SingletonRecord = SingletonRecord(u: int) datatype GhostOrNot = ghost Ghost(a: int, b: int) | Compiled(x: int) diff --git a/Test/comp/ErasableTypeWrappers.dfy.expect b/Test/comp/ErasableTypeWrappers.dfy.expect index 5013d9fc327..2a82d776c64 100644 --- a/Test/comp/ErasableTypeWrappers.dfy.expect +++ b/Test/comp/ErasableTypeWrappers.dfy.expect @@ -1,87 +1,3 @@ - -Dafny program verifier finished with 10 verified, 0 errors - -Dafny program verifier did not attempt verification -62 63 (2, 5) (2, 5) 3 -62 63 5 5 3 -5 5 3 -1062 1063 1005 1005 1003 -true true true -20 20 *20 21 20 -20 20 *20 21 20 -true false -true false true false -true false -0 (0, 0) 0 Color.Pink -13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false - 3.14 2.7 -18.0 18.0 3.0 false -18.0 4.0 true -HasConst.MakeC(4) (4, 4) -4 (4, 4) -OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.AnotherIntsWrapper(OptimizationChecks.Ints.Ints(5, 7)) - -Dafny program verifier did not attempt verification -62 63 (2, 5) (2, 5) 3 -62 63 5 5 3 -5 5 3 -1062 1063 1005 1005 1003 -true true true -20 20 *20 21 20 -20 20 *20 21 20 -true false -true false true false -true false -0 (0, 0) 0 Color.Pink -13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false - 3.14 2.7 -18.0 18.0 3.0 false -18.0 4.0 true -HasConst.MakeC(4) (4, 4) -4 (4, 4) -OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.AnotherIntsWrapper(OptimizationChecks.Ints.Ints(5, 7)) - -Dafny program verifier did not attempt verification -62 63 (2, 5) (2, 5) 3 -62 63 5 5 3 -5 5 3 -1062 1063 1005 1005 1003 -true true true -20 20 *20 21 20 -20 20 *20 21 20 -true false -true false true false -true false -0 (0, 0) 0 Color.Pink -13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false - 3.14 2.7 -18.0 18.0 3.0 false -18.0 4.0 true -HasConst.MakeC(4) (4, 4) -4 (4, 4) -OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.AnotherIntsWrapper(OptimizationChecks.Ints.Ints(5, 7)) - -Dafny program verifier did not attempt verification -62 63 (2, 5) (2, 5) 3 -62 63 5 5 3 -5 5 3 -1062 1063 1005 1005 1003 -true true true -20 20 *20 21 20 -20 20 *20 21 20 -true false -true false true false -true false -0 (0, 0) 0 Color.Pink -13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false - 3.14 2.7 -18.0 18.0 3.0 false -18.0 4.0 true -HasConst.MakeC(4) (4, 4) -4 (4, 4) -OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.AnotherIntsWrapper(OptimizationChecks.Ints.Ints(5, 7)) - -Dafny program verifier did not attempt verification 62 63 (2, 5) (2, 5) 3 62 63 5 5 3 5 5 3 diff --git a/Test/comp/EuclideanDivision.dfy b/Test/comp/EuclideanDivision.dfy index 7ae1803cad8..1286dcd125b 100644 --- a/Test/comp/EuclideanDivision.dfy +++ b/Test/comp/EuclideanDivision.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Some runtimes (like the one for C#) have three implementations // of Euclidean div/mod: one for `int`, one for `long`, and one diff --git a/Test/comp/EuclideanDivision.dfy.expect b/Test/comp/EuclideanDivision.dfy.expect index b538c9494de..e2585ff8c70 100644 --- a/Test/comp/EuclideanDivision.dfy.expect +++ b/Test/comp/EuclideanDivision.dfy.expect @@ -1,39 +1,3 @@ - -Dafny program verifier finished with 11 verified, 0 errors - -Dafny program verifier did not attempt verification -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 - -Dafny program verifier did not attempt verification -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 - -Dafny program verifier did not attempt verification -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 - -Dafny program verifier did not attempt verification -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 - -Dafny program verifier did not attempt verification 2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 diff --git a/Test/comp/ForLoops-Compilation.dfy b/Test/comp/ForLoops-Compilation.dfy index 97101b82961..b468d21f69f 100644 --- a/Test/comp/ForLoops-Compilation.dfy +++ b/Test/comp/ForLoops-Compilation.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method Main() { TestM(0, 0); diff --git a/Test/comp/ForLoops-Compilation.dfy.expect b/Test/comp/ForLoops-Compilation.dfy.expect index d67a5429fed..97724a714bc 100644 --- a/Test/comp/ForLoops-Compilation.dfy.expect +++ b/Test/comp/ForLoops-Compilation.dfy.expect @@ -1,203 +1,3 @@ - -Dafny program verifier finished with 23 verified, 0 errors - -Dafny program verifier did not attempt verification -0 0 0 0 --2 -2 -2 -2 -0 0 0 0 -145 145 145 145 -0 0 -0 0 -57 57 -0 0 -32385 32385 -0 0 --128 -128 -126 126 -0 0 -0 * 2 == 0 -2 * 0 == 0 -1 * 1 == 1 -6 * 5 == 30 -0 + 3 == 3 -3 + 0 == 3 -4 + 0 == 4 -0 + 0 == 0 -19 + 14 == 33 -4 4 4 -== BC10 == -0 --++--++---- *** -1 --++--++----++-- -2 --++--++----++--++--++--++--++--++--++ *** -3 --++--++----++--++--++--++--++--++--++ *** -4 --++--++----++--++--++--++--++--++--++ *** -5 --++--++----++--++--++--++--++--++--++ *** -6 --++--++----++--++--++--++--++--++--++ *** -7 --++--++----++--++--++--++--++--++--++ *** -8 --++--++----++--++--++--++--++--++--++ *** -9 --++--++----++--++--++--++--++--++--++ *** -== BC11 == -0 ||--++----++-- *** -1 ||--++----++--++-- -2 ||--++----++--++--++--++--++--++--++--++ *** -3 ||--++----++--++--++--++--++--++--++--++ *** -4 ||--++----++--++--++--++--++--++--++--++ *** -5 ||--++----++--++--++--++--++--++--++--++ *** -6 ||--++----++--++--++--++--++--++--++--++ *** -7 ||--++----++--++--++--++--++--++--++--++ *** -8 ||--++----++--++--++--++--++--++--++--++ *** -9 ||--++----++--++--++--++--++--++--++--++ *** -true true true 15 -all good - -Dafny program verifier did not attempt verification -0 0 0 0 --2 -2 -2 -2 -0 0 0 0 -145 145 145 145 -0 0 -0 0 -57 57 -0 0 -32385 32385 -0 0 --128 -128 -126 126 -0 0 -0 * 2 == 0 -2 * 0 == 0 -1 * 1 == 1 -6 * 5 == 30 -0 + 3 == 3 -3 + 0 == 3 -4 + 0 == 4 -0 + 0 == 0 -19 + 14 == 33 -4 4 4 -== BC10 == -0 --++--++---- *** -1 --++--++----++-- -2 --++--++----++--++--++--++--++--++--++ *** -3 --++--++----++--++--++--++--++--++--++ *** -4 --++--++----++--++--++--++--++--++--++ *** -5 --++--++----++--++--++--++--++--++--++ *** -6 --++--++----++--++--++--++--++--++--++ *** -7 --++--++----++--++--++--++--++--++--++ *** -8 --++--++----++--++--++--++--++--++--++ *** -9 --++--++----++--++--++--++--++--++--++ *** -== BC11 == -0 ||--++----++-- *** -1 ||--++----++--++-- -2 ||--++----++--++--++--++--++--++--++--++ *** -3 ||--++----++--++--++--++--++--++--++--++ *** -4 ||--++----++--++--++--++--++--++--++--++ *** -5 ||--++----++--++--++--++--++--++--++--++ *** -6 ||--++----++--++--++--++--++--++--++--++ *** -7 ||--++----++--++--++--++--++--++--++--++ *** -8 ||--++----++--++--++--++--++--++--++--++ *** -9 ||--++----++--++--++--++--++--++--++--++ *** -true true true 15 -all good - -Dafny program verifier did not attempt verification -0 0 0 0 --2 -2 -2 -2 -0 0 0 0 -145 145 145 145 -0 0 -0 0 -57 57 -0 0 -32385 32385 -0 0 --128 -128 -126 126 -0 0 -0 * 2 == 0 -2 * 0 == 0 -1 * 1 == 1 -6 * 5 == 30 -0 + 3 == 3 -3 + 0 == 3 -4 + 0 == 4 -0 + 0 == 0 -19 + 14 == 33 -4 4 4 -== BC10 == -0 --++--++---- *** -1 --++--++----++-- -2 --++--++----++--++--++--++--++--++--++ *** -3 --++--++----++--++--++--++--++--++--++ *** -4 --++--++----++--++--++--++--++--++--++ *** -5 --++--++----++--++--++--++--++--++--++ *** -6 --++--++----++--++--++--++--++--++--++ *** -7 --++--++----++--++--++--++--++--++--++ *** -8 --++--++----++--++--++--++--++--++--++ *** -9 --++--++----++--++--++--++--++--++--++ *** -== BC11 == -0 ||--++----++-- *** -1 ||--++----++--++-- -2 ||--++----++--++--++--++--++--++--++--++ *** -3 ||--++----++--++--++--++--++--++--++--++ *** -4 ||--++----++--++--++--++--++--++--++--++ *** -5 ||--++----++--++--++--++--++--++--++--++ *** -6 ||--++----++--++--++--++--++--++--++--++ *** -7 ||--++----++--++--++--++--++--++--++--++ *** -8 ||--++----++--++--++--++--++--++--++--++ *** -9 ||--++----++--++--++--++--++--++--++--++ *** -true true true 15 -all good - -Dafny program verifier did not attempt verification -0 0 0 0 --2 -2 -2 -2 -0 0 0 0 -145 145 145 145 -0 0 -0 0 -57 57 -0 0 -32385 32385 -0 0 --128 -128 -126 126 -0 0 -0 * 2 == 0 -2 * 0 == 0 -1 * 1 == 1 -6 * 5 == 30 -0 + 3 == 3 -3 + 0 == 3 -4 + 0 == 4 -0 + 0 == 0 -19 + 14 == 33 -4 4 4 -== BC10 == -0 --++--++---- *** -1 --++--++----++-- -2 --++--++----++--++--++--++--++--++--++ *** -3 --++--++----++--++--++--++--++--++--++ *** -4 --++--++----++--++--++--++--++--++--++ *** -5 --++--++----++--++--++--++--++--++--++ *** -6 --++--++----++--++--++--++--++--++--++ *** -7 --++--++----++--++--++--++--++--++--++ *** -8 --++--++----++--++--++--++--++--++--++ *** -9 --++--++----++--++--++--++--++--++--++ *** -== BC11 == -0 ||--++----++-- *** -1 ||--++----++--++-- -2 ||--++----++--++--++--++--++--++--++--++ *** -3 ||--++----++--++--++--++--++--++--++--++ *** -4 ||--++----++--++--++--++--++--++--++--++ *** -5 ||--++----++--++--++--++--++--++--++--++ *** -6 ||--++----++--++--++--++--++--++--++--++ *** -7 ||--++----++--++--++--++--++--++--++--++ *** -8 ||--++----++--++--++--++--++--++--++--++ *** -9 ||--++----++--++--++--++--++--++--++--++ *** -true true true 15 -all good - -Dafny program verifier did not attempt verification 0 0 0 0 -2 -2 -2 -2 0 0 0 0 diff --git a/Test/comp/ForallNewSyntax.dfy b/Test/comp/ForallNewSyntax.dfy index c17bf86830e..85e609b37b3 100644 --- a/Test/comp/ForallNewSyntax.dfy +++ b/Test/comp/ForallNewSyntax.dfy @@ -1,10 +1,4 @@ -// RUN: %baredafny verify %args --relax-definite-assignment --function-syntax:3 --quantifier-syntax:4 "%s" > "%t" -// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:cs "%s" >> "%t" -// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:js "%s" >> "%t" -// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:go "%s" >> "%t" -// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:java "%s" >> "%t" -// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --function-syntax:3 --quantifier-syntax:4 --relax-definite-assignment method Main() { var arrayTests := new ArrayTests(); diff --git a/Test/comp/ForallNewSyntax.dfy.expect b/Test/comp/ForallNewSyntax.dfy.expect index 241ea9ea521..5b33d939607 100644 --- a/Test/comp/ForallNewSyntax.dfy.expect +++ b/Test/comp/ForallNewSyntax.dfy.expect @@ -1,183 +1,3 @@ - -Dafny program verifier finished with 25 verified, 0 errors - -Dafny program verifier did not attempt verification -Arrays: Basic cases -[0, 1, 2, 3, 4] -[0, 1, 2, 3, 4] -[0, 1, 4, 3, 8] - -Arrays: Wrong index -[0, 0, 1, 2, 3] -[0, 0, 1, 2, 3] -[1, 2, 3, 4, 5] - -Arrays: Sequence conversion -[2, 1, 4, 5, 6] -[0, 3, 3, 3, 4] - -Arrays: Index collection -[1, 1, 2, 3, 4] -[1, 1, 2, 3, 4] - -Arrays: Functions -[1, 1, 3, 4, 5] -[1, 1, 3, 4, 5] -[1, 2, 3, 3, 5] -[1, 2, 3, 4, 5] - -Multi-dimensional arrays -[[0, 2, 4], [1, 3, 5], [2, 4, 6]] -[[0, 1, 2], [2, 3, 4], [4, 5, 6]] - -Objects: Basic cases -[(0, 1.0), (0, 2.0), (0, 3.0)] -[(2, 1.0), (2, 2.0), (4, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] - -Objects: Bad field accesses -[(2, 1.0), (3, 2.0), (4, 3.0)] -[(2, 1.0), (2, 2.0), (2, 3.0)] -[(2, 1.0), (3, 2.0), (1, 3.0)] - -Objects: Functions -[(2, 1.0), (4, 2.0), (6, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] -[(3, 1.0), (4, 2.0), (5, 3.0)] - -Dafny program verifier did not attempt verification -Arrays: Basic cases -[0, 1, 2, 3, 4] -[0, 1, 2, 3, 4] -[0, 1, 4, 3, 8] - -Arrays: Wrong index -[0, 0, 1, 2, 3] -[0, 0, 1, 2, 3] -[1, 2, 3, 4, 5] - -Arrays: Sequence conversion -[2, 1, 4, 5, 6] -[0, 3, 3, 3, 4] - -Arrays: Index collection -[1, 1, 2, 3, 4] -[1, 1, 2, 3, 4] - -Arrays: Functions -[1, 1, 3, 4, 5] -[1, 1, 3, 4, 5] -[1, 2, 3, 3, 5] -[1, 2, 3, 4, 5] - -Multi-dimensional arrays -[[0, 2, 4], [1, 3, 5], [2, 4, 6]] -[[0, 1, 2], [2, 3, 4], [4, 5, 6]] - -Objects: Basic cases -[(0, 1.0), (0, 2.0), (0, 3.0)] -[(2, 1.0), (2, 2.0), (4, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] - -Objects: Bad field accesses -[(2, 1.0), (3, 2.0), (4, 3.0)] -[(2, 1.0), (2, 2.0), (2, 3.0)] -[(2, 1.0), (3, 2.0), (1, 3.0)] - -Objects: Functions -[(2, 1.0), (4, 2.0), (6, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] -[(3, 1.0), (4, 2.0), (5, 3.0)] - -Dafny program verifier did not attempt verification -Arrays: Basic cases -[0, 1, 2, 3, 4] -[0, 1, 2, 3, 4] -[0, 1, 4, 3, 8] - -Arrays: Wrong index -[0, 0, 1, 2, 3] -[0, 0, 1, 2, 3] -[1, 2, 3, 4, 5] - -Arrays: Sequence conversion -[2, 1, 4, 5, 6] -[0, 3, 3, 3, 4] - -Arrays: Index collection -[1, 1, 2, 3, 4] -[1, 1, 2, 3, 4] - -Arrays: Functions -[1, 1, 3, 4, 5] -[1, 1, 3, 4, 5] -[1, 2, 3, 3, 5] -[1, 2, 3, 4, 5] - -Multi-dimensional arrays -[[0, 2, 4], [1, 3, 5], [2, 4, 6]] -[[0, 1, 2], [2, 3, 4], [4, 5, 6]] - -Objects: Basic cases -[(0, 1.0), (0, 2.0), (0, 3.0)] -[(2, 1.0), (2, 2.0), (4, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] - -Objects: Bad field accesses -[(2, 1.0), (3, 2.0), (4, 3.0)] -[(2, 1.0), (2, 2.0), (2, 3.0)] -[(2, 1.0), (3, 2.0), (1, 3.0)] - -Objects: Functions -[(2, 1.0), (4, 2.0), (6, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] -[(3, 1.0), (4, 2.0), (5, 3.0)] - -Dafny program verifier did not attempt verification -Arrays: Basic cases -[0, 1, 2, 3, 4] -[0, 1, 2, 3, 4] -[0, 1, 4, 3, 8] - -Arrays: Wrong index -[0, 0, 1, 2, 3] -[0, 0, 1, 2, 3] -[1, 2, 3, 4, 5] - -Arrays: Sequence conversion -[2, 1, 4, 5, 6] -[0, 3, 3, 3, 4] - -Arrays: Index collection -[1, 1, 2, 3, 4] -[1, 1, 2, 3, 4] - -Arrays: Functions -[1, 1, 3, 4, 5] -[1, 1, 3, 4, 5] -[1, 2, 3, 3, 5] -[1, 2, 3, 4, 5] - -Multi-dimensional arrays -[[0, 2, 4], [1, 3, 5], [2, 4, 6]] -[[0, 1, 2], [2, 3, 4], [4, 5, 6]] - -Objects: Basic cases -[(0, 1.0), (0, 2.0), (0, 3.0)] -[(2, 1.0), (2, 2.0), (4, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] - -Objects: Bad field accesses -[(2, 1.0), (3, 2.0), (4, 3.0)] -[(2, 1.0), (2, 2.0), (2, 3.0)] -[(2, 1.0), (3, 2.0), (1, 3.0)] - -Objects: Functions -[(2, 1.0), (4, 2.0), (6, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] -[(3, 1.0), (4, 2.0), (5, 3.0)] - -Dafny program verifier did not attempt verification Arrays: Basic cases [0, 1, 2, 3, 4] [0, 1, 2, 3, 4] diff --git a/Test/comp/Ghosts.dfy b/Test/comp/Ghosts.dfy index 506fe0facb1..8afe8a36d3f 100644 --- a/Test/comp/Ghosts.dfy +++ b/Test/comp/Ghosts.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method M1() returns (x: int) { diff --git a/Test/comp/Ghosts.dfy.expect b/Test/comp/Ghosts.dfy.expect index 430a9c18fc0..d075ea048c1 100644 --- a/Test/comp/Ghosts.dfy.expect +++ b/Test/comp/Ghosts.dfy.expect @@ -1,55 +1,3 @@ - -Dafny program verifier finished with 8 verified, 0 errors - -Dafny program verifier did not attempt verification -hello, M2 -hello, M2 -hello, M3 -hello, M1 -hello, M1 -hello, M1 -hello, M2 -hello, M3 -hello, N0 -hello, N1 - -Dafny program verifier did not attempt verification -hello, M2 -hello, M2 -hello, M3 -hello, M1 -hello, M1 -hello, M1 -hello, M2 -hello, M3 -hello, N0 -hello, N1 - -Dafny program verifier did not attempt verification -hello, M2 -hello, M2 -hello, M3 -hello, M1 -hello, M1 -hello, M1 -hello, M2 -hello, M3 -hello, N0 -hello, N1 - -Dafny program verifier did not attempt verification -hello, M2 -hello, M2 -hello, M3 -hello, M1 -hello, M1 -hello, M1 -hello, M2 -hello, M3 -hello, N0 -hello, N1 - -Dafny program verifier did not attempt verification hello, M2 hello, M2 hello, M3 diff --git a/Test/comp/Let.dfy b/Test/comp/Let.dfy index 64dce8b90e6..2a639009c78 100644 --- a/Test/comp/Let.dfy +++ b/Test/comp/Let.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cs "%s" > "%t" -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method M() returns (x: int) { x := var y := 50; y; // non-top-level let diff --git a/Test/comp/Let.dfy.expect b/Test/comp/Let.dfy.expect index 667abc32458..f05dfc414c1 100644 --- a/Test/comp/Let.dfy.expect +++ b/Test/comp/Let.dfy.expect @@ -1,37 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors -50 58 -Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) -5 7 9 10 12 30 -5 7 -5 7 -12.0 15.0 15.0 15.0 - -Dafny program verifier finished with 5 verified, 0 errors -50 58 -Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) -5 7 9 10 12 30 -5 7 -5 7 -12.0 15.0 15.0 15.0 - -Dafny program verifier finished with 5 verified, 0 errors -50 58 -Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) -5 7 9 10 12 30 -5 7 -5 7 -12.0 15.0 15.0 15.0 - -Dafny program verifier finished with 5 verified, 0 errors -50 58 -Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) -5 7 9 10 12 30 -5 7 -5 7 -12.0 15.0 15.0 15.0 - -Dafny program verifier finished with 5 verified, 0 errors 50 58 Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) 5 7 9 10 12 30 diff --git a/Test/comp/MoreAutoInit.dfy b/Test/comp/MoreAutoInit.dfy index 46bdf7148f1..c72083f1be5 100644 --- a/Test/comp/MoreAutoInit.dfy +++ b/Test/comp/MoreAutoInit.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { Methods.TestStart(); diff --git a/Test/comp/MoreAutoInit.dfy.expect b/Test/comp/MoreAutoInit.dfy.expect index e707d9ea27a..a077ee0daa9 100644 --- a/Test/comp/MoreAutoInit.dfy.expect +++ b/Test/comp/MoreAutoInit.dfy.expect @@ -1,575 +1,3 @@ - -Dafny program verifier finished with 38 verified, 0 errors - -Dafny program verifier did not attempt verification -Methods.Uni.Uni - ++ Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -{} - ++ {} -[] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -Functions.Uni.Uni - ++ Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -{2} - ++ {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni -[] ++ [] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] - ** [] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] - ** [] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] - ++ [Consts.Uni.Uni] ++ [] - ** [] ++ [] ++ [] -15 -0-0 0.0-0.0 false-false 'D'-'D' 0 -0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 -0-0 0-0 0-0 0-0 1 1 -0.0-0.0 68.0 -null-null null-null null-null null-null -0 -0:0:0 -0-0 -{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] -DefaultValuedExpressions.Color.Red-DefaultValuedExpressions.Color.Red DefaultValuedExpressions.PossibleCell.Nothing-DefaultValuedExpressions.PossibleCell.Nothing DefaultValuedExpressions.Cell.LittleCell(0)-DefaultValuedExpressions.Cell.LittleCell(0) -()-() (0, 0.0)-(0, 0.0) -(DefaultValuedExpressions.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions.Color.Red, (0, 0.0), ()) -null-null null-null -0-0 0-0 0-0 3 4 5 -0-0 11 0-0 8 - -Dafny program verifier did not attempt verification -Methods.Uni.Uni - ++ Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -{} - ++ {} -[] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -Functions.Uni.Uni - ++ Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -{2} - ++ {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni -[] ++ [] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] - ** [] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] - ** [] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] - ++ [Consts.Uni.Uni] ++ [] - ** [] ++ [] ++ [] -15 -0-0 0.0-0.0 false-false 'D'-'D' 0 -0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 -0-0 0-0 0-0 0-0 1 1 -0.0-0.0 68.0 -null-null null-null null-null null-null -0 -0:0:0 -0-0 -{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] -DefaultValuedExpressions.Color.Red-DefaultValuedExpressions.Color.Red DefaultValuedExpressions.PossibleCell.Nothing-DefaultValuedExpressions.PossibleCell.Nothing DefaultValuedExpressions.Cell.LittleCell(0)-DefaultValuedExpressions.Cell.LittleCell(0) -()-() (0, 0.0)-(0, 0.0) -(DefaultValuedExpressions.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions.Color.Red, (0, 0.0), ()) -null-null null-null -0-0 0-0 0-0 3 4 5 -0-0 11 0-0 8 - -Dafny program verifier did not attempt verification -Methods.Uni.Uni - ++ Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -{} - ++ {} -[] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -Functions.Uni.Uni - ++ Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -{2} - ++ {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni -[] ++ [] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] - ** [] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] - ** [] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] - ++ [Consts.Uni.Uni] ++ [] - ** [] ++ [] ++ [] -15 -0-0 0.0-0.0 false-false 'D'-'D' 0 -0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 -0-0 0-0 0-0 0-0 1 1 -0.0-0.0 68.0 -null-null null-null null-null null-null -0 -0:0:0 -0-0 -{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] -DefaultValuedExpressions.Color.Red-DefaultValuedExpressions.Color.Red DefaultValuedExpressions.PossibleCell.Nothing-DefaultValuedExpressions.PossibleCell.Nothing DefaultValuedExpressions.Cell.LittleCell(0)-DefaultValuedExpressions.Cell.LittleCell(0) -()-() (0, 0.0)-(0, 0.0) -(DefaultValuedExpressions.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions.Color.Red, (0, 0.0), ()) -null-null null-null -0-0 0-0 0-0 3 4 5 -0-0 11 0-0 8 - -Dafny program verifier did not attempt verification -Methods.Uni.Uni - ++ Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -{} - ++ {} -[] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -Functions.Uni.Uni - ++ Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -{2} - ++ {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni -[] ++ [] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] - ** [] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] - ** [] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] - ++ [Consts.Uni.Uni] ++ [] - ** [] ++ [] ++ [] -15 -0-0 0.0-0.0 false-false 'D'-'D' 0 -0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 -0-0 0-0 0-0 0-0 1 1 -0.0-0.0 68.0 -null-null null-null null-null null-null -0 -0:0:0 -0-0 -{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] -DefaultValuedExpressions.Color.Red-DefaultValuedExpressions.Color.Red DefaultValuedExpressions.PossibleCell.Nothing-DefaultValuedExpressions.PossibleCell.Nothing DefaultValuedExpressions.Cell.LittleCell(0)-DefaultValuedExpressions.Cell.LittleCell(0) -()-() (0, 0.0)-(0, 0.0) -(DefaultValuedExpressions.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions.Color.Red, (0, 0.0), ()) -null-null null-null -0-0 0-0 0-0 3 4 5 -0-0 11 0-0 8 - -Dafny program verifier did not attempt verification Methods.Uni.Uni ++ Methods.Uni.Uni Methods.Uni.Uni Methods.Uni.Uni diff --git a/Test/comp/NativeNumbers.dfy b/Test/comp/NativeNumbers.dfy index c63d02cf643..e1fadb1c406 100644 --- a/Test/comp/NativeNumbers.dfy +++ b/Test/comp/NativeNumbers.dfy @@ -1,11 +1,6 @@ +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false // Skip JavaScript because JavaScript doesn't have the same native types -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" method Main() { CastTests(); diff --git a/Test/comp/NativeNumbers.dfy.expect b/Test/comp/NativeNumbers.dfy.expect index 2be030252cf..6a9d263fc73 100644 --- a/Test/comp/NativeNumbers.dfy.expect +++ b/Test/comp/NativeNumbers.dfy.expect @@ -1,259 +1,3 @@ - -Dafny program verifier finished with 25 verified, 0 errors - -Dafny program verifier did not attempt verification -Casting: - -Small numbers: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 -5 5 5 5 5 5 5 5 5 -6 6 6 6 6 6 6 6 6 -7 7 7 7 7 7 7 7 7 -8 8 8 8 8 8 8 8 8 - -Large unsigned numbers: -255 255 255 255 255 255 255 255 -65535 65535 65535 65535 65535 65535 -4294967295 4294967295 4294967295 4294967295 -18446744073709551615 18446744073709551615 - -Int to large unsigned: -255 65535 4294967295 18446744073709551615 - -Cast from cardinality operator: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 - -Characters: -C 67 67 67 67 67 67 67 67 67 -0 127 32767 65535 65535 255 65535 65535 65535 - -Defaults: - -0 0 0 0 0 0 0 0 0 - -Byte arithmetic: - -20 30 -10 10 18 - -Short arithmetic: - -20 30 -10 10 18 - -Bitvectors: - -0 3 4 1 - -Comparison to zero: - -int8: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int16: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int32: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int64: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint8: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint16: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint32: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint64: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N - - -Dafny program verifier did not attempt verification -Casting: - -Small numbers: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 -5 5 5 5 5 5 5 5 5 -6 6 6 6 6 6 6 6 6 -7 7 7 7 7 7 7 7 7 -8 8 8 8 8 8 8 8 8 - -Large unsigned numbers: -255 255 255 255 255 255 255 255 -65535 65535 65535 65535 65535 65535 -4294967295 4294967295 4294967295 4294967295 -18446744073709551615 18446744073709551615 - -Int to large unsigned: -255 65535 4294967295 18446744073709551615 - -Cast from cardinality operator: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 - -Characters: -C 67 67 67 67 67 67 67 67 67 -0 127 32767 65535 65535 255 65535 65535 65535 - -Defaults: - -0 0 0 0 0 0 0 0 0 - -Byte arithmetic: - -20 30 -10 10 18 - -Short arithmetic: - -20 30 -10 10 18 - -Bitvectors: - -0 3 4 1 - -Comparison to zero: - -int8: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int16: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int32: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int64: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint8: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint16: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint32: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint64: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N - - -Dafny program verifier did not attempt verification -Casting: - -Small numbers: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 -5 5 5 5 5 5 5 5 5 -6 6 6 6 6 6 6 6 6 -7 7 7 7 7 7 7 7 7 -8 8 8 8 8 8 8 8 8 - -Large unsigned numbers: -255 255 255 255 255 255 255 255 -65535 65535 65535 65535 65535 65535 -4294967295 4294967295 4294967295 4294967295 -18446744073709551615 18446744073709551615 - -Int to large unsigned: -255 65535 4294967295 18446744073709551615 - -Cast from cardinality operator: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 - -Characters: -C 67 67 67 67 67 67 67 67 67 -0 127 32767 65535 65535 255 65535 65535 65535 - -Defaults: - -0 0 0 0 0 0 0 0 0 - -Byte arithmetic: - -20 30 -10 10 18 - -Short arithmetic: - -20 30 -10 10 18 - -Bitvectors: - -0 3 4 1 - -Comparison to zero: - -int8: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int16: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int32: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int64: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint8: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint16: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint32: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint64: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N - - -Dafny program verifier did not attempt verification Casting: Small numbers: diff --git a/Test/comp/NestedArrays.dfy b/Test/comp/NestedArrays.dfy index 0c2b313a32c..39d256f4936 100644 --- a/Test/comp/NestedArrays.dfy +++ b/Test/comp/NestedArrays.dfy @@ -1,9 +1,4 @@ -// RUN: %baredafny verify --relax-definite-assignment %args "%s" > "%t" -// RUN: %baredafny run --no-verify --target=cs %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=js %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=go %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=py %args "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /* Note, compiling to arrays in Java is difficult. In fact, this is currently * broken, see https://github.com/dafny-lang/dafny/issues/3055. Until this gets diff --git a/Test/comp/NestedArrays.dfy.expect b/Test/comp/NestedArrays.dfy.expect index a24d140b9d4..aa47d0d46d4 100644 --- a/Test/comp/NestedArrays.dfy.expect +++ b/Test/comp/NestedArrays.dfy.expect @@ -1,18 +1,2 @@ - -Dafny program verifier finished with 4 verified, 0 errors - -Dafny program verifier did not attempt verification -0 -0 - -Dafny program verifier did not attempt verification -0 -0 - -Dafny program verifier did not attempt verification -0 -0 - -Dafny program verifier did not attempt verification 0 0 diff --git a/Test/comp/Numbers.dfy b/Test/comp/Numbers.dfy index 36bf24dcdb4..c76bc87fdc0 100644 --- a/Test/comp/Numbers.dfy +++ b/Test/comp/Numbers.dfy @@ -1,10 +1,5 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false method Main() { Literals(); diff --git a/Test/comp/Numbers.dfy.expect b/Test/comp/Numbers.dfy.expect index 8d994e1c7c6..7eacf4e709d 100644 --- a/Test/comp/Numbers.dfy.expect +++ b/Test/comp/Numbers.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 59 verified, 0 errors - -Dafny program verifier did not attempt verification 0 0 3 @@ -113,455 +109,3 @@ true false true false false true false true true false true false 20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -g Q 2 -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -(312.0 / 40.0) (1248.0 / 40.0) -(-312.0 / 40.0) (-1248.0 / 40.0) -(-312.0 / 40.0) (1248.0 / 40.0) -(312.0 / 40.0) (-1248.0 / 40.0) -0.0 0.0 0.0 -120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) -123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 (8100.0 / 8100.0) -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -g Q 2 -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -g Q 2 -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -(312.0 / 40.0) (1248.0 / 40.0) -(-312.0 / 40.0) (-1248.0 / 40.0) -(-312.0 / 40.0) (1248.0 / 40.0) -(312.0 / 40.0) (-1248.0 / 40.0) -0.0 0.0 0.0 -120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) -123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 (8100.0 / 8100.0) -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -g Q 2 -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 diff --git a/Test/comp/Numbers.dfy.go.expect b/Test/comp/Numbers.dfy.go.expect new file mode 100644 index 00000000000..ce109553619 --- /dev/null +++ b/Test/comp/Numbers.dfy.go.expect @@ -0,0 +1,111 @@ +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +g Q 2 +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 diff --git a/Test/comp/Numbers.dfy.py.expect b/Test/comp/Numbers.dfy.py.expect new file mode 100644 index 00000000000..ce109553619 --- /dev/null +++ b/Test/comp/Numbers.dfy.py.expect @@ -0,0 +1,111 @@ +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +g Q 2 +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 diff --git a/Test/comp/Poly.dfy b/Test/comp/Poly.dfy index f3c3aa58599..5af5e8134e9 100644 --- a/Test/comp/Poly.dfy +++ b/Test/comp/Poly.dfy @@ -1,10 +1,5 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation trait Shape { function Center(): (real, real) reads this diff --git a/Test/comp/Poly.dfy.expect b/Test/comp/Poly.dfy.expect index 4ffff82d5ab..7dc24821586 100644 --- a/Test/comp/Poly.dfy.expect +++ b/Test/comp/Poly.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 15 verified, 0 errors - -Dafny program verifier did not attempt verification Center of square: ((1.0 / 2.0), (1.0 / 2.0)) Center of circle: (1.0, 1.0) Center: ((1.0 / 2.0), (1.0 / 2.0)) @@ -14,59 +10,3 @@ Center: ((1.0 / 2.0), (1.0 / 2.0)) Center: (1.0, 1.0) Center: ((1.0 / 2.0), (1.0 / 2.0)) Center: (1.0, 1.0) - -Dafny program verifier did not attempt verification -Center of square: ((1.0 / 2.0), (1.0 / 2.0)) -Center of circle: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) - -Dafny program verifier did not attempt verification -Center of square: ((1.0 / 2.0), (1.0 / 2.0)) -Center of circle: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) - -Dafny program verifier did not attempt verification -Center of square: (0.5, 0.5) -Center of circle: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) - -Dafny program verifier did not attempt verification -Center of square: (0.5, 0.5) -Center of circle: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) diff --git a/Test/comp/Poly.dfy.go.expect b/Test/comp/Poly.dfy.go.expect new file mode 100644 index 00000000000..88e09c5e6ff --- /dev/null +++ b/Test/comp/Poly.dfy.go.expect @@ -0,0 +1,12 @@ +Center of square: (0.5, 0.5) +Center of circle: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) diff --git a/Test/comp/Poly.dfy.py.expect b/Test/comp/Poly.dfy.py.expect new file mode 100644 index 00000000000..88e09c5e6ff --- /dev/null +++ b/Test/comp/Poly.dfy.py.expect @@ -0,0 +1,12 @@ +Center of square: (0.5, 0.5) +Center of circle: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) diff --git a/Test/comp/Print.dfy b/Test/comp/Print.dfy index 166bae4c351..39f8a447396 100644 --- a/Test/comp/Print.dfy +++ b/Test/comp/Print.dfy @@ -1,9 +1,5 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false // Python salts hashes so they are not deterministic. diff --git a/Test/comp/Print.dfy.expect b/Test/comp/Print.dfy.expect index c2b186af0ec..88ded65afab 100644 --- a/Test/comp/Print.dfy.expect +++ b/Test/comp/Print.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification Strings in collections: [abc, def] [[abc, def]] @@ -10,33 +6,3 @@ Strings in collections: [] [] [aaaaa] - -Dafny program verifier did not attempt verification -Strings in collections: - [abc, def] - [[abc, def]] - {abc, def} - [abc, def] - [] - [] - [aaaaa] - -Dafny program verifier did not attempt verification -Strings in collections: - [abc, def] - [[abc, def]] - {abc, def} - [abc, def] - [] - [] - [aaaaa] - -Dafny program verifier did not attempt verification -Strings in collections: - [abc, def] - [[abc, def]] - {abc, def} - [abc, def] - [] - [] - [aaaaa] diff --git a/Test/comp/Print.dfy.go.expect b/Test/comp/Print.dfy.go.expect new file mode 100644 index 00000000000..7ac90f01b3c --- /dev/null +++ b/Test/comp/Print.dfy.go.expect @@ -0,0 +1,8 @@ +Strings in collections: + [abc, def] + [[abc, def]] + {abc, def} + [abc, def] + [] + [] + [aaaaa] diff --git a/Test/comp/Print.dfy.java.expect b/Test/comp/Print.dfy.java.expect new file mode 100644 index 00000000000..7ac90f01b3c --- /dev/null +++ b/Test/comp/Print.dfy.java.expect @@ -0,0 +1,8 @@ +Strings in collections: + [abc, def] + [[abc, def]] + {abc, def} + [abc, def] + [] + [] + [aaaaa] diff --git a/Test/comp/Print.dfy.js.expect b/Test/comp/Print.dfy.js.expect new file mode 100644 index 00000000000..7ac90f01b3c --- /dev/null +++ b/Test/comp/Print.dfy.js.expect @@ -0,0 +1,8 @@ +Strings in collections: + [abc, def] + [[abc, def]] + {abc, def} + [abc, def] + [] + [] + [aaaaa] diff --git a/Test/comp/StaticMembersOfGenericTypes.dfy b/Test/comp/StaticMembersOfGenericTypes.dfy index 8c402dab951..8a8614d21a5 100644 --- a/Test/comp/StaticMembersOfGenericTypes.dfy +++ b/Test/comp/StaticMembersOfGenericTypes.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { GenericClass(); diff --git a/Test/comp/StaticMembersOfGenericTypes.dfy.expect b/Test/comp/StaticMembersOfGenericTypes.dfy.expect index 54e32b42ee5..196f1295e12 100644 --- a/Test/comp/StaticMembersOfGenericTypes.dfy.expect +++ b/Test/comp/StaticMembersOfGenericTypes.dfy.expect @@ -1,79 +1,3 @@ - -Dafny program verifier finished with 9 verified, 0 errors - -Dafny program verifier did not attempt verification -(0, 1) (true, 2, 3) -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -(2.0, true) (3.0, false) -(2.0, true) (3.0, false) -true false -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -50 3 4 -149 - -Dafny program verifier did not attempt verification -(0, 1) (true, 2, 3) -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -(2.0, true) (3.0, false) -(2.0, true) (3.0, false) -true false -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -50 3 4 -149 - -Dafny program verifier did not attempt verification -(0, 1) (true, 2, 3) -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -(2.0, true) (3.0, false) -(2.0, true) (3.0, false) -true false -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -50 3 4 -149 - -Dafny program verifier did not attempt verification -(0, 1) (true, 2, 3) -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -(2.0, true) (3.0, false) -(2.0, true) (3.0, false) -true false -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -50 3 4 -149 - -Dafny program verifier did not attempt verification (0, 1) (true, 2, 3) 0 25 (20, 21) (20, 21) 23 22 0 25 (20, 21) (20, 21) 23 22 diff --git a/Test/comp/TailRecursion.dfy b/Test/comp/TailRecursion.dfy index 68ba6ee4669..b3631d5eccc 100644 --- a/Test/comp/TailRecursion.dfy +++ b/Test/comp/TailRecursion.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { // In the following, 2_000_000 is too large an argument without tail-calls diff --git a/Test/comp/TailRecursion.dfy.expect b/Test/comp/TailRecursion.dfy.expect index 23c852a41fe..4b9da7e5093 100644 --- a/Test/comp/TailRecursion.dfy.expect +++ b/Test/comp/TailRecursion.dfy.expect @@ -1,79 +1,3 @@ - -Dafny program verifier finished with 28 verified, 0 errors - -Dafny program verifier did not attempt verification -2000000 2000000 -2000000 2000000 -1000000 1000000 -10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 -TriangleNumber(10) = 55 -TriangleNumber_Real(10) = 55.0 -TriangleNumber_ORDINAL(10) = 55 -Factorial(5) = 120 -Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] -UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] -Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 -TheBigSubtract(100) = -12 -TailNat(10) = 50 -17 17 17 -2000000 - -Dafny program verifier did not attempt verification -2000000 2000000 -2000000 2000000 -1000000 1000000 -10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 -TriangleNumber(10) = 55 -TriangleNumber_Real(10) = 55.0 -TriangleNumber_ORDINAL(10) = 55 -Factorial(5) = 120 -Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] -UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] -Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 -TheBigSubtract(100) = -12 -TailNat(10) = 50 -17 17 17 -2000000 - -Dafny program verifier did not attempt verification -2000000 2000000 -2000000 2000000 -1000000 1000000 -10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 -TriangleNumber(10) = 55 -TriangleNumber_Real(10) = 55.0 -TriangleNumber_ORDINAL(10) = 55 -Factorial(5) = 120 -Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] -UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] -Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 -TheBigSubtract(100) = -12 -TailNat(10) = 50 -17 17 17 -2000000 - -Dafny program verifier did not attempt verification -2000000 2000000 -2000000 2000000 -1000000 1000000 -10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 -TriangleNumber(10) = 55 -TriangleNumber_Real(10) = 55.0 -TriangleNumber_ORDINAL(10) = 55 -Factorial(5) = 120 -Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] -UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] -Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 -TheBigSubtract(100) = -12 -TailNat(10) = 50 -17 17 17 -2000000 - -Dafny program verifier did not attempt verification 2000000 2000000 2000000 2000000 1000000 1000000 diff --git a/Test/comp/TypeDescriptors.dfy b/Test/comp/TypeDescriptors.dfy index 636cb3db583..5bedbb900e4 100644 --- a/Test/comp/TypeDescriptors.dfy +++ b/Test/comp/TypeDescriptors.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Method(s: string, g: G) { var zero: G; diff --git a/Test/comp/TypeDescriptors.dfy.expect b/Test/comp/TypeDescriptors.dfy.expect index 9b1e8487bdc..1b09338c83d 100644 --- a/Test/comp/TypeDescriptors.dfy.expect +++ b/Test/comp/TypeDescriptors.dfy.expect @@ -1,155 +1,3 @@ - -Dafny program verifier finished with 11 verified, 0 errors - -Dafny program verifier did not attempt verification -int: 8 0 -bool: true false -char: 'r' 'D' -real: 1.618 0.0 -ORDINAL: 0 -bv0: 0 0 -bv21: 121 0 -bv32: 132 0 -bv191: 191 0 -set: {7} {} -multiset: multiset{7, 7} multiset{} -seq: [7] [] -map: map[2 := 7] map[] -pos: 3 1 -Hundred: 6 0 -HundredOdd: 13 19 -JustOdd: 131 5 -(): () () -(int, real): (2, 3.2) (0, 0.0) -(int, pos): (2, 3) (0, 1) -AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) -Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) -Stream: Stream.More -A=int: 15 0 -B=int: 16 0 -datatype.B=: {14} {} -object?: null -Class?>: null -Trait?>: null -array?: null -array2?: null -int --> bool: null -array? ~> bool: null - -Dafny program verifier did not attempt verification -int: 8 0 -bool: true false -char: 'r' 'D' -real: 1.618 0.0 -ORDINAL: 0 -bv0: 0 0 -bv21: 121 0 -bv32: 132 0 -bv191: 191 0 -set: {7} {} -multiset: multiset{7, 7} multiset{} -seq: [7] [] -map: map[2 := 7] map[] -pos: 3 1 -Hundred: 6 0 -HundredOdd: 13 19 -JustOdd: 131 5 -(): () () -(int, real): (2, 3.2) (0, 0.0) -(int, pos): (2, 3) (0, 1) -AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) -Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) -Stream: Stream.More -A=int: 15 0 -B=int: 16 0 -datatype.B=: {14} {} -object?: null -Class?>: null -Trait?>: null -array?: null -array2?: null -int --> bool: null -array? ~> bool: null - -Dafny program verifier did not attempt verification -int: 8 0 -bool: true false -char: 'r' 'D' -real: 1.618 0.0 -ORDINAL: 0 -bv0: 0 0 -bv21: 121 0 -bv32: 132 0 -bv191: 191 0 -set: {7} {} -multiset: multiset{7, 7} multiset{} -seq: [7] [] -map: map[2 := 7] map[] -pos: 3 1 -Hundred: 6 0 -HundredOdd: 13 19 -JustOdd: 131 5 -(): () () -(int, real): (2, 3.2) (0, 0.0) -(int, pos): (2, 3) (0, 1) -AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) -Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) -Stream: Stream.More -A=int: 15 0 -B=int: 16 0 -datatype.B=: {14} {} -object?: null -Class?>: null -Trait?>: null -array?: null -array2?: null -int --> bool: null -array? ~> bool: null - -Dafny program verifier did not attempt verification -int: 8 0 -bool: true false -char: 'r' 'D' -real: 1.618 0.0 -ORDINAL: 0 -bv0: 0 0 -bv21: 121 0 -bv32: 132 0 -bv191: 191 0 -set: {7} {} -multiset: multiset{7, 7} multiset{} -seq: [7] [] -map: map[2 := 7] map[] -pos: 3 1 -Hundred: 6 0 -HundredOdd: 13 19 -JustOdd: 131 5 -(): () () -(int, real): (2, 3.2) (0, 0.0) -(int, pos): (2, 3) (0, 1) -AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) -Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) -Stream: Stream.More -A=int: 15 0 -B=int: 16 0 -datatype.B=: {14} {} -object?: null -Class?>: null -Trait?>: null -array?: null -array2?: null -int --> bool: null -array? ~> bool: null - -Dafny program verifier did not attempt verification int: 8 0 bool: true false char: 'r' 'D' diff --git a/Test/comp/TypeParams.dfy b/Test/comp/TypeParams.dfy index 11d1b3bac6a..c595881e028 100644 --- a/Test/comp/TypeParams.dfy +++ b/Test/comp/TypeParams.dfy @@ -1,11 +1,6 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" - -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation + datatype Color = Orange | Pink | Teal type Six = x | x <= 6 diff --git a/Test/comp/TypeParams.dfy.expect b/Test/comp/TypeParams.dfy.expect index ac8ef1c58e5..1381a030f65 100644 --- a/Test/comp/TypeParams.dfy.expect +++ b/Test/comp/TypeParams.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 17 verified, 0 errors - -Dafny program verifier did not attempt verification 0 0 0 false Color.Orange 0.0 {} Color.Orange null null null null null {} multiset{} [] map[] {} map[] @@ -21,87 +17,3 @@ System.Func`2[Dafny.BigRational,System.Boolean] System.Func`1[System.Numerics.BigInteger] System.Func`3[_module._IColor,Dafny.ISet`1[System.UInt16],System.UInt32] 0 0 - -Dafny program verifier did not attempt verification -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -function () { return false; } -function () { return _dafny.ZERO; } -function () { return _dafny.ZERO; } -0 0 - -Dafny program verifier did not attempt verification -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -func(dafny.Real) bool -func() dafny.Int -func(main.Color, dafny.Set) uint32 -0 0 - -Dafny program verifier did not attempt verification -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -Function -Function -Function -0 0 - -Dafny program verifier did not attempt verification -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -Function -Function -Function -0 0 diff --git a/Test/comp/TypeParams.dfy.go.expect b/Test/comp/TypeParams.dfy.go.expect new file mode 100644 index 00000000000..e3a8e67d066 --- /dev/null +++ b/Test/comp/TypeParams.dfy.go.expect @@ -0,0 +1,19 @@ +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +func(dafny.Real) bool +func() dafny.Int +func(main.Color, dafny.Set) uint32 +0 0 diff --git a/Test/comp/TypeParams.dfy.java.expect b/Test/comp/TypeParams.dfy.java.expect new file mode 100644 index 00000000000..5f843ba06d1 --- /dev/null +++ b/Test/comp/TypeParams.dfy.java.expect @@ -0,0 +1,19 @@ +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +Function +Function +Function +0 0 diff --git a/Test/comp/TypeParams.dfy.js.expect b/Test/comp/TypeParams.dfy.js.expect new file mode 100644 index 00000000000..865c33ea48b --- /dev/null +++ b/Test/comp/TypeParams.dfy.js.expect @@ -0,0 +1,19 @@ +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +function () { return false; } +function () { return _dafny.ZERO; } +function () { return _dafny.ZERO; } +0 0 diff --git a/Test/comp/TypeParams.dfy.py.expect b/Test/comp/TypeParams.dfy.py.expect new file mode 100644 index 00000000000..5f843ba06d1 --- /dev/null +++ b/Test/comp/TypeParams.dfy.py.expect @@ -0,0 +1,19 @@ +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +Function +Function +Function +0 0 diff --git a/Test/comp/UnoptimizedErasableTypeWrappers.dfy b/Test/comp/UnoptimizedErasableTypeWrappers.dfy index 58f0682ed41..b7911aed9db 100644 --- a/Test/comp/UnoptimizedErasableTypeWrappers.dfy +++ b/Test/comp/UnoptimizedErasableTypeWrappers.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --optimize-erasable-datatype-wrapper:false --relax-definite-assignment --spill-translation datatype SingletonRecord = SingletonRecord(u: int) datatype WithGhost = WithGhost(u: int, ghost v: int) diff --git a/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect b/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect index be1d7190b0f..3371376a52b 100644 --- a/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect +++ b/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect @@ -1,31 +1,3 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification -SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) -() (30) (31) (30, 32) -15 20 -30 31 30 32 - -Dafny program verifier did not attempt verification -SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) -() (30) (31) (30, 32) -15 20 -30 31 30 32 - -Dafny program verifier did not attempt verification -SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) -() (30) (31) (30, 32) -15 20 -30 31 30 32 - -Dafny program verifier did not attempt verification -SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) -() (30) (31) (30, 32) -15 20 -30 31 30 32 - -Dafny program verifier did not attempt verification SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) () (30) (31) (30, 32) 15 20 diff --git a/Test/comp/Variance.dfy b/Test/comp/Variance.dfy index 6c198495209..ddcde6cd7d7 100644 --- a/Test/comp/Variance.dfy +++ b/Test/comp/Variance.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 /deprecation:0 "%s" > "%t" -// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --warn-deprecation:false datatype Co<+T> = Co(z: T) { const x: int; diff --git a/Test/comp/Variance.dfy.expect b/Test/comp/Variance.dfy.expect index cf08d82ac07..5bb565b6bb4 100644 --- a/Test/comp/Variance.dfy.expect +++ b/Test/comp/Variance.dfy.expect @@ -1,67 +1,3 @@ - -Dafny program verifier finished with 13 verified, 0 errors - -Dafny program verifier did not attempt verification -Co.Co(_module.Int) and Co.Co(_module.Int) -true0[]0000 -Non.Non(_module.Int) and Non.Non(_module.Int) -true0[]0000 -0 and 0 -_module.Int0[]0000 -CCo.CCo and CCo.CCo -true0[]0000 -CNon.CNon and CNon.CNon -true0[]0000 -CCon.CCon and CCon.CCon -_module.Int0[]0000 -Done - -Dafny program verifier did not attempt verification -Co.Co(_module.Int) and Co.Co(_module.Int) -true0[]0000 -Non.Non(_module.Int) and Non.Non(_module.Int) -true0[]0000 -0 and 0 -_module.Int0[]0000 -CCo.CCo and CCo.CCo -true0[]0000 -CNon.CNon and CNon.CNon -true0[]0000 -CCon.CCon and CCon.CCon -_module.Int0[]0000 -Done - -Dafny program verifier did not attempt verification -Co.Co(_module.Int) and Co.Co(_module.Int) -true0[]0000 -Non.Non(_module.Int) and Non.Non(_module.Int) -true0[]0000 -0 and 0 -_module.Int0[]0000 -CCo.CCo and CCo.CCo -true0[]0000 -CNon.CNon and CNon.CNon -true0[]0000 -CCon.CCon and CCon.CCon -_module.Int0[]0000 -Done - -Dafny program verifier did not attempt verification -Co.Co(_module.Int) and Co.Co(_module.Int) -true0[]0000 -Non.Non(_module.Int) and Non.Non(_module.Int) -true0[]0000 -0 and 0 -_module.Int0[]0000 -CCo.CCo and CCo.CCo -true0[]0000 -CNon.CNon and CNon.CNon -true0[]0000 -CCon.CCon and CCon.CCon -_module.Int0[]0000 -Done - -Dafny program verifier did not attempt verification Co.Co(_module.Int) and Co.Co(_module.Int) true0[]0000 Non.Non(_module.Int) and Non.Non(_module.Int) diff --git a/Test/comp/Various.dfy b/Test/comp/Various.dfy index 1f29c511a83..502801e4c2a 100644 --- a/Test/comp/Various.dfy +++ b/Test/comp/Various.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Match(tp: (nat, nat)) { match tp diff --git a/Test/comp/Various.dfy.expect b/Test/comp/Various.dfy.expect index 502e2d04792..66f013c00f7 100644 --- a/Test/comp/Various.dfy.expect +++ b/Test/comp/Various.dfy.expect @@ -1,43 +1,3 @@ - -Dafny program verifier finished with 4 verified, 0 errors - -Dafny program verifier did not attempt verification -match -1 -Kablammo!! -0 -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] - -Dafny program verifier did not attempt verification -match -1 -Kablammo!! -0 -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] - -Dafny program verifier did not attempt verification -match -1 -Kablammo!! -0 -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] - -Dafny program verifier did not attempt verification -match -1 -Kablammo!! -0 -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] - -Dafny program verifier did not attempt verification match 1 Kablammo!! diff --git a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy index 10fe57dec8f..2cf77360cab 100644 --- a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy +++ b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // An extremely small program intended to be the first target input for // brand new Dafny compilers. Avoids any use of strings (and therefore sequences) diff --git a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect index e1dcaef650b..f32a5804e29 100644 --- a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect +++ b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect @@ -1,5 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification true \ No newline at end of file diff --git a/Test/comp/firstSteps/1_Calls-F.dfy b/Test/comp/firstSteps/1_Calls-F.dfy index 32566f59f3b..4fe5b83e551 100644 --- a/Test/comp/firstSteps/1_Calls-F.dfy +++ b/Test/comp/firstSteps/1_Calls-F.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/1_Calls-F.dfy.expect b/Test/comp/firstSteps/1_Calls-F.dfy.expect index 58e0a68ec1c..7ed6ff82de6 100644 --- a/Test/comp/firstSteps/1_Calls-F.dfy.expect +++ b/Test/comp/firstSteps/1_Calls-F.dfy.expect @@ -1,5 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification 5 diff --git a/Test/comp/firstSteps/2_Modules.dfy b/Test/comp/firstSteps/2_Modules.dfy index 750b8d60c21..d0effcb5a71 100644 --- a/Test/comp/firstSteps/2_Modules.dfy +++ b/Test/comp/firstSteps/2_Modules.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module A { const i: nat := 1 diff --git a/Test/comp/firstSteps/2_Modules.dfy.expect b/Test/comp/firstSteps/2_Modules.dfy.expect index 9a4b57459c7..b85905ec0b9 100644 --- a/Test/comp/firstSteps/2_Modules.dfy.expect +++ b/Test/comp/firstSteps/2_Modules.dfy.expect @@ -1,5 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification 1 2 3 diff --git a/Test/comp/firstSteps/3_Calls-As.dfy b/Test/comp/firstSteps/3_Calls-As.dfy index f22bbdbd3f6..38889421865 100644 --- a/Test/comp/firstSteps/3_Calls-As.dfy +++ b/Test/comp/firstSteps/3_Calls-As.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/3_Calls-As.dfy.expect b/Test/comp/firstSteps/3_Calls-As.dfy.expect index eea6c52592c..a1c59bb761f 100644 --- a/Test/comp/firstSteps/3_Calls-As.dfy.expect +++ b/Test/comp/firstSteps/3_Calls-As.dfy.expect @@ -1,5 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification 0 0 false 0 false 0 diff --git a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy index 89fb669dca0..6a66781ff0d 100644 --- a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy +++ b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect index e7498a27e3e..a8d09f0a6f5 100644 --- a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect +++ b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect @@ -1,6 +1,2 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification 5 3 5 3 5 3 5 3 diff --git a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy index 096523f8956..1175b1eca8f 100644 --- a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy +++ b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect index 8954da2b386..ef3de96e567 100644 --- a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect +++ b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect @@ -1,6 +1,2 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification 5 3 5 3 diff --git a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy index 1fbaebdf4e9..5d970ac4de5 100644 --- a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy +++ b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect index b6ffe78bcbb..4ff62e33956 100644 --- a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect +++ b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 4 verified, 0 errors - -Dafny program verifier did not attempt verification 15 [0, 1, 2, 4] [0, 2, 4] diff --git a/Test/comp/firstSteps/7_Arrays.dfy b/Test/comp/firstSteps/7_Arrays.dfy index 07ddf89594b..d02c942c9bb 100644 --- a/Test/comp/firstSteps/7_Arrays.dfy +++ b/Test/comp/firstSteps/7_Arrays.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Arrays.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/7_Arrays.dfy.expect b/Test/comp/firstSteps/7_Arrays.dfy.expect index 75e824c80bb..fa00285c692 100644 --- a/Test/comp/firstSteps/7_Arrays.dfy.expect +++ b/Test/comp/firstSteps/7_Arrays.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 7 verified, 0 errors - -Dafny program verifier did not attempt verification 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/comp/firstSteps/7_Dt_Algebraic.dfy b/Test/comp/firstSteps/7_Dt_Algebraic.dfy index 991462d8bdf..46a2995b37f 100644 --- a/Test/comp/firstSteps/7_Dt_Algebraic.dfy +++ b/Test/comp/firstSteps/7_Dt_Algebraic.dfy @@ -1,7 +1,5 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Dt.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect new file mode 100644 index 00000000000..ba1b72ea6f7 --- /dev/null +++ b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect @@ -0,0 +1,11 @@ +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} +42 'q' hello +1701 diff --git a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect index ec9b49fe420..e3ff7faba6e 100644 --- a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect +++ b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 7 verified, 0 errors - -Dafny program verifier did not attempt verification List.Nil List.Cons(5, List.Nil) (List.Nil, List.Cons(5, List.Nil)) @@ -13,16 +9,3 @@ List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, Li {Berry.Hallon, Berry.Smultron, Berry.Jordgubb} 42 'q' hello 1701 - -Dafny program verifier did not attempt verification -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} -42 'q' hello -1701 diff --git a/Test/dafny0/ArrayElementInitCompile.dfy b/Test/dafny0/ArrayElementInitCompile.dfy index 7d652486b9e..3714cf0fe8e 100644 --- a/Test/dafny0/ArrayElementInitCompile.dfy +++ b/Test/dafny0/ArrayElementInitCompile.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 /print:"%t.print" /rprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false method Main() { diff --git a/Test/dafny0/ArrayElementInitCompile.dfy.expect b/Test/dafny0/ArrayElementInitCompile.dfy.expect index a5241c75f19..eaa3e759999 100644 --- a/Test/dafny0/ArrayElementInitCompile.dfy.expect +++ b/Test/dafny0/ArrayElementInitCompile.dfy.expect @@ -1,79 +1,3 @@ - -Dafny program verifier finished with 18 verified, 0 errors - -Dafny program verifier did not attempt verification -67 67 67 67 67 67 67 67 -0 1 2 3 -1 2 3 4 -2 3 4 5 -3 4 5 6 -4 5 6 7 -O . O . O . O . O . O . -12 12 12 12 12 12 12 12 12 12 12 12 -D E -y z -4 3 -7 -100 75 98 25 - -looks like this rocks --2 -1 0 1 2 3 4 - -Dafny program verifier did not attempt verification -67 67 67 67 67 67 67 67 -0 1 2 3 -1 2 3 4 -2 3 4 5 -3 4 5 6 -4 5 6 7 -O . O . O . O . O . O . -12 12 12 12 12 12 12 12 12 12 12 12 -D E -y z -4 3 -7 -100 75 98 25 - -looks like this rocks --2 -1 0 1 2 3 4 - -Dafny program verifier did not attempt verification -67 67 67 67 67 67 67 67 -0 1 2 3 -1 2 3 4 -2 3 4 5 -3 4 5 6 -4 5 6 7 -O . O . O . O . O . O . -12 12 12 12 12 12 12 12 12 12 12 12 -D E -y z -4 3 -7 -100 75 98 25 - -looks like this rocks --2 -1 0 1 2 3 4 - -Dafny program verifier did not attempt verification -67 67 67 67 67 67 67 67 -0 1 2 3 -1 2 3 4 -2 3 4 5 -3 4 5 6 -4 5 6 7 -O . O . O . O . O . O . -12 12 12 12 12 12 12 12 12 12 12 12 -D E -y z -4 3 -7 -100 75 98 25 - -looks like this rocks --2 -1 0 1 2 3 4 - -Dafny program verifier did not attempt verification 67 67 67 67 67 67 67 67 0 1 2 3 1 2 3 4 diff --git a/Test/dafny0/Bitvectors.dfy b/Test/dafny0/Bitvectors.dfy index 6e0c9270b99..4c8e1094455 100644 --- a/Test/dafny0/Bitvectors.dfy +++ b/Test/dafny0/Bitvectors.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /print:"%t.print" /env:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Note the difference in Java output is due to // https://github.com/dafny-lang/dafny/issues/4152 diff --git a/Test/dafny0/Bitvectors.dfy.expect b/Test/dafny0/Bitvectors.dfy.expect index 51fda88f97b..ed1c7328e83 100644 --- a/Test/dafny0/Bitvectors.dfy.expect +++ b/Test/dafny0/Bitvectors.dfy.expect @@ -1,52 +1,3 @@ - -Dafny program verifier finished with 11 verified, 0 errors - -Dafny program verifier did not attempt verification -4000 4000 4000 0 -1 2053 1099 -185 55 -2 4 -Comparisons: true true false false -bv16: 5 - 2 == 3 -bv16: 1 - 2 == 65535 -3 2 -0 0 -false true true false -bv67: 147573952589676412927 + 3 == 2 - 3 == 147573952589676412925 !! 3 == ! 147573952589676412924 == 3 -bv64: 18446744073709551615 + 3 == 2 - 3 == 18446744073709551613 !! 3 == ! 18446744073709551612 == 3 -bv53: 9007199254740991 + 3 == 2 - 3 == 9007199254740989 !! 3 == ! 9007199254740988 == 3 -bv33: 8589934591 + 3 == 2 - 3 == 8589934589 !! 3 == ! 8589934588 == 3 -bv32: 4294967295 + 3 == 2 - 3 == 4294967293 !! 3 == ! 4294967292 == 3 -bv31: 2147483647 + 3 == 2 - 3 == 2147483645 !! 3 == ! 2147483644 == 3 -bv16: 65535 + 3 == 2 - 3 == 65533 !! 3 == ! 65532 == 3 -bv15: 32767 + 3 == 2 - 3 == 32765 !! 3 == ! 32764 == 3 -bv8: 255 + 3 == 2 - 3 == 253 !! 3 == ! 252 == 3 -bv6: 63 + 3 == 2 - 3 == 61 !! 3 == ! 60 == 3 -bv1: 1 + 1 == 0 - 1 == 1 !! 1 == ! 0 == 1 -bv0: 0 + 0 == 0 - 0 == 0 !! 0 == ! 0 == 0 -bv2: - 3 + 2 == 1 - 3 - 2 == 1 - 3 * 2 == 2 - 3 / 2 == 1 - 3 % 2 == 1 -PrintShifts: bv67: 5 40 40 40 -PrintShifts: bv32: 5 40 40 40 -PrintShifts: bv7: 5 40 40 40 -PrintShifts: bv2: 1 2 2 2 -PrintShifts: bv0: 0 0 0 0 -PrintShifts: bv67 again: 2 2 2 73786976294838206465 -PrintShifts: bv32 again: 8000 8000 2147487648 3221227472 -PrintShifts: bv7 again: 124 124 124 127 -PrintShifts: bv0 again: 0 0 0 0 -PrintRotates: bv12: 5 5 -PrintRotates: bv7: 5 5 -PrintRotates: bv2: 1 1 -PrintRotates: bv0: 0 0 -PrintRotates: bv12 again: 976 976 -PrintRotates: bv7 again: 127 127 - -Dafny program verifier did not attempt verification 4000 4000 4000 0 1 2053 1099 185 55 diff --git a/Test/dafny0/Constant.dfy b/Test/dafny0/Constant.dfy index f021e7d4482..1fdeedc3335 100644 --- a/Test/dafny0/Constant.dfy +++ b/Test/dafny0/Constant.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment const one:int := 1 const two:int := one * 2 diff --git a/Test/dafny0/Constant.dfy.expect b/Test/dafny0/Constant.dfy.expect index 6099b08c38c..1a7b981715f 100644 --- a/Test/dafny0/Constant.dfy.expect +++ b/Test/dafny0/Constant.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 17 verified, 0 errors one := 1 two := 2 three := 3 diff --git a/Test/dafny0/Deprecation.dfy b/Test/dafny0/Deprecation.dfy index 8c9c688d463..86521043d43 100644 --- a/Test/dafny0/Deprecation.dfy +++ b/Test/dafny0/Deprecation.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This file contains tests for messags about various deprecated features. // As those features go away completely, so can the corresponding tests. diff --git a/Test/dafny0/Deprecation.dfy.expect b/Test/dafny0/Deprecation.dfy.expect index 4ff88d31ade..0dffd975ac7 100644 --- a/Test/dafny0/Deprecation.dfy.expect +++ b/Test/dafny0/Deprecation.dfy.expect @@ -1,8 +1 @@ -Deprecation.dfy(16,13): Warning: constructors no longer need 'this' to be listed in modifies clauses -Deprecation.dfy(23,0): Warning: the old keyword phrase 'inductive predicate' has been renamed to 'least predicate' -Deprecation.dfy(26,0): Warning: the old keyword 'copredicate' has been renamed to the keyword phrase 'greatest predicate' -Deprecation.dfy(29,0): Warning: the old keyword phrase 'inductive lemma' has been renamed to 'least lemma' -Deprecation.dfy(32,0): Warning: the old keyword 'colemma' has been renamed to the keyword phrase 'greatest lemma' - -Dafny program verifier finished with 0 verified, 0 errors yet here we are diff --git a/Test/dafny0/Deprecation.dfy.verifier.expect b/Test/dafny0/Deprecation.dfy.verifier.expect new file mode 100644 index 00000000000..c0851e9888c --- /dev/null +++ b/Test/dafny0/Deprecation.dfy.verifier.expect @@ -0,0 +1,5 @@ +Deprecation.dfy(15,13): Warning: constructors no longer need 'this' to be listed in modifies clauses +Deprecation.dfy(22,0): Warning: the old keyword phrase 'inductive predicate' has been renamed to 'least predicate' +Deprecation.dfy(25,0): Warning: the old keyword 'copredicate' has been renamed to the keyword phrase 'greatest predicate' +Deprecation.dfy(28,0): Warning: the old keyword phrase 'inductive lemma' has been renamed to 'least lemma' +Deprecation.dfy(31,0): Warning: the old keyword 'colemma' has been renamed to the keyword phrase 'greatest lemma' diff --git a/Test/dafny0/DiscoverBounds.dfy b/Test/dafny0/DiscoverBounds.dfy index 31f9717ee79..18e56158613 100644 --- a/Test/dafny0/DiscoverBounds.dfy +++ b/Test/dafny0/DiscoverBounds.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /print:"%t.print" /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment newtype NT = x | 0 <= x < 100 newtype UT = NT diff --git a/Test/dafny0/DiscoverBounds.dfy.expect b/Test/dafny0/DiscoverBounds.dfy.expect index e43954c7be1..909a58326d0 100644 --- a/Test/dafny0/DiscoverBounds.dfy.expect +++ b/Test/dafny0/DiscoverBounds.dfy.expect @@ -1,10 +1,3 @@ -DiscoverBounds.dfy(32,7): Warning: /!\ No terms found to trigger on. -DiscoverBounds.dfy(33,7): Warning: /!\ No terms found to trigger on. -DiscoverBounds.dfy(34,7): Warning: /!\ No terms found to trigger on. -DiscoverBounds.dfy(35,7): Warning: /!\ No terms found to trigger on. -DiscoverBounds.dfy(36,7): Warning: /!\ No terms found to trigger on. - -Dafny program verifier finished with 7 verified, 0 errors 0 0 -2 diff --git a/Test/dafny0/DiscoverBounds.dfy.verifier.expect b/Test/dafny0/DiscoverBounds.dfy.verifier.expect new file mode 100644 index 00000000000..7c4de01ee0e --- /dev/null +++ b/Test/dafny0/DiscoverBounds.dfy.verifier.expect @@ -0,0 +1,5 @@ +DiscoverBounds.dfy(31,7): Warning: /!\ No terms found to trigger on. +DiscoverBounds.dfy(32,7): Warning: /!\ No terms found to trigger on. +DiscoverBounds.dfy(33,7): Warning: /!\ No terms found to trigger on. +DiscoverBounds.dfy(34,7): Warning: /!\ No terms found to trigger on. +DiscoverBounds.dfy(35,7): Warning: /!\ No terms found to trigger on. diff --git a/Test/dafny0/DividedConstructors.dfy b/Test/dafny0/DividedConstructors.dfy index 169bf4ee7df..e6f63a35f11 100644 --- a/Test/dafny0/DividedConstructors.dfy +++ b/Test/dafny0/DividedConstructors.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /env:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var m := new M0.MyClass.Init(20); diff --git a/Test/dafny0/DividedConstructors.dfy.expect b/Test/dafny0/DividedConstructors.dfy.expect index eaa3ed7d379..2dcc1ba6402 100644 --- a/Test/dafny0/DividedConstructors.dfy.expect +++ b/Test/dafny0/DividedConstructors.dfy.expect @@ -1,5 +1,2 @@ -DividedConstructors.dfy(62,9): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier finished with 17 verified, 0 errors 37, 17, 3.14 false, true diff --git a/Test/dafny0/DividedConstructors.dfy.verifier.expect b/Test/dafny0/DividedConstructors.dfy.verifier.expect new file mode 100644 index 00000000000..f3fdfadddbf --- /dev/null +++ b/Test/dafny0/DividedConstructors.dfy.verifier.expect @@ -0,0 +1 @@ +DividedConstructors.dfy(61,9): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny0/EqualityTypesCompile.dfy b/Test/dafny0/EqualityTypesCompile.dfy index de7954710e9..a36d1818c1d 100644 --- a/Test/dafny0/EqualityTypesCompile.dfy +++ b/Test/dafny0/EqualityTypesCompile.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype List = Nil | Cons(A, List) | ICons(int, List) datatype TwoLists = Two(List, List) diff --git a/Test/dafny0/EqualityTypesCompile.dfy.expect b/Test/dafny0/EqualityTypesCompile.dfy.expect index d2f1950e7f7..0246dc39633 100644 --- a/Test/dafny0/EqualityTypesCompile.dfy.expect +++ b/Test/dafny0/EqualityTypesCompile.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors from M: false from N: false from H: false diff --git a/Test/dafny0/ForallCompilationNewSyntax.dfy b/Test/dafny0/ForallCompilationNewSyntax.dfy index b7132df78ae..ac354d6338c 100644 --- a/Test/dafny0/ForallCompilationNewSyntax.dfy +++ b/Test/dafny0/ForallCompilationNewSyntax.dfy @@ -1,5 +1,4 @@ -// RUN: %baredafny run %args --relax-definite-assignment --quantifier-syntax:4 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --quantifier-syntax:4 --relax-definite-assignment method Main() { var c := new MyClass; diff --git a/Test/dafny0/ForallCompilationNewSyntax.dfy.expect b/Test/dafny0/ForallCompilationNewSyntax.dfy.expect index 5b7ec4613bb..e69de29bb2d 100644 --- a/Test/dafny0/ForallCompilationNewSyntax.dfy.expect +++ b/Test/dafny0/ForallCompilationNewSyntax.dfy.expect @@ -1,6 +0,0 @@ -ForallCompilationNewSyntax.dfy(26,4): Warning: /!\ No terms found to trigger on. -ForallCompilationNewSyntax.dfy(35,4): Warning: /!\ No terms found to trigger on. -ForallCompilationNewSyntax.dfy(44,4): Warning: /!\ No terms found to trigger on. -ForallCompilationNewSyntax.dfy(64,4): Warning: /!\ No trigger covering all quantified variables found. - -Dafny program verifier finished with 14 verified, 0 errors diff --git a/Test/dafny0/ForallCompilationNewSyntax.dfy.verifier.expect b/Test/dafny0/ForallCompilationNewSyntax.dfy.verifier.expect new file mode 100644 index 00000000000..a94cd5ea608 --- /dev/null +++ b/Test/dafny0/ForallCompilationNewSyntax.dfy.verifier.expect @@ -0,0 +1,4 @@ +ForallCompilationNewSyntax.dfy(25,4): Warning: /!\ No terms found to trigger on. +ForallCompilationNewSyntax.dfy(34,4): Warning: /!\ No terms found to trigger on. +ForallCompilationNewSyntax.dfy(43,4): Warning: /!\ No terms found to trigger on. +ForallCompilationNewSyntax.dfy(63,4): Warning: /!\ No trigger covering all quantified variables found. diff --git a/Test/dafny0/GhostGuards.dfy b/Test/dafny0/GhostGuards.dfy index b17c98662ce..49877792a47 100644 --- a/Test/dafny0/GhostGuards.dfy +++ b/Test/dafny0/GhostGuards.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /printTooltips /rprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Dt = Green | Dog diff --git a/Test/dafny0/GhostGuards.dfy.expect b/Test/dafny0/GhostGuards.dfy.expect index 8bb8a71d69d..e69de29bb2d 100644 --- a/Test/dafny0/GhostGuards.dfy.expect +++ b/Test/dafny0/GhostGuards.dfy.expect @@ -1,7 +0,0 @@ -GhostGuards.dfy(12,9): Info: ghost if -GhostGuards.dfy(18,2): Info: ghost if -GhostGuards.dfy(28,2): Info: ghost while -GhostGuards.dfy(41,2): Info: ghost while -GhostGuards.dfy(54,2): Info: ghost match - -Dafny program verifier finished with 1 verified, 0 errors diff --git a/Test/dafny0/GhostGuards.dfy.verifier.expect b/Test/dafny0/GhostGuards.dfy.verifier.expect new file mode 100644 index 00000000000..7e2637d73bb --- /dev/null +++ b/Test/dafny0/GhostGuards.dfy.verifier.expect @@ -0,0 +1,5 @@ +GhostGuards.dfy(11,9): Info: ghost if +GhostGuards.dfy(17,2): Info: ghost if +GhostGuards.dfy(27,2): Info: ghost while +GhostGuards.dfy(40,2): Info: ghost while +GhostGuards.dfy(53,2): Info: ghost match diff --git a/Test/dafny0/GhostITECompilation.dfy b/Test/dafny0/GhostITECompilation.dfy index d761ddbc6ea..bd7cfa28a95 100644 --- a/Test/dafny0/GhostITECompilation.dfy +++ b/Test/dafny0/GhostITECompilation.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 /functionSyntax:4 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --function-syntax:4 --relax-definite-assignment function F(x: nat, ghost y: nat): nat { diff --git a/Test/dafny0/GhostITECompilation.dfy.expect b/Test/dafny0/GhostITECompilation.dfy.expect index 1ec406bf52c..b4988e5cf11 100644 --- a/Test/dafny0/GhostITECompilation.dfy.expect +++ b/Test/dafny0/GhostITECompilation.dfy.expect @@ -1,31 +1,3 @@ - -Dafny program verifier finished with 6 verified, 0 errors - -Dafny program verifier did not attempt verification -65 -65 -65 -65 - -Dafny program verifier did not attempt verification -65 -65 -65 -65 - -Dafny program verifier did not attempt verification -65 -65 -65 -65 - -Dafny program verifier did not attempt verification -65 -65 -65 -65 - -Dafny program verifier did not attempt verification 65 65 65 diff --git a/Test/dafny0/InitialValues.dfy b/Test/dafny0/InitialValues.dfy index 7dcb05cc9c9..0848d244d71 100644 --- a/Test/dafny0/InitialValues.dfy +++ b/Test/dafny0/InitialValues.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/dafny0/InitialValues.dfy.expect b/Test/dafny0/InitialValues.dfy.expect index ada1b783c16..18903dcc3dd 100644 --- a/Test/dafny0/InitialValues.dfy.expect +++ b/Test/dafny0/InitialValues.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 2 verified, 0 errors r= 0.0 s= 3.4 a= 0.0 b= 3.4 z= 0.0 a==z = true diff --git a/Test/dafny0/MatchBraces.dfy b/Test/dafny0/MatchBraces.dfy index ddd1924774b..4ac380f2739 100644 --- a/Test/dafny0/MatchBraces.dfy +++ b/Test/dafny0/MatchBraces.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /print:"%t.print" /env:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Color = Red | Green | Blue diff --git a/Test/dafny0/MatchBraces.dfy.expect b/Test/dafny0/MatchBraces.dfy.expect index 88f6cf4f56e..4f89bff47e5 100644 --- a/Test/dafny0/MatchBraces.dfy.expect +++ b/Test/dafny0/MatchBraces.dfy.expect @@ -1,10 +1,2 @@ - -Dafny program verifier finished with 5 verified, 0 errors - -Dafny program verifier did not attempt verification -7 0.18 Color.Red 13 12 -11 98.0 Color.Green 14 115 - -Dafny program verifier did not attempt verification 7 0.18 Color.Red 13 12 11 98.0 Color.Green 14 115 diff --git a/Test/dafny0/MoForallCompilation.dfy b/Test/dafny0/MoForallCompilation.dfy index 835712edbce..af080853463 100644 --- a/Test/dafny0/MoForallCompilation.dfy +++ b/Test/dafny0/MoForallCompilation.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { TestAggregateArrayUpdate(); diff --git a/Test/dafny0/MoForallCompilation.dfy.expect b/Test/dafny0/MoForallCompilation.dfy.expect index c431c74c6aa..7bb606c1528 100644 --- a/Test/dafny0/MoForallCompilation.dfy.expect +++ b/Test/dafny0/MoForallCompilation.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 18 verified, 0 errors -4.0 -3.0 -2.0 -1.0 0.0 1.0 2.0 3.0 7.0 6.0 5.0 4.0 3.0 2.0 1.0 0.0 true true true true true true false false diff --git a/Test/dafny0/NameclashesCompile.dfy b/Test/dafny0/NameclashesCompile.dfy index 4d06065c675..46cae4b2338 100644 --- a/Test/dafny0/NameclashesCompile.dfy +++ b/Test/dafny0/NameclashesCompile.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var r0, r1; diff --git a/Test/dafny0/NameclashesCompile.dfy.expect b/Test/dafny0/NameclashesCompile.dfy.expect index 1434bb632f6..f001bdaeb1e 100644 --- a/Test/dafny0/NameclashesCompile.dfy.expect +++ b/Test/dafny0/NameclashesCompile.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 2 verified, 0 errors 15.0 15.1 94 99 0.8 14.3 14.4 18.9 18.92 diff --git a/Test/dafny0/NonZeroInitializationCompile.dfy b/Test/dafny0/NonZeroInitializationCompile.dfy index 48b61a39369..2fedae6d60d 100644 --- a/Test/dafny0/NonZeroInitializationCompile.dfy +++ b/Test/dafny0/NonZeroInitializationCompile.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment type MyInt = x | 6 <= x witness 6 newtype MyNewInt = x | 6 <= x witness 12 diff --git a/Test/dafny0/NonZeroInitializationCompile.dfy.expect b/Test/dafny0/NonZeroInitializationCompile.dfy.expect index 72b333efb85..c682dccf3fc 100644 --- a/Test/dafny0/NonZeroInitializationCompile.dfy.expect +++ b/Test/dafny0/NonZeroInitializationCompile.dfy.expect @@ -1,76 +1,3 @@ - -Dafny program verifier finished with 15 verified, 0 errors - -Dafny program verifier did not attempt verification -These are the arbitrary values chosen by the compiler: 6, 12 -short, short': 0, -35 -nes: {57} -f0, f1: (0, false), (29, true) -dt: Dt.Atom(-35) -cl { u: 12, x: 0, r: 3.14, nes: {57} } -cl' { u: 12, x: 0, ': 3.14, nes: {20, 57} } - -x: real :: 0.0 versus 0.0 -ch: char :: 'D' versus 'D' -s: set :: {} versus {} -d: Xt :: AdvancedZeroInitialization.Xt.MakeXt(0, []) versus AdvancedZeroInitialization.Xt.MakeXt(0, []) -y: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, []) versus AdvancedZeroInitialization.Yt.MakeYt(0, []) -z: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization.Yt.MakeYt(0, 0) - -x: real :: 0.0 versus 0.0 -ch: char :: 'D' versus 'D' -s: set :: {} versus {} -d: Xt :: AdvancedZeroInitialization.Xt.MakeXt(0, []) versus AdvancedZeroInitialization.Xt.MakeXt(0, []) -y: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, []) versus AdvancedZeroInitialization.Yt.MakeYt(0, []) -z: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization.Yt.MakeYt(0, 0) - -Dafny program verifier did not attempt verification -These are the arbitrary values chosen by the compiler: 6, 12 -short, short': 0, -35 -nes: {57} -f0, f1: (0, false), (29, true) -dt: Dt.Atom(-35) -cl { u: 12, x: 0, r: 3.14, nes: {57} } -cl' { u: 12, x: 0, ': 3.14, nes: {20, 57} } - -x: real :: 0.0 versus 0.0 -ch: char :: 'D' versus 'D' -s: set :: {} versus {} -d: Xt :: AdvancedZeroInitialization.Xt.MakeXt(0, []) versus AdvancedZeroInitialization.Xt.MakeXt(0, []) -y: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, []) versus AdvancedZeroInitialization.Yt.MakeYt(0, []) -z: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization.Yt.MakeYt(0, 0) - -x: real :: 0.0 versus 0.0 -ch: char :: 'D' versus 'D' -s: set :: {} versus {} -d: Xt :: AdvancedZeroInitialization.Xt.MakeXt(0, []) versus AdvancedZeroInitialization.Xt.MakeXt(0, []) -y: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, []) versus AdvancedZeroInitialization.Yt.MakeYt(0, []) -z: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization.Yt.MakeYt(0, 0) - -Dafny program verifier did not attempt verification -These are the arbitrary values chosen by the compiler: 6, 12 -short, short': 0, -35 -nes: {57} -f0, f1: (0, false), (29, true) -dt: Dt.Atom(-35) -cl { u: 12, x: 0, r: 3.14, nes: {57} } -cl' { u: 12, x: 0, ': 3.14, nes: {20, 57} } - -x: real :: 0.0 versus 0.0 -ch: char :: 'D' versus 'D' -s: set :: {} versus {} -d: Xt :: AdvancedZeroInitialization.Xt.MakeXt(0, []) versus AdvancedZeroInitialization.Xt.MakeXt(0, []) -y: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, []) versus AdvancedZeroInitialization.Yt.MakeYt(0, []) -z: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization.Yt.MakeYt(0, 0) - -x: real :: 0.0 versus 0.0 -ch: char :: 'D' versus 'D' -s: set :: {} versus {} -d: Xt :: AdvancedZeroInitialization.Xt.MakeXt(0, []) versus AdvancedZeroInitialization.Xt.MakeXt(0, []) -y: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, []) versus AdvancedZeroInitialization.Yt.MakeYt(0, []) -z: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization.Yt.MakeYt(0, 0) - -Dafny program verifier did not attempt verification These are the arbitrary values chosen by the compiler: 6, 12 short, short': 0, -35 nes: {57} diff --git a/Test/dafny0/NullComparisonWarnings.dfy b/Test/dafny0/NullComparisonWarnings.dfy index eb9183040bc..35fd5ffb3f4 100644 --- a/Test/dafny0/NullComparisonWarnings.dfy +++ b/Test/dafny0/NullComparisonWarnings.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { print "despite the warnings, the program still compiles\n"; diff --git a/Test/dafny0/NullComparisonWarnings.dfy.expect b/Test/dafny0/NullComparisonWarnings.dfy.expect index d8cf4a9960c..f2b4545fac7 100644 --- a/Test/dafny0/NullComparisonWarnings.dfy.expect +++ b/Test/dafny0/NullComparisonWarnings.dfy.expect @@ -1,14 +1 @@ -NullComparisonWarnings.dfy(27,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(28,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'y' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(29,14): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for field 'next' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(30,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(31,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'y' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(32,14): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for field 'next' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(34,12): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(37,12): Warning: the type of the other operand is a set of non-null elements, so the inclusion test of 'null' will always return 'false' -NullComparisonWarnings.dfy(38,12): Warning: the type of the other operand is a set of non-null elements, so the non-inclusion test of 'null' will always return 'true' -NullComparisonWarnings.dfy(40,41): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'u' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(45,12): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' - -Dafny program verifier finished with 4 verified, 0 errors despite the warnings, the program still compiles diff --git a/Test/dafny0/NullComparisonWarnings.dfy.verifier.expect b/Test/dafny0/NullComparisonWarnings.dfy.verifier.expect new file mode 100644 index 00000000000..24f9074ecc9 --- /dev/null +++ b/Test/dafny0/NullComparisonWarnings.dfy.verifier.expect @@ -0,0 +1,11 @@ +NullComparisonWarnings.dfy(26,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(27,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'y' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(28,14): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for field 'next' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(29,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(30,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'y' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(31,14): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for field 'next' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(33,12): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(36,12): Warning: the type of the other operand is a set of non-null elements, so the inclusion test of 'null' will always return 'false' +NullComparisonWarnings.dfy(37,12): Warning: the type of the other operand is a set of non-null elements, so the non-inclusion test of 'null' will always return 'true' +NullComparisonWarnings.dfy(39,41): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'u' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(44,12): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' diff --git a/Test/dafny0/PrintUTF8.dfy b/Test/dafny0/PrintUTF8.dfy index 5d4e376b19d..eff7baa32a9 100644 --- a/Test/dafny0/PrintUTF8.dfy +++ b/Test/dafny0/PrintUTF8.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { print "Mikaël fixed UTF8\n"; diff --git a/Test/dafny0/PrintUTF8.dfy.expect b/Test/dafny0/PrintUTF8.dfy.expect index 52a23e906cc..818549280d3 100644 --- a/Test/dafny0/PrintUTF8.dfy.expect +++ b/Test/dafny0/PrintUTF8.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors Mikaël fixed UTF8 diff --git a/Test/dafny0/RangeCompilation.dfy b/Test/dafny0/RangeCompilation.dfy index 53a8d6e33e5..3f3e6aed0f8 100644 --- a/Test/dafny0/RangeCompilation.dfy +++ b/Test/dafny0/RangeCompilation.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment newtype Byte = x | 0 <= x < 256 predicate GoodByte(b: Byte) { diff --git a/Test/dafny0/RangeCompilation.dfy.expect b/Test/dafny0/RangeCompilation.dfy.expect index 82fbbb9b698..9e0f9e5f028 100644 --- a/Test/dafny0/RangeCompilation.dfy.expect +++ b/Test/dafny0/RangeCompilation.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 4 verified, 0 errors b=2 i=4 diff --git a/Test/dafny0/SeqFromArray.dfy b/Test/dafny0/SeqFromArray.dfy index 6bab732c906..39f72303d18 100644 --- a/Test/dafny0/SeqFromArray.dfy +++ b/Test/dafny0/SeqFromArray.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // /autoTriggers:1 added to suppress instabilities diff --git a/Test/dafny0/SeqFromArray.dfy.expect b/Test/dafny0/SeqFromArray.dfy.expect index 1981561ca00..e69de29bb2d 100644 --- a/Test/dafny0/SeqFromArray.dfy.expect +++ b/Test/dafny0/SeqFromArray.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 10 verified, 0 errors diff --git a/Test/dafny0/SharedDestructorsCompile.dfy b/Test/dafny0/SharedDestructorsCompile.dfy index 8171cf72404..64d8b245b58 100644 --- a/Test/dafny0/SharedDestructorsCompile.dfy +++ b/Test/dafny0/SharedDestructorsCompile.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Dt = | A(x: int, y: real) diff --git a/Test/dafny0/SharedDestructorsCompile.dfy.expect b/Test/dafny0/SharedDestructorsCompile.dfy.expect index e037db03c40..060d152d77b 100644 --- a/Test/dafny0/SharedDestructorsCompile.dfy.expect +++ b/Test/dafny0/SharedDestructorsCompile.dfy.expect @@ -1,20 +1,3 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification -Dt.A(10, 12.0): x=10 y=12.0 -Dt.B(_module.MyClass, 6): h=_module.MyClass x=6 -Dt.C(3.14): y=3.14 -Dt.C(3.14) -Dt.A(71, 0.1) -Klef.C3(44, 100, 66, 200) -Datte.AA(10, 2) Datte.AA(10, 5) -Datte.BB(false, 12) Datte.BB(false, 6) -Datte.CC(3.2) Datte.CC(3.4) -Datte.DD(100, {7}, 5, 9.0) Datte.DD(30, {7}, 5, 9.0) -Datte.DD(100, {7}, 5, 9.0) Datte.DD(30, {7}, 5, 2.0) - -Dafny program verifier did not attempt verification Dt.A(10, 12.0): x=10 y=12.0 Dt.B(_module.MyClass, 6): h=_module.MyClass x=6 Dt.C(3.14): y=3.14 diff --git a/Test/dafny0/SiblingImports.dfy b/Test/dafny0/SiblingImports.dfy index 3fb01d9d1b8..756e4b253f3 100644 --- a/Test/dafny0/SiblingImports.dfy +++ b/Test/dafny0/SiblingImports.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { ClientA.Test(); diff --git a/Test/dafny0/SiblingImports.dfy.expect b/Test/dafny0/SiblingImports.dfy.expect index ba4df82a925..fb6171563ac 100644 --- a/Test/dafny0/SiblingImports.dfy.expect +++ b/Test/dafny0/SiblingImports.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors ClientA.Inner.Five: 5 ClientB.Inner.Five: 5 ClientC.Inner.Five: 5 diff --git a/Test/dafny0/TypeConversionsCompile.dfy b/Test/dafny0/TypeConversionsCompile.dfy index 90075fb74a8..5b1e32b9258 100644 --- a/Test/dafny0/TypeConversionsCompile.dfy +++ b/Test/dafny0/TypeConversionsCompile.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /env:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Note the difference in output in Java's case is due to // https://github.com/dafny-lang/dafny/issues/4152 diff --git a/Test/dafny0/TypeConversionsCompile.dfy.expect b/Test/dafny0/TypeConversionsCompile.dfy.expect index 893938a0226..78990cf4a30 100644 --- a/Test/dafny0/TypeConversionsCompile.dfy.expect +++ b/Test/dafny0/TypeConversionsCompile.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 8 verified, 0 errors 3 4 5.0 5 6 -1.0 147573952589676412927 4294967295 127 0 got 3, expected 3 got 0, expected 0 diff --git a/Test/dafny0/TypeMembers.dfy b/Test/dafny0/TypeMembers.dfy index 2ab57767ad5..f2bea4039c9 100644 --- a/Test/dafny0/TypeMembers.dfy +++ b/Test/dafny0/TypeMembers.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { BasicTests(); diff --git a/Test/dafny0/TypeMembers.dfy.expect b/Test/dafny0/TypeMembers.dfy.expect index 1d406ca85dc..923cb07e841 100644 --- a/Test/dafny0/TypeMembers.dfy.expect +++ b/Test/dafny0/TypeMembers.dfy.expect @@ -1,32 +1,3 @@ -TypeMembers.dfy(117,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect - -Dafny program verifier finished with 29 verified, 0 errors -TypeMembers.dfy(117,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect - -Dafny program verifier did not attempt verification -DaTy.Yes 10 26 -8 11 10 11 10 -35 10 14 -22 22 -9 Dt.Business(false, 5) -76 77 -19 -0 0 -19 82 83 -93 Co.Cobalt -27 27 -18 -11 18 18 22 -15 30 29 -95 11 -162 165 -11 18 18 3 -15 30 29 -95 11 -162 165 -TypeMembers.dfy(117,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect - -Dafny program verifier did not attempt verification DaTy.Yes 10 26 8 11 10 11 10 35 10 14 diff --git a/Test/dafny0/TypeMembers.dfy.verifier.expect b/Test/dafny0/TypeMembers.dfy.verifier.expect new file mode 100644 index 00000000000..62f55c943d2 --- /dev/null +++ b/Test/dafny0/TypeMembers.dfy.verifier.expect @@ -0,0 +1 @@ +TypeMembers.dfy(114,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect diff --git a/Test/dafny0/Wellfounded.dfy b/Test/dafny0/Wellfounded.dfy index 2ed488974c6..7ec2be06b38 100644 --- a/Test/dafny0/Wellfounded.dfy +++ b/Test/dafny0/Wellfounded.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var d := Int(10); diff --git a/Test/dafny0/Wellfounded.dfy.expect b/Test/dafny0/Wellfounded.dfy.expect index 73d7a1e7ca2..52742a67098 100644 --- a/Test/dafny0/Wellfounded.dfy.expect +++ b/Test/dafny0/Wellfounded.dfy.expect @@ -1,7 +1,3 @@ -Wellfounded.dfy(49,14): Warning: /!\ No terms found to trigger on. -Wellfounded.dfy(77,5): Warning: /!\ No terms found to trigger on. - -Dafny program verifier finished with 3 verified, 0 errors M(d, d) = 10 M(a1, d) = 10 M(a2, d) = 10 diff --git a/Test/dafny0/Wellfounded.dfy.verifier.expect b/Test/dafny0/Wellfounded.dfy.verifier.expect new file mode 100644 index 00000000000..e61f12f01b2 --- /dev/null +++ b/Test/dafny0/Wellfounded.dfy.verifier.expect @@ -0,0 +1,2 @@ +Wellfounded.dfy(48,14): Warning: /!\ No terms found to trigger on. +Wellfounded.dfy(76,5): Warning: /!\ No terms found to trigger on. diff --git a/Test/dafny2/MinWindowMax.dfy b/Test/dafny2/MinWindowMax.dfy index 71ccb539d7d..32342cdd8b9 100644 --- a/Test/dafny2/MinWindowMax.dfy +++ b/Test/dafny2/MinWindowMax.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Minimum window-max problem. // Rustan Leino diff --git a/Test/dafny2/MinWindowMax.dfy.expect b/Test/dafny2/MinWindowMax.dfy.expect index f6f6e52d9bc..1bb5609994e 100644 --- a/Test/dafny2/MinWindowMax.dfy.expect +++ b/Test/dafny2/MinWindowMax.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 12 verified, 0 errors Window size 1: min window-max is -5 Window size 2: min window-max is 2 Window size 3: min window-max is 3 diff --git a/Test/dafny2/SmallestMissingNumber-functional.dfy b/Test/dafny2/SmallestMissingNumber-functional.dfy index 047475c2680..a1544efab5f 100644 --- a/Test/dafny2/SmallestMissingNumber-functional.dfy +++ b/Test/dafny2/SmallestMissingNumber-functional.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Smallest missing number problem, functional version without duplicates. // A purely functional solution to the programming problem in Richard Bird's diff --git a/Test/dafny2/SmallestMissingNumber-functional.dfy.expect b/Test/dafny2/SmallestMissingNumber-functional.dfy.expect index 208b183ee3e..5d75da8ddd3 100644 --- a/Test/dafny2/SmallestMissingNumber-functional.dfy.expect +++ b/Test/dafny2/SmallestMissingNumber-functional.dfy.expect @@ -1,4 +1 @@ -SmallestMissingNumber-functional.dfy(213,11): Warning: /!\ No terms found to trigger on. - -Dafny program verifier finished with 21 verified, 0 errors 0 1 4 5 diff --git a/Test/dafny2/SmallestMissingNumber-functional.dfy.verifier.expect b/Test/dafny2/SmallestMissingNumber-functional.dfy.verifier.expect new file mode 100644 index 00000000000..cf10280f376 --- /dev/null +++ b/Test/dafny2/SmallestMissingNumber-functional.dfy.verifier.expect @@ -0,0 +1 @@ +SmallestMissingNumber-functional.dfy(212,11): Warning: /!\ No terms found to trigger on. diff --git a/Test/dafny2/SmallestMissingNumber-imperative.dfy b/Test/dafny2/SmallestMissingNumber-imperative.dfy index b8539481a54..314bf4e464c 100644 --- a/Test/dafny2/SmallestMissingNumber-imperative.dfy +++ b/Test/dafny2/SmallestMissingNumber-imperative.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Smallest missing number. // An imperative solution to the programming problem in Richard Bird's diff --git a/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect b/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect index bc4a868fdff..cfb25913041 100644 --- a/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect +++ b/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 8 verified, 0 errors 0 1 5 diff --git a/Test/dafny2/StoreAndRetrieve.dfy b/Test/dafny2/StoreAndRetrieve.dfy index 99a72697a71..f19239e234a 100644 --- a/Test/dafny2/StoreAndRetrieve.dfy +++ b/Test/dafny2/StoreAndRetrieve.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This file shows an example program that uses both refinement and :autocontracts // specify a class that stores a set of things that can be retrieved using a query. diff --git a/Test/dafny2/StoreAndRetrieve.dfy.expect b/Test/dafny2/StoreAndRetrieve.dfy.expect index 1d7d71d5202..030f5bfab39 100644 --- a/Test/dafny2/StoreAndRetrieve.dfy.expect +++ b/Test/dafny2/StoreAndRetrieve.dfy.expect @@ -1,39 +1 @@ -StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier finished with 19 verified, 0 errors -StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -20.3 -StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -20.3 -StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -20.3 -StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification 20.3 diff --git a/Test/dafny2/StoreAndRetrieve.dfy.verifier.expect b/Test/dafny2/StoreAndRetrieve.dfy.verifier.expect new file mode 100644 index 00000000000..0c3d269cdc1 --- /dev/null +++ b/Test/dafny2/StoreAndRetrieve.dfy.verifier.expect @@ -0,0 +1,5 @@ +StoreAndRetrieve.dfy(60,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(65,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(66,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(81,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(92,9): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny2/Z-BirthdayBook.dfy b/Test/dafny2/Z-BirthdayBook.dfy index d9580e7cca2..10fc159b1a3 100644 --- a/Test/dafny2/Z-BirthdayBook.dfy +++ b/Test/dafny2/Z-BirthdayBook.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // The birthday book example from the Z Reference Manual // Rustan Leino, 22 Feb 2018 diff --git a/Test/dafny2/Z-BirthdayBook.dfy.expect b/Test/dafny2/Z-BirthdayBook.dfy.expect index 31762ddd5b4..c6f2230e21a 100644 --- a/Test/dafny2/Z-BirthdayBook.dfy.expect +++ b/Test/dafny2/Z-BirthdayBook.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 21 verified, 0 errors Send cards to: {['M', 'i', 'k', 'e'], ['S', 'u', 's', 'a', 'n']} diff --git a/Test/dafny2/pq-intrinsic-extrinsic.dfy b/Test/dafny2/pq-intrinsic-extrinsic.dfy index c797c92445d..588c2f9e2b1 100644 --- a/Test/dafny2/pq-intrinsic-extrinsic.dfy +++ b/Test/dafny2/pq-intrinsic-extrinsic.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This file contains several versions of a priority queue implemented by Braun trees: // diff --git a/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect b/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect index bc2608f44b7..5c90c26e0eb 100644 --- a/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect +++ b/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect @@ -1,14 +1,3 @@ - -Dafny program verifier finished with 32 verified, 0 errors - -Dafny program verifier did not attempt verification -PriorityQueue_extrinsic: 3 -PriorityQueue_layered: 3 -PriorityQueue_intrinsic: 3 -PriorityQueue_on_intrinsic: 3 -PriorityQueue_direct: 3 - -Dafny program verifier did not attempt verification PriorityQueue_extrinsic: 3 PriorityQueue_layered: 3 PriorityQueue_intrinsic: 3 diff --git a/Test/dafny3/Abstemious.dfy b/Test/dafny3/Abstemious.dfy index 263c1f1fb00..62d891f950f 100644 --- a/Test/dafny3/Abstemious.dfy +++ b/Test/dafny3/Abstemious.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Examples from https://www.haskell.org/tutorial/functions.html diff --git a/Test/dafny3/Abstemious.dfy.expect b/Test/dafny3/Abstemious.dfy.expect index 96f109b0b58..3511a04a840 100644 --- a/Test/dafny3/Abstemious.dfy.expect +++ b/Test/dafny3/Abstemious.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 19 verified, 0 errors ones(): 1 1 1 1 1 1 1 ... from(3): 3 4 5 6 7 8 9 ... Map(plus1, ones()): 2 2 2 2 2 2 2 ... diff --git a/Test/dafny3/CachedContainer.dfy b/Test/dafny3/CachedContainer.dfy index 77c3e45897f..e36e76d6851 100644 --- a/Test/dafny3/CachedContainer.dfy +++ b/Test/dafny3/CachedContainer.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This file contains an example chain of module refinements, starting from a // simple interface M0 to an implementation M3. Module Client.Test() is diff --git a/Test/dafny3/CachedContainer.dfy.expect b/Test/dafny3/CachedContainer.dfy.expect index 08f4fb30b0a..ed2a587c3f1 100644 --- a/Test/dafny3/CachedContainer.dfy.expect +++ b/Test/dafny3/CachedContainer.dfy.expect @@ -1,79 +1 @@ -CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier finished with 29 verified, 0 errors -CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -false true false true -CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -false true false true -CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -false true false true -CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification false true false true diff --git a/Test/dafny3/CachedContainer.dfy.verifier.expect b/Test/dafny3/CachedContainer.dfy.verifier.expect new file mode 100644 index 00000000000..a037bc94ff6 --- /dev/null +++ b/Test/dafny3/CachedContainer.dfy.verifier.expect @@ -0,0 +1,13 @@ +CachedContainer.dfy(112,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(119,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(122,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(129,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(132,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(153,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(154,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(162,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(163,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(166,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(178,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(179,13): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny3/Iter.dfy b/Test/dafny3/Iter.dfy index 81431f2c64b..46befa24dd8 100644 --- a/Test/dafny3/Iter.dfy +++ b/Test/dafny3/Iter.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class List { ghost var Contents: seq diff --git a/Test/dafny3/Iter.dfy.expect b/Test/dafny3/Iter.dfy.expect index 69d7373d5d5..0ed11070541 100644 --- a/Test/dafny3/Iter.dfy.expect +++ b/Test/dafny3/Iter.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 12 verified, 0 errors 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 98 0 2 4 6 8 10 12 14 diff --git a/Test/dafny4/Ackermann.dfy b/Test/dafny4/Ackermann.dfy index 27968070e9b..a4ef351c96b 100644 --- a/Test/dafny4/Ackermann.dfy +++ b/Test/dafny4/Ackermann.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Rustan Leino, 8 Sep 2015. // This file proves that the Ackermann function is monotonic in each argument diff --git a/Test/dafny4/Ackermann.dfy.expect b/Test/dafny4/Ackermann.dfy.expect index c995dac9c9a..43d9513ef4b 100644 --- a/Test/dafny4/Ackermann.dfy.expect +++ b/Test/dafny4/Ackermann.dfy.expect @@ -1,5 +1 @@ -Ackermann.dfy(163,4): Warning: /!\ No terms found to trigger on. -Ackermann.dfy(181,4): Warning: /!\ No terms found to trigger on. - -Dafny program verifier finished with 14 verified, 0 errors Ack(3, 4) = 125 diff --git a/Test/dafny4/Ackermann.dfy.verifier.expect b/Test/dafny4/Ackermann.dfy.verifier.expect new file mode 100644 index 00000000000..b302e2b4daf --- /dev/null +++ b/Test/dafny4/Ackermann.dfy.verifier.expect @@ -0,0 +1,2 @@ +Ackermann.dfy(162,4): Warning: /!\ No terms found to trigger on. +Ackermann.dfy(180,4): Warning: /!\ No terms found to trigger on. diff --git a/Test/dafny4/Bug107.dfy b/Test/dafny4/Bug107.dfy index e417fc90a53..b7ab69c9a8d 100644 --- a/Test/dafny4/Bug107.dfy +++ b/Test/dafny4/Bug107.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/dafny4/Bug107.dfy.expect b/Test/dafny4/Bug107.dfy.expect index ad79213a18c..62f9457511f 100644 --- a/Test/dafny4/Bug107.dfy.expect +++ b/Test/dafny4/Bug107.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors 6 \ No newline at end of file diff --git a/Test/dafny4/Bug108.dfy b/Test/dafny4/Bug108.dfy index c64ec32a340..8228fe44f87 100644 --- a/Test/dafny4/Bug108.dfy +++ b/Test/dafny4/Bug108.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var A := map[0 := 1]; diff --git a/Test/dafny4/Bug108.dfy.expect b/Test/dafny4/Bug108.dfy.expect index c1c63f6c5c1..0777a01b26d 100644 --- a/Test/dafny4/Bug108.dfy.expect +++ b/Test/dafny4/Bug108.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 1 verified, 0 errors map[0 := 1] map[0 := 1] diff --git a/Test/dafny4/Bug113.dfy b/Test/dafny4/Bug113.dfy index 23c759540cd..0bec0c1ce31 100644 --- a/Test/dafny4/Bug113.dfy +++ b/Test/dafny4/Bug113.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype D = D(q:int, r:int, s:int, t:int) @@ -7,4 +6,4 @@ method Main() { print D(10, 20, 30, 40); print "\n"; -} \ No newline at end of file +} diff --git a/Test/dafny4/Bug113.dfy.expect b/Test/dafny4/Bug113.dfy.expect index 3ea1396ad00..e2eeff32e9a 100644 --- a/Test/dafny4/Bug113.dfy.expect +++ b/Test/dafny4/Bug113.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors D.D(10, 20, 30, 40) diff --git a/Test/dafny4/Bug116.dfy b/Test/dafny4/Bug116.dfy index e29da0f609d..501b74c74d5 100644 --- a/Test/dafny4/Bug116.dfy +++ b/Test/dafny4/Bug116.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // test various compiler-target keywords diff --git a/Test/dafny4/Bug116.dfy.expect b/Test/dafny4/Bug116.dfy.expect index 4cd4aabf511..8c7fdc614c4 100644 --- a/Test/dafny4/Bug116.dfy.expect +++ b/Test/dafny4/Bug116.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors struct.S byte.arguments enum.goto.switch enum.goto.switch 20 + 20 == 40 diff --git a/Test/dafny4/Bug140.dfy b/Test/dafny4/Bug140.dfy index edde966c149..8280db8f665 100644 --- a/Test/dafny4/Bug140.dfy +++ b/Test/dafny4/Bug140.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class Node { ghost var List: seq diff --git a/Test/dafny4/Bug140.dfy.expect b/Test/dafny4/Bug140.dfy.expect index bad48de4d6b..a40ee1166fb 100644 --- a/Test/dafny4/Bug140.dfy.expect +++ b/Test/dafny4/Bug140.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 8 verified, 0 errors 1 2 diff --git a/Test/dafny4/Bug148.dfy b/Test/dafny4/Bug148.dfy index da1ebf99447..f31cef2cdc8 100644 --- a/Test/dafny4/Bug148.dfy +++ b/Test/dafny4/Bug148.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/dafny4/Bug148.dfy.expect b/Test/dafny4/Bug148.dfy.expect index 79d02517ceb..9ed6ca4768b 100644 --- a/Test/dafny4/Bug148.dfy.expect +++ b/Test/dafny4/Bug148.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 0 verified, 0 errors true false true diff --git a/Test/dafny4/Bug49.dfy b/Test/dafny4/Bug49.dfy index 68722830422..868f4a3964b 100644 --- a/Test/dafny4/Bug49.dfy +++ b/Test/dafny4/Bug49.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/dafny4/Bug49.dfy.expect b/Test/dafny4/Bug49.dfy.expect index 4e02a08bbee..800c2bd15ba 100644 --- a/Test/dafny4/Bug49.dfy.expect +++ b/Test/dafny4/Bug49.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 13 verified, 0 errors 6 6 5 diff --git a/Test/dafny4/Bug60.dfy b/Test/dafny4/Bug60.dfy index 0aa9209269d..f4585753f5f 100644 --- a/Test/dafny4/Bug60.dfy +++ b/Test/dafny4/Bug60.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This method can be used to test compilation. method Main() diff --git a/Test/dafny4/Bug60.dfy.expect b/Test/dafny4/Bug60.dfy.expect index 49740e95682..fd56dc3fcbc 100644 --- a/Test/dafny4/Bug60.dfy.expect +++ b/Test/dafny4/Bug60.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 0 verified, 0 errors ({2, 3}, map[2 := 20, 3 := 30]) (2, 2) {2, 3} diff --git a/Test/dafny4/Bug67.dfy b/Test/dafny4/Bug67.dfy index 731018a293b..f01d4239a75 100644 --- a/Test/dafny4/Bug67.dfy +++ b/Test/dafny4/Bug67.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype d = D(m:seq) @@ -8,4 +7,4 @@ method Main() assert D([10, 20]) == D([10, 20]); // succeeds print [10, 20] == [10, 20], "\n"; // prints True print D([10, 20]) == D([10, 20]); // prints False -} \ No newline at end of file +} diff --git a/Test/dafny4/Bug67.dfy.expect b/Test/dafny4/Bug67.dfy.expect index c716cab3144..0be5d980da4 100644 --- a/Test/dafny4/Bug67.dfy.expect +++ b/Test/dafny4/Bug67.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 1 verified, 0 errors true true \ No newline at end of file diff --git a/Test/dafny4/Bug68.dfy b/Test/dafny4/Bug68.dfy index a211206acba..bf50015f90c 100644 --- a/Test/dafny4/Bug68.dfy +++ b/Test/dafny4/Bug68.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method M1() { @@ -62,4 +61,4 @@ method Main() M3(); M3'(); M4(); -} \ No newline at end of file +} diff --git a/Test/dafny4/Bug68.dfy.expect b/Test/dafny4/Bug68.dfy.expect index f4ef534187d..814ccfee2df 100644 --- a/Test/dafny4/Bug68.dfy.expect +++ b/Test/dafny4/Bug68.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 8 verified, 0 errors true true true diff --git a/Test/dafny4/Bug89.dfy b/Test/dafny4/Bug89.dfy index 4aec1acb8b7..c7b77b44f99 100644 --- a/Test/dafny4/Bug89.dfy +++ b/Test/dafny4/Bug89.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method F() returns(x:int) ensures x == 6 diff --git a/Test/dafny4/Bug89.dfy.expect b/Test/dafny4/Bug89.dfy.expect index ed41c274352..62f9457511f 100644 --- a/Test/dafny4/Bug89.dfy.expect +++ b/Test/dafny4/Bug89.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors 6 \ No newline at end of file diff --git a/Test/dafny4/Bug94.dfy b/Test/dafny4/Bug94.dfy index be931445654..c41458539fc 100644 --- a/Test/dafny4/Bug94.dfy +++ b/Test/dafny4/Bug94.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment ghost function foo() : (int, int) { diff --git a/Test/dafny4/Bug94.dfy.expect b/Test/dafny4/Bug94.dfy.expect index ab0cfbb2d9e..3f10ffe7a4c 100644 --- a/Test/dafny4/Bug94.dfy.expect +++ b/Test/dafny4/Bug94.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors 15 \ No newline at end of file diff --git a/Test/dafny4/ClassRefinement.dfy b/Test/dafny4/ClassRefinement.dfy index 320749ec197..3d5fd1006eb 100644 --- a/Test/dafny4/ClassRefinement.dfy +++ b/Test/dafny4/ClassRefinement.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment abstract module M0 { class Counter { diff --git a/Test/dafny4/ClassRefinement.dfy.expect b/Test/dafny4/ClassRefinement.dfy.expect index f456b6777f3..cba3471eb57 100644 --- a/Test/dafny4/ClassRefinement.dfy.expect +++ b/Test/dafny4/ClassRefinement.dfy.expect @@ -1,44 +1 @@ -ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated -ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier finished with 11 verified, 0 errors -ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated -ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -2 1 -ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated -ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -2 1 -ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated -ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -2 1 -ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated -ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification 2 1 diff --git a/Test/dafny4/ClassRefinement.dfy.verifier.expect b/Test/dafny4/ClassRefinement.dfy.verifier.expect new file mode 100644 index 00000000000..543e77303b5 --- /dev/null +++ b/Test/dafny4/ClassRefinement.dfy.verifier.expect @@ -0,0 +1,6 @@ +ClassRefinement.dfy(68,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(69,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(74,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(75,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(77,6): Warning: the modify statement with a block statement is deprecated +ClassRefinement.dfy(78,13): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny4/ExpandedGuardedness.dfy b/Test/dafny4/ExpandedGuardedness.dfy index 5cd7828f932..af620ec40e8 100644 --- a/Test/dafny4/ExpandedGuardedness.dfy +++ b/Test/dafny4/ExpandedGuardedness.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/dafny4/ExpandedGuardedness.dfy.expect b/Test/dafny4/ExpandedGuardedness.dfy.expect index d05670701e0..e0f3b041a66 100644 --- a/Test/dafny4/ExpandedGuardedness.dfy.expect +++ b/Test/dafny4/ExpandedGuardedness.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 12 verified, 0 errors Up 19 20 21 22 23 Up2 19 20 21 22 23 UpIf 19 20 22 24 26 diff --git a/Test/dafny4/FlyingRobots.dfy b/Test/dafny4/FlyingRobots.dfy index 41223cca1aa..f14a2a467cd 100644 --- a/Test/dafny4/FlyingRobots.dfy +++ b/Test/dafny4/FlyingRobots.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // The flying robots examples from an F* tutorial. It demonstrates how to specify // mutable data structures in the heap. diff --git a/Test/dafny4/FlyingRobots.dfy.expect b/Test/dafny4/FlyingRobots.dfy.expect index 5ed0d97333e..e69de29bb2d 100644 --- a/Test/dafny4/FlyingRobots.dfy.expect +++ b/Test/dafny4/FlyingRobots.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 31 verified, 0 errors diff --git a/Test/dafny4/Leq.dfy b/Test/dafny4/Leq.dfy index fac12757ba0..fdbc1078ca3 100644 --- a/Test/dafny4/Leq.dfy +++ b/Test/dafny4/Leq.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Rustan Leino, 22 Sep 2015. // This file considers two definitions of Leq on naturals+infinity. One diff --git a/Test/dafny4/Leq.dfy.expect b/Test/dafny4/Leq.dfy.expect index 15301952c57..e69de29bb2d 100644 --- a/Test/dafny4/Leq.dfy.expect +++ b/Test/dafny4/Leq.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 16 verified, 0 errors diff --git a/Test/dafny4/McCarthy91.dfy b/Test/dafny4/McCarthy91.dfy index 466d30328cc..428f11eb269 100644 --- a/Test/dafny4/McCarthy91.dfy +++ b/Test/dafny4/McCarthy91.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // The usual recursive method for computing McCarthy's 91 function method Main() { diff --git a/Test/dafny4/McCarthy91.dfy.expect b/Test/dafny4/McCarthy91.dfy.expect index b63f7a0b03b..1511cff2c81 100644 --- a/Test/dafny4/McCarthy91.dfy.expect +++ b/Test/dafny4/McCarthy91.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors M(3) = 91 M(99) = 91 M(100) = 91 diff --git a/Test/dafny4/NatList.dfy b/Test/dafny4/NatList.dfy index 567fd461259..5a1b0358eaf 100644 --- a/Test/dafny4/NatList.dfy +++ b/Test/dafny4/NatList.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This file tests some programs where "nat" is a type parameter to // a datatype. diff --git a/Test/dafny4/NatList.dfy.expect b/Test/dafny4/NatList.dfy.expect index 2ceb3169787..5382a29cb9f 100644 --- a/Test/dafny4/NatList.dfy.expect +++ b/Test/dafny4/NatList.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 11 verified, 0 errors ns = List.Cons(4, List.Cons(10, List.Nil)) Sum(ns) = 14 ns' = List.Cons(20, List.Nil) diff --git a/Test/dafny4/Regression15.dfy b/Test/dafny4/Regression15.dfy index 37f31ba7e90..5ecb5ee4e2b 100644 --- a/Test/dafny4/Regression15.dfy +++ b/Test/dafny4/Regression15.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var b; diff --git a/Test/dafny4/Regression15.dfy.expect b/Test/dafny4/Regression15.dfy.expect index 584190727b9..4cf7b8a8eb1 100644 --- a/Test/dafny4/Regression15.dfy.expect +++ b/Test/dafny4/Regression15.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 3 verified, 0 errors false true true diff --git a/Test/dafny4/Regression2.dfy b/Test/dafny4/Regression2.dfy index 213bf265401..0d28285e74c 100644 --- a/Test/dafny4/Regression2.dfy +++ b/Test/dafny4/Regression2.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module NativeTypes { newtype uint64 = int diff --git a/Test/dafny4/Regression2.dfy.expect b/Test/dafny4/Regression2.dfy.expect index 3f8ac383f86..8a739fb435a 100644 --- a/Test/dafny4/Regression2.dfy.expect +++ b/Test/dafny4/Regression2.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors true true true diff --git a/Test/dafny4/Regression3.dfy b/Test/dafny4/Regression3.dfy index adaa0d2763d..fc60fad3cb1 100644 --- a/Test/dafny4/Regression3.dfy +++ b/Test/dafny4/Regression3.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/dafny4/Regression3.dfy.expect b/Test/dafny4/Regression3.dfy.expect index 841338987c7..1223bf9ffaf 100644 --- a/Test/dafny4/Regression3.dfy.expect +++ b/Test/dafny4/Regression3.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 3 verified, 0 errors 55 Trunc( -3.0 ) = -3 (expected -3) Trunc( -2.8 ) = -3 (expected -3) diff --git a/Test/dafny4/Regression4.dfy b/Test/dafny4/Regression4.dfy index 5f881a5083f..e4bc4cbef85 100644 --- a/Test/dafny4/Regression4.dfy +++ b/Test/dafny4/Regression4.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { } diff --git a/Test/dafny4/Regression4.dfy.expect b/Test/dafny4/Regression4.dfy.expect index ba00363fc08..e69de29bb2d 100644 --- a/Test/dafny4/Regression4.dfy.expect +++ b/Test/dafny4/Regression4.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 4 verified, 0 errors diff --git a/Test/dafny4/Regression6.dfy b/Test/dafny4/Regression6.dfy index f1551d3ef2d..b589ec0ce7d 100644 --- a/Test/dafny4/Regression6.dfy +++ b/Test/dafny4/Regression6.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function Sum(a: array, lo: int, hi: int): int requires 0 <= lo <= hi <= a.Length diff --git a/Test/dafny4/Regression6.dfy.expect b/Test/dafny4/Regression6.dfy.expect index 17464f29e0b..54573bead10 100644 --- a/Test/dafny4/Regression6.dfy.expect +++ b/Test/dafny4/Regression6.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors 0 1028 0 diff --git a/Test/dafny4/Regression7.dfy b/Test/dafny4/Regression7.dfy index 8ce421a62f3..ef3ca5eea44 100644 --- a/Test/dafny4/Regression7.dfy +++ b/Test/dafny4/Regression7.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /rprint:"%t.rprint" /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module ListLibrary { datatype List = Nil | Cons(head: B, tail: List) diff --git a/Test/dafny4/Regression7.dfy.expect b/Test/dafny4/Regression7.dfy.expect index b7b2766a340..4d38be23500 100644 --- a/Test/dafny4/Regression7.dfy.expect +++ b/Test/dafny4/Regression7.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors ListLibrary.List.Cons(28.0, ListLibrary.List.Nil) diff --git a/Test/dafny4/Regression9.dfy b/Test/dafny4/Regression9.dfy index d9e44547252..086007a3ef8 100644 --- a/Test/dafny4/Regression9.dfy +++ b/Test/dafny4/Regression9.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Some tests for the type inference that was revamped // to better support subset types. diff --git a/Test/dafny4/Regression9.dfy.expect b/Test/dafny4/Regression9.dfy.expect index 5a26eaeabfb..2183b22cfa9 100644 --- a/Test/dafny4/Regression9.dfy.expect +++ b/Test/dafny4/Regression9.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors 'D''D''D' diff --git a/Test/dafny4/UnionFind.dfy b/Test/dafny4/UnionFind.dfy index b97b6ef5d61..354f28accb7 100644 --- a/Test/dafny4/UnionFind.dfy +++ b/Test/dafny4/UnionFind.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Rustan Leino, Nov 2015 // Module M0 gives the high-level specification of the UnionFind data structure diff --git a/Test/dafny4/UnionFind.dfy.expect b/Test/dafny4/UnionFind.dfy.expect index 961b161b8dc..1cb72129e49 100644 --- a/Test/dafny4/UnionFind.dfy.expect +++ b/Test/dafny4/UnionFind.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 63 verified, 0 errors false true true false true true diff --git a/Test/dafny4/gcd.dfy b/Test/dafny4/gcd.dfy index 384e338435f..fa92223fa49 100644 --- a/Test/dafny4/gcd.dfy +++ b/Test/dafny4/gcd.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation // A text describing this file is found in a Dafny Power User note: http://leino.science/papers/krml279.html diff --git a/Test/dafny4/gcd.dfy.expect b/Test/dafny4/gcd.dfy.expect index ecbe2b6f64a..c17551a37a4 100644 --- a/Test/dafny4/gcd.dfy.expect +++ b/Test/dafny4/gcd.dfy.expect @@ -1,34 +1,3 @@ - -Dafny program verifier finished with 19 verified, 0 errors - -Dafny program verifier did not attempt verification -15 gcd 9 = 3 -14 gcd 22 = 2 -371 gcd 1 = 1 -1 gcd 2 = 1 -1 gcd 1 = 1 -13 gcd 13 = 13 -60 gcd 60 = 60 - -Dafny program verifier did not attempt verification -15 gcd 9 = 3 -14 gcd 22 = 2 -371 gcd 1 = 1 -1 gcd 2 = 1 -1 gcd 1 = 1 -13 gcd 13 = 13 -60 gcd 60 = 60 - -Dafny program verifier did not attempt verification -15 gcd 9 = 3 -14 gcd 22 = 2 -371 gcd 1 = 1 -1 gcd 2 = 1 -1 gcd 1 = 1 -13 gcd 13 = 13 -60 gcd 60 = 60 - -Dafny program verifier did not attempt verification 15 gcd 9 = 3 14 gcd 22 = 2 371 gcd 1 = 1 diff --git a/Test/dafny4/git-issue104.dfy b/Test/dafny4/git-issue104.dfy index 86683a2ed88..b05ec4de1cc 100644 --- a/Test/dafny4/git-issue104.dfy +++ b/Test/dafny4/git-issue104.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment predicate bug(a: array) reads a diff --git a/Test/dafny4/git-issue104.dfy.expect b/Test/dafny4/git-issue104.dfy.expect index f572edb2471..836a5934c8f 100644 --- a/Test/dafny4/git-issue104.dfy.expect +++ b/Test/dafny4/git-issue104.dfy.expect @@ -1,17 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification -true false - -Dafny program verifier did not attempt verification -true false - -Dafny program verifier did not attempt verification -true false - -Dafny program verifier did not attempt verification -true false - -Dafny program verifier did not attempt verification true false diff --git a/Test/dafny4/git-issue105.dfy b/Test/dafny4/git-issue105.dfy index 09cfce29a6e..4cff2330cba 100644 --- a/Test/dafny4/git-issue105.dfy +++ b/Test/dafny4/git-issue105.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method lol() returns (c: int) { diff --git a/Test/dafny4/git-issue105.dfy.expect b/Test/dafny4/git-issue105.dfy.expect index 012f5b99379..e69de29bb2d 100644 --- a/Test/dafny4/git-issue105.dfy.expect +++ b/Test/dafny4/git-issue105.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/dafny4/git-issue15.dfy b/Test/dafny4/git-issue15.dfy index 96905286209..7c77a67ccf9 100755 --- a/Test/dafny4/git-issue15.dfy +++ b/Test/dafny4/git-issue15.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype obj = Obj(fooBar:map) datatype foo = Foo diff --git a/Test/dafny4/git-issue15.dfy.expect b/Test/dafny4/git-issue15.dfy.expect index e52de78d0b1..00750edc07d 100755 --- a/Test/dafny4/git-issue15.dfy.expect +++ b/Test/dafny4/git-issue15.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors 3 diff --git a/Test/dafny4/git-issue167.dfy b/Test/dafny4/git-issue167.dfy index d02943dc42d..d98d425c345 100644 --- a/Test/dafny4/git-issue167.dfy +++ b/Test/dafny4/git-issue167.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { LetTest(); diff --git a/Test/dafny4/git-issue167.dfy.expect b/Test/dafny4/git-issue167.dfy.expect index 0a230fe846e..8c5e1ed8df7 100644 --- a/Test/dafny4/git-issue167.dfy.expect +++ b/Test/dafny4/git-issue167.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 4 verified, 0 errors 30 {6, 7} {['M', 'i', 'l', 'l', 'a'], ['A', 'l', 'f', 'o', 'n', 's']} diff --git a/Test/dafny4/git-issue195.dfy b/Test/dafny4/git-issue195.dfy index ac4b1306ac6..fccdc5461c8 100644 --- a/Test/dafny4/git-issue195.dfy +++ b/Test/dafny4/git-issue195.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Block = Block(prevBlockHash:Hash, txs:seq, proof:VProof) diff --git a/Test/dafny4/git-issue195.dfy.expect b/Test/dafny4/git-issue195.dfy.expect index 30692fdef2a..638bfb50b2d 100644 --- a/Test/dafny4/git-issue195.dfy.expect +++ b/Test/dafny4/git-issue195.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 4 verified, 0 errors true true true true true diff --git a/Test/dafny4/git-issue196.dfy b/Test/dafny4/git-issue196.dfy index 64eb0e9123f..056687ab1a5 100644 --- a/Test/dafny4/git-issue196.dfy +++ b/Test/dafny4/git-issue196.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class A { var a: array> diff --git a/Test/dafny4/git-issue196.dfy.expect b/Test/dafny4/git-issue196.dfy.expect index a333f982b8f..ee25a2c5027 100644 --- a/Test/dafny4/git-issue196.dfy.expect +++ b/Test/dafny4/git-issue196.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 9 verified, 0 errors 42 42 42 5000 5000 5000 5000 5000 diff --git a/Test/dafny4/git-issue4.dfy b/Test/dafny4/git-issue4.dfy index b19cf3ce6df..b17a545e219 100644 --- a/Test/dafny4/git-issue4.dfy +++ b/Test/dafny4/git-issue4.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function IntToChar(i:int):char requires 0 <= i < 10 diff --git a/Test/dafny4/git-issue4.dfy.expect b/Test/dafny4/git-issue4.dfy.expect index 33af1e040b7..24e24eb63cc 100644 --- a/Test/dafny4/git-issue4.dfy.expect +++ b/Test/dafny4/git-issue4.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors '8' 8 '8' 56 56 diff --git a/Test/dafny4/git-issue43.dfy b/Test/dafny4/git-issue43.dfy index edf056a1a91..d320d7761bc 100644 --- a/Test/dafny4/git-issue43.dfy +++ b/Test/dafny4/git-issue43.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class System { } diff --git a/Test/dafny4/git-issue43.dfy.expect b/Test/dafny4/git-issue43.dfy.expect index 012f5b99379..e69de29bb2d 100644 --- a/Test/dafny4/git-issue43.dfy.expect +++ b/Test/dafny4/git-issue43.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/dafny4/git-issue70.dfy b/Test/dafny4/git-issue70.dfy index c8db7c9618d..3a3a01e0af7 100644 --- a/Test/dafny4/git-issue70.dfy +++ b/Test/dafny4/git-issue70.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/dafny4/git-issue70.dfy.expect b/Test/dafny4/git-issue70.dfy.expect index 526e9a5b349..36ede89b639 100644 --- a/Test/dafny4/git-issue70.dfy.expect +++ b/Test/dafny4/git-issue70.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 3 verified, 0 errors map test {4, 6} {5, 7} diff --git a/Test/dafny4/git-issue76.dfy b/Test/dafny4/git-issue76.dfy index 708ee911b24..85613dba2f2 100644 --- a/Test/dafny4/git-issue76.dfy +++ b/Test/dafny4/git-issue76.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { M0(); diff --git a/Test/dafny4/git-issue76.dfy.expect b/Test/dafny4/git-issue76.dfy.expect index 546da03a267..0cfbf08886f 100644 --- a/Test/dafny4/git-issue76.dfy.expect +++ b/Test/dafny4/git-issue76.dfy.expect @@ -1,8 +1 @@ - -Dafny program verifier finished with 7 verified, 0 errors - -Dafny program verifier did not attempt verification -2 - -Dafny program verifier did not attempt verification 2 diff --git a/Test/dafny4/git-issue79.dfy b/Test/dafny4/git-issue79.dfy index 046a7c5e375..f3fb17b8531 100644 --- a/Test/dafny4/git-issue79.dfy +++ b/Test/dafny4/git-issue79.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype EInt = Int(val: int) | Unknown type Pair = (string, EInt) diff --git a/Test/dafny4/git-issue79.dfy.expect b/Test/dafny4/git-issue79.dfy.expect index 012f5b99379..e69de29bb2d 100644 --- a/Test/dafny4/git-issue79.dfy.expect +++ b/Test/dafny4/git-issue79.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/dafny4/git-issue88.dfy b/Test/dafny4/git-issue88.dfy index 1c188333783..83c0b4a8ef9 100644 --- a/Test/dafny4/git-issue88.dfy +++ b/Test/dafny4/git-issue88.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment type Grid = array2 diff --git a/Test/dafny4/git-issue88.dfy.expect b/Test/dafny4/git-issue88.dfy.expect index 00a51f822da..e69de29bb2d 100644 --- a/Test/dafny4/git-issue88.dfy.expect +++ b/Test/dafny4/git-issue88.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 3 verified, 0 errors diff --git a/Test/exceptions/Exceptions1.dfy b/Test/exceptions/Exceptions1.dfy index 11bb2f7923d..4ffd3291f2f 100644 --- a/Test/exceptions/Exceptions1.dfy +++ b/Test/exceptions/Exceptions1.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" /rprint:"%t.rprint" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "./NatOutcome.dfy" include "./VoidOutcome.dfy" diff --git a/Test/exceptions/Exceptions1.dfy.expect b/Test/exceptions/Exceptions1.dfy.expect index e61be2a11ad..c87eb938c55 100644 --- a/Test/exceptions/Exceptions1.dfy.expect +++ b/Test/exceptions/Exceptions1.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 7 verified, 0 errors true_true_true_88_42_33_Success=100 ___VoidSuccess true_true_false_88_42_Failure diff --git a/Test/exceptions/Exceptions1Expressions.dfy b/Test/exceptions/Exceptions1Expressions.dfy index c0f3c67cd39..a57e5b78c7e 100644 --- a/Test/exceptions/Exceptions1Expressions.dfy +++ b/Test/exceptions/Exceptions1Expressions.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" /rprint:"%t.rprint" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "./NatOutcomeDt.dfy" include "./VoidOutcomeDt.dfy" diff --git a/Test/exceptions/Exceptions1Expressions.dfy.expect b/Test/exceptions/Exceptions1Expressions.dfy.expect index 3da30f30d36..3f1b38ab150 100644 --- a/Test/exceptions/Exceptions1Expressions.dfy.expect +++ b/Test/exceptions/Exceptions1Expressions.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors true_true_true_Success=100 VoidSuccess true_true_false_Failure diff --git a/Test/exports/FIFO.dfy b/Test/exports/FIFO.dfy index 173e412eaa9..95a8d25510c 100644 --- a/Test/exports/FIFO.dfy +++ b/Test/exports/FIFO.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "Queue.dfyi" diff --git a/Test/exports/FIFO.dfy.expect b/Test/exports/FIFO.dfy.expect index 8350309cc2a..4539bbf2d22 100644 --- a/Test/exports/FIFO.dfy.expect +++ b/Test/exports/FIFO.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors 0 1 2 diff --git a/Test/exports/LIFO.dfy b/Test/exports/LIFO.dfy index ea691935620..513dd457c3f 100644 --- a/Test/exports/LIFO.dfy +++ b/Test/exports/LIFO.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "Queue.dfyi" diff --git a/Test/exports/LIFO.dfy.expect b/Test/exports/LIFO.dfy.expect index 48aa7787d09..ae136939b64 100644 --- a/Test/exports/LIFO.dfy.expect +++ b/Test/exports/LIFO.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors 2 1 0 diff --git a/Test/exports/xrefine2.dfy b/Test/exports/xrefine2.dfy index 0b25240916c..2409cc0509a 100644 --- a/Test/exports/xrefine2.dfy +++ b/Test/exports/xrefine2.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module ProtocolImpl { diff --git a/Test/exports/xrefine2.dfy.expect b/Test/exports/xrefine2.dfy.expect index 34e1b357779..858dbd09862 100644 --- a/Test/exports/xrefine2.dfy.expect +++ b/Test/exports/xrefine2.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 4 verified, 0 errors HI.foo(h1) => true HI.foo(h2) => true PI.orange(1) => 2 diff --git a/Test/exports/xrefine3.dfy b/Test/exports/xrefine3.dfy index 24d6fa062f0..bb2480bfed7 100644 --- a/Test/exports/xrefine3.dfy +++ b/Test/exports/xrefine3.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module AlphaImpl { diff --git a/Test/exports/xrefine3.dfy.expect b/Test/exports/xrefine3.dfy.expect index 488ab11c36a..ae50cef0985 100644 --- a/Test/exports/xrefine3.dfy.expect +++ b/Test/exports/xrefine3.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors o hai! diff --git a/Test/git-issues/git-issue-032.dfy b/Test/git-issues/git-issue-032.dfy index bde5b2f2a69..d7dd61440a7 100644 --- a/Test/git-issues/git-issue-032.dfy +++ b/Test/git-issues/git-issue-032.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/git-issues/git-issue-032.dfy.expect b/Test/git-issues/git-issue-032.dfy.expect index 91c285009c1..2a64997c6f7 100644 --- a/Test/git-issues/git-issue-032.dfy.expect +++ b/Test/git-issues/git-issue-032.dfy.expect @@ -1,40 +1,3 @@ -git-issue-032.dfy(18,35): Warning: this branch is redundant -git-issue-032.dfy(27,34): Warning: this branch is redundant -git-issue-032.dfy(28,35): Warning: this branch is redundant - -Dafny program verifier finished with 1 verified, 0 errors -git-issue-032.dfy(18,35): Warning: this branch is redundant -git-issue-032.dfy(27,34): Warning: this branch is redundant -git-issue-032.dfy(28,35): Warning: this branch is redundant - -Dafny program verifier did not attempt verification -OK3 -OK -OKOK -00 -git-issue-032.dfy(18,35): Warning: this branch is redundant -git-issue-032.dfy(27,34): Warning: this branch is redundant -git-issue-032.dfy(28,35): Warning: this branch is redundant - -Dafny program verifier did not attempt verification -OK3 -OK -OKOK -00 -git-issue-032.dfy(18,35): Warning: this branch is redundant -git-issue-032.dfy(27,34): Warning: this branch is redundant -git-issue-032.dfy(28,35): Warning: this branch is redundant - -Dafny program verifier did not attempt verification -OK3 -OK -OKOK -00 -git-issue-032.dfy(18,35): Warning: this branch is redundant -git-issue-032.dfy(27,34): Warning: this branch is redundant -git-issue-032.dfy(28,35): Warning: this branch is redundant - -Dafny program verifier did not attempt verification OK3 OK OKOK diff --git a/Test/git-issues/git-issue-032.dfy.verifier.expect b/Test/git-issues/git-issue-032.dfy.verifier.expect new file mode 100644 index 00000000000..1878351db97 --- /dev/null +++ b/Test/git-issues/git-issue-032.dfy.verifier.expect @@ -0,0 +1,3 @@ +git-issue-032.dfy(13,35): Warning: this branch is redundant +git-issue-032.dfy(22,34): Warning: this branch is redundant +git-issue-032.dfy(23,35): Warning: this branch is redundant diff --git a/Test/git-issues/git-issue-1029.dfy b/Test/git-issues/git-issue-1029.dfy index a310a99c169..7e1e7a31cf2 100644 --- a/Test/git-issues/git-issue-1029.dfy +++ b/Test/git-issues/git-issue-1029.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module ValueType { export S diff --git a/Test/git-issues/git-issue-1029.dfy.expect b/Test/git-issues/git-issue-1029.dfy.expect index 7108c86b0b5..116f2acb4ee 100644 --- a/Test/git-issues/git-issue-1029.dfy.expect +++ b/Test/git-issues/git-issue-1029.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors [true, true, false] UI.Op2.GetOps([true, true, false], [true, true, false]) diff --git a/Test/git-issues/git-issue-1093.dfy b/Test/git-issues/git-issue-1093.dfy index 9365397496f..97797296680 100644 --- a/Test/git-issues/git-issue-1093.dfy +++ b/Test/git-issues/git-issue-1093.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { UnusedLabel(); diff --git a/Test/git-issues/git-issue-1093.dfy.expect b/Test/git-issues/git-issue-1093.dfy.expect index 0cadf5e4199..f599e28b8ab 100644 --- a/Test/git-issues/git-issue-1093.dfy.expect +++ b/Test/git-issues/git-issue-1093.dfy.expect @@ -1,17 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification -10 - -Dafny program verifier did not attempt verification -10 - -Dafny program verifier did not attempt verification -10 - -Dafny program verifier did not attempt verification -10 - -Dafny program verifier did not attempt verification 10 diff --git a/Test/git-issues/git-issue-1100.dfy b/Test/git-issues/git-issue-1100.dfy index 533d7688731..2c4bb564136 100644 --- a/Test/git-issues/git-issue-1100.dfy +++ b/Test/git-issues/git-issue-1100.dfy @@ -1,4 +1,3 @@ -// RUN: %dafny /compile:3 /unicodeChar:0 /compileTarget:cpp %S/../c++/arrays.dfy > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false /Users/salkeldr/Documents/GitHub/dafny/Test/git-issues/../c++/arrays.dfy // Test compilation of a file in another directory diff --git a/Test/git-issues/git-issue-1100.dfy.expect b/Test/git-issues/git-issue-1100.dfy.expect index 552f9355593..2ce9320d8c2 100644 --- a/Test/git-issues/git-issue-1100.dfy.expect +++ b/Test/git-issues/git-issue-1100.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 9 verified, 0 errors 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/git-issues/git-issue-1130.dfy b/Test/git-issues/git-issue-1130.dfy index 5b7fc5068e2..f1f5ad5a54b 100644 --- a/Test/git-issues/git-issue-1130.dfy +++ b/Test/git-issues/git-issue-1130.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var a := new Issue.Foo(); diff --git a/Test/git-issues/git-issue-1130.dfy.expect b/Test/git-issues/git-issue-1130.dfy.expect index 6c3dd07b1f1..de97a6dc4ca 100644 --- a/Test/git-issues/git-issue-1130.dfy.expect +++ b/Test/git-issues/git-issue-1130.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 13 verified, 0 errors 012 diff --git a/Test/git-issues/git-issue-1150.dfy b/Test/git-issues/git-issue-1150.dfy index d4cee3c3ef2..d3416a53813 100644 --- a/Test/git-issues/git-issue-1150.dfy +++ b/Test/git-issues/git-issue-1150.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Foo = Foo(x: nat) { diff --git a/Test/git-issues/git-issue-1150.dfy.expect b/Test/git-issues/git-issue-1150.dfy.expect index fb4be1897cf..f34d8df4a11 100644 --- a/Test/git-issues/git-issue-1150.dfy.expect +++ b/Test/git-issues/git-issue-1150.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 1 verified, 0 errors Foo.Foo(2) true Foo.Foo(5) false diff --git a/Test/git-issues/git-issue-1185.dfy b/Test/git-issues/git-issue-1185.dfy index 32c340b0736..c7ad72134d1 100644 --- a/Test/git-issues/git-issue-1185.dfy +++ b/Test/git-issues/git-issue-1185.dfy @@ -1,9 +1,5 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment predicate P(s: set) requires s != {} diff --git a/Test/git-issues/git-issue-1185.dfy.expect b/Test/git-issues/git-issue-1185.dfy.expect index 90ab58a1f5a..525ce875525 100644 --- a/Test/git-issues/git-issue-1185.dfy.expect +++ b/Test/git-issues/git-issue-1185.dfy.expect @@ -1,14 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification -{12, 20} true 6 - -Dafny program verifier did not attempt verification -{20, 12} true 6 - -Dafny program verifier did not attempt verification -{12, 20} true 6 - -Dafny program verifier did not attempt verification {12, 20} true 6 diff --git a/Test/git-issues/git-issue-1185.dfy.java.expect b/Test/git-issues/git-issue-1185.dfy.java.expect new file mode 100644 index 00000000000..8ba669ad273 --- /dev/null +++ b/Test/git-issues/git-issue-1185.dfy.java.expect @@ -0,0 +1 @@ +{20, 12} true 6 diff --git a/Test/git-issues/git-issue-1514.dfy b/Test/git-issues/git-issue-1514.dfy index 74b75478609..816eadce69b 100644 --- a/Test/git-issues/git-issue-1514.dfy +++ b/Test/git-issues/git-issue-1514.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "Wrappers.dfy" import opened Wrappers diff --git a/Test/git-issues/git-issue-1514.dfy.expect b/Test/git-issues/git-issue-1514.dfy.expect index 2f22d47cee8..b5754e20373 100644 --- a/Test/git-issues/git-issue-1514.dfy.expect +++ b/Test/git-issues/git-issue-1514.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-1514b.dfy b/Test/git-issues/git-issue-1514b.dfy index 1d8cd122d28..050a4a71760 100644 --- a/Test/git-issues/git-issue-1514b.dfy +++ b/Test/git-issues/git-issue-1514b.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "Wrappers.dfy" import opened Wrappers diff --git a/Test/git-issues/git-issue-1514b.dfy.expect b/Test/git-issues/git-issue-1514b.dfy.expect index 2f22d47cee8..b5754e20373 100644 --- a/Test/git-issues/git-issue-1514b.dfy.expect +++ b/Test/git-issues/git-issue-1514b.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-1514c.dfy b/Test/git-issues/git-issue-1514c.dfy index d9df7d108c1..578316f217c 100644 --- a/Test/git-issues/git-issue-1514c.dfy +++ b/Test/git-issues/git-issue-1514c.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "Wrappers.dfy" import opened Wrappers diff --git a/Test/git-issues/git-issue-1514c.dfy.expect b/Test/git-issues/git-issue-1514c.dfy.expect index 694254c28aa..9766475a418 100644 --- a/Test/git-issues/git-issue-1514c.dfy.expect +++ b/Test/git-issues/git-issue-1514c.dfy.expect @@ -1,8 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification -ok - -Dafny program verifier did not attempt verification ok diff --git a/Test/git-issues/git-issue-1553.dfy b/Test/git-issues/git-issue-1553.dfy index 6267018c92d..81cbef7aa7e 100644 --- a/Test/git-issues/git-issue-1553.dfy +++ b/Test/git-issues/git-issue-1553.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { } method Test() { diff --git a/Test/git-issues/git-issue-1553.dfy.expect b/Test/git-issues/git-issue-1553.dfy.expect index 65d3b5d6635..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-1553.dfy.expect +++ b/Test/git-issues/git-issue-1553.dfy.expect @@ -1,10 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-1604b.dfy b/Test/git-issues/git-issue-1604b.dfy index 497ee5017d5..d7c4169ec60 100644 --- a/Test/git-issues/git-issue-1604b.dfy +++ b/Test/git-issues/git-issue-1604b.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /errorLimit:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --error-limit:0 --relax-definite-assignment // Double constraints. Will this still work? diff --git a/Test/git-issues/git-issue-1604b.dfy.expect b/Test/git-issues/git-issue-1604b.dfy.expect index 93d7203e654..b5754e20373 100644 --- a/Test/git-issues/git-issue-1604b.dfy.expect +++ b/Test/git-issues/git-issue-1604b.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 5 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-1714.dfy b/Test/git-issues/git-issue-1714.dfy index 6ce8915a7af..540a41c39cb 100644 --- a/Test/git-issues/git-issue-1714.dfy +++ b/Test/git-issues/git-issue-1714.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait Base {} class Derived extends Base { var n: int constructor() { n := 0; } } diff --git a/Test/git-issues/git-issue-1714.dfy.expect b/Test/git-issues/git-issue-1714.dfy.expect index 67dd7d95642..88039063d09 100644 --- a/Test/git-issues/git-issue-1714.dfy.expect +++ b/Test/git-issues/git-issue-1714.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors (b as Derived).n == 0 diff --git a/Test/git-issues/git-issue-179.dfy b/Test/git-issues/git-issue-179.dfy index 283a04f1a68..d37d3048490 100644 --- a/Test/git-issues/git-issue-179.dfy +++ b/Test/git-issues/git-issue-179.dfy @@ -1,9 +1,5 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var mp: map; diff --git a/Test/git-issues/git-issue-179.dfy.expect b/Test/git-issues/git-issue-179.dfy.expect index 3f922ac5bd4..97cb7aa6c7a 100644 --- a/Test/git-issues/git-issue-179.dfy.expect +++ b/Test/git-issues/git-issue-179.dfy.expect @@ -1,26 +1,4 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification {(3, false), (4, true), (5, false)} {3, 4, 5} {false, true} true false true false - -Dafny program verifier did not attempt verification -{(5, false), (4, true), (3, false)} -{5, 4, 3} -{false, true} -true false true false - -Dafny program verifier did not attempt verification -{(5, false), (4, true), (3, false)} -{5, 4, 3} -{false, true} -true false true false - -Dafny program verifier did not attempt verification -{(5, false), (3, false), (4, true)} -{3, 4, 5} -{false, true} -true false true false diff --git a/Test/git-issues/git-issue-179.dfy.go.expect b/Test/git-issues/git-issue-179.dfy.go.expect new file mode 100644 index 00000000000..3b6c1b2603f --- /dev/null +++ b/Test/git-issues/git-issue-179.dfy.go.expect @@ -0,0 +1,4 @@ +{(5, false), (4, true), (3, false)} +{5, 4, 3} +{false, true} +true false true false diff --git a/Test/git-issues/git-issue-179.dfy.java.expect b/Test/git-issues/git-issue-179.dfy.java.expect new file mode 100644 index 00000000000..ebe17288dfd --- /dev/null +++ b/Test/git-issues/git-issue-179.dfy.java.expect @@ -0,0 +1,4 @@ +{(5, false), (3, false), (4, true)} +{3, 4, 5} +{false, true} +true false true false diff --git a/Test/git-issues/git-issue-179.dfy.js.expect b/Test/git-issues/git-issue-179.dfy.js.expect new file mode 100644 index 00000000000..3b6c1b2603f --- /dev/null +++ b/Test/git-issues/git-issue-179.dfy.js.expect @@ -0,0 +1,4 @@ +{(5, false), (4, true), (3, false)} +{5, 4, 3} +{false, true} +true false true false diff --git a/Test/git-issues/git-issue-1815a.dfy b/Test/git-issues/git-issue-1815a.dfy index 91fb7a32aa6..72d55a1cb4f 100644 --- a/Test/git-issues/git-issue-1815a.dfy +++ b/Test/git-issues/git-issue-1815a.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Dt<+U> = Dt(x: U, i: int) diff --git a/Test/git-issues/git-issue-1815a.dfy.expect b/Test/git-issues/git-issue-1815a.dfy.expect index 7b2651302d9..19f86f493ab 100644 --- a/Test/git-issues/git-issue-1815a.dfy.expect +++ b/Test/git-issues/git-issue-1815a.dfy.expect @@ -1,17 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification -done - -Dafny program verifier did not attempt verification -done - -Dafny program verifier did not attempt verification -done - -Dafny program verifier did not attempt verification -done - -Dafny program verifier did not attempt verification done diff --git a/Test/git-issues/git-issue-1852.dfy b/Test/git-issues/git-issue-1852.dfy index 516835e8ea8..046f3fca1fc 100644 --- a/Test/git-issues/git-issue-1852.dfy +++ b/Test/git-issues/git-issue-1852.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module A { export diff --git a/Test/git-issues/git-issue-1852.dfy.expect b/Test/git-issues/git-issue-1852.dfy.expect index e9cd0ea2e07..299a71f3fe4 100644 --- a/Test/git-issues/git-issue-1852.dfy.expect +++ b/Test/git-issues/git-issue-1852.dfy.expect @@ -1,8 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification -5 5 - -Dafny program verifier did not attempt verification 5 5 diff --git a/Test/git-issues/git-issue-1903.dfy b/Test/git-issues/git-issue-1903.dfy index 7edb2a46c61..60ee1c121ab 100644 --- a/Test/git-issues/git-issue-1903.dfy +++ b/Test/git-issues/git-issue-1903.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method g(x : seq := []) { diff --git a/Test/git-issues/git-issue-1903.dfy.expect b/Test/git-issues/git-issue-1903.dfy.expect index 3170fb0c7f2..84cc8d360f9 100644 --- a/Test/git-issues/git-issue-1903.dfy.expect +++ b/Test/git-issues/git-issue-1903.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors worked! diff --git a/Test/git-issues/git-issue-1909.dfy b/Test/git-issues/git-issue-1909.dfy index 7fb5b3b8c48..83d9ec1d785 100644 --- a/Test/git-issues/git-issue-1909.dfy +++ b/Test/git-issues/git-issue-1909.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype ABC = ABC(nameonly a: int, nameonly b: int, nameonly c: int) diff --git a/Test/git-issues/git-issue-1909.dfy.expect b/Test/git-issues/git-issue-1909.dfy.expect index b4eb7e7774e..ab6f7d69d36 100644 --- a/Test/git-issues/git-issue-1909.dfy.expect +++ b/Test/git-issues/git-issue-1909.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors ABC.ABC(19, 21, 23) ABC.ABC(19, 42, 23) ABC.ABC(100, 42, 90) diff --git a/Test/git-issues/git-issue-2013.dfy b/Test/git-issues/git-issue-2013.dfy index d1d3e15880e..1f3962988ee 100644 --- a/Test/git-issues/git-issue-2013.dfy +++ b/Test/git-issues/git-issue-2013.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/git-issues/git-issue-2013.dfy.expect b/Test/git-issues/git-issue-2013.dfy.expect index 7ff6ce957cf..22e56ce7263 100644 --- a/Test/git-issues/git-issue-2013.dfy.expect +++ b/Test/git-issues/git-issue-2013.dfy.expect @@ -1,55 +1,3 @@ - -Dafny program verifier finished with 12 verified, 0 errors - -Dafny program verifier did not attempt verification -16 -16 -12 30 30 -Result.Success(8) Result.Failure(_module.MyClassException) -{100} {100} {100} -{MoreTests.C} {MoreTests.C} {MoreTests.C} -100 100 100 -MoreTests.C MoreTests.C MoreTests.C -Conveyance.NonVariantResult.NVSuccess(Conveyance.Car) Conveyance.CovariantResult.CVSuccess(Conveyance.Car) -M.Stream.Next - -Dafny program verifier did not attempt verification -16 -16 -12 30 30 -Result.Success(8) Result.Failure(_module.MyClassException) -{100} {100} {100} -{MoreTests.C} {MoreTests.C} {MoreTests.C} -100 100 100 -MoreTests.C MoreTests.C MoreTests.C -Conveyance.NonVariantResult.NVSuccess(Conveyance.Car) Conveyance.CovariantResult.CVSuccess(Conveyance.Car) -M.Stream.Next - -Dafny program verifier did not attempt verification -16 -16 -12 30 30 -Result.Success(8) Result.Failure(_module.MyClassException) -{100} {100} {100} -{MoreTests.C} {MoreTests.C} {MoreTests.C} -100 100 100 -MoreTests.C MoreTests.C MoreTests.C -Conveyance.NonVariantResult.NVSuccess(Conveyance.Car) Conveyance.CovariantResult.CVSuccess(Conveyance.Car) -M.Stream.Next - -Dafny program verifier did not attempt verification -16 -16 -12 30 30 -Result.Success(8) Result.Failure(_module.MyClassException) -{100} {100} {100} -{MoreTests.C} {MoreTests.C} {MoreTests.C} -100 100 100 -MoreTests.C MoreTests.C MoreTests.C -Conveyance.NonVariantResult.NVSuccess(Conveyance.Car) Conveyance.CovariantResult.CVSuccess(Conveyance.Car) -M.Stream.Next - -Dafny program verifier did not attempt verification 16 16 12 30 30 diff --git a/Test/git-issues/git-issue-2441.dfy b/Test/git-issues/git-issue-2441.dfy index bc9c8721ee2..4179ecc87bc 100644 --- a/Test/git-issues/git-issue-2441.dfy +++ b/Test/git-issues/git-issue-2441.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype A = A(B: B) datatype B = X diff --git a/Test/git-issues/git-issue-2441.dfy.expect b/Test/git-issues/git-issue-2441.dfy.expect index 0c3f603d584..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-2441.dfy.expect +++ b/Test/git-issues/git-issue-2441.dfy.expect @@ -1,6 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-2510.dfy b/Test/git-issues/git-issue-2510.dfy index 22ef8e47058..11ee2877bb3 100644 --- a/Test/git-issues/git-issue-2510.dfy +++ b/Test/git-issues/git-issue-2510.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:4 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /// Check that the compiler accepts `:- assume {:axiom} …`. diff --git a/Test/git-issues/git-issue-2510.dfy.expect b/Test/git-issues/git-issue-2510.dfy.expect index b341a39a78d..56a6051ca2b 100644 --- a/Test/git-issues/git-issue-2510.dfy.expect +++ b/Test/git-issues/git-issue-2510.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors 1 \ No newline at end of file diff --git a/Test/git-issues/git-issue-258.dfy b/Test/git-issues/git-issue-258.dfy index dbc437cebbc..e6a5ef2248d 100644 --- a/Test/git-issues/git-issue-258.dfy +++ b/Test/git-issues/git-issue-258.dfy @@ -1,9 +1,5 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /compile:3 /unicodeChar:0 /spillTargetCode:3 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /compile:3 /unicodeChar:0 /spillTargetCode:3 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /compile:3 /unicodeChar:0 /spillTargetCode:3 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /compile:3 /unicodeChar:0 /spillTargetCode:3 /compileTarget:go "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false method pr(s: seq) { print s, "\n"; diff --git a/Test/git-issues/git-issue-258.dfy.expect b/Test/git-issues/git-issue-258.dfy.expect index 8cf196174b8..31b98032806 100644 --- a/Test/git-issues/git-issue-258.dfy.expect +++ b/Test/git-issues/git-issue-258.dfy.expect @@ -1,83 +1,10 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier finished with 1 verified, 0 errors -hi -hi - - -HI! -hi - -HI! - -[23, 45] -[23, 45] -[] -[] -abcabc -abcabc -abcdef -abcdef - - -[1, 2, 3, 4] -[1, 2, 3, 4] - -Dafny program verifier finished with 1 verified, 0 errors -hi -hi - - -HI! -hi - -HI! - -[23, 45] -[23, 45] -[] -[] -abcabc -abcabc -abcdef -abcdef - - -[1, 2, 3, 4] -[1, 2, 3, 4] - -Dafny program verifier finished with 1 verified, 0 errors hi hi HI! hi -[] -HI! - -[23, 45] -[23, 45] -[] -[] -abcabc -abcabc -abcdef -abcdef - - -[1, 2, 3, 4] -[1, 2, 3, 4] - -Dafny program verifier finished with 1 verified, 0 errors -hi -hi - -HI! -hi -[] HI! [23, 45] diff --git a/Test/git-issues/git-issue-258.dfy.go.expect b/Test/git-issues/git-issue-258.dfy.go.expect new file mode 100644 index 00000000000..2745afdf6e1 --- /dev/null +++ b/Test/git-issues/git-issue-258.dfy.go.expect @@ -0,0 +1,21 @@ +hi +hi + + +HI! +hi +[] +HI! + +[23, 45] +[23, 45] +[] +[] +abcabc +abcabc +abcdef +abcdef + + +[1, 2, 3, 4] +[1, 2, 3, 4] diff --git a/Test/git-issues/git-issue-258.dfy.js.expect b/Test/git-issues/git-issue-258.dfy.js.expect new file mode 100644 index 00000000000..2745afdf6e1 --- /dev/null +++ b/Test/git-issues/git-issue-258.dfy.js.expect @@ -0,0 +1,21 @@ +hi +hi + + +HI! +hi +[] +HI! + +[23, 45] +[23, 45] +[] +[] +abcabc +abcabc +abcdef +abcdef + + +[1, 2, 3, 4] +[1, 2, 3, 4] diff --git a/Test/git-issues/git-issue-2608.dfy b/Test/git-issues/git-issue-2608.dfy index 459c9ffbf94..c606177f94f 100644 --- a/Test/git-issues/git-issue-2608.dfy +++ b/Test/git-issues/git-issue-2608.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /compileTarget:js "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method GetNext(i: int) returns (j: int, possible: bool) { if i == 1 { diff --git a/Test/git-issues/git-issue-2608.dfy.expect b/Test/git-issues/git-issue-2608.dfy.expect index dce7ba1814a..d9ed583f710 100644 --- a/Test/git-issues/git-issue-2608.dfy.expect +++ b/Test/git-issues/git-issue-2608.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors 82411246231944714271214 \ No newline at end of file diff --git a/Test/git-issues/git-issue-262.dfy b/Test/git-issues/git-issue-262.dfy index 2c00ad94a39..22d9a31b2fe 100644 --- a/Test/git-issues/git-issue-262.dfy +++ b/Test/git-issues/git-issue-262.dfy @@ -1,8 +1,5 @@ -// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" -// RUN: %dafny /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function tst(x: nat): nat { x + 1 diff --git a/Test/git-issues/git-issue-262.dfy.expect b/Test/git-issues/git-issue-262.dfy.expect index 76af42cd4a3..41d8cd55158 100644 --- a/Test/git-issues/git-issue-262.dfy.expect +++ b/Test/git-issues/git-issue-262.dfy.expect @@ -1,20 +1,2 @@ - -Dafny program verifier finished with 2 verified, 0 errors System.Func`2[System.Numerics.BigInteger,System.Numerics.BigInteger] System.Func`2[System.Numerics.BigInteger,System.Numerics.BigInteger] - -Dafny program verifier finished with 2 verified, 0 errors -tst(x) { - return (x).plus(_dafny.ONE); - } -tst(x) { - return (x).plus(_dafny.ONE); - } - -Dafny program verifier finished with 2 verified, 0 errors -func(dafny.Int) dafny.Int -func(dafny.Int) dafny.Int - -Dafny program verifier finished with 2 verified, 0 errors -Function -Function diff --git a/Test/git-issues/git-issue-262.dfy.go.expect b/Test/git-issues/git-issue-262.dfy.go.expect new file mode 100644 index 00000000000..578754c176c --- /dev/null +++ b/Test/git-issues/git-issue-262.dfy.go.expect @@ -0,0 +1,2 @@ +func(dafny.Int) dafny.Int +func(dafny.Int) dafny.Int diff --git a/Test/git-issues/git-issue-262.dfy.java.expect b/Test/git-issues/git-issue-262.dfy.java.expect new file mode 100644 index 00000000000..aa5478ef8c9 --- /dev/null +++ b/Test/git-issues/git-issue-262.dfy.java.expect @@ -0,0 +1,2 @@ +Function +Function diff --git a/Test/git-issues/git-issue-262.dfy.js.expect b/Test/git-issues/git-issue-262.dfy.js.expect new file mode 100644 index 00000000000..e181ef2fef8 --- /dev/null +++ b/Test/git-issues/git-issue-262.dfy.js.expect @@ -0,0 +1,6 @@ +tst(x) { + return (x).plus(_dafny.ONE); + } +tst(x) { + return (x).plus(_dafny.ONE); + } diff --git a/Test/git-issues/git-issue-267.dfy b/Test/git-issues/git-issue-267.dfy index cef2fcc6c17..2b0b3281589 100644 --- a/Test/git-issues/git-issue-267.dfy +++ b/Test/git-issues/git-issue-267.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var c := 1; diff --git a/Test/git-issues/git-issue-267.dfy.expect b/Test/git-issues/git-issue-267.dfy.expect index d71aef2f440..cd7da05e3d2 100644 --- a/Test/git-issues/git-issue-267.dfy.expect +++ b/Test/git-issues/git-issue-267.dfy.expect @@ -1,14 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification -210 - -Dafny program verifier did not attempt verification -210 - -Dafny program verifier did not attempt verification -210 - -Dafny program verifier did not attempt verification 210 diff --git a/Test/git-issues/git-issue-2672.dfy b/Test/git-issues/git-issue-2672.dfy index 338299ee8b7..52c5b9c638c 100644 --- a/Test/git-issues/git-issue-2672.dfy +++ b/Test/git-issues/git-issue-2672.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment newtype sreal = r: real | r > -4 as real newtype sint = r: int | r > -4 as int diff --git a/Test/git-issues/git-issue-2672.dfy.expect b/Test/git-issues/git-issue-2672.dfy.expect index c9c3244b6f4..43440a83d53 100644 --- a/Test/git-issues/git-issue-2672.dfy.expect +++ b/Test/git-issues/git-issue-2672.dfy.expect @@ -1,47 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors - -Dafny program verifier did not attempt verification -true true true true true true true true true true -false false false false false false false false false false -false false false false false false false false false false -true true true true true true true true true true -true true true true true true true true true true -false false false false false false false false false false -true true true -false false false - -Dafny program verifier did not attempt verification -true true true true true true true true true true -false false false false false false false false false false -false false false false false false false false false false -true true true true true true true true true true -true true true true true true true true true true -false false false false false false false false false false -true true true -false false false - -Dafny program verifier did not attempt verification -true true true true true true true true true true -false false false false false false false false false false -false false false false false false false false false false -true true true true true true true true true true -true true true true true true true true true true -false false false false false false false false false false -true true true -false false false - -Dafny program verifier did not attempt verification -true true true true true true true true true true -false false false false false false false false false false -false false false false false false false false false false -true true true true true true true true true true -true true true true true true true true true true -false false false false false false false false false false -true true true -false false false - -Dafny program verifier did not attempt verification true true true true true true true true true true false false false false false false false false false false false false false false false false false false false false diff --git a/Test/git-issues/git-issue-2726a.dfy b/Test/git-issues/git-issue-2726a.dfy index 641fefbbdc4..a43d5dd0107 100644 --- a/Test/git-issues/git-issue-2726a.dfy +++ b/Test/git-issues/git-issue-2726a.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /compileTarget:cs "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment const digits := ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"] diff --git a/Test/git-issues/git-issue-2726a.dfy.expect b/Test/git-issues/git-issue-2726a.dfy.expect index 6985935c88c..8e1bedb2a64 100644 --- a/Test/git-issues/git-issue-2726a.dfy.expect +++ b/Test/git-issues/git-issue-2726a.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors 4 42 422 diff --git a/Test/git-issues/git-issue-2733.dfy b/Test/git-issues/git-issue-2733.dfy index 232eab3cc74..65bc2b991fd 100644 --- a/Test/git-issues/git-issue-2733.dfy +++ b/Test/git-issues/git-issue-2733.dfy @@ -1,11 +1,4 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cpp "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false method Main() { print "XYZ"; // Checks that no extra newline is added to the output diff --git a/Test/git-issues/git-issue-2733.dfy.expect b/Test/git-issues/git-issue-2733.dfy.expect index b139e2f3d58..77bf25132db 100644 --- a/Test/git-issues/git-issue-2733.dfy.expect +++ b/Test/git-issues/git-issue-2733.dfy.expect @@ -1,15 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification -XYZ -Dafny program verifier did not attempt verification -XYZ -Dafny program verifier did not attempt verification -XYZ -Dafny program verifier did not attempt verification -XYZ -Dafny program verifier did not attempt verification -XYZ -Dafny program verifier did not attempt verification XYZ \ No newline at end of file diff --git a/Test/git-issues/git-issue-2792.dfy b/Test/git-issues/git-issue-2792.dfy index 89e736667c0..d2fb9db2055 100644 --- a/Test/git-issues/git-issue-2792.dfy +++ b/Test/git-issues/git-issue-2792.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /compileTarget:java "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Wrapper = Wrapper(s: seq) { diff --git a/Test/git-issues/git-issue-2792.dfy.expect b/Test/git-issues/git-issue-2792.dfy.expect index c1e603c58fe..ca1683c3020 100644 --- a/Test/git-issues/git-issue-2792.dfy.expect +++ b/Test/git-issues/git-issue-2792.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors [] Wrapper2.Wrapper2([], 2792) diff --git a/Test/git-issues/git-issue-283.dfy b/Test/git-issues/git-issue-283.dfy index c7c10f4aea3..1ca6d48d32c 100644 --- a/Test/git-issues/git-issue-283.dfy +++ b/Test/git-issues/git-issue-283.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Result = | Success(value: T) diff --git a/Test/git-issues/git-issue-283.dfy.expect b/Test/git-issues/git-issue-283.dfy.expect index 2adb114b8a0..a965a70ed4e 100644 --- a/Test/git-issues/git-issue-283.dfy.expect +++ b/Test/git-issues/git-issue-283.dfy.expect @@ -1,14 +1 @@ - -Dafny program verifier finished with 9 verified, 0 errors - -Dafny program verifier did not attempt verification -Done - -Dafny program verifier did not attempt verification -Done - -Dafny program verifier did not attempt verification -Done - -Dafny program verifier did not attempt verification Done diff --git a/Test/git-issues/git-issue-283d.dfy b/Test/git-issues/git-issue-283d.dfy index 54ee58fb456..46c1056d5e1 100644 --- a/Test/git-issues/git-issue-283d.dfy +++ b/Test/git-issues/git-issue-283d.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Foo = R(v: int) diff --git a/Test/git-issues/git-issue-283d.dfy.expect b/Test/git-issues/git-issue-283d.dfy.expect index 8da23be5c8c..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-283d.dfy.expect +++ b/Test/git-issues/git-issue-283d.dfy.expect @@ -1,10 +0,0 @@ - -Dafny program verifier finished with 4 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-314.dfy b/Test/git-issues/git-issue-314.dfy index 5e3e93ca654..a7fc06564a5 100644 --- a/Test/git-issues/git-issue-314.dfy +++ b/Test/git-issues/git-issue-314.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype S = S(G: array) datatype T = T(F: array, ghost Repr: set) diff --git a/Test/git-issues/git-issue-314.dfy.expect b/Test/git-issues/git-issue-314.dfy.expect index f02fc57989a..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-314.dfy.expect +++ b/Test/git-issues/git-issue-314.dfy.expect @@ -1,10 +0,0 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-332.dfy b/Test/git-issues/git-issue-332.dfy index ca2b08f3e8d..5166441405d 100644 --- a/Test/git-issues/git-issue-332.dfy +++ b/Test/git-issues/git-issue-332.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var foo := new B.Foo(15); diff --git a/Test/git-issues/git-issue-332.dfy.expect b/Test/git-issues/git-issue-332.dfy.expect index 57cad39addf..209e3ef4b62 100644 --- a/Test/git-issues/git-issue-332.dfy.expect +++ b/Test/git-issues/git-issue-332.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 6 verified, 0 errors 20 diff --git a/Test/git-issues/git-issue-354.dfy b/Test/git-issues/git-issue-354.dfy index 5938c2f71ae..c3d63021209 100644 --- a/Test/git-issues/git-issue-354.dfy +++ b/Test/git-issues/git-issue-354.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class C { static const u: X diff --git a/Test/git-issues/git-issue-354.dfy.expect b/Test/git-issues/git-issue-354.dfy.expect index cb5ae21dc46..4368562357f 100644 --- a/Test/git-issues/git-issue-354.dfy.expect +++ b/Test/git-issues/git-issue-354.dfy.expect @@ -1,25 +1,3 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification -0 -0 -0.0 -false - -Dafny program verifier did not attempt verification -0 -0 -0.0 -false - -Dafny program verifier did not attempt verification -0 -0 -0.0 -false - -Dafny program verifier did not attempt verification 0 0 0.0 diff --git a/Test/git-issues/git-issue-356.dfy b/Test/git-issues/git-issue-356.dfy index f5c34b0803b..2d497c0531c 100644 --- a/Test/git-issues/git-issue-356.dfy +++ b/Test/git-issues/git-issue-356.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false module M { type Tx = i: int | 0 <= i <= 100 diff --git a/Test/git-issues/git-issue-356.dfy.expect b/Test/git-issues/git-issue-356.dfy.expect index cff4ed233e1..9d984ec4ef4 100644 --- a/Test/git-issues/git-issue-356.dfy.expect +++ b/Test/git-issues/git-issue-356.dfy.expect @@ -1,39 +1,3 @@ - -Dafny program verifier finished with 25 verified, 0 errors - -Dafny program verifier did not attempt verification -a d 57005 * * -Z 90 90.0 90 90 -* 42 42.0 42 42 -F 70 70.0 70 70 -# 35 35.0 35 35 -END - -Dafny program verifier did not attempt verification -a d 57005 * * -Z 90 90.0 90 90 -* 42 42.0 42 42 -F 70 70.0 70 70 -# 35 35.0 35 35 -END - -Dafny program verifier did not attempt verification -a d 57005 * * -Z 90 90.0 90 90 -* 42 42.0 42 42 -F 70 70.0 70 70 -# 35 35.0 35 35 -END - -Dafny program verifier did not attempt verification -a d 57005 * * -Z 90 90.0 90 90 -* 42 42.0 42 42 -F 70 70.0 70 70 -# 35 35.0 35 35 -END - -Dafny program verifier did not attempt verification a d 57005 * * Z 90 90.0 90 90 * 42 42.0 42 42 diff --git a/Test/git-issues/git-issue-364.dfy b/Test/git-issues/git-issue-364.dfy index 0fdedc7d9c0..68c75931746 100644 --- a/Test/git-issues/git-issue-364.dfy +++ b/Test/git-issues/git-issue-364.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype NatOutcome = | Success(value: nat) diff --git a/Test/git-issues/git-issue-364.dfy.expect b/Test/git-issues/git-issue-364.dfy.expect index 1368349d437..38478c6c688 100644 --- a/Test/git-issues/git-issue-364.dfy.expect +++ b/Test/git-issues/git-issue-364.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 4 verified, 0 errors NatOutcome.Success(55) false 55 12 0 NatOutcome.Failure("it could be worse") true NatOutcome.Failure("it could be worse") diff --git a/Test/git-issues/git-issue-374.dfy b/Test/git-issues/git-issue-374.dfy index 4c031b7d3ff..15b56ec6396 100644 --- a/Test/git-issues/git-issue-374.dfy +++ b/Test/git-issues/git-issue-374.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class C { constructor(ghost x: int) diff --git a/Test/git-issues/git-issue-374.dfy.expect b/Test/git-issues/git-issue-374.dfy.expect index f02fc57989a..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-374.dfy.expect +++ b/Test/git-issues/git-issue-374.dfy.expect @@ -1,10 +0,0 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-396.dfy b/Test/git-issues/git-issue-396.dfy index 2ab68e51e12..7866d3d0498 100644 --- a/Test/git-issues/git-issue-396.dfy +++ b/Test/git-issues/git-issue-396.dfy @@ -1,8 +1,4 @@ -// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" -// RUN: %dafny /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Foo = Bar(value: int) diff --git a/Test/git-issues/git-issue-396.dfy.expect b/Test/git-issues/git-issue-396.dfy.expect index 3dd340d3178..dee79f10940 100644 --- a/Test/git-issues/git-issue-396.dfy.expect +++ b/Test/git-issues/git-issue-396.dfy.expect @@ -1,12 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors -114 - -Dafny program verifier finished with 1 verified, 0 errors -114 - -Dafny program verifier finished with 1 verified, 0 errors -114 - -Dafny program verifier finished with 1 verified, 0 errors 114 diff --git a/Test/git-issues/git-issue-4007.dfy b/Test/git-issues/git-issue-4007.dfy index e4c25b82bb8..5a279e7b8e6 100644 --- a/Test/git-issues/git-issue-4007.dfy +++ b/Test/git-issues/git-issue-4007.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:4 /compileTarget:py "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var a := 0; @@ -7,4 +6,4 @@ method Main() { a := a + 1; } print a, "\n"; -} \ No newline at end of file +} diff --git a/Test/git-issues/git-issue-4007.dfy.expect b/Test/git-issues/git-issue-4007.dfy.expect index 3ce6919d35b..00750edc07d 100644 --- a/Test/git-issues/git-issue-4007.dfy.expect +++ b/Test/git-issues/git-issue-4007.dfy.expect @@ -1,4 +1 @@ -git-issue-4007.dfy(6,20): Warning: /!\ No terms found to trigger on. - -Dafny program verifier finished with 1 verified, 0 errors 3 diff --git a/Test/git-issues/git-issue-4007.dfy.verifier.expect b/Test/git-issues/git-issue-4007.dfy.verifier.expect new file mode 100644 index 00000000000..1d4310d09b5 --- /dev/null +++ b/Test/git-issues/git-issue-4007.dfy.verifier.expect @@ -0,0 +1 @@ +git-issue-4007.dfy(5,20): Warning: /!\ No terms found to trigger on. diff --git a/Test/git-issues/git-issue-4012.dfy b/Test/git-issues/git-issue-4012.dfy index e065393a211..5360c0e935b 100644 --- a/Test/git-issues/git-issue-4012.dfy +++ b/Test/git-issues/git-issue-4012.dfy @@ -1,8 +1,7 @@ -// RUN: %dafny /compile:4 /compileTarget:py "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var x: multiset := multiset{}; x := x[1 := 18446744073709551616]; print |x|, "\n"; -} \ No newline at end of file +} diff --git a/Test/git-issues/git-issue-4012.dfy.expect b/Test/git-issues/git-issue-4012.dfy.expect index 230fbdbd384..ab69b99fab4 100644 --- a/Test/git-issues/git-issue-4012.dfy.expect +++ b/Test/git-issues/git-issue-4012.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors 18446744073709551616 diff --git a/Test/git-issues/git-issue-425.dfy b/Test/git-issues/git-issue-425.dfy index 4e555daaed0..122a10e4fbb 100644 --- a/Test/git-issues/git-issue-425.dfy +++ b/Test/git-issues/git-issue-425.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method M() returns (x: int, ghost y: int) { return 42, 43; diff --git a/Test/git-issues/git-issue-425.dfy.expect b/Test/git-issues/git-issue-425.dfy.expect index c2284013d9e..daaac9e3030 100644 --- a/Test/git-issues/git-issue-425.dfy.expect +++ b/Test/git-issues/git-issue-425.dfy.expect @@ -1,18 +1,2 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification -42 -42 - -Dafny program verifier did not attempt verification -42 -42 - -Dafny program verifier did not attempt verification -42 -42 - -Dafny program verifier did not attempt verification 42 42 diff --git a/Test/git-issues/git-issue-443.dfy b/Test/git-issues/git-issue-443.dfy index e8745b5ddda..6702e37484f 100644 --- a/Test/git-issues/git-issue-443.dfy +++ b/Test/git-issues/git-issue-443.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { print F(), " ", G(802.11), "\n"; // 12 15 diff --git a/Test/git-issues/git-issue-443.dfy.expect b/Test/git-issues/git-issue-443.dfy.expect index 10af01216da..0b64712fdcf 100644 --- a/Test/git-issues/git-issue-443.dfy.expect +++ b/Test/git-issues/git-issue-443.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors 12 15 diff --git a/Test/git-issues/git-issue-446.dfy b/Test/git-issues/git-issue-446.dfy index 0656587fd03..a66a9272d18 100644 --- a/Test/git-issues/git-issue-446.dfy +++ b/Test/git-issues/git-issue-446.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Result = Success(value: T) | Failure(error: string) { diff --git a/Test/git-issues/git-issue-446.dfy.expect b/Test/git-issues/git-issue-446.dfy.expect index 18195d22344..8165c2056d0 100644 --- a/Test/git-issues/git-issue-446.dfy.expect +++ b/Test/git-issues/git-issue-446.dfy.expect @@ -1,22 +1,3 @@ - -Dafny program verifier finished with 9 verified, 0 errors - -Dafny program verifier did not attempt verification -true -2 -true 42 -End - -Dafny program verifier did not attempt verification -true -2 -true 42 -End - -Dafny program verifier did not attempt verification -true -2 -true 42 -End - -Dafny program verifier did not attempt verification true -2 true 42 End diff --git a/Test/git-issues/git-issue-446a.dfy b/Test/git-issues/git-issue-446a.dfy index 41917680fee..2c559cea76d 100644 --- a/Test/git-issues/git-issue-446a.dfy +++ b/Test/git-issues/git-issue-446a.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Result = Success(value: T) | Failure(error: string) { diff --git a/Test/git-issues/git-issue-446a.dfy.expect b/Test/git-issues/git-issue-446a.dfy.expect index fbf9ee6f31d..9897e1c3f56 100644 --- a/Test/git-issues/git-issue-446a.dfy.expect +++ b/Test/git-issues/git-issue-446a.dfy.expect @@ -1,22 +1,3 @@ - -Dafny program verifier finished with 9 verified, 0 errors - -Dafny program verifier did not attempt verification -OK -true OK -true -2 End - -Dafny program verifier did not attempt verification -OK -true OK -true -2 End - -Dafny program verifier did not attempt verification -OK -true OK -true -2 End - -Dafny program verifier did not attempt verification OK true OK true -2 End diff --git a/Test/git-issues/git-issue-446b.dfy b/Test/git-issues/git-issue-446b.dfy index aa7ac30d9a7..79e55d9a1f8 100644 --- a/Test/git-issues/git-issue-446b.dfy +++ b/Test/git-issues/git-issue-446b.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Result = Success(value: T) | Failure(error: string) { diff --git a/Test/git-issues/git-issue-446b.dfy.expect b/Test/git-issues/git-issue-446b.dfy.expect index 0e99363fdb9..36fdd8ba47b 100644 --- a/Test/git-issues/git-issue-446b.dfy.expect +++ b/Test/git-issues/git-issue-446b.dfy.expect @@ -1,28 +1,3 @@ - -Dafny program verifier finished with 10 verified, 0 errors - -Dafny program verifier did not attempt verification -OK -true OK -true -2 -true 100 -End - -Dafny program verifier did not attempt verification -OK -true OK -true -2 -true 100 -End - -Dafny program verifier did not attempt verification -OK -true OK -true -2 -true 100 -End - -Dafny program verifier did not attempt verification OK true OK true -2 diff --git a/Test/git-issues/git-issue-478-good.dfy b/Test/git-issues/git-issue-478-good.dfy index b3fab26a312..9abce41e97c 100644 --- a/Test/git-issues/git-issue-478-good.dfy +++ b/Test/git-issues/git-issue-478-good.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // By first defining import LibA and then defining a module LibA, // the latter used to generate: diff --git a/Test/git-issues/git-issue-478-good.dfy.expect b/Test/git-issues/git-issue-478-good.dfy.expect index 17aea610943..6807b84eba5 100644 --- a/Test/git-issues/git-issue-478-good.dfy.expect +++ b/Test/git-issues/git-issue-478-good.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors hello hello hi diff --git a/Test/git-issues/git-issue-506.dfy b/Test/git-issues/git-issue-506.dfy index d25596621de..b2a409951a1 100644 --- a/Test/git-issues/git-issue-506.dfy +++ b/Test/git-issues/git-issue-506.dfy @@ -1,8 +1,4 @@ -// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" -// RUN: %dafny /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/git-issues/git-issue-506.dfy.expect b/Test/git-issues/git-issue-506.dfy.expect index e2bb6d644d9..ef2606ec5dc 100644 --- a/Test/git-issues/git-issue-506.dfy.expect +++ b/Test/git-issues/git-issue-506.dfy.expect @@ -1,29 +1,3 @@ - -Dafny program verifier finished with 2 verified, 0 errors -7 301 -8 391 -2 2 -4 5 -6 7 -2 3 7 0 - -Dafny program verifier finished with 2 verified, 0 errors -7 301 -8 391 -2 2 -4 5 -6 7 -2 3 7 0 - -Dafny program verifier finished with 2 verified, 0 errors -7 301 -8 391 -2 2 -4 5 -6 7 -2 3 7 0 - -Dafny program verifier finished with 2 verified, 0 errors 7 301 8 391 2 2 diff --git a/Test/git-issues/git-issue-532.dfy b/Test/git-issues/git-issue-532.dfy index 3d511dbb4c8..2a2b5aaaf2e 100644 --- a/Test/git-issues/git-issue-532.dfy +++ b/Test/git-issues/git-issue-532.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment predicate SuppressNoTriggerWarning(x: X) { true } diff --git a/Test/git-issues/git-issue-532.dfy.expect b/Test/git-issues/git-issue-532.dfy.expect index 1bd9e82cc5a..0f3ef3de427 100644 --- a/Test/git-issues/git-issue-532.dfy.expect +++ b/Test/git-issues/git-issue-532.dfy.expect @@ -1,22 +1,3 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification -t.x=5 The given Tr is a C, and c.y=6 -t.x=100 The given Tr is not a C -t.x=5 The given Tr is a C, and c.y=16 - -Dafny program verifier did not attempt verification -t.x=5 The given Tr is a C, and c.y=6 -t.x=100 The given Tr is not a C -t.x=5 The given Tr is a C, and c.y=16 - -Dafny program verifier did not attempt verification -t.x=5 The given Tr is a C, and c.y=6 -t.x=100 The given Tr is not a C -t.x=5 The given Tr is a C, and c.y=16 - -Dafny program verifier did not attempt verification t.x=5 The given Tr is a C, and c.y=6 t.x=100 The given Tr is not a C t.x=5 The given Tr is a C, and c.y=16 diff --git a/Test/git-issues/git-issue-549.dfy b/Test/git-issues/git-issue-549.dfy index 2e5ab322f23..d362a0bd039 100644 --- a/Test/git-issues/git-issue-549.dfy +++ b/Test/git-issues/git-issue-549.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait T { function bar(): bv8 diff --git a/Test/git-issues/git-issue-549.dfy.expect b/Test/git-issues/git-issue-549.dfy.expect index 3ae509fee5e..6e0790e778e 100644 --- a/Test/git-issues/git-issue-549.dfy.expect +++ b/Test/git-issues/git-issue-549.dfy.expect @@ -1,10 +1,2 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification -bar() = 1 -bar() = 1 - -Dafny program verifier did not attempt verification bar() = 1 bar() = 1 diff --git a/Test/git-issues/git-issue-622$f.dfy b/Test/git-issues/git-issue-622$f.dfy index fe4fdf38e03..2a7003e0f4e 100644 --- a/Test/git-issues/git-issue-622$f.dfy +++ b/Test/git-issues/git-issue-622$f.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /compileTarget:java /spillTargetCode:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method Main() { } diff --git a/Test/git-issues/git-issue-622$f.dfy.expect b/Test/git-issues/git-issue-622$f.dfy.expect index 012f5b99379..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-622$f.dfy.expect +++ b/Test/git-issues/git-issue-622$f.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/git-issues/git-issue-633.dfy b/Test/git-issues/git-issue-633.dfy index 5d9b5aecf58..dd547fe65a6 100644 --- a/Test/git-issues/git-issue-633.dfy +++ b/Test/git-issues/git-issue-633.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" %S/git-issue-633A.dfy > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs /spillTargetCode:3 "%s" %S/git-issue-633A.dfy >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js /spillTargetCode:3 "%s" %S/git-issue-633A.dfy >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go /spillTargetCode:3 "%s" %S/git-issue-633A.dfy >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java /spillTargetCode:3 "%s" %S/git-issue-633A.dfy >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation /Users/salkeldr/Documents/GitHub/dafny/Test/git-issues/git-issue-633A.dfy method m() { print "OK\n"; diff --git a/Test/git-issues/git-issue-633.dfy.expect b/Test/git-issues/git-issue-633.dfy.expect index f02fc57989a..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-633.dfy.expect +++ b/Test/git-issues/git-issue-633.dfy.expect @@ -1,10 +0,0 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-684.dfy b/Test/git-issues/git-issue-684.dfy index b1fbd7ab036..4c2b0a8fa02 100644 --- a/Test/git-issues/git-issue-684.dfy +++ b/Test/git-issues/git-issue-684.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Level1 = Level1(u:int) datatype Level2 = Level2(u:int, l:Level1) diff --git a/Test/git-issues/git-issue-684.dfy.expect b/Test/git-issues/git-issue-684.dfy.expect index 65d3b5d6635..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-684.dfy.expect +++ b/Test/git-issues/git-issue-684.dfy.expect @@ -1,10 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-686.dfy b/Test/git-issues/git-issue-686.dfy index bbc975200c8..9845ce2b027 100644 --- a/Test/git-issues/git-issue-686.dfy +++ b/Test/git-issues/git-issue-686.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Color = Blue | Red diff --git a/Test/git-issues/git-issue-686.dfy.expect b/Test/git-issues/git-issue-686.dfy.expect index f30b0581688..c12f8e66df2 100644 --- a/Test/git-issues/git-issue-686.dfy.expect +++ b/Test/git-issues/git-issue-686.dfy.expect @@ -1,24 +1 @@ -git-issue-686.dfy(13,2): Warning: this branch is redundant -git-issue-686.dfy(21,2): Warning: this branch is redundant - -Dafny program verifier finished with 1 verified, 0 errors -git-issue-686.dfy(13,2): Warning: this branch is redundant -git-issue-686.dfy(21,2): Warning: this branch is redundant - -Dafny program verifier did not attempt verification -6 0 -git-issue-686.dfy(13,2): Warning: this branch is redundant -git-issue-686.dfy(21,2): Warning: this branch is redundant - -Dafny program verifier did not attempt verification -6 0 -git-issue-686.dfy(13,2): Warning: this branch is redundant -git-issue-686.dfy(21,2): Warning: this branch is redundant - -Dafny program verifier did not attempt verification -6 0 -git-issue-686.dfy(13,2): Warning: this branch is redundant -git-issue-686.dfy(21,2): Warning: this branch is redundant - -Dafny program verifier did not attempt verification 6 0 diff --git a/Test/git-issues/git-issue-686.dfy.verifier.expect b/Test/git-issues/git-issue-686.dfy.verifier.expect new file mode 100644 index 00000000000..805bd55730c --- /dev/null +++ b/Test/git-issues/git-issue-686.dfy.verifier.expect @@ -0,0 +1,2 @@ +git-issue-686.dfy(8,2): Warning: this branch is redundant +git-issue-686.dfy(16,2): Warning: this branch is redundant diff --git a/Test/git-issues/git-issue-697.dfy b/Test/git-issues/git-issue-697.dfy index 095c1a02399..23cce66dee7 100644 --- a/Test/git-issues/git-issue-697.dfy +++ b/Test/git-issues/git-issue-697.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Cell = Cell(x: int) type EvenCell = c: Cell | c.x % 2 == 0 witness Cell(0) diff --git a/Test/git-issues/git-issue-697.dfy.expect b/Test/git-issues/git-issue-697.dfy.expect index 188a72ebc36..f32a5804e29 100644 --- a/Test/git-issues/git-issue-697.dfy.expect +++ b/Test/git-issues/git-issue-697.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-697b.dfy b/Test/git-issues/git-issue-697b.dfy index cfdd3fd0821..cdb054d8d78 100644 --- a/Test/git-issues/git-issue-697b.dfy +++ b/Test/git-issues/git-issue-697b.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Cell = Cell(x: int) type EvenCell = c: Cell | c.x % 2 == 0 witness Cell(0) diff --git a/Test/git-issues/git-issue-697b.dfy.expect b/Test/git-issues/git-issue-697b.dfy.expect index b355409912b..9c777ac6a0f 100644 --- a/Test/git-issues/git-issue-697b.dfy.expect +++ b/Test/git-issues/git-issue-697b.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors false 2 diff --git a/Test/git-issues/git-issue-697d.dfy b/Test/git-issues/git-issue-697d.dfy index 71a262fc985..8b65c2da4f7 100644 --- a/Test/git-issues/git-issue-697d.dfy +++ b/Test/git-issues/git-issue-697d.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function nonGhostPredicate(x: int): bool { x % 2 == 0 diff --git a/Test/git-issues/git-issue-697d.dfy.expect b/Test/git-issues/git-issue-697d.dfy.expect index 48fb59aeae5..f32a5804e29 100644 --- a/Test/git-issues/git-issue-697d.dfy.expect +++ b/Test/git-issues/git-issue-697d.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 4 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-697e.dfy b/Test/git-issues/git-issue-697e.dfy index e4500bfab28..310851abf9a 100644 --- a/Test/git-issues/git-issue-697e.dfy +++ b/Test/git-issues/git-issue-697e.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Cell = Cell(x: int) type EvenCell = c: Cell | c.x % 2 == 0 witness Cell(0) diff --git a/Test/git-issues/git-issue-697e.dfy.expect b/Test/git-issues/git-issue-697e.dfy.expect index 00a51f822da..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-697e.dfy.expect +++ b/Test/git-issues/git-issue-697e.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 3 verified, 0 errors diff --git a/Test/git-issues/git-issue-697f.dfy b/Test/git-issues/git-issue-697f.dfy index 92d1cec2ed8..acb8810dfbf 100644 --- a/Test/git-issues/git-issue-697f.dfy +++ b/Test/git-issues/git-issue-697f.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment ghost function ghostPredicate(x: int): bool { x % 2 == 0 diff --git a/Test/git-issues/git-issue-697f.dfy.expect b/Test/git-issues/git-issue-697f.dfy.expect index 3e2cf8d0f69..b5754e20373 100644 --- a/Test/git-issues/git-issue-697f.dfy.expect +++ b/Test/git-issues/git-issue-697f.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 4 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-697g.dfy b/Test/git-issues/git-issue-697g.dfy index c3b7581ff61..7b30de7f3a0 100644 --- a/Test/git-issues/git-issue-697g.dfy +++ b/Test/git-issues/git-issue-697g.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function returnNat(c: nat): int { diff --git a/Test/git-issues/git-issue-697g.dfy.expect b/Test/git-issues/git-issue-697g.dfy.expect index d9157fa820a..f32a5804e29 100644 --- a/Test/git-issues/git-issue-697g.dfy.expect +++ b/Test/git-issues/git-issue-697g.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-698.dfy b/Test/git-issues/git-issue-698.dfy index b15295c9b46..7b7a9ca15b8 100644 --- a/Test/git-issues/git-issue-698.dfy +++ b/Test/git-issues/git-issue-698.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment type Small = x: int | 0 <= x < 100 && x != 3 diff --git a/Test/git-issues/git-issue-698.dfy.expect b/Test/git-issues/git-issue-698.dfy.expect index 7f965a65d2e..27ba77ddaf6 100644 --- a/Test/git-issues/git-issue-698.dfy.expect +++ b/Test/git-issues/git-issue-698.dfy.expect @@ -1,8 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification -true - -Dafny program verifier did not attempt verification true diff --git a/Test/git-issues/git-issue-698b.dfy b/Test/git-issues/git-issue-698b.dfy index 1d4a92456e6..dbdbc3b36d3 100644 --- a/Test/git-issues/git-issue-698b.dfy +++ b/Test/git-issues/git-issue-698b.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment type Small = x: int | 0 <= x < 100 && x != 3 @@ -13,4 +12,4 @@ method Main() { var b := !exists n: Small :: F(n) != 100; assert b; print b; -} \ No newline at end of file +} diff --git a/Test/git-issues/git-issue-698b.dfy.expect b/Test/git-issues/git-issue-698b.dfy.expect index 188a72ebc36..f32a5804e29 100644 --- a/Test/git-issues/git-issue-698b.dfy.expect +++ b/Test/git-issues/git-issue-698b.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-701.dfy b/Test/git-issues/git-issue-701.dfy index af19f0d89e2..38984df4ecf 100644 --- a/Test/git-issues/git-issue-701.dfy +++ b/Test/git-issues/git-issue-701.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var ca := new ClassA; diff --git a/Test/git-issues/git-issue-701.dfy.expect b/Test/git-issues/git-issue-701.dfy.expect index 4d20966e641..5198c09cbb1 100644 --- a/Test/git-issues/git-issue-701.dfy.expect +++ b/Test/git-issues/git-issue-701.dfy.expect @@ -1,22 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification -0 0 0 -[] [] [] -C.Nothing C.Nothing C.Nothing - -Dafny program verifier did not attempt verification -0 0 0 -[] [] [] -C.Nothing C.Nothing C.Nothing - -Dafny program verifier did not attempt verification -0 0 0 -[] [] [] -C.Nothing C.Nothing C.Nothing - -Dafny program verifier did not attempt verification 0 0 0 [] [] [] C.Nothing C.Nothing C.Nothing diff --git a/Test/git-issues/git-issue-705.dfy b/Test/git-issues/git-issue-705.dfy index d4b806800c2..9c36a336e8e 100644 --- a/Test/git-issues/git-issue-705.dfy +++ b/Test/git-issues/git-issue-705.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs /spillTargetCode:3 "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js /spillTargetCode:3 "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go /spillTargetCode:3 "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java /spillTargetCode:3 "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation datatype MyDataType = AAA { function toString(): int { 222 } diff --git a/Test/git-issues/git-issue-705.dfy.expect b/Test/git-issues/git-issue-705.dfy.expect index 02cf409667a..79a1eee7c74 100644 --- a/Test/git-issues/git-issue-705.dfy.expect +++ b/Test/git-issues/git-issue-705.dfy.expect @@ -1,14 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification -MyDataType.AAA 222 - -Dafny program verifier did not attempt verification -MyDataType.AAA 222 - -Dafny program verifier did not attempt verification -MyDataType.AAA 222 - -Dafny program verifier did not attempt verification MyDataType.AAA 222 diff --git a/Test/git-issues/git-issue-731.dfy b/Test/git-issues/git-issue-731.dfy index 05d02fea1af..348d40fecea 100644 --- a/Test/git-issues/git-issue-731.dfy +++ b/Test/git-issues/git-issue-731.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait Trait { const y: Y diff --git a/Test/git-issues/git-issue-731.dfy.expect b/Test/git-issues/git-issue-731.dfy.expect index 69b2e6af648..7554a44901e 100644 --- a/Test/git-issues/git-issue-731.dfy.expect +++ b/Test/git-issues/git-issue-731.dfy.expect @@ -1,18 +1,2 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification -0 0 0 42 -0 0 0 9 - -Dafny program verifier did not attempt verification -0 0 0 42 -0 0 0 9 - -Dafny program verifier did not attempt verification -0 0 0 42 -0 0 0 9 - -Dafny program verifier did not attempt verification 0 0 0 42 0 0 0 9 diff --git a/Test/git-issues/git-issue-731b.dfy b/Test/git-issues/git-issue-731b.dfy index a77dbd6323b..2a0507839a2 100644 --- a/Test/git-issues/git-issue-731b.dfy +++ b/Test/git-issues/git-issue-731b.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Testing issue#731 when the class in question has type parameters diff --git a/Test/git-issues/git-issue-731b.dfy.expect b/Test/git-issues/git-issue-731b.dfy.expect index 97e6c041920..dd3226d2b73 100644 --- a/Test/git-issues/git-issue-731b.dfy.expect +++ b/Test/git-issues/git-issue-731b.dfy.expect @@ -1,14 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification -0 42 - -Dafny program verifier did not attempt verification -0 42 - -Dafny program verifier did not attempt verification -0 42 - -Dafny program verifier did not attempt verification 0 42 diff --git a/Test/git-issues/git-issue-755.dfy b/Test/git-issues/git-issue-755.dfy index 25fb3e6a485..2227a486a21 100644 --- a/Test/git-issues/git-issue-755.dfy +++ b/Test/git-issues/git-issue-755.dfy @@ -1,9 +1,5 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var s := { 1,9,3,7,5}; diff --git a/Test/git-issues/git-issue-755.dfy.expect b/Test/git-issues/git-issue-755.dfy.expect index c930da26922..9182de3a24a 100644 --- a/Test/git-issues/git-issue-755.dfy.expect +++ b/Test/git-issues/git-issue-755.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors - -Dafny program verifier did not attempt verification 1 3 5 @@ -9,30 +5,3 @@ Dafny program verifier did not attempt verification 9 1 3 3 5 - -Dafny program verifier did not attempt verification -1 -9 -3 -7 -5 -1 3 -3 5 - -Dafny program verifier did not attempt verification -1 -9 -3 -7 -5 -1 3 -3 5 - -Dafny program verifier did not attempt verification -1 -3 -5 -7 -9 -3 5 -1 3 diff --git a/Test/git-issues/git-issue-755.dfy.go.expect b/Test/git-issues/git-issue-755.dfy.go.expect new file mode 100644 index 00000000000..f41e86c7579 --- /dev/null +++ b/Test/git-issues/git-issue-755.dfy.go.expect @@ -0,0 +1,7 @@ +1 +9 +3 +7 +5 +1 3 +3 5 diff --git a/Test/git-issues/git-issue-755.dfy.java.expect b/Test/git-issues/git-issue-755.dfy.java.expect new file mode 100644 index 00000000000..f4407f49a6f --- /dev/null +++ b/Test/git-issues/git-issue-755.dfy.java.expect @@ -0,0 +1,7 @@ +1 +3 +5 +7 +9 +3 5 +1 3 diff --git a/Test/git-issues/git-issue-755.dfy.js.expect b/Test/git-issues/git-issue-755.dfy.js.expect new file mode 100644 index 00000000000..f41e86c7579 --- /dev/null +++ b/Test/git-issues/git-issue-755.dfy.js.expect @@ -0,0 +1,7 @@ +1 +9 +3 +7 +5 +1 3 +3 5 diff --git a/Test/git-issues/git-issue-784.dfy b/Test/git-issues/git-issue-784.dfy index 78b83f01064..5f6cf59465c 100644 --- a/Test/git-issues/git-issue-784.dfy +++ b/Test/git-issues/git-issue-784.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype List = Nil | Cons(T, List) { function App(ys: List): List { diff --git a/Test/git-issues/git-issue-784.dfy.expect b/Test/git-issues/git-issue-784.dfy.expect index 8da23be5c8c..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-784.dfy.expect +++ b/Test/git-issues/git-issue-784.dfy.expect @@ -1,10 +0,0 @@ - -Dafny program verifier finished with 4 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-953.dfy b/Test/git-issues/git-issue-953.dfy index adebc946c35..9c14e6e4e98 100644 --- a/Test/git-issues/git-issue-953.dfy +++ b/Test/git-issues/git-issue-953.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module P { datatype T_ = T() // the underscore in this name once caused a problem in Java compilation diff --git a/Test/git-issues/git-issue-953.dfy.expect b/Test/git-issues/git-issue-953.dfy.expect index 8466ea62f3f..8eec6126a08 100644 --- a/Test/git-issues/git-issue-953.dfy.expect +++ b/Test/git-issues/git-issue-953.dfy.expect @@ -1,39 +1,3 @@ - -Dafny program verifier finished with 6 verified, 0 errors - -Dafny program verifier did not attempt verification -C1.T_.T -P.T_.T -OtherNamesWithSpecialCharacters?_.A?_.A?_ OtherNamesWithSpecialCharacters?_.B?_.B?_ -17 17 0 0 -C2.C.C(10, 11) -9 - -Dafny program verifier did not attempt verification -C1.T_.T -P.T_.T -OtherNamesWithSpecialCharacters?_.A?_.A?_ OtherNamesWithSpecialCharacters?_.B?_.B?_ -17 17 0 0 -C2.C.C(10, 11) -9 - -Dafny program verifier did not attempt verification -C1.T_.T -P.T_.T -OtherNamesWithSpecialCharacters?_.A?_.A?_ OtherNamesWithSpecialCharacters?_.B?_.B?_ -17 17 0 0 -C2.C.C(10, 11) -9 - -Dafny program verifier did not attempt verification -C1.T_.T -P.T_.T -OtherNamesWithSpecialCharacters?_.A?_.A?_ OtherNamesWithSpecialCharacters?_.B?_.B?_ -17 17 0 0 -C2.C.C(10, 11) -9 - -Dafny program verifier did not attempt verification C1.T_.T P.T_.T OtherNamesWithSpecialCharacters?_.A?_.A?_ OtherNamesWithSpecialCharacters?_.B?_.B?_ diff --git a/Test/git-issues/github-issue-3343.dfy b/Test/git-issues/github-issue-3343.dfy index 517a11d7fc1..d518b2a1a41 100644 --- a/Test/git-issues/github-issue-3343.dfy +++ b/Test/git-issues/github-issue-3343.dfy @@ -1,5 +1,4 @@ -// RUN: %baredafny run "%s" -t:java > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" method Bug() { var zero := 0; var a := new int[zero] []; diff --git a/Test/git-issues/github-issue-3343.dfy.expect b/Test/git-issues/github-issue-3343.dfy.expect index 823a60a105c..e69de29bb2d 100644 --- a/Test/git-issues/github-issue-3343.dfy.expect +++ b/Test/git-issues/github-issue-3343.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 1 verified, 0 errors diff --git a/Test/hofs/Compilation.dfy b/Test/hofs/Compilation.dfy index 99fd0a36506..7e9c674b495 100644 --- a/Test/hofs/Compilation.dfy +++ b/Test/hofs/Compilation.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class Ref { var val : A diff --git a/Test/hofs/Compilation.dfy.expect b/Test/hofs/Compilation.dfy.expect index 760fafc6189..6b7187d2557 100644 --- a/Test/hofs/Compilation.dfy.expect +++ b/Test/hofs/Compilation.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 2 verified, 0 errors 1 = 1 3 = 3 3 = 3 diff --git a/Test/hofs/Examples.dfy b/Test/hofs/Examples.dfy index cdf177c001f..bebda559221 100644 --- a/Test/hofs/Examples.dfy +++ b/Test/hofs/Examples.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function Apply(f: A ~> B, x: A): B reads f.reads(x) diff --git a/Test/hofs/Examples.dfy.expect b/Test/hofs/Examples.dfy.expect index 851aaf58286..e69de29bb2d 100644 --- a/Test/hofs/Examples.dfy.expect +++ b/Test/hofs/Examples.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 7 verified, 0 errors diff --git a/Test/hofs/Fold.dfy b/Test/hofs/Fold.dfy index 336f9121b52..96ddb01591f 100644 --- a/Test/hofs/Fold.dfy +++ b/Test/hofs/Fold.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype List = Nil | Cons(A,List) diff --git a/Test/hofs/Fold.dfy.expect b/Test/hofs/Fold.dfy.expect index 144ffab92db..3abcc310618 100644 --- a/Test/hofs/Fold.dfy.expect +++ b/Test/hofs/Fold.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors 3 = 3 diff --git a/Test/hofs/Renaming.dfy b/Test/hofs/Renaming.dfy index cf21fdba2f8..391c0e79ef6 100644 --- a/Test/hofs/Renaming.dfy +++ b/Test/hofs/Renaming.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function OnId(f : (bool -> bool) -> int) : int reads f.reads(x => x) diff --git a/Test/hofs/Renaming.dfy.expect b/Test/hofs/Renaming.dfy.expect index e2b6636dbe4..13a954d9043 100644 --- a/Test/hofs/Renaming.dfy.expect +++ b/Test/hofs/Renaming.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 4 verified, 0 errors 10 11 diff --git a/Test/hofs/Requires.dfy b/Test/hofs/Requires.dfy index de5944b6744..f5e51244184 100644 --- a/Test/hofs/Requires.dfy +++ b/Test/hofs/Requires.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/hofs/Requires.dfy.expect b/Test/hofs/Requires.dfy.expect index 1981561ca00..e69de29bb2d 100644 --- a/Test/hofs/Requires.dfy.expect +++ b/Test/hofs/Requires.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 10 verified, 0 errors diff --git a/Test/hofs/TreeMapSimple.dfy b/Test/hofs/TreeMapSimple.dfy index d93aea46403..b7baf6eb8d7 100644 --- a/Test/hofs/TreeMapSimple.dfy +++ b/Test/hofs/TreeMapSimple.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { TestY(); diff --git a/Test/hofs/TreeMapSimple.dfy.expect b/Test/hofs/TreeMapSimple.dfy.expect index 9224d605f7e..be0317f1016 100644 --- a/Test/hofs/TreeMapSimple.dfy.expect +++ b/Test/hofs/TreeMapSimple.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 11 verified, 0 errors Tree.Branch(100, List.Cons(Tree.Branch(50, List.Nil), List.Nil)) Tree.Branch(100, List.Cons(Tree.Branch(50, List.Nil), List.Nil)) diff --git a/Test/hofs/VectorUpdate.dfy b/Test/hofs/VectorUpdate.dfy index 848ed585ca6..70c0de3084e 100644 --- a/Test/hofs/VectorUpdate.dfy +++ b/Test/hofs/VectorUpdate.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // this is a rather verbose version of the VectorUpdate method method VectorUpdate(N: int, a : array, f : (int,A) ~> A) diff --git a/Test/hofs/VectorUpdate.dfy.expect b/Test/hofs/VectorUpdate.dfy.expect index b8fae39eab8..7645f125857 100644 --- a/Test/hofs/VectorUpdate.dfy.expect +++ b/Test/hofs/VectorUpdate.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 8 verified, 0 errors 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 100, 50, 33, 25, 20, 16, 14, 12, 11, 10 diff --git a/Test/hofs/WhileLoop.dfy b/Test/hofs/WhileLoop.dfy index 4af9fbd841b..914f47f4522 100644 --- a/Test/hofs/WhileLoop.dfy +++ b/Test/hofs/WhileLoop.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class Ref { var val: A diff --git a/Test/hofs/WhileLoop.dfy.expect b/Test/hofs/WhileLoop.dfy.expect index 234ac298c9b..83083b451e1 100644 --- a/Test/hofs/WhileLoop.dfy.expect +++ b/Test/hofs/WhileLoop.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 4 verified, 0 errors 22 22 22 diff --git a/Test/metatests/OutputEncoding.dfy b/Test/metatests/OutputEncoding.dfy index 68c390ac811..59fa53bf298 100644 --- a/Test/metatests/OutputEncoding.dfy +++ b/Test/metatests/OutputEncoding.dfy @@ -1,10 +1,4 @@ -// RUN: %baredafny verify %args "%s" > "%t" -// RUN: %baredafny run --no-verify --target=cs %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=js %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=go %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=py %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=java %args "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" method Main() { // This works fine in all languages because € is a single UTF-16 code unit. diff --git a/Test/metatests/OutputEncoding.dfy.expect b/Test/metatests/OutputEncoding.dfy.expect index a37241376f3..b25a57298f1 100644 --- a/Test/metatests/OutputEncoding.dfy.expect +++ b/Test/metatests/OutputEncoding.dfy.expect @@ -1,17 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification -Euro sign: € - -Dafny program verifier did not attempt verification -Euro sign: € - -Dafny program verifier did not attempt verification -Euro sign: € - -Dafny program verifier did not attempt verification -Euro sign: € - -Dafny program verifier did not attempt verification Euro sign: € diff --git a/Test/patterns/OrPatterns.dfy b/Test/patterns/OrPatterns.dfy index 4f2610c9379..6385bd55c93 100644 --- a/Test/patterns/OrPatterns.dfy +++ b/Test/patterns/OrPatterns.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /rprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Enum = One | Two | Three { predicate Even() { diff --git a/Test/patterns/OrPatterns.dfy.expect b/Test/patterns/OrPatterns.dfy.expect index a6fce7c4a13..d86bac9de59 100644 --- a/Test/patterns/OrPatterns.dfy.expect +++ b/Test/patterns/OrPatterns.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 11 verified, 0 errors OK diff --git a/Test/patterns/PatternMatching.dfy b/Test/patterns/PatternMatching.dfy index 477126c066a..e8a73b856e4 100644 --- a/Test/patterns/PatternMatching.dfy +++ b/Test/patterns/PatternMatching.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /* * This file contains a collection of tests for features modified or introduced in PR 458 @@ -222,4 +221,4 @@ method Main() { var r5 := MultipleNestedMatch(A(0), t4, bb); print "Testing MultipleNestedMatch: ", r0, r1, r2, r3, r4, r5, ", should return 012345\n"; -} \ No newline at end of file +} diff --git a/Test/patterns/PatternMatching.dfy.expect b/Test/patterns/PatternMatching.dfy.expect index 2970273cbfc..b4415971ca5 100644 --- a/Test/patterns/PatternMatching.dfy.expect +++ b/Test/patterns/PatternMatching.dfy.expect @@ -1,6 +1,3 @@ -PatternMatching.dfy(102,4): Warning: this branch is redundant - -Dafny program verifier finished with 9 verified, 0 errors NestingTest([6]) = 6, should return 6 NestedVariableTest([2::3::4::5::6]) = 0, should return 0 ConstantTest([3::4::5::6]) = 2, should return 2 diff --git a/Test/patterns/PatternMatching.dfy.verifier.expect b/Test/patterns/PatternMatching.dfy.verifier.expect new file mode 100644 index 00000000000..b486aadfb80 --- /dev/null +++ b/Test/patterns/PatternMatching.dfy.verifier.expect @@ -0,0 +1 @@ +PatternMatching.dfy(101,4): Warning: this branch is redundant diff --git a/Test/traits/TraitCompile.dfy b/Test/traits/TraitCompile.dfy index 03cf3746c6f..6e9b925fbc5 100644 --- a/Test/traits/TraitCompile.dfy +++ b/Test/traits/TraitCompile.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait TT { @@ -820,4 +814,4 @@ module RedeclaringMembers { true } } -} \ No newline at end of file +} diff --git a/Test/traits/TraitCompile.dfy.expect b/Test/traits/TraitCompile.dfy.expect index 8257b754de2..b70a9b09d2e 100644 --- a/Test/traits/TraitCompile.dfy.expect +++ b/Test/traits/TraitCompile.dfy.expect @@ -1,259 +1,3 @@ - -Dafny program verifier finished with 75 verified, 0 errors - -Dafny program verifier did not attempt verification -y=120 -x=12 -d=800 -a5=407 -t=1212 -z=30 -z'=30 -w=30 -d=1000 -a5=507 -t=1512 -t=1512 -t=1515 -This is OtherModule.P(7.0) -From OtherModule.Y: 7 and true -This is OtherModule.P(7.0) -From OtherModule.X: 7 and true -c.f= 15 j.f= 15 -c.f= 18 j.f= 18 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -x=126 -5.2 9 false -true true true true -false false false false -true true true true -false false false false -5.2 5.2 -1.2 1.2 -1.2 1.2 -15 30 -15 30 -15 30 -0 (0, 0) 0 -8 -0 0 0 0 0 0 0 0 0 0 0 0 -13 13 13 13 13 13 13 13 13 13 13 13 -14 14 14 14 14 14 14 14 14 14 14 14 -15 15 15 15 15 15 15 15 15 15 15 15 -16 16 16 16 16 16 16 16 16 16 16 16 -17 17 17 17 17 17 17 17 17 17 17 17 -18 18 18 18 18 18 18 18 18 18 18 18 -19 19 19 19 19 19 19 19 19 19 19 19 -20 20 20 20 20 20 20 20 20 20 20 20 -21 21 21 21 21 21 21 21 21 21 21 21 -22 22 22 22 22 22 22 22 22 22 22 22 -23 23 23 23 23 23 23 23 23 23 23 23 -24 24 24 24 24 24 24 24 24 24 24 24 -f(4) = 7 -f(4) = 7 -g(4) = 7 -g(4) = 7 -41 15 26 -true true -true true -true true -true true -true true true -true true true - -Dafny program verifier did not attempt verification -y=120 -x=12 -d=800 -a5=407 -t=1212 -z=30 -z'=30 -w=30 -d=1000 -a5=507 -t=1512 -t=1512 -t=1515 -This is OtherModule.P(7.0) -From OtherModule.Y: 7 and true -This is OtherModule.P(7.0) -From OtherModule.X: 7 and true -c.f= 15 j.f= 15 -c.f= 18 j.f= 18 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -x=126 -5.2 9 false -true true true true -false false false false -true true true true -false false false false -5.2 5.2 -1.2 1.2 -1.2 1.2 -15 30 -15 30 -15 30 -0 (0, 0) 0 -8 -0 0 0 0 0 0 0 0 0 0 0 0 -13 13 13 13 13 13 13 13 13 13 13 13 -14 14 14 14 14 14 14 14 14 14 14 14 -15 15 15 15 15 15 15 15 15 15 15 15 -16 16 16 16 16 16 16 16 16 16 16 16 -17 17 17 17 17 17 17 17 17 17 17 17 -18 18 18 18 18 18 18 18 18 18 18 18 -19 19 19 19 19 19 19 19 19 19 19 19 -20 20 20 20 20 20 20 20 20 20 20 20 -21 21 21 21 21 21 21 21 21 21 21 21 -22 22 22 22 22 22 22 22 22 22 22 22 -23 23 23 23 23 23 23 23 23 23 23 23 -24 24 24 24 24 24 24 24 24 24 24 24 -f(4) = 7 -f(4) = 7 -g(4) = 7 -g(4) = 7 -41 15 26 -true true -true true -true true -true true -true true true -true true true - -Dafny program verifier did not attempt verification -y=120 -x=12 -d=800 -a5=407 -t=1212 -z=30 -z'=30 -w=30 -d=1000 -a5=507 -t=1512 -t=1512 -t=1515 -This is OtherModule.P(7.0) -From OtherModule.Y: 7 and true -This is OtherModule.P(7.0) -From OtherModule.X: 7 and true -c.f= 15 j.f= 15 -c.f= 18 j.f= 18 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -x=126 -5.2 9 false -true true true true -false false false false -true true true true -false false false false -5.2 5.2 -1.2 1.2 -1.2 1.2 -15 30 -15 30 -15 30 -0 (0, 0) 0 -8 -0 0 0 0 0 0 0 0 0 0 0 0 -13 13 13 13 13 13 13 13 13 13 13 13 -14 14 14 14 14 14 14 14 14 14 14 14 -15 15 15 15 15 15 15 15 15 15 15 15 -16 16 16 16 16 16 16 16 16 16 16 16 -17 17 17 17 17 17 17 17 17 17 17 17 -18 18 18 18 18 18 18 18 18 18 18 18 -19 19 19 19 19 19 19 19 19 19 19 19 -20 20 20 20 20 20 20 20 20 20 20 20 -21 21 21 21 21 21 21 21 21 21 21 21 -22 22 22 22 22 22 22 22 22 22 22 22 -23 23 23 23 23 23 23 23 23 23 23 23 -24 24 24 24 24 24 24 24 24 24 24 24 -f(4) = 7 -f(4) = 7 -g(4) = 7 -g(4) = 7 -41 15 26 -true true -true true -true true -true true -true true true -true true true - -Dafny program verifier did not attempt verification -y=120 -x=12 -d=800 -a5=407 -t=1212 -z=30 -z'=30 -w=30 -d=1000 -a5=507 -t=1512 -t=1512 -t=1515 -This is OtherModule.P(7.0) -From OtherModule.Y: 7 and true -This is OtherModule.P(7.0) -From OtherModule.X: 7 and true -c.f= 15 j.f= 15 -c.f= 18 j.f= 18 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -x=126 -5.2 9 false -true true true true -false false false false -true true true true -false false false false -5.2 5.2 -1.2 1.2 -1.2 1.2 -15 30 -15 30 -15 30 -0 (0, 0) 0 -8 -0 0 0 0 0 0 0 0 0 0 0 0 -13 13 13 13 13 13 13 13 13 13 13 13 -14 14 14 14 14 14 14 14 14 14 14 14 -15 15 15 15 15 15 15 15 15 15 15 15 -16 16 16 16 16 16 16 16 16 16 16 16 -17 17 17 17 17 17 17 17 17 17 17 17 -18 18 18 18 18 18 18 18 18 18 18 18 -19 19 19 19 19 19 19 19 19 19 19 19 -20 20 20 20 20 20 20 20 20 20 20 20 -21 21 21 21 21 21 21 21 21 21 21 21 -22 22 22 22 22 22 22 22 22 22 22 22 -23 23 23 23 23 23 23 23 23 23 23 23 -24 24 24 24 24 24 24 24 24 24 24 24 -f(4) = 7 -f(4) = 7 -g(4) = 7 -g(4) = 7 -41 15 26 -true true -true true -true true -true true -true true true -true true true - -Dafny program verifier did not attempt verification y=120 x=12 d=800 diff --git a/Test/traits/TraitExample.dfy b/Test/traits/TraitExample.dfy index d6afb4ce70b..54c5cbbec6f 100644 --- a/Test/traits/TraitExample.dfy +++ b/Test/traits/TraitExample.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait Automobile { ghost var Repr: set diff --git a/Test/traits/TraitExample.dfy.expect b/Test/traits/TraitExample.dfy.expect index c1b4ac93962..b9783e62141 100644 --- a/Test/traits/TraitExample.dfy.expect +++ b/Test/traits/TraitExample.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 29 verified, 0 errors Fiat: 6 Volvo: 20 Catacar: 26 diff --git a/Test/traits/Traits-Fields.dfy b/Test/traits/Traits-Fields.dfy index 2da609c33c8..6ae1aaab6d9 100644 --- a/Test/traits/Traits-Fields.dfy +++ b/Test/traits/Traits-Fields.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait J { diff --git a/Test/traits/Traits-Fields.dfy.expect b/Test/traits/Traits-Fields.dfy.expect index cc460fc52f4..c39bd8b5d5d 100644 --- a/Test/traits/Traits-Fields.dfy.expect +++ b/Test/traits/Traits-Fields.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 2 verified, 0 errors j.x = 9 c.x = 9 diff --git a/Test/traits/TraitsMultipleInheritance.dfy b/Test/traits/TraitsMultipleInheritance.dfy index 12590e47828..67fd8673488 100644 --- a/Test/traits/TraitsMultipleInheritance.dfy +++ b/Test/traits/TraitsMultipleInheritance.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait J1{ var x: int diff --git a/Test/traits/TraitsMultipleInheritance.dfy.expect b/Test/traits/TraitsMultipleInheritance.dfy.expect index ad1a1011a25..b116b2d070d 100644 --- a/Test/traits/TraitsMultipleInheritance.dfy.expect +++ b/Test/traits/TraitsMultipleInheritance.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 1 verified, 0 errors c.x + c.y = 30 j1.x + j2.y = 30 diff --git a/Test/unicodechars/comp/Collections.dfy b/Test/unicodechars/comp/Collections.dfy index fb3e451eb83..14d241ed5ab 100644 --- a/Test/unicodechars/comp/Collections.dfy +++ b/Test/unicodechars/comp/Collections.dfy @@ -1,8 +1,3 @@ -// RUN: %dafny /compile:0 /verifyAllModules /unicodeChar:1 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:true --verify-included-files include "../../comp/Collections.dfy" diff --git a/Test/unicodechars/comp/Collections.dfy.expect b/Test/unicodechars/comp/Collections.dfy.expect index 70586502b0d..89f08b08d75 100644 --- a/Test/unicodechars/comp/Collections.dfy.expect +++ b/Test/unicodechars/comp/Collections.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 40 verified, 0 errors - -Dafny program verifier did not attempt verification Sets: {} {17, 82} {12, 17} cardinality: 0 2 2 union: {17, 82} {12, 17, 82} @@ -127,511 +123,3 @@ Multiset=== 1 3 |s|=2 |u|=4 1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Yellow := 21, Color.Blue := 30] -keys: {Color.Yellow, Color.Blue} -values: {21, 30} -items: {(Color.Yellow, 21), (Color.Blue, 30)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {21, 30} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.go.expect b/Test/unicodechars/comp/Collections.dfy.go.expect new file mode 100644 index 00000000000..2fc0f3b7093 --- /dev/null +++ b/Test/unicodechars/comp/Collections.dfy.go.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.java.expect b/Test/unicodechars/comp/Collections.dfy.java.expect new file mode 100644 index 00000000000..39975cadfc4 --- /dev/null +++ b/Test/unicodechars/comp/Collections.dfy.java.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Yellow := 21, Color.Blue := 30] +keys: {Color.Yellow, Color.Blue} +values: {21, 30} +items: {(Color.Yellow, 21), (Color.Blue, 30)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.js.expect b/Test/unicodechars/comp/Collections.dfy.js.expect new file mode 100644 index 00000000000..2fc0f3b7093 --- /dev/null +++ b/Test/unicodechars/comp/Collections.dfy.js.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.py.expect b/Test/unicodechars/comp/Collections.dfy.py.expect new file mode 100644 index 00000000000..e4e346dede0 --- /dev/null +++ b/Test/unicodechars/comp/Collections.dfy.py.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {21, 30} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/unicodechars/comp/Comprehensions.dfy b/Test/unicodechars/comp/Comprehensions.dfy index 274f8d3a150..8bd5f67525e 100644 --- a/Test/unicodechars/comp/Comprehensions.dfy +++ b/Test/unicodechars/comp/Comprehensions.dfy @@ -1,8 +1,3 @@ -// RUN: %dafny /compile:0 /unicodeChar:1 /verifyAllModules "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" -include "../../comp/Comprehensions.dfy" \ No newline at end of file +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:true --verify-included-files +include "../../comp/Comprehensions.dfy" diff --git a/Test/unicodechars/comp/Comprehensions.dfy.expect b/Test/unicodechars/comp/Comprehensions.dfy.expect index 18159ddde0a..c9703fc9397 100644 --- a/Test/unicodechars/comp/Comprehensions.dfy.expect +++ b/Test/unicodechars/comp/Comprehensions.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 32 verified, 0 errors - -Dafny program verifier did not attempt verification x=13 y=14 x=13 y=14 b=yes true false @@ -64,259 +60,3 @@ true true [137438953474, 137438953475, 137438953476, 137438953477, 137438953479] cdefh cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[14 := 7, 12 := 6, 13 := 6] -map[18 := 14, 17 := 13, 16 := 12] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh diff --git a/Test/unicodechars/comp/Comprehensions.dfy.py.expect b/Test/unicodechars/comp/Comprehensions.dfy.py.expect new file mode 100644 index 00000000000..aeaa31fc0f3 --- /dev/null +++ b/Test/unicodechars/comp/Comprehensions.dfy.py.expect @@ -0,0 +1,62 @@ +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[14 := 7, 12 := 6, 13 := 6] +map[18 := 14, 17 := 13, 16 := 12] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh diff --git a/Test/unicodechars/comp/NativeNumbers.dfy b/Test/unicodechars/comp/NativeNumbers.dfy index 764b4b3b384..20cdb1e214f 100644 --- a/Test/unicodechars/comp/NativeNumbers.dfy +++ b/Test/unicodechars/comp/NativeNumbers.dfy @@ -1,9 +1,4 @@ +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:true --verify-included-files // Skip JavaScript because JavaScript doesn't have the same native types -// RUN: %dafny /compile:0 /verifyAllModules /unicodeChar:1 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" -include "../../comp/NativeNumbers.dfy" \ No newline at end of file +include "../../comp/NativeNumbers.dfy" diff --git a/Test/unicodechars/comp/NativeNumbers.dfy.expect b/Test/unicodechars/comp/NativeNumbers.dfy.expect index b0fc6754f84..354d931a151 100644 --- a/Test/unicodechars/comp/NativeNumbers.dfy.expect +++ b/Test/unicodechars/comp/NativeNumbers.dfy.expect @@ -1,259 +1,3 @@ - -Dafny program verifier finished with 25 verified, 0 errors - -Dafny program verifier did not attempt verification -Casting: - -Small numbers: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 -5 5 5 5 5 5 5 5 5 -6 6 6 6 6 6 6 6 6 -7 7 7 7 7 7 7 7 7 -8 8 8 8 8 8 8 8 8 - -Large unsigned numbers: -255 255 255 255 255 255 255 255 -65535 65535 65535 65535 65535 65535 -4294967295 4294967295 4294967295 4294967295 -18446744073709551615 18446744073709551615 - -Int to large unsigned: -255 65535 4294967295 18446744073709551615 - -Cast from cardinality operator: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 - -Characters: -'C' 67 67 67 67 67 67 67 67 67 -0 127 32767 65535 65535 255 65535 65535 65535 - -Defaults: - -0 0 0 0 0 0 0 0 0 - -Byte arithmetic: - -20 30 -10 10 18 - -Short arithmetic: - -20 30 -10 10 18 - -Bitvectors: - -0 3 4 1 - -Comparison to zero: - -int8: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int16: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int32: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int64: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint8: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint16: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint32: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint64: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N - - -Dafny program verifier did not attempt verification -Casting: - -Small numbers: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 -5 5 5 5 5 5 5 5 5 -6 6 6 6 6 6 6 6 6 -7 7 7 7 7 7 7 7 7 -8 8 8 8 8 8 8 8 8 - -Large unsigned numbers: -255 255 255 255 255 255 255 255 -65535 65535 65535 65535 65535 65535 -4294967295 4294967295 4294967295 4294967295 -18446744073709551615 18446744073709551615 - -Int to large unsigned: -255 65535 4294967295 18446744073709551615 - -Cast from cardinality operator: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 - -Characters: -'C' 67 67 67 67 67 67 67 67 67 -0 127 32767 65535 65535 255 65535 65535 65535 - -Defaults: - -0 0 0 0 0 0 0 0 0 - -Byte arithmetic: - -20 30 -10 10 18 - -Short arithmetic: - -20 30 -10 10 18 - -Bitvectors: - -0 3 4 1 - -Comparison to zero: - -int8: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int16: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int32: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int64: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint8: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint16: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint32: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint64: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N - - -Dafny program verifier did not attempt verification -Casting: - -Small numbers: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 -5 5 5 5 5 5 5 5 5 -6 6 6 6 6 6 6 6 6 -7 7 7 7 7 7 7 7 7 -8 8 8 8 8 8 8 8 8 - -Large unsigned numbers: -255 255 255 255 255 255 255 255 -65535 65535 65535 65535 65535 65535 -4294967295 4294967295 4294967295 4294967295 -18446744073709551615 18446744073709551615 - -Int to large unsigned: -255 65535 4294967295 18446744073709551615 - -Cast from cardinality operator: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 - -Characters: -'C' 67 67 67 67 67 67 67 67 67 -0 127 32767 65535 65535 255 65535 65535 65535 - -Defaults: - -0 0 0 0 0 0 0 0 0 - -Byte arithmetic: - -20 30 -10 10 18 - -Short arithmetic: - -20 30 -10 10 18 - -Bitvectors: - -0 3 4 1 - -Comparison to zero: - -int8: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int16: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int32: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int64: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint8: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint16: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint32: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint64: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N - - -Dafny program verifier did not attempt verification Casting: Small numbers: diff --git a/Test/unicodechars/comp/Numbers.dfy b/Test/unicodechars/comp/Numbers.dfy index 2c9170fe4d7..e5e36180234 100644 --- a/Test/unicodechars/comp/Numbers.dfy +++ b/Test/unicodechars/comp/Numbers.dfy @@ -1,8 +1,3 @@ -// RUN: %dafny /compile:0 /verifyAllModules /unicodeChar:1 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" -include "../../comp/Numbers.dfy" \ No newline at end of file +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:true --verify-included-files +include "../../comp/Numbers.dfy" diff --git a/Test/unicodechars/comp/Numbers.dfy.expect b/Test/unicodechars/comp/Numbers.dfy.expect index 6fa2f59f340..cce193e1cce 100644 --- a/Test/unicodechars/comp/Numbers.dfy.expect +++ b/Test/unicodechars/comp/Numbers.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 59 verified, 0 errors - -Dafny program verifier did not attempt verification 0 0 3 @@ -113,455 +109,3 @@ true false true false false true false true true false true false 20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -'g' 'Q' '2' -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -(312.0 / 40.0) (1248.0 / 40.0) -(-312.0 / 40.0) (-1248.0 / 40.0) -(-312.0 / 40.0) (1248.0 / 40.0) -(312.0 / 40.0) (-1248.0 / 40.0) -0.0 0.0 0.0 -120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) -123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 (8100.0 / 8100.0) -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -'g' 'Q' '2' -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -'g' 'Q' '2' -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -(312.0 / 40.0) (1248.0 / 40.0) -(-312.0 / 40.0) (-1248.0 / 40.0) -(-312.0 / 40.0) (1248.0 / 40.0) -(312.0 / 40.0) (-1248.0 / 40.0) -0.0 0.0 0.0 -120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) -123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 (8100.0 / 8100.0) -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -'g' 'Q' '2' -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 diff --git a/Test/unicodechars/comp/Numbers.dfy.go.expect b/Test/unicodechars/comp/Numbers.dfy.go.expect new file mode 100644 index 00000000000..95d8ac259c7 --- /dev/null +++ b/Test/unicodechars/comp/Numbers.dfy.go.expect @@ -0,0 +1,111 @@ +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +'g' 'Q' '2' +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 diff --git a/Test/unicodechars/comp/Numbers.dfy.py.expect b/Test/unicodechars/comp/Numbers.dfy.py.expect new file mode 100644 index 00000000000..95d8ac259c7 --- /dev/null +++ b/Test/unicodechars/comp/Numbers.dfy.py.expect @@ -0,0 +1,111 @@ +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +'g' 'Q' '2' +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 From da7e46662ea9b3ec8306075552ad35ef62903428 Mon Sep 17 00:00:00 2001 From: Robin Salkeld Date: Fri, 9 Jun 2023 10:29:47 -0700 Subject: [PATCH 41/68] Naming tweaks --- Source/IntegrationTests/LitTests.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Source/IntegrationTests/LitTests.cs b/Source/IntegrationTests/LitTests.cs index 1a23c678d6d..1610e66c08e 100644 --- a/Source/IntegrationTests/LitTests.cs +++ b/Source/IntegrationTests/LitTests.cs @@ -193,13 +193,13 @@ public void LitTest(string path) { var testPath = path.Replace("TestFiles/LitTests/LitTest", ""); var mode = Environment.GetEnvironmentVariable("DAFNY_INTEGRATION_TESTS_MODE"); switch (mode) { - case "uniform-convert": + case "uniformity-convert": // Need to convert the original source path, // not the copy in the output directory of this project. var sourcePath = Path.Join(Environment.GetEnvironmentVariable("DAFNY_INTEGRATION_TESTS_ROOT_DIR"), testPath); ConvertToMultiBackendTestIfNecessary(sourcePath); return; - case "uniform-check": + case "uniformity-check": var testCase = LitTestCase.Read(path, Config); if (NeedsConverting(testCase)) { Assert.Fail($"Non-uniform test case: {testPath}\nConvert to using %testDafnyForEachCompiler or add a '// NON-UNIFORM ' command"); @@ -210,7 +210,7 @@ public void LitTest(string path) { break; default: throw new ArgumentException( - $"Unrecognized value of DAFNY_INTEGRATION_TESTS_MODE environment variable: {uniformTestingMode}"); + $"Unrecognized value of DAFNY_INTEGRATION_TESTS_MODE environment variable: {mode}"); } } From 55e2a9f8e2c9a94392429851873906abb3fe41f1 Mon Sep 17 00:00:00 2001 From: Robin Salkeld Date: Fri, 9 Jun 2023 13:24:08 -0700 Subject: [PATCH 42/68] A few more issues/fixes --- Source/IntegrationTests/LitTests.cs | 4 +-- Test/dafny0/Bitvectors.dfy.java.expect | 45 -------------------------- Test/dafny4/Bug116.dfy.js.check | 2 ++ Test/exports/FIFO.dfy.py.check | 3 ++ Test/exports/LIFO.dfy.py.check | 3 ++ 5 files changed, 10 insertions(+), 47 deletions(-) create mode 100644 Test/dafny4/Bug116.dfy.js.check create mode 100644 Test/exports/FIFO.dfy.py.check create mode 100644 Test/exports/LIFO.dfy.py.check diff --git a/Source/IntegrationTests/LitTests.cs b/Source/IntegrationTests/LitTests.cs index 1610e66c08e..40eab0ec64b 100644 --- a/Source/IntegrationTests/LitTests.cs +++ b/Source/IntegrationTests/LitTests.cs @@ -202,7 +202,7 @@ public void LitTest(string path) { case "uniformity-check": var testCase = LitTestCase.Read(path, Config); if (NeedsConverting(testCase)) { - Assert.Fail($"Non-uniform test case: {testPath}\nConvert to using %testDafnyForEachCompiler or add a '// NON-UNIFORM ' command"); + Assert.Fail($"Non-uniform test case: {testPath}\nConvert to using %testDafnyForEachCompiler or add a '// NONUNIFORM ' command"); } break; case null or "": @@ -273,7 +273,7 @@ bool IgnoreArgument(string arg, string testFilePath) { return true; } // MultiBackendTest always adds all three of these to temporary files. - if (arg.StartsWith("/print") || arg.StartsWith("/dprint") || arg.StartsWith("/rprint")) { + if (arg.StartsWith("/print:") || arg.StartsWith("/dprint:") || arg.StartsWith("/rprint:")) { return true; } if (arg.StartsWith("/env")) { diff --git a/Test/dafny0/Bitvectors.dfy.java.expect b/Test/dafny0/Bitvectors.dfy.java.expect index 624f1660248..ab2790b560f 100644 --- a/Test/dafny0/Bitvectors.dfy.java.expect +++ b/Test/dafny0/Bitvectors.dfy.java.expect @@ -41,48 +41,3 @@ PrintRotates: bv2: 1 1 PrintRotates: bv0: 0 0 PrintRotates: bv12 again: 976 976 PrintRotates: bv7 again: 127 127 - -Dafny program verifier did not attempt verification -4000 4000 4000 0 -1 2053 1099 -185 55 -2 4 -Comparisons: true true false false -bv16: 5 - 2 == 3 -bv16: 1 - 2 == 65535 -3 2 -0 0 -false true true false -bv67: 147573952589676412927 + 3 == 2 - 3 == 147573952589676412925 !! 3 == ! 147573952589676412924 == 3 -bv64: 18446744073709551615 + 3 == 2 - 3 == 18446744073709551613 !! 3 == ! 18446744073709551612 == 3 -bv53: 9007199254740991 + 3 == 2 - 3 == 9007199254740989 !! 3 == ! 9007199254740988 == 3 -bv33: 8589934591 + 3 == 2 - 3 == 8589934589 !! 3 == ! 8589934588 == 3 -bv32: 4294967295 + 3 == 2 - 3 == 4294967293 !! 3 == ! 4294967292 == 3 -bv31: 2147483647 + 3 == 2 - 3 == 2147483645 !! 3 == ! 2147483644 == 3 -bv16: 65535 + 3 == 2 - 3 == 65533 !! 3 == ! 65532 == 3 -bv15: 32767 + 3 == 2 - 3 == 32765 !! 3 == ! 32764 == 3 -bv8: 255 + 3 == 2 - 3 == 253 !! 3 == ! 252 == 3 -bv6: 63 + 3 == 2 - 3 == 61 !! 3 == ! 60 == 3 -bv1: 1 + 1 == 0 - 1 == 1 !! 1 == ! 0 == 1 -bv0: 0 + 0 == 0 - 0 == 0 !! 0 == ! 0 == 0 -bv2: - 3 + 2 == 1 - 3 - 2 == 1 - 3 * 2 == 2 - 3 / 2 == 1 - 3 % 2 == 1 -PrintShifts: bv67: 5 40 40 40 -PrintShifts: bv32: 5 40 40 40 -PrintShifts: bv7: 5 40 40 40 -PrintShifts: bv2: 1 2 2 2 -PrintShifts: bv0: 0 0 0 0 -PrintShifts: bv67 again: 2 2 2 73786976294838206465 -PrintShifts: bv32 again: 8000 8000 2147487648 3221227472 -PrintShifts: bv7 again: 124 124 124 127 -PrintShifts: bv0 again: 0 0 0 0 -PrintRotates: bv12: 5 5 -PrintRotates: bv7: 5 5 -PrintRotates: bv2: 1 1 -PrintRotates: bv0: 0 0 -PrintRotates: bv12 again: 976 976 -PrintRotates: bv7 again: 127 127 diff --git a/Test/dafny4/Bug116.dfy.js.check b/Test/dafny4/Bug116.dfy.js.check new file mode 100644 index 00000000000..1a0e632bea8 --- /dev/null +++ b/Test/dafny4/Bug116.dfy.js.check @@ -0,0 +1,2 @@ +// https://github.com/dafny-lang/dafny/issues/4161 +// CHECK: SyntaxError: Unexpected reserved word diff --git a/Test/exports/FIFO.dfy.py.check b/Test/exports/FIFO.dfy.py.check new file mode 100644 index 00000000000..ff1038ed53e --- /dev/null +++ b/Test/exports/FIFO.dfy.py.check @@ -0,0 +1,3 @@ +// https://github.com/dafny-lang/dafny/issues/4162 +// CHECK-L: assert "FIFO" == __name__ +// CHECK-L: AssertionError diff --git a/Test/exports/LIFO.dfy.py.check b/Test/exports/LIFO.dfy.py.check new file mode 100644 index 00000000000..4138aba6c90 --- /dev/null +++ b/Test/exports/LIFO.dfy.py.check @@ -0,0 +1,3 @@ +// https://github.com/dafny-lang/dafny/issues/4162 +// CHECK-L: assert "LIFO" == __name__ +// CHECK-L: AssertionError From 4bda0f7ca3c06b1b2d171ce0493a69fc371f6a92 Mon Sep 17 00:00:00 2001 From: Robin Salkeld Date: Fri, 9 Jun 2023 13:24:21 -0700 Subject: [PATCH 43/68] Revert "Convert all tests" This reverts commit 44cba87b8d49345e1ae9b6af19bb5bad123700ee. --- Test/VerifyThis2015/Problem1.dfy | 3 +- Test/VerifyThis2015/Problem1.dfy.expect | 2 + Test/VerifyThis2015/Problem2.dfy | 3 +- Test/VerifyThis2015/Problem2.dfy.expect | 2 + Test/VerifyThis2015/Problem3.dfy | 3 +- Test/VerifyThis2015/Problem3.dfy.expect | 2 + Test/c++/arrays.dfy | 3 +- Test/c++/arrays.dfy.expect | 2 + Test/c++/bit-vectors.dfy | 3 +- Test/c++/bit-vectors.dfy.expect | 2 + Test/c++/class.dfy | 3 +- Test/c++/class.dfy.expect | 2 + Test/c++/const.dfy | 3 +- Test/c++/const.dfy.expect | 2 + Test/c++/datatypes.dfy | 3 +- Test/c++/datatypes.dfy.expect | 2 + Test/c++/generic.dfy | 3 +- Test/c++/generic.dfy.expect | 2 + Test/c++/hello.dfy | 3 +- Test/c++/hello.dfy.expect | 2 + Test/c++/ints.dfy | 3 +- Test/c++/ints.dfy.expect | 2 + Test/c++/maps.dfy | 3 +- Test/c++/maps.dfy.expect | 2 + Test/c++/recursion.dfy | 3 +- Test/c++/recursion.dfy.expect | 2 + Test/c++/returns.dfy | 3 +- Test/c++/returns.dfy.expect | 2 + Test/c++/seqs.dfy | 3 +- Test/c++/seqs.dfy.expect | 2 + Test/c++/sets.dfy | 3 +- Test/c++/sets.dfy.expect | 2 + Test/c++/while.dfy | 3 +- Test/c++/while.dfy.expect | 2 + Test/comp/Arrays.dfy | 9 +- Test/comp/Arrays.dfy.expect | 396 ++++++++++++ Test/comp/Arrays.dfy.go.expect | 96 --- Test/comp/AsIs-Compile.dfy | 8 +- Test/comp/AsIs-Compile.dfy.expect | 160 +++++ Test/comp/AutoInit.dfy | 8 +- Test/comp/AutoInit.dfy.expect | 160 +++++ Test/comp/ByMethodCompilation.dfy | 8 +- Test/comp/ByMethodCompilation.dfy.expect | 32 + Test/comp/Calls.dfy | 8 +- Test/comp/Calls.dfy.expect | 40 ++ Test/comp/Class.dfy | 8 +- Test/comp/Class.dfy.expect | 72 +++ Test/comp/Collections.dfy | 9 +- Test/comp/Collections.dfy.expect | 512 ++++++++++++++++ Test/comp/Collections.dfy.go.expect | 125 ---- Test/comp/Collections.dfy.java.expect | 125 ---- Test/comp/Collections.dfy.js.expect | 125 ---- Test/comp/Collections.dfy.py.expect | 125 ---- Test/comp/Comprehensions.dfy | 9 +- Test/comp/Comprehensions.dfy.expect | 260 ++++++++ Test/comp/Comprehensions.dfy.py.expect | 62 -- Test/comp/ComprehensionsNewSyntax.dfy | 9 +- Test/comp/ComprehensionsNewSyntax.dfy.expect | 148 +++++ .../ComprehensionsNewSyntax.dfy.py.expect | 34 -- Test/comp/CovariantCollections.dfy | 8 +- Test/comp/CovariantCollections.dfy.expect | 220 +++++++ Test/comp/Datatype.dfy | 9 +- Test/comp/Datatype.dfy.expect | 100 +++ Test/comp/Datatype.dfy.java.expect | 22 - Test/comp/Datatype.dfy.py.expect | 22 - Test/comp/DefaultParameters-Compile.dfy | 8 +- .../comp/DefaultParameters-Compile.dfy.expect | 48 ++ Test/comp/DowncastClone.dfy | 8 +- Test/comp/DowncastClone.dfy.expect | 40 ++ Test/comp/ErasableTypeWrappers.dfy | 8 +- Test/comp/ErasableTypeWrappers.dfy.expect | 84 +++ Test/comp/EuclideanDivision.dfy | 8 +- Test/comp/EuclideanDivision.dfy.expect | 36 ++ Test/comp/ForLoops-Compilation.dfy | 8 +- Test/comp/ForLoops-Compilation.dfy.expect | 200 ++++++ Test/comp/ForallNewSyntax.dfy | 8 +- Test/comp/ForallNewSyntax.dfy.expect | 180 ++++++ Test/comp/Ghosts.dfy | 8 +- Test/comp/Ghosts.dfy.expect | 52 ++ Test/comp/Let.dfy | 7 +- Test/comp/Let.dfy.expect | 34 ++ Test/comp/MoreAutoInit.dfy | 8 +- Test/comp/MoreAutoInit.dfy.expect | 572 ++++++++++++++++++ Test/comp/NativeNumbers.dfy | 7 +- Test/comp/NativeNumbers.dfy.expect | 256 ++++++++ Test/comp/NestedArrays.dfy | 7 +- Test/comp/NestedArrays.dfy.expect | 16 + Test/comp/Numbers.dfy | 9 +- Test/comp/Numbers.dfy.expect | 456 ++++++++++++++ Test/comp/Numbers.dfy.go.expect | 111 ---- Test/comp/Numbers.dfy.py.expect | 111 ---- Test/comp/Poly.dfy | 9 +- Test/comp/Poly.dfy.expect | 60 ++ Test/comp/Poly.dfy.go.expect | 12 - Test/comp/Poly.dfy.py.expect | 12 - Test/comp/Print.dfy | 8 +- Test/comp/Print.dfy.expect | 34 ++ Test/comp/Print.dfy.go.expect | 8 - Test/comp/Print.dfy.java.expect | 8 - Test/comp/Print.dfy.js.expect | 8 - Test/comp/StaticMembersOfGenericTypes.dfy | 8 +- .../StaticMembersOfGenericTypes.dfy.expect | 76 +++ Test/comp/TailRecursion.dfy | 8 +- Test/comp/TailRecursion.dfy.expect | 76 +++ Test/comp/TypeDescriptors.dfy | 8 +- Test/comp/TypeDescriptors.dfy.expect | 152 +++++ Test/comp/TypeParams.dfy | 11 +- Test/comp/TypeParams.dfy.expect | 88 +++ Test/comp/TypeParams.dfy.go.expect | 19 - Test/comp/TypeParams.dfy.java.expect | 19 - Test/comp/TypeParams.dfy.js.expect | 19 - Test/comp/TypeParams.dfy.py.expect | 19 - Test/comp/UnoptimizedErasableTypeWrappers.dfy | 8 +- ...UnoptimizedErasableTypeWrappers.dfy.expect | 28 + Test/comp/Variance.dfy | 8 +- Test/comp/Variance.dfy.expect | 64 ++ Test/comp/Various.dfy | 8 +- Test/comp/Various.dfy.expect | 40 ++ Test/comp/firstSteps/0_IKnowThisMuchIs.dfy | 4 +- .../firstSteps/0_IKnowThisMuchIs.dfy.expect | 4 + Test/comp/firstSteps/1_Calls-F.dfy | 4 +- Test/comp/firstSteps/1_Calls-F.dfy.expect | 4 + Test/comp/firstSteps/2_Modules.dfy | 4 +- Test/comp/firstSteps/2_Modules.dfy.expect | 4 + Test/comp/firstSteps/3_Calls-As.dfy | 4 +- Test/comp/firstSteps/3_Calls-As.dfy.expect | 4 + .../4_Calls-FunctionsValues-Class+NT.dfy | 4 +- ..._Calls-FunctionsValues-Class+NT.dfy.expect | 4 + .../firstSteps/5_Calls-FunctionsValues-Dt.dfy | 4 +- .../5_Calls-FunctionsValues-Dt.dfy.expect | 4 + .../firstSteps/6_Calls-VariableCapture.dfy | 4 +- .../6_Calls-VariableCapture.dfy.expect | 4 + Test/comp/firstSteps/7_Arrays.dfy | 4 +- Test/comp/firstSteps/7_Arrays.dfy.expect | 4 + Test/comp/firstSteps/7_Dt_Algebraic.dfy | 6 +- .../firstSteps/7_Dt_Algebraic.dfy.cs.expect | 11 - .../comp/firstSteps/7_Dt_Algebraic.dfy.expect | 17 + Test/dafny0/ArrayElementInitCompile.dfy | 8 +- .../dafny0/ArrayElementInitCompile.dfy.expect | 76 +++ Test/dafny0/Bitvectors.dfy | 5 +- Test/dafny0/Bitvectors.dfy.expect | 49 ++ Test/dafny0/Constant.dfy | 3 +- Test/dafny0/Constant.dfy.expect | 2 + Test/dafny0/Deprecation.dfy | 3 +- Test/dafny0/Deprecation.dfy.expect | 7 + Test/dafny0/Deprecation.dfy.verifier.expect | 5 - Test/dafny0/DiscoverBounds.dfy | 3 +- Test/dafny0/DiscoverBounds.dfy.expect | 7 + .../dafny0/DiscoverBounds.dfy.verifier.expect | 5 - Test/dafny0/DividedConstructors.dfy | 3 +- Test/dafny0/DividedConstructors.dfy.expect | 3 + .../DividedConstructors.dfy.verifier.expect | 1 - Test/dafny0/EqualityTypesCompile.dfy | 3 +- Test/dafny0/EqualityTypesCompile.dfy.expect | 2 + Test/dafny0/ForallCompilationNewSyntax.dfy | 3 +- .../ForallCompilationNewSyntax.dfy.expect | 6 + ...llCompilationNewSyntax.dfy.verifier.expect | 4 - Test/dafny0/GhostGuards.dfy | 3 +- Test/dafny0/GhostGuards.dfy.expect | 7 + Test/dafny0/GhostGuards.dfy.verifier.expect | 5 - Test/dafny0/GhostITECompilation.dfy | 8 +- Test/dafny0/GhostITECompilation.dfy.expect | 28 + Test/dafny0/InitialValues.dfy | 3 +- Test/dafny0/InitialValues.dfy.expect | 2 + Test/dafny0/MatchBraces.dfy | 5 +- Test/dafny0/MatchBraces.dfy.expect | 8 + Test/dafny0/MoForallCompilation.dfy | 3 +- Test/dafny0/MoForallCompilation.dfy.expect | 2 + Test/dafny0/NameclashesCompile.dfy | 3 +- Test/dafny0/NameclashesCompile.dfy.expect | 2 + Test/dafny0/NonZeroInitializationCompile.dfy | 7 +- .../NonZeroInitializationCompile.dfy.expect | 73 +++ Test/dafny0/NullComparisonWarnings.dfy | 3 +- Test/dafny0/NullComparisonWarnings.dfy.expect | 13 + ...NullComparisonWarnings.dfy.verifier.expect | 11 - Test/dafny0/PrintUTF8.dfy | 3 +- Test/dafny0/PrintUTF8.dfy.expect | 2 + Test/dafny0/RangeCompilation.dfy | 3 +- Test/dafny0/RangeCompilation.dfy.expect | 2 + Test/dafny0/SeqFromArray.dfy | 3 +- Test/dafny0/SeqFromArray.dfy.expect | 2 + Test/dafny0/SharedDestructorsCompile.dfy | 5 +- .../SharedDestructorsCompile.dfy.expect | 17 + Test/dafny0/SiblingImports.dfy | 3 +- Test/dafny0/SiblingImports.dfy.expect | 2 + Test/dafny0/TypeConversionsCompile.dfy | 3 +- Test/dafny0/TypeConversionsCompile.dfy.expect | 2 + Test/dafny0/TypeMembers.dfy | 5 +- Test/dafny0/TypeMembers.dfy.expect | 29 + Test/dafny0/TypeMembers.dfy.verifier.expect | 1 - Test/dafny0/Wellfounded.dfy | 3 +- Test/dafny0/Wellfounded.dfy.expect | 4 + Test/dafny0/Wellfounded.dfy.verifier.expect | 2 - Test/dafny2/MinWindowMax.dfy | 3 +- Test/dafny2/MinWindowMax.dfy.expect | 2 + .../SmallestMissingNumber-functional.dfy | 3 +- ...mallestMissingNumber-functional.dfy.expect | 3 + ...ssingNumber-functional.dfy.verifier.expect | 1 - .../SmallestMissingNumber-imperative.dfy | 3 +- ...mallestMissingNumber-imperative.dfy.expect | 2 + Test/dafny2/StoreAndRetrieve.dfy | 7 +- Test/dafny2/StoreAndRetrieve.dfy.expect | 38 ++ .../StoreAndRetrieve.dfy.verifier.expect | 5 - Test/dafny2/Z-BirthdayBook.dfy | 3 +- Test/dafny2/Z-BirthdayBook.dfy.expect | 2 + Test/dafny2/pq-intrinsic-extrinsic.dfy | 5 +- Test/dafny2/pq-intrinsic-extrinsic.dfy.expect | 11 + Test/dafny3/Abstemious.dfy | 3 +- Test/dafny3/Abstemious.dfy.expect | 2 + Test/dafny3/CachedContainer.dfy | 7 +- Test/dafny3/CachedContainer.dfy.expect | 78 +++ .../CachedContainer.dfy.verifier.expect | 13 - Test/dafny3/Iter.dfy | 3 +- Test/dafny3/Iter.dfy.expect | 2 + Test/dafny4/Ackermann.dfy | 3 +- Test/dafny4/Ackermann.dfy.expect | 4 + Test/dafny4/Ackermann.dfy.verifier.expect | 2 - Test/dafny4/Bug107.dfy | 3 +- Test/dafny4/Bug107.dfy.expect | 2 + Test/dafny4/Bug108.dfy | 3 +- Test/dafny4/Bug108.dfy.expect | 2 + Test/dafny4/Bug113.dfy | 5 +- Test/dafny4/Bug113.dfy.expect | 2 + Test/dafny4/Bug116.dfy | 3 +- Test/dafny4/Bug116.dfy.expect | 2 + Test/dafny4/Bug140.dfy | 3 +- Test/dafny4/Bug140.dfy.expect | 2 + Test/dafny4/Bug148.dfy | 3 +- Test/dafny4/Bug148.dfy.expect | 2 + Test/dafny4/Bug49.dfy | 3 +- Test/dafny4/Bug49.dfy.expect | 2 + Test/dafny4/Bug60.dfy | 3 +- Test/dafny4/Bug60.dfy.expect | 2 + Test/dafny4/Bug67.dfy | 5 +- Test/dafny4/Bug67.dfy.expect | 2 + Test/dafny4/Bug68.dfy | 5 +- Test/dafny4/Bug68.dfy.expect | 2 + Test/dafny4/Bug89.dfy | 3 +- Test/dafny4/Bug89.dfy.expect | 2 + Test/dafny4/Bug94.dfy | 3 +- Test/dafny4/Bug94.dfy.expect | 2 + Test/dafny4/ClassRefinement.dfy | 7 +- Test/dafny4/ClassRefinement.dfy.expect | 43 ++ .../ClassRefinement.dfy.verifier.expect | 6 - Test/dafny4/ExpandedGuardedness.dfy | 3 +- Test/dafny4/ExpandedGuardedness.dfy.expect | 2 + Test/dafny4/FlyingRobots.dfy | 3 +- Test/dafny4/FlyingRobots.dfy.expect | 2 + Test/dafny4/Leq.dfy | 3 +- Test/dafny4/Leq.dfy.expect | 2 + Test/dafny4/McCarthy91.dfy | 3 +- Test/dafny4/McCarthy91.dfy.expect | 2 + Test/dafny4/NatList.dfy | 3 +- Test/dafny4/NatList.dfy.expect | 2 + Test/dafny4/Regression15.dfy | 3 +- Test/dafny4/Regression15.dfy.expect | 2 + Test/dafny4/Regression2.dfy | 3 +- Test/dafny4/Regression2.dfy.expect | 2 + Test/dafny4/Regression3.dfy | 3 +- Test/dafny4/Regression3.dfy.expect | 2 + Test/dafny4/Regression4.dfy | 3 +- Test/dafny4/Regression4.dfy.expect | 2 + Test/dafny4/Regression6.dfy | 3 +- Test/dafny4/Regression6.dfy.expect | 2 + Test/dafny4/Regression7.dfy | 3 +- Test/dafny4/Regression7.dfy.expect | 2 + Test/dafny4/Regression9.dfy | 3 +- Test/dafny4/Regression9.dfy.expect | 2 + Test/dafny4/UnionFind.dfy | 3 +- Test/dafny4/UnionFind.dfy.expect | 2 + Test/dafny4/gcd.dfy | 7 +- Test/dafny4/gcd.dfy.expect | 31 + Test/dafny4/git-issue104.dfy | 8 +- Test/dafny4/git-issue104.dfy.expect | 16 + Test/dafny4/git-issue105.dfy | 3 +- Test/dafny4/git-issue105.dfy.expect | 2 + Test/dafny4/git-issue15.dfy | 3 +- Test/dafny4/git-issue15.dfy.expect | 2 + Test/dafny4/git-issue167.dfy | 3 +- Test/dafny4/git-issue167.dfy.expect | 2 + Test/dafny4/git-issue195.dfy | 3 +- Test/dafny4/git-issue195.dfy.expect | 2 + Test/dafny4/git-issue196.dfy | 3 +- Test/dafny4/git-issue196.dfy.expect | 2 + Test/dafny4/git-issue4.dfy | 3 +- Test/dafny4/git-issue4.dfy.expect | 2 + Test/dafny4/git-issue43.dfy | 3 +- Test/dafny4/git-issue43.dfy.expect | 2 + Test/dafny4/git-issue70.dfy | 3 +- Test/dafny4/git-issue70.dfy.expect | 2 + Test/dafny4/git-issue76.dfy | 5 +- Test/dafny4/git-issue76.dfy.expect | 7 + Test/dafny4/git-issue79.dfy | 3 +- Test/dafny4/git-issue79.dfy.expect | 2 + Test/dafny4/git-issue88.dfy | 3 +- Test/dafny4/git-issue88.dfy.expect | 2 + Test/exceptions/Exceptions1.dfy | 3 +- Test/exceptions/Exceptions1.dfy.expect | 2 + Test/exceptions/Exceptions1Expressions.dfy | 3 +- .../Exceptions1Expressions.dfy.expect | 2 + Test/exports/FIFO.dfy | 3 +- Test/exports/FIFO.dfy.expect | 2 + Test/exports/LIFO.dfy | 3 +- Test/exports/LIFO.dfy.expect | 2 + Test/exports/xrefine2.dfy | 3 +- Test/exports/xrefine2.dfy.expect | 2 + Test/exports/xrefine3.dfy | 3 +- Test/exports/xrefine3.dfy.expect | 2 + Test/git-issues/git-issue-032.dfy | 7 +- Test/git-issues/git-issue-032.dfy.expect | 37 ++ .../git-issue-032.dfy.verifier.expect | 3 - Test/git-issues/git-issue-1029.dfy | 3 +- Test/git-issues/git-issue-1029.dfy.expect | 2 + Test/git-issues/git-issue-1093.dfy | 8 +- Test/git-issues/git-issue-1093.dfy.expect | 16 + Test/git-issues/git-issue-1100.dfy | 3 +- Test/git-issues/git-issue-1100.dfy.expect | 2 + Test/git-issues/git-issue-1130.dfy | 3 +- Test/git-issues/git-issue-1130.dfy.expect | 2 + Test/git-issues/git-issue-1150.dfy | 3 +- Test/git-issues/git-issue-1150.dfy.expect | 2 + Test/git-issues/git-issue-1185.dfy | 8 +- Test/git-issues/git-issue-1185.dfy.expect | 13 + .../git-issues/git-issue-1185.dfy.java.expect | 1 - Test/git-issues/git-issue-1514.dfy | 3 +- Test/git-issues/git-issue-1514.dfy.expect | 2 + Test/git-issues/git-issue-1514b.dfy | 3 +- Test/git-issues/git-issue-1514b.dfy.expect | 2 + Test/git-issues/git-issue-1514c.dfy | 5 +- Test/git-issues/git-issue-1514c.dfy.expect | 7 + Test/git-issues/git-issue-1553.dfy | 7 +- Test/git-issues/git-issue-1553.dfy.expect | 10 + Test/git-issues/git-issue-1604b.dfy | 3 +- Test/git-issues/git-issue-1604b.dfy.expect | 2 + Test/git-issues/git-issue-1714.dfy | 3 +- Test/git-issues/git-issue-1714.dfy.expect | 2 + Test/git-issues/git-issue-179.dfy | 8 +- Test/git-issues/git-issue-179.dfy.expect | 22 + Test/git-issues/git-issue-179.dfy.go.expect | 4 - Test/git-issues/git-issue-179.dfy.java.expect | 4 - Test/git-issues/git-issue-179.dfy.js.expect | 4 - Test/git-issues/git-issue-1815a.dfy | 8 +- Test/git-issues/git-issue-1815a.dfy.expect | 16 + Test/git-issues/git-issue-1852.dfy | 5 +- Test/git-issues/git-issue-1852.dfy.expect | 7 + Test/git-issues/git-issue-1903.dfy | 3 +- Test/git-issues/git-issue-1903.dfy.expect | 2 + Test/git-issues/git-issue-1909.dfy | 3 +- Test/git-issues/git-issue-1909.dfy.expect | 2 + Test/git-issues/git-issue-2013.dfy | 8 +- Test/git-issues/git-issue-2013.dfy.expect | 52 ++ Test/git-issues/git-issue-2441.dfy | 5 +- Test/git-issues/git-issue-2441.dfy.expect | 6 + Test/git-issues/git-issue-2510.dfy | 3 +- Test/git-issues/git-issue-2510.dfy.expect | 2 + Test/git-issues/git-issue-258.dfy | 8 +- Test/git-issues/git-issue-258.dfy.expect | 73 +++ Test/git-issues/git-issue-258.dfy.go.expect | 21 - Test/git-issues/git-issue-258.dfy.js.expect | 21 - Test/git-issues/git-issue-2608.dfy | 3 +- Test/git-issues/git-issue-2608.dfy.expect | 2 + Test/git-issues/git-issue-262.dfy | 7 +- Test/git-issues/git-issue-262.dfy.expect | 18 + Test/git-issues/git-issue-262.dfy.go.expect | 2 - Test/git-issues/git-issue-262.dfy.java.expect | 2 - Test/git-issues/git-issue-262.dfy.js.expect | 6 - Test/git-issues/git-issue-267.dfy | 7 +- Test/git-issues/git-issue-267.dfy.expect | 13 + Test/git-issues/git-issue-2672.dfy | 8 +- Test/git-issues/git-issue-2672.dfy.expect | 44 ++ Test/git-issues/git-issue-2726a.dfy | 3 +- Test/git-issues/git-issue-2726a.dfy.expect | 2 + Test/git-issues/git-issue-2733.dfy | 9 +- Test/git-issues/git-issue-2733.dfy.expect | 14 + Test/git-issues/git-issue-2792.dfy | 3 +- Test/git-issues/git-issue-2792.dfy.expect | 2 + Test/git-issues/git-issue-283.dfy | 7 +- Test/git-issues/git-issue-283.dfy.expect | 13 + Test/git-issues/git-issue-283d.dfy | 7 +- Test/git-issues/git-issue-283d.dfy.expect | 10 + Test/git-issues/git-issue-314.dfy | 7 +- Test/git-issues/git-issue-314.dfy.expect | 10 + Test/git-issues/git-issue-332.dfy | 3 +- Test/git-issues/git-issue-332.dfy.expect | 2 + Test/git-issues/git-issue-354.dfy | 7 +- Test/git-issues/git-issue-354.dfy.expect | 22 + Test/git-issues/git-issue-356.dfy | 8 +- Test/git-issues/git-issue-356.dfy.expect | 36 ++ Test/git-issues/git-issue-364.dfy | 3 +- Test/git-issues/git-issue-364.dfy.expect | 2 + Test/git-issues/git-issue-374.dfy | 7 +- Test/git-issues/git-issue-374.dfy.expect | 10 + Test/git-issues/git-issue-396.dfy | 6 +- Test/git-issues/git-issue-396.dfy.expect | 11 + Test/git-issues/git-issue-4007.dfy | 5 +- Test/git-issues/git-issue-4007.dfy.expect | 3 + .../git-issue-4007.dfy.verifier.expect | 1 - Test/git-issues/git-issue-4012.dfy | 5 +- Test/git-issues/git-issue-4012.dfy.expect | 2 + Test/git-issues/git-issue-425.dfy | 7 +- Test/git-issues/git-issue-425.dfy.expect | 16 + Test/git-issues/git-issue-443.dfy | 3 +- Test/git-issues/git-issue-443.dfy.expect | 2 + Test/git-issues/git-issue-446.dfy | 7 +- Test/git-issues/git-issue-446.dfy.expect | 19 + Test/git-issues/git-issue-446a.dfy | 7 +- Test/git-issues/git-issue-446a.dfy.expect | 19 + Test/git-issues/git-issue-446b.dfy | 7 +- Test/git-issues/git-issue-446b.dfy.expect | 25 + Test/git-issues/git-issue-478-good.dfy | 3 +- Test/git-issues/git-issue-478-good.dfy.expect | 2 + Test/git-issues/git-issue-506.dfy | 6 +- Test/git-issues/git-issue-506.dfy.expect | 26 + Test/git-issues/git-issue-532.dfy | 7 +- Test/git-issues/git-issue-532.dfy.expect | 19 + Test/git-issues/git-issue-549.dfy | 5 +- Test/git-issues/git-issue-549.dfy.expect | 8 + Test/git-issues/git-issue-622$f.dfy | 3 +- Test/git-issues/git-issue-622$f.dfy.expect | 2 + Test/git-issues/git-issue-633.dfy | 7 +- Test/git-issues/git-issue-633.dfy.expect | 10 + Test/git-issues/git-issue-684.dfy | 7 +- Test/git-issues/git-issue-684.dfy.expect | 10 + Test/git-issues/git-issue-686.dfy | 7 +- Test/git-issues/git-issue-686.dfy.expect | 23 + .../git-issue-686.dfy.verifier.expect | 2 - Test/git-issues/git-issue-697.dfy | 3 +- Test/git-issues/git-issue-697.dfy.expect | 2 + Test/git-issues/git-issue-697b.dfy | 3 +- Test/git-issues/git-issue-697b.dfy.expect | 2 + Test/git-issues/git-issue-697d.dfy | 3 +- Test/git-issues/git-issue-697d.dfy.expect | 2 + Test/git-issues/git-issue-697e.dfy | 3 +- Test/git-issues/git-issue-697e.dfy.expect | 2 + Test/git-issues/git-issue-697f.dfy | 3 +- Test/git-issues/git-issue-697f.dfy.expect | 2 + Test/git-issues/git-issue-697g.dfy | 3 +- Test/git-issues/git-issue-697g.dfy.expect | 2 + Test/git-issues/git-issue-698.dfy | 5 +- Test/git-issues/git-issue-698.dfy.expect | 7 + Test/git-issues/git-issue-698b.dfy | 5 +- Test/git-issues/git-issue-698b.dfy.expect | 2 + Test/git-issues/git-issue-701.dfy | 7 +- Test/git-issues/git-issue-701.dfy.expect | 19 + Test/git-issues/git-issue-705.dfy | 7 +- Test/git-issues/git-issue-705.dfy.expect | 13 + Test/git-issues/git-issue-731.dfy | 7 +- Test/git-issues/git-issue-731.dfy.expect | 16 + Test/git-issues/git-issue-731b.dfy | 7 +- Test/git-issues/git-issue-731b.dfy.expect | 13 + Test/git-issues/git-issue-755.dfy | 8 +- Test/git-issues/git-issue-755.dfy.expect | 31 + Test/git-issues/git-issue-755.dfy.go.expect | 7 - Test/git-issues/git-issue-755.dfy.java.expect | 7 - Test/git-issues/git-issue-755.dfy.js.expect | 7 - Test/git-issues/git-issue-784.dfy | 7 +- Test/git-issues/git-issue-784.dfy.expect | 10 + Test/git-issues/git-issue-953.dfy | 8 +- Test/git-issues/git-issue-953.dfy.expect | 36 ++ Test/git-issues/github-issue-3343.dfy | 3 +- Test/git-issues/github-issue-3343.dfy.expect | 2 + Test/hofs/Compilation.dfy | 3 +- Test/hofs/Compilation.dfy.expect | 2 + Test/hofs/Examples.dfy | 3 +- Test/hofs/Examples.dfy.expect | 2 + Test/hofs/Fold.dfy | 3 +- Test/hofs/Fold.dfy.expect | 2 + Test/hofs/Renaming.dfy | 3 +- Test/hofs/Renaming.dfy.expect | 2 + Test/hofs/Requires.dfy | 3 +- Test/hofs/Requires.dfy.expect | 2 + Test/hofs/TreeMapSimple.dfy | 3 +- Test/hofs/TreeMapSimple.dfy.expect | 2 + Test/hofs/VectorUpdate.dfy | 3 +- Test/hofs/VectorUpdate.dfy.expect | 2 + Test/hofs/WhileLoop.dfy | 3 +- Test/hofs/WhileLoop.dfy.expect | 2 + Test/metatests/OutputEncoding.dfy | 8 +- Test/metatests/OutputEncoding.dfy.expect | 16 + Test/patterns/OrPatterns.dfy | 3 +- Test/patterns/OrPatterns.dfy.expect | 2 + Test/patterns/PatternMatching.dfy | 5 +- Test/patterns/PatternMatching.dfy.expect | 3 + .../PatternMatching.dfy.verifier.expect | 1 - Test/traits/TraitCompile.dfy | 10 +- Test/traits/TraitCompile.dfy.expect | 256 ++++++++ Test/traits/TraitExample.dfy | 3 +- Test/traits/TraitExample.dfy.expect | 2 + Test/traits/Traits-Fields.dfy | 3 +- Test/traits/Traits-Fields.dfy.expect | 2 + Test/traits/TraitsMultipleInheritance.dfy | 3 +- .../TraitsMultipleInheritance.dfy.expect | 2 + Test/unicodechars/comp/Collections.dfy | 9 +- Test/unicodechars/comp/Collections.dfy.expect | 512 ++++++++++++++++ .../comp/Collections.dfy.go.expect | 125 ---- .../comp/Collections.dfy.java.expect | 125 ---- .../comp/Collections.dfy.js.expect | 125 ---- .../comp/Collections.dfy.py.expect | 125 ---- Test/unicodechars/comp/Comprehensions.dfy | 11 +- .../comp/Comprehensions.dfy.expect | 260 ++++++++ .../comp/Comprehensions.dfy.py.expect | 62 -- Test/unicodechars/comp/NativeNumbers.dfy | 9 +- .../comp/NativeNumbers.dfy.expect | 256 ++++++++ Test/unicodechars/comp/Numbers.dfy | 11 +- Test/unicodechars/comp/Numbers.dfy.expect | 456 ++++++++++++++ Test/unicodechars/comp/Numbers.dfy.go.expect | 111 ---- Test/unicodechars/comp/Numbers.dfy.py.expect | 111 ---- 507 files changed, 8926 insertions(+), 2286 deletions(-) delete mode 100644 Test/comp/Arrays.dfy.go.expect delete mode 100644 Test/comp/Collections.dfy.go.expect delete mode 100644 Test/comp/Collections.dfy.java.expect delete mode 100644 Test/comp/Collections.dfy.js.expect delete mode 100644 Test/comp/Collections.dfy.py.expect delete mode 100644 Test/comp/Comprehensions.dfy.py.expect delete mode 100644 Test/comp/ComprehensionsNewSyntax.dfy.py.expect delete mode 100644 Test/comp/Datatype.dfy.java.expect delete mode 100644 Test/comp/Datatype.dfy.py.expect delete mode 100644 Test/comp/Numbers.dfy.go.expect delete mode 100644 Test/comp/Numbers.dfy.py.expect delete mode 100644 Test/comp/Poly.dfy.go.expect delete mode 100644 Test/comp/Poly.dfy.py.expect delete mode 100644 Test/comp/Print.dfy.go.expect delete mode 100644 Test/comp/Print.dfy.java.expect delete mode 100644 Test/comp/Print.dfy.js.expect delete mode 100644 Test/comp/TypeParams.dfy.go.expect delete mode 100644 Test/comp/TypeParams.dfy.java.expect delete mode 100644 Test/comp/TypeParams.dfy.js.expect delete mode 100644 Test/comp/TypeParams.dfy.py.expect delete mode 100644 Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect delete mode 100644 Test/dafny0/Deprecation.dfy.verifier.expect delete mode 100644 Test/dafny0/DiscoverBounds.dfy.verifier.expect delete mode 100644 Test/dafny0/DividedConstructors.dfy.verifier.expect delete mode 100644 Test/dafny0/ForallCompilationNewSyntax.dfy.verifier.expect delete mode 100644 Test/dafny0/GhostGuards.dfy.verifier.expect delete mode 100644 Test/dafny0/NullComparisonWarnings.dfy.verifier.expect delete mode 100644 Test/dafny0/TypeMembers.dfy.verifier.expect delete mode 100644 Test/dafny0/Wellfounded.dfy.verifier.expect delete mode 100644 Test/dafny2/SmallestMissingNumber-functional.dfy.verifier.expect delete mode 100644 Test/dafny2/StoreAndRetrieve.dfy.verifier.expect delete mode 100644 Test/dafny3/CachedContainer.dfy.verifier.expect delete mode 100644 Test/dafny4/Ackermann.dfy.verifier.expect delete mode 100644 Test/dafny4/ClassRefinement.dfy.verifier.expect delete mode 100644 Test/git-issues/git-issue-032.dfy.verifier.expect delete mode 100644 Test/git-issues/git-issue-1185.dfy.java.expect delete mode 100644 Test/git-issues/git-issue-179.dfy.go.expect delete mode 100644 Test/git-issues/git-issue-179.dfy.java.expect delete mode 100644 Test/git-issues/git-issue-179.dfy.js.expect delete mode 100644 Test/git-issues/git-issue-258.dfy.go.expect delete mode 100644 Test/git-issues/git-issue-258.dfy.js.expect delete mode 100644 Test/git-issues/git-issue-262.dfy.go.expect delete mode 100644 Test/git-issues/git-issue-262.dfy.java.expect delete mode 100644 Test/git-issues/git-issue-262.dfy.js.expect delete mode 100644 Test/git-issues/git-issue-4007.dfy.verifier.expect delete mode 100644 Test/git-issues/git-issue-686.dfy.verifier.expect delete mode 100644 Test/git-issues/git-issue-755.dfy.go.expect delete mode 100644 Test/git-issues/git-issue-755.dfy.java.expect delete mode 100644 Test/git-issues/git-issue-755.dfy.js.expect delete mode 100644 Test/patterns/PatternMatching.dfy.verifier.expect delete mode 100644 Test/unicodechars/comp/Collections.dfy.go.expect delete mode 100644 Test/unicodechars/comp/Collections.dfy.java.expect delete mode 100644 Test/unicodechars/comp/Collections.dfy.js.expect delete mode 100644 Test/unicodechars/comp/Collections.dfy.py.expect delete mode 100644 Test/unicodechars/comp/Comprehensions.dfy.py.expect delete mode 100644 Test/unicodechars/comp/Numbers.dfy.go.expect delete mode 100644 Test/unicodechars/comp/Numbers.dfy.py.expect diff --git a/Test/VerifyThis2015/Problem1.dfy b/Test/VerifyThis2015/Problem1.dfy index ab227e1ab85..20bd154ab8d 100644 --- a/Test/VerifyThis2015/Problem1.dfy +++ b/Test/VerifyThis2015/Problem1.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Rustan Leino // 12 April 2015 diff --git a/Test/VerifyThis2015/Problem1.dfy.expect b/Test/VerifyThis2015/Problem1.dfy.expect index 9e8a46acf90..110dd45761d 100644 --- a/Test/VerifyThis2015/Problem1.dfy.expect +++ b/Test/VerifyThis2015/Problem1.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 18 verified, 0 errors true true false diff --git a/Test/VerifyThis2015/Problem2.dfy b/Test/VerifyThis2015/Problem2.dfy index 9b57395e68b..7466df6d410 100644 --- a/Test/VerifyThis2015/Problem2.dfy +++ b/Test/VerifyThis2015/Problem2.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Rustan Leino // 13 April 2015, and many subsequent enhancements and revisions diff --git a/Test/VerifyThis2015/Problem2.dfy.expect b/Test/VerifyThis2015/Problem2.dfy.expect index e69de29bb2d..b49c1470365 100644 --- a/Test/VerifyThis2015/Problem2.dfy.expect +++ b/Test/VerifyThis2015/Problem2.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 32 verified, 0 errors diff --git a/Test/VerifyThis2015/Problem3.dfy b/Test/VerifyThis2015/Problem3.dfy index 1348acf0f4d..3be60b5d81a 100644 --- a/Test/VerifyThis2015/Problem3.dfy +++ b/Test/VerifyThis2015/Problem3.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Rustan Leino // 12 April 2015 // VerifyThis 2015 diff --git a/Test/VerifyThis2015/Problem3.dfy.expect b/Test/VerifyThis2015/Problem3.dfy.expect index e69de29bb2d..4bb1c2c7251 100644 --- a/Test/VerifyThis2015/Problem3.dfy.expect +++ b/Test/VerifyThis2015/Problem3.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 18 verified, 0 errors diff --git a/Test/c++/arrays.dfy b/Test/c++/arrays.dfy index a02b57e5ff8..47140146468 100644 --- a/Test/c++/arrays.dfy +++ b/Test/c++/arrays.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/arrays.dfy.expect b/Test/c++/arrays.dfy.expect index 2ce9320d8c2..552f9355593 100644 --- a/Test/c++/arrays.dfy.expect +++ b/Test/c++/arrays.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 9 verified, 0 errors 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/c++/bit-vectors.dfy b/Test/c++/bit-vectors.dfy index d27469e4ca5..b7f5d35df07 100644 --- a/Test/c++/bit-vectors.dfy +++ b/Test/c++/bit-vectors.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint64 = i:int | 0 <= i < 0x10000000000000000 diff --git a/Test/c++/bit-vectors.dfy.expect b/Test/c++/bit-vectors.dfy.expect index c491236b12b..e327aa2f73b 100644 --- a/Test/c++/bit-vectors.dfy.expect +++ b/Test/c++/bit-vectors.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 6 verified, 0 errors 084841024 diff --git a/Test/c++/class.dfy b/Test/c++/class.dfy index b10d703c981..3039bd0466b 100644 --- a/Test/c++/class.dfy +++ b/Test/c++/class.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/class.dfy.expect b/Test/c++/class.dfy.expect index 80f1587d0a2..93717ecfa9e 100644 --- a/Test/c++/class.dfy.expect +++ b/Test/c++/class.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 16 verified, 0 errors true true false 103 102 102 106 105 105 203 17 0 18 8 9 69 70 diff --git a/Test/c++/const.dfy b/Test/c++/const.dfy index 1bfb79f0361..5ab9a62e0e9 100644 --- a/Test/c++/const.dfy +++ b/Test/c++/const.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" module Holder { const x:bool := false diff --git a/Test/c++/const.dfy.expect b/Test/c++/const.dfy.expect index e69de29bb2d..823a60a105c 100644 --- a/Test/c++/const.dfy.expect +++ b/Test/c++/const.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 1 verified, 0 errors diff --git a/Test/c++/datatypes.dfy b/Test/c++/datatypes.dfy index f56b7907cc3..9d077b97575 100644 --- a/Test/c++/datatypes.dfy +++ b/Test/c++/datatypes.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/datatypes.dfy.expect b/Test/c++/datatypes.dfy.expect index c122f5af791..efa71b43546 100644 --- a/Test/c++/datatypes.dfy.expect +++ b/Test/c++/datatypes.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 12 verified, 0 errors Case A: 42 Case B: true This is expected diff --git a/Test/c++/generic.dfy b/Test/c++/generic.dfy index 374c545b9c1..7995928f93f 100644 --- a/Test/c++/generic.dfy +++ b/Test/c++/generic.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" class Test { var t:T diff --git a/Test/c++/generic.dfy.expect b/Test/c++/generic.dfy.expect index e69de29bb2d..00a51f822da 100644 --- a/Test/c++/generic.dfy.expect +++ b/Test/c++/generic.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 3 verified, 0 errors diff --git a/Test/c++/hello.dfy b/Test/c++/hello.dfy index 523d3152209..c887337c7e1 100644 --- a/Test/c++/hello.dfy +++ b/Test/c++/hello.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { print "Hello world\n"; diff --git a/Test/c++/hello.dfy.expect b/Test/c++/hello.dfy.expect index 802992c4220..87101fec036 100644 --- a/Test/c++/hello.dfy.expect +++ b/Test/c++/hello.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 0 verified, 0 errors Hello world diff --git a/Test/c++/ints.dfy b/Test/c++/ints.dfy index 4490a54817a..cf7ae63e0da 100644 --- a/Test/c++/ints.dfy +++ b/Test/c++/ints.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype sbyte = i:int | -0x80 <= i < 0x80 newtype byte = i:int | 0 <= i < 0x100 diff --git a/Test/c++/ints.dfy.expect b/Test/c++/ints.dfy.expect index 5fcb7b811cb..aeabccf73b0 100644 --- a/Test/c++/ints.dfy.expect +++ b/Test/c++/ints.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 15 verified, 0 errors Result is z = 42 diff --git a/Test/c++/maps.dfy b/Test/c++/maps.dfy index b88ebd56ad5..951d34e96f1 100644 --- a/Test/c++/maps.dfy +++ b/Test/c++/maps.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/maps.dfy.expect b/Test/c++/maps.dfy.expect index 80642c23257..482aa604356 100644 --- a/Test/c++/maps.dfy.expect +++ b/Test/c++/maps.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 9 verified, 0 errors Identity: This is expected ValuesIdentity: This is expected KeyMembership: This is expected diff --git a/Test/c++/recursion.dfy b/Test/c++/recursion.dfy index 36048aab527..e255b8e6b08 100644 --- a/Test/c++/recursion.dfy +++ b/Test/c++/recursion.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/recursion.dfy.expect b/Test/c++/recursion.dfy.expect index 1ea14926e89..15dbfe2bcd1 100644 --- a/Test/c++/recursion.dfy.expect +++ b/Test/c++/recursion.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 5 verified, 0 errors x !y 3 diff --git a/Test/c++/returns.dfy b/Test/c++/returns.dfy index 9e23121d26a..1ad19a8ce83 100644 --- a/Test/c++/returns.dfy +++ b/Test/c++/returns.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint64 = i:int | 0 <= i < 0x10000000000000000 diff --git a/Test/c++/returns.dfy.expect b/Test/c++/returns.dfy.expect index 48082f72f08..8db105eaba8 100644 --- a/Test/c++/returns.dfy.expect +++ b/Test/c++/returns.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors 12 diff --git a/Test/c++/seqs.dfy b/Test/c++/seqs.dfy index 903208b07f8..f97a42b2851 100644 --- a/Test/c++/seqs.dfy +++ b/Test/c++/seqs.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint8 = i:int | 0 <= i < 0x100 newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/seqs.dfy.expect b/Test/c++/seqs.dfy.expect index 16f5f9d22ea..23f01695bc9 100644 --- a/Test/c++/seqs.dfy.expect +++ b/Test/c++/seqs.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 11 verified, 0 errors Head second:2 Trunc first:2 Head trunc: This is expected diff --git a/Test/c++/sets.dfy b/Test/c++/sets.dfy index 10e2fe0501d..5bfb6f80f1e 100644 --- a/Test/c++/sets.dfy +++ b/Test/c++/sets.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/sets.dfy.expect b/Test/c++/sets.dfy.expect index 52a1e67717e..1c8ede8765e 100644 --- a/Test/c++/sets.dfy.expect +++ b/Test/c++/sets.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 8 verified, 0 errors Identity: This is expected ValuesIdentity: This is expected DiffIdentity: This is expected diff --git a/Test/c++/while.dfy b/Test/c++/while.dfy index 0c0d7ee98df..40dc4699d11 100644 --- a/Test/c++/while.dfy +++ b/Test/c++/while.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/while.dfy.expect b/Test/c++/while.dfy.expect index 9a44de1e2a3..8dfe872ca51 100644 --- a/Test/c++/while.dfy.expect +++ b/Test/c++/while.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 2 verified, 0 errors 0 1 2 diff --git a/Test/comp/Arrays.dfy b/Test/comp/Arrays.dfy index acb4225b358..566f052e0a6 100644 --- a/Test/comp/Arrays.dfy +++ b/Test/comp/Arrays.dfy @@ -1,5 +1,10 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false +// RUN: %baredafny verify %args --relax-definite-assignment "%s" > "%t" +// RUN: %baredafny run --unicode-char:false --no-verify --target=cs %args "%s" >> "%t" +// RUN: %baredafny run --unicode-char:false --no-verify --target=js %args "%s" >> "%t" +// RUN: %baredafny run --unicode-char:false --no-verify --target=go %args "%s" >> "%t" +// RUN: %baredafny run --unicode-char:false --no-verify --target=java %args "%s" >> "%t" +// RUN: %baredafny run --unicode-char:false --no-verify --target=py %args "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method LinearSearch(a: array, key: int) returns (n: nat) ensures 0 <= n <= a.Length diff --git a/Test/comp/Arrays.dfy.expect b/Test/comp/Arrays.dfy.expect index ef3b884f98a..8559e2f3c5c 100644 --- a/Test/comp/Arrays.dfy.expect +++ b/Test/comp/Arrays.dfy.expect @@ -1,3 +1,399 @@ + +Dafny program verifier finished with 89 verified, 0 errors + +Dafny program verifier did not attempt verification +0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 +17 +[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] +[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] +[20, 21, 22] +[0, 1, 2, 3, 4, 5, 6, 7] +[0, 1, 2, 3, 4, 5, 6, 7] +d d d +h e l l o +0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 +1 0 0 0 0 +0 1 0 0 0 +0 0 1 0 0 +cube dims: 3 0 4 +[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] +It's null +hi hello tjena hej hola +hi hello tjena hej hola +hi hello tjena hej hola +d d d +h e l l o +8 8 8 8 +true true true +1 1 1 1 1 +2 2 2 2 2 +3 3 3 3 3 +4 4 4 4 4 +(d, 8, true, 1, 2, 3, 4) +D D D +0 0 0 0 +false false false +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +(D, 0, false, 0, 0, 0, 0) +8 0 +false 0 null null +8 8 +8 8 +8 8 +8 8 +D D D +D D D +D D D +D D r (D, D, r) +D D r +[19, 18, 9, 8] + true + false + true + false + false + false + true + true + false + true + false + true + true + false +hello there +false false +true true +false false +false false +uninitialized bytes: array[0, 0, 0] +bytes from display: array[7, 8, 9] +bytes from lambda: array[20, 21, 22] +uninitialized 1bytes: array[1, 1, 1] +1bytes from display: array[7, 8, 9] +1bytes from lambda: array[20, 21, 22] +17 19 18 20 +100 200 300 120 38 +hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +DDDDDabcdeabcdeggggg +DDDDDabcdeabcdeggggg +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] +DDDDDDDDDDagggggaggg +0 69 50 +0 69 50 +D k n +false false +true true +false false +false false +true true + +Dafny program verifier did not attempt verification +0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 +17 +[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] +[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] +[20, 21, 22] +[0, 1, 2, 3, 4, 5, 6, 7] +[0, 1, 2, 3, 4, 5, 6, 7] +d d d +h e l l o +0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 +1 0 0 0 0 +0 1 0 0 0 +0 0 1 0 0 +cube dims: 3 0 4 +[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] +It's null +hi hello tjena hej hola +hi hello tjena hej hola +hi hello tjena hej hola +d d d +h e l l o +8 8 8 8 +true true true +1 1 1 1 1 +2 2 2 2 2 +3 3 3 3 3 +4 4 4 4 4 +(d, 8, true, 1, 2, 3, 4) +D D D +0 0 0 0 +false false false +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +(D, 0, false, 0, 0, 0, 0) +8 0 +false 0 null null +8 8 +8 8 +8 8 +8 8 +D D D +D D D +D D D +D D r (D, D, r) +D D r +[19, 18, 9, 8] + true + false + true + false + false + false + true + true + false + true + false + true + true + false +hello there +false false +true true +false false +false false +uninitialized bytes: array[0, 0, 0] +bytes from display: array[7, 8, 9] +bytes from lambda: array[20, 21, 22] +uninitialized 1bytes: array[1, 1, 1] +1bytes from display: array[7, 8, 9] +1bytes from lambda: array[20, 21, 22] +17 19 18 20 +100 200 300 120 38 +hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +DDDDDabcdeabcdeggggg +DDDDDabcdeabcdeggggg +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] +DDDDDDDDDDagggggaggg +0 69 50 +0 69 50 +D k n +false false +true true +false false +false false +true true + +Dafny program verifier did not attempt verification +0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 +17 +[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] +[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] +[20, 21, 22] +[0, 1, 2, 3, 4, 5, 6, 7] +[0, 1, 2, 3, 4, 5, 6, 7] +d d d +h e l l o +0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 +1 0 0 0 0 +0 1 0 0 0 +0 0 1 0 0 +cube dims: 3 0 4 +[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] +It's null +hi hello tjena hej hola +hi hello tjena hej hola +hi hello tjena hej hola +d d d +h e l l o +8 8 8 8 +true true true +1 1 1 1 1 +2 2 2 2 2 +3 3 3 3 3 +4 4 4 4 4 +(d, 8, true, 1, 2, 3, 4) +D D D +0 0 0 0 +false false false +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +(D, 0, false, 0, 0, 0, 0) +8 0 +false 0 null null +8 8 +8 8 +8 8 +8 8 +D D D +D D D +D D D +D D r (D, D, r) +D D r +[19, 18, 9, 8] + true + false + true + false + false + false + true + true + false + true + false + true + true + false +hello there +false false +true true +false false +false false +uninitialized bytes: array[0, 0, 0] +bytes from display: array[7, 8, 9] +bytes from lambda: array[20, 21, 22] +uninitialized 1bytes: array[1, 1, 1] +1bytes from display: array[7, 8, 9] +1bytes from lambda: array[20, 21, 22] +17 19 18 20 +100 200 300 120 38 +hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +DDDDDabcdeabcdeggggg +DDDDDabcdeabcdeggggg +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] +[D, D, D, D, D, D, D, D, D, D, a, g, g, g, g, g, a, g, g, g] +0 69 50 +0 69 50 +D k n +false false +true true +false false +false false +true true + +Dafny program verifier did not attempt verification +0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 +17 +[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] +[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] +[20, 21, 22] +[0, 1, 2, 3, 4, 5, 6, 7] +[0, 1, 2, 3, 4, 5, 6, 7] +d d d +h e l l o +0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 +1 0 0 0 0 +0 1 0 0 0 +0 0 1 0 0 +cube dims: 3 0 4 +[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] +It's null +hi hello tjena hej hola +hi hello tjena hej hola +hi hello tjena hej hola +d d d +h e l l o +8 8 8 8 +true true true +1 1 1 1 1 +2 2 2 2 2 +3 3 3 3 3 +4 4 4 4 4 +(d, 8, true, 1, 2, 3, 4) +D D D +0 0 0 0 +false false false +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +(D, 0, false, 0, 0, 0, 0) +8 0 +false 0 null null +8 8 +8 8 +8 8 +8 8 +D D D +D D D +D D D +D D r (D, D, r) +D D r +[19, 18, 9, 8] + true + false + true + false + false + false + true + true + false + true + false + true + true + false +hello there +false false +true true +false false +false false +uninitialized bytes: array[0, 0, 0] +bytes from display: array[7, 8, 9] +bytes from lambda: array[20, 21, 22] +uninitialized 1bytes: array[1, 1, 1] +1bytes from display: array[7, 8, 9] +1bytes from lambda: array[20, 21, 22] +17 19 18 20 +100 200 300 120 38 +hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +DDDDDabcdeabcdeggggg +DDDDDabcdeabcdeggggg +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] +DDDDDDDDDDagggggaggg +0 69 50 +0 69 50 +D k n +false false +true true +false false +false false +true true + +Dafny program verifier did not attempt verification 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/comp/Arrays.dfy.go.expect b/Test/comp/Arrays.dfy.go.expect deleted file mode 100644 index 1217623d90c..00000000000 --- a/Test/comp/Arrays.dfy.go.expect +++ /dev/null @@ -1,96 +0,0 @@ -0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 -17 -[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] -[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] -[20, 21, 22] -[0, 1, 2, 3, 4, 5, 6, 7] -[0, 1, 2, 3, 4, 5, 6, 7] -d d d -h e l l o -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -1 0 0 0 0 -0 1 0 0 0 -0 0 1 0 0 -cube dims: 3 0 4 -[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] -It's null -hi hello tjena hej hola -hi hello tjena hej hola -hi hello tjena hej hola -d d d -h e l l o -8 8 8 8 -true true true -1 1 1 1 1 -2 2 2 2 2 -3 3 3 3 3 -4 4 4 4 4 -(d, 8, true, 1, 2, 3, 4) -D D D -0 0 0 0 -false false false -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -(D, 0, false, 0, 0, 0, 0) -8 0 -false 0 null null -8 8 -8 8 -8 8 -8 8 -D D D -D D D -D D D -D D r (D, D, r) -D D r -[19, 18, 9, 8] - true - false - true - false - false - false - true - true - false - true - false - true - true - false -hello there -false false -true true -false false -false false -uninitialized bytes: array[0, 0, 0] -bytes from display: array[7, 8, 9] -bytes from lambda: array[20, 21, 22] -uninitialized 1bytes: array[1, 1, 1] -1bytes from display: array[7, 8, 9] -1bytes from lambda: array[20, 21, 22] -17 19 18 20 -100 200 300 120 38 -hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -DDDDDabcdeabcdeggggg -DDDDDabcdeabcdeggggg -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] -[D, D, D, D, D, D, D, D, D, D, a, g, g, g, g, g, a, g, g, g] -0 69 50 -0 69 50 -D k n -false false -true true -false false -false false -true true diff --git a/Test/comp/AsIs-Compile.dfy b/Test/comp/AsIs-Compile.dfy index 319847564e2..47084ed7633 100644 --- a/Test/comp/AsIs-Compile.dfy +++ b/Test/comp/AsIs-Compile.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" +// RUN: %baredafny verify %args "%s" > "%t" +// RUN: %baredafny run --no-verify -t=cs %args "%s" >> "%t" +// RUN: %baredafny run --no-verify -t=js %args "%s" >> "%t" +// RUN: %baredafny run --no-verify -t=go %args "%s" >> "%t" +// RUN: %baredafny run --no-verify -t=java %args "%s" >> "%t" +// RUN: %baredafny run --no-verify -t=py %args "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var a: A, b: B, c: C, k: K, l: L := new M, new M, new M, new K, new L; diff --git a/Test/comp/AsIs-Compile.dfy.expect b/Test/comp/AsIs-Compile.dfy.expect index acc78c6e155..36dfe46e91d 100644 --- a/Test/comp/AsIs-Compile.dfy.expect +++ b/Test/comp/AsIs-Compile.dfy.expect @@ -1,3 +1,163 @@ + +Dafny program verifier finished with 6 verified, 0 errors + +Dafny program verifier did not attempt verification +true true true true true +true true true true true +IsComparisons ---- +false true false false + true false false + true false +false false true false + false true false + false false +false false false true + false false true + false true +false true false false + false true false + false false +true true +false true +TestNullIs ---- +true true +true true +true true true true true true +true true true true true true +true true true true true true +true true true true true true +true true +false true +true true true true true true +false true false true false true +true true true true true true +false true false true false true +TestFromTraits ---- +5 +0 +4 +4 +4 +4 + +Dafny program verifier did not attempt verification +true true true true true +true true true true true +IsComparisons ---- +false true false false + true false false + true false +false false true false + false true false + false false +false false false true + false false true + false true +false true false false + false true false + false false +true true +false true +TestNullIs ---- +true true +true true +true true true true true true +true true true true true true +true true true true true true +true true true true true true +true true +false true +true true true true true true +false true false true false true +true true true true true true +false true false true false true +TestFromTraits ---- +5 +0 +4 +4 +4 +4 + +Dafny program verifier did not attempt verification +true true true true true +true true true true true +IsComparisons ---- +false true false false + true false false + true false +false false true false + false true false + false false +false false false true + false false true + false true +false true false false + false true false + false false +true true +false true +TestNullIs ---- +true true +true true +true true true true true true +true true true true true true +true true true true true true +true true true true true true +true true +false true +true true true true true true +false true false true false true +true true true true true true +false true false true false true +TestFromTraits ---- +5 +0 +4 +4 +4 +4 + +Dafny program verifier did not attempt verification +true true true true true +true true true true true +IsComparisons ---- +false true false false + true false false + true false +false false true false + false true false + false false +false false false true + false false true + false true +false true false false + false true false + false false +true true +false true +TestNullIs ---- +true true +true true +true true true true true true +true true true true true true +true true true true true true +true true true true true true +true true +false true +true true true true true true +false true false true false true +true true true true true true +false true false true false true +TestFromTraits ---- +5 +0 +4 +4 +4 +4 + +Dafny program verifier did not attempt verification true true true true true true true true true true IsComparisons ---- diff --git a/Test/comp/AutoInit.dfy b/Test/comp/AutoInit.dfy index c0e752efa36..b284619a80c 100644 --- a/Test/comp/AutoInit.dfy +++ b/Test/comp/AutoInit.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // This file tests the compilation of some default values. It also includes some // regression tests for equality, printing, and tuples. diff --git a/Test/comp/AutoInit.dfy.expect b/Test/comp/AutoInit.dfy.expect index e68e2e43764..51533cc6d5e 100644 --- a/Test/comp/AutoInit.dfy.expect +++ b/Test/comp/AutoInit.dfy.expect @@ -1,3 +1,163 @@ + +Dafny program verifier finished with 21 verified, 0 errors + +Dafny program verifier did not attempt verification +3 false 0 +false false true +() (0, false, false, []) +(null, 0) (null, 0) true +(null, null, null, 0) (null, null, null, 0) true +true false false true +true false false true +17 +1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or +(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) +1 +ww == null -- yes, as expected +true true true true +true true true +true true true +null null +null null +null null null +null null null +null null null +null null null +null null +null null null +null null null +DatatypeDefaultValues.EnumDatatype.MakeZero + DatatypeDefaultValues.IntList.Nil + 0 +DatatypeDefaultValues.GenericTree.Leaf + DatatypeDefaultValues.Complicated.ComplA(0, false) + DatatypeDefaultValues.CellCell.MakeCellCell(0) +null + null +Library.Color.Red(0) and Library.Color.Red(0) +Library.CoColor.Yellow and Library.CoColor.Yellow +Library.MoColor.MoYellow and Library.MoColor.MoYellow +0.0 and 0.0 +13 + +Dafny program verifier did not attempt verification +3 false 0 +false false true +() (0, false, false, []) +(null, 0) (null, 0) true +(null, null, null, 0) (null, null, null, 0) true +true false false true +true false false true +17 +1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or +(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) +1 +ww == null -- yes, as expected +true true true true +true true true +true true true +null null +null null +null null null +null null null +null null null +null null null +null null +null null null +null null null +DatatypeDefaultValues.EnumDatatype.MakeZero + DatatypeDefaultValues.IntList.Nil + 0 +DatatypeDefaultValues.GenericTree.Leaf + DatatypeDefaultValues.Complicated.ComplA(0, false) + DatatypeDefaultValues.CellCell.MakeCellCell(0) +null + null +Library.Color.Red(0) and Library.Color.Red(0) +Library.CoColor.Yellow and Library.CoColor.Yellow +Library.MoColor.MoYellow and Library.MoColor.MoYellow +0.0 and 0.0 +13 + +Dafny program verifier did not attempt verification +3 false 0 +false false true +() (0, false, false, []) +(null, 0) (null, 0) true +(null, null, null, 0) (null, null, null, 0) true +true false false true +true false false true +17 +1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or +(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) +1 +ww == null -- yes, as expected +true true true true +true true true +true true true +null null +null null +null null null +null null null +null null null +null null null +null null +null null null +null null null +DatatypeDefaultValues.EnumDatatype.MakeZero + DatatypeDefaultValues.IntList.Nil + 0 +DatatypeDefaultValues.GenericTree.Leaf + DatatypeDefaultValues.Complicated.ComplA(0, false) + DatatypeDefaultValues.CellCell.MakeCellCell(0) +null + null +Library.Color.Red(0) and Library.Color.Red(0) +Library.CoColor.Yellow and Library.CoColor.Yellow +Library.MoColor.MoYellow and Library.MoColor.MoYellow +0.0 and 0.0 +13 + +Dafny program verifier did not attempt verification +3 false 0 +false false true +() (0, false, false, []) +(null, 0) (null, 0) true +(null, null, null, 0) (null, null, null, 0) true +true false false true +true false false true +17 +1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or +(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) +1 +ww == null -- yes, as expected +true true true true +true true true +true true true +null null +null null +null null null +null null null +null null null +null null null +null null +null null null +null null null +DatatypeDefaultValues.EnumDatatype.MakeZero + DatatypeDefaultValues.IntList.Nil + 0 +DatatypeDefaultValues.GenericTree.Leaf + DatatypeDefaultValues.Complicated.ComplA(0, false) + DatatypeDefaultValues.CellCell.MakeCellCell(0) +null + null +Library.Color.Red(0) and Library.Color.Red(0) +Library.CoColor.Yellow and Library.CoColor.Yellow +Library.MoColor.MoYellow and Library.MoColor.MoYellow +0.0 and 0.0 +13 + +Dafny program verifier did not attempt verification 3 false 0 false false true () (0, false, false, []) diff --git a/Test/comp/ByMethodCompilation.dfy b/Test/comp/ByMethodCompilation.dfy index 7432f72f7d4..ea62d84b21e 100644 --- a/Test/comp/ByMethodCompilation.dfy +++ b/Test/comp/ByMethodCompilation.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var four := Four(); diff --git a/Test/comp/ByMethodCompilation.dfy.expect b/Test/comp/ByMethodCompilation.dfy.expect index d61780e3fb8..1519a955b0c 100644 --- a/Test/comp/ByMethodCompilation.dfy.expect +++ b/Test/comp/ByMethodCompilation.dfy.expect @@ -1,3 +1,35 @@ + +Dafny program verifier finished with 13 verified, 0 errors + +Dafny program verifier did not attempt verification +hello +four is 4 +Recursive(7) = 14 +NonCompilableFunction: 4 7 +Sums: 14 3 + +Dafny program verifier did not attempt verification +hello +four is 4 +Recursive(7) = 14 +NonCompilableFunction: 4 7 +Sums: 14 3 + +Dafny program verifier did not attempt verification +hello +four is 4 +Recursive(7) = 14 +NonCompilableFunction: 4 7 +Sums: 14 3 + +Dafny program verifier did not attempt verification +hello +four is 4 +Recursive(7) = 14 +NonCompilableFunction: 4 7 +Sums: 14 3 + +Dafny program verifier did not attempt verification hello four is 4 Recursive(7) = 14 diff --git a/Test/comp/Calls.dfy b/Test/comp/Calls.dfy index c56bc3e5286..4a4916aea0c 100644 --- a/Test/comp/Calls.dfy +++ b/Test/comp/Calls.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" function F(x: int, y: bool): int { x + if y then 2 else 3 diff --git a/Test/comp/Calls.dfy.expect b/Test/comp/Calls.dfy.expect index cf4e1bc155b..3317b8be164 100644 --- a/Test/comp/Calls.dfy.expect +++ b/Test/comp/Calls.dfy.expect @@ -1,3 +1,43 @@ + +Dafny program verifier finished with 6 verified, 0 errors + +Dafny program verifier did not attempt verification +5 0 0 false 0 false 0 +5 3 5 3 5 3 +5 3 5 3 5 3 +15 +[0, 1, 2, 4] +[0, 2, 4] +--> 5 <-- + +Dafny program verifier did not attempt verification +5 0 0 false 0 false 0 +5 3 5 3 5 3 +5 3 5 3 5 3 +15 +[0, 1, 2, 4] +[0, 2, 4] +--> 5 <-- + +Dafny program verifier did not attempt verification +5 0 0 false 0 false 0 +5 3 5 3 5 3 +5 3 5 3 5 3 +15 +[0, 1, 2, 4] +[0, 2, 4] +--> 5 <-- + +Dafny program verifier did not attempt verification +5 0 0 false 0 false 0 +5 3 5 3 5 3 +5 3 5 3 5 3 +15 +[0, 1, 2, 4] +[0, 2, 4] +--> 5 <-- + +Dafny program verifier did not attempt verification 5 0 0 false 0 false 0 5 3 5 3 5 3 5 3 5 3 5 3 diff --git a/Test/comp/Class.dfy b/Test/comp/Class.dfy index 23591e43450..fb994f008e7 100644 --- a/Test/comp/Class.dfy +++ b/Test/comp/Class.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" class MyClass { var a: int diff --git a/Test/comp/Class.dfy.expect b/Test/comp/Class.dfy.expect index 47e49966664..ba1482a164b 100644 --- a/Test/comp/Class.dfy.expect +++ b/Test/comp/Class.dfy.expect @@ -1,3 +1,75 @@ + +Dafny program verifier finished with 16 verified, 0 errors + +Dafny program verifier did not attempt verification +true true false +103 103 103 106 106 106 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +0 18 9 70 +0 18 9 70 +0 18 9 70 +70 +hi later +21 4 42 5 1 +TestGhostables +15 +Init called with x=15 +16 + +Dafny program verifier did not attempt verification +true true false +103 103 103 106 106 106 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +0 18 9 70 +0 18 9 70 +0 18 9 70 +70 +hi later +21 4 42 5 1 +TestGhostables +15 +Init called with x=15 +16 + +Dafny program verifier did not attempt verification +true true false +103 103 103 106 106 106 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +0 18 9 70 +0 18 9 70 +0 18 9 70 +70 +hi later +21 4 42 5 1 +TestGhostables +15 +Init called with x=15 +16 + +Dafny program verifier did not attempt verification +true true false +103 103 103 106 106 106 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +0 18 9 70 +0 18 9 70 +0 18 9 70 +70 +hi later +21 4 42 5 1 +TestGhostables +15 +Init called with x=15 +16 + +Dafny program verifier did not attempt verification true true false 103 103 103 106 106 106 203 17 0 18 8 9 69 70 diff --git a/Test/comp/Collections.dfy b/Test/comp/Collections.dfy index 9457e44b170..104eb9f90ac 100644 --- a/Test/comp/Collections.dfy +++ b/Test/comp/Collections.dfy @@ -1,5 +1,10 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { Sets(); diff --git a/Test/comp/Collections.dfy.expect b/Test/comp/Collections.dfy.expect index e705d887a7d..2361c1a88db 100644 --- a/Test/comp/Collections.dfy.expect +++ b/Test/comp/Collections.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 40 verified, 0 errors + +Dafny program verifier did not attempt verification Sets: {} {17, 82} {12, 17} cardinality: 0 2 2 union: {17, 82} {12, 17, 82} @@ -123,3 +127,511 @@ Multiset=== 1 3 |s|=2 |u|=4 1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Yellow := 21, Color.Blue := 30] +keys: {Color.Yellow, Color.Blue} +values: {21, 30} +items: {(Color.Yellow, 21), (Color.Blue, 30)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {21, 30} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/comp/Collections.dfy.go.expect b/Test/comp/Collections.dfy.go.expect deleted file mode 100644 index 309d0c550c4..00000000000 --- a/Test/comp/Collections.dfy.go.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/comp/Collections.dfy.java.expect b/Test/comp/Collections.dfy.java.expect deleted file mode 100644 index ed929a4d34c..00000000000 --- a/Test/comp/Collections.dfy.java.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Yellow := 21, Color.Blue := 30] -keys: {Color.Yellow, Color.Blue} -values: {21, 30} -items: {(Color.Yellow, 21), (Color.Blue, 30)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/comp/Collections.dfy.js.expect b/Test/comp/Collections.dfy.js.expect deleted file mode 100644 index 309d0c550c4..00000000000 --- a/Test/comp/Collections.dfy.js.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/comp/Collections.dfy.py.expect b/Test/comp/Collections.dfy.py.expect deleted file mode 100644 index 61b4217bbaf..00000000000 --- a/Test/comp/Collections.dfy.py.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {21, 30} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/comp/Comprehensions.dfy b/Test/comp/Comprehensions.dfy index 73c43b22bfa..29ac368f2c3 100644 --- a/Test/comp/Comprehensions.dfy +++ b/Test/comp/Comprehensions.dfy @@ -1,5 +1,10 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { AssignSuchThat(); diff --git a/Test/comp/Comprehensions.dfy.expect b/Test/comp/Comprehensions.dfy.expect index c9703fc9397..18159ddde0a 100644 --- a/Test/comp/Comprehensions.dfy.expect +++ b/Test/comp/Comprehensions.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 32 verified, 0 errors + +Dafny program verifier did not attempt verification x=13 y=14 x=13 y=14 b=yes true false @@ -60,3 +64,259 @@ true true [137438953474, 137438953475, 137438953476, 137438953477, 137438953479] cdefh cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[14 := 7, 12 := 6, 13 := 6] +map[18 := 14, 17 := 13, 16 := 12] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh diff --git a/Test/comp/Comprehensions.dfy.py.expect b/Test/comp/Comprehensions.dfy.py.expect deleted file mode 100644 index aeaa31fc0f3..00000000000 --- a/Test/comp/Comprehensions.dfy.py.expect +++ /dev/null @@ -1,62 +0,0 @@ -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[14 := 7, 12 := 6, 13 := 6] -map[18 := 14, 17 := 13, 16 := 12] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh diff --git a/Test/comp/ComprehensionsNewSyntax.dfy b/Test/comp/ComprehensionsNewSyntax.dfy index 6cd88aeb4f7..a324b622e8a 100644 --- a/Test/comp/ComprehensionsNewSyntax.dfy +++ b/Test/comp/ComprehensionsNewSyntax.dfy @@ -1,5 +1,10 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { Quantifier(); diff --git a/Test/comp/ComprehensionsNewSyntax.dfy.expect b/Test/comp/ComprehensionsNewSyntax.dfy.expect index b70314ff87b..408769f4b67 100644 --- a/Test/comp/ComprehensionsNewSyntax.dfy.expect +++ b/Test/comp/ComprehensionsNewSyntax.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 10 verified, 0 errors + +Dafny program verifier did not attempt verification true false true false map[12 := 6, 13 := 6, 14 := 7] @@ -32,3 +36,147 @@ false false false false true true true true false false false false true true true true + +Dafny program verifier did not attempt verification +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true + +Dafny program verifier did not attempt verification +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true + +Dafny program verifier did not attempt verification +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true + +Dafny program verifier did not attempt verification +true false +true false +map[14 := 7, 12 := 6, 13 := 6] +map[18 := 14, 17 := 13, 16 := 12] +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true diff --git a/Test/comp/ComprehensionsNewSyntax.dfy.py.expect b/Test/comp/ComprehensionsNewSyntax.dfy.py.expect deleted file mode 100644 index b19cef0ba0e..00000000000 --- a/Test/comp/ComprehensionsNewSyntax.dfy.py.expect +++ /dev/null @@ -1,34 +0,0 @@ -true false -true false -map[14 := 7, 12 := 6, 13 := 6] -map[18 := 14, 17 := 13, 16 := 12] -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true diff --git a/Test/comp/CovariantCollections.dfy b/Test/comp/CovariantCollections.dfy index 6dd73ee7fea..12301df3b09 100644 --- a/Test/comp/CovariantCollections.dfy +++ b/Test/comp/CovariantCollections.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { Sequences(); diff --git a/Test/comp/CovariantCollections.dfy.expect b/Test/comp/CovariantCollections.dfy.expect index a9d00f4a65d..e029d3abc3b 100644 --- a/Test/comp/CovariantCollections.dfy.expect +++ b/Test/comp/CovariantCollections.dfy.expect @@ -1,3 +1,223 @@ + +Dafny program verifier finished with 25 verified, 0 errors + +Dafny program verifier did not attempt verification +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17] [12, 17] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + comprehension: {82} + union: {17, 82} {12, 17, 82} + intersection: {} {17} + difference: {} {82} + subset: true false true + proper subset: true false false + membership: false true true +Multisets: {} {17, 17, 82, 82} {12, 17} + cardinality: 0 4 2 + update: {17, 17, 42, 42, 42} {12, 17, 42} + multiplicity: 2 0 20 + union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} + intersection: {} {17, 82, 82} + difference: {} {17, 82, 82} + subset: true false true + proper subset: true false false + membership: false true true +Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} + cardinality: 0 3 2 + update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} + comprehension: {17 := 12, 82 := 12} + Keys: {12, 17, 82} + Values: {17, 82} + eq: false true true + eq: true true true true true true + eq: true true true true true true + eq: true false true false true false + eq: true false true false true false + eq: true true true true true true + eq: true true true true true true +set: {20, 30} +multiset: {20, 30} +seq: [20, 30] +map: {20 := 30, 30 := 20} +true +true +1 1 +1 1 + +Dafny program verifier did not attempt verification +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17] [12, 17] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + comprehension: {82} + union: {17, 82} {12, 17, 82} + intersection: {} {17} + difference: {} {82} + subset: true false true + proper subset: true false false + membership: false true true +Multisets: {} {17, 17, 82, 82} {12, 17} + cardinality: 0 4 2 + update: {17, 17, 42, 42, 42} {12, 17, 42} + multiplicity: 2 0 20 + union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} + intersection: {} {17, 82, 82} + difference: {} {17, 82, 82} + subset: true false true + proper subset: true false false + membership: false true true +Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} + cardinality: 0 3 2 + update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} + comprehension: {17 := 12, 82 := 12} + Keys: {12, 17, 82} + Values: {17, 82} + eq: false true true + eq: true true true true true true + eq: true true true true true true + eq: true false true false true false + eq: true false true false true false + eq: true true true true true true + eq: true true true true true true +set: {20, 30} +multiset: {20, 30} +seq: [20, 30] +map: {20 := 30, 30 := 20} +true +true +1 1 +1 1 + +Dafny program verifier did not attempt verification +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17] [12, 17] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + comprehension: {82} + union: {17, 82} {12, 17, 82} + intersection: {} {17} + difference: {} {82} + subset: true false true + proper subset: true false false + membership: false true true +Multisets: {} {17, 17, 82, 82} {12, 17} + cardinality: 0 4 2 + update: {17, 17, 42, 42, 42} {12, 17, 42} + multiplicity: 2 0 20 + union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} + intersection: {} {17, 82, 82} + difference: {} {17, 82, 82} + subset: true false true + proper subset: true false false + membership: false true true +Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} + cardinality: 0 3 2 + update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} + comprehension: {17 := 12, 82 := 12} + Keys: {12, 17, 82} + Values: {17, 82} + eq: false true true + eq: true true true true true true + eq: true true true true true true + eq: true false true false true false + eq: true false true false true false + eq: true true true true true true + eq: true true true true true true +set: {20, 30} +multiset: {20, 30} +seq: [20, 30] +map: {20 := 30, 30 := 20} +true +true +1 1 +1 1 + +Dafny program verifier did not attempt verification +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17] [12, 17] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + comprehension: {82} + union: {17, 82} {12, 17, 82} + intersection: {} {17} + difference: {} {82} + subset: true false true + proper subset: true false false + membership: false true true +Multisets: {} {17, 17, 82, 82} {12, 17} + cardinality: 0 4 2 + update: {17, 17, 42, 42, 42} {12, 17, 42} + multiplicity: 2 0 20 + union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} + intersection: {} {17, 82, 82} + difference: {} {17, 82, 82} + subset: true false true + proper subset: true false false + membership: false true true +Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} + cardinality: 0 3 2 + update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} + comprehension: {17 := 12, 82 := 12} + Keys: {12, 17, 82} + Values: {17, 82} + eq: false true true + eq: true true true true true true + eq: true true true true true true + eq: true false true false true false + eq: true false true false true false + eq: true true true true true true + eq: true true true true true true +set: {20, 30} +multiset: {20, 30} +seq: [20, 30] +map: {20 := 30, 30 := 20} +true +true +1 1 +1 1 + +Dafny program verifier did not attempt verification Sequences: [] [17, 82, 17, 82] [12, 17] cardinality: 0 4 2 update: [42, 82, 17, 82] [42, 17] diff --git a/Test/comp/Datatype.dfy b/Test/comp/Datatype.dfy index 44579383e5c..2599907a94c 100644 --- a/Test/comp/Datatype.dfy +++ b/Test/comp/Datatype.dfy @@ -1,5 +1,10 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype List = Nil | Cons(head: int, tail: List) diff --git a/Test/comp/Datatype.dfy.expect b/Test/comp/Datatype.dfy.expect index 93e37a9562a..84dceeb16e6 100644 --- a/Test/comp/Datatype.dfy.expect +++ b/Test/comp/Datatype.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 12 verified, 0 errors + +Dafny program verifier did not attempt verification List.Nil List.Cons(5, List.Nil) (List.Nil, List.Cons(5, List.Nil)) @@ -20,3 +24,99 @@ Record.Record(58, true) 199 800 801 802 800 801 802 + +Dafny program verifier did not attempt verification +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) +0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) +Stream.Next +Stream.Next +{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} +CoBerry.Hjortron true true false +false +42 'q' hello +1701 +Record.Record(58, true) +199 +800 801 802 +800 801 802 + +Dafny program verifier did not attempt verification +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) +0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) +Stream.Next +Stream.Next +{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} +CoBerry.Hjortron true true false +false +42 'q' hello +1701 +Record.Record(58, true) +199 +800 801 802 +800 801 802 + +Dafny program verifier did not attempt verification +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) +0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) +Stream.Next +Stream.Next +{Berry.Jordgubb, Berry.Smultron, Berry.Hallon} +CoBerry.Hjortron true true false +false +42 'q' hello +1701 +Record.Record(58, true) +199 +800 801 802 +800 801 802 + +Dafny program verifier did not attempt verification +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) +0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) +Stream.Next +Stream.Next +{Berry.Hallon, Berry.Smultron, Berry.Jordgubb} +CoBerry.Hjortron true true false +false +42 'q' hello +1701 +Record.Record(58, true) +199 +800 801 802 +800 801 802 diff --git a/Test/comp/Datatype.dfy.java.expect b/Test/comp/Datatype.dfy.java.expect deleted file mode 100644 index e5a32fd58bc..00000000000 --- a/Test/comp/Datatype.dfy.java.expect +++ /dev/null @@ -1,22 +0,0 @@ -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) -0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) -Stream.Next -Stream.Next -{Berry.Jordgubb, Berry.Smultron, Berry.Hallon} -CoBerry.Hjortron true true false -false -42 'q' hello -1701 -Record.Record(58, true) -199 -800 801 802 -800 801 802 diff --git a/Test/comp/Datatype.dfy.py.expect b/Test/comp/Datatype.dfy.py.expect deleted file mode 100644 index 0f64b73ba2d..00000000000 --- a/Test/comp/Datatype.dfy.py.expect +++ /dev/null @@ -1,22 +0,0 @@ -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) -0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) -Stream.Next -Stream.Next -{Berry.Hallon, Berry.Smultron, Berry.Jordgubb} -CoBerry.Hjortron true true false -false -42 'q' hello -1701 -Record.Record(58, true) -199 -800 801 802 -800 801 802 diff --git a/Test/comp/DefaultParameters-Compile.dfy b/Test/comp/DefaultParameters-Compile.dfy index cd6ba1163b1..145b8670647 100644 --- a/Test/comp/DefaultParameters-Compile.dfy +++ b/Test/comp/DefaultParameters-Compile.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method M(x: int := 16) { print x, "\n"; diff --git a/Test/comp/DefaultParameters-Compile.dfy.expect b/Test/comp/DefaultParameters-Compile.dfy.expect index b4b87321eb5..b94739d5be1 100644 --- a/Test/comp/DefaultParameters-Compile.dfy.expect +++ b/Test/comp/DefaultParameters-Compile.dfy.expect @@ -1,3 +1,51 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification +12 +16 +1 2 +1 3 +10 20 +11 13 +Color.Blue(2, 1) Color.Red(3, 4) +5 5 6 +6 6 7 + +Dafny program verifier did not attempt verification +12 +16 +1 2 +1 3 +10 20 +11 13 +Color.Blue(2, 1) Color.Red(3, 4) +5 5 6 +6 6 7 + +Dafny program verifier did not attempt verification +12 +16 +1 2 +1 3 +10 20 +11 13 +Color.Blue(2, 1) Color.Red(3, 4) +5 5 6 +6 6 7 + +Dafny program verifier did not attempt verification +12 +16 +1 2 +1 3 +10 20 +11 13 +Color.Blue(2, 1) Color.Red(3, 4) +5 5 6 +6 6 7 + +Dafny program verifier did not attempt verification 12 16 1 2 diff --git a/Test/comp/DowncastClone.dfy b/Test/comp/DowncastClone.dfy index cb1f095b3f4..b90066da781 100644 --- a/Test/comp/DowncastClone.dfy +++ b/Test/comp/DowncastClone.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Co<+T> = Co(T) | C datatype ReCo<+T> = ReCo(T) diff --git a/Test/comp/DowncastClone.dfy.expect b/Test/comp/DowncastClone.dfy.expect index b0613294f3c..982b36b396c 100644 --- a/Test/comp/DowncastClone.dfy.expect +++ b/Test/comp/DowncastClone.dfy.expect @@ -1,3 +1,43 @@ + +Dafny program verifier finished with 7 verified, 0 errors + +Dafny program verifier did not attempt verification +Co.Co(_module.Y) and Co.Co(_module.Y) +_module.Y and _module.Y +_module.Y _module.Y +false and false +false and false +_module.Y and _module.Y +Done + +Dafny program verifier did not attempt verification +Co.Co(_module.Y) and Co.Co(_module.Y) +_module.Y and _module.Y +_module.Y _module.Y +false and false +false and false +_module.Y and _module.Y +Done + +Dafny program verifier did not attempt verification +Co.Co(_module.Y) and Co.Co(_module.Y) +_module.Y and _module.Y +_module.Y _module.Y +false and false +false and false +_module.Y and _module.Y +Done + +Dafny program verifier did not attempt verification +Co.Co(_module.Y) and Co.Co(_module.Y) +_module.Y and _module.Y +_module.Y _module.Y +false and false +false and false +_module.Y and _module.Y +Done + +Dafny program verifier did not attempt verification Co.Co(_module.Y) and Co.Co(_module.Y) _module.Y and _module.Y _module.Y _module.Y diff --git a/Test/comp/ErasableTypeWrappers.dfy b/Test/comp/ErasableTypeWrappers.dfy index a280099699f..d62d3736622 100644 --- a/Test/comp/ErasableTypeWrappers.dfy +++ b/Test/comp/ErasableTypeWrappers.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype SingletonRecord = SingletonRecord(u: int) datatype GhostOrNot = ghost Ghost(a: int, b: int) | Compiled(x: int) diff --git a/Test/comp/ErasableTypeWrappers.dfy.expect b/Test/comp/ErasableTypeWrappers.dfy.expect index 2a82d776c64..5013d9fc327 100644 --- a/Test/comp/ErasableTypeWrappers.dfy.expect +++ b/Test/comp/ErasableTypeWrappers.dfy.expect @@ -1,3 +1,87 @@ + +Dafny program verifier finished with 10 verified, 0 errors + +Dafny program verifier did not attempt verification +62 63 (2, 5) (2, 5) 3 +62 63 5 5 3 +5 5 3 +1062 1063 1005 1005 1003 +true true true +20 20 *20 21 20 +20 20 *20 21 20 +true false +true false true false +true false +0 (0, 0) 0 Color.Pink +13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false + 3.14 2.7 +18.0 18.0 3.0 false +18.0 4.0 true +HasConst.MakeC(4) (4, 4) +4 (4, 4) +OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.AnotherIntsWrapper(OptimizationChecks.Ints.Ints(5, 7)) + +Dafny program verifier did not attempt verification +62 63 (2, 5) (2, 5) 3 +62 63 5 5 3 +5 5 3 +1062 1063 1005 1005 1003 +true true true +20 20 *20 21 20 +20 20 *20 21 20 +true false +true false true false +true false +0 (0, 0) 0 Color.Pink +13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false + 3.14 2.7 +18.0 18.0 3.0 false +18.0 4.0 true +HasConst.MakeC(4) (4, 4) +4 (4, 4) +OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.AnotherIntsWrapper(OptimizationChecks.Ints.Ints(5, 7)) + +Dafny program verifier did not attempt verification +62 63 (2, 5) (2, 5) 3 +62 63 5 5 3 +5 5 3 +1062 1063 1005 1005 1003 +true true true +20 20 *20 21 20 +20 20 *20 21 20 +true false +true false true false +true false +0 (0, 0) 0 Color.Pink +13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false + 3.14 2.7 +18.0 18.0 3.0 false +18.0 4.0 true +HasConst.MakeC(4) (4, 4) +4 (4, 4) +OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.AnotherIntsWrapper(OptimizationChecks.Ints.Ints(5, 7)) + +Dafny program verifier did not attempt verification +62 63 (2, 5) (2, 5) 3 +62 63 5 5 3 +5 5 3 +1062 1063 1005 1005 1003 +true true true +20 20 *20 21 20 +20 20 *20 21 20 +true false +true false true false +true false +0 (0, 0) 0 Color.Pink +13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false + 3.14 2.7 +18.0 18.0 3.0 false +18.0 4.0 true +HasConst.MakeC(4) (4, 4) +4 (4, 4) +OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.AnotherIntsWrapper(OptimizationChecks.Ints.Ints(5, 7)) + +Dafny program verifier did not attempt verification 62 63 (2, 5) (2, 5) 3 62 63 5 5 3 5 5 3 diff --git a/Test/comp/EuclideanDivision.dfy b/Test/comp/EuclideanDivision.dfy index 1286dcd125b..7ae1803cad8 100644 --- a/Test/comp/EuclideanDivision.dfy +++ b/Test/comp/EuclideanDivision.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // Some runtimes (like the one for C#) have three implementations // of Euclidean div/mod: one for `int`, one for `long`, and one diff --git a/Test/comp/EuclideanDivision.dfy.expect b/Test/comp/EuclideanDivision.dfy.expect index e2585ff8c70..b538c9494de 100644 --- a/Test/comp/EuclideanDivision.dfy.expect +++ b/Test/comp/EuclideanDivision.dfy.expect @@ -1,3 +1,39 @@ + +Dafny program verifier finished with 11 verified, 0 errors + +Dafny program verifier did not attempt verification +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 + +Dafny program verifier did not attempt verification +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 + +Dafny program verifier did not attempt verification +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 + +Dafny program verifier did not attempt verification +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 + +Dafny program verifier did not attempt verification 2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 diff --git a/Test/comp/ForLoops-Compilation.dfy b/Test/comp/ForLoops-Compilation.dfy index b468d21f69f..97101b82961 100644 --- a/Test/comp/ForLoops-Compilation.dfy +++ b/Test/comp/ForLoops-Compilation.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { TestM(0, 0); diff --git a/Test/comp/ForLoops-Compilation.dfy.expect b/Test/comp/ForLoops-Compilation.dfy.expect index 97724a714bc..d67a5429fed 100644 --- a/Test/comp/ForLoops-Compilation.dfy.expect +++ b/Test/comp/ForLoops-Compilation.dfy.expect @@ -1,3 +1,203 @@ + +Dafny program verifier finished with 23 verified, 0 errors + +Dafny program verifier did not attempt verification +0 0 0 0 +-2 -2 -2 -2 +0 0 0 0 +145 145 145 145 +0 0 +0 0 +57 57 +0 0 +32385 32385 +0 0 +-128 -128 +126 126 +0 0 +0 * 2 == 0 +2 * 0 == 0 +1 * 1 == 1 +6 * 5 == 30 +0 + 3 == 3 +3 + 0 == 3 +4 + 0 == 4 +0 + 0 == 0 +19 + 14 == 33 +4 4 4 +== BC10 == +0 --++--++---- *** +1 --++--++----++-- +2 --++--++----++--++--++--++--++--++--++ *** +3 --++--++----++--++--++--++--++--++--++ *** +4 --++--++----++--++--++--++--++--++--++ *** +5 --++--++----++--++--++--++--++--++--++ *** +6 --++--++----++--++--++--++--++--++--++ *** +7 --++--++----++--++--++--++--++--++--++ *** +8 --++--++----++--++--++--++--++--++--++ *** +9 --++--++----++--++--++--++--++--++--++ *** +== BC11 == +0 ||--++----++-- *** +1 ||--++----++--++-- +2 ||--++----++--++--++--++--++--++--++--++ *** +3 ||--++----++--++--++--++--++--++--++--++ *** +4 ||--++----++--++--++--++--++--++--++--++ *** +5 ||--++----++--++--++--++--++--++--++--++ *** +6 ||--++----++--++--++--++--++--++--++--++ *** +7 ||--++----++--++--++--++--++--++--++--++ *** +8 ||--++----++--++--++--++--++--++--++--++ *** +9 ||--++----++--++--++--++--++--++--++--++ *** +true true true 15 +all good + +Dafny program verifier did not attempt verification +0 0 0 0 +-2 -2 -2 -2 +0 0 0 0 +145 145 145 145 +0 0 +0 0 +57 57 +0 0 +32385 32385 +0 0 +-128 -128 +126 126 +0 0 +0 * 2 == 0 +2 * 0 == 0 +1 * 1 == 1 +6 * 5 == 30 +0 + 3 == 3 +3 + 0 == 3 +4 + 0 == 4 +0 + 0 == 0 +19 + 14 == 33 +4 4 4 +== BC10 == +0 --++--++---- *** +1 --++--++----++-- +2 --++--++----++--++--++--++--++--++--++ *** +3 --++--++----++--++--++--++--++--++--++ *** +4 --++--++----++--++--++--++--++--++--++ *** +5 --++--++----++--++--++--++--++--++--++ *** +6 --++--++----++--++--++--++--++--++--++ *** +7 --++--++----++--++--++--++--++--++--++ *** +8 --++--++----++--++--++--++--++--++--++ *** +9 --++--++----++--++--++--++--++--++--++ *** +== BC11 == +0 ||--++----++-- *** +1 ||--++----++--++-- +2 ||--++----++--++--++--++--++--++--++--++ *** +3 ||--++----++--++--++--++--++--++--++--++ *** +4 ||--++----++--++--++--++--++--++--++--++ *** +5 ||--++----++--++--++--++--++--++--++--++ *** +6 ||--++----++--++--++--++--++--++--++--++ *** +7 ||--++----++--++--++--++--++--++--++--++ *** +8 ||--++----++--++--++--++--++--++--++--++ *** +9 ||--++----++--++--++--++--++--++--++--++ *** +true true true 15 +all good + +Dafny program verifier did not attempt verification +0 0 0 0 +-2 -2 -2 -2 +0 0 0 0 +145 145 145 145 +0 0 +0 0 +57 57 +0 0 +32385 32385 +0 0 +-128 -128 +126 126 +0 0 +0 * 2 == 0 +2 * 0 == 0 +1 * 1 == 1 +6 * 5 == 30 +0 + 3 == 3 +3 + 0 == 3 +4 + 0 == 4 +0 + 0 == 0 +19 + 14 == 33 +4 4 4 +== BC10 == +0 --++--++---- *** +1 --++--++----++-- +2 --++--++----++--++--++--++--++--++--++ *** +3 --++--++----++--++--++--++--++--++--++ *** +4 --++--++----++--++--++--++--++--++--++ *** +5 --++--++----++--++--++--++--++--++--++ *** +6 --++--++----++--++--++--++--++--++--++ *** +7 --++--++----++--++--++--++--++--++--++ *** +8 --++--++----++--++--++--++--++--++--++ *** +9 --++--++----++--++--++--++--++--++--++ *** +== BC11 == +0 ||--++----++-- *** +1 ||--++----++--++-- +2 ||--++----++--++--++--++--++--++--++--++ *** +3 ||--++----++--++--++--++--++--++--++--++ *** +4 ||--++----++--++--++--++--++--++--++--++ *** +5 ||--++----++--++--++--++--++--++--++--++ *** +6 ||--++----++--++--++--++--++--++--++--++ *** +7 ||--++----++--++--++--++--++--++--++--++ *** +8 ||--++----++--++--++--++--++--++--++--++ *** +9 ||--++----++--++--++--++--++--++--++--++ *** +true true true 15 +all good + +Dafny program verifier did not attempt verification +0 0 0 0 +-2 -2 -2 -2 +0 0 0 0 +145 145 145 145 +0 0 +0 0 +57 57 +0 0 +32385 32385 +0 0 +-128 -128 +126 126 +0 0 +0 * 2 == 0 +2 * 0 == 0 +1 * 1 == 1 +6 * 5 == 30 +0 + 3 == 3 +3 + 0 == 3 +4 + 0 == 4 +0 + 0 == 0 +19 + 14 == 33 +4 4 4 +== BC10 == +0 --++--++---- *** +1 --++--++----++-- +2 --++--++----++--++--++--++--++--++--++ *** +3 --++--++----++--++--++--++--++--++--++ *** +4 --++--++----++--++--++--++--++--++--++ *** +5 --++--++----++--++--++--++--++--++--++ *** +6 --++--++----++--++--++--++--++--++--++ *** +7 --++--++----++--++--++--++--++--++--++ *** +8 --++--++----++--++--++--++--++--++--++ *** +9 --++--++----++--++--++--++--++--++--++ *** +== BC11 == +0 ||--++----++-- *** +1 ||--++----++--++-- +2 ||--++----++--++--++--++--++--++--++--++ *** +3 ||--++----++--++--++--++--++--++--++--++ *** +4 ||--++----++--++--++--++--++--++--++--++ *** +5 ||--++----++--++--++--++--++--++--++--++ *** +6 ||--++----++--++--++--++--++--++--++--++ *** +7 ||--++----++--++--++--++--++--++--++--++ *** +8 ||--++----++--++--++--++--++--++--++--++ *** +9 ||--++----++--++--++--++--++--++--++--++ *** +true true true 15 +all good + +Dafny program verifier did not attempt verification 0 0 0 0 -2 -2 -2 -2 0 0 0 0 diff --git a/Test/comp/ForallNewSyntax.dfy b/Test/comp/ForallNewSyntax.dfy index 85e609b37b3..c17bf86830e 100644 --- a/Test/comp/ForallNewSyntax.dfy +++ b/Test/comp/ForallNewSyntax.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --function-syntax:3 --quantifier-syntax:4 --relax-definite-assignment +// RUN: %baredafny verify %args --relax-definite-assignment --function-syntax:3 --quantifier-syntax:4 "%s" > "%t" +// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:cs "%s" >> "%t" +// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:js "%s" >> "%t" +// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:go "%s" >> "%t" +// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:java "%s" >> "%t" +// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var arrayTests := new ArrayTests(); diff --git a/Test/comp/ForallNewSyntax.dfy.expect b/Test/comp/ForallNewSyntax.dfy.expect index 5b33d939607..241ea9ea521 100644 --- a/Test/comp/ForallNewSyntax.dfy.expect +++ b/Test/comp/ForallNewSyntax.dfy.expect @@ -1,3 +1,183 @@ + +Dafny program verifier finished with 25 verified, 0 errors + +Dafny program verifier did not attempt verification +Arrays: Basic cases +[0, 1, 2, 3, 4] +[0, 1, 2, 3, 4] +[0, 1, 4, 3, 8] + +Arrays: Wrong index +[0, 0, 1, 2, 3] +[0, 0, 1, 2, 3] +[1, 2, 3, 4, 5] + +Arrays: Sequence conversion +[2, 1, 4, 5, 6] +[0, 3, 3, 3, 4] + +Arrays: Index collection +[1, 1, 2, 3, 4] +[1, 1, 2, 3, 4] + +Arrays: Functions +[1, 1, 3, 4, 5] +[1, 1, 3, 4, 5] +[1, 2, 3, 3, 5] +[1, 2, 3, 4, 5] + +Multi-dimensional arrays +[[0, 2, 4], [1, 3, 5], [2, 4, 6]] +[[0, 1, 2], [2, 3, 4], [4, 5, 6]] + +Objects: Basic cases +[(0, 1.0), (0, 2.0), (0, 3.0)] +[(2, 1.0), (2, 2.0), (4, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] + +Objects: Bad field accesses +[(2, 1.0), (3, 2.0), (4, 3.0)] +[(2, 1.0), (2, 2.0), (2, 3.0)] +[(2, 1.0), (3, 2.0), (1, 3.0)] + +Objects: Functions +[(2, 1.0), (4, 2.0), (6, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] +[(3, 1.0), (4, 2.0), (5, 3.0)] + +Dafny program verifier did not attempt verification +Arrays: Basic cases +[0, 1, 2, 3, 4] +[0, 1, 2, 3, 4] +[0, 1, 4, 3, 8] + +Arrays: Wrong index +[0, 0, 1, 2, 3] +[0, 0, 1, 2, 3] +[1, 2, 3, 4, 5] + +Arrays: Sequence conversion +[2, 1, 4, 5, 6] +[0, 3, 3, 3, 4] + +Arrays: Index collection +[1, 1, 2, 3, 4] +[1, 1, 2, 3, 4] + +Arrays: Functions +[1, 1, 3, 4, 5] +[1, 1, 3, 4, 5] +[1, 2, 3, 3, 5] +[1, 2, 3, 4, 5] + +Multi-dimensional arrays +[[0, 2, 4], [1, 3, 5], [2, 4, 6]] +[[0, 1, 2], [2, 3, 4], [4, 5, 6]] + +Objects: Basic cases +[(0, 1.0), (0, 2.0), (0, 3.0)] +[(2, 1.0), (2, 2.0), (4, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] + +Objects: Bad field accesses +[(2, 1.0), (3, 2.0), (4, 3.0)] +[(2, 1.0), (2, 2.0), (2, 3.0)] +[(2, 1.0), (3, 2.0), (1, 3.0)] + +Objects: Functions +[(2, 1.0), (4, 2.0), (6, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] +[(3, 1.0), (4, 2.0), (5, 3.0)] + +Dafny program verifier did not attempt verification +Arrays: Basic cases +[0, 1, 2, 3, 4] +[0, 1, 2, 3, 4] +[0, 1, 4, 3, 8] + +Arrays: Wrong index +[0, 0, 1, 2, 3] +[0, 0, 1, 2, 3] +[1, 2, 3, 4, 5] + +Arrays: Sequence conversion +[2, 1, 4, 5, 6] +[0, 3, 3, 3, 4] + +Arrays: Index collection +[1, 1, 2, 3, 4] +[1, 1, 2, 3, 4] + +Arrays: Functions +[1, 1, 3, 4, 5] +[1, 1, 3, 4, 5] +[1, 2, 3, 3, 5] +[1, 2, 3, 4, 5] + +Multi-dimensional arrays +[[0, 2, 4], [1, 3, 5], [2, 4, 6]] +[[0, 1, 2], [2, 3, 4], [4, 5, 6]] + +Objects: Basic cases +[(0, 1.0), (0, 2.0), (0, 3.0)] +[(2, 1.0), (2, 2.0), (4, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] + +Objects: Bad field accesses +[(2, 1.0), (3, 2.0), (4, 3.0)] +[(2, 1.0), (2, 2.0), (2, 3.0)] +[(2, 1.0), (3, 2.0), (1, 3.0)] + +Objects: Functions +[(2, 1.0), (4, 2.0), (6, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] +[(3, 1.0), (4, 2.0), (5, 3.0)] + +Dafny program verifier did not attempt verification +Arrays: Basic cases +[0, 1, 2, 3, 4] +[0, 1, 2, 3, 4] +[0, 1, 4, 3, 8] + +Arrays: Wrong index +[0, 0, 1, 2, 3] +[0, 0, 1, 2, 3] +[1, 2, 3, 4, 5] + +Arrays: Sequence conversion +[2, 1, 4, 5, 6] +[0, 3, 3, 3, 4] + +Arrays: Index collection +[1, 1, 2, 3, 4] +[1, 1, 2, 3, 4] + +Arrays: Functions +[1, 1, 3, 4, 5] +[1, 1, 3, 4, 5] +[1, 2, 3, 3, 5] +[1, 2, 3, 4, 5] + +Multi-dimensional arrays +[[0, 2, 4], [1, 3, 5], [2, 4, 6]] +[[0, 1, 2], [2, 3, 4], [4, 5, 6]] + +Objects: Basic cases +[(0, 1.0), (0, 2.0), (0, 3.0)] +[(2, 1.0), (2, 2.0), (4, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] + +Objects: Bad field accesses +[(2, 1.0), (3, 2.0), (4, 3.0)] +[(2, 1.0), (2, 2.0), (2, 3.0)] +[(2, 1.0), (3, 2.0), (1, 3.0)] + +Objects: Functions +[(2, 1.0), (4, 2.0), (6, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] +[(3, 1.0), (4, 2.0), (5, 3.0)] + +Dafny program verifier did not attempt verification Arrays: Basic cases [0, 1, 2, 3, 4] [0, 1, 2, 3, 4] diff --git a/Test/comp/Ghosts.dfy b/Test/comp/Ghosts.dfy index 8afe8a36d3f..506fe0facb1 100644 --- a/Test/comp/Ghosts.dfy +++ b/Test/comp/Ghosts.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method M1() returns (x: int) { diff --git a/Test/comp/Ghosts.dfy.expect b/Test/comp/Ghosts.dfy.expect index d075ea048c1..430a9c18fc0 100644 --- a/Test/comp/Ghosts.dfy.expect +++ b/Test/comp/Ghosts.dfy.expect @@ -1,3 +1,55 @@ + +Dafny program verifier finished with 8 verified, 0 errors + +Dafny program verifier did not attempt verification +hello, M2 +hello, M2 +hello, M3 +hello, M1 +hello, M1 +hello, M1 +hello, M2 +hello, M3 +hello, N0 +hello, N1 + +Dafny program verifier did not attempt verification +hello, M2 +hello, M2 +hello, M3 +hello, M1 +hello, M1 +hello, M1 +hello, M2 +hello, M3 +hello, N0 +hello, N1 + +Dafny program verifier did not attempt verification +hello, M2 +hello, M2 +hello, M3 +hello, M1 +hello, M1 +hello, M1 +hello, M2 +hello, M3 +hello, N0 +hello, N1 + +Dafny program verifier did not attempt verification +hello, M2 +hello, M2 +hello, M3 +hello, M1 +hello, M1 +hello, M1 +hello, M2 +hello, M3 +hello, N0 +hello, N1 + +Dafny program verifier did not attempt verification hello, M2 hello, M2 hello, M3 diff --git a/Test/comp/Let.dfy b/Test/comp/Let.dfy index 2a639009c78..64dce8b90e6 100644 --- a/Test/comp/Let.dfy +++ b/Test/comp/Let.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cs "%s" > "%t" +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method M() returns (x: int) { x := var y := 50; y; // non-top-level let diff --git a/Test/comp/Let.dfy.expect b/Test/comp/Let.dfy.expect index f05dfc414c1..667abc32458 100644 --- a/Test/comp/Let.dfy.expect +++ b/Test/comp/Let.dfy.expect @@ -1,3 +1,37 @@ + +Dafny program verifier finished with 5 verified, 0 errors +50 58 +Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) +5 7 9 10 12 30 +5 7 +5 7 +12.0 15.0 15.0 15.0 + +Dafny program verifier finished with 5 verified, 0 errors +50 58 +Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) +5 7 9 10 12 30 +5 7 +5 7 +12.0 15.0 15.0 15.0 + +Dafny program verifier finished with 5 verified, 0 errors +50 58 +Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) +5 7 9 10 12 30 +5 7 +5 7 +12.0 15.0 15.0 15.0 + +Dafny program verifier finished with 5 verified, 0 errors +50 58 +Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) +5 7 9 10 12 30 +5 7 +5 7 +12.0 15.0 15.0 15.0 + +Dafny program verifier finished with 5 verified, 0 errors 50 58 Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) 5 7 9 10 12 30 diff --git a/Test/comp/MoreAutoInit.dfy b/Test/comp/MoreAutoInit.dfy index c72083f1be5..46bdf7148f1 100644 --- a/Test/comp/MoreAutoInit.dfy +++ b/Test/comp/MoreAutoInit.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { Methods.TestStart(); diff --git a/Test/comp/MoreAutoInit.dfy.expect b/Test/comp/MoreAutoInit.dfy.expect index a077ee0daa9..e707d9ea27a 100644 --- a/Test/comp/MoreAutoInit.dfy.expect +++ b/Test/comp/MoreAutoInit.dfy.expect @@ -1,3 +1,575 @@ + +Dafny program verifier finished with 38 verified, 0 errors + +Dafny program verifier did not attempt verification +Methods.Uni.Uni + ++ Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +{} + ++ {} +[] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +Functions.Uni.Uni + ++ Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +{2} + ++ {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ** Consts.Uni.Uni ++ Consts.Uni.Uni +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ** Consts.Uni.Uni ++ Consts.Uni.Uni +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ** Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni +[] ++ [] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] + ** [] ++ [] +[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] + ** [] ++ [] +[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] +[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] + ++ [Consts.Uni.Uni] ++ [] + ** [] ++ [] ++ [] +15 +0-0 0.0-0.0 false-false 'D'-'D' 0 +0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 +0-0 0-0 0-0 0-0 1 1 +0.0-0.0 68.0 +null-null null-null null-null null-null +0 +0:0:0 +0-0 +{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] +DefaultValuedExpressions.Color.Red-DefaultValuedExpressions.Color.Red DefaultValuedExpressions.PossibleCell.Nothing-DefaultValuedExpressions.PossibleCell.Nothing DefaultValuedExpressions.Cell.LittleCell(0)-DefaultValuedExpressions.Cell.LittleCell(0) +()-() (0, 0.0)-(0, 0.0) +(DefaultValuedExpressions.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions.Color.Red, (0, 0.0), ()) +null-null null-null +0-0 0-0 0-0 3 4 5 +0-0 11 0-0 8 + +Dafny program verifier did not attempt verification +Methods.Uni.Uni + ++ Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +{} + ++ {} +[] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +Functions.Uni.Uni + ++ Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +{2} + ++ {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ** Consts.Uni.Uni ++ Consts.Uni.Uni +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ** Consts.Uni.Uni ++ Consts.Uni.Uni +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ** Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni +[] ++ [] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] + ** [] ++ [] +[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] + ** [] ++ [] +[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] +[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] + ++ [Consts.Uni.Uni] ++ [] + ** [] ++ [] ++ [] +15 +0-0 0.0-0.0 false-false 'D'-'D' 0 +0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 +0-0 0-0 0-0 0-0 1 1 +0.0-0.0 68.0 +null-null null-null null-null null-null +0 +0:0:0 +0-0 +{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] +DefaultValuedExpressions.Color.Red-DefaultValuedExpressions.Color.Red DefaultValuedExpressions.PossibleCell.Nothing-DefaultValuedExpressions.PossibleCell.Nothing DefaultValuedExpressions.Cell.LittleCell(0)-DefaultValuedExpressions.Cell.LittleCell(0) +()-() (0, 0.0)-(0, 0.0) +(DefaultValuedExpressions.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions.Color.Red, (0, 0.0), ()) +null-null null-null +0-0 0-0 0-0 3 4 5 +0-0 11 0-0 8 + +Dafny program verifier did not attempt verification +Methods.Uni.Uni + ++ Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +{} + ++ {} +[] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +Functions.Uni.Uni + ++ Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +{2} + ++ {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ** Consts.Uni.Uni ++ Consts.Uni.Uni +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ** Consts.Uni.Uni ++ Consts.Uni.Uni +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ** Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni +[] ++ [] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] + ** [] ++ [] +[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] + ** [] ++ [] +[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] +[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] + ++ [Consts.Uni.Uni] ++ [] + ** [] ++ [] ++ [] +15 +0-0 0.0-0.0 false-false 'D'-'D' 0 +0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 +0-0 0-0 0-0 0-0 1 1 +0.0-0.0 68.0 +null-null null-null null-null null-null +0 +0:0:0 +0-0 +{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] +DefaultValuedExpressions.Color.Red-DefaultValuedExpressions.Color.Red DefaultValuedExpressions.PossibleCell.Nothing-DefaultValuedExpressions.PossibleCell.Nothing DefaultValuedExpressions.Cell.LittleCell(0)-DefaultValuedExpressions.Cell.LittleCell(0) +()-() (0, 0.0)-(0, 0.0) +(DefaultValuedExpressions.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions.Color.Red, (0, 0.0), ()) +null-null null-null +0-0 0-0 0-0 3 4 5 +0-0 11 0-0 8 + +Dafny program verifier did not attempt verification +Methods.Uni.Uni + ++ Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +{} + ++ {} +[] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +Functions.Uni.Uni + ++ Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +{2} + ++ {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ** Consts.Uni.Uni ++ Consts.Uni.Uni +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ** Consts.Uni.Uni ++ Consts.Uni.Uni +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ** Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni +[] ++ [] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] + ** [] ++ [] +[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] + ** [] ++ [] +[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] +[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] + ++ [Consts.Uni.Uni] ++ [] + ** [] ++ [] ++ [] +15 +0-0 0.0-0.0 false-false 'D'-'D' 0 +0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 +0-0 0-0 0-0 0-0 1 1 +0.0-0.0 68.0 +null-null null-null null-null null-null +0 +0:0:0 +0-0 +{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] +DefaultValuedExpressions.Color.Red-DefaultValuedExpressions.Color.Red DefaultValuedExpressions.PossibleCell.Nothing-DefaultValuedExpressions.PossibleCell.Nothing DefaultValuedExpressions.Cell.LittleCell(0)-DefaultValuedExpressions.Cell.LittleCell(0) +()-() (0, 0.0)-(0, 0.0) +(DefaultValuedExpressions.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions.Color.Red, (0, 0.0), ()) +null-null null-null +0-0 0-0 0-0 3 4 5 +0-0 11 0-0 8 + +Dafny program verifier did not attempt verification Methods.Uni.Uni ++ Methods.Uni.Uni Methods.Uni.Uni Methods.Uni.Uni diff --git a/Test/comp/NativeNumbers.dfy b/Test/comp/NativeNumbers.dfy index e1fadb1c406..c63d02cf643 100644 --- a/Test/comp/NativeNumbers.dfy +++ b/Test/comp/NativeNumbers.dfy @@ -1,6 +1,11 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false // Skip JavaScript because JavaScript doesn't have the same native types +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { CastTests(); diff --git a/Test/comp/NativeNumbers.dfy.expect b/Test/comp/NativeNumbers.dfy.expect index 6a9d263fc73..2be030252cf 100644 --- a/Test/comp/NativeNumbers.dfy.expect +++ b/Test/comp/NativeNumbers.dfy.expect @@ -1,3 +1,259 @@ + +Dafny program verifier finished with 25 verified, 0 errors + +Dafny program verifier did not attempt verification +Casting: + +Small numbers: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 +5 5 5 5 5 5 5 5 5 +6 6 6 6 6 6 6 6 6 +7 7 7 7 7 7 7 7 7 +8 8 8 8 8 8 8 8 8 + +Large unsigned numbers: +255 255 255 255 255 255 255 255 +65535 65535 65535 65535 65535 65535 +4294967295 4294967295 4294967295 4294967295 +18446744073709551615 18446744073709551615 + +Int to large unsigned: +255 65535 4294967295 18446744073709551615 + +Cast from cardinality operator: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 + +Characters: +C 67 67 67 67 67 67 67 67 67 +0 127 32767 65535 65535 255 65535 65535 65535 + +Defaults: + +0 0 0 0 0 0 0 0 0 + +Byte arithmetic: + +20 30 +10 10 18 + +Short arithmetic: + +20 30 +10 10 18 + +Bitvectors: + +0 3 4 1 + +Comparison to zero: + +int8: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int16: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int32: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int64: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint8: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint16: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint32: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint64: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N + + +Dafny program verifier did not attempt verification +Casting: + +Small numbers: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 +5 5 5 5 5 5 5 5 5 +6 6 6 6 6 6 6 6 6 +7 7 7 7 7 7 7 7 7 +8 8 8 8 8 8 8 8 8 + +Large unsigned numbers: +255 255 255 255 255 255 255 255 +65535 65535 65535 65535 65535 65535 +4294967295 4294967295 4294967295 4294967295 +18446744073709551615 18446744073709551615 + +Int to large unsigned: +255 65535 4294967295 18446744073709551615 + +Cast from cardinality operator: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 + +Characters: +C 67 67 67 67 67 67 67 67 67 +0 127 32767 65535 65535 255 65535 65535 65535 + +Defaults: + +0 0 0 0 0 0 0 0 0 + +Byte arithmetic: + +20 30 +10 10 18 + +Short arithmetic: + +20 30 +10 10 18 + +Bitvectors: + +0 3 4 1 + +Comparison to zero: + +int8: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int16: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int32: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int64: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint8: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint16: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint32: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint64: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N + + +Dafny program verifier did not attempt verification +Casting: + +Small numbers: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 +5 5 5 5 5 5 5 5 5 +6 6 6 6 6 6 6 6 6 +7 7 7 7 7 7 7 7 7 +8 8 8 8 8 8 8 8 8 + +Large unsigned numbers: +255 255 255 255 255 255 255 255 +65535 65535 65535 65535 65535 65535 +4294967295 4294967295 4294967295 4294967295 +18446744073709551615 18446744073709551615 + +Int to large unsigned: +255 65535 4294967295 18446744073709551615 + +Cast from cardinality operator: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 + +Characters: +C 67 67 67 67 67 67 67 67 67 +0 127 32767 65535 65535 255 65535 65535 65535 + +Defaults: + +0 0 0 0 0 0 0 0 0 + +Byte arithmetic: + +20 30 +10 10 18 + +Short arithmetic: + +20 30 +10 10 18 + +Bitvectors: + +0 3 4 1 + +Comparison to zero: + +int8: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int16: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int32: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int64: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint8: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint16: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint32: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint64: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N + + +Dafny program verifier did not attempt verification Casting: Small numbers: diff --git a/Test/comp/NestedArrays.dfy b/Test/comp/NestedArrays.dfy index 39d256f4936..0c2b313a32c 100644 --- a/Test/comp/NestedArrays.dfy +++ b/Test/comp/NestedArrays.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %baredafny verify --relax-definite-assignment %args "%s" > "%t" +// RUN: %baredafny run --no-verify --target=cs %args "%s" >> "%t" +// RUN: %baredafny run --no-verify --target=js %args "%s" >> "%t" +// RUN: %baredafny run --no-verify --target=go %args "%s" >> "%t" +// RUN: %baredafny run --no-verify --target=py %args "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" /* Note, compiling to arrays in Java is difficult. In fact, this is currently * broken, see https://github.com/dafny-lang/dafny/issues/3055. Until this gets diff --git a/Test/comp/NestedArrays.dfy.expect b/Test/comp/NestedArrays.dfy.expect index aa47d0d46d4..a24d140b9d4 100644 --- a/Test/comp/NestedArrays.dfy.expect +++ b/Test/comp/NestedArrays.dfy.expect @@ -1,2 +1,18 @@ + +Dafny program verifier finished with 4 verified, 0 errors + +Dafny program verifier did not attempt verification +0 +0 + +Dafny program verifier did not attempt verification +0 +0 + +Dafny program verifier did not attempt verification +0 +0 + +Dafny program verifier did not attempt verification 0 0 diff --git a/Test/comp/Numbers.dfy b/Test/comp/Numbers.dfy index c76bc87fdc0..36bf24dcdb4 100644 --- a/Test/comp/Numbers.dfy +++ b/Test/comp/Numbers.dfy @@ -1,5 +1,10 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { Literals(); diff --git a/Test/comp/Numbers.dfy.expect b/Test/comp/Numbers.dfy.expect index 7eacf4e709d..8d994e1c7c6 100644 --- a/Test/comp/Numbers.dfy.expect +++ b/Test/comp/Numbers.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 59 verified, 0 errors + +Dafny program verifier did not attempt verification 0 0 3 @@ -109,3 +113,455 @@ true false true false false true false true true false true false 20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +g Q 2 +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +(312.0 / 40.0) (1248.0 / 40.0) +(-312.0 / 40.0) (-1248.0 / 40.0) +(-312.0 / 40.0) (1248.0 / 40.0) +(312.0 / 40.0) (-1248.0 / 40.0) +0.0 0.0 0.0 +120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) +123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 (8100.0 / 8100.0) +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +g Q 2 +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +g Q 2 +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +(312.0 / 40.0) (1248.0 / 40.0) +(-312.0 / 40.0) (-1248.0 / 40.0) +(-312.0 / 40.0) (1248.0 / 40.0) +(312.0 / 40.0) (-1248.0 / 40.0) +0.0 0.0 0.0 +120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) +123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 (8100.0 / 8100.0) +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +g Q 2 +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 diff --git a/Test/comp/Numbers.dfy.go.expect b/Test/comp/Numbers.dfy.go.expect deleted file mode 100644 index ce109553619..00000000000 --- a/Test/comp/Numbers.dfy.go.expect +++ /dev/null @@ -1,111 +0,0 @@ -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -g Q 2 -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 diff --git a/Test/comp/Numbers.dfy.py.expect b/Test/comp/Numbers.dfy.py.expect deleted file mode 100644 index ce109553619..00000000000 --- a/Test/comp/Numbers.dfy.py.expect +++ /dev/null @@ -1,111 +0,0 @@ -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -g Q 2 -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 diff --git a/Test/comp/Poly.dfy b/Test/comp/Poly.dfy index 5af5e8134e9..f3c3aa58599 100644 --- a/Test/comp/Poly.dfy +++ b/Test/comp/Poly.dfy @@ -1,5 +1,10 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" trait Shape { function Center(): (real, real) reads this diff --git a/Test/comp/Poly.dfy.expect b/Test/comp/Poly.dfy.expect index 7dc24821586..4ffff82d5ab 100644 --- a/Test/comp/Poly.dfy.expect +++ b/Test/comp/Poly.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 15 verified, 0 errors + +Dafny program verifier did not attempt verification Center of square: ((1.0 / 2.0), (1.0 / 2.0)) Center of circle: (1.0, 1.0) Center: ((1.0 / 2.0), (1.0 / 2.0)) @@ -10,3 +14,59 @@ Center: ((1.0 / 2.0), (1.0 / 2.0)) Center: (1.0, 1.0) Center: ((1.0 / 2.0), (1.0 / 2.0)) Center: (1.0, 1.0) + +Dafny program verifier did not attempt verification +Center of square: ((1.0 / 2.0), (1.0 / 2.0)) +Center of circle: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) + +Dafny program verifier did not attempt verification +Center of square: ((1.0 / 2.0), (1.0 / 2.0)) +Center of circle: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) + +Dafny program verifier did not attempt verification +Center of square: (0.5, 0.5) +Center of circle: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) + +Dafny program verifier did not attempt verification +Center of square: (0.5, 0.5) +Center of circle: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) diff --git a/Test/comp/Poly.dfy.go.expect b/Test/comp/Poly.dfy.go.expect deleted file mode 100644 index 88e09c5e6ff..00000000000 --- a/Test/comp/Poly.dfy.go.expect +++ /dev/null @@ -1,12 +0,0 @@ -Center of square: (0.5, 0.5) -Center of circle: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) diff --git a/Test/comp/Poly.dfy.py.expect b/Test/comp/Poly.dfy.py.expect deleted file mode 100644 index 88e09c5e6ff..00000000000 --- a/Test/comp/Poly.dfy.py.expect +++ /dev/null @@ -1,12 +0,0 @@ -Center of square: (0.5, 0.5) -Center of circle: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) diff --git a/Test/comp/Print.dfy b/Test/comp/Print.dfy index 39f8a447396..166bae4c351 100644 --- a/Test/comp/Print.dfy +++ b/Test/comp/Print.dfy @@ -1,5 +1,9 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // Python salts hashes so they are not deterministic. diff --git a/Test/comp/Print.dfy.expect b/Test/comp/Print.dfy.expect index 88ded65afab..c2b186af0ec 100644 --- a/Test/comp/Print.dfy.expect +++ b/Test/comp/Print.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification Strings in collections: [abc, def] [[abc, def]] @@ -6,3 +10,33 @@ Strings in collections: [] [] [aaaaa] + +Dafny program verifier did not attempt verification +Strings in collections: + [abc, def] + [[abc, def]] + {abc, def} + [abc, def] + [] + [] + [aaaaa] + +Dafny program verifier did not attempt verification +Strings in collections: + [abc, def] + [[abc, def]] + {abc, def} + [abc, def] + [] + [] + [aaaaa] + +Dafny program verifier did not attempt verification +Strings in collections: + [abc, def] + [[abc, def]] + {abc, def} + [abc, def] + [] + [] + [aaaaa] diff --git a/Test/comp/Print.dfy.go.expect b/Test/comp/Print.dfy.go.expect deleted file mode 100644 index 7ac90f01b3c..00000000000 --- a/Test/comp/Print.dfy.go.expect +++ /dev/null @@ -1,8 +0,0 @@ -Strings in collections: - [abc, def] - [[abc, def]] - {abc, def} - [abc, def] - [] - [] - [aaaaa] diff --git a/Test/comp/Print.dfy.java.expect b/Test/comp/Print.dfy.java.expect deleted file mode 100644 index 7ac90f01b3c..00000000000 --- a/Test/comp/Print.dfy.java.expect +++ /dev/null @@ -1,8 +0,0 @@ -Strings in collections: - [abc, def] - [[abc, def]] - {abc, def} - [abc, def] - [] - [] - [aaaaa] diff --git a/Test/comp/Print.dfy.js.expect b/Test/comp/Print.dfy.js.expect deleted file mode 100644 index 7ac90f01b3c..00000000000 --- a/Test/comp/Print.dfy.js.expect +++ /dev/null @@ -1,8 +0,0 @@ -Strings in collections: - [abc, def] - [[abc, def]] - {abc, def} - [abc, def] - [] - [] - [aaaaa] diff --git a/Test/comp/StaticMembersOfGenericTypes.dfy b/Test/comp/StaticMembersOfGenericTypes.dfy index 8a8614d21a5..8c402dab951 100644 --- a/Test/comp/StaticMembersOfGenericTypes.dfy +++ b/Test/comp/StaticMembersOfGenericTypes.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { GenericClass(); diff --git a/Test/comp/StaticMembersOfGenericTypes.dfy.expect b/Test/comp/StaticMembersOfGenericTypes.dfy.expect index 196f1295e12..54e32b42ee5 100644 --- a/Test/comp/StaticMembersOfGenericTypes.dfy.expect +++ b/Test/comp/StaticMembersOfGenericTypes.dfy.expect @@ -1,3 +1,79 @@ + +Dafny program verifier finished with 9 verified, 0 errors + +Dafny program verifier did not attempt verification +(0, 1) (true, 2, 3) +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +(2.0, true) (3.0, false) +(2.0, true) (3.0, false) +true false +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +50 3 4 +149 + +Dafny program verifier did not attempt verification +(0, 1) (true, 2, 3) +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +(2.0, true) (3.0, false) +(2.0, true) (3.0, false) +true false +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +50 3 4 +149 + +Dafny program verifier did not attempt verification +(0, 1) (true, 2, 3) +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +(2.0, true) (3.0, false) +(2.0, true) (3.0, false) +true false +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +50 3 4 +149 + +Dafny program verifier did not attempt verification +(0, 1) (true, 2, 3) +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +(2.0, true) (3.0, false) +(2.0, true) (3.0, false) +true false +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +50 3 4 +149 + +Dafny program verifier did not attempt verification (0, 1) (true, 2, 3) 0 25 (20, 21) (20, 21) 23 22 0 25 (20, 21) (20, 21) 23 22 diff --git a/Test/comp/TailRecursion.dfy b/Test/comp/TailRecursion.dfy index b3631d5eccc..68ba6ee4669 100644 --- a/Test/comp/TailRecursion.dfy +++ b/Test/comp/TailRecursion.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { // In the following, 2_000_000 is too large an argument without tail-calls diff --git a/Test/comp/TailRecursion.dfy.expect b/Test/comp/TailRecursion.dfy.expect index 4b9da7e5093..23c852a41fe 100644 --- a/Test/comp/TailRecursion.dfy.expect +++ b/Test/comp/TailRecursion.dfy.expect @@ -1,3 +1,79 @@ + +Dafny program verifier finished with 28 verified, 0 errors + +Dafny program verifier did not attempt verification +2000000 2000000 +2000000 2000000 +1000000 1000000 +10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 +TriangleNumber(10) = 55 +TriangleNumber_Real(10) = 55.0 +TriangleNumber_ORDINAL(10) = 55 +Factorial(5) = 120 +Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] +UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] +Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 +TheBigSubtract(100) = -12 +TailNat(10) = 50 +17 17 17 +2000000 + +Dafny program verifier did not attempt verification +2000000 2000000 +2000000 2000000 +1000000 1000000 +10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 +TriangleNumber(10) = 55 +TriangleNumber_Real(10) = 55.0 +TriangleNumber_ORDINAL(10) = 55 +Factorial(5) = 120 +Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] +UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] +Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 +TheBigSubtract(100) = -12 +TailNat(10) = 50 +17 17 17 +2000000 + +Dafny program verifier did not attempt verification +2000000 2000000 +2000000 2000000 +1000000 1000000 +10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 +TriangleNumber(10) = 55 +TriangleNumber_Real(10) = 55.0 +TriangleNumber_ORDINAL(10) = 55 +Factorial(5) = 120 +Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] +UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] +Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 +TheBigSubtract(100) = -12 +TailNat(10) = 50 +17 17 17 +2000000 + +Dafny program verifier did not attempt verification +2000000 2000000 +2000000 2000000 +1000000 1000000 +10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 +TriangleNumber(10) = 55 +TriangleNumber_Real(10) = 55.0 +TriangleNumber_ORDINAL(10) = 55 +Factorial(5) = 120 +Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] +UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] +Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 +TheBigSubtract(100) = -12 +TailNat(10) = 50 +17 17 17 +2000000 + +Dafny program verifier did not attempt verification 2000000 2000000 2000000 2000000 1000000 1000000 diff --git a/Test/comp/TypeDescriptors.dfy b/Test/comp/TypeDescriptors.dfy index 5bedbb900e4..636cb3db583 100644 --- a/Test/comp/TypeDescriptors.dfy +++ b/Test/comp/TypeDescriptors.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Method(s: string, g: G) { var zero: G; diff --git a/Test/comp/TypeDescriptors.dfy.expect b/Test/comp/TypeDescriptors.dfy.expect index 1b09338c83d..9b1e8487bdc 100644 --- a/Test/comp/TypeDescriptors.dfy.expect +++ b/Test/comp/TypeDescriptors.dfy.expect @@ -1,3 +1,155 @@ + +Dafny program verifier finished with 11 verified, 0 errors + +Dafny program verifier did not attempt verification +int: 8 0 +bool: true false +char: 'r' 'D' +real: 1.618 0.0 +ORDINAL: 0 +bv0: 0 0 +bv21: 121 0 +bv32: 132 0 +bv191: 191 0 +set: {7} {} +multiset: multiset{7, 7} multiset{} +seq: [7] [] +map: map[2 := 7] map[] +pos: 3 1 +Hundred: 6 0 +HundredOdd: 13 19 +JustOdd: 131 5 +(): () () +(int, real): (2, 3.2) (0, 0.0) +(int, pos): (2, 3) (0, 1) +AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) +Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) +Stream: Stream.More +A=int: 15 0 +B=int: 16 0 +datatype.B=: {14} {} +object?: null +Class?>: null +Trait?>: null +array?: null +array2?: null +int --> bool: null +array? ~> bool: null + +Dafny program verifier did not attempt verification +int: 8 0 +bool: true false +char: 'r' 'D' +real: 1.618 0.0 +ORDINAL: 0 +bv0: 0 0 +bv21: 121 0 +bv32: 132 0 +bv191: 191 0 +set: {7} {} +multiset: multiset{7, 7} multiset{} +seq: [7] [] +map: map[2 := 7] map[] +pos: 3 1 +Hundred: 6 0 +HundredOdd: 13 19 +JustOdd: 131 5 +(): () () +(int, real): (2, 3.2) (0, 0.0) +(int, pos): (2, 3) (0, 1) +AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) +Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) +Stream: Stream.More +A=int: 15 0 +B=int: 16 0 +datatype.B=: {14} {} +object?: null +Class?>: null +Trait?>: null +array?: null +array2?: null +int --> bool: null +array? ~> bool: null + +Dafny program verifier did not attempt verification +int: 8 0 +bool: true false +char: 'r' 'D' +real: 1.618 0.0 +ORDINAL: 0 +bv0: 0 0 +bv21: 121 0 +bv32: 132 0 +bv191: 191 0 +set: {7} {} +multiset: multiset{7, 7} multiset{} +seq: [7] [] +map: map[2 := 7] map[] +pos: 3 1 +Hundred: 6 0 +HundredOdd: 13 19 +JustOdd: 131 5 +(): () () +(int, real): (2, 3.2) (0, 0.0) +(int, pos): (2, 3) (0, 1) +AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) +Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) +Stream: Stream.More +A=int: 15 0 +B=int: 16 0 +datatype.B=: {14} {} +object?: null +Class?>: null +Trait?>: null +array?: null +array2?: null +int --> bool: null +array? ~> bool: null + +Dafny program verifier did not attempt verification +int: 8 0 +bool: true false +char: 'r' 'D' +real: 1.618 0.0 +ORDINAL: 0 +bv0: 0 0 +bv21: 121 0 +bv32: 132 0 +bv191: 191 0 +set: {7} {} +multiset: multiset{7, 7} multiset{} +seq: [7] [] +map: map[2 := 7] map[] +pos: 3 1 +Hundred: 6 0 +HundredOdd: 13 19 +JustOdd: 131 5 +(): () () +(int, real): (2, 3.2) (0, 0.0) +(int, pos): (2, 3) (0, 1) +AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) +Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) +Stream: Stream.More +A=int: 15 0 +B=int: 16 0 +datatype.B=: {14} {} +object?: null +Class?>: null +Trait?>: null +array?: null +array2?: null +int --> bool: null +array? ~> bool: null + +Dafny program verifier did not attempt verification int: 8 0 bool: true false char: 'r' 'D' diff --git a/Test/comp/TypeParams.dfy b/Test/comp/TypeParams.dfy index c595881e028..11d1b3bac6a 100644 --- a/Test/comp/TypeParams.dfy +++ b/Test/comp/TypeParams.dfy @@ -1,6 +1,11 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation - +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" + +// RUN: %diff "%s.expect" "%t" datatype Color = Orange | Pink | Teal type Six = x | x <= 6 diff --git a/Test/comp/TypeParams.dfy.expect b/Test/comp/TypeParams.dfy.expect index 1381a030f65..ac8ef1c58e5 100644 --- a/Test/comp/TypeParams.dfy.expect +++ b/Test/comp/TypeParams.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 17 verified, 0 errors + +Dafny program verifier did not attempt verification 0 0 0 false Color.Orange 0.0 {} Color.Orange null null null null null {} multiset{} [] map[] {} map[] @@ -17,3 +21,87 @@ System.Func`2[Dafny.BigRational,System.Boolean] System.Func`1[System.Numerics.BigInteger] System.Func`3[_module._IColor,Dafny.ISet`1[System.UInt16],System.UInt32] 0 0 + +Dafny program verifier did not attempt verification +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +function () { return false; } +function () { return _dafny.ZERO; } +function () { return _dafny.ZERO; } +0 0 + +Dafny program verifier did not attempt verification +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +func(dafny.Real) bool +func() dafny.Int +func(main.Color, dafny.Set) uint32 +0 0 + +Dafny program verifier did not attempt verification +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +Function +Function +Function +0 0 + +Dafny program verifier did not attempt verification +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +Function +Function +Function +0 0 diff --git a/Test/comp/TypeParams.dfy.go.expect b/Test/comp/TypeParams.dfy.go.expect deleted file mode 100644 index e3a8e67d066..00000000000 --- a/Test/comp/TypeParams.dfy.go.expect +++ /dev/null @@ -1,19 +0,0 @@ -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -func(dafny.Real) bool -func() dafny.Int -func(main.Color, dafny.Set) uint32 -0 0 diff --git a/Test/comp/TypeParams.dfy.java.expect b/Test/comp/TypeParams.dfy.java.expect deleted file mode 100644 index 5f843ba06d1..00000000000 --- a/Test/comp/TypeParams.dfy.java.expect +++ /dev/null @@ -1,19 +0,0 @@ -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -Function -Function -Function -0 0 diff --git a/Test/comp/TypeParams.dfy.js.expect b/Test/comp/TypeParams.dfy.js.expect deleted file mode 100644 index 865c33ea48b..00000000000 --- a/Test/comp/TypeParams.dfy.js.expect +++ /dev/null @@ -1,19 +0,0 @@ -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -function () { return false; } -function () { return _dafny.ZERO; } -function () { return _dafny.ZERO; } -0 0 diff --git a/Test/comp/TypeParams.dfy.py.expect b/Test/comp/TypeParams.dfy.py.expect deleted file mode 100644 index 5f843ba06d1..00000000000 --- a/Test/comp/TypeParams.dfy.py.expect +++ /dev/null @@ -1,19 +0,0 @@ -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -Function -Function -Function -0 0 diff --git a/Test/comp/UnoptimizedErasableTypeWrappers.dfy b/Test/comp/UnoptimizedErasableTypeWrappers.dfy index b7911aed9db..58f0682ed41 100644 --- a/Test/comp/UnoptimizedErasableTypeWrappers.dfy +++ b/Test/comp/UnoptimizedErasableTypeWrappers.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --optimize-erasable-datatype-wrapper:false --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype SingletonRecord = SingletonRecord(u: int) datatype WithGhost = WithGhost(u: int, ghost v: int) diff --git a/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect b/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect index 3371376a52b..be1d7190b0f 100644 --- a/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect +++ b/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect @@ -1,3 +1,31 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification +SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) +() (30) (31) (30, 32) +15 20 +30 31 30 32 + +Dafny program verifier did not attempt verification +SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) +() (30) (31) (30, 32) +15 20 +30 31 30 32 + +Dafny program verifier did not attempt verification +SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) +() (30) (31) (30, 32) +15 20 +30 31 30 32 + +Dafny program verifier did not attempt verification +SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) +() (30) (31) (30, 32) +15 20 +30 31 30 32 + +Dafny program verifier did not attempt verification SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) () (30) (31) (30, 32) 15 20 diff --git a/Test/comp/Variance.dfy b/Test/comp/Variance.dfy index ddcde6cd7d7..6c198495209 100644 --- a/Test/comp/Variance.dfy +++ b/Test/comp/Variance.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --warn-deprecation:false +// RUN: %dafny /compile:0 /deprecation:0 "%s" > "%t" +// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Co<+T> = Co(z: T) { const x: int; diff --git a/Test/comp/Variance.dfy.expect b/Test/comp/Variance.dfy.expect index 5bb565b6bb4..cf08d82ac07 100644 --- a/Test/comp/Variance.dfy.expect +++ b/Test/comp/Variance.dfy.expect @@ -1,3 +1,67 @@ + +Dafny program verifier finished with 13 verified, 0 errors + +Dafny program verifier did not attempt verification +Co.Co(_module.Int) and Co.Co(_module.Int) +true0[]0000 +Non.Non(_module.Int) and Non.Non(_module.Int) +true0[]0000 +0 and 0 +_module.Int0[]0000 +CCo.CCo and CCo.CCo +true0[]0000 +CNon.CNon and CNon.CNon +true0[]0000 +CCon.CCon and CCon.CCon +_module.Int0[]0000 +Done + +Dafny program verifier did not attempt verification +Co.Co(_module.Int) and Co.Co(_module.Int) +true0[]0000 +Non.Non(_module.Int) and Non.Non(_module.Int) +true0[]0000 +0 and 0 +_module.Int0[]0000 +CCo.CCo and CCo.CCo +true0[]0000 +CNon.CNon and CNon.CNon +true0[]0000 +CCon.CCon and CCon.CCon +_module.Int0[]0000 +Done + +Dafny program verifier did not attempt verification +Co.Co(_module.Int) and Co.Co(_module.Int) +true0[]0000 +Non.Non(_module.Int) and Non.Non(_module.Int) +true0[]0000 +0 and 0 +_module.Int0[]0000 +CCo.CCo and CCo.CCo +true0[]0000 +CNon.CNon and CNon.CNon +true0[]0000 +CCon.CCon and CCon.CCon +_module.Int0[]0000 +Done + +Dafny program verifier did not attempt verification +Co.Co(_module.Int) and Co.Co(_module.Int) +true0[]0000 +Non.Non(_module.Int) and Non.Non(_module.Int) +true0[]0000 +0 and 0 +_module.Int0[]0000 +CCo.CCo and CCo.CCo +true0[]0000 +CNon.CNon and CNon.CNon +true0[]0000 +CCon.CCon and CCon.CCon +_module.Int0[]0000 +Done + +Dafny program verifier did not attempt verification Co.Co(_module.Int) and Co.Co(_module.Int) true0[]0000 Non.Non(_module.Int) and Non.Non(_module.Int) diff --git a/Test/comp/Various.dfy b/Test/comp/Various.dfy index 502801e4c2a..1f29c511a83 100644 --- a/Test/comp/Various.dfy +++ b/Test/comp/Various.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Match(tp: (nat, nat)) { match tp diff --git a/Test/comp/Various.dfy.expect b/Test/comp/Various.dfy.expect index 66f013c00f7..502e2d04792 100644 --- a/Test/comp/Various.dfy.expect +++ b/Test/comp/Various.dfy.expect @@ -1,3 +1,43 @@ + +Dafny program verifier finished with 4 verified, 0 errors + +Dafny program verifier did not attempt verification +match +1 +Kablammo!! +0 +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] + +Dafny program verifier did not attempt verification +match +1 +Kablammo!! +0 +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] + +Dafny program verifier did not attempt verification +match +1 +Kablammo!! +0 +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] + +Dafny program verifier did not attempt verification +match +1 +Kablammo!! +0 +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] + +Dafny program verifier did not attempt verification match 1 Kablammo!! diff --git a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy index 2cf77360cab..10fe57dec8f 100644 --- a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy +++ b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // An extremely small program intended to be the first target input for // brand new Dafny compilers. Avoids any use of strings (and therefore sequences) diff --git a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect index f32a5804e29..e1dcaef650b 100644 --- a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect +++ b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect @@ -1 +1,5 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification true \ No newline at end of file diff --git a/Test/comp/firstSteps/1_Calls-F.dfy b/Test/comp/firstSteps/1_Calls-F.dfy index 4fe5b83e551..32566f59f3b 100644 --- a/Test/comp/firstSteps/1_Calls-F.dfy +++ b/Test/comp/firstSteps/1_Calls-F.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/1_Calls-F.dfy.expect b/Test/comp/firstSteps/1_Calls-F.dfy.expect index 7ed6ff82de6..58e0a68ec1c 100644 --- a/Test/comp/firstSteps/1_Calls-F.dfy.expect +++ b/Test/comp/firstSteps/1_Calls-F.dfy.expect @@ -1 +1,5 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification 5 diff --git a/Test/comp/firstSteps/2_Modules.dfy b/Test/comp/firstSteps/2_Modules.dfy index d0effcb5a71..750b8d60c21 100644 --- a/Test/comp/firstSteps/2_Modules.dfy +++ b/Test/comp/firstSteps/2_Modules.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" module A { const i: nat := 1 diff --git a/Test/comp/firstSteps/2_Modules.dfy.expect b/Test/comp/firstSteps/2_Modules.dfy.expect index b85905ec0b9..9a4b57459c7 100644 --- a/Test/comp/firstSteps/2_Modules.dfy.expect +++ b/Test/comp/firstSteps/2_Modules.dfy.expect @@ -1 +1,5 @@ + +Dafny program verifier finished with 3 verified, 0 errors + +Dafny program verifier did not attempt verification 1 2 3 diff --git a/Test/comp/firstSteps/3_Calls-As.dfy b/Test/comp/firstSteps/3_Calls-As.dfy index 38889421865..f22bbdbd3f6 100644 --- a/Test/comp/firstSteps/3_Calls-As.dfy +++ b/Test/comp/firstSteps/3_Calls-As.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/3_Calls-As.dfy.expect b/Test/comp/firstSteps/3_Calls-As.dfy.expect index a1c59bb761f..eea6c52592c 100644 --- a/Test/comp/firstSteps/3_Calls-As.dfy.expect +++ b/Test/comp/firstSteps/3_Calls-As.dfy.expect @@ -1 +1,5 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification 0 0 false 0 false 0 diff --git a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy index 6a66781ff0d..89fb669dca0 100644 --- a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy +++ b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect index a8d09f0a6f5..e7498a27e3e 100644 --- a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect +++ b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect @@ -1,2 +1,6 @@ + +Dafny program verifier finished with 3 verified, 0 errors + +Dafny program verifier did not attempt verification 5 3 5 3 5 3 5 3 diff --git a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy index 1175b1eca8f..096523f8956 100644 --- a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy +++ b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect index ef3de96e567..8954da2b386 100644 --- a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect +++ b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect @@ -1,2 +1,6 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification 5 3 5 3 diff --git a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy index 5d970ac4de5..1fbaebdf4e9 100644 --- a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy +++ b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect index 4ff62e33956..b6ffe78bcbb 100644 --- a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect +++ b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 4 verified, 0 errors + +Dafny program verifier did not attempt verification 15 [0, 1, 2, 4] [0, 2, 4] diff --git a/Test/comp/firstSteps/7_Arrays.dfy b/Test/comp/firstSteps/7_Arrays.dfy index d02c942c9bb..07ddf89594b 100644 --- a/Test/comp/firstSteps/7_Arrays.dfy +++ b/Test/comp/firstSteps/7_Arrays.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // This fragment of comp/Arrays.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/7_Arrays.dfy.expect b/Test/comp/firstSteps/7_Arrays.dfy.expect index fa00285c692..75e824c80bb 100644 --- a/Test/comp/firstSteps/7_Arrays.dfy.expect +++ b/Test/comp/firstSteps/7_Arrays.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 7 verified, 0 errors + +Dafny program verifier did not attempt verification 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/comp/firstSteps/7_Dt_Algebraic.dfy b/Test/comp/firstSteps/7_Dt_Algebraic.dfy index 46a2995b37f..991462d8bdf 100644 --- a/Test/comp/firstSteps/7_Dt_Algebraic.dfy +++ b/Test/comp/firstSteps/7_Dt_Algebraic.dfy @@ -1,5 +1,7 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // This fragment of comp/Dt.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect deleted file mode 100644 index ba1b72ea6f7..00000000000 --- a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect +++ /dev/null @@ -1,11 +0,0 @@ -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} -42 'q' hello -1701 diff --git a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect index e3ff7faba6e..ec9b49fe420 100644 --- a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect +++ b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 7 verified, 0 errors + +Dafny program verifier did not attempt verification List.Nil List.Cons(5, List.Nil) (List.Nil, List.Cons(5, List.Nil)) @@ -9,3 +13,16 @@ List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, Li {Berry.Hallon, Berry.Smultron, Berry.Jordgubb} 42 'q' hello 1701 + +Dafny program verifier did not attempt verification +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} +42 'q' hello +1701 diff --git a/Test/dafny0/ArrayElementInitCompile.dfy b/Test/dafny0/ArrayElementInitCompile.dfy index 3714cf0fe8e..7d652486b9e 100644 --- a/Test/dafny0/ArrayElementInitCompile.dfy +++ b/Test/dafny0/ArrayElementInitCompile.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 /print:"%t.print" /rprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny0/ArrayElementInitCompile.dfy.expect b/Test/dafny0/ArrayElementInitCompile.dfy.expect index eaa3e759999..a5241c75f19 100644 --- a/Test/dafny0/ArrayElementInitCompile.dfy.expect +++ b/Test/dafny0/ArrayElementInitCompile.dfy.expect @@ -1,3 +1,79 @@ + +Dafny program verifier finished with 18 verified, 0 errors + +Dafny program verifier did not attempt verification +67 67 67 67 67 67 67 67 +0 1 2 3 +1 2 3 4 +2 3 4 5 +3 4 5 6 +4 5 6 7 +O . O . O . O . O . O . +12 12 12 12 12 12 12 12 12 12 12 12 +D E +y z +4 3 +7 +100 75 98 25 + +looks like this rocks +-2 -1 0 1 2 3 4 + +Dafny program verifier did not attempt verification +67 67 67 67 67 67 67 67 +0 1 2 3 +1 2 3 4 +2 3 4 5 +3 4 5 6 +4 5 6 7 +O . O . O . O . O . O . +12 12 12 12 12 12 12 12 12 12 12 12 +D E +y z +4 3 +7 +100 75 98 25 + +looks like this rocks +-2 -1 0 1 2 3 4 + +Dafny program verifier did not attempt verification +67 67 67 67 67 67 67 67 +0 1 2 3 +1 2 3 4 +2 3 4 5 +3 4 5 6 +4 5 6 7 +O . O . O . O . O . O . +12 12 12 12 12 12 12 12 12 12 12 12 +D E +y z +4 3 +7 +100 75 98 25 + +looks like this rocks +-2 -1 0 1 2 3 4 + +Dafny program verifier did not attempt verification +67 67 67 67 67 67 67 67 +0 1 2 3 +1 2 3 4 +2 3 4 5 +3 4 5 6 +4 5 6 7 +O . O . O . O . O . O . +12 12 12 12 12 12 12 12 12 12 12 12 +D E +y z +4 3 +7 +100 75 98 25 + +looks like this rocks +-2 -1 0 1 2 3 4 + +Dafny program verifier did not attempt verification 67 67 67 67 67 67 67 67 0 1 2 3 1 2 3 4 diff --git a/Test/dafny0/Bitvectors.dfy b/Test/dafny0/Bitvectors.dfy index 4c8e1094455..6e0c9270b99 100644 --- a/Test/dafny0/Bitvectors.dfy +++ b/Test/dafny0/Bitvectors.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /print:"%t.print" /env:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // Note the difference in Java output is due to // https://github.com/dafny-lang/dafny/issues/4152 diff --git a/Test/dafny0/Bitvectors.dfy.expect b/Test/dafny0/Bitvectors.dfy.expect index ed1c7328e83..51fda88f97b 100644 --- a/Test/dafny0/Bitvectors.dfy.expect +++ b/Test/dafny0/Bitvectors.dfy.expect @@ -1,3 +1,52 @@ + +Dafny program verifier finished with 11 verified, 0 errors + +Dafny program verifier did not attempt verification +4000 4000 4000 0 +1 2053 1099 +185 55 +2 4 +Comparisons: true true false false +bv16: 5 - 2 == 3 +bv16: 1 - 2 == 65535 +3 2 +0 0 +false true true false +bv67: 147573952589676412927 + 3 == 2 - 3 == 147573952589676412925 !! 3 == ! 147573952589676412924 == 3 +bv64: 18446744073709551615 + 3 == 2 - 3 == 18446744073709551613 !! 3 == ! 18446744073709551612 == 3 +bv53: 9007199254740991 + 3 == 2 - 3 == 9007199254740989 !! 3 == ! 9007199254740988 == 3 +bv33: 8589934591 + 3 == 2 - 3 == 8589934589 !! 3 == ! 8589934588 == 3 +bv32: 4294967295 + 3 == 2 - 3 == 4294967293 !! 3 == ! 4294967292 == 3 +bv31: 2147483647 + 3 == 2 - 3 == 2147483645 !! 3 == ! 2147483644 == 3 +bv16: 65535 + 3 == 2 - 3 == 65533 !! 3 == ! 65532 == 3 +bv15: 32767 + 3 == 2 - 3 == 32765 !! 3 == ! 32764 == 3 +bv8: 255 + 3 == 2 - 3 == 253 !! 3 == ! 252 == 3 +bv6: 63 + 3 == 2 - 3 == 61 !! 3 == ! 60 == 3 +bv1: 1 + 1 == 0 - 1 == 1 !! 1 == ! 0 == 1 +bv0: 0 + 0 == 0 - 0 == 0 !! 0 == ! 0 == 0 +bv2: + 3 + 2 == 1 + 3 - 2 == 1 + 3 * 2 == 2 + 3 / 2 == 1 + 3 % 2 == 1 +PrintShifts: bv67: 5 40 40 40 +PrintShifts: bv32: 5 40 40 40 +PrintShifts: bv7: 5 40 40 40 +PrintShifts: bv2: 1 2 2 2 +PrintShifts: bv0: 0 0 0 0 +PrintShifts: bv67 again: 2 2 2 73786976294838206465 +PrintShifts: bv32 again: 8000 8000 2147487648 3221227472 +PrintShifts: bv7 again: 124 124 124 127 +PrintShifts: bv0 again: 0 0 0 0 +PrintRotates: bv12: 5 5 +PrintRotates: bv7: 5 5 +PrintRotates: bv2: 1 1 +PrintRotates: bv0: 0 0 +PrintRotates: bv12 again: 976 976 +PrintRotates: bv7 again: 127 127 + +Dafny program verifier did not attempt verification 4000 4000 4000 0 1 2053 1099 185 55 diff --git a/Test/dafny0/Constant.dfy b/Test/dafny0/Constant.dfy index 1fdeedc3335..f021e7d4482 100644 --- a/Test/dafny0/Constant.dfy +++ b/Test/dafny0/Constant.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" const one:int := 1 const two:int := one * 2 diff --git a/Test/dafny0/Constant.dfy.expect b/Test/dafny0/Constant.dfy.expect index 1a7b981715f..6099b08c38c 100644 --- a/Test/dafny0/Constant.dfy.expect +++ b/Test/dafny0/Constant.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 17 verified, 0 errors one := 1 two := 2 three := 3 diff --git a/Test/dafny0/Deprecation.dfy b/Test/dafny0/Deprecation.dfy index 86521043d43..8c9c688d463 100644 --- a/Test/dafny0/Deprecation.dfy +++ b/Test/dafny0/Deprecation.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // This file contains tests for messags about various deprecated features. // As those features go away completely, so can the corresponding tests. diff --git a/Test/dafny0/Deprecation.dfy.expect b/Test/dafny0/Deprecation.dfy.expect index 0dffd975ac7..4ff88d31ade 100644 --- a/Test/dafny0/Deprecation.dfy.expect +++ b/Test/dafny0/Deprecation.dfy.expect @@ -1 +1,8 @@ +Deprecation.dfy(16,13): Warning: constructors no longer need 'this' to be listed in modifies clauses +Deprecation.dfy(23,0): Warning: the old keyword phrase 'inductive predicate' has been renamed to 'least predicate' +Deprecation.dfy(26,0): Warning: the old keyword 'copredicate' has been renamed to the keyword phrase 'greatest predicate' +Deprecation.dfy(29,0): Warning: the old keyword phrase 'inductive lemma' has been renamed to 'least lemma' +Deprecation.dfy(32,0): Warning: the old keyword 'colemma' has been renamed to the keyword phrase 'greatest lemma' + +Dafny program verifier finished with 0 verified, 0 errors yet here we are diff --git a/Test/dafny0/Deprecation.dfy.verifier.expect b/Test/dafny0/Deprecation.dfy.verifier.expect deleted file mode 100644 index c0851e9888c..00000000000 --- a/Test/dafny0/Deprecation.dfy.verifier.expect +++ /dev/null @@ -1,5 +0,0 @@ -Deprecation.dfy(15,13): Warning: constructors no longer need 'this' to be listed in modifies clauses -Deprecation.dfy(22,0): Warning: the old keyword phrase 'inductive predicate' has been renamed to 'least predicate' -Deprecation.dfy(25,0): Warning: the old keyword 'copredicate' has been renamed to the keyword phrase 'greatest predicate' -Deprecation.dfy(28,0): Warning: the old keyword phrase 'inductive lemma' has been renamed to 'least lemma' -Deprecation.dfy(31,0): Warning: the old keyword 'colemma' has been renamed to the keyword phrase 'greatest lemma' diff --git a/Test/dafny0/DiscoverBounds.dfy b/Test/dafny0/DiscoverBounds.dfy index 18e56158613..31f9717ee79 100644 --- a/Test/dafny0/DiscoverBounds.dfy +++ b/Test/dafny0/DiscoverBounds.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /print:"%t.print" /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype NT = x | 0 <= x < 100 newtype UT = NT diff --git a/Test/dafny0/DiscoverBounds.dfy.expect b/Test/dafny0/DiscoverBounds.dfy.expect index 909a58326d0..e43954c7be1 100644 --- a/Test/dafny0/DiscoverBounds.dfy.expect +++ b/Test/dafny0/DiscoverBounds.dfy.expect @@ -1,3 +1,10 @@ +DiscoverBounds.dfy(32,7): Warning: /!\ No terms found to trigger on. +DiscoverBounds.dfy(33,7): Warning: /!\ No terms found to trigger on. +DiscoverBounds.dfy(34,7): Warning: /!\ No terms found to trigger on. +DiscoverBounds.dfy(35,7): Warning: /!\ No terms found to trigger on. +DiscoverBounds.dfy(36,7): Warning: /!\ No terms found to trigger on. + +Dafny program verifier finished with 7 verified, 0 errors 0 0 -2 diff --git a/Test/dafny0/DiscoverBounds.dfy.verifier.expect b/Test/dafny0/DiscoverBounds.dfy.verifier.expect deleted file mode 100644 index 7c4de01ee0e..00000000000 --- a/Test/dafny0/DiscoverBounds.dfy.verifier.expect +++ /dev/null @@ -1,5 +0,0 @@ -DiscoverBounds.dfy(31,7): Warning: /!\ No terms found to trigger on. -DiscoverBounds.dfy(32,7): Warning: /!\ No terms found to trigger on. -DiscoverBounds.dfy(33,7): Warning: /!\ No terms found to trigger on. -DiscoverBounds.dfy(34,7): Warning: /!\ No terms found to trigger on. -DiscoverBounds.dfy(35,7): Warning: /!\ No terms found to trigger on. diff --git a/Test/dafny0/DividedConstructors.dfy b/Test/dafny0/DividedConstructors.dfy index e6f63a35f11..169bf4ee7df 100644 --- a/Test/dafny0/DividedConstructors.dfy +++ b/Test/dafny0/DividedConstructors.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /env:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var m := new M0.MyClass.Init(20); diff --git a/Test/dafny0/DividedConstructors.dfy.expect b/Test/dafny0/DividedConstructors.dfy.expect index 2dcc1ba6402..eaa3ed7d379 100644 --- a/Test/dafny0/DividedConstructors.dfy.expect +++ b/Test/dafny0/DividedConstructors.dfy.expect @@ -1,2 +1,5 @@ +DividedConstructors.dfy(62,9): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier finished with 17 verified, 0 errors 37, 17, 3.14 false, true diff --git a/Test/dafny0/DividedConstructors.dfy.verifier.expect b/Test/dafny0/DividedConstructors.dfy.verifier.expect deleted file mode 100644 index f3fdfadddbf..00000000000 --- a/Test/dafny0/DividedConstructors.dfy.verifier.expect +++ /dev/null @@ -1 +0,0 @@ -DividedConstructors.dfy(61,9): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny0/EqualityTypesCompile.dfy b/Test/dafny0/EqualityTypesCompile.dfy index a36d1818c1d..de7954710e9 100644 --- a/Test/dafny0/EqualityTypesCompile.dfy +++ b/Test/dafny0/EqualityTypesCompile.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype List = Nil | Cons(A, List) | ICons(int, List) datatype TwoLists = Two(List, List) diff --git a/Test/dafny0/EqualityTypesCompile.dfy.expect b/Test/dafny0/EqualityTypesCompile.dfy.expect index 0246dc39633..d2f1950e7f7 100644 --- a/Test/dafny0/EqualityTypesCompile.dfy.expect +++ b/Test/dafny0/EqualityTypesCompile.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 1 verified, 0 errors from M: false from N: false from H: false diff --git a/Test/dafny0/ForallCompilationNewSyntax.dfy b/Test/dafny0/ForallCompilationNewSyntax.dfy index ac354d6338c..b7132df78ae 100644 --- a/Test/dafny0/ForallCompilationNewSyntax.dfy +++ b/Test/dafny0/ForallCompilationNewSyntax.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --quantifier-syntax:4 --relax-definite-assignment +// RUN: %baredafny run %args --relax-definite-assignment --quantifier-syntax:4 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var c := new MyClass; diff --git a/Test/dafny0/ForallCompilationNewSyntax.dfy.expect b/Test/dafny0/ForallCompilationNewSyntax.dfy.expect index e69de29bb2d..5b7ec4613bb 100644 --- a/Test/dafny0/ForallCompilationNewSyntax.dfy.expect +++ b/Test/dafny0/ForallCompilationNewSyntax.dfy.expect @@ -0,0 +1,6 @@ +ForallCompilationNewSyntax.dfy(26,4): Warning: /!\ No terms found to trigger on. +ForallCompilationNewSyntax.dfy(35,4): Warning: /!\ No terms found to trigger on. +ForallCompilationNewSyntax.dfy(44,4): Warning: /!\ No terms found to trigger on. +ForallCompilationNewSyntax.dfy(64,4): Warning: /!\ No trigger covering all quantified variables found. + +Dafny program verifier finished with 14 verified, 0 errors diff --git a/Test/dafny0/ForallCompilationNewSyntax.dfy.verifier.expect b/Test/dafny0/ForallCompilationNewSyntax.dfy.verifier.expect deleted file mode 100644 index a94cd5ea608..00000000000 --- a/Test/dafny0/ForallCompilationNewSyntax.dfy.verifier.expect +++ /dev/null @@ -1,4 +0,0 @@ -ForallCompilationNewSyntax.dfy(25,4): Warning: /!\ No terms found to trigger on. -ForallCompilationNewSyntax.dfy(34,4): Warning: /!\ No terms found to trigger on. -ForallCompilationNewSyntax.dfy(43,4): Warning: /!\ No terms found to trigger on. -ForallCompilationNewSyntax.dfy(63,4): Warning: /!\ No trigger covering all quantified variables found. diff --git a/Test/dafny0/GhostGuards.dfy b/Test/dafny0/GhostGuards.dfy index 49877792a47..b17c98662ce 100644 --- a/Test/dafny0/GhostGuards.dfy +++ b/Test/dafny0/GhostGuards.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /printTooltips /rprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Dt = Green | Dog diff --git a/Test/dafny0/GhostGuards.dfy.expect b/Test/dafny0/GhostGuards.dfy.expect index e69de29bb2d..8bb8a71d69d 100644 --- a/Test/dafny0/GhostGuards.dfy.expect +++ b/Test/dafny0/GhostGuards.dfy.expect @@ -0,0 +1,7 @@ +GhostGuards.dfy(12,9): Info: ghost if +GhostGuards.dfy(18,2): Info: ghost if +GhostGuards.dfy(28,2): Info: ghost while +GhostGuards.dfy(41,2): Info: ghost while +GhostGuards.dfy(54,2): Info: ghost match + +Dafny program verifier finished with 1 verified, 0 errors diff --git a/Test/dafny0/GhostGuards.dfy.verifier.expect b/Test/dafny0/GhostGuards.dfy.verifier.expect deleted file mode 100644 index 7e2637d73bb..00000000000 --- a/Test/dafny0/GhostGuards.dfy.verifier.expect +++ /dev/null @@ -1,5 +0,0 @@ -GhostGuards.dfy(11,9): Info: ghost if -GhostGuards.dfy(17,2): Info: ghost if -GhostGuards.dfy(27,2): Info: ghost while -GhostGuards.dfy(40,2): Info: ghost while -GhostGuards.dfy(53,2): Info: ghost match diff --git a/Test/dafny0/GhostITECompilation.dfy b/Test/dafny0/GhostITECompilation.dfy index bd7cfa28a95..d761ddbc6ea 100644 --- a/Test/dafny0/GhostITECompilation.dfy +++ b/Test/dafny0/GhostITECompilation.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --function-syntax:4 --relax-definite-assignment +// RUN: %dafny /compile:0 /functionSyntax:4 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" function F(x: nat, ghost y: nat): nat { diff --git a/Test/dafny0/GhostITECompilation.dfy.expect b/Test/dafny0/GhostITECompilation.dfy.expect index b4988e5cf11..1ec406bf52c 100644 --- a/Test/dafny0/GhostITECompilation.dfy.expect +++ b/Test/dafny0/GhostITECompilation.dfy.expect @@ -1,3 +1,31 @@ + +Dafny program verifier finished with 6 verified, 0 errors + +Dafny program verifier did not attempt verification +65 +65 +65 +65 + +Dafny program verifier did not attempt verification +65 +65 +65 +65 + +Dafny program verifier did not attempt verification +65 +65 +65 +65 + +Dafny program verifier did not attempt verification +65 +65 +65 +65 + +Dafny program verifier did not attempt verification 65 65 65 diff --git a/Test/dafny0/InitialValues.dfy b/Test/dafny0/InitialValues.dfy index 0848d244d71..7dcb05cc9c9 100644 --- a/Test/dafny0/InitialValues.dfy +++ b/Test/dafny0/InitialValues.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny0/InitialValues.dfy.expect b/Test/dafny0/InitialValues.dfy.expect index 18903dcc3dd..ada1b783c16 100644 --- a/Test/dafny0/InitialValues.dfy.expect +++ b/Test/dafny0/InitialValues.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 2 verified, 0 errors r= 0.0 s= 3.4 a= 0.0 b= 3.4 z= 0.0 a==z = true diff --git a/Test/dafny0/MatchBraces.dfy b/Test/dafny0/MatchBraces.dfy index 4ac380f2739..ddd1924774b 100644 --- a/Test/dafny0/MatchBraces.dfy +++ b/Test/dafny0/MatchBraces.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /print:"%t.print" /env:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Color = Red | Green | Blue diff --git a/Test/dafny0/MatchBraces.dfy.expect b/Test/dafny0/MatchBraces.dfy.expect index 4f89bff47e5..88f6cf4f56e 100644 --- a/Test/dafny0/MatchBraces.dfy.expect +++ b/Test/dafny0/MatchBraces.dfy.expect @@ -1,2 +1,10 @@ + +Dafny program verifier finished with 5 verified, 0 errors + +Dafny program verifier did not attempt verification +7 0.18 Color.Red 13 12 +11 98.0 Color.Green 14 115 + +Dafny program verifier did not attempt verification 7 0.18 Color.Red 13 12 11 98.0 Color.Green 14 115 diff --git a/Test/dafny0/MoForallCompilation.dfy b/Test/dafny0/MoForallCompilation.dfy index af080853463..835712edbce 100644 --- a/Test/dafny0/MoForallCompilation.dfy +++ b/Test/dafny0/MoForallCompilation.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { TestAggregateArrayUpdate(); diff --git a/Test/dafny0/MoForallCompilation.dfy.expect b/Test/dafny0/MoForallCompilation.dfy.expect index 7bb606c1528..c431c74c6aa 100644 --- a/Test/dafny0/MoForallCompilation.dfy.expect +++ b/Test/dafny0/MoForallCompilation.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 18 verified, 0 errors -4.0 -3.0 -2.0 -1.0 0.0 1.0 2.0 3.0 7.0 6.0 5.0 4.0 3.0 2.0 1.0 0.0 true true true true true true false false diff --git a/Test/dafny0/NameclashesCompile.dfy b/Test/dafny0/NameclashesCompile.dfy index 46cae4b2338..4d06065c675 100644 --- a/Test/dafny0/NameclashesCompile.dfy +++ b/Test/dafny0/NameclashesCompile.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var r0, r1; diff --git a/Test/dafny0/NameclashesCompile.dfy.expect b/Test/dafny0/NameclashesCompile.dfy.expect index f001bdaeb1e..1434bb632f6 100644 --- a/Test/dafny0/NameclashesCompile.dfy.expect +++ b/Test/dafny0/NameclashesCompile.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 2 verified, 0 errors 15.0 15.1 94 99 0.8 14.3 14.4 18.9 18.92 diff --git a/Test/dafny0/NonZeroInitializationCompile.dfy b/Test/dafny0/NonZeroInitializationCompile.dfy index 2fedae6d60d..48b61a39369 100644 --- a/Test/dafny0/NonZeroInitializationCompile.dfy +++ b/Test/dafny0/NonZeroInitializationCompile.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" type MyInt = x | 6 <= x witness 6 newtype MyNewInt = x | 6 <= x witness 12 diff --git a/Test/dafny0/NonZeroInitializationCompile.dfy.expect b/Test/dafny0/NonZeroInitializationCompile.dfy.expect index c682dccf3fc..72b333efb85 100644 --- a/Test/dafny0/NonZeroInitializationCompile.dfy.expect +++ b/Test/dafny0/NonZeroInitializationCompile.dfy.expect @@ -1,3 +1,76 @@ + +Dafny program verifier finished with 15 verified, 0 errors + +Dafny program verifier did not attempt verification +These are the arbitrary values chosen by the compiler: 6, 12 +short, short': 0, -35 +nes: {57} +f0, f1: (0, false), (29, true) +dt: Dt.Atom(-35) +cl { u: 12, x: 0, r: 3.14, nes: {57} } +cl' { u: 12, x: 0, ': 3.14, nes: {20, 57} } + +x: real :: 0.0 versus 0.0 +ch: char :: 'D' versus 'D' +s: set :: {} versus {} +d: Xt :: AdvancedZeroInitialization.Xt.MakeXt(0, []) versus AdvancedZeroInitialization.Xt.MakeXt(0, []) +y: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, []) versus AdvancedZeroInitialization.Yt.MakeYt(0, []) +z: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization.Yt.MakeYt(0, 0) + +x: real :: 0.0 versus 0.0 +ch: char :: 'D' versus 'D' +s: set :: {} versus {} +d: Xt :: AdvancedZeroInitialization.Xt.MakeXt(0, []) versus AdvancedZeroInitialization.Xt.MakeXt(0, []) +y: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, []) versus AdvancedZeroInitialization.Yt.MakeYt(0, []) +z: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization.Yt.MakeYt(0, 0) + +Dafny program verifier did not attempt verification +These are the arbitrary values chosen by the compiler: 6, 12 +short, short': 0, -35 +nes: {57} +f0, f1: (0, false), (29, true) +dt: Dt.Atom(-35) +cl { u: 12, x: 0, r: 3.14, nes: {57} } +cl' { u: 12, x: 0, ': 3.14, nes: {20, 57} } + +x: real :: 0.0 versus 0.0 +ch: char :: 'D' versus 'D' +s: set :: {} versus {} +d: Xt :: AdvancedZeroInitialization.Xt.MakeXt(0, []) versus AdvancedZeroInitialization.Xt.MakeXt(0, []) +y: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, []) versus AdvancedZeroInitialization.Yt.MakeYt(0, []) +z: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization.Yt.MakeYt(0, 0) + +x: real :: 0.0 versus 0.0 +ch: char :: 'D' versus 'D' +s: set :: {} versus {} +d: Xt :: AdvancedZeroInitialization.Xt.MakeXt(0, []) versus AdvancedZeroInitialization.Xt.MakeXt(0, []) +y: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, []) versus AdvancedZeroInitialization.Yt.MakeYt(0, []) +z: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization.Yt.MakeYt(0, 0) + +Dafny program verifier did not attempt verification +These are the arbitrary values chosen by the compiler: 6, 12 +short, short': 0, -35 +nes: {57} +f0, f1: (0, false), (29, true) +dt: Dt.Atom(-35) +cl { u: 12, x: 0, r: 3.14, nes: {57} } +cl' { u: 12, x: 0, ': 3.14, nes: {20, 57} } + +x: real :: 0.0 versus 0.0 +ch: char :: 'D' versus 'D' +s: set :: {} versus {} +d: Xt :: AdvancedZeroInitialization.Xt.MakeXt(0, []) versus AdvancedZeroInitialization.Xt.MakeXt(0, []) +y: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, []) versus AdvancedZeroInitialization.Yt.MakeYt(0, []) +z: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization.Yt.MakeYt(0, 0) + +x: real :: 0.0 versus 0.0 +ch: char :: 'D' versus 'D' +s: set :: {} versus {} +d: Xt :: AdvancedZeroInitialization.Xt.MakeXt(0, []) versus AdvancedZeroInitialization.Xt.MakeXt(0, []) +y: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, []) versus AdvancedZeroInitialization.Yt.MakeYt(0, []) +z: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization.Yt.MakeYt(0, 0) + +Dafny program verifier did not attempt verification These are the arbitrary values chosen by the compiler: 6, 12 short, short': 0, -35 nes: {57} diff --git a/Test/dafny0/NullComparisonWarnings.dfy b/Test/dafny0/NullComparisonWarnings.dfy index 35fd5ffb3f4..eb9183040bc 100644 --- a/Test/dafny0/NullComparisonWarnings.dfy +++ b/Test/dafny0/NullComparisonWarnings.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { print "despite the warnings, the program still compiles\n"; diff --git a/Test/dafny0/NullComparisonWarnings.dfy.expect b/Test/dafny0/NullComparisonWarnings.dfy.expect index f2b4545fac7..d8cf4a9960c 100644 --- a/Test/dafny0/NullComparisonWarnings.dfy.expect +++ b/Test/dafny0/NullComparisonWarnings.dfy.expect @@ -1 +1,14 @@ +NullComparisonWarnings.dfy(27,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(28,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'y' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(29,14): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for field 'next' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(30,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(31,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'y' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(32,14): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for field 'next' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(34,12): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(37,12): Warning: the type of the other operand is a set of non-null elements, so the inclusion test of 'null' will always return 'false' +NullComparisonWarnings.dfy(38,12): Warning: the type of the other operand is a set of non-null elements, so the non-inclusion test of 'null' will always return 'true' +NullComparisonWarnings.dfy(40,41): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'u' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(45,12): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' + +Dafny program verifier finished with 4 verified, 0 errors despite the warnings, the program still compiles diff --git a/Test/dafny0/NullComparisonWarnings.dfy.verifier.expect b/Test/dafny0/NullComparisonWarnings.dfy.verifier.expect deleted file mode 100644 index 24f9074ecc9..00000000000 --- a/Test/dafny0/NullComparisonWarnings.dfy.verifier.expect +++ /dev/null @@ -1,11 +0,0 @@ -NullComparisonWarnings.dfy(26,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(27,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'y' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(28,14): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for field 'next' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(29,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(30,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'y' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(31,14): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for field 'next' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(33,12): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(36,12): Warning: the type of the other operand is a set of non-null elements, so the inclusion test of 'null' will always return 'false' -NullComparisonWarnings.dfy(37,12): Warning: the type of the other operand is a set of non-null elements, so the non-inclusion test of 'null' will always return 'true' -NullComparisonWarnings.dfy(39,41): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'u' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(44,12): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' diff --git a/Test/dafny0/PrintUTF8.dfy b/Test/dafny0/PrintUTF8.dfy index eff7baa32a9..5d4e376b19d 100644 --- a/Test/dafny0/PrintUTF8.dfy +++ b/Test/dafny0/PrintUTF8.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { print "Mikaël fixed UTF8\n"; diff --git a/Test/dafny0/PrintUTF8.dfy.expect b/Test/dafny0/PrintUTF8.dfy.expect index 818549280d3..52a23e906cc 100644 --- a/Test/dafny0/PrintUTF8.dfy.expect +++ b/Test/dafny0/PrintUTF8.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 0 verified, 0 errors Mikaël fixed UTF8 diff --git a/Test/dafny0/RangeCompilation.dfy b/Test/dafny0/RangeCompilation.dfy index 3f3e6aed0f8..53a8d6e33e5 100644 --- a/Test/dafny0/RangeCompilation.dfy +++ b/Test/dafny0/RangeCompilation.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype Byte = x | 0 <= x < 256 predicate GoodByte(b: Byte) { diff --git a/Test/dafny0/RangeCompilation.dfy.expect b/Test/dafny0/RangeCompilation.dfy.expect index 9e0f9e5f028..82fbbb9b698 100644 --- a/Test/dafny0/RangeCompilation.dfy.expect +++ b/Test/dafny0/RangeCompilation.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 4 verified, 0 errors b=2 i=4 diff --git a/Test/dafny0/SeqFromArray.dfy b/Test/dafny0/SeqFromArray.dfy index 39f72303d18..6bab732c906 100644 --- a/Test/dafny0/SeqFromArray.dfy +++ b/Test/dafny0/SeqFromArray.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // /autoTriggers:1 added to suppress instabilities diff --git a/Test/dafny0/SeqFromArray.dfy.expect b/Test/dafny0/SeqFromArray.dfy.expect index e69de29bb2d..1981561ca00 100644 --- a/Test/dafny0/SeqFromArray.dfy.expect +++ b/Test/dafny0/SeqFromArray.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 10 verified, 0 errors diff --git a/Test/dafny0/SharedDestructorsCompile.dfy b/Test/dafny0/SharedDestructorsCompile.dfy index 64d8b245b58..8171cf72404 100644 --- a/Test/dafny0/SharedDestructorsCompile.dfy +++ b/Test/dafny0/SharedDestructorsCompile.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Dt = | A(x: int, y: real) diff --git a/Test/dafny0/SharedDestructorsCompile.dfy.expect b/Test/dafny0/SharedDestructorsCompile.dfy.expect index 060d152d77b..e037db03c40 100644 --- a/Test/dafny0/SharedDestructorsCompile.dfy.expect +++ b/Test/dafny0/SharedDestructorsCompile.dfy.expect @@ -1,3 +1,20 @@ + +Dafny program verifier finished with 3 verified, 0 errors + +Dafny program verifier did not attempt verification +Dt.A(10, 12.0): x=10 y=12.0 +Dt.B(_module.MyClass, 6): h=_module.MyClass x=6 +Dt.C(3.14): y=3.14 +Dt.C(3.14) +Dt.A(71, 0.1) +Klef.C3(44, 100, 66, 200) +Datte.AA(10, 2) Datte.AA(10, 5) +Datte.BB(false, 12) Datte.BB(false, 6) +Datte.CC(3.2) Datte.CC(3.4) +Datte.DD(100, {7}, 5, 9.0) Datte.DD(30, {7}, 5, 9.0) +Datte.DD(100, {7}, 5, 9.0) Datte.DD(30, {7}, 5, 2.0) + +Dafny program verifier did not attempt verification Dt.A(10, 12.0): x=10 y=12.0 Dt.B(_module.MyClass, 6): h=_module.MyClass x=6 Dt.C(3.14): y=3.14 diff --git a/Test/dafny0/SiblingImports.dfy b/Test/dafny0/SiblingImports.dfy index 756e4b253f3..3fb01d9d1b8 100644 --- a/Test/dafny0/SiblingImports.dfy +++ b/Test/dafny0/SiblingImports.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { ClientA.Test(); diff --git a/Test/dafny0/SiblingImports.dfy.expect b/Test/dafny0/SiblingImports.dfy.expect index fb6171563ac..ba4df82a925 100644 --- a/Test/dafny0/SiblingImports.dfy.expect +++ b/Test/dafny0/SiblingImports.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 1 verified, 0 errors ClientA.Inner.Five: 5 ClientB.Inner.Five: 5 ClientC.Inner.Five: 5 diff --git a/Test/dafny0/TypeConversionsCompile.dfy b/Test/dafny0/TypeConversionsCompile.dfy index 5b1e32b9258..90075fb74a8 100644 --- a/Test/dafny0/TypeConversionsCompile.dfy +++ b/Test/dafny0/TypeConversionsCompile.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /env:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Note the difference in output in Java's case is due to // https://github.com/dafny-lang/dafny/issues/4152 diff --git a/Test/dafny0/TypeConversionsCompile.dfy.expect b/Test/dafny0/TypeConversionsCompile.dfy.expect index 78990cf4a30..893938a0226 100644 --- a/Test/dafny0/TypeConversionsCompile.dfy.expect +++ b/Test/dafny0/TypeConversionsCompile.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 8 verified, 0 errors 3 4 5.0 5 6 -1.0 147573952589676412927 4294967295 127 0 got 3, expected 3 got 0, expected 0 diff --git a/Test/dafny0/TypeMembers.dfy b/Test/dafny0/TypeMembers.dfy index f2bea4039c9..2ab57767ad5 100644 --- a/Test/dafny0/TypeMembers.dfy +++ b/Test/dafny0/TypeMembers.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { BasicTests(); diff --git a/Test/dafny0/TypeMembers.dfy.expect b/Test/dafny0/TypeMembers.dfy.expect index 923cb07e841..1d406ca85dc 100644 --- a/Test/dafny0/TypeMembers.dfy.expect +++ b/Test/dafny0/TypeMembers.dfy.expect @@ -1,3 +1,32 @@ +TypeMembers.dfy(117,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect + +Dafny program verifier finished with 29 verified, 0 errors +TypeMembers.dfy(117,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect + +Dafny program verifier did not attempt verification +DaTy.Yes 10 26 +8 11 10 11 10 +35 10 14 +22 22 +9 Dt.Business(false, 5) +76 77 +19 +0 0 +19 82 83 +93 Co.Cobalt +27 27 +18 +11 18 18 22 +15 30 29 +95 11 +162 165 +11 18 18 3 +15 30 29 +95 11 +162 165 +TypeMembers.dfy(117,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect + +Dafny program verifier did not attempt verification DaTy.Yes 10 26 8 11 10 11 10 35 10 14 diff --git a/Test/dafny0/TypeMembers.dfy.verifier.expect b/Test/dafny0/TypeMembers.dfy.verifier.expect deleted file mode 100644 index 62f55c943d2..00000000000 --- a/Test/dafny0/TypeMembers.dfy.verifier.expect +++ /dev/null @@ -1 +0,0 @@ -TypeMembers.dfy(114,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect diff --git a/Test/dafny0/Wellfounded.dfy b/Test/dafny0/Wellfounded.dfy index 7ec2be06b38..2ed488974c6 100644 --- a/Test/dafny0/Wellfounded.dfy +++ b/Test/dafny0/Wellfounded.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var d := Int(10); diff --git a/Test/dafny0/Wellfounded.dfy.expect b/Test/dafny0/Wellfounded.dfy.expect index 52742a67098..73d7a1e7ca2 100644 --- a/Test/dafny0/Wellfounded.dfy.expect +++ b/Test/dafny0/Wellfounded.dfy.expect @@ -1,3 +1,7 @@ +Wellfounded.dfy(49,14): Warning: /!\ No terms found to trigger on. +Wellfounded.dfy(77,5): Warning: /!\ No terms found to trigger on. + +Dafny program verifier finished with 3 verified, 0 errors M(d, d) = 10 M(a1, d) = 10 M(a2, d) = 10 diff --git a/Test/dafny0/Wellfounded.dfy.verifier.expect b/Test/dafny0/Wellfounded.dfy.verifier.expect deleted file mode 100644 index e61f12f01b2..00000000000 --- a/Test/dafny0/Wellfounded.dfy.verifier.expect +++ /dev/null @@ -1,2 +0,0 @@ -Wellfounded.dfy(48,14): Warning: /!\ No terms found to trigger on. -Wellfounded.dfy(76,5): Warning: /!\ No terms found to trigger on. diff --git a/Test/dafny2/MinWindowMax.dfy b/Test/dafny2/MinWindowMax.dfy index 32342cdd8b9..71ccb539d7d 100644 --- a/Test/dafny2/MinWindowMax.dfy +++ b/Test/dafny2/MinWindowMax.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Minimum window-max problem. // Rustan Leino diff --git a/Test/dafny2/MinWindowMax.dfy.expect b/Test/dafny2/MinWindowMax.dfy.expect index 1bb5609994e..f6f6e52d9bc 100644 --- a/Test/dafny2/MinWindowMax.dfy.expect +++ b/Test/dafny2/MinWindowMax.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 12 verified, 0 errors Window size 1: min window-max is -5 Window size 2: min window-max is 2 Window size 3: min window-max is 3 diff --git a/Test/dafny2/SmallestMissingNumber-functional.dfy b/Test/dafny2/SmallestMissingNumber-functional.dfy index a1544efab5f..047475c2680 100644 --- a/Test/dafny2/SmallestMissingNumber-functional.dfy +++ b/Test/dafny2/SmallestMissingNumber-functional.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Smallest missing number problem, functional version without duplicates. // A purely functional solution to the programming problem in Richard Bird's diff --git a/Test/dafny2/SmallestMissingNumber-functional.dfy.expect b/Test/dafny2/SmallestMissingNumber-functional.dfy.expect index 5d75da8ddd3..208b183ee3e 100644 --- a/Test/dafny2/SmallestMissingNumber-functional.dfy.expect +++ b/Test/dafny2/SmallestMissingNumber-functional.dfy.expect @@ -1 +1,4 @@ +SmallestMissingNumber-functional.dfy(213,11): Warning: /!\ No terms found to trigger on. + +Dafny program verifier finished with 21 verified, 0 errors 0 1 4 5 diff --git a/Test/dafny2/SmallestMissingNumber-functional.dfy.verifier.expect b/Test/dafny2/SmallestMissingNumber-functional.dfy.verifier.expect deleted file mode 100644 index cf10280f376..00000000000 --- a/Test/dafny2/SmallestMissingNumber-functional.dfy.verifier.expect +++ /dev/null @@ -1 +0,0 @@ -SmallestMissingNumber-functional.dfy(212,11): Warning: /!\ No terms found to trigger on. diff --git a/Test/dafny2/SmallestMissingNumber-imperative.dfy b/Test/dafny2/SmallestMissingNumber-imperative.dfy index 314bf4e464c..b8539481a54 100644 --- a/Test/dafny2/SmallestMissingNumber-imperative.dfy +++ b/Test/dafny2/SmallestMissingNumber-imperative.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Smallest missing number. // An imperative solution to the programming problem in Richard Bird's diff --git a/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect b/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect index cfb25913041..bc4a868fdff 100644 --- a/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect +++ b/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 8 verified, 0 errors 0 1 5 diff --git a/Test/dafny2/StoreAndRetrieve.dfy b/Test/dafny2/StoreAndRetrieve.dfy index f19239e234a..99a72697a71 100644 --- a/Test/dafny2/StoreAndRetrieve.dfy +++ b/Test/dafny2/StoreAndRetrieve.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // This file shows an example program that uses both refinement and :autocontracts // specify a class that stores a set of things that can be retrieved using a query. diff --git a/Test/dafny2/StoreAndRetrieve.dfy.expect b/Test/dafny2/StoreAndRetrieve.dfy.expect index 030f5bfab39..1d7d71d5202 100644 --- a/Test/dafny2/StoreAndRetrieve.dfy.expect +++ b/Test/dafny2/StoreAndRetrieve.dfy.expect @@ -1 +1,39 @@ +StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier finished with 19 verified, 0 errors +StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +20.3 +StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +20.3 +StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +20.3 +StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification 20.3 diff --git a/Test/dafny2/StoreAndRetrieve.dfy.verifier.expect b/Test/dafny2/StoreAndRetrieve.dfy.verifier.expect deleted file mode 100644 index 0c3d269cdc1..00000000000 --- a/Test/dafny2/StoreAndRetrieve.dfy.verifier.expect +++ /dev/null @@ -1,5 +0,0 @@ -StoreAndRetrieve.dfy(60,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(65,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(66,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(81,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(92,9): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny2/Z-BirthdayBook.dfy b/Test/dafny2/Z-BirthdayBook.dfy index 10fc159b1a3..d9580e7cca2 100644 --- a/Test/dafny2/Z-BirthdayBook.dfy +++ b/Test/dafny2/Z-BirthdayBook.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // The birthday book example from the Z Reference Manual // Rustan Leino, 22 Feb 2018 diff --git a/Test/dafny2/Z-BirthdayBook.dfy.expect b/Test/dafny2/Z-BirthdayBook.dfy.expect index c6f2230e21a..31762ddd5b4 100644 --- a/Test/dafny2/Z-BirthdayBook.dfy.expect +++ b/Test/dafny2/Z-BirthdayBook.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 21 verified, 0 errors Send cards to: {['M', 'i', 'k', 'e'], ['S', 'u', 's', 'a', 'n']} diff --git a/Test/dafny2/pq-intrinsic-extrinsic.dfy b/Test/dafny2/pq-intrinsic-extrinsic.dfy index 588c2f9e2b1..c797c92445d 100644 --- a/Test/dafny2/pq-intrinsic-extrinsic.dfy +++ b/Test/dafny2/pq-intrinsic-extrinsic.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // This file contains several versions of a priority queue implemented by Braun trees: // diff --git a/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect b/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect index 5c90c26e0eb..bc2608f44b7 100644 --- a/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect +++ b/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect @@ -1,3 +1,14 @@ + +Dafny program verifier finished with 32 verified, 0 errors + +Dafny program verifier did not attempt verification +PriorityQueue_extrinsic: 3 +PriorityQueue_layered: 3 +PriorityQueue_intrinsic: 3 +PriorityQueue_on_intrinsic: 3 +PriorityQueue_direct: 3 + +Dafny program verifier did not attempt verification PriorityQueue_extrinsic: 3 PriorityQueue_layered: 3 PriorityQueue_intrinsic: 3 diff --git a/Test/dafny3/Abstemious.dfy b/Test/dafny3/Abstemious.dfy index 62d891f950f..263c1f1fb00 100644 --- a/Test/dafny3/Abstemious.dfy +++ b/Test/dafny3/Abstemious.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Examples from https://www.haskell.org/tutorial/functions.html diff --git a/Test/dafny3/Abstemious.dfy.expect b/Test/dafny3/Abstemious.dfy.expect index 3511a04a840..96f109b0b58 100644 --- a/Test/dafny3/Abstemious.dfy.expect +++ b/Test/dafny3/Abstemious.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 19 verified, 0 errors ones(): 1 1 1 1 1 1 1 ... from(3): 3 4 5 6 7 8 9 ... Map(plus1, ones()): 2 2 2 2 2 2 2 ... diff --git a/Test/dafny3/CachedContainer.dfy b/Test/dafny3/CachedContainer.dfy index e36e76d6851..77c3e45897f 100644 --- a/Test/dafny3/CachedContainer.dfy +++ b/Test/dafny3/CachedContainer.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // This file contains an example chain of module refinements, starting from a // simple interface M0 to an implementation M3. Module Client.Test() is diff --git a/Test/dafny3/CachedContainer.dfy.expect b/Test/dafny3/CachedContainer.dfy.expect index ed2a587c3f1..08f4fb30b0a 100644 --- a/Test/dafny3/CachedContainer.dfy.expect +++ b/Test/dafny3/CachedContainer.dfy.expect @@ -1 +1,79 @@ +CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier finished with 29 verified, 0 errors +CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +false true false true +CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +false true false true +CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +false true false true +CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification false true false true diff --git a/Test/dafny3/CachedContainer.dfy.verifier.expect b/Test/dafny3/CachedContainer.dfy.verifier.expect deleted file mode 100644 index a037bc94ff6..00000000000 --- a/Test/dafny3/CachedContainer.dfy.verifier.expect +++ /dev/null @@ -1,13 +0,0 @@ -CachedContainer.dfy(112,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(119,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(122,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(129,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(132,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(153,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(154,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(162,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(163,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(166,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(178,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(179,13): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny3/Iter.dfy b/Test/dafny3/Iter.dfy index 46befa24dd8..81431f2c64b 100644 --- a/Test/dafny3/Iter.dfy +++ b/Test/dafny3/Iter.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" class List { ghost var Contents: seq diff --git a/Test/dafny3/Iter.dfy.expect b/Test/dafny3/Iter.dfy.expect index 0ed11070541..69d7373d5d5 100644 --- a/Test/dafny3/Iter.dfy.expect +++ b/Test/dafny3/Iter.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 12 verified, 0 errors 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 98 0 2 4 6 8 10 12 14 diff --git a/Test/dafny4/Ackermann.dfy b/Test/dafny4/Ackermann.dfy index a4ef351c96b..27968070e9b 100644 --- a/Test/dafny4/Ackermann.dfy +++ b/Test/dafny4/Ackermann.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Rustan Leino, 8 Sep 2015. // This file proves that the Ackermann function is monotonic in each argument diff --git a/Test/dafny4/Ackermann.dfy.expect b/Test/dafny4/Ackermann.dfy.expect index 43d9513ef4b..c995dac9c9a 100644 --- a/Test/dafny4/Ackermann.dfy.expect +++ b/Test/dafny4/Ackermann.dfy.expect @@ -1 +1,5 @@ +Ackermann.dfy(163,4): Warning: /!\ No terms found to trigger on. +Ackermann.dfy(181,4): Warning: /!\ No terms found to trigger on. + +Dafny program verifier finished with 14 verified, 0 errors Ack(3, 4) = 125 diff --git a/Test/dafny4/Ackermann.dfy.verifier.expect b/Test/dafny4/Ackermann.dfy.verifier.expect deleted file mode 100644 index b302e2b4daf..00000000000 --- a/Test/dafny4/Ackermann.dfy.verifier.expect +++ /dev/null @@ -1,2 +0,0 @@ -Ackermann.dfy(162,4): Warning: /!\ No terms found to trigger on. -Ackermann.dfy(180,4): Warning: /!\ No terms found to trigger on. diff --git a/Test/dafny4/Bug107.dfy b/Test/dafny4/Bug107.dfy index b7ab69c9a8d..e417fc90a53 100644 --- a/Test/dafny4/Bug107.dfy +++ b/Test/dafny4/Bug107.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny4/Bug107.dfy.expect b/Test/dafny4/Bug107.dfy.expect index 62f9457511f..ad79213a18c 100644 --- a/Test/dafny4/Bug107.dfy.expect +++ b/Test/dafny4/Bug107.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 1 verified, 0 errors 6 \ No newline at end of file diff --git a/Test/dafny4/Bug108.dfy b/Test/dafny4/Bug108.dfy index 8228fe44f87..c64ec32a340 100644 --- a/Test/dafny4/Bug108.dfy +++ b/Test/dafny4/Bug108.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var A := map[0 := 1]; diff --git a/Test/dafny4/Bug108.dfy.expect b/Test/dafny4/Bug108.dfy.expect index 0777a01b26d..c1c63f6c5c1 100644 --- a/Test/dafny4/Bug108.dfy.expect +++ b/Test/dafny4/Bug108.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 1 verified, 0 errors map[0 := 1] map[0 := 1] diff --git a/Test/dafny4/Bug113.dfy b/Test/dafny4/Bug113.dfy index 0bec0c1ce31..23c759540cd 100644 --- a/Test/dafny4/Bug113.dfy +++ b/Test/dafny4/Bug113.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype D = D(q:int, r:int, s:int, t:int) @@ -6,4 +7,4 @@ method Main() { print D(10, 20, 30, 40); print "\n"; -} +} \ No newline at end of file diff --git a/Test/dafny4/Bug113.dfy.expect b/Test/dafny4/Bug113.dfy.expect index e2eeff32e9a..3ea1396ad00 100644 --- a/Test/dafny4/Bug113.dfy.expect +++ b/Test/dafny4/Bug113.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 0 verified, 0 errors D.D(10, 20, 30, 40) diff --git a/Test/dafny4/Bug116.dfy b/Test/dafny4/Bug116.dfy index 501b74c74d5..e29da0f609d 100644 --- a/Test/dafny4/Bug116.dfy +++ b/Test/dafny4/Bug116.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // test various compiler-target keywords diff --git a/Test/dafny4/Bug116.dfy.expect b/Test/dafny4/Bug116.dfy.expect index 8c7fdc614c4..4cd4aabf511 100644 --- a/Test/dafny4/Bug116.dfy.expect +++ b/Test/dafny4/Bug116.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 1 verified, 0 errors struct.S byte.arguments enum.goto.switch enum.goto.switch 20 + 20 == 40 diff --git a/Test/dafny4/Bug140.dfy b/Test/dafny4/Bug140.dfy index 8280db8f665..edde966c149 100644 --- a/Test/dafny4/Bug140.dfy +++ b/Test/dafny4/Bug140.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" class Node { ghost var List: seq diff --git a/Test/dafny4/Bug140.dfy.expect b/Test/dafny4/Bug140.dfy.expect index a40ee1166fb..bad48de4d6b 100644 --- a/Test/dafny4/Bug140.dfy.expect +++ b/Test/dafny4/Bug140.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 8 verified, 0 errors 1 2 diff --git a/Test/dafny4/Bug148.dfy b/Test/dafny4/Bug148.dfy index f31cef2cdc8..da1ebf99447 100644 --- a/Test/dafny4/Bug148.dfy +++ b/Test/dafny4/Bug148.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny4/Bug148.dfy.expect b/Test/dafny4/Bug148.dfy.expect index 9ed6ca4768b..79d02517ceb 100644 --- a/Test/dafny4/Bug148.dfy.expect +++ b/Test/dafny4/Bug148.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 0 verified, 0 errors true false true diff --git a/Test/dafny4/Bug49.dfy b/Test/dafny4/Bug49.dfy index 868f4a3964b..68722830422 100644 --- a/Test/dafny4/Bug49.dfy +++ b/Test/dafny4/Bug49.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny4/Bug49.dfy.expect b/Test/dafny4/Bug49.dfy.expect index 800c2bd15ba..4e02a08bbee 100644 --- a/Test/dafny4/Bug49.dfy.expect +++ b/Test/dafny4/Bug49.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 13 verified, 0 errors 6 6 5 diff --git a/Test/dafny4/Bug60.dfy b/Test/dafny4/Bug60.dfy index f4585753f5f..0aa9209269d 100644 --- a/Test/dafny4/Bug60.dfy +++ b/Test/dafny4/Bug60.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // This method can be used to test compilation. method Main() diff --git a/Test/dafny4/Bug60.dfy.expect b/Test/dafny4/Bug60.dfy.expect index fd56dc3fcbc..49740e95682 100644 --- a/Test/dafny4/Bug60.dfy.expect +++ b/Test/dafny4/Bug60.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 0 verified, 0 errors ({2, 3}, map[2 := 20, 3 := 30]) (2, 2) {2, 3} diff --git a/Test/dafny4/Bug67.dfy b/Test/dafny4/Bug67.dfy index f01d4239a75..731018a293b 100644 --- a/Test/dafny4/Bug67.dfy +++ b/Test/dafny4/Bug67.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype d = D(m:seq) @@ -7,4 +8,4 @@ method Main() assert D([10, 20]) == D([10, 20]); // succeeds print [10, 20] == [10, 20], "\n"; // prints True print D([10, 20]) == D([10, 20]); // prints False -} +} \ No newline at end of file diff --git a/Test/dafny4/Bug67.dfy.expect b/Test/dafny4/Bug67.dfy.expect index 0be5d980da4..c716cab3144 100644 --- a/Test/dafny4/Bug67.dfy.expect +++ b/Test/dafny4/Bug67.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 1 verified, 0 errors true true \ No newline at end of file diff --git a/Test/dafny4/Bug68.dfy b/Test/dafny4/Bug68.dfy index bf50015f90c..a211206acba 100644 --- a/Test/dafny4/Bug68.dfy +++ b/Test/dafny4/Bug68.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method M1() { @@ -61,4 +62,4 @@ method Main() M3(); M3'(); M4(); -} +} \ No newline at end of file diff --git a/Test/dafny4/Bug68.dfy.expect b/Test/dafny4/Bug68.dfy.expect index 814ccfee2df..f4ef534187d 100644 --- a/Test/dafny4/Bug68.dfy.expect +++ b/Test/dafny4/Bug68.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 8 verified, 0 errors true true true diff --git a/Test/dafny4/Bug89.dfy b/Test/dafny4/Bug89.dfy index c7b77b44f99..4aec1acb8b7 100644 --- a/Test/dafny4/Bug89.dfy +++ b/Test/dafny4/Bug89.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method F() returns(x:int) ensures x == 6 diff --git a/Test/dafny4/Bug89.dfy.expect b/Test/dafny4/Bug89.dfy.expect index 62f9457511f..ed41c274352 100644 --- a/Test/dafny4/Bug89.dfy.expect +++ b/Test/dafny4/Bug89.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors 6 \ No newline at end of file diff --git a/Test/dafny4/Bug94.dfy b/Test/dafny4/Bug94.dfy index c41458539fc..be931445654 100644 --- a/Test/dafny4/Bug94.dfy +++ b/Test/dafny4/Bug94.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" ghost function foo() : (int, int) { diff --git a/Test/dafny4/Bug94.dfy.expect b/Test/dafny4/Bug94.dfy.expect index 3f10ffe7a4c..ab0cfbb2d9e 100644 --- a/Test/dafny4/Bug94.dfy.expect +++ b/Test/dafny4/Bug94.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 1 verified, 0 errors 15 \ No newline at end of file diff --git a/Test/dafny4/ClassRefinement.dfy b/Test/dafny4/ClassRefinement.dfy index 3d5fd1006eb..320749ec197 100644 --- a/Test/dafny4/ClassRefinement.dfy +++ b/Test/dafny4/ClassRefinement.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" abstract module M0 { class Counter { diff --git a/Test/dafny4/ClassRefinement.dfy.expect b/Test/dafny4/ClassRefinement.dfy.expect index cba3471eb57..f456b6777f3 100644 --- a/Test/dafny4/ClassRefinement.dfy.expect +++ b/Test/dafny4/ClassRefinement.dfy.expect @@ -1 +1,44 @@ +ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated +ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier finished with 11 verified, 0 errors +ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated +ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +2 1 +ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated +ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +2 1 +ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated +ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +2 1 +ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated +ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification 2 1 diff --git a/Test/dafny4/ClassRefinement.dfy.verifier.expect b/Test/dafny4/ClassRefinement.dfy.verifier.expect deleted file mode 100644 index 543e77303b5..00000000000 --- a/Test/dafny4/ClassRefinement.dfy.verifier.expect +++ /dev/null @@ -1,6 +0,0 @@ -ClassRefinement.dfy(68,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(69,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(74,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(75,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(77,6): Warning: the modify statement with a block statement is deprecated -ClassRefinement.dfy(78,13): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny4/ExpandedGuardedness.dfy b/Test/dafny4/ExpandedGuardedness.dfy index af620ec40e8..5cd7828f932 100644 --- a/Test/dafny4/ExpandedGuardedness.dfy +++ b/Test/dafny4/ExpandedGuardedness.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny4/ExpandedGuardedness.dfy.expect b/Test/dafny4/ExpandedGuardedness.dfy.expect index e0f3b041a66..d05670701e0 100644 --- a/Test/dafny4/ExpandedGuardedness.dfy.expect +++ b/Test/dafny4/ExpandedGuardedness.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 12 verified, 0 errors Up 19 20 21 22 23 Up2 19 20 21 22 23 UpIf 19 20 22 24 26 diff --git a/Test/dafny4/FlyingRobots.dfy b/Test/dafny4/FlyingRobots.dfy index f14a2a467cd..41223cca1aa 100644 --- a/Test/dafny4/FlyingRobots.dfy +++ b/Test/dafny4/FlyingRobots.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // The flying robots examples from an F* tutorial. It demonstrates how to specify // mutable data structures in the heap. diff --git a/Test/dafny4/FlyingRobots.dfy.expect b/Test/dafny4/FlyingRobots.dfy.expect index e69de29bb2d..5ed0d97333e 100644 --- a/Test/dafny4/FlyingRobots.dfy.expect +++ b/Test/dafny4/FlyingRobots.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 31 verified, 0 errors diff --git a/Test/dafny4/Leq.dfy b/Test/dafny4/Leq.dfy index fdbc1078ca3..fac12757ba0 100644 --- a/Test/dafny4/Leq.dfy +++ b/Test/dafny4/Leq.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Rustan Leino, 22 Sep 2015. // This file considers two definitions of Leq on naturals+infinity. One diff --git a/Test/dafny4/Leq.dfy.expect b/Test/dafny4/Leq.dfy.expect index e69de29bb2d..15301952c57 100644 --- a/Test/dafny4/Leq.dfy.expect +++ b/Test/dafny4/Leq.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 16 verified, 0 errors diff --git a/Test/dafny4/McCarthy91.dfy b/Test/dafny4/McCarthy91.dfy index 428f11eb269..466d30328cc 100644 --- a/Test/dafny4/McCarthy91.dfy +++ b/Test/dafny4/McCarthy91.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // The usual recursive method for computing McCarthy's 91 function method Main() { diff --git a/Test/dafny4/McCarthy91.dfy.expect b/Test/dafny4/McCarthy91.dfy.expect index 1511cff2c81..b63f7a0b03b 100644 --- a/Test/dafny4/McCarthy91.dfy.expect +++ b/Test/dafny4/McCarthy91.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 5 verified, 0 errors M(3) = 91 M(99) = 91 M(100) = 91 diff --git a/Test/dafny4/NatList.dfy b/Test/dafny4/NatList.dfy index 5a1b0358eaf..567fd461259 100644 --- a/Test/dafny4/NatList.dfy +++ b/Test/dafny4/NatList.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // This file tests some programs where "nat" is a type parameter to // a datatype. diff --git a/Test/dafny4/NatList.dfy.expect b/Test/dafny4/NatList.dfy.expect index 5382a29cb9f..2ceb3169787 100644 --- a/Test/dafny4/NatList.dfy.expect +++ b/Test/dafny4/NatList.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 11 verified, 0 errors ns = List.Cons(4, List.Cons(10, List.Nil)) Sum(ns) = 14 ns' = List.Cons(20, List.Nil) diff --git a/Test/dafny4/Regression15.dfy b/Test/dafny4/Regression15.dfy index 5ecb5ee4e2b..37f31ba7e90 100644 --- a/Test/dafny4/Regression15.dfy +++ b/Test/dafny4/Regression15.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var b; diff --git a/Test/dafny4/Regression15.dfy.expect b/Test/dafny4/Regression15.dfy.expect index 4cf7b8a8eb1..584190727b9 100644 --- a/Test/dafny4/Regression15.dfy.expect +++ b/Test/dafny4/Regression15.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 3 verified, 0 errors false true true diff --git a/Test/dafny4/Regression2.dfy b/Test/dafny4/Regression2.dfy index 0d28285e74c..213bf265401 100644 --- a/Test/dafny4/Regression2.dfy +++ b/Test/dafny4/Regression2.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" module NativeTypes { newtype uint64 = int diff --git a/Test/dafny4/Regression2.dfy.expect b/Test/dafny4/Regression2.dfy.expect index 8a739fb435a..3f8ac383f86 100644 --- a/Test/dafny4/Regression2.dfy.expect +++ b/Test/dafny4/Regression2.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 0 verified, 0 errors true true true diff --git a/Test/dafny4/Regression3.dfy b/Test/dafny4/Regression3.dfy index fc60fad3cb1..adaa0d2763d 100644 --- a/Test/dafny4/Regression3.dfy +++ b/Test/dafny4/Regression3.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny4/Regression3.dfy.expect b/Test/dafny4/Regression3.dfy.expect index 1223bf9ffaf..841338987c7 100644 --- a/Test/dafny4/Regression3.dfy.expect +++ b/Test/dafny4/Regression3.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 3 verified, 0 errors 55 Trunc( -3.0 ) = -3 (expected -3) Trunc( -2.8 ) = -3 (expected -3) diff --git a/Test/dafny4/Regression4.dfy b/Test/dafny4/Regression4.dfy index e4bc4cbef85..5f881a5083f 100644 --- a/Test/dafny4/Regression4.dfy +++ b/Test/dafny4/Regression4.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { } diff --git a/Test/dafny4/Regression4.dfy.expect b/Test/dafny4/Regression4.dfy.expect index e69de29bb2d..ba00363fc08 100644 --- a/Test/dafny4/Regression4.dfy.expect +++ b/Test/dafny4/Regression4.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 4 verified, 0 errors diff --git a/Test/dafny4/Regression6.dfy b/Test/dafny4/Regression6.dfy index b589ec0ce7d..f1551d3ef2d 100644 --- a/Test/dafny4/Regression6.dfy +++ b/Test/dafny4/Regression6.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" function Sum(a: array, lo: int, hi: int): int requires 0 <= lo <= hi <= a.Length diff --git a/Test/dafny4/Regression6.dfy.expect b/Test/dafny4/Regression6.dfy.expect index 54573bead10..17464f29e0b 100644 --- a/Test/dafny4/Regression6.dfy.expect +++ b/Test/dafny4/Regression6.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors 0 1028 0 diff --git a/Test/dafny4/Regression7.dfy b/Test/dafny4/Regression7.dfy index ef3ca5eea44..8ce421a62f3 100644 --- a/Test/dafny4/Regression7.dfy +++ b/Test/dafny4/Regression7.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /rprint:"%t.rprint" /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" module ListLibrary { datatype List = Nil | Cons(head: B, tail: List) diff --git a/Test/dafny4/Regression7.dfy.expect b/Test/dafny4/Regression7.dfy.expect index 4d38be23500..b7b2766a340 100644 --- a/Test/dafny4/Regression7.dfy.expect +++ b/Test/dafny4/Regression7.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors ListLibrary.List.Cons(28.0, ListLibrary.List.Nil) diff --git a/Test/dafny4/Regression9.dfy b/Test/dafny4/Regression9.dfy index 086007a3ef8..d9e44547252 100644 --- a/Test/dafny4/Regression9.dfy +++ b/Test/dafny4/Regression9.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Some tests for the type inference that was revamped // to better support subset types. diff --git a/Test/dafny4/Regression9.dfy.expect b/Test/dafny4/Regression9.dfy.expect index 2183b22cfa9..5a26eaeabfb 100644 --- a/Test/dafny4/Regression9.dfy.expect +++ b/Test/dafny4/Regression9.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors 'D''D''D' diff --git a/Test/dafny4/UnionFind.dfy b/Test/dafny4/UnionFind.dfy index 354f28accb7..b97b6ef5d61 100644 --- a/Test/dafny4/UnionFind.dfy +++ b/Test/dafny4/UnionFind.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Rustan Leino, Nov 2015 // Module M0 gives the high-level specification of the UnionFind data structure diff --git a/Test/dafny4/UnionFind.dfy.expect b/Test/dafny4/UnionFind.dfy.expect index 1cb72129e49..961b161b8dc 100644 --- a/Test/dafny4/UnionFind.dfy.expect +++ b/Test/dafny4/UnionFind.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 63 verified, 0 errors false true true false true true diff --git a/Test/dafny4/gcd.dfy b/Test/dafny4/gcd.dfy index fa92223fa49..384e338435f 100644 --- a/Test/dafny4/gcd.dfy +++ b/Test/dafny4/gcd.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // A text describing this file is found in a Dafny Power User note: http://leino.science/papers/krml279.html diff --git a/Test/dafny4/gcd.dfy.expect b/Test/dafny4/gcd.dfy.expect index c17551a37a4..ecbe2b6f64a 100644 --- a/Test/dafny4/gcd.dfy.expect +++ b/Test/dafny4/gcd.dfy.expect @@ -1,3 +1,34 @@ + +Dafny program verifier finished with 19 verified, 0 errors + +Dafny program verifier did not attempt verification +15 gcd 9 = 3 +14 gcd 22 = 2 +371 gcd 1 = 1 +1 gcd 2 = 1 +1 gcd 1 = 1 +13 gcd 13 = 13 +60 gcd 60 = 60 + +Dafny program verifier did not attempt verification +15 gcd 9 = 3 +14 gcd 22 = 2 +371 gcd 1 = 1 +1 gcd 2 = 1 +1 gcd 1 = 1 +13 gcd 13 = 13 +60 gcd 60 = 60 + +Dafny program verifier did not attempt verification +15 gcd 9 = 3 +14 gcd 22 = 2 +371 gcd 1 = 1 +1 gcd 2 = 1 +1 gcd 1 = 1 +13 gcd 13 = 13 +60 gcd 60 = 60 + +Dafny program verifier did not attempt verification 15 gcd 9 = 3 14 gcd 22 = 2 371 gcd 1 = 1 diff --git a/Test/dafny4/git-issue104.dfy b/Test/dafny4/git-issue104.dfy index b05ec4de1cc..86683a2ed88 100644 --- a/Test/dafny4/git-issue104.dfy +++ b/Test/dafny4/git-issue104.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" predicate bug(a: array) reads a diff --git a/Test/dafny4/git-issue104.dfy.expect b/Test/dafny4/git-issue104.dfy.expect index 836a5934c8f..f572edb2471 100644 --- a/Test/dafny4/git-issue104.dfy.expect +++ b/Test/dafny4/git-issue104.dfy.expect @@ -1 +1,17 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification +true false + +Dafny program verifier did not attempt verification +true false + +Dafny program verifier did not attempt verification +true false + +Dafny program verifier did not attempt verification +true false + +Dafny program verifier did not attempt verification true false diff --git a/Test/dafny4/git-issue105.dfy b/Test/dafny4/git-issue105.dfy index 4cff2330cba..09cfce29a6e 100644 --- a/Test/dafny4/git-issue105.dfy +++ b/Test/dafny4/git-issue105.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method lol() returns (c: int) { diff --git a/Test/dafny4/git-issue105.dfy.expect b/Test/dafny4/git-issue105.dfy.expect index e69de29bb2d..012f5b99379 100644 --- a/Test/dafny4/git-issue105.dfy.expect +++ b/Test/dafny4/git-issue105.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/dafny4/git-issue15.dfy b/Test/dafny4/git-issue15.dfy index 7c77a67ccf9..96905286209 100755 --- a/Test/dafny4/git-issue15.dfy +++ b/Test/dafny4/git-issue15.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype obj = Obj(fooBar:map) datatype foo = Foo diff --git a/Test/dafny4/git-issue15.dfy.expect b/Test/dafny4/git-issue15.dfy.expect index 00750edc07d..e52de78d0b1 100755 --- a/Test/dafny4/git-issue15.dfy.expect +++ b/Test/dafny4/git-issue15.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 1 verified, 0 errors 3 diff --git a/Test/dafny4/git-issue167.dfy b/Test/dafny4/git-issue167.dfy index d98d425c345..d02943dc42d 100644 --- a/Test/dafny4/git-issue167.dfy +++ b/Test/dafny4/git-issue167.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { LetTest(); diff --git a/Test/dafny4/git-issue167.dfy.expect b/Test/dafny4/git-issue167.dfy.expect index 8c5e1ed8df7..0a230fe846e 100644 --- a/Test/dafny4/git-issue167.dfy.expect +++ b/Test/dafny4/git-issue167.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 4 verified, 0 errors 30 {6, 7} {['M', 'i', 'l', 'l', 'a'], ['A', 'l', 'f', 'o', 'n', 's']} diff --git a/Test/dafny4/git-issue195.dfy b/Test/dafny4/git-issue195.dfy index fccdc5461c8..ac4b1306ac6 100644 --- a/Test/dafny4/git-issue195.dfy +++ b/Test/dafny4/git-issue195.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Block = Block(prevBlockHash:Hash, txs:seq, proof:VProof) diff --git a/Test/dafny4/git-issue195.dfy.expect b/Test/dafny4/git-issue195.dfy.expect index 638bfb50b2d..30692fdef2a 100644 --- a/Test/dafny4/git-issue195.dfy.expect +++ b/Test/dafny4/git-issue195.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 4 verified, 0 errors true true true true true diff --git a/Test/dafny4/git-issue196.dfy b/Test/dafny4/git-issue196.dfy index 056687ab1a5..64eb0e9123f 100644 --- a/Test/dafny4/git-issue196.dfy +++ b/Test/dafny4/git-issue196.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" class A { var a: array> diff --git a/Test/dafny4/git-issue196.dfy.expect b/Test/dafny4/git-issue196.dfy.expect index ee25a2c5027..a333f982b8f 100644 --- a/Test/dafny4/git-issue196.dfy.expect +++ b/Test/dafny4/git-issue196.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 9 verified, 0 errors 42 42 42 5000 5000 5000 5000 5000 diff --git a/Test/dafny4/git-issue4.dfy b/Test/dafny4/git-issue4.dfy index b17a545e219..b19cf3ce6df 100644 --- a/Test/dafny4/git-issue4.dfy +++ b/Test/dafny4/git-issue4.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" function IntToChar(i:int):char requires 0 <= i < 10 diff --git a/Test/dafny4/git-issue4.dfy.expect b/Test/dafny4/git-issue4.dfy.expect index 24e24eb63cc..33af1e040b7 100644 --- a/Test/dafny4/git-issue4.dfy.expect +++ b/Test/dafny4/git-issue4.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 5 verified, 0 errors '8' 8 '8' 56 56 diff --git a/Test/dafny4/git-issue43.dfy b/Test/dafny4/git-issue43.dfy index d320d7761bc..edf056a1a91 100644 --- a/Test/dafny4/git-issue43.dfy +++ b/Test/dafny4/git-issue43.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" class System { } diff --git a/Test/dafny4/git-issue43.dfy.expect b/Test/dafny4/git-issue43.dfy.expect index e69de29bb2d..012f5b99379 100644 --- a/Test/dafny4/git-issue43.dfy.expect +++ b/Test/dafny4/git-issue43.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/dafny4/git-issue70.dfy b/Test/dafny4/git-issue70.dfy index 3a3a01e0af7..c8db7c9618d 100644 --- a/Test/dafny4/git-issue70.dfy +++ b/Test/dafny4/git-issue70.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny4/git-issue70.dfy.expect b/Test/dafny4/git-issue70.dfy.expect index 36ede89b639..526e9a5b349 100644 --- a/Test/dafny4/git-issue70.dfy.expect +++ b/Test/dafny4/git-issue70.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 3 verified, 0 errors map test {4, 6} {5, 7} diff --git a/Test/dafny4/git-issue76.dfy b/Test/dafny4/git-issue76.dfy index 85613dba2f2..708ee911b24 100644 --- a/Test/dafny4/git-issue76.dfy +++ b/Test/dafny4/git-issue76.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { M0(); diff --git a/Test/dafny4/git-issue76.dfy.expect b/Test/dafny4/git-issue76.dfy.expect index 0cfbf08886f..546da03a267 100644 --- a/Test/dafny4/git-issue76.dfy.expect +++ b/Test/dafny4/git-issue76.dfy.expect @@ -1 +1,8 @@ + +Dafny program verifier finished with 7 verified, 0 errors + +Dafny program verifier did not attempt verification +2 + +Dafny program verifier did not attempt verification 2 diff --git a/Test/dafny4/git-issue79.dfy b/Test/dafny4/git-issue79.dfy index f3fb17b8531..046a7c5e375 100644 --- a/Test/dafny4/git-issue79.dfy +++ b/Test/dafny4/git-issue79.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype EInt = Int(val: int) | Unknown type Pair = (string, EInt) diff --git a/Test/dafny4/git-issue79.dfy.expect b/Test/dafny4/git-issue79.dfy.expect index e69de29bb2d..012f5b99379 100644 --- a/Test/dafny4/git-issue79.dfy.expect +++ b/Test/dafny4/git-issue79.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/dafny4/git-issue88.dfy b/Test/dafny4/git-issue88.dfy index 83c0b4a8ef9..1c188333783 100644 --- a/Test/dafny4/git-issue88.dfy +++ b/Test/dafny4/git-issue88.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" type Grid = array2 diff --git a/Test/dafny4/git-issue88.dfy.expect b/Test/dafny4/git-issue88.dfy.expect index e69de29bb2d..00a51f822da 100644 --- a/Test/dafny4/git-issue88.dfy.expect +++ b/Test/dafny4/git-issue88.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 3 verified, 0 errors diff --git a/Test/exceptions/Exceptions1.dfy b/Test/exceptions/Exceptions1.dfy index 4ffd3291f2f..11bb2f7923d 100644 --- a/Test/exceptions/Exceptions1.dfy +++ b/Test/exceptions/Exceptions1.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" /rprint:"%t.rprint" > "%t" +// RUN: %diff "%s.expect" "%t" include "./NatOutcome.dfy" include "./VoidOutcome.dfy" diff --git a/Test/exceptions/Exceptions1.dfy.expect b/Test/exceptions/Exceptions1.dfy.expect index c87eb938c55..e61be2a11ad 100644 --- a/Test/exceptions/Exceptions1.dfy.expect +++ b/Test/exceptions/Exceptions1.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 7 verified, 0 errors true_true_true_88_42_33_Success=100 ___VoidSuccess true_true_false_88_42_Failure diff --git a/Test/exceptions/Exceptions1Expressions.dfy b/Test/exceptions/Exceptions1Expressions.dfy index a57e5b78c7e..c0f3c67cd39 100644 --- a/Test/exceptions/Exceptions1Expressions.dfy +++ b/Test/exceptions/Exceptions1Expressions.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" /rprint:"%t.rprint" > "%t" +// RUN: %diff "%s.expect" "%t" include "./NatOutcomeDt.dfy" include "./VoidOutcomeDt.dfy" diff --git a/Test/exceptions/Exceptions1Expressions.dfy.expect b/Test/exceptions/Exceptions1Expressions.dfy.expect index 3f1b38ab150..3da30f30d36 100644 --- a/Test/exceptions/Exceptions1Expressions.dfy.expect +++ b/Test/exceptions/Exceptions1Expressions.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 5 verified, 0 errors true_true_true_Success=100 VoidSuccess true_true_false_Failure diff --git a/Test/exports/FIFO.dfy b/Test/exports/FIFO.dfy index 95a8d25510c..173e412eaa9 100644 --- a/Test/exports/FIFO.dfy +++ b/Test/exports/FIFO.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" include "Queue.dfyi" diff --git a/Test/exports/FIFO.dfy.expect b/Test/exports/FIFO.dfy.expect index 4539bbf2d22..8350309cc2a 100644 --- a/Test/exports/FIFO.dfy.expect +++ b/Test/exports/FIFO.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 5 verified, 0 errors 0 1 2 diff --git a/Test/exports/LIFO.dfy b/Test/exports/LIFO.dfy index 513dd457c3f..ea691935620 100644 --- a/Test/exports/LIFO.dfy +++ b/Test/exports/LIFO.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" include "Queue.dfyi" diff --git a/Test/exports/LIFO.dfy.expect b/Test/exports/LIFO.dfy.expect index ae136939b64..48aa7787d09 100644 --- a/Test/exports/LIFO.dfy.expect +++ b/Test/exports/LIFO.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 5 verified, 0 errors 2 1 0 diff --git a/Test/exports/xrefine2.dfy b/Test/exports/xrefine2.dfy index 2409cc0509a..0b25240916c 100644 --- a/Test/exports/xrefine2.dfy +++ b/Test/exports/xrefine2.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" module ProtocolImpl { diff --git a/Test/exports/xrefine2.dfy.expect b/Test/exports/xrefine2.dfy.expect index 858dbd09862..34e1b357779 100644 --- a/Test/exports/xrefine2.dfy.expect +++ b/Test/exports/xrefine2.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 4 verified, 0 errors HI.foo(h1) => true HI.foo(h2) => true PI.orange(1) => 2 diff --git a/Test/exports/xrefine3.dfy b/Test/exports/xrefine3.dfy index bb2480bfed7..24d6fa062f0 100644 --- a/Test/exports/xrefine3.dfy +++ b/Test/exports/xrefine3.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" module AlphaImpl { diff --git a/Test/exports/xrefine3.dfy.expect b/Test/exports/xrefine3.dfy.expect index ae50cef0985..488ab11c36a 100644 --- a/Test/exports/xrefine3.dfy.expect +++ b/Test/exports/xrefine3.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors o hai! diff --git a/Test/git-issues/git-issue-032.dfy b/Test/git-issues/git-issue-032.dfy index d7dd61440a7..bde5b2f2a69 100644 --- a/Test/git-issues/git-issue-032.dfy +++ b/Test/git-issues/git-issue-032.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/git-issues/git-issue-032.dfy.expect b/Test/git-issues/git-issue-032.dfy.expect index 2a64997c6f7..91c285009c1 100644 --- a/Test/git-issues/git-issue-032.dfy.expect +++ b/Test/git-issues/git-issue-032.dfy.expect @@ -1,3 +1,40 @@ +git-issue-032.dfy(18,35): Warning: this branch is redundant +git-issue-032.dfy(27,34): Warning: this branch is redundant +git-issue-032.dfy(28,35): Warning: this branch is redundant + +Dafny program verifier finished with 1 verified, 0 errors +git-issue-032.dfy(18,35): Warning: this branch is redundant +git-issue-032.dfy(27,34): Warning: this branch is redundant +git-issue-032.dfy(28,35): Warning: this branch is redundant + +Dafny program verifier did not attempt verification +OK3 +OK +OKOK +00 +git-issue-032.dfy(18,35): Warning: this branch is redundant +git-issue-032.dfy(27,34): Warning: this branch is redundant +git-issue-032.dfy(28,35): Warning: this branch is redundant + +Dafny program verifier did not attempt verification +OK3 +OK +OKOK +00 +git-issue-032.dfy(18,35): Warning: this branch is redundant +git-issue-032.dfy(27,34): Warning: this branch is redundant +git-issue-032.dfy(28,35): Warning: this branch is redundant + +Dafny program verifier did not attempt verification +OK3 +OK +OKOK +00 +git-issue-032.dfy(18,35): Warning: this branch is redundant +git-issue-032.dfy(27,34): Warning: this branch is redundant +git-issue-032.dfy(28,35): Warning: this branch is redundant + +Dafny program verifier did not attempt verification OK3 OK OKOK diff --git a/Test/git-issues/git-issue-032.dfy.verifier.expect b/Test/git-issues/git-issue-032.dfy.verifier.expect deleted file mode 100644 index 1878351db97..00000000000 --- a/Test/git-issues/git-issue-032.dfy.verifier.expect +++ /dev/null @@ -1,3 +0,0 @@ -git-issue-032.dfy(13,35): Warning: this branch is redundant -git-issue-032.dfy(22,34): Warning: this branch is redundant -git-issue-032.dfy(23,35): Warning: this branch is redundant diff --git a/Test/git-issues/git-issue-1029.dfy b/Test/git-issues/git-issue-1029.dfy index 7e1e7a31cf2..a310a99c169 100644 --- a/Test/git-issues/git-issue-1029.dfy +++ b/Test/git-issues/git-issue-1029.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" module ValueType { export S diff --git a/Test/git-issues/git-issue-1029.dfy.expect b/Test/git-issues/git-issue-1029.dfy.expect index 116f2acb4ee..7108c86b0b5 100644 --- a/Test/git-issues/git-issue-1029.dfy.expect +++ b/Test/git-issues/git-issue-1029.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors [true, true, false] UI.Op2.GetOps([true, true, false], [true, true, false]) diff --git a/Test/git-issues/git-issue-1093.dfy b/Test/git-issues/git-issue-1093.dfy index 97797296680..9365397496f 100644 --- a/Test/git-issues/git-issue-1093.dfy +++ b/Test/git-issues/git-issue-1093.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { UnusedLabel(); diff --git a/Test/git-issues/git-issue-1093.dfy.expect b/Test/git-issues/git-issue-1093.dfy.expect index f599e28b8ab..0cadf5e4199 100644 --- a/Test/git-issues/git-issue-1093.dfy.expect +++ b/Test/git-issues/git-issue-1093.dfy.expect @@ -1 +1,17 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification +10 + +Dafny program verifier did not attempt verification +10 + +Dafny program verifier did not attempt verification +10 + +Dafny program verifier did not attempt verification +10 + +Dafny program verifier did not attempt verification 10 diff --git a/Test/git-issues/git-issue-1100.dfy b/Test/git-issues/git-issue-1100.dfy index 2c4bb564136..533d7688731 100644 --- a/Test/git-issues/git-issue-1100.dfy +++ b/Test/git-issues/git-issue-1100.dfy @@ -1,3 +1,4 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false /Users/salkeldr/Documents/GitHub/dafny/Test/git-issues/../c++/arrays.dfy +// RUN: %dafny /compile:3 /unicodeChar:0 /compileTarget:cpp %S/../c++/arrays.dfy > "%t" +// RUN: %diff "%s.expect" "%t" // Test compilation of a file in another directory diff --git a/Test/git-issues/git-issue-1100.dfy.expect b/Test/git-issues/git-issue-1100.dfy.expect index 2ce9320d8c2..552f9355593 100644 --- a/Test/git-issues/git-issue-1100.dfy.expect +++ b/Test/git-issues/git-issue-1100.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 9 verified, 0 errors 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/git-issues/git-issue-1130.dfy b/Test/git-issues/git-issue-1130.dfy index f1f5ad5a54b..5b7fc5068e2 100644 --- a/Test/git-issues/git-issue-1130.dfy +++ b/Test/git-issues/git-issue-1130.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var a := new Issue.Foo(); diff --git a/Test/git-issues/git-issue-1130.dfy.expect b/Test/git-issues/git-issue-1130.dfy.expect index de97a6dc4ca..6c3dd07b1f1 100644 --- a/Test/git-issues/git-issue-1130.dfy.expect +++ b/Test/git-issues/git-issue-1130.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 13 verified, 0 errors 012 diff --git a/Test/git-issues/git-issue-1150.dfy b/Test/git-issues/git-issue-1150.dfy index d3416a53813..d4cee3c3ef2 100644 --- a/Test/git-issues/git-issue-1150.dfy +++ b/Test/git-issues/git-issue-1150.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Foo = Foo(x: nat) { diff --git a/Test/git-issues/git-issue-1150.dfy.expect b/Test/git-issues/git-issue-1150.dfy.expect index f34d8df4a11..fb4be1897cf 100644 --- a/Test/git-issues/git-issue-1150.dfy.expect +++ b/Test/git-issues/git-issue-1150.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 1 verified, 0 errors Foo.Foo(2) true Foo.Foo(5) false diff --git a/Test/git-issues/git-issue-1185.dfy b/Test/git-issues/git-issue-1185.dfy index c7ad72134d1..32c340b0736 100644 --- a/Test/git-issues/git-issue-1185.dfy +++ b/Test/git-issues/git-issue-1185.dfy @@ -1,5 +1,9 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" predicate P(s: set) requires s != {} diff --git a/Test/git-issues/git-issue-1185.dfy.expect b/Test/git-issues/git-issue-1185.dfy.expect index 525ce875525..90ab58a1f5a 100644 --- a/Test/git-issues/git-issue-1185.dfy.expect +++ b/Test/git-issues/git-issue-1185.dfy.expect @@ -1 +1,14 @@ + +Dafny program verifier finished with 3 verified, 0 errors + +Dafny program verifier did not attempt verification +{12, 20} true 6 + +Dafny program verifier did not attempt verification +{20, 12} true 6 + +Dafny program verifier did not attempt verification +{12, 20} true 6 + +Dafny program verifier did not attempt verification {12, 20} true 6 diff --git a/Test/git-issues/git-issue-1185.dfy.java.expect b/Test/git-issues/git-issue-1185.dfy.java.expect deleted file mode 100644 index 8ba669ad273..00000000000 --- a/Test/git-issues/git-issue-1185.dfy.java.expect +++ /dev/null @@ -1 +0,0 @@ -{20, 12} true 6 diff --git a/Test/git-issues/git-issue-1514.dfy b/Test/git-issues/git-issue-1514.dfy index 816eadce69b..74b75478609 100644 --- a/Test/git-issues/git-issue-1514.dfy +++ b/Test/git-issues/git-issue-1514.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" include "Wrappers.dfy" import opened Wrappers diff --git a/Test/git-issues/git-issue-1514.dfy.expect b/Test/git-issues/git-issue-1514.dfy.expect index b5754e20373..2f22d47cee8 100644 --- a/Test/git-issues/git-issue-1514.dfy.expect +++ b/Test/git-issues/git-issue-1514.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-1514b.dfy b/Test/git-issues/git-issue-1514b.dfy index 050a4a71760..1d8cd122d28 100644 --- a/Test/git-issues/git-issue-1514b.dfy +++ b/Test/git-issues/git-issue-1514b.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" include "Wrappers.dfy" import opened Wrappers diff --git a/Test/git-issues/git-issue-1514b.dfy.expect b/Test/git-issues/git-issue-1514b.dfy.expect index b5754e20373..2f22d47cee8 100644 --- a/Test/git-issues/git-issue-1514b.dfy.expect +++ b/Test/git-issues/git-issue-1514b.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-1514c.dfy b/Test/git-issues/git-issue-1514c.dfy index 578316f217c..d9df7d108c1 100644 --- a/Test/git-issues/git-issue-1514c.dfy +++ b/Test/git-issues/git-issue-1514c.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" include "Wrappers.dfy" import opened Wrappers diff --git a/Test/git-issues/git-issue-1514c.dfy.expect b/Test/git-issues/git-issue-1514c.dfy.expect index 9766475a418..694254c28aa 100644 --- a/Test/git-issues/git-issue-1514c.dfy.expect +++ b/Test/git-issues/git-issue-1514c.dfy.expect @@ -1 +1,8 @@ + +Dafny program verifier finished with 3 verified, 0 errors + +Dafny program verifier did not attempt verification +ok + +Dafny program verifier did not attempt verification ok diff --git a/Test/git-issues/git-issue-1553.dfy b/Test/git-issues/git-issue-1553.dfy index 81cbef7aa7e..6267018c92d 100644 --- a/Test/git-issues/git-issue-1553.dfy +++ b/Test/git-issues/git-issue-1553.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { } method Test() { diff --git a/Test/git-issues/git-issue-1553.dfy.expect b/Test/git-issues/git-issue-1553.dfy.expect index e69de29bb2d..65d3b5d6635 100644 --- a/Test/git-issues/git-issue-1553.dfy.expect +++ b/Test/git-issues/git-issue-1553.dfy.expect @@ -0,0 +1,10 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-1604b.dfy b/Test/git-issues/git-issue-1604b.dfy index d7c4169ec60..497ee5017d5 100644 --- a/Test/git-issues/git-issue-1604b.dfy +++ b/Test/git-issues/git-issue-1604b.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --error-limit:0 --relax-definite-assignment +// RUN: %dafny /compile:3 /errorLimit:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Double constraints. Will this still work? diff --git a/Test/git-issues/git-issue-1604b.dfy.expect b/Test/git-issues/git-issue-1604b.dfy.expect index b5754e20373..93d7203e654 100644 --- a/Test/git-issues/git-issue-1604b.dfy.expect +++ b/Test/git-issues/git-issue-1604b.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 5 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-1714.dfy b/Test/git-issues/git-issue-1714.dfy index 540a41c39cb..6ce8915a7af 100644 --- a/Test/git-issues/git-issue-1714.dfy +++ b/Test/git-issues/git-issue-1714.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" +// RUN: %diff "%s.expect" "%t" trait Base {} class Derived extends Base { var n: int constructor() { n := 0; } } diff --git a/Test/git-issues/git-issue-1714.dfy.expect b/Test/git-issues/git-issue-1714.dfy.expect index 88039063d09..67dd7d95642 100644 --- a/Test/git-issues/git-issue-1714.dfy.expect +++ b/Test/git-issues/git-issue-1714.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors (b as Derived).n == 0 diff --git a/Test/git-issues/git-issue-179.dfy b/Test/git-issues/git-issue-179.dfy index d37d3048490..283a04f1a68 100644 --- a/Test/git-issues/git-issue-179.dfy +++ b/Test/git-issues/git-issue-179.dfy @@ -1,5 +1,9 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var mp: map; diff --git a/Test/git-issues/git-issue-179.dfy.expect b/Test/git-issues/git-issue-179.dfy.expect index 97cb7aa6c7a..3f922ac5bd4 100644 --- a/Test/git-issues/git-issue-179.dfy.expect +++ b/Test/git-issues/git-issue-179.dfy.expect @@ -1,4 +1,26 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification {(3, false), (4, true), (5, false)} {3, 4, 5} {false, true} true false true false + +Dafny program verifier did not attempt verification +{(5, false), (4, true), (3, false)} +{5, 4, 3} +{false, true} +true false true false + +Dafny program verifier did not attempt verification +{(5, false), (4, true), (3, false)} +{5, 4, 3} +{false, true} +true false true false + +Dafny program verifier did not attempt verification +{(5, false), (3, false), (4, true)} +{3, 4, 5} +{false, true} +true false true false diff --git a/Test/git-issues/git-issue-179.dfy.go.expect b/Test/git-issues/git-issue-179.dfy.go.expect deleted file mode 100644 index 3b6c1b2603f..00000000000 --- a/Test/git-issues/git-issue-179.dfy.go.expect +++ /dev/null @@ -1,4 +0,0 @@ -{(5, false), (4, true), (3, false)} -{5, 4, 3} -{false, true} -true false true false diff --git a/Test/git-issues/git-issue-179.dfy.java.expect b/Test/git-issues/git-issue-179.dfy.java.expect deleted file mode 100644 index ebe17288dfd..00000000000 --- a/Test/git-issues/git-issue-179.dfy.java.expect +++ /dev/null @@ -1,4 +0,0 @@ -{(5, false), (3, false), (4, true)} -{3, 4, 5} -{false, true} -true false true false diff --git a/Test/git-issues/git-issue-179.dfy.js.expect b/Test/git-issues/git-issue-179.dfy.js.expect deleted file mode 100644 index 3b6c1b2603f..00000000000 --- a/Test/git-issues/git-issue-179.dfy.js.expect +++ /dev/null @@ -1,4 +0,0 @@ -{(5, false), (4, true), (3, false)} -{5, 4, 3} -{false, true} -true false true false diff --git a/Test/git-issues/git-issue-1815a.dfy b/Test/git-issues/git-issue-1815a.dfy index 72d55a1cb4f..91fb7a32aa6 100644 --- a/Test/git-issues/git-issue-1815a.dfy +++ b/Test/git-issues/git-issue-1815a.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Dt<+U> = Dt(x: U, i: int) diff --git a/Test/git-issues/git-issue-1815a.dfy.expect b/Test/git-issues/git-issue-1815a.dfy.expect index 19f86f493ab..7b2651302d9 100644 --- a/Test/git-issues/git-issue-1815a.dfy.expect +++ b/Test/git-issues/git-issue-1815a.dfy.expect @@ -1 +1,17 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification +done + +Dafny program verifier did not attempt verification +done + +Dafny program verifier did not attempt verification +done + +Dafny program verifier did not attempt verification +done + +Dafny program verifier did not attempt verification done diff --git a/Test/git-issues/git-issue-1852.dfy b/Test/git-issues/git-issue-1852.dfy index 046f3fca1fc..516835e8ea8 100644 --- a/Test/git-issues/git-issue-1852.dfy +++ b/Test/git-issues/git-issue-1852.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" module A { export diff --git a/Test/git-issues/git-issue-1852.dfy.expect b/Test/git-issues/git-issue-1852.dfy.expect index 299a71f3fe4..e9cd0ea2e07 100644 --- a/Test/git-issues/git-issue-1852.dfy.expect +++ b/Test/git-issues/git-issue-1852.dfy.expect @@ -1 +1,8 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification +5 5 + +Dafny program verifier did not attempt verification 5 5 diff --git a/Test/git-issues/git-issue-1903.dfy b/Test/git-issues/git-issue-1903.dfy index 60ee1c121ab..7edb2a46c61 100644 --- a/Test/git-issues/git-issue-1903.dfy +++ b/Test/git-issues/git-issue-1903.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method g(x : seq := []) { diff --git a/Test/git-issues/git-issue-1903.dfy.expect b/Test/git-issues/git-issue-1903.dfy.expect index 84cc8d360f9..3170fb0c7f2 100644 --- a/Test/git-issues/git-issue-1903.dfy.expect +++ b/Test/git-issues/git-issue-1903.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 1 verified, 0 errors worked! diff --git a/Test/git-issues/git-issue-1909.dfy b/Test/git-issues/git-issue-1909.dfy index 83d9ec1d785..7fb5b3b8c48 100644 --- a/Test/git-issues/git-issue-1909.dfy +++ b/Test/git-issues/git-issue-1909.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype ABC = ABC(nameonly a: int, nameonly b: int, nameonly c: int) diff --git a/Test/git-issues/git-issue-1909.dfy.expect b/Test/git-issues/git-issue-1909.dfy.expect index ab6f7d69d36..b4eb7e7774e 100644 --- a/Test/git-issues/git-issue-1909.dfy.expect +++ b/Test/git-issues/git-issue-1909.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 1 verified, 0 errors ABC.ABC(19, 21, 23) ABC.ABC(19, 42, 23) ABC.ABC(100, 42, 90) diff --git a/Test/git-issues/git-issue-2013.dfy b/Test/git-issues/git-issue-2013.dfy index 1f3962988ee..d1d3e15880e 100644 --- a/Test/git-issues/git-issue-2013.dfy +++ b/Test/git-issues/git-issue-2013.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/git-issues/git-issue-2013.dfy.expect b/Test/git-issues/git-issue-2013.dfy.expect index 22e56ce7263..7ff6ce957cf 100644 --- a/Test/git-issues/git-issue-2013.dfy.expect +++ b/Test/git-issues/git-issue-2013.dfy.expect @@ -1,3 +1,55 @@ + +Dafny program verifier finished with 12 verified, 0 errors + +Dafny program verifier did not attempt verification +16 +16 +12 30 30 +Result.Success(8) Result.Failure(_module.MyClassException) +{100} {100} {100} +{MoreTests.C} {MoreTests.C} {MoreTests.C} +100 100 100 +MoreTests.C MoreTests.C MoreTests.C +Conveyance.NonVariantResult.NVSuccess(Conveyance.Car) Conveyance.CovariantResult.CVSuccess(Conveyance.Car) +M.Stream.Next + +Dafny program verifier did not attempt verification +16 +16 +12 30 30 +Result.Success(8) Result.Failure(_module.MyClassException) +{100} {100} {100} +{MoreTests.C} {MoreTests.C} {MoreTests.C} +100 100 100 +MoreTests.C MoreTests.C MoreTests.C +Conveyance.NonVariantResult.NVSuccess(Conveyance.Car) Conveyance.CovariantResult.CVSuccess(Conveyance.Car) +M.Stream.Next + +Dafny program verifier did not attempt verification +16 +16 +12 30 30 +Result.Success(8) Result.Failure(_module.MyClassException) +{100} {100} {100} +{MoreTests.C} {MoreTests.C} {MoreTests.C} +100 100 100 +MoreTests.C MoreTests.C MoreTests.C +Conveyance.NonVariantResult.NVSuccess(Conveyance.Car) Conveyance.CovariantResult.CVSuccess(Conveyance.Car) +M.Stream.Next + +Dafny program verifier did not attempt verification +16 +16 +12 30 30 +Result.Success(8) Result.Failure(_module.MyClassException) +{100} {100} {100} +{MoreTests.C} {MoreTests.C} {MoreTests.C} +100 100 100 +MoreTests.C MoreTests.C MoreTests.C +Conveyance.NonVariantResult.NVSuccess(Conveyance.Car) Conveyance.CovariantResult.CVSuccess(Conveyance.Car) +M.Stream.Next + +Dafny program verifier did not attempt verification 16 16 12 30 30 diff --git a/Test/git-issues/git-issue-2441.dfy b/Test/git-issues/git-issue-2441.dfy index 4179ecc87bc..bc9c8721ee2 100644 --- a/Test/git-issues/git-issue-2441.dfy +++ b/Test/git-issues/git-issue-2441.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype A = A(B: B) datatype B = X diff --git a/Test/git-issues/git-issue-2441.dfy.expect b/Test/git-issues/git-issue-2441.dfy.expect index e69de29bb2d..0c3f603d584 100644 --- a/Test/git-issues/git-issue-2441.dfy.expect +++ b/Test/git-issues/git-issue-2441.dfy.expect @@ -0,0 +1,6 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-2510.dfy b/Test/git-issues/git-issue-2510.dfy index 11ee2877bb3..22ef8e47058 100644 --- a/Test/git-issues/git-issue-2510.dfy +++ b/Test/git-issues/git-issue-2510.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:4 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" /// Check that the compiler accepts `:- assume {:axiom} …`. diff --git a/Test/git-issues/git-issue-2510.dfy.expect b/Test/git-issues/git-issue-2510.dfy.expect index 56a6051ca2b..b341a39a78d 100644 --- a/Test/git-issues/git-issue-2510.dfy.expect +++ b/Test/git-issues/git-issue-2510.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors 1 \ No newline at end of file diff --git a/Test/git-issues/git-issue-258.dfy b/Test/git-issues/git-issue-258.dfy index e6a5ef2248d..dbc437cebbc 100644 --- a/Test/git-issues/git-issue-258.dfy +++ b/Test/git-issues/git-issue-258.dfy @@ -1,5 +1,9 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /compile:3 /unicodeChar:0 /spillTargetCode:3 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /compile:3 /unicodeChar:0 /spillTargetCode:3 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /compile:3 /unicodeChar:0 /spillTargetCode:3 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /compile:3 /unicodeChar:0 /spillTargetCode:3 /compileTarget:go "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method pr(s: seq) { print s, "\n"; diff --git a/Test/git-issues/git-issue-258.dfy.expect b/Test/git-issues/git-issue-258.dfy.expect index 31b98032806..8cf196174b8 100644 --- a/Test/git-issues/git-issue-258.dfy.expect +++ b/Test/git-issues/git-issue-258.dfy.expect @@ -1,10 +1,83 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier finished with 1 verified, 0 errors +hi +hi + + +HI! +hi + +HI! + +[23, 45] +[23, 45] +[] +[] +abcabc +abcabc +abcdef +abcdef + + +[1, 2, 3, 4] +[1, 2, 3, 4] + +Dafny program verifier finished with 1 verified, 0 errors +hi +hi + + +HI! +hi + +HI! + +[23, 45] +[23, 45] +[] +[] +abcabc +abcabc +abcdef +abcdef + + +[1, 2, 3, 4] +[1, 2, 3, 4] + +Dafny program verifier finished with 1 verified, 0 errors hi hi HI! hi +[] +HI! + +[23, 45] +[23, 45] +[] +[] +abcabc +abcabc +abcdef +abcdef + + +[1, 2, 3, 4] +[1, 2, 3, 4] + +Dafny program verifier finished with 1 verified, 0 errors +hi +hi + +HI! +hi +[] HI! [23, 45] diff --git a/Test/git-issues/git-issue-258.dfy.go.expect b/Test/git-issues/git-issue-258.dfy.go.expect deleted file mode 100644 index 2745afdf6e1..00000000000 --- a/Test/git-issues/git-issue-258.dfy.go.expect +++ /dev/null @@ -1,21 +0,0 @@ -hi -hi - - -HI! -hi -[] -HI! - -[23, 45] -[23, 45] -[] -[] -abcabc -abcabc -abcdef -abcdef - - -[1, 2, 3, 4] -[1, 2, 3, 4] diff --git a/Test/git-issues/git-issue-258.dfy.js.expect b/Test/git-issues/git-issue-258.dfy.js.expect deleted file mode 100644 index 2745afdf6e1..00000000000 --- a/Test/git-issues/git-issue-258.dfy.js.expect +++ /dev/null @@ -1,21 +0,0 @@ -hi -hi - - -HI! -hi -[] -HI! - -[23, 45] -[23, 45] -[] -[] -abcabc -abcabc -abcdef -abcdef - - -[1, 2, 3, 4] -[1, 2, 3, 4] diff --git a/Test/git-issues/git-issue-2608.dfy b/Test/git-issues/git-issue-2608.dfy index c606177f94f..459c9ffbf94 100644 --- a/Test/git-issues/git-issue-2608.dfy +++ b/Test/git-issues/git-issue-2608.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /compileTarget:js "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method GetNext(i: int) returns (j: int, possible: bool) { if i == 1 { diff --git a/Test/git-issues/git-issue-2608.dfy.expect b/Test/git-issues/git-issue-2608.dfy.expect index d9ed583f710..dce7ba1814a 100644 --- a/Test/git-issues/git-issue-2608.dfy.expect +++ b/Test/git-issues/git-issue-2608.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors 82411246231944714271214 \ No newline at end of file diff --git a/Test/git-issues/git-issue-262.dfy b/Test/git-issues/git-issue-262.dfy index 22d9a31b2fe..2c00ad94a39 100644 --- a/Test/git-issues/git-issue-262.dfy +++ b/Test/git-issues/git-issue-262.dfy @@ -1,5 +1,8 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" +// RUN: %dafny /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" function tst(x: nat): nat { x + 1 diff --git a/Test/git-issues/git-issue-262.dfy.expect b/Test/git-issues/git-issue-262.dfy.expect index 41d8cd55158..76af42cd4a3 100644 --- a/Test/git-issues/git-issue-262.dfy.expect +++ b/Test/git-issues/git-issue-262.dfy.expect @@ -1,2 +1,20 @@ + +Dafny program verifier finished with 2 verified, 0 errors System.Func`2[System.Numerics.BigInteger,System.Numerics.BigInteger] System.Func`2[System.Numerics.BigInteger,System.Numerics.BigInteger] + +Dafny program verifier finished with 2 verified, 0 errors +tst(x) { + return (x).plus(_dafny.ONE); + } +tst(x) { + return (x).plus(_dafny.ONE); + } + +Dafny program verifier finished with 2 verified, 0 errors +func(dafny.Int) dafny.Int +func(dafny.Int) dafny.Int + +Dafny program verifier finished with 2 verified, 0 errors +Function +Function diff --git a/Test/git-issues/git-issue-262.dfy.go.expect b/Test/git-issues/git-issue-262.dfy.go.expect deleted file mode 100644 index 578754c176c..00000000000 --- a/Test/git-issues/git-issue-262.dfy.go.expect +++ /dev/null @@ -1,2 +0,0 @@ -func(dafny.Int) dafny.Int -func(dafny.Int) dafny.Int diff --git a/Test/git-issues/git-issue-262.dfy.java.expect b/Test/git-issues/git-issue-262.dfy.java.expect deleted file mode 100644 index aa5478ef8c9..00000000000 --- a/Test/git-issues/git-issue-262.dfy.java.expect +++ /dev/null @@ -1,2 +0,0 @@ -Function -Function diff --git a/Test/git-issues/git-issue-262.dfy.js.expect b/Test/git-issues/git-issue-262.dfy.js.expect deleted file mode 100644 index e181ef2fef8..00000000000 --- a/Test/git-issues/git-issue-262.dfy.js.expect +++ /dev/null @@ -1,6 +0,0 @@ -tst(x) { - return (x).plus(_dafny.ONE); - } -tst(x) { - return (x).plus(_dafny.ONE); - } diff --git a/Test/git-issues/git-issue-267.dfy b/Test/git-issues/git-issue-267.dfy index 2b0b3281589..cef2fcc6c17 100644 --- a/Test/git-issues/git-issue-267.dfy +++ b/Test/git-issues/git-issue-267.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var c := 1; diff --git a/Test/git-issues/git-issue-267.dfy.expect b/Test/git-issues/git-issue-267.dfy.expect index cd7da05e3d2..d71aef2f440 100644 --- a/Test/git-issues/git-issue-267.dfy.expect +++ b/Test/git-issues/git-issue-267.dfy.expect @@ -1 +1,14 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification +210 + +Dafny program verifier did not attempt verification +210 + +Dafny program verifier did not attempt verification +210 + +Dafny program verifier did not attempt verification 210 diff --git a/Test/git-issues/git-issue-2672.dfy b/Test/git-issues/git-issue-2672.dfy index 52c5b9c638c..338299ee8b7 100644 --- a/Test/git-issues/git-issue-2672.dfy +++ b/Test/git-issues/git-issue-2672.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" newtype sreal = r: real | r > -4 as real newtype sint = r: int | r > -4 as int diff --git a/Test/git-issues/git-issue-2672.dfy.expect b/Test/git-issues/git-issue-2672.dfy.expect index 43440a83d53..c9c3244b6f4 100644 --- a/Test/git-issues/git-issue-2672.dfy.expect +++ b/Test/git-issues/git-issue-2672.dfy.expect @@ -1,3 +1,47 @@ + +Dafny program verifier finished with 5 verified, 0 errors + +Dafny program verifier did not attempt verification +true true true true true true true true true true +false false false false false false false false false false +false false false false false false false false false false +true true true true true true true true true true +true true true true true true true true true true +false false false false false false false false false false +true true true +false false false + +Dafny program verifier did not attempt verification +true true true true true true true true true true +false false false false false false false false false false +false false false false false false false false false false +true true true true true true true true true true +true true true true true true true true true true +false false false false false false false false false false +true true true +false false false + +Dafny program verifier did not attempt verification +true true true true true true true true true true +false false false false false false false false false false +false false false false false false false false false false +true true true true true true true true true true +true true true true true true true true true true +false false false false false false false false false false +true true true +false false false + +Dafny program verifier did not attempt verification +true true true true true true true true true true +false false false false false false false false false false +false false false false false false false false false false +true true true true true true true true true true +true true true true true true true true true true +false false false false false false false false false false +true true true +false false false + +Dafny program verifier did not attempt verification true true true true true true true true true true false false false false false false false false false false false false false false false false false false false false diff --git a/Test/git-issues/git-issue-2726a.dfy b/Test/git-issues/git-issue-2726a.dfy index a43d5dd0107..641fefbbdc4 100644 --- a/Test/git-issues/git-issue-2726a.dfy +++ b/Test/git-issues/git-issue-2726a.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /compileTarget:cs "%s" > "%t" +// RUN: %diff "%s.expect" "%t" const digits := ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"] diff --git a/Test/git-issues/git-issue-2726a.dfy.expect b/Test/git-issues/git-issue-2726a.dfy.expect index 8e1bedb2a64..6985935c88c 100644 --- a/Test/git-issues/git-issue-2726a.dfy.expect +++ b/Test/git-issues/git-issue-2726a.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 1 verified, 0 errors 4 42 422 diff --git a/Test/git-issues/git-issue-2733.dfy b/Test/git-issues/git-issue-2733.dfy index 65bc2b991fd..232eab3cc74 100644 --- a/Test/git-issues/git-issue-2733.dfy +++ b/Test/git-issues/git-issue-2733.dfy @@ -1,4 +1,11 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cpp "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { print "XYZ"; // Checks that no extra newline is added to the output diff --git a/Test/git-issues/git-issue-2733.dfy.expect b/Test/git-issues/git-issue-2733.dfy.expect index 77bf25132db..b139e2f3d58 100644 --- a/Test/git-issues/git-issue-2733.dfy.expect +++ b/Test/git-issues/git-issue-2733.dfy.expect @@ -1 +1,15 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification +XYZ +Dafny program verifier did not attempt verification +XYZ +Dafny program verifier did not attempt verification +XYZ +Dafny program verifier did not attempt verification +XYZ +Dafny program verifier did not attempt verification +XYZ +Dafny program verifier did not attempt verification XYZ \ No newline at end of file diff --git a/Test/git-issues/git-issue-2792.dfy b/Test/git-issues/git-issue-2792.dfy index d2fb9db2055..89e736667c0 100644 --- a/Test/git-issues/git-issue-2792.dfy +++ b/Test/git-issues/git-issue-2792.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /compileTarget:java "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Wrapper = Wrapper(s: seq) { diff --git a/Test/git-issues/git-issue-2792.dfy.expect b/Test/git-issues/git-issue-2792.dfy.expect index ca1683c3020..c1e603c58fe 100644 --- a/Test/git-issues/git-issue-2792.dfy.expect +++ b/Test/git-issues/git-issue-2792.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 0 verified, 0 errors [] Wrapper2.Wrapper2([], 2792) diff --git a/Test/git-issues/git-issue-283.dfy b/Test/git-issues/git-issue-283.dfy index 1ca6d48d32c..c7c10f4aea3 100644 --- a/Test/git-issues/git-issue-283.dfy +++ b/Test/git-issues/git-issue-283.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Result = | Success(value: T) diff --git a/Test/git-issues/git-issue-283.dfy.expect b/Test/git-issues/git-issue-283.dfy.expect index a965a70ed4e..2adb114b8a0 100644 --- a/Test/git-issues/git-issue-283.dfy.expect +++ b/Test/git-issues/git-issue-283.dfy.expect @@ -1 +1,14 @@ + +Dafny program verifier finished with 9 verified, 0 errors + +Dafny program verifier did not attempt verification +Done + +Dafny program verifier did not attempt verification +Done + +Dafny program verifier did not attempt verification +Done + +Dafny program verifier did not attempt verification Done diff --git a/Test/git-issues/git-issue-283d.dfy b/Test/git-issues/git-issue-283d.dfy index 46c1056d5e1..54ee58fb456 100644 --- a/Test/git-issues/git-issue-283d.dfy +++ b/Test/git-issues/git-issue-283d.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Foo = R(v: int) diff --git a/Test/git-issues/git-issue-283d.dfy.expect b/Test/git-issues/git-issue-283d.dfy.expect index e69de29bb2d..8da23be5c8c 100644 --- a/Test/git-issues/git-issue-283d.dfy.expect +++ b/Test/git-issues/git-issue-283d.dfy.expect @@ -0,0 +1,10 @@ + +Dafny program verifier finished with 4 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-314.dfy b/Test/git-issues/git-issue-314.dfy index a7fc06564a5..5e3e93ca654 100644 --- a/Test/git-issues/git-issue-314.dfy +++ b/Test/git-issues/git-issue-314.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype S = S(G: array) datatype T = T(F: array, ghost Repr: set) diff --git a/Test/git-issues/git-issue-314.dfy.expect b/Test/git-issues/git-issue-314.dfy.expect index e69de29bb2d..f02fc57989a 100644 --- a/Test/git-issues/git-issue-314.dfy.expect +++ b/Test/git-issues/git-issue-314.dfy.expect @@ -0,0 +1,10 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-332.dfy b/Test/git-issues/git-issue-332.dfy index 5166441405d..ca2b08f3e8d 100644 --- a/Test/git-issues/git-issue-332.dfy +++ b/Test/git-issues/git-issue-332.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var foo := new B.Foo(15); diff --git a/Test/git-issues/git-issue-332.dfy.expect b/Test/git-issues/git-issue-332.dfy.expect index 209e3ef4b62..57cad39addf 100644 --- a/Test/git-issues/git-issue-332.dfy.expect +++ b/Test/git-issues/git-issue-332.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 6 verified, 0 errors 20 diff --git a/Test/git-issues/git-issue-354.dfy b/Test/git-issues/git-issue-354.dfy index c3d63021209..5938c2f71ae 100644 --- a/Test/git-issues/git-issue-354.dfy +++ b/Test/git-issues/git-issue-354.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" class C { static const u: X diff --git a/Test/git-issues/git-issue-354.dfy.expect b/Test/git-issues/git-issue-354.dfy.expect index 4368562357f..cb5ae21dc46 100644 --- a/Test/git-issues/git-issue-354.dfy.expect +++ b/Test/git-issues/git-issue-354.dfy.expect @@ -1,3 +1,25 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification +0 +0 +0.0 +false + +Dafny program verifier did not attempt verification +0 +0 +0.0 +false + +Dafny program verifier did not attempt verification +0 +0 +0.0 +false + +Dafny program verifier did not attempt verification 0 0 0.0 diff --git a/Test/git-issues/git-issue-356.dfy b/Test/git-issues/git-issue-356.dfy index 2d497c0531c..f5c34b0803b 100644 --- a/Test/git-issues/git-issue-356.dfy +++ b/Test/git-issues/git-issue-356.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" module M { type Tx = i: int | 0 <= i <= 100 diff --git a/Test/git-issues/git-issue-356.dfy.expect b/Test/git-issues/git-issue-356.dfy.expect index 9d984ec4ef4..cff4ed233e1 100644 --- a/Test/git-issues/git-issue-356.dfy.expect +++ b/Test/git-issues/git-issue-356.dfy.expect @@ -1,3 +1,39 @@ + +Dafny program verifier finished with 25 verified, 0 errors + +Dafny program verifier did not attempt verification +a d 57005 * * +Z 90 90.0 90 90 +* 42 42.0 42 42 +F 70 70.0 70 70 +# 35 35.0 35 35 +END + +Dafny program verifier did not attempt verification +a d 57005 * * +Z 90 90.0 90 90 +* 42 42.0 42 42 +F 70 70.0 70 70 +# 35 35.0 35 35 +END + +Dafny program verifier did not attempt verification +a d 57005 * * +Z 90 90.0 90 90 +* 42 42.0 42 42 +F 70 70.0 70 70 +# 35 35.0 35 35 +END + +Dafny program verifier did not attempt verification +a d 57005 * * +Z 90 90.0 90 90 +* 42 42.0 42 42 +F 70 70.0 70 70 +# 35 35.0 35 35 +END + +Dafny program verifier did not attempt verification a d 57005 * * Z 90 90.0 90 90 * 42 42.0 42 42 diff --git a/Test/git-issues/git-issue-364.dfy b/Test/git-issues/git-issue-364.dfy index 68c75931746..0fdedc7d9c0 100644 --- a/Test/git-issues/git-issue-364.dfy +++ b/Test/git-issues/git-issue-364.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype NatOutcome = | Success(value: nat) diff --git a/Test/git-issues/git-issue-364.dfy.expect b/Test/git-issues/git-issue-364.dfy.expect index 38478c6c688..1368349d437 100644 --- a/Test/git-issues/git-issue-364.dfy.expect +++ b/Test/git-issues/git-issue-364.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 4 verified, 0 errors NatOutcome.Success(55) false 55 12 0 NatOutcome.Failure("it could be worse") true NatOutcome.Failure("it could be worse") diff --git a/Test/git-issues/git-issue-374.dfy b/Test/git-issues/git-issue-374.dfy index 15b56ec6396..4c031b7d3ff 100644 --- a/Test/git-issues/git-issue-374.dfy +++ b/Test/git-issues/git-issue-374.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" class C { constructor(ghost x: int) diff --git a/Test/git-issues/git-issue-374.dfy.expect b/Test/git-issues/git-issue-374.dfy.expect index e69de29bb2d..f02fc57989a 100644 --- a/Test/git-issues/git-issue-374.dfy.expect +++ b/Test/git-issues/git-issue-374.dfy.expect @@ -0,0 +1,10 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-396.dfy b/Test/git-issues/git-issue-396.dfy index 7866d3d0498..2ab68e51e12 100644 --- a/Test/git-issues/git-issue-396.dfy +++ b/Test/git-issues/git-issue-396.dfy @@ -1,4 +1,8 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" +// RUN: %dafny /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Foo = Bar(value: int) diff --git a/Test/git-issues/git-issue-396.dfy.expect b/Test/git-issues/git-issue-396.dfy.expect index dee79f10940..3dd340d3178 100644 --- a/Test/git-issues/git-issue-396.dfy.expect +++ b/Test/git-issues/git-issue-396.dfy.expect @@ -1 +1,12 @@ + +Dafny program verifier finished with 1 verified, 0 errors +114 + +Dafny program verifier finished with 1 verified, 0 errors +114 + +Dafny program verifier finished with 1 verified, 0 errors +114 + +Dafny program verifier finished with 1 verified, 0 errors 114 diff --git a/Test/git-issues/git-issue-4007.dfy b/Test/git-issues/git-issue-4007.dfy index 5a279e7b8e6..e4c25b82bb8 100644 --- a/Test/git-issues/git-issue-4007.dfy +++ b/Test/git-issues/git-issue-4007.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:4 /compileTarget:py "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var a := 0; @@ -6,4 +7,4 @@ method Main() { a := a + 1; } print a, "\n"; -} +} \ No newline at end of file diff --git a/Test/git-issues/git-issue-4007.dfy.expect b/Test/git-issues/git-issue-4007.dfy.expect index 00750edc07d..3ce6919d35b 100644 --- a/Test/git-issues/git-issue-4007.dfy.expect +++ b/Test/git-issues/git-issue-4007.dfy.expect @@ -1 +1,4 @@ +git-issue-4007.dfy(6,20): Warning: /!\ No terms found to trigger on. + +Dafny program verifier finished with 1 verified, 0 errors 3 diff --git a/Test/git-issues/git-issue-4007.dfy.verifier.expect b/Test/git-issues/git-issue-4007.dfy.verifier.expect deleted file mode 100644 index 1d4310d09b5..00000000000 --- a/Test/git-issues/git-issue-4007.dfy.verifier.expect +++ /dev/null @@ -1 +0,0 @@ -git-issue-4007.dfy(5,20): Warning: /!\ No terms found to trigger on. diff --git a/Test/git-issues/git-issue-4012.dfy b/Test/git-issues/git-issue-4012.dfy index 5360c0e935b..e065393a211 100644 --- a/Test/git-issues/git-issue-4012.dfy +++ b/Test/git-issues/git-issue-4012.dfy @@ -1,7 +1,8 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:4 /compileTarget:py "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var x: multiset := multiset{}; x := x[1 := 18446744073709551616]; print |x|, "\n"; -} +} \ No newline at end of file diff --git a/Test/git-issues/git-issue-4012.dfy.expect b/Test/git-issues/git-issue-4012.dfy.expect index ab69b99fab4..230fbdbd384 100644 --- a/Test/git-issues/git-issue-4012.dfy.expect +++ b/Test/git-issues/git-issue-4012.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 1 verified, 0 errors 18446744073709551616 diff --git a/Test/git-issues/git-issue-425.dfy b/Test/git-issues/git-issue-425.dfy index 122a10e4fbb..4e555daaed0 100644 --- a/Test/git-issues/git-issue-425.dfy +++ b/Test/git-issues/git-issue-425.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method M() returns (x: int, ghost y: int) { return 42, 43; diff --git a/Test/git-issues/git-issue-425.dfy.expect b/Test/git-issues/git-issue-425.dfy.expect index daaac9e3030..c2284013d9e 100644 --- a/Test/git-issues/git-issue-425.dfy.expect +++ b/Test/git-issues/git-issue-425.dfy.expect @@ -1,2 +1,18 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification +42 +42 + +Dafny program verifier did not attempt verification +42 +42 + +Dafny program verifier did not attempt verification +42 +42 + +Dafny program verifier did not attempt verification 42 42 diff --git a/Test/git-issues/git-issue-443.dfy b/Test/git-issues/git-issue-443.dfy index 6702e37484f..e8745b5ddda 100644 --- a/Test/git-issues/git-issue-443.dfy +++ b/Test/git-issues/git-issue-443.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { print F(), " ", G(802.11), "\n"; // 12 15 diff --git a/Test/git-issues/git-issue-443.dfy.expect b/Test/git-issues/git-issue-443.dfy.expect index 0b64712fdcf..10af01216da 100644 --- a/Test/git-issues/git-issue-443.dfy.expect +++ b/Test/git-issues/git-issue-443.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors 12 15 diff --git a/Test/git-issues/git-issue-446.dfy b/Test/git-issues/git-issue-446.dfy index a66a9272d18..0656587fd03 100644 --- a/Test/git-issues/git-issue-446.dfy +++ b/Test/git-issues/git-issue-446.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Result = Success(value: T) | Failure(error: string) { diff --git a/Test/git-issues/git-issue-446.dfy.expect b/Test/git-issues/git-issue-446.dfy.expect index 8165c2056d0..18195d22344 100644 --- a/Test/git-issues/git-issue-446.dfy.expect +++ b/Test/git-issues/git-issue-446.dfy.expect @@ -1,3 +1,22 @@ + +Dafny program verifier finished with 9 verified, 0 errors + +Dafny program verifier did not attempt verification +true -2 +true 42 +End + +Dafny program verifier did not attempt verification +true -2 +true 42 +End + +Dafny program verifier did not attempt verification +true -2 +true 42 +End + +Dafny program verifier did not attempt verification true -2 true 42 End diff --git a/Test/git-issues/git-issue-446a.dfy b/Test/git-issues/git-issue-446a.dfy index 2c559cea76d..41917680fee 100644 --- a/Test/git-issues/git-issue-446a.dfy +++ b/Test/git-issues/git-issue-446a.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Result = Success(value: T) | Failure(error: string) { diff --git a/Test/git-issues/git-issue-446a.dfy.expect b/Test/git-issues/git-issue-446a.dfy.expect index 9897e1c3f56..fbf9ee6f31d 100644 --- a/Test/git-issues/git-issue-446a.dfy.expect +++ b/Test/git-issues/git-issue-446a.dfy.expect @@ -1,3 +1,22 @@ + +Dafny program verifier finished with 9 verified, 0 errors + +Dafny program verifier did not attempt verification +OK +true OK +true -2 End + +Dafny program verifier did not attempt verification +OK +true OK +true -2 End + +Dafny program verifier did not attempt verification +OK +true OK +true -2 End + +Dafny program verifier did not attempt verification OK true OK true -2 End diff --git a/Test/git-issues/git-issue-446b.dfy b/Test/git-issues/git-issue-446b.dfy index 79e55d9a1f8..aa7ac30d9a7 100644 --- a/Test/git-issues/git-issue-446b.dfy +++ b/Test/git-issues/git-issue-446b.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Result = Success(value: T) | Failure(error: string) { diff --git a/Test/git-issues/git-issue-446b.dfy.expect b/Test/git-issues/git-issue-446b.dfy.expect index 36fdd8ba47b..0e99363fdb9 100644 --- a/Test/git-issues/git-issue-446b.dfy.expect +++ b/Test/git-issues/git-issue-446b.dfy.expect @@ -1,3 +1,28 @@ + +Dafny program verifier finished with 10 verified, 0 errors + +Dafny program verifier did not attempt verification +OK +true OK +true -2 +true 100 +End + +Dafny program verifier did not attempt verification +OK +true OK +true -2 +true 100 +End + +Dafny program verifier did not attempt verification +OK +true OK +true -2 +true 100 +End + +Dafny program verifier did not attempt verification OK true OK true -2 diff --git a/Test/git-issues/git-issue-478-good.dfy b/Test/git-issues/git-issue-478-good.dfy index 9abce41e97c..b3fab26a312 100644 --- a/Test/git-issues/git-issue-478-good.dfy +++ b/Test/git-issues/git-issue-478-good.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // By first defining import LibA and then defining a module LibA, // the latter used to generate: diff --git a/Test/git-issues/git-issue-478-good.dfy.expect b/Test/git-issues/git-issue-478-good.dfy.expect index 6807b84eba5..17aea610943 100644 --- a/Test/git-issues/git-issue-478-good.dfy.expect +++ b/Test/git-issues/git-issue-478-good.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 1 verified, 0 errors hello hello hi diff --git a/Test/git-issues/git-issue-506.dfy b/Test/git-issues/git-issue-506.dfy index b2a409951a1..d25596621de 100644 --- a/Test/git-issues/git-issue-506.dfy +++ b/Test/git-issues/git-issue-506.dfy @@ -1,4 +1,8 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" +// RUN: %dafny /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/git-issues/git-issue-506.dfy.expect b/Test/git-issues/git-issue-506.dfy.expect index ef2606ec5dc..e2bb6d644d9 100644 --- a/Test/git-issues/git-issue-506.dfy.expect +++ b/Test/git-issues/git-issue-506.dfy.expect @@ -1,3 +1,29 @@ + +Dafny program verifier finished with 2 verified, 0 errors +7 301 +8 391 +2 2 +4 5 +6 7 +2 3 7 0 + +Dafny program verifier finished with 2 verified, 0 errors +7 301 +8 391 +2 2 +4 5 +6 7 +2 3 7 0 + +Dafny program verifier finished with 2 verified, 0 errors +7 301 +8 391 +2 2 +4 5 +6 7 +2 3 7 0 + +Dafny program verifier finished with 2 verified, 0 errors 7 301 8 391 2 2 diff --git a/Test/git-issues/git-issue-532.dfy b/Test/git-issues/git-issue-532.dfy index 2a2b5aaaf2e..3d511dbb4c8 100644 --- a/Test/git-issues/git-issue-532.dfy +++ b/Test/git-issues/git-issue-532.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" predicate SuppressNoTriggerWarning(x: X) { true } diff --git a/Test/git-issues/git-issue-532.dfy.expect b/Test/git-issues/git-issue-532.dfy.expect index 0f3ef3de427..1bd9e82cc5a 100644 --- a/Test/git-issues/git-issue-532.dfy.expect +++ b/Test/git-issues/git-issue-532.dfy.expect @@ -1,3 +1,22 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification +t.x=5 The given Tr is a C, and c.y=6 +t.x=100 The given Tr is not a C +t.x=5 The given Tr is a C, and c.y=16 + +Dafny program verifier did not attempt verification +t.x=5 The given Tr is a C, and c.y=6 +t.x=100 The given Tr is not a C +t.x=5 The given Tr is a C, and c.y=16 + +Dafny program verifier did not attempt verification +t.x=5 The given Tr is a C, and c.y=6 +t.x=100 The given Tr is not a C +t.x=5 The given Tr is a C, and c.y=16 + +Dafny program verifier did not attempt verification t.x=5 The given Tr is a C, and c.y=6 t.x=100 The given Tr is not a C t.x=5 The given Tr is a C, and c.y=16 diff --git a/Test/git-issues/git-issue-549.dfy b/Test/git-issues/git-issue-549.dfy index d362a0bd039..2e5ab322f23 100644 --- a/Test/git-issues/git-issue-549.dfy +++ b/Test/git-issues/git-issue-549.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" trait T { function bar(): bv8 diff --git a/Test/git-issues/git-issue-549.dfy.expect b/Test/git-issues/git-issue-549.dfy.expect index 6e0790e778e..3ae509fee5e 100644 --- a/Test/git-issues/git-issue-549.dfy.expect +++ b/Test/git-issues/git-issue-549.dfy.expect @@ -1,2 +1,10 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification +bar() = 1 +bar() = 1 + +Dafny program verifier did not attempt verification bar() = 1 bar() = 1 diff --git a/Test/git-issues/git-issue-622$f.dfy b/Test/git-issues/git-issue-622$f.dfy index 2a7003e0f4e..fe4fdf38e03 100644 --- a/Test/git-issues/git-issue-622$f.dfy +++ b/Test/git-issues/git-issue-622$f.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:3 /compileTarget:java /spillTargetCode:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { } diff --git a/Test/git-issues/git-issue-622$f.dfy.expect b/Test/git-issues/git-issue-622$f.dfy.expect index e69de29bb2d..012f5b99379 100644 --- a/Test/git-issues/git-issue-622$f.dfy.expect +++ b/Test/git-issues/git-issue-622$f.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/git-issues/git-issue-633.dfy b/Test/git-issues/git-issue-633.dfy index dd547fe65a6..5d9b5aecf58 100644 --- a/Test/git-issues/git-issue-633.dfy +++ b/Test/git-issues/git-issue-633.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation /Users/salkeldr/Documents/GitHub/dafny/Test/git-issues/git-issue-633A.dfy +// RUN: %dafny /compile:0 "%s" %S/git-issue-633A.dfy > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs /spillTargetCode:3 "%s" %S/git-issue-633A.dfy >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js /spillTargetCode:3 "%s" %S/git-issue-633A.dfy >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go /spillTargetCode:3 "%s" %S/git-issue-633A.dfy >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java /spillTargetCode:3 "%s" %S/git-issue-633A.dfy >> "%t" +// RUN: %diff "%s.expect" "%t" method m() { print "OK\n"; diff --git a/Test/git-issues/git-issue-633.dfy.expect b/Test/git-issues/git-issue-633.dfy.expect index e69de29bb2d..f02fc57989a 100644 --- a/Test/git-issues/git-issue-633.dfy.expect +++ b/Test/git-issues/git-issue-633.dfy.expect @@ -0,0 +1,10 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-684.dfy b/Test/git-issues/git-issue-684.dfy index 4c2b0a8fa02..b1fbd7ab036 100644 --- a/Test/git-issues/git-issue-684.dfy +++ b/Test/git-issues/git-issue-684.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Level1 = Level1(u:int) datatype Level2 = Level2(u:int, l:Level1) diff --git a/Test/git-issues/git-issue-684.dfy.expect b/Test/git-issues/git-issue-684.dfy.expect index e69de29bb2d..65d3b5d6635 100644 --- a/Test/git-issues/git-issue-684.dfy.expect +++ b/Test/git-issues/git-issue-684.dfy.expect @@ -0,0 +1,10 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-686.dfy b/Test/git-issues/git-issue-686.dfy index 9845ce2b027..bbc975200c8 100644 --- a/Test/git-issues/git-issue-686.dfy +++ b/Test/git-issues/git-issue-686.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Color = Blue | Red diff --git a/Test/git-issues/git-issue-686.dfy.expect b/Test/git-issues/git-issue-686.dfy.expect index c12f8e66df2..f30b0581688 100644 --- a/Test/git-issues/git-issue-686.dfy.expect +++ b/Test/git-issues/git-issue-686.dfy.expect @@ -1 +1,24 @@ +git-issue-686.dfy(13,2): Warning: this branch is redundant +git-issue-686.dfy(21,2): Warning: this branch is redundant + +Dafny program verifier finished with 1 verified, 0 errors +git-issue-686.dfy(13,2): Warning: this branch is redundant +git-issue-686.dfy(21,2): Warning: this branch is redundant + +Dafny program verifier did not attempt verification +6 0 +git-issue-686.dfy(13,2): Warning: this branch is redundant +git-issue-686.dfy(21,2): Warning: this branch is redundant + +Dafny program verifier did not attempt verification +6 0 +git-issue-686.dfy(13,2): Warning: this branch is redundant +git-issue-686.dfy(21,2): Warning: this branch is redundant + +Dafny program verifier did not attempt verification +6 0 +git-issue-686.dfy(13,2): Warning: this branch is redundant +git-issue-686.dfy(21,2): Warning: this branch is redundant + +Dafny program verifier did not attempt verification 6 0 diff --git a/Test/git-issues/git-issue-686.dfy.verifier.expect b/Test/git-issues/git-issue-686.dfy.verifier.expect deleted file mode 100644 index 805bd55730c..00000000000 --- a/Test/git-issues/git-issue-686.dfy.verifier.expect +++ /dev/null @@ -1,2 +0,0 @@ -git-issue-686.dfy(8,2): Warning: this branch is redundant -git-issue-686.dfy(16,2): Warning: this branch is redundant diff --git a/Test/git-issues/git-issue-697.dfy b/Test/git-issues/git-issue-697.dfy index 23cce66dee7..095c1a02399 100644 --- a/Test/git-issues/git-issue-697.dfy +++ b/Test/git-issues/git-issue-697.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Cell = Cell(x: int) type EvenCell = c: Cell | c.x % 2 == 0 witness Cell(0) diff --git a/Test/git-issues/git-issue-697.dfy.expect b/Test/git-issues/git-issue-697.dfy.expect index f32a5804e29..188a72ebc36 100644 --- a/Test/git-issues/git-issue-697.dfy.expect +++ b/Test/git-issues/git-issue-697.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-697b.dfy b/Test/git-issues/git-issue-697b.dfy index cdb054d8d78..cfdd3fd0821 100644 --- a/Test/git-issues/git-issue-697b.dfy +++ b/Test/git-issues/git-issue-697b.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Cell = Cell(x: int) type EvenCell = c: Cell | c.x % 2 == 0 witness Cell(0) diff --git a/Test/git-issues/git-issue-697b.dfy.expect b/Test/git-issues/git-issue-697b.dfy.expect index 9c777ac6a0f..b355409912b 100644 --- a/Test/git-issues/git-issue-697b.dfy.expect +++ b/Test/git-issues/git-issue-697b.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors false 2 diff --git a/Test/git-issues/git-issue-697d.dfy b/Test/git-issues/git-issue-697d.dfy index 8b65c2da4f7..71a262fc985 100644 --- a/Test/git-issues/git-issue-697d.dfy +++ b/Test/git-issues/git-issue-697d.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" function nonGhostPredicate(x: int): bool { x % 2 == 0 diff --git a/Test/git-issues/git-issue-697d.dfy.expect b/Test/git-issues/git-issue-697d.dfy.expect index f32a5804e29..48fb59aeae5 100644 --- a/Test/git-issues/git-issue-697d.dfy.expect +++ b/Test/git-issues/git-issue-697d.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 4 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-697e.dfy b/Test/git-issues/git-issue-697e.dfy index 310851abf9a..e4500bfab28 100644 --- a/Test/git-issues/git-issue-697e.dfy +++ b/Test/git-issues/git-issue-697e.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Cell = Cell(x: int) type EvenCell = c: Cell | c.x % 2 == 0 witness Cell(0) diff --git a/Test/git-issues/git-issue-697e.dfy.expect b/Test/git-issues/git-issue-697e.dfy.expect index e69de29bb2d..00a51f822da 100644 --- a/Test/git-issues/git-issue-697e.dfy.expect +++ b/Test/git-issues/git-issue-697e.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 3 verified, 0 errors diff --git a/Test/git-issues/git-issue-697f.dfy b/Test/git-issues/git-issue-697f.dfy index acb8810dfbf..92d1cec2ed8 100644 --- a/Test/git-issues/git-issue-697f.dfy +++ b/Test/git-issues/git-issue-697f.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" ghost function ghostPredicate(x: int): bool { x % 2 == 0 diff --git a/Test/git-issues/git-issue-697f.dfy.expect b/Test/git-issues/git-issue-697f.dfy.expect index b5754e20373..3e2cf8d0f69 100644 --- a/Test/git-issues/git-issue-697f.dfy.expect +++ b/Test/git-issues/git-issue-697f.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 4 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-697g.dfy b/Test/git-issues/git-issue-697g.dfy index 7b30de7f3a0..c3b7581ff61 100644 --- a/Test/git-issues/git-issue-697g.dfy +++ b/Test/git-issues/git-issue-697g.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" function returnNat(c: nat): int { diff --git a/Test/git-issues/git-issue-697g.dfy.expect b/Test/git-issues/git-issue-697g.dfy.expect index f32a5804e29..d9157fa820a 100644 --- a/Test/git-issues/git-issue-697g.dfy.expect +++ b/Test/git-issues/git-issue-697g.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-698.dfy b/Test/git-issues/git-issue-698.dfy index 7b7a9ca15b8..b15295c9b46 100644 --- a/Test/git-issues/git-issue-698.dfy +++ b/Test/git-issues/git-issue-698.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" type Small = x: int | 0 <= x < 100 && x != 3 diff --git a/Test/git-issues/git-issue-698.dfy.expect b/Test/git-issues/git-issue-698.dfy.expect index 27ba77ddaf6..7f965a65d2e 100644 --- a/Test/git-issues/git-issue-698.dfy.expect +++ b/Test/git-issues/git-issue-698.dfy.expect @@ -1 +1,8 @@ + +Dafny program verifier finished with 3 verified, 0 errors + +Dafny program verifier did not attempt verification +true + +Dafny program verifier did not attempt verification true diff --git a/Test/git-issues/git-issue-698b.dfy b/Test/git-issues/git-issue-698b.dfy index dbdbc3b36d3..1d4a92456e6 100644 --- a/Test/git-issues/git-issue-698b.dfy +++ b/Test/git-issues/git-issue-698b.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" type Small = x: int | 0 <= x < 100 && x != 3 @@ -12,4 +13,4 @@ method Main() { var b := !exists n: Small :: F(n) != 100; assert b; print b; -} +} \ No newline at end of file diff --git a/Test/git-issues/git-issue-698b.dfy.expect b/Test/git-issues/git-issue-698b.dfy.expect index f32a5804e29..188a72ebc36 100644 --- a/Test/git-issues/git-issue-698b.dfy.expect +++ b/Test/git-issues/git-issue-698b.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-701.dfy b/Test/git-issues/git-issue-701.dfy index 38984df4ecf..af19f0d89e2 100644 --- a/Test/git-issues/git-issue-701.dfy +++ b/Test/git-issues/git-issue-701.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var ca := new ClassA; diff --git a/Test/git-issues/git-issue-701.dfy.expect b/Test/git-issues/git-issue-701.dfy.expect index 5198c09cbb1..4d20966e641 100644 --- a/Test/git-issues/git-issue-701.dfy.expect +++ b/Test/git-issues/git-issue-701.dfy.expect @@ -1,3 +1,22 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification +0 0 0 +[] [] [] +C.Nothing C.Nothing C.Nothing + +Dafny program verifier did not attempt verification +0 0 0 +[] [] [] +C.Nothing C.Nothing C.Nothing + +Dafny program verifier did not attempt verification +0 0 0 +[] [] [] +C.Nothing C.Nothing C.Nothing + +Dafny program verifier did not attempt verification 0 0 0 [] [] [] C.Nothing C.Nothing C.Nothing diff --git a/Test/git-issues/git-issue-705.dfy b/Test/git-issues/git-issue-705.dfy index 9c36a336e8e..d4b806800c2 100644 --- a/Test/git-issues/git-issue-705.dfy +++ b/Test/git-issues/git-issue-705.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs /spillTargetCode:3 "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js /spillTargetCode:3 "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go /spillTargetCode:3 "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java /spillTargetCode:3 "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype MyDataType = AAA { function toString(): int { 222 } diff --git a/Test/git-issues/git-issue-705.dfy.expect b/Test/git-issues/git-issue-705.dfy.expect index 79a1eee7c74..02cf409667a 100644 --- a/Test/git-issues/git-issue-705.dfy.expect +++ b/Test/git-issues/git-issue-705.dfy.expect @@ -1 +1,14 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification +MyDataType.AAA 222 + +Dafny program verifier did not attempt verification +MyDataType.AAA 222 + +Dafny program verifier did not attempt verification +MyDataType.AAA 222 + +Dafny program verifier did not attempt verification MyDataType.AAA 222 diff --git a/Test/git-issues/git-issue-731.dfy b/Test/git-issues/git-issue-731.dfy index 348d40fecea..05d02fea1af 100644 --- a/Test/git-issues/git-issue-731.dfy +++ b/Test/git-issues/git-issue-731.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" trait Trait { const y: Y diff --git a/Test/git-issues/git-issue-731.dfy.expect b/Test/git-issues/git-issue-731.dfy.expect index 7554a44901e..69b2e6af648 100644 --- a/Test/git-issues/git-issue-731.dfy.expect +++ b/Test/git-issues/git-issue-731.dfy.expect @@ -1,2 +1,18 @@ + +Dafny program verifier finished with 3 verified, 0 errors + +Dafny program verifier did not attempt verification +0 0 0 42 +0 0 0 9 + +Dafny program verifier did not attempt verification +0 0 0 42 +0 0 0 9 + +Dafny program verifier did not attempt verification +0 0 0 42 +0 0 0 9 + +Dafny program verifier did not attempt verification 0 0 0 42 0 0 0 9 diff --git a/Test/git-issues/git-issue-731b.dfy b/Test/git-issues/git-issue-731b.dfy index 2a0507839a2..a77dbd6323b 100644 --- a/Test/git-issues/git-issue-731b.dfy +++ b/Test/git-issues/git-issue-731b.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // Testing issue#731 when the class in question has type parameters diff --git a/Test/git-issues/git-issue-731b.dfy.expect b/Test/git-issues/git-issue-731b.dfy.expect index dd3226d2b73..97e6c041920 100644 --- a/Test/git-issues/git-issue-731b.dfy.expect +++ b/Test/git-issues/git-issue-731b.dfy.expect @@ -1 +1,14 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification +0 42 + +Dafny program verifier did not attempt verification +0 42 + +Dafny program verifier did not attempt verification +0 42 + +Dafny program verifier did not attempt verification 0 42 diff --git a/Test/git-issues/git-issue-755.dfy b/Test/git-issues/git-issue-755.dfy index 2227a486a21..25fb3e6a485 100644 --- a/Test/git-issues/git-issue-755.dfy +++ b/Test/git-issues/git-issue-755.dfy @@ -1,5 +1,9 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var s := { 1,9,3,7,5}; diff --git a/Test/git-issues/git-issue-755.dfy.expect b/Test/git-issues/git-issue-755.dfy.expect index 9182de3a24a..c930da26922 100644 --- a/Test/git-issues/git-issue-755.dfy.expect +++ b/Test/git-issues/git-issue-755.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 5 verified, 0 errors + +Dafny program verifier did not attempt verification 1 3 5 @@ -5,3 +9,30 @@ 9 1 3 3 5 + +Dafny program verifier did not attempt verification +1 +9 +3 +7 +5 +1 3 +3 5 + +Dafny program verifier did not attempt verification +1 +9 +3 +7 +5 +1 3 +3 5 + +Dafny program verifier did not attempt verification +1 +3 +5 +7 +9 +3 5 +1 3 diff --git a/Test/git-issues/git-issue-755.dfy.go.expect b/Test/git-issues/git-issue-755.dfy.go.expect deleted file mode 100644 index f41e86c7579..00000000000 --- a/Test/git-issues/git-issue-755.dfy.go.expect +++ /dev/null @@ -1,7 +0,0 @@ -1 -9 -3 -7 -5 -1 3 -3 5 diff --git a/Test/git-issues/git-issue-755.dfy.java.expect b/Test/git-issues/git-issue-755.dfy.java.expect deleted file mode 100644 index f4407f49a6f..00000000000 --- a/Test/git-issues/git-issue-755.dfy.java.expect +++ /dev/null @@ -1,7 +0,0 @@ -1 -3 -5 -7 -9 -3 5 -1 3 diff --git a/Test/git-issues/git-issue-755.dfy.js.expect b/Test/git-issues/git-issue-755.dfy.js.expect deleted file mode 100644 index f41e86c7579..00000000000 --- a/Test/git-issues/git-issue-755.dfy.js.expect +++ /dev/null @@ -1,7 +0,0 @@ -1 -9 -3 -7 -5 -1 3 -3 5 diff --git a/Test/git-issues/git-issue-784.dfy b/Test/git-issues/git-issue-784.dfy index 5f6cf59465c..78b83f01064 100644 --- a/Test/git-issues/git-issue-784.dfy +++ b/Test/git-issues/git-issue-784.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype List = Nil | Cons(T, List) { function App(ys: List): List { diff --git a/Test/git-issues/git-issue-784.dfy.expect b/Test/git-issues/git-issue-784.dfy.expect index e69de29bb2d..8da23be5c8c 100644 --- a/Test/git-issues/git-issue-784.dfy.expect +++ b/Test/git-issues/git-issue-784.dfy.expect @@ -0,0 +1,10 @@ + +Dafny program verifier finished with 4 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-953.dfy b/Test/git-issues/git-issue-953.dfy index 9c14e6e4e98..adebc946c35 100644 --- a/Test/git-issues/git-issue-953.dfy +++ b/Test/git-issues/git-issue-953.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" module P { datatype T_ = T() // the underscore in this name once caused a problem in Java compilation diff --git a/Test/git-issues/git-issue-953.dfy.expect b/Test/git-issues/git-issue-953.dfy.expect index 8eec6126a08..8466ea62f3f 100644 --- a/Test/git-issues/git-issue-953.dfy.expect +++ b/Test/git-issues/git-issue-953.dfy.expect @@ -1,3 +1,39 @@ + +Dafny program verifier finished with 6 verified, 0 errors + +Dafny program verifier did not attempt verification +C1.T_.T +P.T_.T +OtherNamesWithSpecialCharacters?_.A?_.A?_ OtherNamesWithSpecialCharacters?_.B?_.B?_ +17 17 0 0 +C2.C.C(10, 11) +9 + +Dafny program verifier did not attempt verification +C1.T_.T +P.T_.T +OtherNamesWithSpecialCharacters?_.A?_.A?_ OtherNamesWithSpecialCharacters?_.B?_.B?_ +17 17 0 0 +C2.C.C(10, 11) +9 + +Dafny program verifier did not attempt verification +C1.T_.T +P.T_.T +OtherNamesWithSpecialCharacters?_.A?_.A?_ OtherNamesWithSpecialCharacters?_.B?_.B?_ +17 17 0 0 +C2.C.C(10, 11) +9 + +Dafny program verifier did not attempt verification +C1.T_.T +P.T_.T +OtherNamesWithSpecialCharacters?_.A?_.A?_ OtherNamesWithSpecialCharacters?_.B?_.B?_ +17 17 0 0 +C2.C.C(10, 11) +9 + +Dafny program verifier did not attempt verification C1.T_.T P.T_.T OtherNamesWithSpecialCharacters?_.A?_.A?_ OtherNamesWithSpecialCharacters?_.B?_.B?_ diff --git a/Test/git-issues/github-issue-3343.dfy b/Test/git-issues/github-issue-3343.dfy index d518b2a1a41..517a11d7fc1 100644 --- a/Test/git-issues/github-issue-3343.dfy +++ b/Test/git-issues/github-issue-3343.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" +// RUN: %baredafny run "%s" -t:java > "%t" +// RUN: %diff "%s.expect" "%t" method Bug() { var zero := 0; var a := new int[zero] []; diff --git a/Test/git-issues/github-issue-3343.dfy.expect b/Test/git-issues/github-issue-3343.dfy.expect index e69de29bb2d..823a60a105c 100644 --- a/Test/git-issues/github-issue-3343.dfy.expect +++ b/Test/git-issues/github-issue-3343.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 1 verified, 0 errors diff --git a/Test/hofs/Compilation.dfy b/Test/hofs/Compilation.dfy index 7e9c674b495..99fd0a36506 100644 --- a/Test/hofs/Compilation.dfy +++ b/Test/hofs/Compilation.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" class Ref { var val : A diff --git a/Test/hofs/Compilation.dfy.expect b/Test/hofs/Compilation.dfy.expect index 6b7187d2557..760fafc6189 100644 --- a/Test/hofs/Compilation.dfy.expect +++ b/Test/hofs/Compilation.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 2 verified, 0 errors 1 = 1 3 = 3 3 = 3 diff --git a/Test/hofs/Examples.dfy b/Test/hofs/Examples.dfy index bebda559221..cdf177c001f 100644 --- a/Test/hofs/Examples.dfy +++ b/Test/hofs/Examples.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" function Apply(f: A ~> B, x: A): B reads f.reads(x) diff --git a/Test/hofs/Examples.dfy.expect b/Test/hofs/Examples.dfy.expect index e69de29bb2d..851aaf58286 100644 --- a/Test/hofs/Examples.dfy.expect +++ b/Test/hofs/Examples.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 7 verified, 0 errors diff --git a/Test/hofs/Fold.dfy b/Test/hofs/Fold.dfy index 96ddb01591f..336f9121b52 100644 --- a/Test/hofs/Fold.dfy +++ b/Test/hofs/Fold.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype List = Nil | Cons(A,List) diff --git a/Test/hofs/Fold.dfy.expect b/Test/hofs/Fold.dfy.expect index 3abcc310618..144ffab92db 100644 --- a/Test/hofs/Fold.dfy.expect +++ b/Test/hofs/Fold.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors 3 = 3 diff --git a/Test/hofs/Renaming.dfy b/Test/hofs/Renaming.dfy index 391c0e79ef6..cf21fdba2f8 100644 --- a/Test/hofs/Renaming.dfy +++ b/Test/hofs/Renaming.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" function OnId(f : (bool -> bool) -> int) : int reads f.reads(x => x) diff --git a/Test/hofs/Renaming.dfy.expect b/Test/hofs/Renaming.dfy.expect index 13a954d9043..e2b6636dbe4 100644 --- a/Test/hofs/Renaming.dfy.expect +++ b/Test/hofs/Renaming.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 4 verified, 0 errors 10 11 diff --git a/Test/hofs/Requires.dfy b/Test/hofs/Requires.dfy index f5e51244184..de5944b6744 100644 --- a/Test/hofs/Requires.dfy +++ b/Test/hofs/Requires.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/hofs/Requires.dfy.expect b/Test/hofs/Requires.dfy.expect index e69de29bb2d..1981561ca00 100644 --- a/Test/hofs/Requires.dfy.expect +++ b/Test/hofs/Requires.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 10 verified, 0 errors diff --git a/Test/hofs/TreeMapSimple.dfy b/Test/hofs/TreeMapSimple.dfy index b7baf6eb8d7..d93aea46403 100644 --- a/Test/hofs/TreeMapSimple.dfy +++ b/Test/hofs/TreeMapSimple.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { TestY(); diff --git a/Test/hofs/TreeMapSimple.dfy.expect b/Test/hofs/TreeMapSimple.dfy.expect index be0317f1016..9224d605f7e 100644 --- a/Test/hofs/TreeMapSimple.dfy.expect +++ b/Test/hofs/TreeMapSimple.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 11 verified, 0 errors Tree.Branch(100, List.Cons(Tree.Branch(50, List.Nil), List.Nil)) Tree.Branch(100, List.Cons(Tree.Branch(50, List.Nil), List.Nil)) diff --git a/Test/hofs/VectorUpdate.dfy b/Test/hofs/VectorUpdate.dfy index 70c0de3084e..848ed585ca6 100644 --- a/Test/hofs/VectorUpdate.dfy +++ b/Test/hofs/VectorUpdate.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // this is a rather verbose version of the VectorUpdate method method VectorUpdate(N: int, a : array, f : (int,A) ~> A) diff --git a/Test/hofs/VectorUpdate.dfy.expect b/Test/hofs/VectorUpdate.dfy.expect index 7645f125857..b8fae39eab8 100644 --- a/Test/hofs/VectorUpdate.dfy.expect +++ b/Test/hofs/VectorUpdate.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 8 verified, 0 errors 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 100, 50, 33, 25, 20, 16, 14, 12, 11, 10 diff --git a/Test/hofs/WhileLoop.dfy b/Test/hofs/WhileLoop.dfy index 914f47f4522..4af9fbd841b 100644 --- a/Test/hofs/WhileLoop.dfy +++ b/Test/hofs/WhileLoop.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" class Ref { var val: A diff --git a/Test/hofs/WhileLoop.dfy.expect b/Test/hofs/WhileLoop.dfy.expect index 83083b451e1..234ac298c9b 100644 --- a/Test/hofs/WhileLoop.dfy.expect +++ b/Test/hofs/WhileLoop.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 4 verified, 0 errors 22 22 22 diff --git a/Test/metatests/OutputEncoding.dfy b/Test/metatests/OutputEncoding.dfy index 59fa53bf298..68c390ac811 100644 --- a/Test/metatests/OutputEncoding.dfy +++ b/Test/metatests/OutputEncoding.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" +// RUN: %baredafny verify %args "%s" > "%t" +// RUN: %baredafny run --no-verify --target=cs %args "%s" >> "%t" +// RUN: %baredafny run --no-verify --target=js %args "%s" >> "%t" +// RUN: %baredafny run --no-verify --target=go %args "%s" >> "%t" +// RUN: %baredafny run --no-verify --target=py %args "%s" >> "%t" +// RUN: %baredafny run --no-verify --target=java %args "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { // This works fine in all languages because € is a single UTF-16 code unit. diff --git a/Test/metatests/OutputEncoding.dfy.expect b/Test/metatests/OutputEncoding.dfy.expect index b25a57298f1..a37241376f3 100644 --- a/Test/metatests/OutputEncoding.dfy.expect +++ b/Test/metatests/OutputEncoding.dfy.expect @@ -1 +1,17 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification +Euro sign: € + +Dafny program verifier did not attempt verification +Euro sign: € + +Dafny program verifier did not attempt verification +Euro sign: € + +Dafny program verifier did not attempt verification +Euro sign: € + +Dafny program verifier did not attempt verification Euro sign: € diff --git a/Test/patterns/OrPatterns.dfy b/Test/patterns/OrPatterns.dfy index 6385bd55c93..4f2610c9379 100644 --- a/Test/patterns/OrPatterns.dfy +++ b/Test/patterns/OrPatterns.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /rprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Enum = One | Two | Three { predicate Even() { diff --git a/Test/patterns/OrPatterns.dfy.expect b/Test/patterns/OrPatterns.dfy.expect index d86bac9de59..a6fce7c4a13 100644 --- a/Test/patterns/OrPatterns.dfy.expect +++ b/Test/patterns/OrPatterns.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 11 verified, 0 errors OK diff --git a/Test/patterns/PatternMatching.dfy b/Test/patterns/PatternMatching.dfy index e8a73b856e4..477126c066a 100644 --- a/Test/patterns/PatternMatching.dfy +++ b/Test/patterns/PatternMatching.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" /* * This file contains a collection of tests for features modified or introduced in PR 458 @@ -221,4 +222,4 @@ method Main() { var r5 := MultipleNestedMatch(A(0), t4, bb); print "Testing MultipleNestedMatch: ", r0, r1, r2, r3, r4, r5, ", should return 012345\n"; -} +} \ No newline at end of file diff --git a/Test/patterns/PatternMatching.dfy.expect b/Test/patterns/PatternMatching.dfy.expect index b4415971ca5..2970273cbfc 100644 --- a/Test/patterns/PatternMatching.dfy.expect +++ b/Test/patterns/PatternMatching.dfy.expect @@ -1,3 +1,6 @@ +PatternMatching.dfy(102,4): Warning: this branch is redundant + +Dafny program verifier finished with 9 verified, 0 errors NestingTest([6]) = 6, should return 6 NestedVariableTest([2::3::4::5::6]) = 0, should return 0 ConstantTest([3::4::5::6]) = 2, should return 2 diff --git a/Test/patterns/PatternMatching.dfy.verifier.expect b/Test/patterns/PatternMatching.dfy.verifier.expect deleted file mode 100644 index b486aadfb80..00000000000 --- a/Test/patterns/PatternMatching.dfy.verifier.expect +++ /dev/null @@ -1 +0,0 @@ -PatternMatching.dfy(101,4): Warning: this branch is redundant diff --git a/Test/traits/TraitCompile.dfy b/Test/traits/TraitCompile.dfy index 6e9b925fbc5..03cf3746c6f 100644 --- a/Test/traits/TraitCompile.dfy +++ b/Test/traits/TraitCompile.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" trait TT { @@ -814,4 +820,4 @@ module RedeclaringMembers { true } } -} +} \ No newline at end of file diff --git a/Test/traits/TraitCompile.dfy.expect b/Test/traits/TraitCompile.dfy.expect index b70a9b09d2e..8257b754de2 100644 --- a/Test/traits/TraitCompile.dfy.expect +++ b/Test/traits/TraitCompile.dfy.expect @@ -1,3 +1,259 @@ + +Dafny program verifier finished with 75 verified, 0 errors + +Dafny program verifier did not attempt verification +y=120 +x=12 +d=800 +a5=407 +t=1212 +z=30 +z'=30 +w=30 +d=1000 +a5=507 +t=1512 +t=1512 +t=1515 +This is OtherModule.P(7.0) +From OtherModule.Y: 7 and true +This is OtherModule.P(7.0) +From OtherModule.X: 7 and true +c.f= 15 j.f= 15 +c.f= 18 j.f= 18 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +x=126 +5.2 9 false +true true true true +false false false false +true true true true +false false false false +5.2 5.2 +1.2 1.2 +1.2 1.2 +15 30 +15 30 +15 30 +0 (0, 0) 0 +8 +0 0 0 0 0 0 0 0 0 0 0 0 +13 13 13 13 13 13 13 13 13 13 13 13 +14 14 14 14 14 14 14 14 14 14 14 14 +15 15 15 15 15 15 15 15 15 15 15 15 +16 16 16 16 16 16 16 16 16 16 16 16 +17 17 17 17 17 17 17 17 17 17 17 17 +18 18 18 18 18 18 18 18 18 18 18 18 +19 19 19 19 19 19 19 19 19 19 19 19 +20 20 20 20 20 20 20 20 20 20 20 20 +21 21 21 21 21 21 21 21 21 21 21 21 +22 22 22 22 22 22 22 22 22 22 22 22 +23 23 23 23 23 23 23 23 23 23 23 23 +24 24 24 24 24 24 24 24 24 24 24 24 +f(4) = 7 +f(4) = 7 +g(4) = 7 +g(4) = 7 +41 15 26 +true true +true true +true true +true true +true true true +true true true + +Dafny program verifier did not attempt verification +y=120 +x=12 +d=800 +a5=407 +t=1212 +z=30 +z'=30 +w=30 +d=1000 +a5=507 +t=1512 +t=1512 +t=1515 +This is OtherModule.P(7.0) +From OtherModule.Y: 7 and true +This is OtherModule.P(7.0) +From OtherModule.X: 7 and true +c.f= 15 j.f= 15 +c.f= 18 j.f= 18 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +x=126 +5.2 9 false +true true true true +false false false false +true true true true +false false false false +5.2 5.2 +1.2 1.2 +1.2 1.2 +15 30 +15 30 +15 30 +0 (0, 0) 0 +8 +0 0 0 0 0 0 0 0 0 0 0 0 +13 13 13 13 13 13 13 13 13 13 13 13 +14 14 14 14 14 14 14 14 14 14 14 14 +15 15 15 15 15 15 15 15 15 15 15 15 +16 16 16 16 16 16 16 16 16 16 16 16 +17 17 17 17 17 17 17 17 17 17 17 17 +18 18 18 18 18 18 18 18 18 18 18 18 +19 19 19 19 19 19 19 19 19 19 19 19 +20 20 20 20 20 20 20 20 20 20 20 20 +21 21 21 21 21 21 21 21 21 21 21 21 +22 22 22 22 22 22 22 22 22 22 22 22 +23 23 23 23 23 23 23 23 23 23 23 23 +24 24 24 24 24 24 24 24 24 24 24 24 +f(4) = 7 +f(4) = 7 +g(4) = 7 +g(4) = 7 +41 15 26 +true true +true true +true true +true true +true true true +true true true + +Dafny program verifier did not attempt verification +y=120 +x=12 +d=800 +a5=407 +t=1212 +z=30 +z'=30 +w=30 +d=1000 +a5=507 +t=1512 +t=1512 +t=1515 +This is OtherModule.P(7.0) +From OtherModule.Y: 7 and true +This is OtherModule.P(7.0) +From OtherModule.X: 7 and true +c.f= 15 j.f= 15 +c.f= 18 j.f= 18 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +x=126 +5.2 9 false +true true true true +false false false false +true true true true +false false false false +5.2 5.2 +1.2 1.2 +1.2 1.2 +15 30 +15 30 +15 30 +0 (0, 0) 0 +8 +0 0 0 0 0 0 0 0 0 0 0 0 +13 13 13 13 13 13 13 13 13 13 13 13 +14 14 14 14 14 14 14 14 14 14 14 14 +15 15 15 15 15 15 15 15 15 15 15 15 +16 16 16 16 16 16 16 16 16 16 16 16 +17 17 17 17 17 17 17 17 17 17 17 17 +18 18 18 18 18 18 18 18 18 18 18 18 +19 19 19 19 19 19 19 19 19 19 19 19 +20 20 20 20 20 20 20 20 20 20 20 20 +21 21 21 21 21 21 21 21 21 21 21 21 +22 22 22 22 22 22 22 22 22 22 22 22 +23 23 23 23 23 23 23 23 23 23 23 23 +24 24 24 24 24 24 24 24 24 24 24 24 +f(4) = 7 +f(4) = 7 +g(4) = 7 +g(4) = 7 +41 15 26 +true true +true true +true true +true true +true true true +true true true + +Dafny program verifier did not attempt verification +y=120 +x=12 +d=800 +a5=407 +t=1212 +z=30 +z'=30 +w=30 +d=1000 +a5=507 +t=1512 +t=1512 +t=1515 +This is OtherModule.P(7.0) +From OtherModule.Y: 7 and true +This is OtherModule.P(7.0) +From OtherModule.X: 7 and true +c.f= 15 j.f= 15 +c.f= 18 j.f= 18 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +x=126 +5.2 9 false +true true true true +false false false false +true true true true +false false false false +5.2 5.2 +1.2 1.2 +1.2 1.2 +15 30 +15 30 +15 30 +0 (0, 0) 0 +8 +0 0 0 0 0 0 0 0 0 0 0 0 +13 13 13 13 13 13 13 13 13 13 13 13 +14 14 14 14 14 14 14 14 14 14 14 14 +15 15 15 15 15 15 15 15 15 15 15 15 +16 16 16 16 16 16 16 16 16 16 16 16 +17 17 17 17 17 17 17 17 17 17 17 17 +18 18 18 18 18 18 18 18 18 18 18 18 +19 19 19 19 19 19 19 19 19 19 19 19 +20 20 20 20 20 20 20 20 20 20 20 20 +21 21 21 21 21 21 21 21 21 21 21 21 +22 22 22 22 22 22 22 22 22 22 22 22 +23 23 23 23 23 23 23 23 23 23 23 23 +24 24 24 24 24 24 24 24 24 24 24 24 +f(4) = 7 +f(4) = 7 +g(4) = 7 +g(4) = 7 +41 15 26 +true true +true true +true true +true true +true true true +true true true + +Dafny program verifier did not attempt verification y=120 x=12 d=800 diff --git a/Test/traits/TraitExample.dfy b/Test/traits/TraitExample.dfy index 54c5cbbec6f..d6afb4ce70b 100644 --- a/Test/traits/TraitExample.dfy +++ b/Test/traits/TraitExample.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" trait Automobile { ghost var Repr: set diff --git a/Test/traits/TraitExample.dfy.expect b/Test/traits/TraitExample.dfy.expect index b9783e62141..c1b4ac93962 100644 --- a/Test/traits/TraitExample.dfy.expect +++ b/Test/traits/TraitExample.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 29 verified, 0 errors Fiat: 6 Volvo: 20 Catacar: 26 diff --git a/Test/traits/Traits-Fields.dfy b/Test/traits/Traits-Fields.dfy index 6ae1aaab6d9..2da609c33c8 100644 --- a/Test/traits/Traits-Fields.dfy +++ b/Test/traits/Traits-Fields.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" trait J { diff --git a/Test/traits/Traits-Fields.dfy.expect b/Test/traits/Traits-Fields.dfy.expect index c39bd8b5d5d..cc460fc52f4 100644 --- a/Test/traits/Traits-Fields.dfy.expect +++ b/Test/traits/Traits-Fields.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 2 verified, 0 errors j.x = 9 c.x = 9 diff --git a/Test/traits/TraitsMultipleInheritance.dfy b/Test/traits/TraitsMultipleInheritance.dfy index 67fd8673488..12590e47828 100644 --- a/Test/traits/TraitsMultipleInheritance.dfy +++ b/Test/traits/TraitsMultipleInheritance.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" trait J1{ var x: int diff --git a/Test/traits/TraitsMultipleInheritance.dfy.expect b/Test/traits/TraitsMultipleInheritance.dfy.expect index b116b2d070d..ad1a1011a25 100644 --- a/Test/traits/TraitsMultipleInheritance.dfy.expect +++ b/Test/traits/TraitsMultipleInheritance.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 1 verified, 0 errors c.x + c.y = 30 j1.x + j2.y = 30 diff --git a/Test/unicodechars/comp/Collections.dfy b/Test/unicodechars/comp/Collections.dfy index 14d241ed5ab..fb3e451eb83 100644 --- a/Test/unicodechars/comp/Collections.dfy +++ b/Test/unicodechars/comp/Collections.dfy @@ -1,3 +1,8 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:true --verify-included-files +// RUN: %dafny /compile:0 /verifyAllModules /unicodeChar:1 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" include "../../comp/Collections.dfy" diff --git a/Test/unicodechars/comp/Collections.dfy.expect b/Test/unicodechars/comp/Collections.dfy.expect index 89f08b08d75..70586502b0d 100644 --- a/Test/unicodechars/comp/Collections.dfy.expect +++ b/Test/unicodechars/comp/Collections.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 40 verified, 0 errors + +Dafny program verifier did not attempt verification Sets: {} {17, 82} {12, 17} cardinality: 0 2 2 union: {17, 82} {12, 17, 82} @@ -123,3 +127,511 @@ Multiset=== 1 3 |s|=2 |u|=4 1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Yellow := 21, Color.Blue := 30] +keys: {Color.Yellow, Color.Blue} +values: {21, 30} +items: {(Color.Yellow, 21), (Color.Blue, 30)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {21, 30} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.go.expect b/Test/unicodechars/comp/Collections.dfy.go.expect deleted file mode 100644 index 2fc0f3b7093..00000000000 --- a/Test/unicodechars/comp/Collections.dfy.go.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.java.expect b/Test/unicodechars/comp/Collections.dfy.java.expect deleted file mode 100644 index 39975cadfc4..00000000000 --- a/Test/unicodechars/comp/Collections.dfy.java.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Yellow := 21, Color.Blue := 30] -keys: {Color.Yellow, Color.Blue} -values: {21, 30} -items: {(Color.Yellow, 21), (Color.Blue, 30)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.js.expect b/Test/unicodechars/comp/Collections.dfy.js.expect deleted file mode 100644 index 2fc0f3b7093..00000000000 --- a/Test/unicodechars/comp/Collections.dfy.js.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.py.expect b/Test/unicodechars/comp/Collections.dfy.py.expect deleted file mode 100644 index e4e346dede0..00000000000 --- a/Test/unicodechars/comp/Collections.dfy.py.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {21, 30} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/unicodechars/comp/Comprehensions.dfy b/Test/unicodechars/comp/Comprehensions.dfy index 8bd5f67525e..274f8d3a150 100644 --- a/Test/unicodechars/comp/Comprehensions.dfy +++ b/Test/unicodechars/comp/Comprehensions.dfy @@ -1,3 +1,8 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:true --verify-included-files -include "../../comp/Comprehensions.dfy" +// RUN: %dafny /compile:0 /unicodeChar:1 /verifyAllModules "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" +include "../../comp/Comprehensions.dfy" \ No newline at end of file diff --git a/Test/unicodechars/comp/Comprehensions.dfy.expect b/Test/unicodechars/comp/Comprehensions.dfy.expect index c9703fc9397..18159ddde0a 100644 --- a/Test/unicodechars/comp/Comprehensions.dfy.expect +++ b/Test/unicodechars/comp/Comprehensions.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 32 verified, 0 errors + +Dafny program verifier did not attempt verification x=13 y=14 x=13 y=14 b=yes true false @@ -60,3 +64,259 @@ true true [137438953474, 137438953475, 137438953476, 137438953477, 137438953479] cdefh cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[14 := 7, 12 := 6, 13 := 6] +map[18 := 14, 17 := 13, 16 := 12] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh diff --git a/Test/unicodechars/comp/Comprehensions.dfy.py.expect b/Test/unicodechars/comp/Comprehensions.dfy.py.expect deleted file mode 100644 index aeaa31fc0f3..00000000000 --- a/Test/unicodechars/comp/Comprehensions.dfy.py.expect +++ /dev/null @@ -1,62 +0,0 @@ -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[14 := 7, 12 := 6, 13 := 6] -map[18 := 14, 17 := 13, 16 := 12] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh diff --git a/Test/unicodechars/comp/NativeNumbers.dfy b/Test/unicodechars/comp/NativeNumbers.dfy index 20cdb1e214f..764b4b3b384 100644 --- a/Test/unicodechars/comp/NativeNumbers.dfy +++ b/Test/unicodechars/comp/NativeNumbers.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:true --verify-included-files // Skip JavaScript because JavaScript doesn't have the same native types -include "../../comp/NativeNumbers.dfy" +// RUN: %dafny /compile:0 /verifyAllModules /unicodeChar:1 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" +include "../../comp/NativeNumbers.dfy" \ No newline at end of file diff --git a/Test/unicodechars/comp/NativeNumbers.dfy.expect b/Test/unicodechars/comp/NativeNumbers.dfy.expect index 354d931a151..b0fc6754f84 100644 --- a/Test/unicodechars/comp/NativeNumbers.dfy.expect +++ b/Test/unicodechars/comp/NativeNumbers.dfy.expect @@ -1,3 +1,259 @@ + +Dafny program verifier finished with 25 verified, 0 errors + +Dafny program verifier did not attempt verification +Casting: + +Small numbers: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 +5 5 5 5 5 5 5 5 5 +6 6 6 6 6 6 6 6 6 +7 7 7 7 7 7 7 7 7 +8 8 8 8 8 8 8 8 8 + +Large unsigned numbers: +255 255 255 255 255 255 255 255 +65535 65535 65535 65535 65535 65535 +4294967295 4294967295 4294967295 4294967295 +18446744073709551615 18446744073709551615 + +Int to large unsigned: +255 65535 4294967295 18446744073709551615 + +Cast from cardinality operator: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 + +Characters: +'C' 67 67 67 67 67 67 67 67 67 +0 127 32767 65535 65535 255 65535 65535 65535 + +Defaults: + +0 0 0 0 0 0 0 0 0 + +Byte arithmetic: + +20 30 +10 10 18 + +Short arithmetic: + +20 30 +10 10 18 + +Bitvectors: + +0 3 4 1 + +Comparison to zero: + +int8: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int16: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int32: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int64: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint8: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint16: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint32: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint64: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N + + +Dafny program verifier did not attempt verification +Casting: + +Small numbers: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 +5 5 5 5 5 5 5 5 5 +6 6 6 6 6 6 6 6 6 +7 7 7 7 7 7 7 7 7 +8 8 8 8 8 8 8 8 8 + +Large unsigned numbers: +255 255 255 255 255 255 255 255 +65535 65535 65535 65535 65535 65535 +4294967295 4294967295 4294967295 4294967295 +18446744073709551615 18446744073709551615 + +Int to large unsigned: +255 65535 4294967295 18446744073709551615 + +Cast from cardinality operator: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 + +Characters: +'C' 67 67 67 67 67 67 67 67 67 +0 127 32767 65535 65535 255 65535 65535 65535 + +Defaults: + +0 0 0 0 0 0 0 0 0 + +Byte arithmetic: + +20 30 +10 10 18 + +Short arithmetic: + +20 30 +10 10 18 + +Bitvectors: + +0 3 4 1 + +Comparison to zero: + +int8: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int16: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int32: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int64: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint8: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint16: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint32: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint64: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N + + +Dafny program verifier did not attempt verification +Casting: + +Small numbers: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 +5 5 5 5 5 5 5 5 5 +6 6 6 6 6 6 6 6 6 +7 7 7 7 7 7 7 7 7 +8 8 8 8 8 8 8 8 8 + +Large unsigned numbers: +255 255 255 255 255 255 255 255 +65535 65535 65535 65535 65535 65535 +4294967295 4294967295 4294967295 4294967295 +18446744073709551615 18446744073709551615 + +Int to large unsigned: +255 65535 4294967295 18446744073709551615 + +Cast from cardinality operator: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 + +Characters: +'C' 67 67 67 67 67 67 67 67 67 +0 127 32767 65535 65535 255 65535 65535 65535 + +Defaults: + +0 0 0 0 0 0 0 0 0 + +Byte arithmetic: + +20 30 +10 10 18 + +Short arithmetic: + +20 30 +10 10 18 + +Bitvectors: + +0 3 4 1 + +Comparison to zero: + +int8: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int16: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int32: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int64: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint8: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint16: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint32: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint64: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N + + +Dafny program verifier did not attempt verification Casting: Small numbers: diff --git a/Test/unicodechars/comp/Numbers.dfy b/Test/unicodechars/comp/Numbers.dfy index e5e36180234..2c9170fe4d7 100644 --- a/Test/unicodechars/comp/Numbers.dfy +++ b/Test/unicodechars/comp/Numbers.dfy @@ -1,3 +1,8 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:true --verify-included-files -include "../../comp/Numbers.dfy" +// RUN: %dafny /compile:0 /verifyAllModules /unicodeChar:1 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" +include "../../comp/Numbers.dfy" \ No newline at end of file diff --git a/Test/unicodechars/comp/Numbers.dfy.expect b/Test/unicodechars/comp/Numbers.dfy.expect index cce193e1cce..6fa2f59f340 100644 --- a/Test/unicodechars/comp/Numbers.dfy.expect +++ b/Test/unicodechars/comp/Numbers.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 59 verified, 0 errors + +Dafny program verifier did not attempt verification 0 0 3 @@ -109,3 +113,455 @@ true false true false false true false true true false true false 20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +'g' 'Q' '2' +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +(312.0 / 40.0) (1248.0 / 40.0) +(-312.0 / 40.0) (-1248.0 / 40.0) +(-312.0 / 40.0) (1248.0 / 40.0) +(312.0 / 40.0) (-1248.0 / 40.0) +0.0 0.0 0.0 +120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) +123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 (8100.0 / 8100.0) +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +'g' 'Q' '2' +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +'g' 'Q' '2' +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +(312.0 / 40.0) (1248.0 / 40.0) +(-312.0 / 40.0) (-1248.0 / 40.0) +(-312.0 / 40.0) (1248.0 / 40.0) +(312.0 / 40.0) (-1248.0 / 40.0) +0.0 0.0 0.0 +120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) +123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 (8100.0 / 8100.0) +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +'g' 'Q' '2' +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 diff --git a/Test/unicodechars/comp/Numbers.dfy.go.expect b/Test/unicodechars/comp/Numbers.dfy.go.expect deleted file mode 100644 index 95d8ac259c7..00000000000 --- a/Test/unicodechars/comp/Numbers.dfy.go.expect +++ /dev/null @@ -1,111 +0,0 @@ -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -'g' 'Q' '2' -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 diff --git a/Test/unicodechars/comp/Numbers.dfy.py.expect b/Test/unicodechars/comp/Numbers.dfy.py.expect deleted file mode 100644 index 95d8ac259c7..00000000000 --- a/Test/unicodechars/comp/Numbers.dfy.py.expect +++ /dev/null @@ -1,111 +0,0 @@ -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -'g' 'Q' '2' -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 From 973dba513ac60814fc6797c9ccab40270c644dfc Mon Sep 17 00:00:00 2001 From: Robin Salkeld Date: Fri, 9 Jun 2023 16:08:30 -0700 Subject: [PATCH 44/68] Should be the last batch of manual fixes --- Test/c++/maps.dfy | 3 +- Test/c++/maps.dfy.expect | 10 ++- Test/comp/Print.dfy | 1 + Test/dafny2/Z-BirthdayBook.dfy | 1 + Test/dafny4/Regression15.dfy | 1 + Test/dafny4/git-issue70.dfy | 1 + Test/git-issues/git-issue-1100.dfy | 3 +- Test/git-issues/git-issue-1100.dfy.expect | 2 - Test/git-issues/git-issue-179.dfy | 1 + Test/git-issues/git-issue-258.dfy | 8 +-- Test/git-issues/git-issue-258.dfy.expect | 73 --------------------- Test/git-issues/git-issue-258.dfy.go.expect | 21 ++++++ Test/git-issues/git-issue-258.dfy.js.expect | 21 ++++++ Test/git-issues/git-issue-258.dfy.py.expect | 21 ++++++ Test/git-issues/git-issue-633.dfy | 2 + Test/git-issues/git-issue-633.dfy.expect | 2 + Test/git-issues/git-issue-755.dfy | 1 + 17 files changed, 81 insertions(+), 91 deletions(-) create mode 100644 Test/git-issues/git-issue-258.dfy.go.expect create mode 100644 Test/git-issues/git-issue-258.dfy.js.expect create mode 100644 Test/git-issues/git-issue-258.dfy.py.expect diff --git a/Test/c++/maps.dfy b/Test/c++/maps.dfy index 951d34e96f1..b88ebd56ad5 100644 --- a/Test/c++/maps.dfy +++ b/Test/c++/maps.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/maps.dfy.expect b/Test/c++/maps.dfy.expect index 482aa604356..75daed67bd5 100644 --- a/Test/c++/maps.dfy.expect +++ b/Test/c++/maps.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 9 verified, 0 errors Identity: This is expected ValuesIdentity: This is expected KeyMembership: This is expected @@ -32,10 +30,10 @@ true true true false 0 2 false false false true false true true true -jack wendy NULL -jack NULL NULL +jack wendy null +jack null null ronald ronald false true true true false -jack wendy NULL -jack NULL NULL +jack wendy null +jack null null ronald ronald false diff --git a/Test/comp/Print.dfy b/Test/comp/Print.dfy index 166bae4c351..3cc0c4decd7 100644 --- a/Test/comp/Print.dfy +++ b/Test/comp/Print.dfy @@ -1,3 +1,4 @@ +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 and https://github.com/dafny-lang/dafny/issues/2582 // RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" // RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" // RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" diff --git a/Test/dafny2/Z-BirthdayBook.dfy b/Test/dafny2/Z-BirthdayBook.dfy index d9580e7cca2..5f838ac0d22 100644 --- a/Test/dafny2/Z-BirthdayBook.dfy +++ b/Test/dafny2/Z-BirthdayBook.dfy @@ -1,3 +1,4 @@ +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 // RUN: %dafny /compile:3 "%s" > "%t" // RUN: %diff "%s.expect" "%t" diff --git a/Test/dafny4/Regression15.dfy b/Test/dafny4/Regression15.dfy index 37f31ba7e90..c5f3de710d3 100644 --- a/Test/dafny4/Regression15.dfy +++ b/Test/dafny4/Regression15.dfy @@ -1,3 +1,4 @@ +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 // RUN: %dafny /compile:3 "%s" > "%t" // RUN: %diff "%s.expect" "%t" diff --git a/Test/dafny4/git-issue70.dfy b/Test/dafny4/git-issue70.dfy index c8db7c9618d..b7297cd9e24 100644 --- a/Test/dafny4/git-issue70.dfy +++ b/Test/dafny4/git-issue70.dfy @@ -1,3 +1,4 @@ +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 // RUN: %dafny /compile:3 "%s" > "%t" // RUN: %diff "%s.expect" "%t" diff --git a/Test/git-issues/git-issue-1100.dfy b/Test/git-issues/git-issue-1100.dfy index 533d7688731..d8826adbde3 100644 --- a/Test/git-issues/git-issue-1100.dfy +++ b/Test/git-issues/git-issue-1100.dfy @@ -1,4 +1,3 @@ -// RUN: %dafny /compile:3 /unicodeChar:0 /compileTarget:cpp %S/../c++/arrays.dfy > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%S/../c++/arrays.dfy" -- --relax-definite-assignment --unicode-char:false // Test compilation of a file in another directory diff --git a/Test/git-issues/git-issue-1100.dfy.expect b/Test/git-issues/git-issue-1100.dfy.expect index 552f9355593..2ce9320d8c2 100644 --- a/Test/git-issues/git-issue-1100.dfy.expect +++ b/Test/git-issues/git-issue-1100.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 9 verified, 0 errors 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/git-issues/git-issue-179.dfy b/Test/git-issues/git-issue-179.dfy index 283a04f1a68..5eda20e7877 100644 --- a/Test/git-issues/git-issue-179.dfy +++ b/Test/git-issues/git-issue-179.dfy @@ -1,3 +1,4 @@ +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 // RUN: %dafny /compile:0 "%s" > "%t" // RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" // RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" diff --git a/Test/git-issues/git-issue-258.dfy b/Test/git-issues/git-issue-258.dfy index dbc437cebbc..9f85b1135fc 100644 --- a/Test/git-issues/git-issue-258.dfy +++ b/Test/git-issues/git-issue-258.dfy @@ -1,9 +1,5 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /compile:3 /unicodeChar:0 /spillTargetCode:3 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /compile:3 /unicodeChar:0 /spillTargetCode:3 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /compile:3 /unicodeChar:0 /spillTargetCode:3 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /compile:3 /unicodeChar:0 /spillTargetCode:3 /compileTarget:go "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/2582 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false method pr(s: seq) { print s, "\n"; diff --git a/Test/git-issues/git-issue-258.dfy.expect b/Test/git-issues/git-issue-258.dfy.expect index 8cf196174b8..31b98032806 100644 --- a/Test/git-issues/git-issue-258.dfy.expect +++ b/Test/git-issues/git-issue-258.dfy.expect @@ -1,83 +1,10 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier finished with 1 verified, 0 errors -hi -hi - - -HI! -hi - -HI! - -[23, 45] -[23, 45] -[] -[] -abcabc -abcabc -abcdef -abcdef - - -[1, 2, 3, 4] -[1, 2, 3, 4] - -Dafny program verifier finished with 1 verified, 0 errors -hi -hi - - -HI! -hi - -HI! - -[23, 45] -[23, 45] -[] -[] -abcabc -abcabc -abcdef -abcdef - - -[1, 2, 3, 4] -[1, 2, 3, 4] - -Dafny program verifier finished with 1 verified, 0 errors hi hi HI! hi -[] -HI! - -[23, 45] -[23, 45] -[] -[] -abcabc -abcabc -abcdef -abcdef - - -[1, 2, 3, 4] -[1, 2, 3, 4] - -Dafny program verifier finished with 1 verified, 0 errors -hi -hi - -HI! -hi -[] HI! [23, 45] diff --git a/Test/git-issues/git-issue-258.dfy.go.expect b/Test/git-issues/git-issue-258.dfy.go.expect new file mode 100644 index 00000000000..2745afdf6e1 --- /dev/null +++ b/Test/git-issues/git-issue-258.dfy.go.expect @@ -0,0 +1,21 @@ +hi +hi + + +HI! +hi +[] +HI! + +[23, 45] +[23, 45] +[] +[] +abcabc +abcabc +abcdef +abcdef + + +[1, 2, 3, 4] +[1, 2, 3, 4] diff --git a/Test/git-issues/git-issue-258.dfy.js.expect b/Test/git-issues/git-issue-258.dfy.js.expect new file mode 100644 index 00000000000..2745afdf6e1 --- /dev/null +++ b/Test/git-issues/git-issue-258.dfy.js.expect @@ -0,0 +1,21 @@ +hi +hi + + +HI! +hi +[] +HI! + +[23, 45] +[23, 45] +[] +[] +abcabc +abcabc +abcdef +abcdef + + +[1, 2, 3, 4] +[1, 2, 3, 4] diff --git a/Test/git-issues/git-issue-258.dfy.py.expect b/Test/git-issues/git-issue-258.dfy.py.expect new file mode 100644 index 00000000000..975aa3c36ec --- /dev/null +++ b/Test/git-issues/git-issue-258.dfy.py.expect @@ -0,0 +1,21 @@ +hi +hi +[] + +HI! +hi +[] +HI! + +[23, 45] +[23, 45] +[] +[] +abcabc +abcabc +abcdef +abcdef + + +[1, 2, 3, 4] +[1, 2, 3, 4] diff --git a/Test/git-issues/git-issue-633.dfy b/Test/git-issues/git-issue-633.dfy index 5d9b5aecf58..6abcf6b7dfe 100644 --- a/Test/git-issues/git-issue-633.dfy +++ b/Test/git-issues/git-issue-633.dfy @@ -1,8 +1,10 @@ +// NONUNIFORM: need to add support for --input when running to %testDafnyForEachCompiler // RUN: %dafny /compile:0 "%s" %S/git-issue-633A.dfy > "%t" // RUN: %dafny /noVerify /compile:4 /compileTarget:cs /spillTargetCode:3 "%s" %S/git-issue-633A.dfy >> "%t" // RUN: %dafny /noVerify /compile:4 /compileTarget:js /spillTargetCode:3 "%s" %S/git-issue-633A.dfy >> "%t" // RUN: %dafny /noVerify /compile:4 /compileTarget:go /spillTargetCode:3 "%s" %S/git-issue-633A.dfy >> "%t" // RUN: %dafny /noVerify /compile:4 /compileTarget:java /spillTargetCode:3 "%s" %S/git-issue-633A.dfy >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py /spillTargetCode:3 "%s" %S/git-issue-633A.dfy >> "%t" // RUN: %diff "%s.expect" "%t" method m() { diff --git a/Test/git-issues/git-issue-633.dfy.expect b/Test/git-issues/git-issue-633.dfy.expect index f02fc57989a..cb4103f4b50 100644 --- a/Test/git-issues/git-issue-633.dfy.expect +++ b/Test/git-issues/git-issue-633.dfy.expect @@ -8,3 +8,5 @@ Dafny program verifier did not attempt verification Dafny program verifier did not attempt verification Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-755.dfy b/Test/git-issues/git-issue-755.dfy index 25fb3e6a485..9b72f516173 100644 --- a/Test/git-issues/git-issue-755.dfy +++ b/Test/git-issues/git-issue-755.dfy @@ -1,3 +1,4 @@ +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 // RUN: %dafny /compile:0 "%s" > "%t" // RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" // RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" From 394df55ddce0010b3c0814a35f7a3255699a2462 Mon Sep 17 00:00:00 2001 From: Robin Salkeld Date: Fri, 9 Jun 2023 16:09:23 -0700 Subject: [PATCH 45/68] Convert all tests --- Test/VerifyThis2015/Problem1.dfy | 3 +- Test/VerifyThis2015/Problem1.dfy.expect | 2 - Test/VerifyThis2015/Problem2.dfy | 3 +- Test/VerifyThis2015/Problem2.dfy.expect | 2 - Test/VerifyThis2015/Problem3.dfy | 3 +- Test/VerifyThis2015/Problem3.dfy.expect | 2 - Test/c++/arrays.dfy | 3 +- Test/c++/arrays.dfy.expect | 2 - Test/c++/bit-vectors.dfy | 3 +- Test/c++/bit-vectors.dfy.expect | 2 - Test/c++/class.dfy | 3 +- Test/c++/class.dfy.expect | 2 - Test/c++/const.dfy | 3 +- Test/c++/const.dfy.expect | 2 - Test/c++/datatypes.dfy | 3 +- Test/c++/datatypes.dfy.expect | 2 - Test/c++/generic.dfy | 3 +- Test/c++/generic.dfy.expect | 2 - Test/c++/hello.dfy | 3 +- Test/c++/hello.dfy.expect | 2 - Test/c++/ints.dfy | 3 +- Test/c++/ints.dfy.expect | 2 - Test/c++/recursion.dfy | 3 +- Test/c++/recursion.dfy.expect | 2 - Test/c++/returns.dfy | 3 +- Test/c++/returns.dfy.expect | 2 - Test/c++/seqs.dfy | 3 +- Test/c++/seqs.dfy.expect | 2 - Test/c++/sets.dfy | 3 +- Test/c++/sets.dfy.expect | 2 - Test/c++/while.dfy | 3 +- Test/c++/while.dfy.expect | 2 - Test/comp/Arrays.dfy | 9 +- Test/comp/Arrays.dfy.expect | 396 ------------ Test/comp/Arrays.dfy.go.expect | 96 +++ Test/comp/AsIs-Compile.dfy | 8 +- Test/comp/AsIs-Compile.dfy.expect | 160 ----- Test/comp/AutoInit.dfy | 8 +- Test/comp/AutoInit.dfy.expect | 160 ----- Test/comp/ByMethodCompilation.dfy | 8 +- Test/comp/ByMethodCompilation.dfy.expect | 32 - Test/comp/Calls.dfy | 8 +- Test/comp/Calls.dfy.expect | 40 -- Test/comp/Class.dfy | 8 +- Test/comp/Class.dfy.expect | 72 --- Test/comp/Collections.dfy | 9 +- Test/comp/Collections.dfy.expect | 512 ---------------- Test/comp/Collections.dfy.go.expect | 125 ++++ Test/comp/Collections.dfy.java.expect | 125 ++++ Test/comp/Collections.dfy.js.expect | 125 ++++ Test/comp/Collections.dfy.py.expect | 125 ++++ Test/comp/Comprehensions.dfy | 9 +- Test/comp/Comprehensions.dfy.expect | 260 -------- Test/comp/Comprehensions.dfy.py.expect | 62 ++ Test/comp/ComprehensionsNewSyntax.dfy | 9 +- Test/comp/ComprehensionsNewSyntax.dfy.expect | 148 ----- .../ComprehensionsNewSyntax.dfy.py.expect | 34 ++ Test/comp/CovariantCollections.dfy | 8 +- Test/comp/CovariantCollections.dfy.expect | 220 ------- Test/comp/Datatype.dfy | 9 +- Test/comp/Datatype.dfy.expect | 100 --- Test/comp/Datatype.dfy.java.expect | 22 + Test/comp/Datatype.dfy.py.expect | 22 + Test/comp/DefaultParameters-Compile.dfy | 8 +- .../comp/DefaultParameters-Compile.dfy.expect | 48 -- Test/comp/DowncastClone.dfy | 8 +- Test/comp/DowncastClone.dfy.expect | 40 -- Test/comp/ErasableTypeWrappers.dfy | 8 +- Test/comp/ErasableTypeWrappers.dfy.expect | 84 --- Test/comp/EuclideanDivision.dfy | 8 +- Test/comp/EuclideanDivision.dfy.expect | 36 -- Test/comp/ForLoops-Compilation.dfy | 8 +- Test/comp/ForLoops-Compilation.dfy.expect | 200 ------ Test/comp/ForallNewSyntax.dfy | 8 +- Test/comp/ForallNewSyntax.dfy.expect | 180 ------ Test/comp/Ghosts.dfy | 8 +- Test/comp/Ghosts.dfy.expect | 52 -- Test/comp/Let.dfy | 7 +- Test/comp/Let.dfy.expect | 34 -- Test/comp/MoreAutoInit.dfy | 8 +- Test/comp/MoreAutoInit.dfy.expect | 572 ------------------ Test/comp/NativeNumbers.dfy | 7 +- Test/comp/NativeNumbers.dfy.expect | 256 -------- Test/comp/NestedArrays.dfy | 7 +- Test/comp/NestedArrays.dfy.expect | 16 - Test/comp/Numbers.dfy | 9 +- Test/comp/Numbers.dfy.expect | 456 -------------- Test/comp/Numbers.dfy.go.expect | 111 ++++ Test/comp/Numbers.dfy.py.expect | 111 ++++ Test/comp/Poly.dfy | 9 +- Test/comp/Poly.dfy.expect | 60 -- Test/comp/Poly.dfy.go.expect | 12 + Test/comp/Poly.dfy.py.expect | 12 + Test/comp/StaticMembersOfGenericTypes.dfy | 8 +- .../StaticMembersOfGenericTypes.dfy.expect | 76 --- Test/comp/TailRecursion.dfy | 8 +- Test/comp/TailRecursion.dfy.expect | 76 --- Test/comp/TypeDescriptors.dfy | 8 +- Test/comp/TypeDescriptors.dfy.expect | 152 ----- Test/comp/TypeParams.dfy | 11 +- Test/comp/TypeParams.dfy.expect | 88 --- Test/comp/TypeParams.dfy.go.expect | 19 + Test/comp/TypeParams.dfy.java.expect | 19 + Test/comp/TypeParams.dfy.js.expect | 19 + Test/comp/TypeParams.dfy.py.expect | 19 + Test/comp/UnoptimizedErasableTypeWrappers.dfy | 8 +- ...UnoptimizedErasableTypeWrappers.dfy.expect | 28 - Test/comp/Variance.dfy | 8 +- Test/comp/Variance.dfy.expect | 64 -- Test/comp/Various.dfy | 8 +- Test/comp/Various.dfy.expect | 40 -- Test/comp/firstSteps/0_IKnowThisMuchIs.dfy | 4 +- .../firstSteps/0_IKnowThisMuchIs.dfy.expect | 4 - Test/comp/firstSteps/1_Calls-F.dfy | 4 +- Test/comp/firstSteps/1_Calls-F.dfy.expect | 4 - Test/comp/firstSteps/2_Modules.dfy | 4 +- Test/comp/firstSteps/2_Modules.dfy.expect | 4 - Test/comp/firstSteps/3_Calls-As.dfy | 4 +- Test/comp/firstSteps/3_Calls-As.dfy.expect | 4 - .../4_Calls-FunctionsValues-Class+NT.dfy | 4 +- ..._Calls-FunctionsValues-Class+NT.dfy.expect | 4 - .../firstSteps/5_Calls-FunctionsValues-Dt.dfy | 4 +- .../5_Calls-FunctionsValues-Dt.dfy.expect | 4 - .../firstSteps/6_Calls-VariableCapture.dfy | 4 +- .../6_Calls-VariableCapture.dfy.expect | 4 - Test/comp/firstSteps/7_Arrays.dfy | 4 +- Test/comp/firstSteps/7_Arrays.dfy.expect | 4 - Test/comp/firstSteps/7_Dt_Algebraic.dfy | 6 +- .../firstSteps/7_Dt_Algebraic.dfy.cs.expect | 11 + .../comp/firstSteps/7_Dt_Algebraic.dfy.expect | 17 - Test/dafny0/ArrayElementInitCompile.dfy | 8 +- .../dafny0/ArrayElementInitCompile.dfy.expect | 76 --- Test/dafny0/Bitvectors.dfy | 5 +- Test/dafny0/Bitvectors.dfy.expect | 49 -- Test/dafny0/Constant.dfy | 3 +- Test/dafny0/Constant.dfy.expect | 2 - Test/dafny0/Deprecation.dfy | 3 +- Test/dafny0/Deprecation.dfy.expect | 7 - Test/dafny0/Deprecation.dfy.verifier.expect | 5 + Test/dafny0/DiscoverBounds.dfy | 3 +- Test/dafny0/DiscoverBounds.dfy.expect | 7 - .../dafny0/DiscoverBounds.dfy.verifier.expect | 5 + Test/dafny0/DividedConstructors.dfy | 3 +- Test/dafny0/DividedConstructors.dfy.expect | 3 - .../DividedConstructors.dfy.verifier.expect | 1 + Test/dafny0/EqualityTypesCompile.dfy | 3 +- Test/dafny0/EqualityTypesCompile.dfy.expect | 2 - Test/dafny0/ForallCompilationNewSyntax.dfy | 3 +- .../ForallCompilationNewSyntax.dfy.expect | 6 - ...llCompilationNewSyntax.dfy.verifier.expect | 4 + Test/dafny0/GhostGuards.dfy | 3 +- Test/dafny0/GhostGuards.dfy.expect | 7 - Test/dafny0/GhostGuards.dfy.verifier.expect | 5 + Test/dafny0/GhostITECompilation.dfy | 8 +- Test/dafny0/GhostITECompilation.dfy.expect | 28 - Test/dafny0/InitialValues.dfy | 3 +- Test/dafny0/InitialValues.dfy.expect | 2 - Test/dafny0/MatchBraces.dfy | 5 +- Test/dafny0/MatchBraces.dfy.expect | 8 - Test/dafny0/MoForallCompilation.dfy | 3 +- Test/dafny0/MoForallCompilation.dfy.expect | 2 - Test/dafny0/NameclashesCompile.dfy | 3 +- Test/dafny0/NameclashesCompile.dfy.expect | 2 - Test/dafny0/NonZeroInitializationCompile.dfy | 7 +- .../NonZeroInitializationCompile.dfy.expect | 73 --- Test/dafny0/NullComparisonWarnings.dfy | 3 +- Test/dafny0/NullComparisonWarnings.dfy.expect | 13 - ...NullComparisonWarnings.dfy.verifier.expect | 11 + Test/dafny0/PrintUTF8.dfy | 3 +- Test/dafny0/PrintUTF8.dfy.expect | 2 - Test/dafny0/RangeCompilation.dfy | 3 +- Test/dafny0/RangeCompilation.dfy.expect | 2 - Test/dafny0/SeqFromArray.dfy | 3 +- Test/dafny0/SeqFromArray.dfy.expect | 2 - Test/dafny0/SharedDestructorsCompile.dfy | 5 +- .../SharedDestructorsCompile.dfy.expect | 17 - Test/dafny0/SiblingImports.dfy | 3 +- Test/dafny0/SiblingImports.dfy.expect | 2 - Test/dafny0/TypeConversionsCompile.dfy | 3 +- Test/dafny0/TypeConversionsCompile.dfy.expect | 2 - Test/dafny0/TypeMembers.dfy | 5 +- Test/dafny0/TypeMembers.dfy.expect | 29 - Test/dafny0/TypeMembers.dfy.verifier.expect | 1 + Test/dafny0/Wellfounded.dfy | 3 +- Test/dafny0/Wellfounded.dfy.expect | 4 - Test/dafny0/Wellfounded.dfy.verifier.expect | 2 + Test/dafny2/MinWindowMax.dfy | 3 +- Test/dafny2/MinWindowMax.dfy.expect | 2 - .../SmallestMissingNumber-functional.dfy | 3 +- ...mallestMissingNumber-functional.dfy.expect | 3 - ...ssingNumber-functional.dfy.verifier.expect | 1 + .../SmallestMissingNumber-imperative.dfy | 3 +- ...mallestMissingNumber-imperative.dfy.expect | 2 - Test/dafny2/StoreAndRetrieve.dfy | 7 +- Test/dafny2/StoreAndRetrieve.dfy.expect | 38 -- .../StoreAndRetrieve.dfy.verifier.expect | 5 + Test/dafny2/pq-intrinsic-extrinsic.dfy | 5 +- Test/dafny2/pq-intrinsic-extrinsic.dfy.expect | 11 - Test/dafny3/Abstemious.dfy | 3 +- Test/dafny3/Abstemious.dfy.expect | 2 - Test/dafny3/CachedContainer.dfy | 7 +- Test/dafny3/CachedContainer.dfy.expect | 78 --- .../CachedContainer.dfy.verifier.expect | 13 + Test/dafny3/Iter.dfy | 3 +- Test/dafny3/Iter.dfy.expect | 2 - Test/dafny4/Ackermann.dfy | 3 +- Test/dafny4/Ackermann.dfy.expect | 4 - Test/dafny4/Ackermann.dfy.verifier.expect | 2 + Test/dafny4/Bug107.dfy | 3 +- Test/dafny4/Bug107.dfy.expect | 2 - Test/dafny4/Bug108.dfy | 3 +- Test/dafny4/Bug108.dfy.expect | 2 - Test/dafny4/Bug113.dfy | 5 +- Test/dafny4/Bug113.dfy.expect | 2 - Test/dafny4/Bug116.dfy | 3 +- Test/dafny4/Bug116.dfy.expect | 2 - Test/dafny4/Bug140.dfy | 3 +- Test/dafny4/Bug140.dfy.expect | 2 - Test/dafny4/Bug148.dfy | 3 +- Test/dafny4/Bug148.dfy.expect | 2 - Test/dafny4/Bug49.dfy | 3 +- Test/dafny4/Bug49.dfy.expect | 2 - Test/dafny4/Bug60.dfy | 3 +- Test/dafny4/Bug60.dfy.expect | 2 - Test/dafny4/Bug67.dfy | 5 +- Test/dafny4/Bug67.dfy.expect | 2 - Test/dafny4/Bug68.dfy | 5 +- Test/dafny4/Bug68.dfy.expect | 2 - Test/dafny4/Bug89.dfy | 3 +- Test/dafny4/Bug89.dfy.expect | 2 - Test/dafny4/Bug94.dfy | 3 +- Test/dafny4/Bug94.dfy.expect | 2 - Test/dafny4/ClassRefinement.dfy | 7 +- Test/dafny4/ClassRefinement.dfy.expect | 43 -- .../ClassRefinement.dfy.verifier.expect | 6 + Test/dafny4/ExpandedGuardedness.dfy | 3 +- Test/dafny4/ExpandedGuardedness.dfy.expect | 2 - Test/dafny4/FlyingRobots.dfy | 3 +- Test/dafny4/FlyingRobots.dfy.expect | 2 - Test/dafny4/Leq.dfy | 3 +- Test/dafny4/Leq.dfy.expect | 2 - Test/dafny4/McCarthy91.dfy | 3 +- Test/dafny4/McCarthy91.dfy.expect | 2 - Test/dafny4/NatList.dfy | 3 +- Test/dafny4/NatList.dfy.expect | 2 - Test/dafny4/Regression2.dfy | 3 +- Test/dafny4/Regression2.dfy.expect | 2 - Test/dafny4/Regression3.dfy | 3 +- Test/dafny4/Regression3.dfy.expect | 2 - Test/dafny4/Regression4.dfy | 3 +- Test/dafny4/Regression4.dfy.expect | 2 - Test/dafny4/Regression6.dfy | 3 +- Test/dafny4/Regression6.dfy.expect | 2 - Test/dafny4/Regression7.dfy | 3 +- Test/dafny4/Regression7.dfy.expect | 2 - Test/dafny4/Regression9.dfy | 3 +- Test/dafny4/Regression9.dfy.expect | 2 - Test/dafny4/UnionFind.dfy | 3 +- Test/dafny4/UnionFind.dfy.expect | 2 - Test/dafny4/gcd.dfy | 7 +- Test/dafny4/gcd.dfy.expect | 31 - Test/dafny4/git-issue104.dfy | 8 +- Test/dafny4/git-issue104.dfy.expect | 16 - Test/dafny4/git-issue105.dfy | 3 +- Test/dafny4/git-issue105.dfy.expect | 2 - Test/dafny4/git-issue15.dfy | 3 +- Test/dafny4/git-issue15.dfy.expect | 2 - Test/dafny4/git-issue167.dfy | 3 +- Test/dafny4/git-issue167.dfy.expect | 2 - Test/dafny4/git-issue195.dfy | 3 +- Test/dafny4/git-issue195.dfy.expect | 2 - Test/dafny4/git-issue196.dfy | 3 +- Test/dafny4/git-issue196.dfy.expect | 2 - Test/dafny4/git-issue4.dfy | 3 +- Test/dafny4/git-issue4.dfy.expect | 2 - Test/dafny4/git-issue43.dfy | 3 +- Test/dafny4/git-issue43.dfy.expect | 2 - Test/dafny4/git-issue76.dfy | 5 +- Test/dafny4/git-issue76.dfy.expect | 7 - Test/dafny4/git-issue79.dfy | 3 +- Test/dafny4/git-issue79.dfy.expect | 2 - Test/dafny4/git-issue88.dfy | 3 +- Test/dafny4/git-issue88.dfy.expect | 2 - Test/exceptions/Exceptions1.dfy | 3 +- Test/exceptions/Exceptions1.dfy.expect | 2 - Test/exceptions/Exceptions1Expressions.dfy | 3 +- .../Exceptions1Expressions.dfy.expect | 2 - Test/exports/FIFO.dfy | 3 +- Test/exports/FIFO.dfy.expect | 2 - Test/exports/LIFO.dfy | 3 +- Test/exports/LIFO.dfy.expect | 2 - Test/exports/xrefine2.dfy | 3 +- Test/exports/xrefine2.dfy.expect | 2 - Test/exports/xrefine3.dfy | 3 +- Test/exports/xrefine3.dfy.expect | 2 - Test/git-issues/git-issue-032.dfy | 7 +- Test/git-issues/git-issue-032.dfy.expect | 37 -- .../git-issue-032.dfy.verifier.expect | 3 + Test/git-issues/git-issue-1029.dfy | 3 +- Test/git-issues/git-issue-1029.dfy.expect | 2 - Test/git-issues/git-issue-1093.dfy | 8 +- Test/git-issues/git-issue-1093.dfy.expect | 16 - Test/git-issues/git-issue-1130.dfy | 3 +- Test/git-issues/git-issue-1130.dfy.expect | 2 - Test/git-issues/git-issue-1150.dfy | 3 +- Test/git-issues/git-issue-1150.dfy.expect | 2 - Test/git-issues/git-issue-1185.dfy | 8 +- Test/git-issues/git-issue-1185.dfy.expect | 13 - .../git-issues/git-issue-1185.dfy.java.expect | 1 + Test/git-issues/git-issue-1514.dfy | 3 +- Test/git-issues/git-issue-1514.dfy.expect | 2 - Test/git-issues/git-issue-1514b.dfy | 3 +- Test/git-issues/git-issue-1514b.dfy.expect | 2 - Test/git-issues/git-issue-1514c.dfy | 5 +- Test/git-issues/git-issue-1514c.dfy.expect | 7 - Test/git-issues/git-issue-1553.dfy | 7 +- Test/git-issues/git-issue-1553.dfy.expect | 10 - Test/git-issues/git-issue-1604b.dfy | 3 +- Test/git-issues/git-issue-1604b.dfy.expect | 2 - Test/git-issues/git-issue-1714.dfy | 3 +- Test/git-issues/git-issue-1714.dfy.expect | 2 - Test/git-issues/git-issue-1815a.dfy | 8 +- Test/git-issues/git-issue-1815a.dfy.expect | 16 - Test/git-issues/git-issue-1852.dfy | 5 +- Test/git-issues/git-issue-1852.dfy.expect | 7 - Test/git-issues/git-issue-1903.dfy | 3 +- Test/git-issues/git-issue-1903.dfy.expect | 2 - Test/git-issues/git-issue-1909.dfy | 3 +- Test/git-issues/git-issue-1909.dfy.expect | 2 - Test/git-issues/git-issue-2013.dfy | 8 +- Test/git-issues/git-issue-2013.dfy.expect | 52 -- Test/git-issues/git-issue-2441.dfy | 5 +- Test/git-issues/git-issue-2441.dfy.expect | 6 - Test/git-issues/git-issue-2510.dfy | 3 +- Test/git-issues/git-issue-2510.dfy.expect | 2 - Test/git-issues/git-issue-2608.dfy | 3 +- Test/git-issues/git-issue-2608.dfy.expect | 2 - Test/git-issues/git-issue-262.dfy | 7 +- Test/git-issues/git-issue-262.dfy.expect | 18 - Test/git-issues/git-issue-262.dfy.go.expect | 2 + Test/git-issues/git-issue-262.dfy.java.expect | 2 + Test/git-issues/git-issue-262.dfy.js.expect | 6 + Test/git-issues/git-issue-267.dfy | 7 +- Test/git-issues/git-issue-267.dfy.expect | 13 - Test/git-issues/git-issue-2672.dfy | 8 +- Test/git-issues/git-issue-2672.dfy.expect | 44 -- Test/git-issues/git-issue-2726a.dfy | 3 +- Test/git-issues/git-issue-2726a.dfy.expect | 2 - Test/git-issues/git-issue-2733.dfy | 9 +- Test/git-issues/git-issue-2733.dfy.expect | 14 - Test/git-issues/git-issue-2792.dfy | 3 +- Test/git-issues/git-issue-2792.dfy.expect | 2 - Test/git-issues/git-issue-283.dfy | 7 +- Test/git-issues/git-issue-283.dfy.expect | 13 - Test/git-issues/git-issue-283d.dfy | 7 +- Test/git-issues/git-issue-283d.dfy.expect | 10 - Test/git-issues/git-issue-314.dfy | 7 +- Test/git-issues/git-issue-314.dfy.expect | 10 - Test/git-issues/git-issue-332.dfy | 3 +- Test/git-issues/git-issue-332.dfy.expect | 2 - Test/git-issues/git-issue-354.dfy | 7 +- Test/git-issues/git-issue-354.dfy.expect | 22 - Test/git-issues/git-issue-356.dfy | 8 +- Test/git-issues/git-issue-356.dfy.expect | 36 -- Test/git-issues/git-issue-364.dfy | 3 +- Test/git-issues/git-issue-364.dfy.expect | 2 - Test/git-issues/git-issue-374.dfy | 7 +- Test/git-issues/git-issue-374.dfy.expect | 10 - Test/git-issues/git-issue-396.dfy | 6 +- Test/git-issues/git-issue-396.dfy.expect | 11 - Test/git-issues/git-issue-4007.dfy | 5 +- Test/git-issues/git-issue-4007.dfy.expect | 3 - .../git-issue-4007.dfy.verifier.expect | 1 + Test/git-issues/git-issue-4012.dfy | 5 +- Test/git-issues/git-issue-4012.dfy.expect | 2 - Test/git-issues/git-issue-425.dfy | 7 +- Test/git-issues/git-issue-425.dfy.expect | 16 - Test/git-issues/git-issue-443.dfy | 3 +- Test/git-issues/git-issue-443.dfy.expect | 2 - Test/git-issues/git-issue-446.dfy | 7 +- Test/git-issues/git-issue-446.dfy.expect | 19 - Test/git-issues/git-issue-446a.dfy | 7 +- Test/git-issues/git-issue-446a.dfy.expect | 19 - Test/git-issues/git-issue-446b.dfy | 7 +- Test/git-issues/git-issue-446b.dfy.expect | 25 - Test/git-issues/git-issue-478-good.dfy | 3 +- Test/git-issues/git-issue-478-good.dfy.expect | 2 - Test/git-issues/git-issue-506.dfy | 6 +- Test/git-issues/git-issue-506.dfy.expect | 26 - Test/git-issues/git-issue-532.dfy | 7 +- Test/git-issues/git-issue-532.dfy.expect | 19 - Test/git-issues/git-issue-549.dfy | 5 +- Test/git-issues/git-issue-549.dfy.expect | 8 - Test/git-issues/git-issue-622$f.dfy | 3 +- Test/git-issues/git-issue-622$f.dfy.expect | 2 - Test/git-issues/git-issue-684.dfy | 7 +- Test/git-issues/git-issue-684.dfy.expect | 10 - Test/git-issues/git-issue-686.dfy | 7 +- Test/git-issues/git-issue-686.dfy.expect | 23 - .../git-issue-686.dfy.verifier.expect | 2 + Test/git-issues/git-issue-697.dfy | 3 +- Test/git-issues/git-issue-697.dfy.expect | 2 - Test/git-issues/git-issue-697b.dfy | 3 +- Test/git-issues/git-issue-697b.dfy.expect | 2 - Test/git-issues/git-issue-697d.dfy | 3 +- Test/git-issues/git-issue-697d.dfy.expect | 2 - Test/git-issues/git-issue-697e.dfy | 3 +- Test/git-issues/git-issue-697e.dfy.expect | 2 - Test/git-issues/git-issue-697f.dfy | 3 +- Test/git-issues/git-issue-697f.dfy.expect | 2 - Test/git-issues/git-issue-697g.dfy | 3 +- Test/git-issues/git-issue-697g.dfy.expect | 2 - Test/git-issues/git-issue-698.dfy | 5 +- Test/git-issues/git-issue-698.dfy.expect | 7 - Test/git-issues/git-issue-698b.dfy | 5 +- Test/git-issues/git-issue-698b.dfy.expect | 2 - Test/git-issues/git-issue-701.dfy | 7 +- Test/git-issues/git-issue-701.dfy.expect | 19 - Test/git-issues/git-issue-705.dfy | 7 +- Test/git-issues/git-issue-705.dfy.expect | 13 - Test/git-issues/git-issue-731.dfy | 7 +- Test/git-issues/git-issue-731.dfy.expect | 16 - Test/git-issues/git-issue-731b.dfy | 7 +- Test/git-issues/git-issue-731b.dfy.expect | 13 - Test/git-issues/git-issue-784.dfy | 7 +- Test/git-issues/git-issue-784.dfy.expect | 10 - Test/git-issues/git-issue-953.dfy | 8 +- Test/git-issues/git-issue-953.dfy.expect | 36 -- Test/git-issues/github-issue-3343.dfy | 3 +- Test/git-issues/github-issue-3343.dfy.expect | 2 - Test/hofs/Compilation.dfy | 3 +- Test/hofs/Compilation.dfy.expect | 2 - Test/hofs/Examples.dfy | 3 +- Test/hofs/Examples.dfy.expect | 2 - Test/hofs/Fold.dfy | 3 +- Test/hofs/Fold.dfy.expect | 2 - Test/hofs/Renaming.dfy | 3 +- Test/hofs/Renaming.dfy.expect | 2 - Test/hofs/Requires.dfy | 3 +- Test/hofs/Requires.dfy.expect | 2 - Test/hofs/TreeMapSimple.dfy | 3 +- Test/hofs/TreeMapSimple.dfy.expect | 2 - Test/hofs/VectorUpdate.dfy | 3 +- Test/hofs/VectorUpdate.dfy.expect | 2 - Test/hofs/WhileLoop.dfy | 3 +- Test/hofs/WhileLoop.dfy.expect | 2 - Test/metatests/OutputEncoding.dfy | 8 +- Test/metatests/OutputEncoding.dfy.expect | 16 - Test/patterns/OrPatterns.dfy | 3 +- Test/patterns/OrPatterns.dfy.expect | 2 - Test/patterns/PatternMatching.dfy | 5 +- Test/patterns/PatternMatching.dfy.expect | 3 - .../PatternMatching.dfy.verifier.expect | 1 + Test/traits/TraitCompile.dfy | 10 +- Test/traits/TraitCompile.dfy.expect | 256 -------- Test/traits/TraitExample.dfy | 3 +- Test/traits/TraitExample.dfy.expect | 2 - Test/traits/Traits-Fields.dfy | 3 +- Test/traits/Traits-Fields.dfy.expect | 2 - Test/traits/TraitsMultipleInheritance.dfy | 3 +- .../TraitsMultipleInheritance.dfy.expect | 2 - Test/unicodechars/comp/Collections.dfy | 9 +- Test/unicodechars/comp/Collections.dfy.expect | 512 ---------------- .../comp/Collections.dfy.go.expect | 125 ++++ .../comp/Collections.dfy.java.expect | 125 ++++ .../comp/Collections.dfy.js.expect | 125 ++++ .../comp/Collections.dfy.py.expect | 125 ++++ Test/unicodechars/comp/Comprehensions.dfy | 11 +- .../comp/Comprehensions.dfy.expect | 260 -------- .../comp/Comprehensions.dfy.py.expect | 62 ++ Test/unicodechars/comp/NativeNumbers.dfy | 9 +- .../comp/NativeNumbers.dfy.expect | 256 -------- Test/unicodechars/comp/Numbers.dfy | 11 +- Test/unicodechars/comp/Numbers.dfy.expect | 456 -------------- Test/unicodechars/comp/Numbers.dfy.go.expect | 111 ++++ Test/unicodechars/comp/Numbers.dfy.py.expect | 111 ++++ 476 files changed, 2173 insertions(+), 8706 deletions(-) create mode 100644 Test/comp/Arrays.dfy.go.expect create mode 100644 Test/comp/Collections.dfy.go.expect create mode 100644 Test/comp/Collections.dfy.java.expect create mode 100644 Test/comp/Collections.dfy.js.expect create mode 100644 Test/comp/Collections.dfy.py.expect create mode 100644 Test/comp/Comprehensions.dfy.py.expect create mode 100644 Test/comp/ComprehensionsNewSyntax.dfy.py.expect create mode 100644 Test/comp/Datatype.dfy.java.expect create mode 100644 Test/comp/Datatype.dfy.py.expect create mode 100644 Test/comp/Numbers.dfy.go.expect create mode 100644 Test/comp/Numbers.dfy.py.expect create mode 100644 Test/comp/Poly.dfy.go.expect create mode 100644 Test/comp/Poly.dfy.py.expect create mode 100644 Test/comp/TypeParams.dfy.go.expect create mode 100644 Test/comp/TypeParams.dfy.java.expect create mode 100644 Test/comp/TypeParams.dfy.js.expect create mode 100644 Test/comp/TypeParams.dfy.py.expect create mode 100644 Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect create mode 100644 Test/dafny0/Deprecation.dfy.verifier.expect create mode 100644 Test/dafny0/DiscoverBounds.dfy.verifier.expect create mode 100644 Test/dafny0/DividedConstructors.dfy.verifier.expect create mode 100644 Test/dafny0/ForallCompilationNewSyntax.dfy.verifier.expect create mode 100644 Test/dafny0/GhostGuards.dfy.verifier.expect create mode 100644 Test/dafny0/NullComparisonWarnings.dfy.verifier.expect create mode 100644 Test/dafny0/TypeMembers.dfy.verifier.expect create mode 100644 Test/dafny0/Wellfounded.dfy.verifier.expect create mode 100644 Test/dafny2/SmallestMissingNumber-functional.dfy.verifier.expect create mode 100644 Test/dafny2/StoreAndRetrieve.dfy.verifier.expect create mode 100644 Test/dafny3/CachedContainer.dfy.verifier.expect create mode 100644 Test/dafny4/Ackermann.dfy.verifier.expect create mode 100644 Test/dafny4/ClassRefinement.dfy.verifier.expect create mode 100644 Test/git-issues/git-issue-032.dfy.verifier.expect create mode 100644 Test/git-issues/git-issue-1185.dfy.java.expect create mode 100644 Test/git-issues/git-issue-262.dfy.go.expect create mode 100644 Test/git-issues/git-issue-262.dfy.java.expect create mode 100644 Test/git-issues/git-issue-262.dfy.js.expect create mode 100644 Test/git-issues/git-issue-4007.dfy.verifier.expect create mode 100644 Test/git-issues/git-issue-686.dfy.verifier.expect create mode 100644 Test/patterns/PatternMatching.dfy.verifier.expect create mode 100644 Test/unicodechars/comp/Collections.dfy.go.expect create mode 100644 Test/unicodechars/comp/Collections.dfy.java.expect create mode 100644 Test/unicodechars/comp/Collections.dfy.js.expect create mode 100644 Test/unicodechars/comp/Collections.dfy.py.expect create mode 100644 Test/unicodechars/comp/Comprehensions.dfy.py.expect create mode 100644 Test/unicodechars/comp/Numbers.dfy.go.expect create mode 100644 Test/unicodechars/comp/Numbers.dfy.py.expect diff --git a/Test/VerifyThis2015/Problem1.dfy b/Test/VerifyThis2015/Problem1.dfy index 20bd154ab8d..ab227e1ab85 100644 --- a/Test/VerifyThis2015/Problem1.dfy +++ b/Test/VerifyThis2015/Problem1.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Rustan Leino // 12 April 2015 diff --git a/Test/VerifyThis2015/Problem1.dfy.expect b/Test/VerifyThis2015/Problem1.dfy.expect index 110dd45761d..9e8a46acf90 100644 --- a/Test/VerifyThis2015/Problem1.dfy.expect +++ b/Test/VerifyThis2015/Problem1.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 18 verified, 0 errors true true false diff --git a/Test/VerifyThis2015/Problem2.dfy b/Test/VerifyThis2015/Problem2.dfy index 7466df6d410..9b57395e68b 100644 --- a/Test/VerifyThis2015/Problem2.dfy +++ b/Test/VerifyThis2015/Problem2.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Rustan Leino // 13 April 2015, and many subsequent enhancements and revisions diff --git a/Test/VerifyThis2015/Problem2.dfy.expect b/Test/VerifyThis2015/Problem2.dfy.expect index b49c1470365..e69de29bb2d 100644 --- a/Test/VerifyThis2015/Problem2.dfy.expect +++ b/Test/VerifyThis2015/Problem2.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 32 verified, 0 errors diff --git a/Test/VerifyThis2015/Problem3.dfy b/Test/VerifyThis2015/Problem3.dfy index 3be60b5d81a..1348acf0f4d 100644 --- a/Test/VerifyThis2015/Problem3.dfy +++ b/Test/VerifyThis2015/Problem3.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Rustan Leino // 12 April 2015 // VerifyThis 2015 diff --git a/Test/VerifyThis2015/Problem3.dfy.expect b/Test/VerifyThis2015/Problem3.dfy.expect index 4bb1c2c7251..e69de29bb2d 100644 --- a/Test/VerifyThis2015/Problem3.dfy.expect +++ b/Test/VerifyThis2015/Problem3.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 18 verified, 0 errors diff --git a/Test/c++/arrays.dfy b/Test/c++/arrays.dfy index 47140146468..a02b57e5ff8 100644 --- a/Test/c++/arrays.dfy +++ b/Test/c++/arrays.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/arrays.dfy.expect b/Test/c++/arrays.dfy.expect index 552f9355593..2ce9320d8c2 100644 --- a/Test/c++/arrays.dfy.expect +++ b/Test/c++/arrays.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 9 verified, 0 errors 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/c++/bit-vectors.dfy b/Test/c++/bit-vectors.dfy index b7f5d35df07..d27469e4ca5 100644 --- a/Test/c++/bit-vectors.dfy +++ b/Test/c++/bit-vectors.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint64 = i:int | 0 <= i < 0x10000000000000000 diff --git a/Test/c++/bit-vectors.dfy.expect b/Test/c++/bit-vectors.dfy.expect index e327aa2f73b..c491236b12b 100644 --- a/Test/c++/bit-vectors.dfy.expect +++ b/Test/c++/bit-vectors.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 6 verified, 0 errors 084841024 diff --git a/Test/c++/class.dfy b/Test/c++/class.dfy index 3039bd0466b..b10d703c981 100644 --- a/Test/c++/class.dfy +++ b/Test/c++/class.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/class.dfy.expect b/Test/c++/class.dfy.expect index 93717ecfa9e..80f1587d0a2 100644 --- a/Test/c++/class.dfy.expect +++ b/Test/c++/class.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 16 verified, 0 errors true true false 103 102 102 106 105 105 203 17 0 18 8 9 69 70 diff --git a/Test/c++/const.dfy b/Test/c++/const.dfy index 5ab9a62e0e9..1bfb79f0361 100644 --- a/Test/c++/const.dfy +++ b/Test/c++/const.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false module Holder { const x:bool := false diff --git a/Test/c++/const.dfy.expect b/Test/c++/const.dfy.expect index 823a60a105c..e69de29bb2d 100644 --- a/Test/c++/const.dfy.expect +++ b/Test/c++/const.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 1 verified, 0 errors diff --git a/Test/c++/datatypes.dfy b/Test/c++/datatypes.dfy index 9d077b97575..f56b7907cc3 100644 --- a/Test/c++/datatypes.dfy +++ b/Test/c++/datatypes.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/datatypes.dfy.expect b/Test/c++/datatypes.dfy.expect index efa71b43546..c122f5af791 100644 --- a/Test/c++/datatypes.dfy.expect +++ b/Test/c++/datatypes.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 12 verified, 0 errors Case A: 42 Case B: true This is expected diff --git a/Test/c++/generic.dfy b/Test/c++/generic.dfy index 7995928f93f..374c545b9c1 100644 --- a/Test/c++/generic.dfy +++ b/Test/c++/generic.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false class Test { var t:T diff --git a/Test/c++/generic.dfy.expect b/Test/c++/generic.dfy.expect index 00a51f822da..e69de29bb2d 100644 --- a/Test/c++/generic.dfy.expect +++ b/Test/c++/generic.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 3 verified, 0 errors diff --git a/Test/c++/hello.dfy b/Test/c++/hello.dfy index c887337c7e1..523d3152209 100644 --- a/Test/c++/hello.dfy +++ b/Test/c++/hello.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false method Main() { print "Hello world\n"; diff --git a/Test/c++/hello.dfy.expect b/Test/c++/hello.dfy.expect index 87101fec036..802992c4220 100644 --- a/Test/c++/hello.dfy.expect +++ b/Test/c++/hello.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors Hello world diff --git a/Test/c++/ints.dfy b/Test/c++/ints.dfy index cf7ae63e0da..4490a54817a 100644 --- a/Test/c++/ints.dfy +++ b/Test/c++/ints.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype sbyte = i:int | -0x80 <= i < 0x80 newtype byte = i:int | 0 <= i < 0x100 diff --git a/Test/c++/ints.dfy.expect b/Test/c++/ints.dfy.expect index aeabccf73b0..5fcb7b811cb 100644 --- a/Test/c++/ints.dfy.expect +++ b/Test/c++/ints.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 15 verified, 0 errors Result is z = 42 diff --git a/Test/c++/recursion.dfy b/Test/c++/recursion.dfy index e255b8e6b08..36048aab527 100644 --- a/Test/c++/recursion.dfy +++ b/Test/c++/recursion.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/recursion.dfy.expect b/Test/c++/recursion.dfy.expect index 15dbfe2bcd1..1ea14926e89 100644 --- a/Test/c++/recursion.dfy.expect +++ b/Test/c++/recursion.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors x !y 3 diff --git a/Test/c++/returns.dfy b/Test/c++/returns.dfy index 1ad19a8ce83..9e23121d26a 100644 --- a/Test/c++/returns.dfy +++ b/Test/c++/returns.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint64 = i:int | 0 <= i < 0x10000000000000000 diff --git a/Test/c++/returns.dfy.expect b/Test/c++/returns.dfy.expect index 8db105eaba8..48082f72f08 100644 --- a/Test/c++/returns.dfy.expect +++ b/Test/c++/returns.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors 12 diff --git a/Test/c++/seqs.dfy b/Test/c++/seqs.dfy index f97a42b2851..903208b07f8 100644 --- a/Test/c++/seqs.dfy +++ b/Test/c++/seqs.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint8 = i:int | 0 <= i < 0x100 newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/seqs.dfy.expect b/Test/c++/seqs.dfy.expect index 23f01695bc9..16f5f9d22ea 100644 --- a/Test/c++/seqs.dfy.expect +++ b/Test/c++/seqs.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 11 verified, 0 errors Head second:2 Trunc first:2 Head trunc: This is expected diff --git a/Test/c++/sets.dfy b/Test/c++/sets.dfy index 5bfb6f80f1e..10e2fe0501d 100644 --- a/Test/c++/sets.dfy +++ b/Test/c++/sets.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/sets.dfy.expect b/Test/c++/sets.dfy.expect index 1c8ede8765e..52a1e67717e 100644 --- a/Test/c++/sets.dfy.expect +++ b/Test/c++/sets.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 8 verified, 0 errors Identity: This is expected ValuesIdentity: This is expected DiffIdentity: This is expected diff --git a/Test/c++/while.dfy b/Test/c++/while.dfy index 40dc4699d11..0c0d7ee98df 100644 --- a/Test/c++/while.dfy +++ b/Test/c++/while.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/while.dfy.expect b/Test/c++/while.dfy.expect index 8dfe872ca51..9a44de1e2a3 100644 --- a/Test/c++/while.dfy.expect +++ b/Test/c++/while.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 2 verified, 0 errors 0 1 2 diff --git a/Test/comp/Arrays.dfy b/Test/comp/Arrays.dfy index 566f052e0a6..acb4225b358 100644 --- a/Test/comp/Arrays.dfy +++ b/Test/comp/Arrays.dfy @@ -1,10 +1,5 @@ -// RUN: %baredafny verify %args --relax-definite-assignment "%s" > "%t" -// RUN: %baredafny run --unicode-char:false --no-verify --target=cs %args "%s" >> "%t" -// RUN: %baredafny run --unicode-char:false --no-verify --target=js %args "%s" >> "%t" -// RUN: %baredafny run --unicode-char:false --no-verify --target=go %args "%s" >> "%t" -// RUN: %baredafny run --unicode-char:false --no-verify --target=java %args "%s" >> "%t" -// RUN: %baredafny run --unicode-char:false --no-verify --target=py %args "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false method LinearSearch(a: array, key: int) returns (n: nat) ensures 0 <= n <= a.Length diff --git a/Test/comp/Arrays.dfy.expect b/Test/comp/Arrays.dfy.expect index 8559e2f3c5c..ef3b884f98a 100644 --- a/Test/comp/Arrays.dfy.expect +++ b/Test/comp/Arrays.dfy.expect @@ -1,399 +1,3 @@ - -Dafny program verifier finished with 89 verified, 0 errors - -Dafny program verifier did not attempt verification -0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 -17 -[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] -[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] -[20, 21, 22] -[0, 1, 2, 3, 4, 5, 6, 7] -[0, 1, 2, 3, 4, 5, 6, 7] -d d d -h e l l o -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -1 0 0 0 0 -0 1 0 0 0 -0 0 1 0 0 -cube dims: 3 0 4 -[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] -It's null -hi hello tjena hej hola -hi hello tjena hej hola -hi hello tjena hej hola -d d d -h e l l o -8 8 8 8 -true true true -1 1 1 1 1 -2 2 2 2 2 -3 3 3 3 3 -4 4 4 4 4 -(d, 8, true, 1, 2, 3, 4) -D D D -0 0 0 0 -false false false -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -(D, 0, false, 0, 0, 0, 0) -8 0 -false 0 null null -8 8 -8 8 -8 8 -8 8 -D D D -D D D -D D D -D D r (D, D, r) -D D r -[19, 18, 9, 8] - true - false - true - false - false - false - true - true - false - true - false - true - true - false -hello there -false false -true true -false false -false false -uninitialized bytes: array[0, 0, 0] -bytes from display: array[7, 8, 9] -bytes from lambda: array[20, 21, 22] -uninitialized 1bytes: array[1, 1, 1] -1bytes from display: array[7, 8, 9] -1bytes from lambda: array[20, 21, 22] -17 19 18 20 -100 200 300 120 38 -hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -DDDDDabcdeabcdeggggg -DDDDDabcdeabcdeggggg -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] -DDDDDDDDDDagggggaggg -0 69 50 -0 69 50 -D k n -false false -true true -false false -false false -true true - -Dafny program verifier did not attempt verification -0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 -17 -[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] -[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] -[20, 21, 22] -[0, 1, 2, 3, 4, 5, 6, 7] -[0, 1, 2, 3, 4, 5, 6, 7] -d d d -h e l l o -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -1 0 0 0 0 -0 1 0 0 0 -0 0 1 0 0 -cube dims: 3 0 4 -[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] -It's null -hi hello tjena hej hola -hi hello tjena hej hola -hi hello tjena hej hola -d d d -h e l l o -8 8 8 8 -true true true -1 1 1 1 1 -2 2 2 2 2 -3 3 3 3 3 -4 4 4 4 4 -(d, 8, true, 1, 2, 3, 4) -D D D -0 0 0 0 -false false false -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -(D, 0, false, 0, 0, 0, 0) -8 0 -false 0 null null -8 8 -8 8 -8 8 -8 8 -D D D -D D D -D D D -D D r (D, D, r) -D D r -[19, 18, 9, 8] - true - false - true - false - false - false - true - true - false - true - false - true - true - false -hello there -false false -true true -false false -false false -uninitialized bytes: array[0, 0, 0] -bytes from display: array[7, 8, 9] -bytes from lambda: array[20, 21, 22] -uninitialized 1bytes: array[1, 1, 1] -1bytes from display: array[7, 8, 9] -1bytes from lambda: array[20, 21, 22] -17 19 18 20 -100 200 300 120 38 -hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -DDDDDabcdeabcdeggggg -DDDDDabcdeabcdeggggg -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] -DDDDDDDDDDagggggaggg -0 69 50 -0 69 50 -D k n -false false -true true -false false -false false -true true - -Dafny program verifier did not attempt verification -0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 -17 -[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] -[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] -[20, 21, 22] -[0, 1, 2, 3, 4, 5, 6, 7] -[0, 1, 2, 3, 4, 5, 6, 7] -d d d -h e l l o -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -1 0 0 0 0 -0 1 0 0 0 -0 0 1 0 0 -cube dims: 3 0 4 -[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] -It's null -hi hello tjena hej hola -hi hello tjena hej hola -hi hello tjena hej hola -d d d -h e l l o -8 8 8 8 -true true true -1 1 1 1 1 -2 2 2 2 2 -3 3 3 3 3 -4 4 4 4 4 -(d, 8, true, 1, 2, 3, 4) -D D D -0 0 0 0 -false false false -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -(D, 0, false, 0, 0, 0, 0) -8 0 -false 0 null null -8 8 -8 8 -8 8 -8 8 -D D D -D D D -D D D -D D r (D, D, r) -D D r -[19, 18, 9, 8] - true - false - true - false - false - false - true - true - false - true - false - true - true - false -hello there -false false -true true -false false -false false -uninitialized bytes: array[0, 0, 0] -bytes from display: array[7, 8, 9] -bytes from lambda: array[20, 21, 22] -uninitialized 1bytes: array[1, 1, 1] -1bytes from display: array[7, 8, 9] -1bytes from lambda: array[20, 21, 22] -17 19 18 20 -100 200 300 120 38 -hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -DDDDDabcdeabcdeggggg -DDDDDabcdeabcdeggggg -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] -[D, D, D, D, D, D, D, D, D, D, a, g, g, g, g, g, a, g, g, g] -0 69 50 -0 69 50 -D k n -false false -true true -false false -false false -true true - -Dafny program verifier did not attempt verification -0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 -17 -[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] -[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] -[20, 21, 22] -[0, 1, 2, 3, 4, 5, 6, 7] -[0, 1, 2, 3, 4, 5, 6, 7] -d d d -h e l l o -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -1 0 0 0 0 -0 1 0 0 0 -0 0 1 0 0 -cube dims: 3 0 4 -[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] -It's null -hi hello tjena hej hola -hi hello tjena hej hola -hi hello tjena hej hola -d d d -h e l l o -8 8 8 8 -true true true -1 1 1 1 1 -2 2 2 2 2 -3 3 3 3 3 -4 4 4 4 4 -(d, 8, true, 1, 2, 3, 4) -D D D -0 0 0 0 -false false false -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -(D, 0, false, 0, 0, 0, 0) -8 0 -false 0 null null -8 8 -8 8 -8 8 -8 8 -D D D -D D D -D D D -D D r (D, D, r) -D D r -[19, 18, 9, 8] - true - false - true - false - false - false - true - true - false - true - false - true - true - false -hello there -false false -true true -false false -false false -uninitialized bytes: array[0, 0, 0] -bytes from display: array[7, 8, 9] -bytes from lambda: array[20, 21, 22] -uninitialized 1bytes: array[1, 1, 1] -1bytes from display: array[7, 8, 9] -1bytes from lambda: array[20, 21, 22] -17 19 18 20 -100 200 300 120 38 -hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -DDDDDabcdeabcdeggggg -DDDDDabcdeabcdeggggg -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] -DDDDDDDDDDagggggaggg -0 69 50 -0 69 50 -D k n -false false -true true -false false -false false -true true - -Dafny program verifier did not attempt verification 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/comp/Arrays.dfy.go.expect b/Test/comp/Arrays.dfy.go.expect new file mode 100644 index 00000000000..1217623d90c --- /dev/null +++ b/Test/comp/Arrays.dfy.go.expect @@ -0,0 +1,96 @@ +0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 +17 +[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] +[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] +[20, 21, 22] +[0, 1, 2, 3, 4, 5, 6, 7] +[0, 1, 2, 3, 4, 5, 6, 7] +d d d +h e l l o +0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 +1 0 0 0 0 +0 1 0 0 0 +0 0 1 0 0 +cube dims: 3 0 4 +[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] +It's null +hi hello tjena hej hola +hi hello tjena hej hola +hi hello tjena hej hola +d d d +h e l l o +8 8 8 8 +true true true +1 1 1 1 1 +2 2 2 2 2 +3 3 3 3 3 +4 4 4 4 4 +(d, 8, true, 1, 2, 3, 4) +D D D +0 0 0 0 +false false false +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +(D, 0, false, 0, 0, 0, 0) +8 0 +false 0 null null +8 8 +8 8 +8 8 +8 8 +D D D +D D D +D D D +D D r (D, D, r) +D D r +[19, 18, 9, 8] + true + false + true + false + false + false + true + true + false + true + false + true + true + false +hello there +false false +true true +false false +false false +uninitialized bytes: array[0, 0, 0] +bytes from display: array[7, 8, 9] +bytes from lambda: array[20, 21, 22] +uninitialized 1bytes: array[1, 1, 1] +1bytes from display: array[7, 8, 9] +1bytes from lambda: array[20, 21, 22] +17 19 18 20 +100 200 300 120 38 +hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +DDDDDabcdeabcdeggggg +DDDDDabcdeabcdeggggg +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] +[D, D, D, D, D, D, D, D, D, D, a, g, g, g, g, g, a, g, g, g] +0 69 50 +0 69 50 +D k n +false false +true true +false false +false false +true true diff --git a/Test/comp/AsIs-Compile.dfy b/Test/comp/AsIs-Compile.dfy index 47084ed7633..319847564e2 100644 --- a/Test/comp/AsIs-Compile.dfy +++ b/Test/comp/AsIs-Compile.dfy @@ -1,10 +1,4 @@ -// RUN: %baredafny verify %args "%s" > "%t" -// RUN: %baredafny run --no-verify -t=cs %args "%s" >> "%t" -// RUN: %baredafny run --no-verify -t=js %args "%s" >> "%t" -// RUN: %baredafny run --no-verify -t=go %args "%s" >> "%t" -// RUN: %baredafny run --no-verify -t=java %args "%s" >> "%t" -// RUN: %baredafny run --no-verify -t=py %args "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" method Main() { var a: A, b: B, c: C, k: K, l: L := new M, new M, new M, new K, new L; diff --git a/Test/comp/AsIs-Compile.dfy.expect b/Test/comp/AsIs-Compile.dfy.expect index 36dfe46e91d..acc78c6e155 100644 --- a/Test/comp/AsIs-Compile.dfy.expect +++ b/Test/comp/AsIs-Compile.dfy.expect @@ -1,163 +1,3 @@ - -Dafny program verifier finished with 6 verified, 0 errors - -Dafny program verifier did not attempt verification -true true true true true -true true true true true -IsComparisons ---- -false true false false - true false false - true false -false false true false - false true false - false false -false false false true - false false true - false true -false true false false - false true false - false false -true true -false true -TestNullIs ---- -true true -true true -true true true true true true -true true true true true true -true true true true true true -true true true true true true -true true -false true -true true true true true true -false true false true false true -true true true true true true -false true false true false true -TestFromTraits ---- -5 -0 -4 -4 -4 -4 - -Dafny program verifier did not attempt verification -true true true true true -true true true true true -IsComparisons ---- -false true false false - true false false - true false -false false true false - false true false - false false -false false false true - false false true - false true -false true false false - false true false - false false -true true -false true -TestNullIs ---- -true true -true true -true true true true true true -true true true true true true -true true true true true true -true true true true true true -true true -false true -true true true true true true -false true false true false true -true true true true true true -false true false true false true -TestFromTraits ---- -5 -0 -4 -4 -4 -4 - -Dafny program verifier did not attempt verification -true true true true true -true true true true true -IsComparisons ---- -false true false false - true false false - true false -false false true false - false true false - false false -false false false true - false false true - false true -false true false false - false true false - false false -true true -false true -TestNullIs ---- -true true -true true -true true true true true true -true true true true true true -true true true true true true -true true true true true true -true true -false true -true true true true true true -false true false true false true -true true true true true true -false true false true false true -TestFromTraits ---- -5 -0 -4 -4 -4 -4 - -Dafny program verifier did not attempt verification -true true true true true -true true true true true -IsComparisons ---- -false true false false - true false false - true false -false false true false - false true false - false false -false false false true - false false true - false true -false true false false - false true false - false false -true true -false true -TestNullIs ---- -true true -true true -true true true true true true -true true true true true true -true true true true true true -true true true true true true -true true -false true -true true true true true true -false true false true false true -true true true true true true -false true false true false true -TestFromTraits ---- -5 -0 -4 -4 -4 -4 - -Dafny program verifier did not attempt verification true true true true true true true true true true IsComparisons ---- diff --git a/Test/comp/AutoInit.dfy b/Test/comp/AutoInit.dfy index b284619a80c..c0e752efa36 100644 --- a/Test/comp/AutoInit.dfy +++ b/Test/comp/AutoInit.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This file tests the compilation of some default values. It also includes some // regression tests for equality, printing, and tuples. diff --git a/Test/comp/AutoInit.dfy.expect b/Test/comp/AutoInit.dfy.expect index 51533cc6d5e..e68e2e43764 100644 --- a/Test/comp/AutoInit.dfy.expect +++ b/Test/comp/AutoInit.dfy.expect @@ -1,163 +1,3 @@ - -Dafny program verifier finished with 21 verified, 0 errors - -Dafny program verifier did not attempt verification -3 false 0 -false false true -() (0, false, false, []) -(null, 0) (null, 0) true -(null, null, null, 0) (null, null, null, 0) true -true false false true -true false false true -17 -1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or -(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) -1 -ww == null -- yes, as expected -true true true true -true true true -true true true -null null -null null -null null null -null null null -null null null -null null null -null null -null null null -null null null -DatatypeDefaultValues.EnumDatatype.MakeZero - DatatypeDefaultValues.IntList.Nil - 0 -DatatypeDefaultValues.GenericTree.Leaf - DatatypeDefaultValues.Complicated.ComplA(0, false) - DatatypeDefaultValues.CellCell.MakeCellCell(0) -null - null -Library.Color.Red(0) and Library.Color.Red(0) -Library.CoColor.Yellow and Library.CoColor.Yellow -Library.MoColor.MoYellow and Library.MoColor.MoYellow -0.0 and 0.0 -13 - -Dafny program verifier did not attempt verification -3 false 0 -false false true -() (0, false, false, []) -(null, 0) (null, 0) true -(null, null, null, 0) (null, null, null, 0) true -true false false true -true false false true -17 -1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or -(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) -1 -ww == null -- yes, as expected -true true true true -true true true -true true true -null null -null null -null null null -null null null -null null null -null null null -null null -null null null -null null null -DatatypeDefaultValues.EnumDatatype.MakeZero - DatatypeDefaultValues.IntList.Nil - 0 -DatatypeDefaultValues.GenericTree.Leaf - DatatypeDefaultValues.Complicated.ComplA(0, false) - DatatypeDefaultValues.CellCell.MakeCellCell(0) -null - null -Library.Color.Red(0) and Library.Color.Red(0) -Library.CoColor.Yellow and Library.CoColor.Yellow -Library.MoColor.MoYellow and Library.MoColor.MoYellow -0.0 and 0.0 -13 - -Dafny program verifier did not attempt verification -3 false 0 -false false true -() (0, false, false, []) -(null, 0) (null, 0) true -(null, null, null, 0) (null, null, null, 0) true -true false false true -true false false true -17 -1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or -(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) -1 -ww == null -- yes, as expected -true true true true -true true true -true true true -null null -null null -null null null -null null null -null null null -null null null -null null -null null null -null null null -DatatypeDefaultValues.EnumDatatype.MakeZero - DatatypeDefaultValues.IntList.Nil - 0 -DatatypeDefaultValues.GenericTree.Leaf - DatatypeDefaultValues.Complicated.ComplA(0, false) - DatatypeDefaultValues.CellCell.MakeCellCell(0) -null - null -Library.Color.Red(0) and Library.Color.Red(0) -Library.CoColor.Yellow and Library.CoColor.Yellow -Library.MoColor.MoYellow and Library.MoColor.MoYellow -0.0 and 0.0 -13 - -Dafny program verifier did not attempt verification -3 false 0 -false false true -() (0, false, false, []) -(null, 0) (null, 0) true -(null, null, null, 0) (null, null, null, 0) true -true false false true -true false false true -17 -1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or -(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) -1 -ww == null -- yes, as expected -true true true true -true true true -true true true -null null -null null -null null null -null null null -null null null -null null null -null null -null null null -null null null -DatatypeDefaultValues.EnumDatatype.MakeZero - DatatypeDefaultValues.IntList.Nil - 0 -DatatypeDefaultValues.GenericTree.Leaf - DatatypeDefaultValues.Complicated.ComplA(0, false) - DatatypeDefaultValues.CellCell.MakeCellCell(0) -null - null -Library.Color.Red(0) and Library.Color.Red(0) -Library.CoColor.Yellow and Library.CoColor.Yellow -Library.MoColor.MoYellow and Library.MoColor.MoYellow -0.0 and 0.0 -13 - -Dafny program verifier did not attempt verification 3 false 0 false false true () (0, false, false, []) diff --git a/Test/comp/ByMethodCompilation.dfy b/Test/comp/ByMethodCompilation.dfy index ea62d84b21e..7432f72f7d4 100644 --- a/Test/comp/ByMethodCompilation.dfy +++ b/Test/comp/ByMethodCompilation.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method Main() { var four := Four(); diff --git a/Test/comp/ByMethodCompilation.dfy.expect b/Test/comp/ByMethodCompilation.dfy.expect index 1519a955b0c..d61780e3fb8 100644 --- a/Test/comp/ByMethodCompilation.dfy.expect +++ b/Test/comp/ByMethodCompilation.dfy.expect @@ -1,35 +1,3 @@ - -Dafny program verifier finished with 13 verified, 0 errors - -Dafny program verifier did not attempt verification -hello -four is 4 -Recursive(7) = 14 -NonCompilableFunction: 4 7 -Sums: 14 3 - -Dafny program verifier did not attempt verification -hello -four is 4 -Recursive(7) = 14 -NonCompilableFunction: 4 7 -Sums: 14 3 - -Dafny program verifier did not attempt verification -hello -four is 4 -Recursive(7) = 14 -NonCompilableFunction: 4 7 -Sums: 14 3 - -Dafny program verifier did not attempt verification -hello -four is 4 -Recursive(7) = 14 -NonCompilableFunction: 4 7 -Sums: 14 3 - -Dafny program verifier did not attempt verification hello four is 4 Recursive(7) = 14 diff --git a/Test/comp/Calls.dfy b/Test/comp/Calls.dfy index 4a4916aea0c..c56bc3e5286 100644 --- a/Test/comp/Calls.dfy +++ b/Test/comp/Calls.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function F(x: int, y: bool): int { x + if y then 2 else 3 diff --git a/Test/comp/Calls.dfy.expect b/Test/comp/Calls.dfy.expect index 3317b8be164..cf4e1bc155b 100644 --- a/Test/comp/Calls.dfy.expect +++ b/Test/comp/Calls.dfy.expect @@ -1,43 +1,3 @@ - -Dafny program verifier finished with 6 verified, 0 errors - -Dafny program verifier did not attempt verification -5 0 0 false 0 false 0 -5 3 5 3 5 3 -5 3 5 3 5 3 -15 -[0, 1, 2, 4] -[0, 2, 4] ---> 5 <-- - -Dafny program verifier did not attempt verification -5 0 0 false 0 false 0 -5 3 5 3 5 3 -5 3 5 3 5 3 -15 -[0, 1, 2, 4] -[0, 2, 4] ---> 5 <-- - -Dafny program verifier did not attempt verification -5 0 0 false 0 false 0 -5 3 5 3 5 3 -5 3 5 3 5 3 -15 -[0, 1, 2, 4] -[0, 2, 4] ---> 5 <-- - -Dafny program verifier did not attempt verification -5 0 0 false 0 false 0 -5 3 5 3 5 3 -5 3 5 3 5 3 -15 -[0, 1, 2, 4] -[0, 2, 4] ---> 5 <-- - -Dafny program verifier did not attempt verification 5 0 0 false 0 false 0 5 3 5 3 5 3 5 3 5 3 5 3 diff --git a/Test/comp/Class.dfy b/Test/comp/Class.dfy index fb994f008e7..23591e43450 100644 --- a/Test/comp/Class.dfy +++ b/Test/comp/Class.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation class MyClass { var a: int diff --git a/Test/comp/Class.dfy.expect b/Test/comp/Class.dfy.expect index ba1482a164b..47e49966664 100644 --- a/Test/comp/Class.dfy.expect +++ b/Test/comp/Class.dfy.expect @@ -1,75 +1,3 @@ - -Dafny program verifier finished with 16 verified, 0 errors - -Dafny program verifier did not attempt verification -true true false -103 103 103 106 106 106 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -0 18 9 70 -0 18 9 70 -0 18 9 70 -70 -hi later -21 4 42 5 1 -TestGhostables -15 -Init called with x=15 -16 - -Dafny program verifier did not attempt verification -true true false -103 103 103 106 106 106 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -0 18 9 70 -0 18 9 70 -0 18 9 70 -70 -hi later -21 4 42 5 1 -TestGhostables -15 -Init called with x=15 -16 - -Dafny program verifier did not attempt verification -true true false -103 103 103 106 106 106 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -0 18 9 70 -0 18 9 70 -0 18 9 70 -70 -hi later -21 4 42 5 1 -TestGhostables -15 -Init called with x=15 -16 - -Dafny program verifier did not attempt verification -true true false -103 103 103 106 106 106 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -0 18 9 70 -0 18 9 70 -0 18 9 70 -70 -hi later -21 4 42 5 1 -TestGhostables -15 -Init called with x=15 -16 - -Dafny program verifier did not attempt verification true true false 103 103 103 106 106 106 203 17 0 18 8 9 69 70 diff --git a/Test/comp/Collections.dfy b/Test/comp/Collections.dfy index 104eb9f90ac..9457e44b170 100644 --- a/Test/comp/Collections.dfy +++ b/Test/comp/Collections.dfy @@ -1,10 +1,5 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false method Main() { Sets(); diff --git a/Test/comp/Collections.dfy.expect b/Test/comp/Collections.dfy.expect index 2361c1a88db..e705d887a7d 100644 --- a/Test/comp/Collections.dfy.expect +++ b/Test/comp/Collections.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 40 verified, 0 errors - -Dafny program verifier did not attempt verification Sets: {} {17, 82} {12, 17} cardinality: 0 2 2 union: {17, 82} {12, 17, 82} @@ -127,511 +123,3 @@ Multiset=== 1 3 |s|=2 |u|=4 1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Yellow := 21, Color.Blue := 30] -keys: {Color.Yellow, Color.Blue} -values: {21, 30} -items: {(Color.Yellow, 21), (Color.Blue, 30)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {21, 30} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/comp/Collections.dfy.go.expect b/Test/comp/Collections.dfy.go.expect new file mode 100644 index 00000000000..309d0c550c4 --- /dev/null +++ b/Test/comp/Collections.dfy.go.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/comp/Collections.dfy.java.expect b/Test/comp/Collections.dfy.java.expect new file mode 100644 index 00000000000..ed929a4d34c --- /dev/null +++ b/Test/comp/Collections.dfy.java.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Yellow := 21, Color.Blue := 30] +keys: {Color.Yellow, Color.Blue} +values: {21, 30} +items: {(Color.Yellow, 21), (Color.Blue, 30)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/comp/Collections.dfy.js.expect b/Test/comp/Collections.dfy.js.expect new file mode 100644 index 00000000000..309d0c550c4 --- /dev/null +++ b/Test/comp/Collections.dfy.js.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/comp/Collections.dfy.py.expect b/Test/comp/Collections.dfy.py.expect new file mode 100644 index 00000000000..61b4217bbaf --- /dev/null +++ b/Test/comp/Collections.dfy.py.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {21, 30} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/comp/Comprehensions.dfy b/Test/comp/Comprehensions.dfy index 29ac368f2c3..73c43b22bfa 100644 --- a/Test/comp/Comprehensions.dfy +++ b/Test/comp/Comprehensions.dfy @@ -1,10 +1,5 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false method Main() { AssignSuchThat(); diff --git a/Test/comp/Comprehensions.dfy.expect b/Test/comp/Comprehensions.dfy.expect index 18159ddde0a..c9703fc9397 100644 --- a/Test/comp/Comprehensions.dfy.expect +++ b/Test/comp/Comprehensions.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 32 verified, 0 errors - -Dafny program verifier did not attempt verification x=13 y=14 x=13 y=14 b=yes true false @@ -64,259 +60,3 @@ true true [137438953474, 137438953475, 137438953476, 137438953477, 137438953479] cdefh cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[14 := 7, 12 := 6, 13 := 6] -map[18 := 14, 17 := 13, 16 := 12] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh diff --git a/Test/comp/Comprehensions.dfy.py.expect b/Test/comp/Comprehensions.dfy.py.expect new file mode 100644 index 00000000000..aeaa31fc0f3 --- /dev/null +++ b/Test/comp/Comprehensions.dfy.py.expect @@ -0,0 +1,62 @@ +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[14 := 7, 12 := 6, 13 := 6] +map[18 := 14, 17 := 13, 16 := 12] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh diff --git a/Test/comp/ComprehensionsNewSyntax.dfy b/Test/comp/ComprehensionsNewSyntax.dfy index a324b622e8a..6cd88aeb4f7 100644 --- a/Test/comp/ComprehensionsNewSyntax.dfy +++ b/Test/comp/ComprehensionsNewSyntax.dfy @@ -1,10 +1,5 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method Main() { Quantifier(); diff --git a/Test/comp/ComprehensionsNewSyntax.dfy.expect b/Test/comp/ComprehensionsNewSyntax.dfy.expect index 408769f4b67..b70314ff87b 100644 --- a/Test/comp/ComprehensionsNewSyntax.dfy.expect +++ b/Test/comp/ComprehensionsNewSyntax.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 10 verified, 0 errors - -Dafny program verifier did not attempt verification true false true false map[12 := 6, 13 := 6, 14 := 7] @@ -36,147 +32,3 @@ false false false false true true true true false false false false true true true true - -Dafny program verifier did not attempt verification -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true - -Dafny program verifier did not attempt verification -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true - -Dafny program verifier did not attempt verification -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true - -Dafny program verifier did not attempt verification -true false -true false -map[14 := 7, 12 := 6, 13 := 6] -map[18 := 14, 17 := 13, 16 := 12] -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true diff --git a/Test/comp/ComprehensionsNewSyntax.dfy.py.expect b/Test/comp/ComprehensionsNewSyntax.dfy.py.expect new file mode 100644 index 00000000000..b19cef0ba0e --- /dev/null +++ b/Test/comp/ComprehensionsNewSyntax.dfy.py.expect @@ -0,0 +1,34 @@ +true false +true false +map[14 := 7, 12 := 6, 13 := 6] +map[18 := 14, 17 := 13, 16 := 12] +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true diff --git a/Test/comp/CovariantCollections.dfy b/Test/comp/CovariantCollections.dfy index 12301df3b09..6dd73ee7fea 100644 --- a/Test/comp/CovariantCollections.dfy +++ b/Test/comp/CovariantCollections.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method Main() { Sequences(); diff --git a/Test/comp/CovariantCollections.dfy.expect b/Test/comp/CovariantCollections.dfy.expect index e029d3abc3b..a9d00f4a65d 100644 --- a/Test/comp/CovariantCollections.dfy.expect +++ b/Test/comp/CovariantCollections.dfy.expect @@ -1,223 +1,3 @@ - -Dafny program verifier finished with 25 verified, 0 errors - -Dafny program verifier did not attempt verification -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17] [12, 17] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - comprehension: {82} - union: {17, 82} {12, 17, 82} - intersection: {} {17} - difference: {} {82} - subset: true false true - proper subset: true false false - membership: false true true -Multisets: {} {17, 17, 82, 82} {12, 17} - cardinality: 0 4 2 - update: {17, 17, 42, 42, 42} {12, 17, 42} - multiplicity: 2 0 20 - union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} - intersection: {} {17, 82, 82} - difference: {} {17, 82, 82} - subset: true false true - proper subset: true false false - membership: false true true -Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} - cardinality: 0 3 2 - update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} - comprehension: {17 := 12, 82 := 12} - Keys: {12, 17, 82} - Values: {17, 82} - eq: false true true - eq: true true true true true true - eq: true true true true true true - eq: true false true false true false - eq: true false true false true false - eq: true true true true true true - eq: true true true true true true -set: {20, 30} -multiset: {20, 30} -seq: [20, 30] -map: {20 := 30, 30 := 20} -true -true -1 1 -1 1 - -Dafny program verifier did not attempt verification -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17] [12, 17] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - comprehension: {82} - union: {17, 82} {12, 17, 82} - intersection: {} {17} - difference: {} {82} - subset: true false true - proper subset: true false false - membership: false true true -Multisets: {} {17, 17, 82, 82} {12, 17} - cardinality: 0 4 2 - update: {17, 17, 42, 42, 42} {12, 17, 42} - multiplicity: 2 0 20 - union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} - intersection: {} {17, 82, 82} - difference: {} {17, 82, 82} - subset: true false true - proper subset: true false false - membership: false true true -Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} - cardinality: 0 3 2 - update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} - comprehension: {17 := 12, 82 := 12} - Keys: {12, 17, 82} - Values: {17, 82} - eq: false true true - eq: true true true true true true - eq: true true true true true true - eq: true false true false true false - eq: true false true false true false - eq: true true true true true true - eq: true true true true true true -set: {20, 30} -multiset: {20, 30} -seq: [20, 30] -map: {20 := 30, 30 := 20} -true -true -1 1 -1 1 - -Dafny program verifier did not attempt verification -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17] [12, 17] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - comprehension: {82} - union: {17, 82} {12, 17, 82} - intersection: {} {17} - difference: {} {82} - subset: true false true - proper subset: true false false - membership: false true true -Multisets: {} {17, 17, 82, 82} {12, 17} - cardinality: 0 4 2 - update: {17, 17, 42, 42, 42} {12, 17, 42} - multiplicity: 2 0 20 - union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} - intersection: {} {17, 82, 82} - difference: {} {17, 82, 82} - subset: true false true - proper subset: true false false - membership: false true true -Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} - cardinality: 0 3 2 - update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} - comprehension: {17 := 12, 82 := 12} - Keys: {12, 17, 82} - Values: {17, 82} - eq: false true true - eq: true true true true true true - eq: true true true true true true - eq: true false true false true false - eq: true false true false true false - eq: true true true true true true - eq: true true true true true true -set: {20, 30} -multiset: {20, 30} -seq: [20, 30] -map: {20 := 30, 30 := 20} -true -true -1 1 -1 1 - -Dafny program verifier did not attempt verification -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17] [12, 17] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - comprehension: {82} - union: {17, 82} {12, 17, 82} - intersection: {} {17} - difference: {} {82} - subset: true false true - proper subset: true false false - membership: false true true -Multisets: {} {17, 17, 82, 82} {12, 17} - cardinality: 0 4 2 - update: {17, 17, 42, 42, 42} {12, 17, 42} - multiplicity: 2 0 20 - union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} - intersection: {} {17, 82, 82} - difference: {} {17, 82, 82} - subset: true false true - proper subset: true false false - membership: false true true -Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} - cardinality: 0 3 2 - update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} - comprehension: {17 := 12, 82 := 12} - Keys: {12, 17, 82} - Values: {17, 82} - eq: false true true - eq: true true true true true true - eq: true true true true true true - eq: true false true false true false - eq: true false true false true false - eq: true true true true true true - eq: true true true true true true -set: {20, 30} -multiset: {20, 30} -seq: [20, 30] -map: {20 := 30, 30 := 20} -true -true -1 1 -1 1 - -Dafny program verifier did not attempt verification Sequences: [] [17, 82, 17, 82] [12, 17] cardinality: 0 4 2 update: [42, 82, 17, 82] [42, 17] diff --git a/Test/comp/Datatype.dfy b/Test/comp/Datatype.dfy index 2599907a94c..44579383e5c 100644 --- a/Test/comp/Datatype.dfy +++ b/Test/comp/Datatype.dfy @@ -1,10 +1,5 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation datatype List = Nil | Cons(head: int, tail: List) diff --git a/Test/comp/Datatype.dfy.expect b/Test/comp/Datatype.dfy.expect index 84dceeb16e6..93e37a9562a 100644 --- a/Test/comp/Datatype.dfy.expect +++ b/Test/comp/Datatype.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 12 verified, 0 errors - -Dafny program verifier did not attempt verification List.Nil List.Cons(5, List.Nil) (List.Nil, List.Cons(5, List.Nil)) @@ -24,99 +20,3 @@ Record.Record(58, true) 199 800 801 802 800 801 802 - -Dafny program verifier did not attempt verification -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) -0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) -Stream.Next -Stream.Next -{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} -CoBerry.Hjortron true true false -false -42 'q' hello -1701 -Record.Record(58, true) -199 -800 801 802 -800 801 802 - -Dafny program verifier did not attempt verification -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) -0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) -Stream.Next -Stream.Next -{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} -CoBerry.Hjortron true true false -false -42 'q' hello -1701 -Record.Record(58, true) -199 -800 801 802 -800 801 802 - -Dafny program verifier did not attempt verification -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) -0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) -Stream.Next -Stream.Next -{Berry.Jordgubb, Berry.Smultron, Berry.Hallon} -CoBerry.Hjortron true true false -false -42 'q' hello -1701 -Record.Record(58, true) -199 -800 801 802 -800 801 802 - -Dafny program verifier did not attempt verification -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) -0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) -Stream.Next -Stream.Next -{Berry.Hallon, Berry.Smultron, Berry.Jordgubb} -CoBerry.Hjortron true true false -false -42 'q' hello -1701 -Record.Record(58, true) -199 -800 801 802 -800 801 802 diff --git a/Test/comp/Datatype.dfy.java.expect b/Test/comp/Datatype.dfy.java.expect new file mode 100644 index 00000000000..e5a32fd58bc --- /dev/null +++ b/Test/comp/Datatype.dfy.java.expect @@ -0,0 +1,22 @@ +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) +0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) +Stream.Next +Stream.Next +{Berry.Jordgubb, Berry.Smultron, Berry.Hallon} +CoBerry.Hjortron true true false +false +42 'q' hello +1701 +Record.Record(58, true) +199 +800 801 802 +800 801 802 diff --git a/Test/comp/Datatype.dfy.py.expect b/Test/comp/Datatype.dfy.py.expect new file mode 100644 index 00000000000..0f64b73ba2d --- /dev/null +++ b/Test/comp/Datatype.dfy.py.expect @@ -0,0 +1,22 @@ +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) +0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) +Stream.Next +Stream.Next +{Berry.Hallon, Berry.Smultron, Berry.Jordgubb} +CoBerry.Hjortron true true false +false +42 'q' hello +1701 +Record.Record(58, true) +199 +800 801 802 +800 801 802 diff --git a/Test/comp/DefaultParameters-Compile.dfy b/Test/comp/DefaultParameters-Compile.dfy index 145b8670647..cd6ba1163b1 100644 --- a/Test/comp/DefaultParameters-Compile.dfy +++ b/Test/comp/DefaultParameters-Compile.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method M(x: int := 16) { print x, "\n"; diff --git a/Test/comp/DefaultParameters-Compile.dfy.expect b/Test/comp/DefaultParameters-Compile.dfy.expect index b94739d5be1..b4b87321eb5 100644 --- a/Test/comp/DefaultParameters-Compile.dfy.expect +++ b/Test/comp/DefaultParameters-Compile.dfy.expect @@ -1,51 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification -12 -16 -1 2 -1 3 -10 20 -11 13 -Color.Blue(2, 1) Color.Red(3, 4) -5 5 6 -6 6 7 - -Dafny program verifier did not attempt verification -12 -16 -1 2 -1 3 -10 20 -11 13 -Color.Blue(2, 1) Color.Red(3, 4) -5 5 6 -6 6 7 - -Dafny program verifier did not attempt verification -12 -16 -1 2 -1 3 -10 20 -11 13 -Color.Blue(2, 1) Color.Red(3, 4) -5 5 6 -6 6 7 - -Dafny program verifier did not attempt verification -12 -16 -1 2 -1 3 -10 20 -11 13 -Color.Blue(2, 1) Color.Red(3, 4) -5 5 6 -6 6 7 - -Dafny program verifier did not attempt verification 12 16 1 2 diff --git a/Test/comp/DowncastClone.dfy b/Test/comp/DowncastClone.dfy index b90066da781..cb1f095b3f4 100644 --- a/Test/comp/DowncastClone.dfy +++ b/Test/comp/DowncastClone.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Co<+T> = Co(T) | C datatype ReCo<+T> = ReCo(T) diff --git a/Test/comp/DowncastClone.dfy.expect b/Test/comp/DowncastClone.dfy.expect index 982b36b396c..b0613294f3c 100644 --- a/Test/comp/DowncastClone.dfy.expect +++ b/Test/comp/DowncastClone.dfy.expect @@ -1,43 +1,3 @@ - -Dafny program verifier finished with 7 verified, 0 errors - -Dafny program verifier did not attempt verification -Co.Co(_module.Y) and Co.Co(_module.Y) -_module.Y and _module.Y -_module.Y _module.Y -false and false -false and false -_module.Y and _module.Y -Done - -Dafny program verifier did not attempt verification -Co.Co(_module.Y) and Co.Co(_module.Y) -_module.Y and _module.Y -_module.Y _module.Y -false and false -false and false -_module.Y and _module.Y -Done - -Dafny program verifier did not attempt verification -Co.Co(_module.Y) and Co.Co(_module.Y) -_module.Y and _module.Y -_module.Y _module.Y -false and false -false and false -_module.Y and _module.Y -Done - -Dafny program verifier did not attempt verification -Co.Co(_module.Y) and Co.Co(_module.Y) -_module.Y and _module.Y -_module.Y _module.Y -false and false -false and false -_module.Y and _module.Y -Done - -Dafny program verifier did not attempt verification Co.Co(_module.Y) and Co.Co(_module.Y) _module.Y and _module.Y _module.Y _module.Y diff --git a/Test/comp/ErasableTypeWrappers.dfy b/Test/comp/ErasableTypeWrappers.dfy index d62d3736622..a280099699f 100644 --- a/Test/comp/ErasableTypeWrappers.dfy +++ b/Test/comp/ErasableTypeWrappers.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false datatype SingletonRecord = SingletonRecord(u: int) datatype GhostOrNot = ghost Ghost(a: int, b: int) | Compiled(x: int) diff --git a/Test/comp/ErasableTypeWrappers.dfy.expect b/Test/comp/ErasableTypeWrappers.dfy.expect index 5013d9fc327..2a82d776c64 100644 --- a/Test/comp/ErasableTypeWrappers.dfy.expect +++ b/Test/comp/ErasableTypeWrappers.dfy.expect @@ -1,87 +1,3 @@ - -Dafny program verifier finished with 10 verified, 0 errors - -Dafny program verifier did not attempt verification -62 63 (2, 5) (2, 5) 3 -62 63 5 5 3 -5 5 3 -1062 1063 1005 1005 1003 -true true true -20 20 *20 21 20 -20 20 *20 21 20 -true false -true false true false -true false -0 (0, 0) 0 Color.Pink -13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false - 3.14 2.7 -18.0 18.0 3.0 false -18.0 4.0 true -HasConst.MakeC(4) (4, 4) -4 (4, 4) -OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.AnotherIntsWrapper(OptimizationChecks.Ints.Ints(5, 7)) - -Dafny program verifier did not attempt verification -62 63 (2, 5) (2, 5) 3 -62 63 5 5 3 -5 5 3 -1062 1063 1005 1005 1003 -true true true -20 20 *20 21 20 -20 20 *20 21 20 -true false -true false true false -true false -0 (0, 0) 0 Color.Pink -13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false - 3.14 2.7 -18.0 18.0 3.0 false -18.0 4.0 true -HasConst.MakeC(4) (4, 4) -4 (4, 4) -OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.AnotherIntsWrapper(OptimizationChecks.Ints.Ints(5, 7)) - -Dafny program verifier did not attempt verification -62 63 (2, 5) (2, 5) 3 -62 63 5 5 3 -5 5 3 -1062 1063 1005 1005 1003 -true true true -20 20 *20 21 20 -20 20 *20 21 20 -true false -true false true false -true false -0 (0, 0) 0 Color.Pink -13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false - 3.14 2.7 -18.0 18.0 3.0 false -18.0 4.0 true -HasConst.MakeC(4) (4, 4) -4 (4, 4) -OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.AnotherIntsWrapper(OptimizationChecks.Ints.Ints(5, 7)) - -Dafny program verifier did not attempt verification -62 63 (2, 5) (2, 5) 3 -62 63 5 5 3 -5 5 3 -1062 1063 1005 1005 1003 -true true true -20 20 *20 21 20 -20 20 *20 21 20 -true false -true false true false -true false -0 (0, 0) 0 Color.Pink -13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false - 3.14 2.7 -18.0 18.0 3.0 false -18.0 4.0 true -HasConst.MakeC(4) (4, 4) -4 (4, 4) -OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.AnotherIntsWrapper(OptimizationChecks.Ints.Ints(5, 7)) - -Dafny program verifier did not attempt verification 62 63 (2, 5) (2, 5) 3 62 63 5 5 3 5 5 3 diff --git a/Test/comp/EuclideanDivision.dfy b/Test/comp/EuclideanDivision.dfy index 7ae1803cad8..1286dcd125b 100644 --- a/Test/comp/EuclideanDivision.dfy +++ b/Test/comp/EuclideanDivision.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Some runtimes (like the one for C#) have three implementations // of Euclidean div/mod: one for `int`, one for `long`, and one diff --git a/Test/comp/EuclideanDivision.dfy.expect b/Test/comp/EuclideanDivision.dfy.expect index b538c9494de..e2585ff8c70 100644 --- a/Test/comp/EuclideanDivision.dfy.expect +++ b/Test/comp/EuclideanDivision.dfy.expect @@ -1,39 +1,3 @@ - -Dafny program verifier finished with 11 verified, 0 errors - -Dafny program verifier did not attempt verification -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 - -Dafny program verifier did not attempt verification -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 - -Dafny program verifier did not attempt verification -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 - -Dafny program verifier did not attempt verification -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 - -Dafny program verifier did not attempt verification 2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 diff --git a/Test/comp/ForLoops-Compilation.dfy b/Test/comp/ForLoops-Compilation.dfy index 97101b82961..b468d21f69f 100644 --- a/Test/comp/ForLoops-Compilation.dfy +++ b/Test/comp/ForLoops-Compilation.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method Main() { TestM(0, 0); diff --git a/Test/comp/ForLoops-Compilation.dfy.expect b/Test/comp/ForLoops-Compilation.dfy.expect index d67a5429fed..97724a714bc 100644 --- a/Test/comp/ForLoops-Compilation.dfy.expect +++ b/Test/comp/ForLoops-Compilation.dfy.expect @@ -1,203 +1,3 @@ - -Dafny program verifier finished with 23 verified, 0 errors - -Dafny program verifier did not attempt verification -0 0 0 0 --2 -2 -2 -2 -0 0 0 0 -145 145 145 145 -0 0 -0 0 -57 57 -0 0 -32385 32385 -0 0 --128 -128 -126 126 -0 0 -0 * 2 == 0 -2 * 0 == 0 -1 * 1 == 1 -6 * 5 == 30 -0 + 3 == 3 -3 + 0 == 3 -4 + 0 == 4 -0 + 0 == 0 -19 + 14 == 33 -4 4 4 -== BC10 == -0 --++--++---- *** -1 --++--++----++-- -2 --++--++----++--++--++--++--++--++--++ *** -3 --++--++----++--++--++--++--++--++--++ *** -4 --++--++----++--++--++--++--++--++--++ *** -5 --++--++----++--++--++--++--++--++--++ *** -6 --++--++----++--++--++--++--++--++--++ *** -7 --++--++----++--++--++--++--++--++--++ *** -8 --++--++----++--++--++--++--++--++--++ *** -9 --++--++----++--++--++--++--++--++--++ *** -== BC11 == -0 ||--++----++-- *** -1 ||--++----++--++-- -2 ||--++----++--++--++--++--++--++--++--++ *** -3 ||--++----++--++--++--++--++--++--++--++ *** -4 ||--++----++--++--++--++--++--++--++--++ *** -5 ||--++----++--++--++--++--++--++--++--++ *** -6 ||--++----++--++--++--++--++--++--++--++ *** -7 ||--++----++--++--++--++--++--++--++--++ *** -8 ||--++----++--++--++--++--++--++--++--++ *** -9 ||--++----++--++--++--++--++--++--++--++ *** -true true true 15 -all good - -Dafny program verifier did not attempt verification -0 0 0 0 --2 -2 -2 -2 -0 0 0 0 -145 145 145 145 -0 0 -0 0 -57 57 -0 0 -32385 32385 -0 0 --128 -128 -126 126 -0 0 -0 * 2 == 0 -2 * 0 == 0 -1 * 1 == 1 -6 * 5 == 30 -0 + 3 == 3 -3 + 0 == 3 -4 + 0 == 4 -0 + 0 == 0 -19 + 14 == 33 -4 4 4 -== BC10 == -0 --++--++---- *** -1 --++--++----++-- -2 --++--++----++--++--++--++--++--++--++ *** -3 --++--++----++--++--++--++--++--++--++ *** -4 --++--++----++--++--++--++--++--++--++ *** -5 --++--++----++--++--++--++--++--++--++ *** -6 --++--++----++--++--++--++--++--++--++ *** -7 --++--++----++--++--++--++--++--++--++ *** -8 --++--++----++--++--++--++--++--++--++ *** -9 --++--++----++--++--++--++--++--++--++ *** -== BC11 == -0 ||--++----++-- *** -1 ||--++----++--++-- -2 ||--++----++--++--++--++--++--++--++--++ *** -3 ||--++----++--++--++--++--++--++--++--++ *** -4 ||--++----++--++--++--++--++--++--++--++ *** -5 ||--++----++--++--++--++--++--++--++--++ *** -6 ||--++----++--++--++--++--++--++--++--++ *** -7 ||--++----++--++--++--++--++--++--++--++ *** -8 ||--++----++--++--++--++--++--++--++--++ *** -9 ||--++----++--++--++--++--++--++--++--++ *** -true true true 15 -all good - -Dafny program verifier did not attempt verification -0 0 0 0 --2 -2 -2 -2 -0 0 0 0 -145 145 145 145 -0 0 -0 0 -57 57 -0 0 -32385 32385 -0 0 --128 -128 -126 126 -0 0 -0 * 2 == 0 -2 * 0 == 0 -1 * 1 == 1 -6 * 5 == 30 -0 + 3 == 3 -3 + 0 == 3 -4 + 0 == 4 -0 + 0 == 0 -19 + 14 == 33 -4 4 4 -== BC10 == -0 --++--++---- *** -1 --++--++----++-- -2 --++--++----++--++--++--++--++--++--++ *** -3 --++--++----++--++--++--++--++--++--++ *** -4 --++--++----++--++--++--++--++--++--++ *** -5 --++--++----++--++--++--++--++--++--++ *** -6 --++--++----++--++--++--++--++--++--++ *** -7 --++--++----++--++--++--++--++--++--++ *** -8 --++--++----++--++--++--++--++--++--++ *** -9 --++--++----++--++--++--++--++--++--++ *** -== BC11 == -0 ||--++----++-- *** -1 ||--++----++--++-- -2 ||--++----++--++--++--++--++--++--++--++ *** -3 ||--++----++--++--++--++--++--++--++--++ *** -4 ||--++----++--++--++--++--++--++--++--++ *** -5 ||--++----++--++--++--++--++--++--++--++ *** -6 ||--++----++--++--++--++--++--++--++--++ *** -7 ||--++----++--++--++--++--++--++--++--++ *** -8 ||--++----++--++--++--++--++--++--++--++ *** -9 ||--++----++--++--++--++--++--++--++--++ *** -true true true 15 -all good - -Dafny program verifier did not attempt verification -0 0 0 0 --2 -2 -2 -2 -0 0 0 0 -145 145 145 145 -0 0 -0 0 -57 57 -0 0 -32385 32385 -0 0 --128 -128 -126 126 -0 0 -0 * 2 == 0 -2 * 0 == 0 -1 * 1 == 1 -6 * 5 == 30 -0 + 3 == 3 -3 + 0 == 3 -4 + 0 == 4 -0 + 0 == 0 -19 + 14 == 33 -4 4 4 -== BC10 == -0 --++--++---- *** -1 --++--++----++-- -2 --++--++----++--++--++--++--++--++--++ *** -3 --++--++----++--++--++--++--++--++--++ *** -4 --++--++----++--++--++--++--++--++--++ *** -5 --++--++----++--++--++--++--++--++--++ *** -6 --++--++----++--++--++--++--++--++--++ *** -7 --++--++----++--++--++--++--++--++--++ *** -8 --++--++----++--++--++--++--++--++--++ *** -9 --++--++----++--++--++--++--++--++--++ *** -== BC11 == -0 ||--++----++-- *** -1 ||--++----++--++-- -2 ||--++----++--++--++--++--++--++--++--++ *** -3 ||--++----++--++--++--++--++--++--++--++ *** -4 ||--++----++--++--++--++--++--++--++--++ *** -5 ||--++----++--++--++--++--++--++--++--++ *** -6 ||--++----++--++--++--++--++--++--++--++ *** -7 ||--++----++--++--++--++--++--++--++--++ *** -8 ||--++----++--++--++--++--++--++--++--++ *** -9 ||--++----++--++--++--++--++--++--++--++ *** -true true true 15 -all good - -Dafny program verifier did not attempt verification 0 0 0 0 -2 -2 -2 -2 0 0 0 0 diff --git a/Test/comp/ForallNewSyntax.dfy b/Test/comp/ForallNewSyntax.dfy index c17bf86830e..85e609b37b3 100644 --- a/Test/comp/ForallNewSyntax.dfy +++ b/Test/comp/ForallNewSyntax.dfy @@ -1,10 +1,4 @@ -// RUN: %baredafny verify %args --relax-definite-assignment --function-syntax:3 --quantifier-syntax:4 "%s" > "%t" -// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:cs "%s" >> "%t" -// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:js "%s" >> "%t" -// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:go "%s" >> "%t" -// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:java "%s" >> "%t" -// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --function-syntax:3 --quantifier-syntax:4 --relax-definite-assignment method Main() { var arrayTests := new ArrayTests(); diff --git a/Test/comp/ForallNewSyntax.dfy.expect b/Test/comp/ForallNewSyntax.dfy.expect index 241ea9ea521..5b33d939607 100644 --- a/Test/comp/ForallNewSyntax.dfy.expect +++ b/Test/comp/ForallNewSyntax.dfy.expect @@ -1,183 +1,3 @@ - -Dafny program verifier finished with 25 verified, 0 errors - -Dafny program verifier did not attempt verification -Arrays: Basic cases -[0, 1, 2, 3, 4] -[0, 1, 2, 3, 4] -[0, 1, 4, 3, 8] - -Arrays: Wrong index -[0, 0, 1, 2, 3] -[0, 0, 1, 2, 3] -[1, 2, 3, 4, 5] - -Arrays: Sequence conversion -[2, 1, 4, 5, 6] -[0, 3, 3, 3, 4] - -Arrays: Index collection -[1, 1, 2, 3, 4] -[1, 1, 2, 3, 4] - -Arrays: Functions -[1, 1, 3, 4, 5] -[1, 1, 3, 4, 5] -[1, 2, 3, 3, 5] -[1, 2, 3, 4, 5] - -Multi-dimensional arrays -[[0, 2, 4], [1, 3, 5], [2, 4, 6]] -[[0, 1, 2], [2, 3, 4], [4, 5, 6]] - -Objects: Basic cases -[(0, 1.0), (0, 2.0), (0, 3.0)] -[(2, 1.0), (2, 2.0), (4, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] - -Objects: Bad field accesses -[(2, 1.0), (3, 2.0), (4, 3.0)] -[(2, 1.0), (2, 2.0), (2, 3.0)] -[(2, 1.0), (3, 2.0), (1, 3.0)] - -Objects: Functions -[(2, 1.0), (4, 2.0), (6, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] -[(3, 1.0), (4, 2.0), (5, 3.0)] - -Dafny program verifier did not attempt verification -Arrays: Basic cases -[0, 1, 2, 3, 4] -[0, 1, 2, 3, 4] -[0, 1, 4, 3, 8] - -Arrays: Wrong index -[0, 0, 1, 2, 3] -[0, 0, 1, 2, 3] -[1, 2, 3, 4, 5] - -Arrays: Sequence conversion -[2, 1, 4, 5, 6] -[0, 3, 3, 3, 4] - -Arrays: Index collection -[1, 1, 2, 3, 4] -[1, 1, 2, 3, 4] - -Arrays: Functions -[1, 1, 3, 4, 5] -[1, 1, 3, 4, 5] -[1, 2, 3, 3, 5] -[1, 2, 3, 4, 5] - -Multi-dimensional arrays -[[0, 2, 4], [1, 3, 5], [2, 4, 6]] -[[0, 1, 2], [2, 3, 4], [4, 5, 6]] - -Objects: Basic cases -[(0, 1.0), (0, 2.0), (0, 3.0)] -[(2, 1.0), (2, 2.0), (4, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] - -Objects: Bad field accesses -[(2, 1.0), (3, 2.0), (4, 3.0)] -[(2, 1.0), (2, 2.0), (2, 3.0)] -[(2, 1.0), (3, 2.0), (1, 3.0)] - -Objects: Functions -[(2, 1.0), (4, 2.0), (6, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] -[(3, 1.0), (4, 2.0), (5, 3.0)] - -Dafny program verifier did not attempt verification -Arrays: Basic cases -[0, 1, 2, 3, 4] -[0, 1, 2, 3, 4] -[0, 1, 4, 3, 8] - -Arrays: Wrong index -[0, 0, 1, 2, 3] -[0, 0, 1, 2, 3] -[1, 2, 3, 4, 5] - -Arrays: Sequence conversion -[2, 1, 4, 5, 6] -[0, 3, 3, 3, 4] - -Arrays: Index collection -[1, 1, 2, 3, 4] -[1, 1, 2, 3, 4] - -Arrays: Functions -[1, 1, 3, 4, 5] -[1, 1, 3, 4, 5] -[1, 2, 3, 3, 5] -[1, 2, 3, 4, 5] - -Multi-dimensional arrays -[[0, 2, 4], [1, 3, 5], [2, 4, 6]] -[[0, 1, 2], [2, 3, 4], [4, 5, 6]] - -Objects: Basic cases -[(0, 1.0), (0, 2.0), (0, 3.0)] -[(2, 1.0), (2, 2.0), (4, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] - -Objects: Bad field accesses -[(2, 1.0), (3, 2.0), (4, 3.0)] -[(2, 1.0), (2, 2.0), (2, 3.0)] -[(2, 1.0), (3, 2.0), (1, 3.0)] - -Objects: Functions -[(2, 1.0), (4, 2.0), (6, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] -[(3, 1.0), (4, 2.0), (5, 3.0)] - -Dafny program verifier did not attempt verification -Arrays: Basic cases -[0, 1, 2, 3, 4] -[0, 1, 2, 3, 4] -[0, 1, 4, 3, 8] - -Arrays: Wrong index -[0, 0, 1, 2, 3] -[0, 0, 1, 2, 3] -[1, 2, 3, 4, 5] - -Arrays: Sequence conversion -[2, 1, 4, 5, 6] -[0, 3, 3, 3, 4] - -Arrays: Index collection -[1, 1, 2, 3, 4] -[1, 1, 2, 3, 4] - -Arrays: Functions -[1, 1, 3, 4, 5] -[1, 1, 3, 4, 5] -[1, 2, 3, 3, 5] -[1, 2, 3, 4, 5] - -Multi-dimensional arrays -[[0, 2, 4], [1, 3, 5], [2, 4, 6]] -[[0, 1, 2], [2, 3, 4], [4, 5, 6]] - -Objects: Basic cases -[(0, 1.0), (0, 2.0), (0, 3.0)] -[(2, 1.0), (2, 2.0), (4, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] - -Objects: Bad field accesses -[(2, 1.0), (3, 2.0), (4, 3.0)] -[(2, 1.0), (2, 2.0), (2, 3.0)] -[(2, 1.0), (3, 2.0), (1, 3.0)] - -Objects: Functions -[(2, 1.0), (4, 2.0), (6, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] -[(3, 1.0), (4, 2.0), (5, 3.0)] - -Dafny program verifier did not attempt verification Arrays: Basic cases [0, 1, 2, 3, 4] [0, 1, 2, 3, 4] diff --git a/Test/comp/Ghosts.dfy b/Test/comp/Ghosts.dfy index 506fe0facb1..8afe8a36d3f 100644 --- a/Test/comp/Ghosts.dfy +++ b/Test/comp/Ghosts.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method M1() returns (x: int) { diff --git a/Test/comp/Ghosts.dfy.expect b/Test/comp/Ghosts.dfy.expect index 430a9c18fc0..d075ea048c1 100644 --- a/Test/comp/Ghosts.dfy.expect +++ b/Test/comp/Ghosts.dfy.expect @@ -1,55 +1,3 @@ - -Dafny program verifier finished with 8 verified, 0 errors - -Dafny program verifier did not attempt verification -hello, M2 -hello, M2 -hello, M3 -hello, M1 -hello, M1 -hello, M1 -hello, M2 -hello, M3 -hello, N0 -hello, N1 - -Dafny program verifier did not attempt verification -hello, M2 -hello, M2 -hello, M3 -hello, M1 -hello, M1 -hello, M1 -hello, M2 -hello, M3 -hello, N0 -hello, N1 - -Dafny program verifier did not attempt verification -hello, M2 -hello, M2 -hello, M3 -hello, M1 -hello, M1 -hello, M1 -hello, M2 -hello, M3 -hello, N0 -hello, N1 - -Dafny program verifier did not attempt verification -hello, M2 -hello, M2 -hello, M3 -hello, M1 -hello, M1 -hello, M1 -hello, M2 -hello, M3 -hello, N0 -hello, N1 - -Dafny program verifier did not attempt verification hello, M2 hello, M2 hello, M3 diff --git a/Test/comp/Let.dfy b/Test/comp/Let.dfy index 64dce8b90e6..2a639009c78 100644 --- a/Test/comp/Let.dfy +++ b/Test/comp/Let.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cs "%s" > "%t" -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method M() returns (x: int) { x := var y := 50; y; // non-top-level let diff --git a/Test/comp/Let.dfy.expect b/Test/comp/Let.dfy.expect index 667abc32458..f05dfc414c1 100644 --- a/Test/comp/Let.dfy.expect +++ b/Test/comp/Let.dfy.expect @@ -1,37 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors -50 58 -Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) -5 7 9 10 12 30 -5 7 -5 7 -12.0 15.0 15.0 15.0 - -Dafny program verifier finished with 5 verified, 0 errors -50 58 -Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) -5 7 9 10 12 30 -5 7 -5 7 -12.0 15.0 15.0 15.0 - -Dafny program verifier finished with 5 verified, 0 errors -50 58 -Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) -5 7 9 10 12 30 -5 7 -5 7 -12.0 15.0 15.0 15.0 - -Dafny program verifier finished with 5 verified, 0 errors -50 58 -Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) -5 7 9 10 12 30 -5 7 -5 7 -12.0 15.0 15.0 15.0 - -Dafny program verifier finished with 5 verified, 0 errors 50 58 Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) 5 7 9 10 12 30 diff --git a/Test/comp/MoreAutoInit.dfy b/Test/comp/MoreAutoInit.dfy index 46bdf7148f1..c72083f1be5 100644 --- a/Test/comp/MoreAutoInit.dfy +++ b/Test/comp/MoreAutoInit.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { Methods.TestStart(); diff --git a/Test/comp/MoreAutoInit.dfy.expect b/Test/comp/MoreAutoInit.dfy.expect index e707d9ea27a..a077ee0daa9 100644 --- a/Test/comp/MoreAutoInit.dfy.expect +++ b/Test/comp/MoreAutoInit.dfy.expect @@ -1,575 +1,3 @@ - -Dafny program verifier finished with 38 verified, 0 errors - -Dafny program verifier did not attempt verification -Methods.Uni.Uni - ++ Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -{} - ++ {} -[] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -Functions.Uni.Uni - ++ Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -{2} - ++ {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni -[] ++ [] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] - ** [] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] - ** [] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] - ++ [Consts.Uni.Uni] ++ [] - ** [] ++ [] ++ [] -15 -0-0 0.0-0.0 false-false 'D'-'D' 0 -0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 -0-0 0-0 0-0 0-0 1 1 -0.0-0.0 68.0 -null-null null-null null-null null-null -0 -0:0:0 -0-0 -{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] -DefaultValuedExpressions.Color.Red-DefaultValuedExpressions.Color.Red DefaultValuedExpressions.PossibleCell.Nothing-DefaultValuedExpressions.PossibleCell.Nothing DefaultValuedExpressions.Cell.LittleCell(0)-DefaultValuedExpressions.Cell.LittleCell(0) -()-() (0, 0.0)-(0, 0.0) -(DefaultValuedExpressions.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions.Color.Red, (0, 0.0), ()) -null-null null-null -0-0 0-0 0-0 3 4 5 -0-0 11 0-0 8 - -Dafny program verifier did not attempt verification -Methods.Uni.Uni - ++ Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -{} - ++ {} -[] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -Functions.Uni.Uni - ++ Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -{2} - ++ {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni -[] ++ [] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] - ** [] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] - ** [] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] - ++ [Consts.Uni.Uni] ++ [] - ** [] ++ [] ++ [] -15 -0-0 0.0-0.0 false-false 'D'-'D' 0 -0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 -0-0 0-0 0-0 0-0 1 1 -0.0-0.0 68.0 -null-null null-null null-null null-null -0 -0:0:0 -0-0 -{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] -DefaultValuedExpressions.Color.Red-DefaultValuedExpressions.Color.Red DefaultValuedExpressions.PossibleCell.Nothing-DefaultValuedExpressions.PossibleCell.Nothing DefaultValuedExpressions.Cell.LittleCell(0)-DefaultValuedExpressions.Cell.LittleCell(0) -()-() (0, 0.0)-(0, 0.0) -(DefaultValuedExpressions.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions.Color.Red, (0, 0.0), ()) -null-null null-null -0-0 0-0 0-0 3 4 5 -0-0 11 0-0 8 - -Dafny program verifier did not attempt verification -Methods.Uni.Uni - ++ Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -{} - ++ {} -[] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -Functions.Uni.Uni - ++ Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -{2} - ++ {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni -[] ++ [] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] - ** [] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] - ** [] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] - ++ [Consts.Uni.Uni] ++ [] - ** [] ++ [] ++ [] -15 -0-0 0.0-0.0 false-false 'D'-'D' 0 -0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 -0-0 0-0 0-0 0-0 1 1 -0.0-0.0 68.0 -null-null null-null null-null null-null -0 -0:0:0 -0-0 -{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] -DefaultValuedExpressions.Color.Red-DefaultValuedExpressions.Color.Red DefaultValuedExpressions.PossibleCell.Nothing-DefaultValuedExpressions.PossibleCell.Nothing DefaultValuedExpressions.Cell.LittleCell(0)-DefaultValuedExpressions.Cell.LittleCell(0) -()-() (0, 0.0)-(0, 0.0) -(DefaultValuedExpressions.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions.Color.Red, (0, 0.0), ()) -null-null null-null -0-0 0-0 0-0 3 4 5 -0-0 11 0-0 8 - -Dafny program verifier did not attempt verification -Methods.Uni.Uni - ++ Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -{} - ++ {} -[] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -Functions.Uni.Uni - ++ Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -{2} - ++ {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni -[] ++ [] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] - ** [] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] - ** [] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] - ++ [Consts.Uni.Uni] ++ [] - ** [] ++ [] ++ [] -15 -0-0 0.0-0.0 false-false 'D'-'D' 0 -0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 -0-0 0-0 0-0 0-0 1 1 -0.0-0.0 68.0 -null-null null-null null-null null-null -0 -0:0:0 -0-0 -{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] -DefaultValuedExpressions.Color.Red-DefaultValuedExpressions.Color.Red DefaultValuedExpressions.PossibleCell.Nothing-DefaultValuedExpressions.PossibleCell.Nothing DefaultValuedExpressions.Cell.LittleCell(0)-DefaultValuedExpressions.Cell.LittleCell(0) -()-() (0, 0.0)-(0, 0.0) -(DefaultValuedExpressions.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions.Color.Red, (0, 0.0), ()) -null-null null-null -0-0 0-0 0-0 3 4 5 -0-0 11 0-0 8 - -Dafny program verifier did not attempt verification Methods.Uni.Uni ++ Methods.Uni.Uni Methods.Uni.Uni Methods.Uni.Uni diff --git a/Test/comp/NativeNumbers.dfy b/Test/comp/NativeNumbers.dfy index c63d02cf643..e1fadb1c406 100644 --- a/Test/comp/NativeNumbers.dfy +++ b/Test/comp/NativeNumbers.dfy @@ -1,11 +1,6 @@ +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false // Skip JavaScript because JavaScript doesn't have the same native types -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" method Main() { CastTests(); diff --git a/Test/comp/NativeNumbers.dfy.expect b/Test/comp/NativeNumbers.dfy.expect index 2be030252cf..6a9d263fc73 100644 --- a/Test/comp/NativeNumbers.dfy.expect +++ b/Test/comp/NativeNumbers.dfy.expect @@ -1,259 +1,3 @@ - -Dafny program verifier finished with 25 verified, 0 errors - -Dafny program verifier did not attempt verification -Casting: - -Small numbers: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 -5 5 5 5 5 5 5 5 5 -6 6 6 6 6 6 6 6 6 -7 7 7 7 7 7 7 7 7 -8 8 8 8 8 8 8 8 8 - -Large unsigned numbers: -255 255 255 255 255 255 255 255 -65535 65535 65535 65535 65535 65535 -4294967295 4294967295 4294967295 4294967295 -18446744073709551615 18446744073709551615 - -Int to large unsigned: -255 65535 4294967295 18446744073709551615 - -Cast from cardinality operator: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 - -Characters: -C 67 67 67 67 67 67 67 67 67 -0 127 32767 65535 65535 255 65535 65535 65535 - -Defaults: - -0 0 0 0 0 0 0 0 0 - -Byte arithmetic: - -20 30 -10 10 18 - -Short arithmetic: - -20 30 -10 10 18 - -Bitvectors: - -0 3 4 1 - -Comparison to zero: - -int8: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int16: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int32: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int64: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint8: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint16: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint32: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint64: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N - - -Dafny program verifier did not attempt verification -Casting: - -Small numbers: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 -5 5 5 5 5 5 5 5 5 -6 6 6 6 6 6 6 6 6 -7 7 7 7 7 7 7 7 7 -8 8 8 8 8 8 8 8 8 - -Large unsigned numbers: -255 255 255 255 255 255 255 255 -65535 65535 65535 65535 65535 65535 -4294967295 4294967295 4294967295 4294967295 -18446744073709551615 18446744073709551615 - -Int to large unsigned: -255 65535 4294967295 18446744073709551615 - -Cast from cardinality operator: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 - -Characters: -C 67 67 67 67 67 67 67 67 67 -0 127 32767 65535 65535 255 65535 65535 65535 - -Defaults: - -0 0 0 0 0 0 0 0 0 - -Byte arithmetic: - -20 30 -10 10 18 - -Short arithmetic: - -20 30 -10 10 18 - -Bitvectors: - -0 3 4 1 - -Comparison to zero: - -int8: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int16: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int32: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int64: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint8: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint16: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint32: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint64: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N - - -Dafny program verifier did not attempt verification -Casting: - -Small numbers: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 -5 5 5 5 5 5 5 5 5 -6 6 6 6 6 6 6 6 6 -7 7 7 7 7 7 7 7 7 -8 8 8 8 8 8 8 8 8 - -Large unsigned numbers: -255 255 255 255 255 255 255 255 -65535 65535 65535 65535 65535 65535 -4294967295 4294967295 4294967295 4294967295 -18446744073709551615 18446744073709551615 - -Int to large unsigned: -255 65535 4294967295 18446744073709551615 - -Cast from cardinality operator: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 - -Characters: -C 67 67 67 67 67 67 67 67 67 -0 127 32767 65535 65535 255 65535 65535 65535 - -Defaults: - -0 0 0 0 0 0 0 0 0 - -Byte arithmetic: - -20 30 -10 10 18 - -Short arithmetic: - -20 30 -10 10 18 - -Bitvectors: - -0 3 4 1 - -Comparison to zero: - -int8: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int16: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int32: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int64: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint8: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint16: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint32: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint64: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N - - -Dafny program verifier did not attempt verification Casting: Small numbers: diff --git a/Test/comp/NestedArrays.dfy b/Test/comp/NestedArrays.dfy index 0c2b313a32c..39d256f4936 100644 --- a/Test/comp/NestedArrays.dfy +++ b/Test/comp/NestedArrays.dfy @@ -1,9 +1,4 @@ -// RUN: %baredafny verify --relax-definite-assignment %args "%s" > "%t" -// RUN: %baredafny run --no-verify --target=cs %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=js %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=go %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=py %args "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /* Note, compiling to arrays in Java is difficult. In fact, this is currently * broken, see https://github.com/dafny-lang/dafny/issues/3055. Until this gets diff --git a/Test/comp/NestedArrays.dfy.expect b/Test/comp/NestedArrays.dfy.expect index a24d140b9d4..aa47d0d46d4 100644 --- a/Test/comp/NestedArrays.dfy.expect +++ b/Test/comp/NestedArrays.dfy.expect @@ -1,18 +1,2 @@ - -Dafny program verifier finished with 4 verified, 0 errors - -Dafny program verifier did not attempt verification -0 -0 - -Dafny program verifier did not attempt verification -0 -0 - -Dafny program verifier did not attempt verification -0 -0 - -Dafny program verifier did not attempt verification 0 0 diff --git a/Test/comp/Numbers.dfy b/Test/comp/Numbers.dfy index 36bf24dcdb4..c76bc87fdc0 100644 --- a/Test/comp/Numbers.dfy +++ b/Test/comp/Numbers.dfy @@ -1,10 +1,5 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false method Main() { Literals(); diff --git a/Test/comp/Numbers.dfy.expect b/Test/comp/Numbers.dfy.expect index 8d994e1c7c6..7eacf4e709d 100644 --- a/Test/comp/Numbers.dfy.expect +++ b/Test/comp/Numbers.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 59 verified, 0 errors - -Dafny program verifier did not attempt verification 0 0 3 @@ -113,455 +109,3 @@ true false true false false true false true true false true false 20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -g Q 2 -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -(312.0 / 40.0) (1248.0 / 40.0) -(-312.0 / 40.0) (-1248.0 / 40.0) -(-312.0 / 40.0) (1248.0 / 40.0) -(312.0 / 40.0) (-1248.0 / 40.0) -0.0 0.0 0.0 -120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) -123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 (8100.0 / 8100.0) -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -g Q 2 -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -g Q 2 -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -(312.0 / 40.0) (1248.0 / 40.0) -(-312.0 / 40.0) (-1248.0 / 40.0) -(-312.0 / 40.0) (1248.0 / 40.0) -(312.0 / 40.0) (-1248.0 / 40.0) -0.0 0.0 0.0 -120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) -123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 (8100.0 / 8100.0) -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -g Q 2 -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 diff --git a/Test/comp/Numbers.dfy.go.expect b/Test/comp/Numbers.dfy.go.expect new file mode 100644 index 00000000000..ce109553619 --- /dev/null +++ b/Test/comp/Numbers.dfy.go.expect @@ -0,0 +1,111 @@ +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +g Q 2 +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 diff --git a/Test/comp/Numbers.dfy.py.expect b/Test/comp/Numbers.dfy.py.expect new file mode 100644 index 00000000000..ce109553619 --- /dev/null +++ b/Test/comp/Numbers.dfy.py.expect @@ -0,0 +1,111 @@ +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +g Q 2 +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 diff --git a/Test/comp/Poly.dfy b/Test/comp/Poly.dfy index f3c3aa58599..5af5e8134e9 100644 --- a/Test/comp/Poly.dfy +++ b/Test/comp/Poly.dfy @@ -1,10 +1,5 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation trait Shape { function Center(): (real, real) reads this diff --git a/Test/comp/Poly.dfy.expect b/Test/comp/Poly.dfy.expect index 4ffff82d5ab..7dc24821586 100644 --- a/Test/comp/Poly.dfy.expect +++ b/Test/comp/Poly.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 15 verified, 0 errors - -Dafny program verifier did not attempt verification Center of square: ((1.0 / 2.0), (1.0 / 2.0)) Center of circle: (1.0, 1.0) Center: ((1.0 / 2.0), (1.0 / 2.0)) @@ -14,59 +10,3 @@ Center: ((1.0 / 2.0), (1.0 / 2.0)) Center: (1.0, 1.0) Center: ((1.0 / 2.0), (1.0 / 2.0)) Center: (1.0, 1.0) - -Dafny program verifier did not attempt verification -Center of square: ((1.0 / 2.0), (1.0 / 2.0)) -Center of circle: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) - -Dafny program verifier did not attempt verification -Center of square: ((1.0 / 2.0), (1.0 / 2.0)) -Center of circle: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) - -Dafny program verifier did not attempt verification -Center of square: (0.5, 0.5) -Center of circle: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) - -Dafny program verifier did not attempt verification -Center of square: (0.5, 0.5) -Center of circle: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) diff --git a/Test/comp/Poly.dfy.go.expect b/Test/comp/Poly.dfy.go.expect new file mode 100644 index 00000000000..88e09c5e6ff --- /dev/null +++ b/Test/comp/Poly.dfy.go.expect @@ -0,0 +1,12 @@ +Center of square: (0.5, 0.5) +Center of circle: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) diff --git a/Test/comp/Poly.dfy.py.expect b/Test/comp/Poly.dfy.py.expect new file mode 100644 index 00000000000..88e09c5e6ff --- /dev/null +++ b/Test/comp/Poly.dfy.py.expect @@ -0,0 +1,12 @@ +Center of square: (0.5, 0.5) +Center of circle: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) diff --git a/Test/comp/StaticMembersOfGenericTypes.dfy b/Test/comp/StaticMembersOfGenericTypes.dfy index 8c402dab951..8a8614d21a5 100644 --- a/Test/comp/StaticMembersOfGenericTypes.dfy +++ b/Test/comp/StaticMembersOfGenericTypes.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { GenericClass(); diff --git a/Test/comp/StaticMembersOfGenericTypes.dfy.expect b/Test/comp/StaticMembersOfGenericTypes.dfy.expect index 54e32b42ee5..196f1295e12 100644 --- a/Test/comp/StaticMembersOfGenericTypes.dfy.expect +++ b/Test/comp/StaticMembersOfGenericTypes.dfy.expect @@ -1,79 +1,3 @@ - -Dafny program verifier finished with 9 verified, 0 errors - -Dafny program verifier did not attempt verification -(0, 1) (true, 2, 3) -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -(2.0, true) (3.0, false) -(2.0, true) (3.0, false) -true false -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -50 3 4 -149 - -Dafny program verifier did not attempt verification -(0, 1) (true, 2, 3) -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -(2.0, true) (3.0, false) -(2.0, true) (3.0, false) -true false -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -50 3 4 -149 - -Dafny program verifier did not attempt verification -(0, 1) (true, 2, 3) -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -(2.0, true) (3.0, false) -(2.0, true) (3.0, false) -true false -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -50 3 4 -149 - -Dafny program verifier did not attempt verification -(0, 1) (true, 2, 3) -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -(2.0, true) (3.0, false) -(2.0, true) (3.0, false) -true false -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -50 3 4 -149 - -Dafny program verifier did not attempt verification (0, 1) (true, 2, 3) 0 25 (20, 21) (20, 21) 23 22 0 25 (20, 21) (20, 21) 23 22 diff --git a/Test/comp/TailRecursion.dfy b/Test/comp/TailRecursion.dfy index 68ba6ee4669..b3631d5eccc 100644 --- a/Test/comp/TailRecursion.dfy +++ b/Test/comp/TailRecursion.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { // In the following, 2_000_000 is too large an argument without tail-calls diff --git a/Test/comp/TailRecursion.dfy.expect b/Test/comp/TailRecursion.dfy.expect index 23c852a41fe..4b9da7e5093 100644 --- a/Test/comp/TailRecursion.dfy.expect +++ b/Test/comp/TailRecursion.dfy.expect @@ -1,79 +1,3 @@ - -Dafny program verifier finished with 28 verified, 0 errors - -Dafny program verifier did not attempt verification -2000000 2000000 -2000000 2000000 -1000000 1000000 -10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 -TriangleNumber(10) = 55 -TriangleNumber_Real(10) = 55.0 -TriangleNumber_ORDINAL(10) = 55 -Factorial(5) = 120 -Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] -UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] -Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 -TheBigSubtract(100) = -12 -TailNat(10) = 50 -17 17 17 -2000000 - -Dafny program verifier did not attempt verification -2000000 2000000 -2000000 2000000 -1000000 1000000 -10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 -TriangleNumber(10) = 55 -TriangleNumber_Real(10) = 55.0 -TriangleNumber_ORDINAL(10) = 55 -Factorial(5) = 120 -Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] -UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] -Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 -TheBigSubtract(100) = -12 -TailNat(10) = 50 -17 17 17 -2000000 - -Dafny program verifier did not attempt verification -2000000 2000000 -2000000 2000000 -1000000 1000000 -10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 -TriangleNumber(10) = 55 -TriangleNumber_Real(10) = 55.0 -TriangleNumber_ORDINAL(10) = 55 -Factorial(5) = 120 -Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] -UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] -Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 -TheBigSubtract(100) = -12 -TailNat(10) = 50 -17 17 17 -2000000 - -Dafny program verifier did not attempt verification -2000000 2000000 -2000000 2000000 -1000000 1000000 -10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 -TriangleNumber(10) = 55 -TriangleNumber_Real(10) = 55.0 -TriangleNumber_ORDINAL(10) = 55 -Factorial(5) = 120 -Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] -UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] -Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 -TheBigSubtract(100) = -12 -TailNat(10) = 50 -17 17 17 -2000000 - -Dafny program verifier did not attempt verification 2000000 2000000 2000000 2000000 1000000 1000000 diff --git a/Test/comp/TypeDescriptors.dfy b/Test/comp/TypeDescriptors.dfy index 636cb3db583..5bedbb900e4 100644 --- a/Test/comp/TypeDescriptors.dfy +++ b/Test/comp/TypeDescriptors.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Method(s: string, g: G) { var zero: G; diff --git a/Test/comp/TypeDescriptors.dfy.expect b/Test/comp/TypeDescriptors.dfy.expect index 9b1e8487bdc..1b09338c83d 100644 --- a/Test/comp/TypeDescriptors.dfy.expect +++ b/Test/comp/TypeDescriptors.dfy.expect @@ -1,155 +1,3 @@ - -Dafny program verifier finished with 11 verified, 0 errors - -Dafny program verifier did not attempt verification -int: 8 0 -bool: true false -char: 'r' 'D' -real: 1.618 0.0 -ORDINAL: 0 -bv0: 0 0 -bv21: 121 0 -bv32: 132 0 -bv191: 191 0 -set: {7} {} -multiset: multiset{7, 7} multiset{} -seq: [7] [] -map: map[2 := 7] map[] -pos: 3 1 -Hundred: 6 0 -HundredOdd: 13 19 -JustOdd: 131 5 -(): () () -(int, real): (2, 3.2) (0, 0.0) -(int, pos): (2, 3) (0, 1) -AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) -Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) -Stream: Stream.More -A=int: 15 0 -B=int: 16 0 -datatype.B=: {14} {} -object?: null -Class?>: null -Trait?>: null -array?: null -array2?: null -int --> bool: null -array? ~> bool: null - -Dafny program verifier did not attempt verification -int: 8 0 -bool: true false -char: 'r' 'D' -real: 1.618 0.0 -ORDINAL: 0 -bv0: 0 0 -bv21: 121 0 -bv32: 132 0 -bv191: 191 0 -set: {7} {} -multiset: multiset{7, 7} multiset{} -seq: [7] [] -map: map[2 := 7] map[] -pos: 3 1 -Hundred: 6 0 -HundredOdd: 13 19 -JustOdd: 131 5 -(): () () -(int, real): (2, 3.2) (0, 0.0) -(int, pos): (2, 3) (0, 1) -AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) -Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) -Stream: Stream.More -A=int: 15 0 -B=int: 16 0 -datatype.B=: {14} {} -object?: null -Class?>: null -Trait?>: null -array?: null -array2?: null -int --> bool: null -array? ~> bool: null - -Dafny program verifier did not attempt verification -int: 8 0 -bool: true false -char: 'r' 'D' -real: 1.618 0.0 -ORDINAL: 0 -bv0: 0 0 -bv21: 121 0 -bv32: 132 0 -bv191: 191 0 -set: {7} {} -multiset: multiset{7, 7} multiset{} -seq: [7] [] -map: map[2 := 7] map[] -pos: 3 1 -Hundred: 6 0 -HundredOdd: 13 19 -JustOdd: 131 5 -(): () () -(int, real): (2, 3.2) (0, 0.0) -(int, pos): (2, 3) (0, 1) -AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) -Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) -Stream: Stream.More -A=int: 15 0 -B=int: 16 0 -datatype.B=: {14} {} -object?: null -Class?>: null -Trait?>: null -array?: null -array2?: null -int --> bool: null -array? ~> bool: null - -Dafny program verifier did not attempt verification -int: 8 0 -bool: true false -char: 'r' 'D' -real: 1.618 0.0 -ORDINAL: 0 -bv0: 0 0 -bv21: 121 0 -bv32: 132 0 -bv191: 191 0 -set: {7} {} -multiset: multiset{7, 7} multiset{} -seq: [7] [] -map: map[2 := 7] map[] -pos: 3 1 -Hundred: 6 0 -HundredOdd: 13 19 -JustOdd: 131 5 -(): () () -(int, real): (2, 3.2) (0, 0.0) -(int, pos): (2, 3) (0, 1) -AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) -Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) -Stream: Stream.More -A=int: 15 0 -B=int: 16 0 -datatype.B=: {14} {} -object?: null -Class?>: null -Trait?>: null -array?: null -array2?: null -int --> bool: null -array? ~> bool: null - -Dafny program verifier did not attempt verification int: 8 0 bool: true false char: 'r' 'D' diff --git a/Test/comp/TypeParams.dfy b/Test/comp/TypeParams.dfy index 11d1b3bac6a..c595881e028 100644 --- a/Test/comp/TypeParams.dfy +++ b/Test/comp/TypeParams.dfy @@ -1,11 +1,6 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" - -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation + datatype Color = Orange | Pink | Teal type Six = x | x <= 6 diff --git a/Test/comp/TypeParams.dfy.expect b/Test/comp/TypeParams.dfy.expect index ac8ef1c58e5..1381a030f65 100644 --- a/Test/comp/TypeParams.dfy.expect +++ b/Test/comp/TypeParams.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 17 verified, 0 errors - -Dafny program verifier did not attempt verification 0 0 0 false Color.Orange 0.0 {} Color.Orange null null null null null {} multiset{} [] map[] {} map[] @@ -21,87 +17,3 @@ System.Func`2[Dafny.BigRational,System.Boolean] System.Func`1[System.Numerics.BigInteger] System.Func`3[_module._IColor,Dafny.ISet`1[System.UInt16],System.UInt32] 0 0 - -Dafny program verifier did not attempt verification -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -function () { return false; } -function () { return _dafny.ZERO; } -function () { return _dafny.ZERO; } -0 0 - -Dafny program verifier did not attempt verification -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -func(dafny.Real) bool -func() dafny.Int -func(main.Color, dafny.Set) uint32 -0 0 - -Dafny program verifier did not attempt verification -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -Function -Function -Function -0 0 - -Dafny program verifier did not attempt verification -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -Function -Function -Function -0 0 diff --git a/Test/comp/TypeParams.dfy.go.expect b/Test/comp/TypeParams.dfy.go.expect new file mode 100644 index 00000000000..e3a8e67d066 --- /dev/null +++ b/Test/comp/TypeParams.dfy.go.expect @@ -0,0 +1,19 @@ +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +func(dafny.Real) bool +func() dafny.Int +func(main.Color, dafny.Set) uint32 +0 0 diff --git a/Test/comp/TypeParams.dfy.java.expect b/Test/comp/TypeParams.dfy.java.expect new file mode 100644 index 00000000000..5f843ba06d1 --- /dev/null +++ b/Test/comp/TypeParams.dfy.java.expect @@ -0,0 +1,19 @@ +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +Function +Function +Function +0 0 diff --git a/Test/comp/TypeParams.dfy.js.expect b/Test/comp/TypeParams.dfy.js.expect new file mode 100644 index 00000000000..865c33ea48b --- /dev/null +++ b/Test/comp/TypeParams.dfy.js.expect @@ -0,0 +1,19 @@ +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +function () { return false; } +function () { return _dafny.ZERO; } +function () { return _dafny.ZERO; } +0 0 diff --git a/Test/comp/TypeParams.dfy.py.expect b/Test/comp/TypeParams.dfy.py.expect new file mode 100644 index 00000000000..5f843ba06d1 --- /dev/null +++ b/Test/comp/TypeParams.dfy.py.expect @@ -0,0 +1,19 @@ +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +Function +Function +Function +0 0 diff --git a/Test/comp/UnoptimizedErasableTypeWrappers.dfy b/Test/comp/UnoptimizedErasableTypeWrappers.dfy index 58f0682ed41..b7911aed9db 100644 --- a/Test/comp/UnoptimizedErasableTypeWrappers.dfy +++ b/Test/comp/UnoptimizedErasableTypeWrappers.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --optimize-erasable-datatype-wrapper:false --relax-definite-assignment --spill-translation datatype SingletonRecord = SingletonRecord(u: int) datatype WithGhost = WithGhost(u: int, ghost v: int) diff --git a/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect b/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect index be1d7190b0f..3371376a52b 100644 --- a/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect +++ b/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect @@ -1,31 +1,3 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification -SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) -() (30) (31) (30, 32) -15 20 -30 31 30 32 - -Dafny program verifier did not attempt verification -SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) -() (30) (31) (30, 32) -15 20 -30 31 30 32 - -Dafny program verifier did not attempt verification -SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) -() (30) (31) (30, 32) -15 20 -30 31 30 32 - -Dafny program verifier did not attempt verification -SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) -() (30) (31) (30, 32) -15 20 -30 31 30 32 - -Dafny program verifier did not attempt verification SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) () (30) (31) (30, 32) 15 20 diff --git a/Test/comp/Variance.dfy b/Test/comp/Variance.dfy index 6c198495209..ddcde6cd7d7 100644 --- a/Test/comp/Variance.dfy +++ b/Test/comp/Variance.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 /deprecation:0 "%s" > "%t" -// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --warn-deprecation:false datatype Co<+T> = Co(z: T) { const x: int; diff --git a/Test/comp/Variance.dfy.expect b/Test/comp/Variance.dfy.expect index cf08d82ac07..5bb565b6bb4 100644 --- a/Test/comp/Variance.dfy.expect +++ b/Test/comp/Variance.dfy.expect @@ -1,67 +1,3 @@ - -Dafny program verifier finished with 13 verified, 0 errors - -Dafny program verifier did not attempt verification -Co.Co(_module.Int) and Co.Co(_module.Int) -true0[]0000 -Non.Non(_module.Int) and Non.Non(_module.Int) -true0[]0000 -0 and 0 -_module.Int0[]0000 -CCo.CCo and CCo.CCo -true0[]0000 -CNon.CNon and CNon.CNon -true0[]0000 -CCon.CCon and CCon.CCon -_module.Int0[]0000 -Done - -Dafny program verifier did not attempt verification -Co.Co(_module.Int) and Co.Co(_module.Int) -true0[]0000 -Non.Non(_module.Int) and Non.Non(_module.Int) -true0[]0000 -0 and 0 -_module.Int0[]0000 -CCo.CCo and CCo.CCo -true0[]0000 -CNon.CNon and CNon.CNon -true0[]0000 -CCon.CCon and CCon.CCon -_module.Int0[]0000 -Done - -Dafny program verifier did not attempt verification -Co.Co(_module.Int) and Co.Co(_module.Int) -true0[]0000 -Non.Non(_module.Int) and Non.Non(_module.Int) -true0[]0000 -0 and 0 -_module.Int0[]0000 -CCo.CCo and CCo.CCo -true0[]0000 -CNon.CNon and CNon.CNon -true0[]0000 -CCon.CCon and CCon.CCon -_module.Int0[]0000 -Done - -Dafny program verifier did not attempt verification -Co.Co(_module.Int) and Co.Co(_module.Int) -true0[]0000 -Non.Non(_module.Int) and Non.Non(_module.Int) -true0[]0000 -0 and 0 -_module.Int0[]0000 -CCo.CCo and CCo.CCo -true0[]0000 -CNon.CNon and CNon.CNon -true0[]0000 -CCon.CCon and CCon.CCon -_module.Int0[]0000 -Done - -Dafny program verifier did not attempt verification Co.Co(_module.Int) and Co.Co(_module.Int) true0[]0000 Non.Non(_module.Int) and Non.Non(_module.Int) diff --git a/Test/comp/Various.dfy b/Test/comp/Various.dfy index 1f29c511a83..502801e4c2a 100644 --- a/Test/comp/Various.dfy +++ b/Test/comp/Various.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Match(tp: (nat, nat)) { match tp diff --git a/Test/comp/Various.dfy.expect b/Test/comp/Various.dfy.expect index 502e2d04792..66f013c00f7 100644 --- a/Test/comp/Various.dfy.expect +++ b/Test/comp/Various.dfy.expect @@ -1,43 +1,3 @@ - -Dafny program verifier finished with 4 verified, 0 errors - -Dafny program verifier did not attempt verification -match -1 -Kablammo!! -0 -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] - -Dafny program verifier did not attempt verification -match -1 -Kablammo!! -0 -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] - -Dafny program verifier did not attempt verification -match -1 -Kablammo!! -0 -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] - -Dafny program verifier did not attempt verification -match -1 -Kablammo!! -0 -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] - -Dafny program verifier did not attempt verification match 1 Kablammo!! diff --git a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy index 10fe57dec8f..2cf77360cab 100644 --- a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy +++ b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // An extremely small program intended to be the first target input for // brand new Dafny compilers. Avoids any use of strings (and therefore sequences) diff --git a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect index e1dcaef650b..f32a5804e29 100644 --- a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect +++ b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect @@ -1,5 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification true \ No newline at end of file diff --git a/Test/comp/firstSteps/1_Calls-F.dfy b/Test/comp/firstSteps/1_Calls-F.dfy index 32566f59f3b..4fe5b83e551 100644 --- a/Test/comp/firstSteps/1_Calls-F.dfy +++ b/Test/comp/firstSteps/1_Calls-F.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/1_Calls-F.dfy.expect b/Test/comp/firstSteps/1_Calls-F.dfy.expect index 58e0a68ec1c..7ed6ff82de6 100644 --- a/Test/comp/firstSteps/1_Calls-F.dfy.expect +++ b/Test/comp/firstSteps/1_Calls-F.dfy.expect @@ -1,5 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification 5 diff --git a/Test/comp/firstSteps/2_Modules.dfy b/Test/comp/firstSteps/2_Modules.dfy index 750b8d60c21..d0effcb5a71 100644 --- a/Test/comp/firstSteps/2_Modules.dfy +++ b/Test/comp/firstSteps/2_Modules.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module A { const i: nat := 1 diff --git a/Test/comp/firstSteps/2_Modules.dfy.expect b/Test/comp/firstSteps/2_Modules.dfy.expect index 9a4b57459c7..b85905ec0b9 100644 --- a/Test/comp/firstSteps/2_Modules.dfy.expect +++ b/Test/comp/firstSteps/2_Modules.dfy.expect @@ -1,5 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification 1 2 3 diff --git a/Test/comp/firstSteps/3_Calls-As.dfy b/Test/comp/firstSteps/3_Calls-As.dfy index f22bbdbd3f6..38889421865 100644 --- a/Test/comp/firstSteps/3_Calls-As.dfy +++ b/Test/comp/firstSteps/3_Calls-As.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/3_Calls-As.dfy.expect b/Test/comp/firstSteps/3_Calls-As.dfy.expect index eea6c52592c..a1c59bb761f 100644 --- a/Test/comp/firstSteps/3_Calls-As.dfy.expect +++ b/Test/comp/firstSteps/3_Calls-As.dfy.expect @@ -1,5 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification 0 0 false 0 false 0 diff --git a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy index 89fb669dca0..6a66781ff0d 100644 --- a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy +++ b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect index e7498a27e3e..a8d09f0a6f5 100644 --- a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect +++ b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect @@ -1,6 +1,2 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification 5 3 5 3 5 3 5 3 diff --git a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy index 096523f8956..1175b1eca8f 100644 --- a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy +++ b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect index 8954da2b386..ef3de96e567 100644 --- a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect +++ b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect @@ -1,6 +1,2 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification 5 3 5 3 diff --git a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy index 1fbaebdf4e9..5d970ac4de5 100644 --- a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy +++ b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect index b6ffe78bcbb..4ff62e33956 100644 --- a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect +++ b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 4 verified, 0 errors - -Dafny program verifier did not attempt verification 15 [0, 1, 2, 4] [0, 2, 4] diff --git a/Test/comp/firstSteps/7_Arrays.dfy b/Test/comp/firstSteps/7_Arrays.dfy index 07ddf89594b..d02c942c9bb 100644 --- a/Test/comp/firstSteps/7_Arrays.dfy +++ b/Test/comp/firstSteps/7_Arrays.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Arrays.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/7_Arrays.dfy.expect b/Test/comp/firstSteps/7_Arrays.dfy.expect index 75e824c80bb..fa00285c692 100644 --- a/Test/comp/firstSteps/7_Arrays.dfy.expect +++ b/Test/comp/firstSteps/7_Arrays.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 7 verified, 0 errors - -Dafny program verifier did not attempt verification 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/comp/firstSteps/7_Dt_Algebraic.dfy b/Test/comp/firstSteps/7_Dt_Algebraic.dfy index 991462d8bdf..46a2995b37f 100644 --- a/Test/comp/firstSteps/7_Dt_Algebraic.dfy +++ b/Test/comp/firstSteps/7_Dt_Algebraic.dfy @@ -1,7 +1,5 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Dt.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect new file mode 100644 index 00000000000..ba1b72ea6f7 --- /dev/null +++ b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect @@ -0,0 +1,11 @@ +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} +42 'q' hello +1701 diff --git a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect index ec9b49fe420..e3ff7faba6e 100644 --- a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect +++ b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 7 verified, 0 errors - -Dafny program verifier did not attempt verification List.Nil List.Cons(5, List.Nil) (List.Nil, List.Cons(5, List.Nil)) @@ -13,16 +9,3 @@ List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, Li {Berry.Hallon, Berry.Smultron, Berry.Jordgubb} 42 'q' hello 1701 - -Dafny program verifier did not attempt verification -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} -42 'q' hello -1701 diff --git a/Test/dafny0/ArrayElementInitCompile.dfy b/Test/dafny0/ArrayElementInitCompile.dfy index 7d652486b9e..3714cf0fe8e 100644 --- a/Test/dafny0/ArrayElementInitCompile.dfy +++ b/Test/dafny0/ArrayElementInitCompile.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 /print:"%t.print" /rprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false method Main() { diff --git a/Test/dafny0/ArrayElementInitCompile.dfy.expect b/Test/dafny0/ArrayElementInitCompile.dfy.expect index a5241c75f19..eaa3e759999 100644 --- a/Test/dafny0/ArrayElementInitCompile.dfy.expect +++ b/Test/dafny0/ArrayElementInitCompile.dfy.expect @@ -1,79 +1,3 @@ - -Dafny program verifier finished with 18 verified, 0 errors - -Dafny program verifier did not attempt verification -67 67 67 67 67 67 67 67 -0 1 2 3 -1 2 3 4 -2 3 4 5 -3 4 5 6 -4 5 6 7 -O . O . O . O . O . O . -12 12 12 12 12 12 12 12 12 12 12 12 -D E -y z -4 3 -7 -100 75 98 25 - -looks like this rocks --2 -1 0 1 2 3 4 - -Dafny program verifier did not attempt verification -67 67 67 67 67 67 67 67 -0 1 2 3 -1 2 3 4 -2 3 4 5 -3 4 5 6 -4 5 6 7 -O . O . O . O . O . O . -12 12 12 12 12 12 12 12 12 12 12 12 -D E -y z -4 3 -7 -100 75 98 25 - -looks like this rocks --2 -1 0 1 2 3 4 - -Dafny program verifier did not attempt verification -67 67 67 67 67 67 67 67 -0 1 2 3 -1 2 3 4 -2 3 4 5 -3 4 5 6 -4 5 6 7 -O . O . O . O . O . O . -12 12 12 12 12 12 12 12 12 12 12 12 -D E -y z -4 3 -7 -100 75 98 25 - -looks like this rocks --2 -1 0 1 2 3 4 - -Dafny program verifier did not attempt verification -67 67 67 67 67 67 67 67 -0 1 2 3 -1 2 3 4 -2 3 4 5 -3 4 5 6 -4 5 6 7 -O . O . O . O . O . O . -12 12 12 12 12 12 12 12 12 12 12 12 -D E -y z -4 3 -7 -100 75 98 25 - -looks like this rocks --2 -1 0 1 2 3 4 - -Dafny program verifier did not attempt verification 67 67 67 67 67 67 67 67 0 1 2 3 1 2 3 4 diff --git a/Test/dafny0/Bitvectors.dfy b/Test/dafny0/Bitvectors.dfy index 6e0c9270b99..4c8e1094455 100644 --- a/Test/dafny0/Bitvectors.dfy +++ b/Test/dafny0/Bitvectors.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /print:"%t.print" /env:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Note the difference in Java output is due to // https://github.com/dafny-lang/dafny/issues/4152 diff --git a/Test/dafny0/Bitvectors.dfy.expect b/Test/dafny0/Bitvectors.dfy.expect index 51fda88f97b..ed1c7328e83 100644 --- a/Test/dafny0/Bitvectors.dfy.expect +++ b/Test/dafny0/Bitvectors.dfy.expect @@ -1,52 +1,3 @@ - -Dafny program verifier finished with 11 verified, 0 errors - -Dafny program verifier did not attempt verification -4000 4000 4000 0 -1 2053 1099 -185 55 -2 4 -Comparisons: true true false false -bv16: 5 - 2 == 3 -bv16: 1 - 2 == 65535 -3 2 -0 0 -false true true false -bv67: 147573952589676412927 + 3 == 2 - 3 == 147573952589676412925 !! 3 == ! 147573952589676412924 == 3 -bv64: 18446744073709551615 + 3 == 2 - 3 == 18446744073709551613 !! 3 == ! 18446744073709551612 == 3 -bv53: 9007199254740991 + 3 == 2 - 3 == 9007199254740989 !! 3 == ! 9007199254740988 == 3 -bv33: 8589934591 + 3 == 2 - 3 == 8589934589 !! 3 == ! 8589934588 == 3 -bv32: 4294967295 + 3 == 2 - 3 == 4294967293 !! 3 == ! 4294967292 == 3 -bv31: 2147483647 + 3 == 2 - 3 == 2147483645 !! 3 == ! 2147483644 == 3 -bv16: 65535 + 3 == 2 - 3 == 65533 !! 3 == ! 65532 == 3 -bv15: 32767 + 3 == 2 - 3 == 32765 !! 3 == ! 32764 == 3 -bv8: 255 + 3 == 2 - 3 == 253 !! 3 == ! 252 == 3 -bv6: 63 + 3 == 2 - 3 == 61 !! 3 == ! 60 == 3 -bv1: 1 + 1 == 0 - 1 == 1 !! 1 == ! 0 == 1 -bv0: 0 + 0 == 0 - 0 == 0 !! 0 == ! 0 == 0 -bv2: - 3 + 2 == 1 - 3 - 2 == 1 - 3 * 2 == 2 - 3 / 2 == 1 - 3 % 2 == 1 -PrintShifts: bv67: 5 40 40 40 -PrintShifts: bv32: 5 40 40 40 -PrintShifts: bv7: 5 40 40 40 -PrintShifts: bv2: 1 2 2 2 -PrintShifts: bv0: 0 0 0 0 -PrintShifts: bv67 again: 2 2 2 73786976294838206465 -PrintShifts: bv32 again: 8000 8000 2147487648 3221227472 -PrintShifts: bv7 again: 124 124 124 127 -PrintShifts: bv0 again: 0 0 0 0 -PrintRotates: bv12: 5 5 -PrintRotates: bv7: 5 5 -PrintRotates: bv2: 1 1 -PrintRotates: bv0: 0 0 -PrintRotates: bv12 again: 976 976 -PrintRotates: bv7 again: 127 127 - -Dafny program verifier did not attempt verification 4000 4000 4000 0 1 2053 1099 185 55 diff --git a/Test/dafny0/Constant.dfy b/Test/dafny0/Constant.dfy index f021e7d4482..1fdeedc3335 100644 --- a/Test/dafny0/Constant.dfy +++ b/Test/dafny0/Constant.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment const one:int := 1 const two:int := one * 2 diff --git a/Test/dafny0/Constant.dfy.expect b/Test/dafny0/Constant.dfy.expect index 6099b08c38c..1a7b981715f 100644 --- a/Test/dafny0/Constant.dfy.expect +++ b/Test/dafny0/Constant.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 17 verified, 0 errors one := 1 two := 2 three := 3 diff --git a/Test/dafny0/Deprecation.dfy b/Test/dafny0/Deprecation.dfy index 8c9c688d463..86521043d43 100644 --- a/Test/dafny0/Deprecation.dfy +++ b/Test/dafny0/Deprecation.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This file contains tests for messags about various deprecated features. // As those features go away completely, so can the corresponding tests. diff --git a/Test/dafny0/Deprecation.dfy.expect b/Test/dafny0/Deprecation.dfy.expect index 4ff88d31ade..0dffd975ac7 100644 --- a/Test/dafny0/Deprecation.dfy.expect +++ b/Test/dafny0/Deprecation.dfy.expect @@ -1,8 +1 @@ -Deprecation.dfy(16,13): Warning: constructors no longer need 'this' to be listed in modifies clauses -Deprecation.dfy(23,0): Warning: the old keyword phrase 'inductive predicate' has been renamed to 'least predicate' -Deprecation.dfy(26,0): Warning: the old keyword 'copredicate' has been renamed to the keyword phrase 'greatest predicate' -Deprecation.dfy(29,0): Warning: the old keyword phrase 'inductive lemma' has been renamed to 'least lemma' -Deprecation.dfy(32,0): Warning: the old keyword 'colemma' has been renamed to the keyword phrase 'greatest lemma' - -Dafny program verifier finished with 0 verified, 0 errors yet here we are diff --git a/Test/dafny0/Deprecation.dfy.verifier.expect b/Test/dafny0/Deprecation.dfy.verifier.expect new file mode 100644 index 00000000000..c0851e9888c --- /dev/null +++ b/Test/dafny0/Deprecation.dfy.verifier.expect @@ -0,0 +1,5 @@ +Deprecation.dfy(15,13): Warning: constructors no longer need 'this' to be listed in modifies clauses +Deprecation.dfy(22,0): Warning: the old keyword phrase 'inductive predicate' has been renamed to 'least predicate' +Deprecation.dfy(25,0): Warning: the old keyword 'copredicate' has been renamed to the keyword phrase 'greatest predicate' +Deprecation.dfy(28,0): Warning: the old keyword phrase 'inductive lemma' has been renamed to 'least lemma' +Deprecation.dfy(31,0): Warning: the old keyword 'colemma' has been renamed to the keyword phrase 'greatest lemma' diff --git a/Test/dafny0/DiscoverBounds.dfy b/Test/dafny0/DiscoverBounds.dfy index 31f9717ee79..18e56158613 100644 --- a/Test/dafny0/DiscoverBounds.dfy +++ b/Test/dafny0/DiscoverBounds.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /print:"%t.print" /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment newtype NT = x | 0 <= x < 100 newtype UT = NT diff --git a/Test/dafny0/DiscoverBounds.dfy.expect b/Test/dafny0/DiscoverBounds.dfy.expect index e43954c7be1..909a58326d0 100644 --- a/Test/dafny0/DiscoverBounds.dfy.expect +++ b/Test/dafny0/DiscoverBounds.dfy.expect @@ -1,10 +1,3 @@ -DiscoverBounds.dfy(32,7): Warning: /!\ No terms found to trigger on. -DiscoverBounds.dfy(33,7): Warning: /!\ No terms found to trigger on. -DiscoverBounds.dfy(34,7): Warning: /!\ No terms found to trigger on. -DiscoverBounds.dfy(35,7): Warning: /!\ No terms found to trigger on. -DiscoverBounds.dfy(36,7): Warning: /!\ No terms found to trigger on. - -Dafny program verifier finished with 7 verified, 0 errors 0 0 -2 diff --git a/Test/dafny0/DiscoverBounds.dfy.verifier.expect b/Test/dafny0/DiscoverBounds.dfy.verifier.expect new file mode 100644 index 00000000000..7c4de01ee0e --- /dev/null +++ b/Test/dafny0/DiscoverBounds.dfy.verifier.expect @@ -0,0 +1,5 @@ +DiscoverBounds.dfy(31,7): Warning: /!\ No terms found to trigger on. +DiscoverBounds.dfy(32,7): Warning: /!\ No terms found to trigger on. +DiscoverBounds.dfy(33,7): Warning: /!\ No terms found to trigger on. +DiscoverBounds.dfy(34,7): Warning: /!\ No terms found to trigger on. +DiscoverBounds.dfy(35,7): Warning: /!\ No terms found to trigger on. diff --git a/Test/dafny0/DividedConstructors.dfy b/Test/dafny0/DividedConstructors.dfy index 169bf4ee7df..e6f63a35f11 100644 --- a/Test/dafny0/DividedConstructors.dfy +++ b/Test/dafny0/DividedConstructors.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /env:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var m := new M0.MyClass.Init(20); diff --git a/Test/dafny0/DividedConstructors.dfy.expect b/Test/dafny0/DividedConstructors.dfy.expect index eaa3ed7d379..2dcc1ba6402 100644 --- a/Test/dafny0/DividedConstructors.dfy.expect +++ b/Test/dafny0/DividedConstructors.dfy.expect @@ -1,5 +1,2 @@ -DividedConstructors.dfy(62,9): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier finished with 17 verified, 0 errors 37, 17, 3.14 false, true diff --git a/Test/dafny0/DividedConstructors.dfy.verifier.expect b/Test/dafny0/DividedConstructors.dfy.verifier.expect new file mode 100644 index 00000000000..f3fdfadddbf --- /dev/null +++ b/Test/dafny0/DividedConstructors.dfy.verifier.expect @@ -0,0 +1 @@ +DividedConstructors.dfy(61,9): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny0/EqualityTypesCompile.dfy b/Test/dafny0/EqualityTypesCompile.dfy index de7954710e9..a36d1818c1d 100644 --- a/Test/dafny0/EqualityTypesCompile.dfy +++ b/Test/dafny0/EqualityTypesCompile.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype List = Nil | Cons(A, List) | ICons(int, List) datatype TwoLists = Two(List, List) diff --git a/Test/dafny0/EqualityTypesCompile.dfy.expect b/Test/dafny0/EqualityTypesCompile.dfy.expect index d2f1950e7f7..0246dc39633 100644 --- a/Test/dafny0/EqualityTypesCompile.dfy.expect +++ b/Test/dafny0/EqualityTypesCompile.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors from M: false from N: false from H: false diff --git a/Test/dafny0/ForallCompilationNewSyntax.dfy b/Test/dafny0/ForallCompilationNewSyntax.dfy index b7132df78ae..ac354d6338c 100644 --- a/Test/dafny0/ForallCompilationNewSyntax.dfy +++ b/Test/dafny0/ForallCompilationNewSyntax.dfy @@ -1,5 +1,4 @@ -// RUN: %baredafny run %args --relax-definite-assignment --quantifier-syntax:4 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --quantifier-syntax:4 --relax-definite-assignment method Main() { var c := new MyClass; diff --git a/Test/dafny0/ForallCompilationNewSyntax.dfy.expect b/Test/dafny0/ForallCompilationNewSyntax.dfy.expect index 5b7ec4613bb..e69de29bb2d 100644 --- a/Test/dafny0/ForallCompilationNewSyntax.dfy.expect +++ b/Test/dafny0/ForallCompilationNewSyntax.dfy.expect @@ -1,6 +0,0 @@ -ForallCompilationNewSyntax.dfy(26,4): Warning: /!\ No terms found to trigger on. -ForallCompilationNewSyntax.dfy(35,4): Warning: /!\ No terms found to trigger on. -ForallCompilationNewSyntax.dfy(44,4): Warning: /!\ No terms found to trigger on. -ForallCompilationNewSyntax.dfy(64,4): Warning: /!\ No trigger covering all quantified variables found. - -Dafny program verifier finished with 14 verified, 0 errors diff --git a/Test/dafny0/ForallCompilationNewSyntax.dfy.verifier.expect b/Test/dafny0/ForallCompilationNewSyntax.dfy.verifier.expect new file mode 100644 index 00000000000..a94cd5ea608 --- /dev/null +++ b/Test/dafny0/ForallCompilationNewSyntax.dfy.verifier.expect @@ -0,0 +1,4 @@ +ForallCompilationNewSyntax.dfy(25,4): Warning: /!\ No terms found to trigger on. +ForallCompilationNewSyntax.dfy(34,4): Warning: /!\ No terms found to trigger on. +ForallCompilationNewSyntax.dfy(43,4): Warning: /!\ No terms found to trigger on. +ForallCompilationNewSyntax.dfy(63,4): Warning: /!\ No trigger covering all quantified variables found. diff --git a/Test/dafny0/GhostGuards.dfy b/Test/dafny0/GhostGuards.dfy index b17c98662ce..16f039f3175 100644 --- a/Test/dafny0/GhostGuards.dfy +++ b/Test/dafny0/GhostGuards.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /printTooltips /rprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --show-tooltips datatype Dt = Green | Dog diff --git a/Test/dafny0/GhostGuards.dfy.expect b/Test/dafny0/GhostGuards.dfy.expect index 8bb8a71d69d..e69de29bb2d 100644 --- a/Test/dafny0/GhostGuards.dfy.expect +++ b/Test/dafny0/GhostGuards.dfy.expect @@ -1,7 +0,0 @@ -GhostGuards.dfy(12,9): Info: ghost if -GhostGuards.dfy(18,2): Info: ghost if -GhostGuards.dfy(28,2): Info: ghost while -GhostGuards.dfy(41,2): Info: ghost while -GhostGuards.dfy(54,2): Info: ghost match - -Dafny program verifier finished with 1 verified, 0 errors diff --git a/Test/dafny0/GhostGuards.dfy.verifier.expect b/Test/dafny0/GhostGuards.dfy.verifier.expect new file mode 100644 index 00000000000..7e2637d73bb --- /dev/null +++ b/Test/dafny0/GhostGuards.dfy.verifier.expect @@ -0,0 +1,5 @@ +GhostGuards.dfy(11,9): Info: ghost if +GhostGuards.dfy(17,2): Info: ghost if +GhostGuards.dfy(27,2): Info: ghost while +GhostGuards.dfy(40,2): Info: ghost while +GhostGuards.dfy(53,2): Info: ghost match diff --git a/Test/dafny0/GhostITECompilation.dfy b/Test/dafny0/GhostITECompilation.dfy index d761ddbc6ea..bd7cfa28a95 100644 --- a/Test/dafny0/GhostITECompilation.dfy +++ b/Test/dafny0/GhostITECompilation.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 /functionSyntax:4 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --function-syntax:4 --relax-definite-assignment function F(x: nat, ghost y: nat): nat { diff --git a/Test/dafny0/GhostITECompilation.dfy.expect b/Test/dafny0/GhostITECompilation.dfy.expect index 1ec406bf52c..b4988e5cf11 100644 --- a/Test/dafny0/GhostITECompilation.dfy.expect +++ b/Test/dafny0/GhostITECompilation.dfy.expect @@ -1,31 +1,3 @@ - -Dafny program verifier finished with 6 verified, 0 errors - -Dafny program verifier did not attempt verification -65 -65 -65 -65 - -Dafny program verifier did not attempt verification -65 -65 -65 -65 - -Dafny program verifier did not attempt verification -65 -65 -65 -65 - -Dafny program verifier did not attempt verification -65 -65 -65 -65 - -Dafny program verifier did not attempt verification 65 65 65 diff --git a/Test/dafny0/InitialValues.dfy b/Test/dafny0/InitialValues.dfy index 7dcb05cc9c9..0848d244d71 100644 --- a/Test/dafny0/InitialValues.dfy +++ b/Test/dafny0/InitialValues.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/dafny0/InitialValues.dfy.expect b/Test/dafny0/InitialValues.dfy.expect index ada1b783c16..18903dcc3dd 100644 --- a/Test/dafny0/InitialValues.dfy.expect +++ b/Test/dafny0/InitialValues.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 2 verified, 0 errors r= 0.0 s= 3.4 a= 0.0 b= 3.4 z= 0.0 a==z = true diff --git a/Test/dafny0/MatchBraces.dfy b/Test/dafny0/MatchBraces.dfy index ddd1924774b..4ac380f2739 100644 --- a/Test/dafny0/MatchBraces.dfy +++ b/Test/dafny0/MatchBraces.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /print:"%t.print" /env:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Color = Red | Green | Blue diff --git a/Test/dafny0/MatchBraces.dfy.expect b/Test/dafny0/MatchBraces.dfy.expect index 88f6cf4f56e..4f89bff47e5 100644 --- a/Test/dafny0/MatchBraces.dfy.expect +++ b/Test/dafny0/MatchBraces.dfy.expect @@ -1,10 +1,2 @@ - -Dafny program verifier finished with 5 verified, 0 errors - -Dafny program verifier did not attempt verification -7 0.18 Color.Red 13 12 -11 98.0 Color.Green 14 115 - -Dafny program verifier did not attempt verification 7 0.18 Color.Red 13 12 11 98.0 Color.Green 14 115 diff --git a/Test/dafny0/MoForallCompilation.dfy b/Test/dafny0/MoForallCompilation.dfy index 835712edbce..af080853463 100644 --- a/Test/dafny0/MoForallCompilation.dfy +++ b/Test/dafny0/MoForallCompilation.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { TestAggregateArrayUpdate(); diff --git a/Test/dafny0/MoForallCompilation.dfy.expect b/Test/dafny0/MoForallCompilation.dfy.expect index c431c74c6aa..7bb606c1528 100644 --- a/Test/dafny0/MoForallCompilation.dfy.expect +++ b/Test/dafny0/MoForallCompilation.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 18 verified, 0 errors -4.0 -3.0 -2.0 -1.0 0.0 1.0 2.0 3.0 7.0 6.0 5.0 4.0 3.0 2.0 1.0 0.0 true true true true true true false false diff --git a/Test/dafny0/NameclashesCompile.dfy b/Test/dafny0/NameclashesCompile.dfy index 4d06065c675..46cae4b2338 100644 --- a/Test/dafny0/NameclashesCompile.dfy +++ b/Test/dafny0/NameclashesCompile.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var r0, r1; diff --git a/Test/dafny0/NameclashesCompile.dfy.expect b/Test/dafny0/NameclashesCompile.dfy.expect index 1434bb632f6..f001bdaeb1e 100644 --- a/Test/dafny0/NameclashesCompile.dfy.expect +++ b/Test/dafny0/NameclashesCompile.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 2 verified, 0 errors 15.0 15.1 94 99 0.8 14.3 14.4 18.9 18.92 diff --git a/Test/dafny0/NonZeroInitializationCompile.dfy b/Test/dafny0/NonZeroInitializationCompile.dfy index 48b61a39369..2fedae6d60d 100644 --- a/Test/dafny0/NonZeroInitializationCompile.dfy +++ b/Test/dafny0/NonZeroInitializationCompile.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment type MyInt = x | 6 <= x witness 6 newtype MyNewInt = x | 6 <= x witness 12 diff --git a/Test/dafny0/NonZeroInitializationCompile.dfy.expect b/Test/dafny0/NonZeroInitializationCompile.dfy.expect index 72b333efb85..c682dccf3fc 100644 --- a/Test/dafny0/NonZeroInitializationCompile.dfy.expect +++ b/Test/dafny0/NonZeroInitializationCompile.dfy.expect @@ -1,76 +1,3 @@ - -Dafny program verifier finished with 15 verified, 0 errors - -Dafny program verifier did not attempt verification -These are the arbitrary values chosen by the compiler: 6, 12 -short, short': 0, -35 -nes: {57} -f0, f1: (0, false), (29, true) -dt: Dt.Atom(-35) -cl { u: 12, x: 0, r: 3.14, nes: {57} } -cl' { u: 12, x: 0, ': 3.14, nes: {20, 57} } - -x: real :: 0.0 versus 0.0 -ch: char :: 'D' versus 'D' -s: set :: {} versus {} -d: Xt :: AdvancedZeroInitialization.Xt.MakeXt(0, []) versus AdvancedZeroInitialization.Xt.MakeXt(0, []) -y: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, []) versus AdvancedZeroInitialization.Yt.MakeYt(0, []) -z: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization.Yt.MakeYt(0, 0) - -x: real :: 0.0 versus 0.0 -ch: char :: 'D' versus 'D' -s: set :: {} versus {} -d: Xt :: AdvancedZeroInitialization.Xt.MakeXt(0, []) versus AdvancedZeroInitialization.Xt.MakeXt(0, []) -y: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, []) versus AdvancedZeroInitialization.Yt.MakeYt(0, []) -z: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization.Yt.MakeYt(0, 0) - -Dafny program verifier did not attempt verification -These are the arbitrary values chosen by the compiler: 6, 12 -short, short': 0, -35 -nes: {57} -f0, f1: (0, false), (29, true) -dt: Dt.Atom(-35) -cl { u: 12, x: 0, r: 3.14, nes: {57} } -cl' { u: 12, x: 0, ': 3.14, nes: {20, 57} } - -x: real :: 0.0 versus 0.0 -ch: char :: 'D' versus 'D' -s: set :: {} versus {} -d: Xt :: AdvancedZeroInitialization.Xt.MakeXt(0, []) versus AdvancedZeroInitialization.Xt.MakeXt(0, []) -y: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, []) versus AdvancedZeroInitialization.Yt.MakeYt(0, []) -z: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization.Yt.MakeYt(0, 0) - -x: real :: 0.0 versus 0.0 -ch: char :: 'D' versus 'D' -s: set :: {} versus {} -d: Xt :: AdvancedZeroInitialization.Xt.MakeXt(0, []) versus AdvancedZeroInitialization.Xt.MakeXt(0, []) -y: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, []) versus AdvancedZeroInitialization.Yt.MakeYt(0, []) -z: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization.Yt.MakeYt(0, 0) - -Dafny program verifier did not attempt verification -These are the arbitrary values chosen by the compiler: 6, 12 -short, short': 0, -35 -nes: {57} -f0, f1: (0, false), (29, true) -dt: Dt.Atom(-35) -cl { u: 12, x: 0, r: 3.14, nes: {57} } -cl' { u: 12, x: 0, ': 3.14, nes: {20, 57} } - -x: real :: 0.0 versus 0.0 -ch: char :: 'D' versus 'D' -s: set :: {} versus {} -d: Xt :: AdvancedZeroInitialization.Xt.MakeXt(0, []) versus AdvancedZeroInitialization.Xt.MakeXt(0, []) -y: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, []) versus AdvancedZeroInitialization.Yt.MakeYt(0, []) -z: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization.Yt.MakeYt(0, 0) - -x: real :: 0.0 versus 0.0 -ch: char :: 'D' versus 'D' -s: set :: {} versus {} -d: Xt :: AdvancedZeroInitialization.Xt.MakeXt(0, []) versus AdvancedZeroInitialization.Xt.MakeXt(0, []) -y: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, []) versus AdvancedZeroInitialization.Yt.MakeYt(0, []) -z: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization.Yt.MakeYt(0, 0) - -Dafny program verifier did not attempt verification These are the arbitrary values chosen by the compiler: 6, 12 short, short': 0, -35 nes: {57} diff --git a/Test/dafny0/NullComparisonWarnings.dfy b/Test/dafny0/NullComparisonWarnings.dfy index eb9183040bc..35fd5ffb3f4 100644 --- a/Test/dafny0/NullComparisonWarnings.dfy +++ b/Test/dafny0/NullComparisonWarnings.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { print "despite the warnings, the program still compiles\n"; diff --git a/Test/dafny0/NullComparisonWarnings.dfy.expect b/Test/dafny0/NullComparisonWarnings.dfy.expect index d8cf4a9960c..f2b4545fac7 100644 --- a/Test/dafny0/NullComparisonWarnings.dfy.expect +++ b/Test/dafny0/NullComparisonWarnings.dfy.expect @@ -1,14 +1 @@ -NullComparisonWarnings.dfy(27,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(28,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'y' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(29,14): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for field 'next' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(30,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(31,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'y' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(32,14): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for field 'next' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(34,12): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(37,12): Warning: the type of the other operand is a set of non-null elements, so the inclusion test of 'null' will always return 'false' -NullComparisonWarnings.dfy(38,12): Warning: the type of the other operand is a set of non-null elements, so the non-inclusion test of 'null' will always return 'true' -NullComparisonWarnings.dfy(40,41): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'u' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(45,12): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' - -Dafny program verifier finished with 4 verified, 0 errors despite the warnings, the program still compiles diff --git a/Test/dafny0/NullComparisonWarnings.dfy.verifier.expect b/Test/dafny0/NullComparisonWarnings.dfy.verifier.expect new file mode 100644 index 00000000000..24f9074ecc9 --- /dev/null +++ b/Test/dafny0/NullComparisonWarnings.dfy.verifier.expect @@ -0,0 +1,11 @@ +NullComparisonWarnings.dfy(26,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(27,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'y' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(28,14): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for field 'next' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(29,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(30,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'y' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(31,14): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for field 'next' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(33,12): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(36,12): Warning: the type of the other operand is a set of non-null elements, so the inclusion test of 'null' will always return 'false' +NullComparisonWarnings.dfy(37,12): Warning: the type of the other operand is a set of non-null elements, so the non-inclusion test of 'null' will always return 'true' +NullComparisonWarnings.dfy(39,41): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'u' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(44,12): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' diff --git a/Test/dafny0/PrintUTF8.dfy b/Test/dafny0/PrintUTF8.dfy index 5d4e376b19d..eff7baa32a9 100644 --- a/Test/dafny0/PrintUTF8.dfy +++ b/Test/dafny0/PrintUTF8.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { print "Mikaël fixed UTF8\n"; diff --git a/Test/dafny0/PrintUTF8.dfy.expect b/Test/dafny0/PrintUTF8.dfy.expect index 52a23e906cc..818549280d3 100644 --- a/Test/dafny0/PrintUTF8.dfy.expect +++ b/Test/dafny0/PrintUTF8.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors Mikaël fixed UTF8 diff --git a/Test/dafny0/RangeCompilation.dfy b/Test/dafny0/RangeCompilation.dfy index 53a8d6e33e5..3f3e6aed0f8 100644 --- a/Test/dafny0/RangeCompilation.dfy +++ b/Test/dafny0/RangeCompilation.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment newtype Byte = x | 0 <= x < 256 predicate GoodByte(b: Byte) { diff --git a/Test/dafny0/RangeCompilation.dfy.expect b/Test/dafny0/RangeCompilation.dfy.expect index 82fbbb9b698..9e0f9e5f028 100644 --- a/Test/dafny0/RangeCompilation.dfy.expect +++ b/Test/dafny0/RangeCompilation.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 4 verified, 0 errors b=2 i=4 diff --git a/Test/dafny0/SeqFromArray.dfy b/Test/dafny0/SeqFromArray.dfy index 6bab732c906..39f72303d18 100644 --- a/Test/dafny0/SeqFromArray.dfy +++ b/Test/dafny0/SeqFromArray.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // /autoTriggers:1 added to suppress instabilities diff --git a/Test/dafny0/SeqFromArray.dfy.expect b/Test/dafny0/SeqFromArray.dfy.expect index 1981561ca00..e69de29bb2d 100644 --- a/Test/dafny0/SeqFromArray.dfy.expect +++ b/Test/dafny0/SeqFromArray.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 10 verified, 0 errors diff --git a/Test/dafny0/SharedDestructorsCompile.dfy b/Test/dafny0/SharedDestructorsCompile.dfy index 8171cf72404..64d8b245b58 100644 --- a/Test/dafny0/SharedDestructorsCompile.dfy +++ b/Test/dafny0/SharedDestructorsCompile.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Dt = | A(x: int, y: real) diff --git a/Test/dafny0/SharedDestructorsCompile.dfy.expect b/Test/dafny0/SharedDestructorsCompile.dfy.expect index e037db03c40..060d152d77b 100644 --- a/Test/dafny0/SharedDestructorsCompile.dfy.expect +++ b/Test/dafny0/SharedDestructorsCompile.dfy.expect @@ -1,20 +1,3 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification -Dt.A(10, 12.0): x=10 y=12.0 -Dt.B(_module.MyClass, 6): h=_module.MyClass x=6 -Dt.C(3.14): y=3.14 -Dt.C(3.14) -Dt.A(71, 0.1) -Klef.C3(44, 100, 66, 200) -Datte.AA(10, 2) Datte.AA(10, 5) -Datte.BB(false, 12) Datte.BB(false, 6) -Datte.CC(3.2) Datte.CC(3.4) -Datte.DD(100, {7}, 5, 9.0) Datte.DD(30, {7}, 5, 9.0) -Datte.DD(100, {7}, 5, 9.0) Datte.DD(30, {7}, 5, 2.0) - -Dafny program verifier did not attempt verification Dt.A(10, 12.0): x=10 y=12.0 Dt.B(_module.MyClass, 6): h=_module.MyClass x=6 Dt.C(3.14): y=3.14 diff --git a/Test/dafny0/SiblingImports.dfy b/Test/dafny0/SiblingImports.dfy index 3fb01d9d1b8..756e4b253f3 100644 --- a/Test/dafny0/SiblingImports.dfy +++ b/Test/dafny0/SiblingImports.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { ClientA.Test(); diff --git a/Test/dafny0/SiblingImports.dfy.expect b/Test/dafny0/SiblingImports.dfy.expect index ba4df82a925..fb6171563ac 100644 --- a/Test/dafny0/SiblingImports.dfy.expect +++ b/Test/dafny0/SiblingImports.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors ClientA.Inner.Five: 5 ClientB.Inner.Five: 5 ClientC.Inner.Five: 5 diff --git a/Test/dafny0/TypeConversionsCompile.dfy b/Test/dafny0/TypeConversionsCompile.dfy index 90075fb74a8..5b1e32b9258 100644 --- a/Test/dafny0/TypeConversionsCompile.dfy +++ b/Test/dafny0/TypeConversionsCompile.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /env:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Note the difference in output in Java's case is due to // https://github.com/dafny-lang/dafny/issues/4152 diff --git a/Test/dafny0/TypeConversionsCompile.dfy.expect b/Test/dafny0/TypeConversionsCompile.dfy.expect index 893938a0226..78990cf4a30 100644 --- a/Test/dafny0/TypeConversionsCompile.dfy.expect +++ b/Test/dafny0/TypeConversionsCompile.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 8 verified, 0 errors 3 4 5.0 5 6 -1.0 147573952589676412927 4294967295 127 0 got 3, expected 3 got 0, expected 0 diff --git a/Test/dafny0/TypeMembers.dfy b/Test/dafny0/TypeMembers.dfy index 2ab57767ad5..f2bea4039c9 100644 --- a/Test/dafny0/TypeMembers.dfy +++ b/Test/dafny0/TypeMembers.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { BasicTests(); diff --git a/Test/dafny0/TypeMembers.dfy.expect b/Test/dafny0/TypeMembers.dfy.expect index 1d406ca85dc..923cb07e841 100644 --- a/Test/dafny0/TypeMembers.dfy.expect +++ b/Test/dafny0/TypeMembers.dfy.expect @@ -1,32 +1,3 @@ -TypeMembers.dfy(117,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect - -Dafny program verifier finished with 29 verified, 0 errors -TypeMembers.dfy(117,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect - -Dafny program verifier did not attempt verification -DaTy.Yes 10 26 -8 11 10 11 10 -35 10 14 -22 22 -9 Dt.Business(false, 5) -76 77 -19 -0 0 -19 82 83 -93 Co.Cobalt -27 27 -18 -11 18 18 22 -15 30 29 -95 11 -162 165 -11 18 18 3 -15 30 29 -95 11 -162 165 -TypeMembers.dfy(117,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect - -Dafny program verifier did not attempt verification DaTy.Yes 10 26 8 11 10 11 10 35 10 14 diff --git a/Test/dafny0/TypeMembers.dfy.verifier.expect b/Test/dafny0/TypeMembers.dfy.verifier.expect new file mode 100644 index 00000000000..62f55c943d2 --- /dev/null +++ b/Test/dafny0/TypeMembers.dfy.verifier.expect @@ -0,0 +1 @@ +TypeMembers.dfy(114,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect diff --git a/Test/dafny0/Wellfounded.dfy b/Test/dafny0/Wellfounded.dfy index 2ed488974c6..7ec2be06b38 100644 --- a/Test/dafny0/Wellfounded.dfy +++ b/Test/dafny0/Wellfounded.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var d := Int(10); diff --git a/Test/dafny0/Wellfounded.dfy.expect b/Test/dafny0/Wellfounded.dfy.expect index 73d7a1e7ca2..52742a67098 100644 --- a/Test/dafny0/Wellfounded.dfy.expect +++ b/Test/dafny0/Wellfounded.dfy.expect @@ -1,7 +1,3 @@ -Wellfounded.dfy(49,14): Warning: /!\ No terms found to trigger on. -Wellfounded.dfy(77,5): Warning: /!\ No terms found to trigger on. - -Dafny program verifier finished with 3 verified, 0 errors M(d, d) = 10 M(a1, d) = 10 M(a2, d) = 10 diff --git a/Test/dafny0/Wellfounded.dfy.verifier.expect b/Test/dafny0/Wellfounded.dfy.verifier.expect new file mode 100644 index 00000000000..e61f12f01b2 --- /dev/null +++ b/Test/dafny0/Wellfounded.dfy.verifier.expect @@ -0,0 +1,2 @@ +Wellfounded.dfy(48,14): Warning: /!\ No terms found to trigger on. +Wellfounded.dfy(76,5): Warning: /!\ No terms found to trigger on. diff --git a/Test/dafny2/MinWindowMax.dfy b/Test/dafny2/MinWindowMax.dfy index 71ccb539d7d..32342cdd8b9 100644 --- a/Test/dafny2/MinWindowMax.dfy +++ b/Test/dafny2/MinWindowMax.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Minimum window-max problem. // Rustan Leino diff --git a/Test/dafny2/MinWindowMax.dfy.expect b/Test/dafny2/MinWindowMax.dfy.expect index f6f6e52d9bc..1bb5609994e 100644 --- a/Test/dafny2/MinWindowMax.dfy.expect +++ b/Test/dafny2/MinWindowMax.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 12 verified, 0 errors Window size 1: min window-max is -5 Window size 2: min window-max is 2 Window size 3: min window-max is 3 diff --git a/Test/dafny2/SmallestMissingNumber-functional.dfy b/Test/dafny2/SmallestMissingNumber-functional.dfy index 047475c2680..a1544efab5f 100644 --- a/Test/dafny2/SmallestMissingNumber-functional.dfy +++ b/Test/dafny2/SmallestMissingNumber-functional.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Smallest missing number problem, functional version without duplicates. // A purely functional solution to the programming problem in Richard Bird's diff --git a/Test/dafny2/SmallestMissingNumber-functional.dfy.expect b/Test/dafny2/SmallestMissingNumber-functional.dfy.expect index 208b183ee3e..5d75da8ddd3 100644 --- a/Test/dafny2/SmallestMissingNumber-functional.dfy.expect +++ b/Test/dafny2/SmallestMissingNumber-functional.dfy.expect @@ -1,4 +1 @@ -SmallestMissingNumber-functional.dfy(213,11): Warning: /!\ No terms found to trigger on. - -Dafny program verifier finished with 21 verified, 0 errors 0 1 4 5 diff --git a/Test/dafny2/SmallestMissingNumber-functional.dfy.verifier.expect b/Test/dafny2/SmallestMissingNumber-functional.dfy.verifier.expect new file mode 100644 index 00000000000..cf10280f376 --- /dev/null +++ b/Test/dafny2/SmallestMissingNumber-functional.dfy.verifier.expect @@ -0,0 +1 @@ +SmallestMissingNumber-functional.dfy(212,11): Warning: /!\ No terms found to trigger on. diff --git a/Test/dafny2/SmallestMissingNumber-imperative.dfy b/Test/dafny2/SmallestMissingNumber-imperative.dfy index b8539481a54..314bf4e464c 100644 --- a/Test/dafny2/SmallestMissingNumber-imperative.dfy +++ b/Test/dafny2/SmallestMissingNumber-imperative.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Smallest missing number. // An imperative solution to the programming problem in Richard Bird's diff --git a/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect b/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect index bc4a868fdff..cfb25913041 100644 --- a/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect +++ b/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 8 verified, 0 errors 0 1 5 diff --git a/Test/dafny2/StoreAndRetrieve.dfy b/Test/dafny2/StoreAndRetrieve.dfy index 99a72697a71..f19239e234a 100644 --- a/Test/dafny2/StoreAndRetrieve.dfy +++ b/Test/dafny2/StoreAndRetrieve.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This file shows an example program that uses both refinement and :autocontracts // specify a class that stores a set of things that can be retrieved using a query. diff --git a/Test/dafny2/StoreAndRetrieve.dfy.expect b/Test/dafny2/StoreAndRetrieve.dfy.expect index 1d7d71d5202..030f5bfab39 100644 --- a/Test/dafny2/StoreAndRetrieve.dfy.expect +++ b/Test/dafny2/StoreAndRetrieve.dfy.expect @@ -1,39 +1 @@ -StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier finished with 19 verified, 0 errors -StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -20.3 -StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -20.3 -StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -20.3 -StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification 20.3 diff --git a/Test/dafny2/StoreAndRetrieve.dfy.verifier.expect b/Test/dafny2/StoreAndRetrieve.dfy.verifier.expect new file mode 100644 index 00000000000..0c3d269cdc1 --- /dev/null +++ b/Test/dafny2/StoreAndRetrieve.dfy.verifier.expect @@ -0,0 +1,5 @@ +StoreAndRetrieve.dfy(60,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(65,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(66,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(81,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(92,9): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny2/pq-intrinsic-extrinsic.dfy b/Test/dafny2/pq-intrinsic-extrinsic.dfy index c797c92445d..588c2f9e2b1 100644 --- a/Test/dafny2/pq-intrinsic-extrinsic.dfy +++ b/Test/dafny2/pq-intrinsic-extrinsic.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This file contains several versions of a priority queue implemented by Braun trees: // diff --git a/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect b/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect index bc2608f44b7..5c90c26e0eb 100644 --- a/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect +++ b/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect @@ -1,14 +1,3 @@ - -Dafny program verifier finished with 32 verified, 0 errors - -Dafny program verifier did not attempt verification -PriorityQueue_extrinsic: 3 -PriorityQueue_layered: 3 -PriorityQueue_intrinsic: 3 -PriorityQueue_on_intrinsic: 3 -PriorityQueue_direct: 3 - -Dafny program verifier did not attempt verification PriorityQueue_extrinsic: 3 PriorityQueue_layered: 3 PriorityQueue_intrinsic: 3 diff --git a/Test/dafny3/Abstemious.dfy b/Test/dafny3/Abstemious.dfy index 263c1f1fb00..62d891f950f 100644 --- a/Test/dafny3/Abstemious.dfy +++ b/Test/dafny3/Abstemious.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Examples from https://www.haskell.org/tutorial/functions.html diff --git a/Test/dafny3/Abstemious.dfy.expect b/Test/dafny3/Abstemious.dfy.expect index 96f109b0b58..3511a04a840 100644 --- a/Test/dafny3/Abstemious.dfy.expect +++ b/Test/dafny3/Abstemious.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 19 verified, 0 errors ones(): 1 1 1 1 1 1 1 ... from(3): 3 4 5 6 7 8 9 ... Map(plus1, ones()): 2 2 2 2 2 2 2 ... diff --git a/Test/dafny3/CachedContainer.dfy b/Test/dafny3/CachedContainer.dfy index 77c3e45897f..e36e76d6851 100644 --- a/Test/dafny3/CachedContainer.dfy +++ b/Test/dafny3/CachedContainer.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This file contains an example chain of module refinements, starting from a // simple interface M0 to an implementation M3. Module Client.Test() is diff --git a/Test/dafny3/CachedContainer.dfy.expect b/Test/dafny3/CachedContainer.dfy.expect index 08f4fb30b0a..ed2a587c3f1 100644 --- a/Test/dafny3/CachedContainer.dfy.expect +++ b/Test/dafny3/CachedContainer.dfy.expect @@ -1,79 +1 @@ -CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier finished with 29 verified, 0 errors -CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -false true false true -CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -false true false true -CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -false true false true -CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification false true false true diff --git a/Test/dafny3/CachedContainer.dfy.verifier.expect b/Test/dafny3/CachedContainer.dfy.verifier.expect new file mode 100644 index 00000000000..a037bc94ff6 --- /dev/null +++ b/Test/dafny3/CachedContainer.dfy.verifier.expect @@ -0,0 +1,13 @@ +CachedContainer.dfy(112,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(119,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(122,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(129,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(132,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(153,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(154,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(162,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(163,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(166,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(178,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(179,13): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny3/Iter.dfy b/Test/dafny3/Iter.dfy index 81431f2c64b..46befa24dd8 100644 --- a/Test/dafny3/Iter.dfy +++ b/Test/dafny3/Iter.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class List { ghost var Contents: seq diff --git a/Test/dafny3/Iter.dfy.expect b/Test/dafny3/Iter.dfy.expect index 69d7373d5d5..0ed11070541 100644 --- a/Test/dafny3/Iter.dfy.expect +++ b/Test/dafny3/Iter.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 12 verified, 0 errors 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 98 0 2 4 6 8 10 12 14 diff --git a/Test/dafny4/Ackermann.dfy b/Test/dafny4/Ackermann.dfy index 27968070e9b..a4ef351c96b 100644 --- a/Test/dafny4/Ackermann.dfy +++ b/Test/dafny4/Ackermann.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Rustan Leino, 8 Sep 2015. // This file proves that the Ackermann function is monotonic in each argument diff --git a/Test/dafny4/Ackermann.dfy.expect b/Test/dafny4/Ackermann.dfy.expect index c995dac9c9a..43d9513ef4b 100644 --- a/Test/dafny4/Ackermann.dfy.expect +++ b/Test/dafny4/Ackermann.dfy.expect @@ -1,5 +1 @@ -Ackermann.dfy(163,4): Warning: /!\ No terms found to trigger on. -Ackermann.dfy(181,4): Warning: /!\ No terms found to trigger on. - -Dafny program verifier finished with 14 verified, 0 errors Ack(3, 4) = 125 diff --git a/Test/dafny4/Ackermann.dfy.verifier.expect b/Test/dafny4/Ackermann.dfy.verifier.expect new file mode 100644 index 00000000000..b302e2b4daf --- /dev/null +++ b/Test/dafny4/Ackermann.dfy.verifier.expect @@ -0,0 +1,2 @@ +Ackermann.dfy(162,4): Warning: /!\ No terms found to trigger on. +Ackermann.dfy(180,4): Warning: /!\ No terms found to trigger on. diff --git a/Test/dafny4/Bug107.dfy b/Test/dafny4/Bug107.dfy index e417fc90a53..b7ab69c9a8d 100644 --- a/Test/dafny4/Bug107.dfy +++ b/Test/dafny4/Bug107.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/dafny4/Bug107.dfy.expect b/Test/dafny4/Bug107.dfy.expect index ad79213a18c..62f9457511f 100644 --- a/Test/dafny4/Bug107.dfy.expect +++ b/Test/dafny4/Bug107.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors 6 \ No newline at end of file diff --git a/Test/dafny4/Bug108.dfy b/Test/dafny4/Bug108.dfy index c64ec32a340..8228fe44f87 100644 --- a/Test/dafny4/Bug108.dfy +++ b/Test/dafny4/Bug108.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var A := map[0 := 1]; diff --git a/Test/dafny4/Bug108.dfy.expect b/Test/dafny4/Bug108.dfy.expect index c1c63f6c5c1..0777a01b26d 100644 --- a/Test/dafny4/Bug108.dfy.expect +++ b/Test/dafny4/Bug108.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 1 verified, 0 errors map[0 := 1] map[0 := 1] diff --git a/Test/dafny4/Bug113.dfy b/Test/dafny4/Bug113.dfy index 23c759540cd..0bec0c1ce31 100644 --- a/Test/dafny4/Bug113.dfy +++ b/Test/dafny4/Bug113.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype D = D(q:int, r:int, s:int, t:int) @@ -7,4 +6,4 @@ method Main() { print D(10, 20, 30, 40); print "\n"; -} \ No newline at end of file +} diff --git a/Test/dafny4/Bug113.dfy.expect b/Test/dafny4/Bug113.dfy.expect index 3ea1396ad00..e2eeff32e9a 100644 --- a/Test/dafny4/Bug113.dfy.expect +++ b/Test/dafny4/Bug113.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors D.D(10, 20, 30, 40) diff --git a/Test/dafny4/Bug116.dfy b/Test/dafny4/Bug116.dfy index e29da0f609d..501b74c74d5 100644 --- a/Test/dafny4/Bug116.dfy +++ b/Test/dafny4/Bug116.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // test various compiler-target keywords diff --git a/Test/dafny4/Bug116.dfy.expect b/Test/dafny4/Bug116.dfy.expect index 4cd4aabf511..8c7fdc614c4 100644 --- a/Test/dafny4/Bug116.dfy.expect +++ b/Test/dafny4/Bug116.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors struct.S byte.arguments enum.goto.switch enum.goto.switch 20 + 20 == 40 diff --git a/Test/dafny4/Bug140.dfy b/Test/dafny4/Bug140.dfy index edde966c149..8280db8f665 100644 --- a/Test/dafny4/Bug140.dfy +++ b/Test/dafny4/Bug140.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class Node { ghost var List: seq diff --git a/Test/dafny4/Bug140.dfy.expect b/Test/dafny4/Bug140.dfy.expect index bad48de4d6b..a40ee1166fb 100644 --- a/Test/dafny4/Bug140.dfy.expect +++ b/Test/dafny4/Bug140.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 8 verified, 0 errors 1 2 diff --git a/Test/dafny4/Bug148.dfy b/Test/dafny4/Bug148.dfy index da1ebf99447..f31cef2cdc8 100644 --- a/Test/dafny4/Bug148.dfy +++ b/Test/dafny4/Bug148.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/dafny4/Bug148.dfy.expect b/Test/dafny4/Bug148.dfy.expect index 79d02517ceb..9ed6ca4768b 100644 --- a/Test/dafny4/Bug148.dfy.expect +++ b/Test/dafny4/Bug148.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 0 verified, 0 errors true false true diff --git a/Test/dafny4/Bug49.dfy b/Test/dafny4/Bug49.dfy index 68722830422..868f4a3964b 100644 --- a/Test/dafny4/Bug49.dfy +++ b/Test/dafny4/Bug49.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/dafny4/Bug49.dfy.expect b/Test/dafny4/Bug49.dfy.expect index 4e02a08bbee..800c2bd15ba 100644 --- a/Test/dafny4/Bug49.dfy.expect +++ b/Test/dafny4/Bug49.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 13 verified, 0 errors 6 6 5 diff --git a/Test/dafny4/Bug60.dfy b/Test/dafny4/Bug60.dfy index 0aa9209269d..f4585753f5f 100644 --- a/Test/dafny4/Bug60.dfy +++ b/Test/dafny4/Bug60.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This method can be used to test compilation. method Main() diff --git a/Test/dafny4/Bug60.dfy.expect b/Test/dafny4/Bug60.dfy.expect index 49740e95682..fd56dc3fcbc 100644 --- a/Test/dafny4/Bug60.dfy.expect +++ b/Test/dafny4/Bug60.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 0 verified, 0 errors ({2, 3}, map[2 := 20, 3 := 30]) (2, 2) {2, 3} diff --git a/Test/dafny4/Bug67.dfy b/Test/dafny4/Bug67.dfy index 731018a293b..f01d4239a75 100644 --- a/Test/dafny4/Bug67.dfy +++ b/Test/dafny4/Bug67.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype d = D(m:seq) @@ -8,4 +7,4 @@ method Main() assert D([10, 20]) == D([10, 20]); // succeeds print [10, 20] == [10, 20], "\n"; // prints True print D([10, 20]) == D([10, 20]); // prints False -} \ No newline at end of file +} diff --git a/Test/dafny4/Bug67.dfy.expect b/Test/dafny4/Bug67.dfy.expect index c716cab3144..0be5d980da4 100644 --- a/Test/dafny4/Bug67.dfy.expect +++ b/Test/dafny4/Bug67.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 1 verified, 0 errors true true \ No newline at end of file diff --git a/Test/dafny4/Bug68.dfy b/Test/dafny4/Bug68.dfy index a211206acba..bf50015f90c 100644 --- a/Test/dafny4/Bug68.dfy +++ b/Test/dafny4/Bug68.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method M1() { @@ -62,4 +61,4 @@ method Main() M3(); M3'(); M4(); -} \ No newline at end of file +} diff --git a/Test/dafny4/Bug68.dfy.expect b/Test/dafny4/Bug68.dfy.expect index f4ef534187d..814ccfee2df 100644 --- a/Test/dafny4/Bug68.dfy.expect +++ b/Test/dafny4/Bug68.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 8 verified, 0 errors true true true diff --git a/Test/dafny4/Bug89.dfy b/Test/dafny4/Bug89.dfy index 4aec1acb8b7..c7b77b44f99 100644 --- a/Test/dafny4/Bug89.dfy +++ b/Test/dafny4/Bug89.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method F() returns(x:int) ensures x == 6 diff --git a/Test/dafny4/Bug89.dfy.expect b/Test/dafny4/Bug89.dfy.expect index ed41c274352..62f9457511f 100644 --- a/Test/dafny4/Bug89.dfy.expect +++ b/Test/dafny4/Bug89.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors 6 \ No newline at end of file diff --git a/Test/dafny4/Bug94.dfy b/Test/dafny4/Bug94.dfy index be931445654..c41458539fc 100644 --- a/Test/dafny4/Bug94.dfy +++ b/Test/dafny4/Bug94.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment ghost function foo() : (int, int) { diff --git a/Test/dafny4/Bug94.dfy.expect b/Test/dafny4/Bug94.dfy.expect index ab0cfbb2d9e..3f10ffe7a4c 100644 --- a/Test/dafny4/Bug94.dfy.expect +++ b/Test/dafny4/Bug94.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors 15 \ No newline at end of file diff --git a/Test/dafny4/ClassRefinement.dfy b/Test/dafny4/ClassRefinement.dfy index 320749ec197..3d5fd1006eb 100644 --- a/Test/dafny4/ClassRefinement.dfy +++ b/Test/dafny4/ClassRefinement.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment abstract module M0 { class Counter { diff --git a/Test/dafny4/ClassRefinement.dfy.expect b/Test/dafny4/ClassRefinement.dfy.expect index f456b6777f3..cba3471eb57 100644 --- a/Test/dafny4/ClassRefinement.dfy.expect +++ b/Test/dafny4/ClassRefinement.dfy.expect @@ -1,44 +1 @@ -ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated -ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier finished with 11 verified, 0 errors -ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated -ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -2 1 -ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated -ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -2 1 -ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated -ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -2 1 -ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated -ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification 2 1 diff --git a/Test/dafny4/ClassRefinement.dfy.verifier.expect b/Test/dafny4/ClassRefinement.dfy.verifier.expect new file mode 100644 index 00000000000..543e77303b5 --- /dev/null +++ b/Test/dafny4/ClassRefinement.dfy.verifier.expect @@ -0,0 +1,6 @@ +ClassRefinement.dfy(68,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(69,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(74,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(75,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(77,6): Warning: the modify statement with a block statement is deprecated +ClassRefinement.dfy(78,13): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny4/ExpandedGuardedness.dfy b/Test/dafny4/ExpandedGuardedness.dfy index 5cd7828f932..af620ec40e8 100644 --- a/Test/dafny4/ExpandedGuardedness.dfy +++ b/Test/dafny4/ExpandedGuardedness.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/dafny4/ExpandedGuardedness.dfy.expect b/Test/dafny4/ExpandedGuardedness.dfy.expect index d05670701e0..e0f3b041a66 100644 --- a/Test/dafny4/ExpandedGuardedness.dfy.expect +++ b/Test/dafny4/ExpandedGuardedness.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 12 verified, 0 errors Up 19 20 21 22 23 Up2 19 20 21 22 23 UpIf 19 20 22 24 26 diff --git a/Test/dafny4/FlyingRobots.dfy b/Test/dafny4/FlyingRobots.dfy index 41223cca1aa..f14a2a467cd 100644 --- a/Test/dafny4/FlyingRobots.dfy +++ b/Test/dafny4/FlyingRobots.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // The flying robots examples from an F* tutorial. It demonstrates how to specify // mutable data structures in the heap. diff --git a/Test/dafny4/FlyingRobots.dfy.expect b/Test/dafny4/FlyingRobots.dfy.expect index 5ed0d97333e..e69de29bb2d 100644 --- a/Test/dafny4/FlyingRobots.dfy.expect +++ b/Test/dafny4/FlyingRobots.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 31 verified, 0 errors diff --git a/Test/dafny4/Leq.dfy b/Test/dafny4/Leq.dfy index fac12757ba0..fdbc1078ca3 100644 --- a/Test/dafny4/Leq.dfy +++ b/Test/dafny4/Leq.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Rustan Leino, 22 Sep 2015. // This file considers two definitions of Leq on naturals+infinity. One diff --git a/Test/dafny4/Leq.dfy.expect b/Test/dafny4/Leq.dfy.expect index 15301952c57..e69de29bb2d 100644 --- a/Test/dafny4/Leq.dfy.expect +++ b/Test/dafny4/Leq.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 16 verified, 0 errors diff --git a/Test/dafny4/McCarthy91.dfy b/Test/dafny4/McCarthy91.dfy index 466d30328cc..428f11eb269 100644 --- a/Test/dafny4/McCarthy91.dfy +++ b/Test/dafny4/McCarthy91.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // The usual recursive method for computing McCarthy's 91 function method Main() { diff --git a/Test/dafny4/McCarthy91.dfy.expect b/Test/dafny4/McCarthy91.dfy.expect index b63f7a0b03b..1511cff2c81 100644 --- a/Test/dafny4/McCarthy91.dfy.expect +++ b/Test/dafny4/McCarthy91.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors M(3) = 91 M(99) = 91 M(100) = 91 diff --git a/Test/dafny4/NatList.dfy b/Test/dafny4/NatList.dfy index 567fd461259..5a1b0358eaf 100644 --- a/Test/dafny4/NatList.dfy +++ b/Test/dafny4/NatList.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This file tests some programs where "nat" is a type parameter to // a datatype. diff --git a/Test/dafny4/NatList.dfy.expect b/Test/dafny4/NatList.dfy.expect index 2ceb3169787..5382a29cb9f 100644 --- a/Test/dafny4/NatList.dfy.expect +++ b/Test/dafny4/NatList.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 11 verified, 0 errors ns = List.Cons(4, List.Cons(10, List.Nil)) Sum(ns) = 14 ns' = List.Cons(20, List.Nil) diff --git a/Test/dafny4/Regression2.dfy b/Test/dafny4/Regression2.dfy index 213bf265401..0d28285e74c 100644 --- a/Test/dafny4/Regression2.dfy +++ b/Test/dafny4/Regression2.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module NativeTypes { newtype uint64 = int diff --git a/Test/dafny4/Regression2.dfy.expect b/Test/dafny4/Regression2.dfy.expect index 3f8ac383f86..8a739fb435a 100644 --- a/Test/dafny4/Regression2.dfy.expect +++ b/Test/dafny4/Regression2.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors true true true diff --git a/Test/dafny4/Regression3.dfy b/Test/dafny4/Regression3.dfy index adaa0d2763d..fc60fad3cb1 100644 --- a/Test/dafny4/Regression3.dfy +++ b/Test/dafny4/Regression3.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/dafny4/Regression3.dfy.expect b/Test/dafny4/Regression3.dfy.expect index 841338987c7..1223bf9ffaf 100644 --- a/Test/dafny4/Regression3.dfy.expect +++ b/Test/dafny4/Regression3.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 3 verified, 0 errors 55 Trunc( -3.0 ) = -3 (expected -3) Trunc( -2.8 ) = -3 (expected -3) diff --git a/Test/dafny4/Regression4.dfy b/Test/dafny4/Regression4.dfy index 5f881a5083f..e4bc4cbef85 100644 --- a/Test/dafny4/Regression4.dfy +++ b/Test/dafny4/Regression4.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { } diff --git a/Test/dafny4/Regression4.dfy.expect b/Test/dafny4/Regression4.dfy.expect index ba00363fc08..e69de29bb2d 100644 --- a/Test/dafny4/Regression4.dfy.expect +++ b/Test/dafny4/Regression4.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 4 verified, 0 errors diff --git a/Test/dafny4/Regression6.dfy b/Test/dafny4/Regression6.dfy index f1551d3ef2d..b589ec0ce7d 100644 --- a/Test/dafny4/Regression6.dfy +++ b/Test/dafny4/Regression6.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function Sum(a: array, lo: int, hi: int): int requires 0 <= lo <= hi <= a.Length diff --git a/Test/dafny4/Regression6.dfy.expect b/Test/dafny4/Regression6.dfy.expect index 17464f29e0b..54573bead10 100644 --- a/Test/dafny4/Regression6.dfy.expect +++ b/Test/dafny4/Regression6.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors 0 1028 0 diff --git a/Test/dafny4/Regression7.dfy b/Test/dafny4/Regression7.dfy index 8ce421a62f3..ef3ca5eea44 100644 --- a/Test/dafny4/Regression7.dfy +++ b/Test/dafny4/Regression7.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /rprint:"%t.rprint" /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module ListLibrary { datatype List = Nil | Cons(head: B, tail: List) diff --git a/Test/dafny4/Regression7.dfy.expect b/Test/dafny4/Regression7.dfy.expect index b7b2766a340..4d38be23500 100644 --- a/Test/dafny4/Regression7.dfy.expect +++ b/Test/dafny4/Regression7.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors ListLibrary.List.Cons(28.0, ListLibrary.List.Nil) diff --git a/Test/dafny4/Regression9.dfy b/Test/dafny4/Regression9.dfy index d9e44547252..086007a3ef8 100644 --- a/Test/dafny4/Regression9.dfy +++ b/Test/dafny4/Regression9.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Some tests for the type inference that was revamped // to better support subset types. diff --git a/Test/dafny4/Regression9.dfy.expect b/Test/dafny4/Regression9.dfy.expect index 5a26eaeabfb..2183b22cfa9 100644 --- a/Test/dafny4/Regression9.dfy.expect +++ b/Test/dafny4/Regression9.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors 'D''D''D' diff --git a/Test/dafny4/UnionFind.dfy b/Test/dafny4/UnionFind.dfy index b97b6ef5d61..354f28accb7 100644 --- a/Test/dafny4/UnionFind.dfy +++ b/Test/dafny4/UnionFind.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Rustan Leino, Nov 2015 // Module M0 gives the high-level specification of the UnionFind data structure diff --git a/Test/dafny4/UnionFind.dfy.expect b/Test/dafny4/UnionFind.dfy.expect index 961b161b8dc..1cb72129e49 100644 --- a/Test/dafny4/UnionFind.dfy.expect +++ b/Test/dafny4/UnionFind.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 63 verified, 0 errors false true true false true true diff --git a/Test/dafny4/gcd.dfy b/Test/dafny4/gcd.dfy index 384e338435f..fa92223fa49 100644 --- a/Test/dafny4/gcd.dfy +++ b/Test/dafny4/gcd.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation // A text describing this file is found in a Dafny Power User note: http://leino.science/papers/krml279.html diff --git a/Test/dafny4/gcd.dfy.expect b/Test/dafny4/gcd.dfy.expect index ecbe2b6f64a..c17551a37a4 100644 --- a/Test/dafny4/gcd.dfy.expect +++ b/Test/dafny4/gcd.dfy.expect @@ -1,34 +1,3 @@ - -Dafny program verifier finished with 19 verified, 0 errors - -Dafny program verifier did not attempt verification -15 gcd 9 = 3 -14 gcd 22 = 2 -371 gcd 1 = 1 -1 gcd 2 = 1 -1 gcd 1 = 1 -13 gcd 13 = 13 -60 gcd 60 = 60 - -Dafny program verifier did not attempt verification -15 gcd 9 = 3 -14 gcd 22 = 2 -371 gcd 1 = 1 -1 gcd 2 = 1 -1 gcd 1 = 1 -13 gcd 13 = 13 -60 gcd 60 = 60 - -Dafny program verifier did not attempt verification -15 gcd 9 = 3 -14 gcd 22 = 2 -371 gcd 1 = 1 -1 gcd 2 = 1 -1 gcd 1 = 1 -13 gcd 13 = 13 -60 gcd 60 = 60 - -Dafny program verifier did not attempt verification 15 gcd 9 = 3 14 gcd 22 = 2 371 gcd 1 = 1 diff --git a/Test/dafny4/git-issue104.dfy b/Test/dafny4/git-issue104.dfy index 86683a2ed88..b05ec4de1cc 100644 --- a/Test/dafny4/git-issue104.dfy +++ b/Test/dafny4/git-issue104.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment predicate bug(a: array) reads a diff --git a/Test/dafny4/git-issue104.dfy.expect b/Test/dafny4/git-issue104.dfy.expect index f572edb2471..836a5934c8f 100644 --- a/Test/dafny4/git-issue104.dfy.expect +++ b/Test/dafny4/git-issue104.dfy.expect @@ -1,17 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification -true false - -Dafny program verifier did not attempt verification -true false - -Dafny program verifier did not attempt verification -true false - -Dafny program verifier did not attempt verification -true false - -Dafny program verifier did not attempt verification true false diff --git a/Test/dafny4/git-issue105.dfy b/Test/dafny4/git-issue105.dfy index 09cfce29a6e..4cff2330cba 100644 --- a/Test/dafny4/git-issue105.dfy +++ b/Test/dafny4/git-issue105.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method lol() returns (c: int) { diff --git a/Test/dafny4/git-issue105.dfy.expect b/Test/dafny4/git-issue105.dfy.expect index 012f5b99379..e69de29bb2d 100644 --- a/Test/dafny4/git-issue105.dfy.expect +++ b/Test/dafny4/git-issue105.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/dafny4/git-issue15.dfy b/Test/dafny4/git-issue15.dfy index 96905286209..7c77a67ccf9 100755 --- a/Test/dafny4/git-issue15.dfy +++ b/Test/dafny4/git-issue15.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype obj = Obj(fooBar:map) datatype foo = Foo diff --git a/Test/dafny4/git-issue15.dfy.expect b/Test/dafny4/git-issue15.dfy.expect index e52de78d0b1..00750edc07d 100755 --- a/Test/dafny4/git-issue15.dfy.expect +++ b/Test/dafny4/git-issue15.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors 3 diff --git a/Test/dafny4/git-issue167.dfy b/Test/dafny4/git-issue167.dfy index d02943dc42d..d98d425c345 100644 --- a/Test/dafny4/git-issue167.dfy +++ b/Test/dafny4/git-issue167.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { LetTest(); diff --git a/Test/dafny4/git-issue167.dfy.expect b/Test/dafny4/git-issue167.dfy.expect index 0a230fe846e..8c5e1ed8df7 100644 --- a/Test/dafny4/git-issue167.dfy.expect +++ b/Test/dafny4/git-issue167.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 4 verified, 0 errors 30 {6, 7} {['M', 'i', 'l', 'l', 'a'], ['A', 'l', 'f', 'o', 'n', 's']} diff --git a/Test/dafny4/git-issue195.dfy b/Test/dafny4/git-issue195.dfy index ac4b1306ac6..fccdc5461c8 100644 --- a/Test/dafny4/git-issue195.dfy +++ b/Test/dafny4/git-issue195.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Block = Block(prevBlockHash:Hash, txs:seq, proof:VProof) diff --git a/Test/dafny4/git-issue195.dfy.expect b/Test/dafny4/git-issue195.dfy.expect index 30692fdef2a..638bfb50b2d 100644 --- a/Test/dafny4/git-issue195.dfy.expect +++ b/Test/dafny4/git-issue195.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 4 verified, 0 errors true true true true true diff --git a/Test/dafny4/git-issue196.dfy b/Test/dafny4/git-issue196.dfy index 64eb0e9123f..056687ab1a5 100644 --- a/Test/dafny4/git-issue196.dfy +++ b/Test/dafny4/git-issue196.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class A { var a: array> diff --git a/Test/dafny4/git-issue196.dfy.expect b/Test/dafny4/git-issue196.dfy.expect index a333f982b8f..ee25a2c5027 100644 --- a/Test/dafny4/git-issue196.dfy.expect +++ b/Test/dafny4/git-issue196.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 9 verified, 0 errors 42 42 42 5000 5000 5000 5000 5000 diff --git a/Test/dafny4/git-issue4.dfy b/Test/dafny4/git-issue4.dfy index b19cf3ce6df..b17a545e219 100644 --- a/Test/dafny4/git-issue4.dfy +++ b/Test/dafny4/git-issue4.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function IntToChar(i:int):char requires 0 <= i < 10 diff --git a/Test/dafny4/git-issue4.dfy.expect b/Test/dafny4/git-issue4.dfy.expect index 33af1e040b7..24e24eb63cc 100644 --- a/Test/dafny4/git-issue4.dfy.expect +++ b/Test/dafny4/git-issue4.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors '8' 8 '8' 56 56 diff --git a/Test/dafny4/git-issue43.dfy b/Test/dafny4/git-issue43.dfy index edf056a1a91..d320d7761bc 100644 --- a/Test/dafny4/git-issue43.dfy +++ b/Test/dafny4/git-issue43.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class System { } diff --git a/Test/dafny4/git-issue43.dfy.expect b/Test/dafny4/git-issue43.dfy.expect index 012f5b99379..e69de29bb2d 100644 --- a/Test/dafny4/git-issue43.dfy.expect +++ b/Test/dafny4/git-issue43.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/dafny4/git-issue76.dfy b/Test/dafny4/git-issue76.dfy index 708ee911b24..85613dba2f2 100644 --- a/Test/dafny4/git-issue76.dfy +++ b/Test/dafny4/git-issue76.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { M0(); diff --git a/Test/dafny4/git-issue76.dfy.expect b/Test/dafny4/git-issue76.dfy.expect index 546da03a267..0cfbf08886f 100644 --- a/Test/dafny4/git-issue76.dfy.expect +++ b/Test/dafny4/git-issue76.dfy.expect @@ -1,8 +1 @@ - -Dafny program verifier finished with 7 verified, 0 errors - -Dafny program verifier did not attempt verification -2 - -Dafny program verifier did not attempt verification 2 diff --git a/Test/dafny4/git-issue79.dfy b/Test/dafny4/git-issue79.dfy index 046a7c5e375..f3fb17b8531 100644 --- a/Test/dafny4/git-issue79.dfy +++ b/Test/dafny4/git-issue79.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype EInt = Int(val: int) | Unknown type Pair = (string, EInt) diff --git a/Test/dafny4/git-issue79.dfy.expect b/Test/dafny4/git-issue79.dfy.expect index 012f5b99379..e69de29bb2d 100644 --- a/Test/dafny4/git-issue79.dfy.expect +++ b/Test/dafny4/git-issue79.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/dafny4/git-issue88.dfy b/Test/dafny4/git-issue88.dfy index 1c188333783..83c0b4a8ef9 100644 --- a/Test/dafny4/git-issue88.dfy +++ b/Test/dafny4/git-issue88.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment type Grid = array2 diff --git a/Test/dafny4/git-issue88.dfy.expect b/Test/dafny4/git-issue88.dfy.expect index 00a51f822da..e69de29bb2d 100644 --- a/Test/dafny4/git-issue88.dfy.expect +++ b/Test/dafny4/git-issue88.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 3 verified, 0 errors diff --git a/Test/exceptions/Exceptions1.dfy b/Test/exceptions/Exceptions1.dfy index 11bb2f7923d..4ffd3291f2f 100644 --- a/Test/exceptions/Exceptions1.dfy +++ b/Test/exceptions/Exceptions1.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" /rprint:"%t.rprint" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "./NatOutcome.dfy" include "./VoidOutcome.dfy" diff --git a/Test/exceptions/Exceptions1.dfy.expect b/Test/exceptions/Exceptions1.dfy.expect index e61be2a11ad..c87eb938c55 100644 --- a/Test/exceptions/Exceptions1.dfy.expect +++ b/Test/exceptions/Exceptions1.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 7 verified, 0 errors true_true_true_88_42_33_Success=100 ___VoidSuccess true_true_false_88_42_Failure diff --git a/Test/exceptions/Exceptions1Expressions.dfy b/Test/exceptions/Exceptions1Expressions.dfy index c0f3c67cd39..a57e5b78c7e 100644 --- a/Test/exceptions/Exceptions1Expressions.dfy +++ b/Test/exceptions/Exceptions1Expressions.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" /rprint:"%t.rprint" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "./NatOutcomeDt.dfy" include "./VoidOutcomeDt.dfy" diff --git a/Test/exceptions/Exceptions1Expressions.dfy.expect b/Test/exceptions/Exceptions1Expressions.dfy.expect index 3da30f30d36..3f1b38ab150 100644 --- a/Test/exceptions/Exceptions1Expressions.dfy.expect +++ b/Test/exceptions/Exceptions1Expressions.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors true_true_true_Success=100 VoidSuccess true_true_false_Failure diff --git a/Test/exports/FIFO.dfy b/Test/exports/FIFO.dfy index 173e412eaa9..95a8d25510c 100644 --- a/Test/exports/FIFO.dfy +++ b/Test/exports/FIFO.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "Queue.dfyi" diff --git a/Test/exports/FIFO.dfy.expect b/Test/exports/FIFO.dfy.expect index 8350309cc2a..4539bbf2d22 100644 --- a/Test/exports/FIFO.dfy.expect +++ b/Test/exports/FIFO.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors 0 1 2 diff --git a/Test/exports/LIFO.dfy b/Test/exports/LIFO.dfy index ea691935620..513dd457c3f 100644 --- a/Test/exports/LIFO.dfy +++ b/Test/exports/LIFO.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "Queue.dfyi" diff --git a/Test/exports/LIFO.dfy.expect b/Test/exports/LIFO.dfy.expect index 48aa7787d09..ae136939b64 100644 --- a/Test/exports/LIFO.dfy.expect +++ b/Test/exports/LIFO.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors 2 1 0 diff --git a/Test/exports/xrefine2.dfy b/Test/exports/xrefine2.dfy index 0b25240916c..2409cc0509a 100644 --- a/Test/exports/xrefine2.dfy +++ b/Test/exports/xrefine2.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module ProtocolImpl { diff --git a/Test/exports/xrefine2.dfy.expect b/Test/exports/xrefine2.dfy.expect index 34e1b357779..858dbd09862 100644 --- a/Test/exports/xrefine2.dfy.expect +++ b/Test/exports/xrefine2.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 4 verified, 0 errors HI.foo(h1) => true HI.foo(h2) => true PI.orange(1) => 2 diff --git a/Test/exports/xrefine3.dfy b/Test/exports/xrefine3.dfy index 24d6fa062f0..bb2480bfed7 100644 --- a/Test/exports/xrefine3.dfy +++ b/Test/exports/xrefine3.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module AlphaImpl { diff --git a/Test/exports/xrefine3.dfy.expect b/Test/exports/xrefine3.dfy.expect index 488ab11c36a..ae50cef0985 100644 --- a/Test/exports/xrefine3.dfy.expect +++ b/Test/exports/xrefine3.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors o hai! diff --git a/Test/git-issues/git-issue-032.dfy b/Test/git-issues/git-issue-032.dfy index bde5b2f2a69..d7dd61440a7 100644 --- a/Test/git-issues/git-issue-032.dfy +++ b/Test/git-issues/git-issue-032.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/git-issues/git-issue-032.dfy.expect b/Test/git-issues/git-issue-032.dfy.expect index 91c285009c1..2a64997c6f7 100644 --- a/Test/git-issues/git-issue-032.dfy.expect +++ b/Test/git-issues/git-issue-032.dfy.expect @@ -1,40 +1,3 @@ -git-issue-032.dfy(18,35): Warning: this branch is redundant -git-issue-032.dfy(27,34): Warning: this branch is redundant -git-issue-032.dfy(28,35): Warning: this branch is redundant - -Dafny program verifier finished with 1 verified, 0 errors -git-issue-032.dfy(18,35): Warning: this branch is redundant -git-issue-032.dfy(27,34): Warning: this branch is redundant -git-issue-032.dfy(28,35): Warning: this branch is redundant - -Dafny program verifier did not attempt verification -OK3 -OK -OKOK -00 -git-issue-032.dfy(18,35): Warning: this branch is redundant -git-issue-032.dfy(27,34): Warning: this branch is redundant -git-issue-032.dfy(28,35): Warning: this branch is redundant - -Dafny program verifier did not attempt verification -OK3 -OK -OKOK -00 -git-issue-032.dfy(18,35): Warning: this branch is redundant -git-issue-032.dfy(27,34): Warning: this branch is redundant -git-issue-032.dfy(28,35): Warning: this branch is redundant - -Dafny program verifier did not attempt verification -OK3 -OK -OKOK -00 -git-issue-032.dfy(18,35): Warning: this branch is redundant -git-issue-032.dfy(27,34): Warning: this branch is redundant -git-issue-032.dfy(28,35): Warning: this branch is redundant - -Dafny program verifier did not attempt verification OK3 OK OKOK diff --git a/Test/git-issues/git-issue-032.dfy.verifier.expect b/Test/git-issues/git-issue-032.dfy.verifier.expect new file mode 100644 index 00000000000..1878351db97 --- /dev/null +++ b/Test/git-issues/git-issue-032.dfy.verifier.expect @@ -0,0 +1,3 @@ +git-issue-032.dfy(13,35): Warning: this branch is redundant +git-issue-032.dfy(22,34): Warning: this branch is redundant +git-issue-032.dfy(23,35): Warning: this branch is redundant diff --git a/Test/git-issues/git-issue-1029.dfy b/Test/git-issues/git-issue-1029.dfy index a310a99c169..7e1e7a31cf2 100644 --- a/Test/git-issues/git-issue-1029.dfy +++ b/Test/git-issues/git-issue-1029.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module ValueType { export S diff --git a/Test/git-issues/git-issue-1029.dfy.expect b/Test/git-issues/git-issue-1029.dfy.expect index 7108c86b0b5..116f2acb4ee 100644 --- a/Test/git-issues/git-issue-1029.dfy.expect +++ b/Test/git-issues/git-issue-1029.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors [true, true, false] UI.Op2.GetOps([true, true, false], [true, true, false]) diff --git a/Test/git-issues/git-issue-1093.dfy b/Test/git-issues/git-issue-1093.dfy index 9365397496f..97797296680 100644 --- a/Test/git-issues/git-issue-1093.dfy +++ b/Test/git-issues/git-issue-1093.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { UnusedLabel(); diff --git a/Test/git-issues/git-issue-1093.dfy.expect b/Test/git-issues/git-issue-1093.dfy.expect index 0cadf5e4199..f599e28b8ab 100644 --- a/Test/git-issues/git-issue-1093.dfy.expect +++ b/Test/git-issues/git-issue-1093.dfy.expect @@ -1,17 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification -10 - -Dafny program verifier did not attempt verification -10 - -Dafny program verifier did not attempt verification -10 - -Dafny program verifier did not attempt verification -10 - -Dafny program verifier did not attempt verification 10 diff --git a/Test/git-issues/git-issue-1130.dfy b/Test/git-issues/git-issue-1130.dfy index 5b7fc5068e2..f1f5ad5a54b 100644 --- a/Test/git-issues/git-issue-1130.dfy +++ b/Test/git-issues/git-issue-1130.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var a := new Issue.Foo(); diff --git a/Test/git-issues/git-issue-1130.dfy.expect b/Test/git-issues/git-issue-1130.dfy.expect index 6c3dd07b1f1..de97a6dc4ca 100644 --- a/Test/git-issues/git-issue-1130.dfy.expect +++ b/Test/git-issues/git-issue-1130.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 13 verified, 0 errors 012 diff --git a/Test/git-issues/git-issue-1150.dfy b/Test/git-issues/git-issue-1150.dfy index d4cee3c3ef2..d3416a53813 100644 --- a/Test/git-issues/git-issue-1150.dfy +++ b/Test/git-issues/git-issue-1150.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Foo = Foo(x: nat) { diff --git a/Test/git-issues/git-issue-1150.dfy.expect b/Test/git-issues/git-issue-1150.dfy.expect index fb4be1897cf..f34d8df4a11 100644 --- a/Test/git-issues/git-issue-1150.dfy.expect +++ b/Test/git-issues/git-issue-1150.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 1 verified, 0 errors Foo.Foo(2) true Foo.Foo(5) false diff --git a/Test/git-issues/git-issue-1185.dfy b/Test/git-issues/git-issue-1185.dfy index 32c340b0736..c7ad72134d1 100644 --- a/Test/git-issues/git-issue-1185.dfy +++ b/Test/git-issues/git-issue-1185.dfy @@ -1,9 +1,5 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment predicate P(s: set) requires s != {} diff --git a/Test/git-issues/git-issue-1185.dfy.expect b/Test/git-issues/git-issue-1185.dfy.expect index 90ab58a1f5a..525ce875525 100644 --- a/Test/git-issues/git-issue-1185.dfy.expect +++ b/Test/git-issues/git-issue-1185.dfy.expect @@ -1,14 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification -{12, 20} true 6 - -Dafny program verifier did not attempt verification -{20, 12} true 6 - -Dafny program verifier did not attempt verification -{12, 20} true 6 - -Dafny program verifier did not attempt verification {12, 20} true 6 diff --git a/Test/git-issues/git-issue-1185.dfy.java.expect b/Test/git-issues/git-issue-1185.dfy.java.expect new file mode 100644 index 00000000000..8ba669ad273 --- /dev/null +++ b/Test/git-issues/git-issue-1185.dfy.java.expect @@ -0,0 +1 @@ +{20, 12} true 6 diff --git a/Test/git-issues/git-issue-1514.dfy b/Test/git-issues/git-issue-1514.dfy index 74b75478609..816eadce69b 100644 --- a/Test/git-issues/git-issue-1514.dfy +++ b/Test/git-issues/git-issue-1514.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "Wrappers.dfy" import opened Wrappers diff --git a/Test/git-issues/git-issue-1514.dfy.expect b/Test/git-issues/git-issue-1514.dfy.expect index 2f22d47cee8..b5754e20373 100644 --- a/Test/git-issues/git-issue-1514.dfy.expect +++ b/Test/git-issues/git-issue-1514.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-1514b.dfy b/Test/git-issues/git-issue-1514b.dfy index 1d8cd122d28..050a4a71760 100644 --- a/Test/git-issues/git-issue-1514b.dfy +++ b/Test/git-issues/git-issue-1514b.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "Wrappers.dfy" import opened Wrappers diff --git a/Test/git-issues/git-issue-1514b.dfy.expect b/Test/git-issues/git-issue-1514b.dfy.expect index 2f22d47cee8..b5754e20373 100644 --- a/Test/git-issues/git-issue-1514b.dfy.expect +++ b/Test/git-issues/git-issue-1514b.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-1514c.dfy b/Test/git-issues/git-issue-1514c.dfy index d9df7d108c1..578316f217c 100644 --- a/Test/git-issues/git-issue-1514c.dfy +++ b/Test/git-issues/git-issue-1514c.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "Wrappers.dfy" import opened Wrappers diff --git a/Test/git-issues/git-issue-1514c.dfy.expect b/Test/git-issues/git-issue-1514c.dfy.expect index 694254c28aa..9766475a418 100644 --- a/Test/git-issues/git-issue-1514c.dfy.expect +++ b/Test/git-issues/git-issue-1514c.dfy.expect @@ -1,8 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification -ok - -Dafny program verifier did not attempt verification ok diff --git a/Test/git-issues/git-issue-1553.dfy b/Test/git-issues/git-issue-1553.dfy index 6267018c92d..81cbef7aa7e 100644 --- a/Test/git-issues/git-issue-1553.dfy +++ b/Test/git-issues/git-issue-1553.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { } method Test() { diff --git a/Test/git-issues/git-issue-1553.dfy.expect b/Test/git-issues/git-issue-1553.dfy.expect index 65d3b5d6635..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-1553.dfy.expect +++ b/Test/git-issues/git-issue-1553.dfy.expect @@ -1,10 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-1604b.dfy b/Test/git-issues/git-issue-1604b.dfy index 497ee5017d5..d7c4169ec60 100644 --- a/Test/git-issues/git-issue-1604b.dfy +++ b/Test/git-issues/git-issue-1604b.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /errorLimit:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --error-limit:0 --relax-definite-assignment // Double constraints. Will this still work? diff --git a/Test/git-issues/git-issue-1604b.dfy.expect b/Test/git-issues/git-issue-1604b.dfy.expect index 93d7203e654..b5754e20373 100644 --- a/Test/git-issues/git-issue-1604b.dfy.expect +++ b/Test/git-issues/git-issue-1604b.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 5 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-1714.dfy b/Test/git-issues/git-issue-1714.dfy index 6ce8915a7af..540a41c39cb 100644 --- a/Test/git-issues/git-issue-1714.dfy +++ b/Test/git-issues/git-issue-1714.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait Base {} class Derived extends Base { var n: int constructor() { n := 0; } } diff --git a/Test/git-issues/git-issue-1714.dfy.expect b/Test/git-issues/git-issue-1714.dfy.expect index 67dd7d95642..88039063d09 100644 --- a/Test/git-issues/git-issue-1714.dfy.expect +++ b/Test/git-issues/git-issue-1714.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors (b as Derived).n == 0 diff --git a/Test/git-issues/git-issue-1815a.dfy b/Test/git-issues/git-issue-1815a.dfy index 91fb7a32aa6..72d55a1cb4f 100644 --- a/Test/git-issues/git-issue-1815a.dfy +++ b/Test/git-issues/git-issue-1815a.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Dt<+U> = Dt(x: U, i: int) diff --git a/Test/git-issues/git-issue-1815a.dfy.expect b/Test/git-issues/git-issue-1815a.dfy.expect index 7b2651302d9..19f86f493ab 100644 --- a/Test/git-issues/git-issue-1815a.dfy.expect +++ b/Test/git-issues/git-issue-1815a.dfy.expect @@ -1,17 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification -done - -Dafny program verifier did not attempt verification -done - -Dafny program verifier did not attempt verification -done - -Dafny program verifier did not attempt verification -done - -Dafny program verifier did not attempt verification done diff --git a/Test/git-issues/git-issue-1852.dfy b/Test/git-issues/git-issue-1852.dfy index 516835e8ea8..046f3fca1fc 100644 --- a/Test/git-issues/git-issue-1852.dfy +++ b/Test/git-issues/git-issue-1852.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module A { export diff --git a/Test/git-issues/git-issue-1852.dfy.expect b/Test/git-issues/git-issue-1852.dfy.expect index e9cd0ea2e07..299a71f3fe4 100644 --- a/Test/git-issues/git-issue-1852.dfy.expect +++ b/Test/git-issues/git-issue-1852.dfy.expect @@ -1,8 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification -5 5 - -Dafny program verifier did not attempt verification 5 5 diff --git a/Test/git-issues/git-issue-1903.dfy b/Test/git-issues/git-issue-1903.dfy index 7edb2a46c61..60ee1c121ab 100644 --- a/Test/git-issues/git-issue-1903.dfy +++ b/Test/git-issues/git-issue-1903.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method g(x : seq := []) { diff --git a/Test/git-issues/git-issue-1903.dfy.expect b/Test/git-issues/git-issue-1903.dfy.expect index 3170fb0c7f2..84cc8d360f9 100644 --- a/Test/git-issues/git-issue-1903.dfy.expect +++ b/Test/git-issues/git-issue-1903.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors worked! diff --git a/Test/git-issues/git-issue-1909.dfy b/Test/git-issues/git-issue-1909.dfy index 7fb5b3b8c48..83d9ec1d785 100644 --- a/Test/git-issues/git-issue-1909.dfy +++ b/Test/git-issues/git-issue-1909.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype ABC = ABC(nameonly a: int, nameonly b: int, nameonly c: int) diff --git a/Test/git-issues/git-issue-1909.dfy.expect b/Test/git-issues/git-issue-1909.dfy.expect index b4eb7e7774e..ab6f7d69d36 100644 --- a/Test/git-issues/git-issue-1909.dfy.expect +++ b/Test/git-issues/git-issue-1909.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors ABC.ABC(19, 21, 23) ABC.ABC(19, 42, 23) ABC.ABC(100, 42, 90) diff --git a/Test/git-issues/git-issue-2013.dfy b/Test/git-issues/git-issue-2013.dfy index d1d3e15880e..1f3962988ee 100644 --- a/Test/git-issues/git-issue-2013.dfy +++ b/Test/git-issues/git-issue-2013.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/git-issues/git-issue-2013.dfy.expect b/Test/git-issues/git-issue-2013.dfy.expect index 7ff6ce957cf..22e56ce7263 100644 --- a/Test/git-issues/git-issue-2013.dfy.expect +++ b/Test/git-issues/git-issue-2013.dfy.expect @@ -1,55 +1,3 @@ - -Dafny program verifier finished with 12 verified, 0 errors - -Dafny program verifier did not attempt verification -16 -16 -12 30 30 -Result.Success(8) Result.Failure(_module.MyClassException) -{100} {100} {100} -{MoreTests.C} {MoreTests.C} {MoreTests.C} -100 100 100 -MoreTests.C MoreTests.C MoreTests.C -Conveyance.NonVariantResult.NVSuccess(Conveyance.Car) Conveyance.CovariantResult.CVSuccess(Conveyance.Car) -M.Stream.Next - -Dafny program verifier did not attempt verification -16 -16 -12 30 30 -Result.Success(8) Result.Failure(_module.MyClassException) -{100} {100} {100} -{MoreTests.C} {MoreTests.C} {MoreTests.C} -100 100 100 -MoreTests.C MoreTests.C MoreTests.C -Conveyance.NonVariantResult.NVSuccess(Conveyance.Car) Conveyance.CovariantResult.CVSuccess(Conveyance.Car) -M.Stream.Next - -Dafny program verifier did not attempt verification -16 -16 -12 30 30 -Result.Success(8) Result.Failure(_module.MyClassException) -{100} {100} {100} -{MoreTests.C} {MoreTests.C} {MoreTests.C} -100 100 100 -MoreTests.C MoreTests.C MoreTests.C -Conveyance.NonVariantResult.NVSuccess(Conveyance.Car) Conveyance.CovariantResult.CVSuccess(Conveyance.Car) -M.Stream.Next - -Dafny program verifier did not attempt verification -16 -16 -12 30 30 -Result.Success(8) Result.Failure(_module.MyClassException) -{100} {100} {100} -{MoreTests.C} {MoreTests.C} {MoreTests.C} -100 100 100 -MoreTests.C MoreTests.C MoreTests.C -Conveyance.NonVariantResult.NVSuccess(Conveyance.Car) Conveyance.CovariantResult.CVSuccess(Conveyance.Car) -M.Stream.Next - -Dafny program verifier did not attempt verification 16 16 12 30 30 diff --git a/Test/git-issues/git-issue-2441.dfy b/Test/git-issues/git-issue-2441.dfy index bc9c8721ee2..4179ecc87bc 100644 --- a/Test/git-issues/git-issue-2441.dfy +++ b/Test/git-issues/git-issue-2441.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype A = A(B: B) datatype B = X diff --git a/Test/git-issues/git-issue-2441.dfy.expect b/Test/git-issues/git-issue-2441.dfy.expect index 0c3f603d584..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-2441.dfy.expect +++ b/Test/git-issues/git-issue-2441.dfy.expect @@ -1,6 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-2510.dfy b/Test/git-issues/git-issue-2510.dfy index 22ef8e47058..11ee2877bb3 100644 --- a/Test/git-issues/git-issue-2510.dfy +++ b/Test/git-issues/git-issue-2510.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:4 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /// Check that the compiler accepts `:- assume {:axiom} …`. diff --git a/Test/git-issues/git-issue-2510.dfy.expect b/Test/git-issues/git-issue-2510.dfy.expect index b341a39a78d..56a6051ca2b 100644 --- a/Test/git-issues/git-issue-2510.dfy.expect +++ b/Test/git-issues/git-issue-2510.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors 1 \ No newline at end of file diff --git a/Test/git-issues/git-issue-2608.dfy b/Test/git-issues/git-issue-2608.dfy index 459c9ffbf94..c606177f94f 100644 --- a/Test/git-issues/git-issue-2608.dfy +++ b/Test/git-issues/git-issue-2608.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /compileTarget:js "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method GetNext(i: int) returns (j: int, possible: bool) { if i == 1 { diff --git a/Test/git-issues/git-issue-2608.dfy.expect b/Test/git-issues/git-issue-2608.dfy.expect index dce7ba1814a..d9ed583f710 100644 --- a/Test/git-issues/git-issue-2608.dfy.expect +++ b/Test/git-issues/git-issue-2608.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors 82411246231944714271214 \ No newline at end of file diff --git a/Test/git-issues/git-issue-262.dfy b/Test/git-issues/git-issue-262.dfy index 2c00ad94a39..22d9a31b2fe 100644 --- a/Test/git-issues/git-issue-262.dfy +++ b/Test/git-issues/git-issue-262.dfy @@ -1,8 +1,5 @@ -// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" -// RUN: %dafny /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function tst(x: nat): nat { x + 1 diff --git a/Test/git-issues/git-issue-262.dfy.expect b/Test/git-issues/git-issue-262.dfy.expect index 76af42cd4a3..41d8cd55158 100644 --- a/Test/git-issues/git-issue-262.dfy.expect +++ b/Test/git-issues/git-issue-262.dfy.expect @@ -1,20 +1,2 @@ - -Dafny program verifier finished with 2 verified, 0 errors System.Func`2[System.Numerics.BigInteger,System.Numerics.BigInteger] System.Func`2[System.Numerics.BigInteger,System.Numerics.BigInteger] - -Dafny program verifier finished with 2 verified, 0 errors -tst(x) { - return (x).plus(_dafny.ONE); - } -tst(x) { - return (x).plus(_dafny.ONE); - } - -Dafny program verifier finished with 2 verified, 0 errors -func(dafny.Int) dafny.Int -func(dafny.Int) dafny.Int - -Dafny program verifier finished with 2 verified, 0 errors -Function -Function diff --git a/Test/git-issues/git-issue-262.dfy.go.expect b/Test/git-issues/git-issue-262.dfy.go.expect new file mode 100644 index 00000000000..578754c176c --- /dev/null +++ b/Test/git-issues/git-issue-262.dfy.go.expect @@ -0,0 +1,2 @@ +func(dafny.Int) dafny.Int +func(dafny.Int) dafny.Int diff --git a/Test/git-issues/git-issue-262.dfy.java.expect b/Test/git-issues/git-issue-262.dfy.java.expect new file mode 100644 index 00000000000..aa5478ef8c9 --- /dev/null +++ b/Test/git-issues/git-issue-262.dfy.java.expect @@ -0,0 +1,2 @@ +Function +Function diff --git a/Test/git-issues/git-issue-262.dfy.js.expect b/Test/git-issues/git-issue-262.dfy.js.expect new file mode 100644 index 00000000000..e181ef2fef8 --- /dev/null +++ b/Test/git-issues/git-issue-262.dfy.js.expect @@ -0,0 +1,6 @@ +tst(x) { + return (x).plus(_dafny.ONE); + } +tst(x) { + return (x).plus(_dafny.ONE); + } diff --git a/Test/git-issues/git-issue-267.dfy b/Test/git-issues/git-issue-267.dfy index cef2fcc6c17..2b0b3281589 100644 --- a/Test/git-issues/git-issue-267.dfy +++ b/Test/git-issues/git-issue-267.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var c := 1; diff --git a/Test/git-issues/git-issue-267.dfy.expect b/Test/git-issues/git-issue-267.dfy.expect index d71aef2f440..cd7da05e3d2 100644 --- a/Test/git-issues/git-issue-267.dfy.expect +++ b/Test/git-issues/git-issue-267.dfy.expect @@ -1,14 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification -210 - -Dafny program verifier did not attempt verification -210 - -Dafny program verifier did not attempt verification -210 - -Dafny program verifier did not attempt verification 210 diff --git a/Test/git-issues/git-issue-2672.dfy b/Test/git-issues/git-issue-2672.dfy index 338299ee8b7..52c5b9c638c 100644 --- a/Test/git-issues/git-issue-2672.dfy +++ b/Test/git-issues/git-issue-2672.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment newtype sreal = r: real | r > -4 as real newtype sint = r: int | r > -4 as int diff --git a/Test/git-issues/git-issue-2672.dfy.expect b/Test/git-issues/git-issue-2672.dfy.expect index c9c3244b6f4..43440a83d53 100644 --- a/Test/git-issues/git-issue-2672.dfy.expect +++ b/Test/git-issues/git-issue-2672.dfy.expect @@ -1,47 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors - -Dafny program verifier did not attempt verification -true true true true true true true true true true -false false false false false false false false false false -false false false false false false false false false false -true true true true true true true true true true -true true true true true true true true true true -false false false false false false false false false false -true true true -false false false - -Dafny program verifier did not attempt verification -true true true true true true true true true true -false false false false false false false false false false -false false false false false false false false false false -true true true true true true true true true true -true true true true true true true true true true -false false false false false false false false false false -true true true -false false false - -Dafny program verifier did not attempt verification -true true true true true true true true true true -false false false false false false false false false false -false false false false false false false false false false -true true true true true true true true true true -true true true true true true true true true true -false false false false false false false false false false -true true true -false false false - -Dafny program verifier did not attempt verification -true true true true true true true true true true -false false false false false false false false false false -false false false false false false false false false false -true true true true true true true true true true -true true true true true true true true true true -false false false false false false false false false false -true true true -false false false - -Dafny program verifier did not attempt verification true true true true true true true true true true false false false false false false false false false false false false false false false false false false false false diff --git a/Test/git-issues/git-issue-2726a.dfy b/Test/git-issues/git-issue-2726a.dfy index 641fefbbdc4..a43d5dd0107 100644 --- a/Test/git-issues/git-issue-2726a.dfy +++ b/Test/git-issues/git-issue-2726a.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /compileTarget:cs "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment const digits := ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"] diff --git a/Test/git-issues/git-issue-2726a.dfy.expect b/Test/git-issues/git-issue-2726a.dfy.expect index 6985935c88c..8e1bedb2a64 100644 --- a/Test/git-issues/git-issue-2726a.dfy.expect +++ b/Test/git-issues/git-issue-2726a.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors 4 42 422 diff --git a/Test/git-issues/git-issue-2733.dfy b/Test/git-issues/git-issue-2733.dfy index 232eab3cc74..65bc2b991fd 100644 --- a/Test/git-issues/git-issue-2733.dfy +++ b/Test/git-issues/git-issue-2733.dfy @@ -1,11 +1,4 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cpp "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false method Main() { print "XYZ"; // Checks that no extra newline is added to the output diff --git a/Test/git-issues/git-issue-2733.dfy.expect b/Test/git-issues/git-issue-2733.dfy.expect index b139e2f3d58..77bf25132db 100644 --- a/Test/git-issues/git-issue-2733.dfy.expect +++ b/Test/git-issues/git-issue-2733.dfy.expect @@ -1,15 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification -XYZ -Dafny program verifier did not attempt verification -XYZ -Dafny program verifier did not attempt verification -XYZ -Dafny program verifier did not attempt verification -XYZ -Dafny program verifier did not attempt verification -XYZ -Dafny program verifier did not attempt verification XYZ \ No newline at end of file diff --git a/Test/git-issues/git-issue-2792.dfy b/Test/git-issues/git-issue-2792.dfy index 89e736667c0..d2fb9db2055 100644 --- a/Test/git-issues/git-issue-2792.dfy +++ b/Test/git-issues/git-issue-2792.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /compileTarget:java "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Wrapper = Wrapper(s: seq) { diff --git a/Test/git-issues/git-issue-2792.dfy.expect b/Test/git-issues/git-issue-2792.dfy.expect index c1e603c58fe..ca1683c3020 100644 --- a/Test/git-issues/git-issue-2792.dfy.expect +++ b/Test/git-issues/git-issue-2792.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors [] Wrapper2.Wrapper2([], 2792) diff --git a/Test/git-issues/git-issue-283.dfy b/Test/git-issues/git-issue-283.dfy index c7c10f4aea3..1ca6d48d32c 100644 --- a/Test/git-issues/git-issue-283.dfy +++ b/Test/git-issues/git-issue-283.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Result = | Success(value: T) diff --git a/Test/git-issues/git-issue-283.dfy.expect b/Test/git-issues/git-issue-283.dfy.expect index 2adb114b8a0..a965a70ed4e 100644 --- a/Test/git-issues/git-issue-283.dfy.expect +++ b/Test/git-issues/git-issue-283.dfy.expect @@ -1,14 +1 @@ - -Dafny program verifier finished with 9 verified, 0 errors - -Dafny program verifier did not attempt verification -Done - -Dafny program verifier did not attempt verification -Done - -Dafny program verifier did not attempt verification -Done - -Dafny program verifier did not attempt verification Done diff --git a/Test/git-issues/git-issue-283d.dfy b/Test/git-issues/git-issue-283d.dfy index 54ee58fb456..46c1056d5e1 100644 --- a/Test/git-issues/git-issue-283d.dfy +++ b/Test/git-issues/git-issue-283d.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Foo = R(v: int) diff --git a/Test/git-issues/git-issue-283d.dfy.expect b/Test/git-issues/git-issue-283d.dfy.expect index 8da23be5c8c..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-283d.dfy.expect +++ b/Test/git-issues/git-issue-283d.dfy.expect @@ -1,10 +0,0 @@ - -Dafny program verifier finished with 4 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-314.dfy b/Test/git-issues/git-issue-314.dfy index 5e3e93ca654..a7fc06564a5 100644 --- a/Test/git-issues/git-issue-314.dfy +++ b/Test/git-issues/git-issue-314.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype S = S(G: array) datatype T = T(F: array, ghost Repr: set) diff --git a/Test/git-issues/git-issue-314.dfy.expect b/Test/git-issues/git-issue-314.dfy.expect index f02fc57989a..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-314.dfy.expect +++ b/Test/git-issues/git-issue-314.dfy.expect @@ -1,10 +0,0 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-332.dfy b/Test/git-issues/git-issue-332.dfy index ca2b08f3e8d..5166441405d 100644 --- a/Test/git-issues/git-issue-332.dfy +++ b/Test/git-issues/git-issue-332.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var foo := new B.Foo(15); diff --git a/Test/git-issues/git-issue-332.dfy.expect b/Test/git-issues/git-issue-332.dfy.expect index 57cad39addf..209e3ef4b62 100644 --- a/Test/git-issues/git-issue-332.dfy.expect +++ b/Test/git-issues/git-issue-332.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 6 verified, 0 errors 20 diff --git a/Test/git-issues/git-issue-354.dfy b/Test/git-issues/git-issue-354.dfy index 5938c2f71ae..c3d63021209 100644 --- a/Test/git-issues/git-issue-354.dfy +++ b/Test/git-issues/git-issue-354.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class C { static const u: X diff --git a/Test/git-issues/git-issue-354.dfy.expect b/Test/git-issues/git-issue-354.dfy.expect index cb5ae21dc46..4368562357f 100644 --- a/Test/git-issues/git-issue-354.dfy.expect +++ b/Test/git-issues/git-issue-354.dfy.expect @@ -1,25 +1,3 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification -0 -0 -0.0 -false - -Dafny program verifier did not attempt verification -0 -0 -0.0 -false - -Dafny program verifier did not attempt verification -0 -0 -0.0 -false - -Dafny program verifier did not attempt verification 0 0 0.0 diff --git a/Test/git-issues/git-issue-356.dfy b/Test/git-issues/git-issue-356.dfy index f5c34b0803b..2d497c0531c 100644 --- a/Test/git-issues/git-issue-356.dfy +++ b/Test/git-issues/git-issue-356.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false module M { type Tx = i: int | 0 <= i <= 100 diff --git a/Test/git-issues/git-issue-356.dfy.expect b/Test/git-issues/git-issue-356.dfy.expect index cff4ed233e1..9d984ec4ef4 100644 --- a/Test/git-issues/git-issue-356.dfy.expect +++ b/Test/git-issues/git-issue-356.dfy.expect @@ -1,39 +1,3 @@ - -Dafny program verifier finished with 25 verified, 0 errors - -Dafny program verifier did not attempt verification -a d 57005 * * -Z 90 90.0 90 90 -* 42 42.0 42 42 -F 70 70.0 70 70 -# 35 35.0 35 35 -END - -Dafny program verifier did not attempt verification -a d 57005 * * -Z 90 90.0 90 90 -* 42 42.0 42 42 -F 70 70.0 70 70 -# 35 35.0 35 35 -END - -Dafny program verifier did not attempt verification -a d 57005 * * -Z 90 90.0 90 90 -* 42 42.0 42 42 -F 70 70.0 70 70 -# 35 35.0 35 35 -END - -Dafny program verifier did not attempt verification -a d 57005 * * -Z 90 90.0 90 90 -* 42 42.0 42 42 -F 70 70.0 70 70 -# 35 35.0 35 35 -END - -Dafny program verifier did not attempt verification a d 57005 * * Z 90 90.0 90 90 * 42 42.0 42 42 diff --git a/Test/git-issues/git-issue-364.dfy b/Test/git-issues/git-issue-364.dfy index 0fdedc7d9c0..68c75931746 100644 --- a/Test/git-issues/git-issue-364.dfy +++ b/Test/git-issues/git-issue-364.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype NatOutcome = | Success(value: nat) diff --git a/Test/git-issues/git-issue-364.dfy.expect b/Test/git-issues/git-issue-364.dfy.expect index 1368349d437..38478c6c688 100644 --- a/Test/git-issues/git-issue-364.dfy.expect +++ b/Test/git-issues/git-issue-364.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 4 verified, 0 errors NatOutcome.Success(55) false 55 12 0 NatOutcome.Failure("it could be worse") true NatOutcome.Failure("it could be worse") diff --git a/Test/git-issues/git-issue-374.dfy b/Test/git-issues/git-issue-374.dfy index 4c031b7d3ff..15b56ec6396 100644 --- a/Test/git-issues/git-issue-374.dfy +++ b/Test/git-issues/git-issue-374.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class C { constructor(ghost x: int) diff --git a/Test/git-issues/git-issue-374.dfy.expect b/Test/git-issues/git-issue-374.dfy.expect index f02fc57989a..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-374.dfy.expect +++ b/Test/git-issues/git-issue-374.dfy.expect @@ -1,10 +0,0 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-396.dfy b/Test/git-issues/git-issue-396.dfy index 2ab68e51e12..7866d3d0498 100644 --- a/Test/git-issues/git-issue-396.dfy +++ b/Test/git-issues/git-issue-396.dfy @@ -1,8 +1,4 @@ -// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" -// RUN: %dafny /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Foo = Bar(value: int) diff --git a/Test/git-issues/git-issue-396.dfy.expect b/Test/git-issues/git-issue-396.dfy.expect index 3dd340d3178..dee79f10940 100644 --- a/Test/git-issues/git-issue-396.dfy.expect +++ b/Test/git-issues/git-issue-396.dfy.expect @@ -1,12 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors -114 - -Dafny program verifier finished with 1 verified, 0 errors -114 - -Dafny program verifier finished with 1 verified, 0 errors -114 - -Dafny program verifier finished with 1 verified, 0 errors 114 diff --git a/Test/git-issues/git-issue-4007.dfy b/Test/git-issues/git-issue-4007.dfy index e4c25b82bb8..5a279e7b8e6 100644 --- a/Test/git-issues/git-issue-4007.dfy +++ b/Test/git-issues/git-issue-4007.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:4 /compileTarget:py "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var a := 0; @@ -7,4 +6,4 @@ method Main() { a := a + 1; } print a, "\n"; -} \ No newline at end of file +} diff --git a/Test/git-issues/git-issue-4007.dfy.expect b/Test/git-issues/git-issue-4007.dfy.expect index 3ce6919d35b..00750edc07d 100644 --- a/Test/git-issues/git-issue-4007.dfy.expect +++ b/Test/git-issues/git-issue-4007.dfy.expect @@ -1,4 +1 @@ -git-issue-4007.dfy(6,20): Warning: /!\ No terms found to trigger on. - -Dafny program verifier finished with 1 verified, 0 errors 3 diff --git a/Test/git-issues/git-issue-4007.dfy.verifier.expect b/Test/git-issues/git-issue-4007.dfy.verifier.expect new file mode 100644 index 00000000000..1d4310d09b5 --- /dev/null +++ b/Test/git-issues/git-issue-4007.dfy.verifier.expect @@ -0,0 +1 @@ +git-issue-4007.dfy(5,20): Warning: /!\ No terms found to trigger on. diff --git a/Test/git-issues/git-issue-4012.dfy b/Test/git-issues/git-issue-4012.dfy index e065393a211..5360c0e935b 100644 --- a/Test/git-issues/git-issue-4012.dfy +++ b/Test/git-issues/git-issue-4012.dfy @@ -1,8 +1,7 @@ -// RUN: %dafny /compile:4 /compileTarget:py "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var x: multiset := multiset{}; x := x[1 := 18446744073709551616]; print |x|, "\n"; -} \ No newline at end of file +} diff --git a/Test/git-issues/git-issue-4012.dfy.expect b/Test/git-issues/git-issue-4012.dfy.expect index 230fbdbd384..ab69b99fab4 100644 --- a/Test/git-issues/git-issue-4012.dfy.expect +++ b/Test/git-issues/git-issue-4012.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors 18446744073709551616 diff --git a/Test/git-issues/git-issue-425.dfy b/Test/git-issues/git-issue-425.dfy index 4e555daaed0..122a10e4fbb 100644 --- a/Test/git-issues/git-issue-425.dfy +++ b/Test/git-issues/git-issue-425.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method M() returns (x: int, ghost y: int) { return 42, 43; diff --git a/Test/git-issues/git-issue-425.dfy.expect b/Test/git-issues/git-issue-425.dfy.expect index c2284013d9e..daaac9e3030 100644 --- a/Test/git-issues/git-issue-425.dfy.expect +++ b/Test/git-issues/git-issue-425.dfy.expect @@ -1,18 +1,2 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification -42 -42 - -Dafny program verifier did not attempt verification -42 -42 - -Dafny program verifier did not attempt verification -42 -42 - -Dafny program verifier did not attempt verification 42 42 diff --git a/Test/git-issues/git-issue-443.dfy b/Test/git-issues/git-issue-443.dfy index e8745b5ddda..6702e37484f 100644 --- a/Test/git-issues/git-issue-443.dfy +++ b/Test/git-issues/git-issue-443.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { print F(), " ", G(802.11), "\n"; // 12 15 diff --git a/Test/git-issues/git-issue-443.dfy.expect b/Test/git-issues/git-issue-443.dfy.expect index 10af01216da..0b64712fdcf 100644 --- a/Test/git-issues/git-issue-443.dfy.expect +++ b/Test/git-issues/git-issue-443.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors 12 15 diff --git a/Test/git-issues/git-issue-446.dfy b/Test/git-issues/git-issue-446.dfy index 0656587fd03..a66a9272d18 100644 --- a/Test/git-issues/git-issue-446.dfy +++ b/Test/git-issues/git-issue-446.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Result = Success(value: T) | Failure(error: string) { diff --git a/Test/git-issues/git-issue-446.dfy.expect b/Test/git-issues/git-issue-446.dfy.expect index 18195d22344..8165c2056d0 100644 --- a/Test/git-issues/git-issue-446.dfy.expect +++ b/Test/git-issues/git-issue-446.dfy.expect @@ -1,22 +1,3 @@ - -Dafny program verifier finished with 9 verified, 0 errors - -Dafny program verifier did not attempt verification -true -2 -true 42 -End - -Dafny program verifier did not attempt verification -true -2 -true 42 -End - -Dafny program verifier did not attempt verification -true -2 -true 42 -End - -Dafny program verifier did not attempt verification true -2 true 42 End diff --git a/Test/git-issues/git-issue-446a.dfy b/Test/git-issues/git-issue-446a.dfy index 41917680fee..2c559cea76d 100644 --- a/Test/git-issues/git-issue-446a.dfy +++ b/Test/git-issues/git-issue-446a.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Result = Success(value: T) | Failure(error: string) { diff --git a/Test/git-issues/git-issue-446a.dfy.expect b/Test/git-issues/git-issue-446a.dfy.expect index fbf9ee6f31d..9897e1c3f56 100644 --- a/Test/git-issues/git-issue-446a.dfy.expect +++ b/Test/git-issues/git-issue-446a.dfy.expect @@ -1,22 +1,3 @@ - -Dafny program verifier finished with 9 verified, 0 errors - -Dafny program verifier did not attempt verification -OK -true OK -true -2 End - -Dafny program verifier did not attempt verification -OK -true OK -true -2 End - -Dafny program verifier did not attempt verification -OK -true OK -true -2 End - -Dafny program verifier did not attempt verification OK true OK true -2 End diff --git a/Test/git-issues/git-issue-446b.dfy b/Test/git-issues/git-issue-446b.dfy index aa7ac30d9a7..79e55d9a1f8 100644 --- a/Test/git-issues/git-issue-446b.dfy +++ b/Test/git-issues/git-issue-446b.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Result = Success(value: T) | Failure(error: string) { diff --git a/Test/git-issues/git-issue-446b.dfy.expect b/Test/git-issues/git-issue-446b.dfy.expect index 0e99363fdb9..36fdd8ba47b 100644 --- a/Test/git-issues/git-issue-446b.dfy.expect +++ b/Test/git-issues/git-issue-446b.dfy.expect @@ -1,28 +1,3 @@ - -Dafny program verifier finished with 10 verified, 0 errors - -Dafny program verifier did not attempt verification -OK -true OK -true -2 -true 100 -End - -Dafny program verifier did not attempt verification -OK -true OK -true -2 -true 100 -End - -Dafny program verifier did not attempt verification -OK -true OK -true -2 -true 100 -End - -Dafny program verifier did not attempt verification OK true OK true -2 diff --git a/Test/git-issues/git-issue-478-good.dfy b/Test/git-issues/git-issue-478-good.dfy index b3fab26a312..9abce41e97c 100644 --- a/Test/git-issues/git-issue-478-good.dfy +++ b/Test/git-issues/git-issue-478-good.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // By first defining import LibA and then defining a module LibA, // the latter used to generate: diff --git a/Test/git-issues/git-issue-478-good.dfy.expect b/Test/git-issues/git-issue-478-good.dfy.expect index 17aea610943..6807b84eba5 100644 --- a/Test/git-issues/git-issue-478-good.dfy.expect +++ b/Test/git-issues/git-issue-478-good.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors hello hello hi diff --git a/Test/git-issues/git-issue-506.dfy b/Test/git-issues/git-issue-506.dfy index d25596621de..b2a409951a1 100644 --- a/Test/git-issues/git-issue-506.dfy +++ b/Test/git-issues/git-issue-506.dfy @@ -1,8 +1,4 @@ -// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" -// RUN: %dafny /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/git-issues/git-issue-506.dfy.expect b/Test/git-issues/git-issue-506.dfy.expect index e2bb6d644d9..ef2606ec5dc 100644 --- a/Test/git-issues/git-issue-506.dfy.expect +++ b/Test/git-issues/git-issue-506.dfy.expect @@ -1,29 +1,3 @@ - -Dafny program verifier finished with 2 verified, 0 errors -7 301 -8 391 -2 2 -4 5 -6 7 -2 3 7 0 - -Dafny program verifier finished with 2 verified, 0 errors -7 301 -8 391 -2 2 -4 5 -6 7 -2 3 7 0 - -Dafny program verifier finished with 2 verified, 0 errors -7 301 -8 391 -2 2 -4 5 -6 7 -2 3 7 0 - -Dafny program verifier finished with 2 verified, 0 errors 7 301 8 391 2 2 diff --git a/Test/git-issues/git-issue-532.dfy b/Test/git-issues/git-issue-532.dfy index 3d511dbb4c8..2a2b5aaaf2e 100644 --- a/Test/git-issues/git-issue-532.dfy +++ b/Test/git-issues/git-issue-532.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment predicate SuppressNoTriggerWarning(x: X) { true } diff --git a/Test/git-issues/git-issue-532.dfy.expect b/Test/git-issues/git-issue-532.dfy.expect index 1bd9e82cc5a..0f3ef3de427 100644 --- a/Test/git-issues/git-issue-532.dfy.expect +++ b/Test/git-issues/git-issue-532.dfy.expect @@ -1,22 +1,3 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification -t.x=5 The given Tr is a C, and c.y=6 -t.x=100 The given Tr is not a C -t.x=5 The given Tr is a C, and c.y=16 - -Dafny program verifier did not attempt verification -t.x=5 The given Tr is a C, and c.y=6 -t.x=100 The given Tr is not a C -t.x=5 The given Tr is a C, and c.y=16 - -Dafny program verifier did not attempt verification -t.x=5 The given Tr is a C, and c.y=6 -t.x=100 The given Tr is not a C -t.x=5 The given Tr is a C, and c.y=16 - -Dafny program verifier did not attempt verification t.x=5 The given Tr is a C, and c.y=6 t.x=100 The given Tr is not a C t.x=5 The given Tr is a C, and c.y=16 diff --git a/Test/git-issues/git-issue-549.dfy b/Test/git-issues/git-issue-549.dfy index 2e5ab322f23..d362a0bd039 100644 --- a/Test/git-issues/git-issue-549.dfy +++ b/Test/git-issues/git-issue-549.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait T { function bar(): bv8 diff --git a/Test/git-issues/git-issue-549.dfy.expect b/Test/git-issues/git-issue-549.dfy.expect index 3ae509fee5e..6e0790e778e 100644 --- a/Test/git-issues/git-issue-549.dfy.expect +++ b/Test/git-issues/git-issue-549.dfy.expect @@ -1,10 +1,2 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification -bar() = 1 -bar() = 1 - -Dafny program verifier did not attempt verification bar() = 1 bar() = 1 diff --git a/Test/git-issues/git-issue-622$f.dfy b/Test/git-issues/git-issue-622$f.dfy index fe4fdf38e03..2a7003e0f4e 100644 --- a/Test/git-issues/git-issue-622$f.dfy +++ b/Test/git-issues/git-issue-622$f.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /compileTarget:java /spillTargetCode:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method Main() { } diff --git a/Test/git-issues/git-issue-622$f.dfy.expect b/Test/git-issues/git-issue-622$f.dfy.expect index 012f5b99379..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-622$f.dfy.expect +++ b/Test/git-issues/git-issue-622$f.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/git-issues/git-issue-684.dfy b/Test/git-issues/git-issue-684.dfy index b1fbd7ab036..4c2b0a8fa02 100644 --- a/Test/git-issues/git-issue-684.dfy +++ b/Test/git-issues/git-issue-684.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Level1 = Level1(u:int) datatype Level2 = Level2(u:int, l:Level1) diff --git a/Test/git-issues/git-issue-684.dfy.expect b/Test/git-issues/git-issue-684.dfy.expect index 65d3b5d6635..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-684.dfy.expect +++ b/Test/git-issues/git-issue-684.dfy.expect @@ -1,10 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-686.dfy b/Test/git-issues/git-issue-686.dfy index bbc975200c8..9845ce2b027 100644 --- a/Test/git-issues/git-issue-686.dfy +++ b/Test/git-issues/git-issue-686.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Color = Blue | Red diff --git a/Test/git-issues/git-issue-686.dfy.expect b/Test/git-issues/git-issue-686.dfy.expect index f30b0581688..c12f8e66df2 100644 --- a/Test/git-issues/git-issue-686.dfy.expect +++ b/Test/git-issues/git-issue-686.dfy.expect @@ -1,24 +1 @@ -git-issue-686.dfy(13,2): Warning: this branch is redundant -git-issue-686.dfy(21,2): Warning: this branch is redundant - -Dafny program verifier finished with 1 verified, 0 errors -git-issue-686.dfy(13,2): Warning: this branch is redundant -git-issue-686.dfy(21,2): Warning: this branch is redundant - -Dafny program verifier did not attempt verification -6 0 -git-issue-686.dfy(13,2): Warning: this branch is redundant -git-issue-686.dfy(21,2): Warning: this branch is redundant - -Dafny program verifier did not attempt verification -6 0 -git-issue-686.dfy(13,2): Warning: this branch is redundant -git-issue-686.dfy(21,2): Warning: this branch is redundant - -Dafny program verifier did not attempt verification -6 0 -git-issue-686.dfy(13,2): Warning: this branch is redundant -git-issue-686.dfy(21,2): Warning: this branch is redundant - -Dafny program verifier did not attempt verification 6 0 diff --git a/Test/git-issues/git-issue-686.dfy.verifier.expect b/Test/git-issues/git-issue-686.dfy.verifier.expect new file mode 100644 index 00000000000..805bd55730c --- /dev/null +++ b/Test/git-issues/git-issue-686.dfy.verifier.expect @@ -0,0 +1,2 @@ +git-issue-686.dfy(8,2): Warning: this branch is redundant +git-issue-686.dfy(16,2): Warning: this branch is redundant diff --git a/Test/git-issues/git-issue-697.dfy b/Test/git-issues/git-issue-697.dfy index 095c1a02399..23cce66dee7 100644 --- a/Test/git-issues/git-issue-697.dfy +++ b/Test/git-issues/git-issue-697.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Cell = Cell(x: int) type EvenCell = c: Cell | c.x % 2 == 0 witness Cell(0) diff --git a/Test/git-issues/git-issue-697.dfy.expect b/Test/git-issues/git-issue-697.dfy.expect index 188a72ebc36..f32a5804e29 100644 --- a/Test/git-issues/git-issue-697.dfy.expect +++ b/Test/git-issues/git-issue-697.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-697b.dfy b/Test/git-issues/git-issue-697b.dfy index cfdd3fd0821..cdb054d8d78 100644 --- a/Test/git-issues/git-issue-697b.dfy +++ b/Test/git-issues/git-issue-697b.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Cell = Cell(x: int) type EvenCell = c: Cell | c.x % 2 == 0 witness Cell(0) diff --git a/Test/git-issues/git-issue-697b.dfy.expect b/Test/git-issues/git-issue-697b.dfy.expect index b355409912b..9c777ac6a0f 100644 --- a/Test/git-issues/git-issue-697b.dfy.expect +++ b/Test/git-issues/git-issue-697b.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors false 2 diff --git a/Test/git-issues/git-issue-697d.dfy b/Test/git-issues/git-issue-697d.dfy index 71a262fc985..8b65c2da4f7 100644 --- a/Test/git-issues/git-issue-697d.dfy +++ b/Test/git-issues/git-issue-697d.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function nonGhostPredicate(x: int): bool { x % 2 == 0 diff --git a/Test/git-issues/git-issue-697d.dfy.expect b/Test/git-issues/git-issue-697d.dfy.expect index 48fb59aeae5..f32a5804e29 100644 --- a/Test/git-issues/git-issue-697d.dfy.expect +++ b/Test/git-issues/git-issue-697d.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 4 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-697e.dfy b/Test/git-issues/git-issue-697e.dfy index e4500bfab28..310851abf9a 100644 --- a/Test/git-issues/git-issue-697e.dfy +++ b/Test/git-issues/git-issue-697e.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Cell = Cell(x: int) type EvenCell = c: Cell | c.x % 2 == 0 witness Cell(0) diff --git a/Test/git-issues/git-issue-697e.dfy.expect b/Test/git-issues/git-issue-697e.dfy.expect index 00a51f822da..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-697e.dfy.expect +++ b/Test/git-issues/git-issue-697e.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 3 verified, 0 errors diff --git a/Test/git-issues/git-issue-697f.dfy b/Test/git-issues/git-issue-697f.dfy index 92d1cec2ed8..acb8810dfbf 100644 --- a/Test/git-issues/git-issue-697f.dfy +++ b/Test/git-issues/git-issue-697f.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment ghost function ghostPredicate(x: int): bool { x % 2 == 0 diff --git a/Test/git-issues/git-issue-697f.dfy.expect b/Test/git-issues/git-issue-697f.dfy.expect index 3e2cf8d0f69..b5754e20373 100644 --- a/Test/git-issues/git-issue-697f.dfy.expect +++ b/Test/git-issues/git-issue-697f.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 4 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-697g.dfy b/Test/git-issues/git-issue-697g.dfy index c3b7581ff61..7b30de7f3a0 100644 --- a/Test/git-issues/git-issue-697g.dfy +++ b/Test/git-issues/git-issue-697g.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function returnNat(c: nat): int { diff --git a/Test/git-issues/git-issue-697g.dfy.expect b/Test/git-issues/git-issue-697g.dfy.expect index d9157fa820a..f32a5804e29 100644 --- a/Test/git-issues/git-issue-697g.dfy.expect +++ b/Test/git-issues/git-issue-697g.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-698.dfy b/Test/git-issues/git-issue-698.dfy index b15295c9b46..7b7a9ca15b8 100644 --- a/Test/git-issues/git-issue-698.dfy +++ b/Test/git-issues/git-issue-698.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment type Small = x: int | 0 <= x < 100 && x != 3 diff --git a/Test/git-issues/git-issue-698.dfy.expect b/Test/git-issues/git-issue-698.dfy.expect index 7f965a65d2e..27ba77ddaf6 100644 --- a/Test/git-issues/git-issue-698.dfy.expect +++ b/Test/git-issues/git-issue-698.dfy.expect @@ -1,8 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification -true - -Dafny program verifier did not attempt verification true diff --git a/Test/git-issues/git-issue-698b.dfy b/Test/git-issues/git-issue-698b.dfy index 1d4a92456e6..dbdbc3b36d3 100644 --- a/Test/git-issues/git-issue-698b.dfy +++ b/Test/git-issues/git-issue-698b.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment type Small = x: int | 0 <= x < 100 && x != 3 @@ -13,4 +12,4 @@ method Main() { var b := !exists n: Small :: F(n) != 100; assert b; print b; -} \ No newline at end of file +} diff --git a/Test/git-issues/git-issue-698b.dfy.expect b/Test/git-issues/git-issue-698b.dfy.expect index 188a72ebc36..f32a5804e29 100644 --- a/Test/git-issues/git-issue-698b.dfy.expect +++ b/Test/git-issues/git-issue-698b.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-701.dfy b/Test/git-issues/git-issue-701.dfy index af19f0d89e2..38984df4ecf 100644 --- a/Test/git-issues/git-issue-701.dfy +++ b/Test/git-issues/git-issue-701.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var ca := new ClassA; diff --git a/Test/git-issues/git-issue-701.dfy.expect b/Test/git-issues/git-issue-701.dfy.expect index 4d20966e641..5198c09cbb1 100644 --- a/Test/git-issues/git-issue-701.dfy.expect +++ b/Test/git-issues/git-issue-701.dfy.expect @@ -1,22 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification -0 0 0 -[] [] [] -C.Nothing C.Nothing C.Nothing - -Dafny program verifier did not attempt verification -0 0 0 -[] [] [] -C.Nothing C.Nothing C.Nothing - -Dafny program verifier did not attempt verification -0 0 0 -[] [] [] -C.Nothing C.Nothing C.Nothing - -Dafny program verifier did not attempt verification 0 0 0 [] [] [] C.Nothing C.Nothing C.Nothing diff --git a/Test/git-issues/git-issue-705.dfy b/Test/git-issues/git-issue-705.dfy index d4b806800c2..9c36a336e8e 100644 --- a/Test/git-issues/git-issue-705.dfy +++ b/Test/git-issues/git-issue-705.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs /spillTargetCode:3 "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js /spillTargetCode:3 "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go /spillTargetCode:3 "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java /spillTargetCode:3 "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation datatype MyDataType = AAA { function toString(): int { 222 } diff --git a/Test/git-issues/git-issue-705.dfy.expect b/Test/git-issues/git-issue-705.dfy.expect index 02cf409667a..79a1eee7c74 100644 --- a/Test/git-issues/git-issue-705.dfy.expect +++ b/Test/git-issues/git-issue-705.dfy.expect @@ -1,14 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification -MyDataType.AAA 222 - -Dafny program verifier did not attempt verification -MyDataType.AAA 222 - -Dafny program verifier did not attempt verification -MyDataType.AAA 222 - -Dafny program verifier did not attempt verification MyDataType.AAA 222 diff --git a/Test/git-issues/git-issue-731.dfy b/Test/git-issues/git-issue-731.dfy index 05d02fea1af..348d40fecea 100644 --- a/Test/git-issues/git-issue-731.dfy +++ b/Test/git-issues/git-issue-731.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait Trait { const y: Y diff --git a/Test/git-issues/git-issue-731.dfy.expect b/Test/git-issues/git-issue-731.dfy.expect index 69b2e6af648..7554a44901e 100644 --- a/Test/git-issues/git-issue-731.dfy.expect +++ b/Test/git-issues/git-issue-731.dfy.expect @@ -1,18 +1,2 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification -0 0 0 42 -0 0 0 9 - -Dafny program verifier did not attempt verification -0 0 0 42 -0 0 0 9 - -Dafny program verifier did not attempt verification -0 0 0 42 -0 0 0 9 - -Dafny program verifier did not attempt verification 0 0 0 42 0 0 0 9 diff --git a/Test/git-issues/git-issue-731b.dfy b/Test/git-issues/git-issue-731b.dfy index a77dbd6323b..2a0507839a2 100644 --- a/Test/git-issues/git-issue-731b.dfy +++ b/Test/git-issues/git-issue-731b.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Testing issue#731 when the class in question has type parameters diff --git a/Test/git-issues/git-issue-731b.dfy.expect b/Test/git-issues/git-issue-731b.dfy.expect index 97e6c041920..dd3226d2b73 100644 --- a/Test/git-issues/git-issue-731b.dfy.expect +++ b/Test/git-issues/git-issue-731b.dfy.expect @@ -1,14 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification -0 42 - -Dafny program verifier did not attempt verification -0 42 - -Dafny program verifier did not attempt verification -0 42 - -Dafny program verifier did not attempt verification 0 42 diff --git a/Test/git-issues/git-issue-784.dfy b/Test/git-issues/git-issue-784.dfy index 78b83f01064..5f6cf59465c 100644 --- a/Test/git-issues/git-issue-784.dfy +++ b/Test/git-issues/git-issue-784.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype List = Nil | Cons(T, List) { function App(ys: List): List { diff --git a/Test/git-issues/git-issue-784.dfy.expect b/Test/git-issues/git-issue-784.dfy.expect index 8da23be5c8c..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-784.dfy.expect +++ b/Test/git-issues/git-issue-784.dfy.expect @@ -1,10 +0,0 @@ - -Dafny program verifier finished with 4 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-953.dfy b/Test/git-issues/git-issue-953.dfy index adebc946c35..9c14e6e4e98 100644 --- a/Test/git-issues/git-issue-953.dfy +++ b/Test/git-issues/git-issue-953.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module P { datatype T_ = T() // the underscore in this name once caused a problem in Java compilation diff --git a/Test/git-issues/git-issue-953.dfy.expect b/Test/git-issues/git-issue-953.dfy.expect index 8466ea62f3f..8eec6126a08 100644 --- a/Test/git-issues/git-issue-953.dfy.expect +++ b/Test/git-issues/git-issue-953.dfy.expect @@ -1,39 +1,3 @@ - -Dafny program verifier finished with 6 verified, 0 errors - -Dafny program verifier did not attempt verification -C1.T_.T -P.T_.T -OtherNamesWithSpecialCharacters?_.A?_.A?_ OtherNamesWithSpecialCharacters?_.B?_.B?_ -17 17 0 0 -C2.C.C(10, 11) -9 - -Dafny program verifier did not attempt verification -C1.T_.T -P.T_.T -OtherNamesWithSpecialCharacters?_.A?_.A?_ OtherNamesWithSpecialCharacters?_.B?_.B?_ -17 17 0 0 -C2.C.C(10, 11) -9 - -Dafny program verifier did not attempt verification -C1.T_.T -P.T_.T -OtherNamesWithSpecialCharacters?_.A?_.A?_ OtherNamesWithSpecialCharacters?_.B?_.B?_ -17 17 0 0 -C2.C.C(10, 11) -9 - -Dafny program verifier did not attempt verification -C1.T_.T -P.T_.T -OtherNamesWithSpecialCharacters?_.A?_.A?_ OtherNamesWithSpecialCharacters?_.B?_.B?_ -17 17 0 0 -C2.C.C(10, 11) -9 - -Dafny program verifier did not attempt verification C1.T_.T P.T_.T OtherNamesWithSpecialCharacters?_.A?_.A?_ OtherNamesWithSpecialCharacters?_.B?_.B?_ diff --git a/Test/git-issues/github-issue-3343.dfy b/Test/git-issues/github-issue-3343.dfy index 517a11d7fc1..d518b2a1a41 100644 --- a/Test/git-issues/github-issue-3343.dfy +++ b/Test/git-issues/github-issue-3343.dfy @@ -1,5 +1,4 @@ -// RUN: %baredafny run "%s" -t:java > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" method Bug() { var zero := 0; var a := new int[zero] []; diff --git a/Test/git-issues/github-issue-3343.dfy.expect b/Test/git-issues/github-issue-3343.dfy.expect index 823a60a105c..e69de29bb2d 100644 --- a/Test/git-issues/github-issue-3343.dfy.expect +++ b/Test/git-issues/github-issue-3343.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 1 verified, 0 errors diff --git a/Test/hofs/Compilation.dfy b/Test/hofs/Compilation.dfy index 99fd0a36506..7e9c674b495 100644 --- a/Test/hofs/Compilation.dfy +++ b/Test/hofs/Compilation.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class Ref { var val : A diff --git a/Test/hofs/Compilation.dfy.expect b/Test/hofs/Compilation.dfy.expect index 760fafc6189..6b7187d2557 100644 --- a/Test/hofs/Compilation.dfy.expect +++ b/Test/hofs/Compilation.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 2 verified, 0 errors 1 = 1 3 = 3 3 = 3 diff --git a/Test/hofs/Examples.dfy b/Test/hofs/Examples.dfy index cdf177c001f..bebda559221 100644 --- a/Test/hofs/Examples.dfy +++ b/Test/hofs/Examples.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function Apply(f: A ~> B, x: A): B reads f.reads(x) diff --git a/Test/hofs/Examples.dfy.expect b/Test/hofs/Examples.dfy.expect index 851aaf58286..e69de29bb2d 100644 --- a/Test/hofs/Examples.dfy.expect +++ b/Test/hofs/Examples.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 7 verified, 0 errors diff --git a/Test/hofs/Fold.dfy b/Test/hofs/Fold.dfy index 336f9121b52..96ddb01591f 100644 --- a/Test/hofs/Fold.dfy +++ b/Test/hofs/Fold.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype List = Nil | Cons(A,List) diff --git a/Test/hofs/Fold.dfy.expect b/Test/hofs/Fold.dfy.expect index 144ffab92db..3abcc310618 100644 --- a/Test/hofs/Fold.dfy.expect +++ b/Test/hofs/Fold.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors 3 = 3 diff --git a/Test/hofs/Renaming.dfy b/Test/hofs/Renaming.dfy index cf21fdba2f8..391c0e79ef6 100644 --- a/Test/hofs/Renaming.dfy +++ b/Test/hofs/Renaming.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function OnId(f : (bool -> bool) -> int) : int reads f.reads(x => x) diff --git a/Test/hofs/Renaming.dfy.expect b/Test/hofs/Renaming.dfy.expect index e2b6636dbe4..13a954d9043 100644 --- a/Test/hofs/Renaming.dfy.expect +++ b/Test/hofs/Renaming.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 4 verified, 0 errors 10 11 diff --git a/Test/hofs/Requires.dfy b/Test/hofs/Requires.dfy index de5944b6744..f5e51244184 100644 --- a/Test/hofs/Requires.dfy +++ b/Test/hofs/Requires.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/hofs/Requires.dfy.expect b/Test/hofs/Requires.dfy.expect index 1981561ca00..e69de29bb2d 100644 --- a/Test/hofs/Requires.dfy.expect +++ b/Test/hofs/Requires.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 10 verified, 0 errors diff --git a/Test/hofs/TreeMapSimple.dfy b/Test/hofs/TreeMapSimple.dfy index d93aea46403..b7baf6eb8d7 100644 --- a/Test/hofs/TreeMapSimple.dfy +++ b/Test/hofs/TreeMapSimple.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { TestY(); diff --git a/Test/hofs/TreeMapSimple.dfy.expect b/Test/hofs/TreeMapSimple.dfy.expect index 9224d605f7e..be0317f1016 100644 --- a/Test/hofs/TreeMapSimple.dfy.expect +++ b/Test/hofs/TreeMapSimple.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 11 verified, 0 errors Tree.Branch(100, List.Cons(Tree.Branch(50, List.Nil), List.Nil)) Tree.Branch(100, List.Cons(Tree.Branch(50, List.Nil), List.Nil)) diff --git a/Test/hofs/VectorUpdate.dfy b/Test/hofs/VectorUpdate.dfy index 848ed585ca6..70c0de3084e 100644 --- a/Test/hofs/VectorUpdate.dfy +++ b/Test/hofs/VectorUpdate.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // this is a rather verbose version of the VectorUpdate method method VectorUpdate(N: int, a : array, f : (int,A) ~> A) diff --git a/Test/hofs/VectorUpdate.dfy.expect b/Test/hofs/VectorUpdate.dfy.expect index b8fae39eab8..7645f125857 100644 --- a/Test/hofs/VectorUpdate.dfy.expect +++ b/Test/hofs/VectorUpdate.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 8 verified, 0 errors 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 100, 50, 33, 25, 20, 16, 14, 12, 11, 10 diff --git a/Test/hofs/WhileLoop.dfy b/Test/hofs/WhileLoop.dfy index 4af9fbd841b..914f47f4522 100644 --- a/Test/hofs/WhileLoop.dfy +++ b/Test/hofs/WhileLoop.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class Ref { var val: A diff --git a/Test/hofs/WhileLoop.dfy.expect b/Test/hofs/WhileLoop.dfy.expect index 234ac298c9b..83083b451e1 100644 --- a/Test/hofs/WhileLoop.dfy.expect +++ b/Test/hofs/WhileLoop.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 4 verified, 0 errors 22 22 22 diff --git a/Test/metatests/OutputEncoding.dfy b/Test/metatests/OutputEncoding.dfy index 68c390ac811..59fa53bf298 100644 --- a/Test/metatests/OutputEncoding.dfy +++ b/Test/metatests/OutputEncoding.dfy @@ -1,10 +1,4 @@ -// RUN: %baredafny verify %args "%s" > "%t" -// RUN: %baredafny run --no-verify --target=cs %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=js %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=go %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=py %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=java %args "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" method Main() { // This works fine in all languages because € is a single UTF-16 code unit. diff --git a/Test/metatests/OutputEncoding.dfy.expect b/Test/metatests/OutputEncoding.dfy.expect index a37241376f3..b25a57298f1 100644 --- a/Test/metatests/OutputEncoding.dfy.expect +++ b/Test/metatests/OutputEncoding.dfy.expect @@ -1,17 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification -Euro sign: € - -Dafny program verifier did not attempt verification -Euro sign: € - -Dafny program verifier did not attempt verification -Euro sign: € - -Dafny program verifier did not attempt verification -Euro sign: € - -Dafny program verifier did not attempt verification Euro sign: € diff --git a/Test/patterns/OrPatterns.dfy b/Test/patterns/OrPatterns.dfy index 4f2610c9379..6385bd55c93 100644 --- a/Test/patterns/OrPatterns.dfy +++ b/Test/patterns/OrPatterns.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /rprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Enum = One | Two | Three { predicate Even() { diff --git a/Test/patterns/OrPatterns.dfy.expect b/Test/patterns/OrPatterns.dfy.expect index a6fce7c4a13..d86bac9de59 100644 --- a/Test/patterns/OrPatterns.dfy.expect +++ b/Test/patterns/OrPatterns.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 11 verified, 0 errors OK diff --git a/Test/patterns/PatternMatching.dfy b/Test/patterns/PatternMatching.dfy index 477126c066a..e8a73b856e4 100644 --- a/Test/patterns/PatternMatching.dfy +++ b/Test/patterns/PatternMatching.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /* * This file contains a collection of tests for features modified or introduced in PR 458 @@ -222,4 +221,4 @@ method Main() { var r5 := MultipleNestedMatch(A(0), t4, bb); print "Testing MultipleNestedMatch: ", r0, r1, r2, r3, r4, r5, ", should return 012345\n"; -} \ No newline at end of file +} diff --git a/Test/patterns/PatternMatching.dfy.expect b/Test/patterns/PatternMatching.dfy.expect index 2970273cbfc..b4415971ca5 100644 --- a/Test/patterns/PatternMatching.dfy.expect +++ b/Test/patterns/PatternMatching.dfy.expect @@ -1,6 +1,3 @@ -PatternMatching.dfy(102,4): Warning: this branch is redundant - -Dafny program verifier finished with 9 verified, 0 errors NestingTest([6]) = 6, should return 6 NestedVariableTest([2::3::4::5::6]) = 0, should return 0 ConstantTest([3::4::5::6]) = 2, should return 2 diff --git a/Test/patterns/PatternMatching.dfy.verifier.expect b/Test/patterns/PatternMatching.dfy.verifier.expect new file mode 100644 index 00000000000..b486aadfb80 --- /dev/null +++ b/Test/patterns/PatternMatching.dfy.verifier.expect @@ -0,0 +1 @@ +PatternMatching.dfy(101,4): Warning: this branch is redundant diff --git a/Test/traits/TraitCompile.dfy b/Test/traits/TraitCompile.dfy index 03cf3746c6f..6e9b925fbc5 100644 --- a/Test/traits/TraitCompile.dfy +++ b/Test/traits/TraitCompile.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait TT { @@ -820,4 +814,4 @@ module RedeclaringMembers { true } } -} \ No newline at end of file +} diff --git a/Test/traits/TraitCompile.dfy.expect b/Test/traits/TraitCompile.dfy.expect index 8257b754de2..b70a9b09d2e 100644 --- a/Test/traits/TraitCompile.dfy.expect +++ b/Test/traits/TraitCompile.dfy.expect @@ -1,259 +1,3 @@ - -Dafny program verifier finished with 75 verified, 0 errors - -Dafny program verifier did not attempt verification -y=120 -x=12 -d=800 -a5=407 -t=1212 -z=30 -z'=30 -w=30 -d=1000 -a5=507 -t=1512 -t=1512 -t=1515 -This is OtherModule.P(7.0) -From OtherModule.Y: 7 and true -This is OtherModule.P(7.0) -From OtherModule.X: 7 and true -c.f= 15 j.f= 15 -c.f= 18 j.f= 18 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -x=126 -5.2 9 false -true true true true -false false false false -true true true true -false false false false -5.2 5.2 -1.2 1.2 -1.2 1.2 -15 30 -15 30 -15 30 -0 (0, 0) 0 -8 -0 0 0 0 0 0 0 0 0 0 0 0 -13 13 13 13 13 13 13 13 13 13 13 13 -14 14 14 14 14 14 14 14 14 14 14 14 -15 15 15 15 15 15 15 15 15 15 15 15 -16 16 16 16 16 16 16 16 16 16 16 16 -17 17 17 17 17 17 17 17 17 17 17 17 -18 18 18 18 18 18 18 18 18 18 18 18 -19 19 19 19 19 19 19 19 19 19 19 19 -20 20 20 20 20 20 20 20 20 20 20 20 -21 21 21 21 21 21 21 21 21 21 21 21 -22 22 22 22 22 22 22 22 22 22 22 22 -23 23 23 23 23 23 23 23 23 23 23 23 -24 24 24 24 24 24 24 24 24 24 24 24 -f(4) = 7 -f(4) = 7 -g(4) = 7 -g(4) = 7 -41 15 26 -true true -true true -true true -true true -true true true -true true true - -Dafny program verifier did not attempt verification -y=120 -x=12 -d=800 -a5=407 -t=1212 -z=30 -z'=30 -w=30 -d=1000 -a5=507 -t=1512 -t=1512 -t=1515 -This is OtherModule.P(7.0) -From OtherModule.Y: 7 and true -This is OtherModule.P(7.0) -From OtherModule.X: 7 and true -c.f= 15 j.f= 15 -c.f= 18 j.f= 18 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -x=126 -5.2 9 false -true true true true -false false false false -true true true true -false false false false -5.2 5.2 -1.2 1.2 -1.2 1.2 -15 30 -15 30 -15 30 -0 (0, 0) 0 -8 -0 0 0 0 0 0 0 0 0 0 0 0 -13 13 13 13 13 13 13 13 13 13 13 13 -14 14 14 14 14 14 14 14 14 14 14 14 -15 15 15 15 15 15 15 15 15 15 15 15 -16 16 16 16 16 16 16 16 16 16 16 16 -17 17 17 17 17 17 17 17 17 17 17 17 -18 18 18 18 18 18 18 18 18 18 18 18 -19 19 19 19 19 19 19 19 19 19 19 19 -20 20 20 20 20 20 20 20 20 20 20 20 -21 21 21 21 21 21 21 21 21 21 21 21 -22 22 22 22 22 22 22 22 22 22 22 22 -23 23 23 23 23 23 23 23 23 23 23 23 -24 24 24 24 24 24 24 24 24 24 24 24 -f(4) = 7 -f(4) = 7 -g(4) = 7 -g(4) = 7 -41 15 26 -true true -true true -true true -true true -true true true -true true true - -Dafny program verifier did not attempt verification -y=120 -x=12 -d=800 -a5=407 -t=1212 -z=30 -z'=30 -w=30 -d=1000 -a5=507 -t=1512 -t=1512 -t=1515 -This is OtherModule.P(7.0) -From OtherModule.Y: 7 and true -This is OtherModule.P(7.0) -From OtherModule.X: 7 and true -c.f= 15 j.f= 15 -c.f= 18 j.f= 18 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -x=126 -5.2 9 false -true true true true -false false false false -true true true true -false false false false -5.2 5.2 -1.2 1.2 -1.2 1.2 -15 30 -15 30 -15 30 -0 (0, 0) 0 -8 -0 0 0 0 0 0 0 0 0 0 0 0 -13 13 13 13 13 13 13 13 13 13 13 13 -14 14 14 14 14 14 14 14 14 14 14 14 -15 15 15 15 15 15 15 15 15 15 15 15 -16 16 16 16 16 16 16 16 16 16 16 16 -17 17 17 17 17 17 17 17 17 17 17 17 -18 18 18 18 18 18 18 18 18 18 18 18 -19 19 19 19 19 19 19 19 19 19 19 19 -20 20 20 20 20 20 20 20 20 20 20 20 -21 21 21 21 21 21 21 21 21 21 21 21 -22 22 22 22 22 22 22 22 22 22 22 22 -23 23 23 23 23 23 23 23 23 23 23 23 -24 24 24 24 24 24 24 24 24 24 24 24 -f(4) = 7 -f(4) = 7 -g(4) = 7 -g(4) = 7 -41 15 26 -true true -true true -true true -true true -true true true -true true true - -Dafny program verifier did not attempt verification -y=120 -x=12 -d=800 -a5=407 -t=1212 -z=30 -z'=30 -w=30 -d=1000 -a5=507 -t=1512 -t=1512 -t=1515 -This is OtherModule.P(7.0) -From OtherModule.Y: 7 and true -This is OtherModule.P(7.0) -From OtherModule.X: 7 and true -c.f= 15 j.f= 15 -c.f= 18 j.f= 18 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -x=126 -5.2 9 false -true true true true -false false false false -true true true true -false false false false -5.2 5.2 -1.2 1.2 -1.2 1.2 -15 30 -15 30 -15 30 -0 (0, 0) 0 -8 -0 0 0 0 0 0 0 0 0 0 0 0 -13 13 13 13 13 13 13 13 13 13 13 13 -14 14 14 14 14 14 14 14 14 14 14 14 -15 15 15 15 15 15 15 15 15 15 15 15 -16 16 16 16 16 16 16 16 16 16 16 16 -17 17 17 17 17 17 17 17 17 17 17 17 -18 18 18 18 18 18 18 18 18 18 18 18 -19 19 19 19 19 19 19 19 19 19 19 19 -20 20 20 20 20 20 20 20 20 20 20 20 -21 21 21 21 21 21 21 21 21 21 21 21 -22 22 22 22 22 22 22 22 22 22 22 22 -23 23 23 23 23 23 23 23 23 23 23 23 -24 24 24 24 24 24 24 24 24 24 24 24 -f(4) = 7 -f(4) = 7 -g(4) = 7 -g(4) = 7 -41 15 26 -true true -true true -true true -true true -true true true -true true true - -Dafny program verifier did not attempt verification y=120 x=12 d=800 diff --git a/Test/traits/TraitExample.dfy b/Test/traits/TraitExample.dfy index d6afb4ce70b..54c5cbbec6f 100644 --- a/Test/traits/TraitExample.dfy +++ b/Test/traits/TraitExample.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait Automobile { ghost var Repr: set diff --git a/Test/traits/TraitExample.dfy.expect b/Test/traits/TraitExample.dfy.expect index c1b4ac93962..b9783e62141 100644 --- a/Test/traits/TraitExample.dfy.expect +++ b/Test/traits/TraitExample.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 29 verified, 0 errors Fiat: 6 Volvo: 20 Catacar: 26 diff --git a/Test/traits/Traits-Fields.dfy b/Test/traits/Traits-Fields.dfy index 2da609c33c8..6ae1aaab6d9 100644 --- a/Test/traits/Traits-Fields.dfy +++ b/Test/traits/Traits-Fields.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait J { diff --git a/Test/traits/Traits-Fields.dfy.expect b/Test/traits/Traits-Fields.dfy.expect index cc460fc52f4..c39bd8b5d5d 100644 --- a/Test/traits/Traits-Fields.dfy.expect +++ b/Test/traits/Traits-Fields.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 2 verified, 0 errors j.x = 9 c.x = 9 diff --git a/Test/traits/TraitsMultipleInheritance.dfy b/Test/traits/TraitsMultipleInheritance.dfy index 12590e47828..67fd8673488 100644 --- a/Test/traits/TraitsMultipleInheritance.dfy +++ b/Test/traits/TraitsMultipleInheritance.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait J1{ var x: int diff --git a/Test/traits/TraitsMultipleInheritance.dfy.expect b/Test/traits/TraitsMultipleInheritance.dfy.expect index ad1a1011a25..b116b2d070d 100644 --- a/Test/traits/TraitsMultipleInheritance.dfy.expect +++ b/Test/traits/TraitsMultipleInheritance.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 1 verified, 0 errors c.x + c.y = 30 j1.x + j2.y = 30 diff --git a/Test/unicodechars/comp/Collections.dfy b/Test/unicodechars/comp/Collections.dfy index fb3e451eb83..14d241ed5ab 100644 --- a/Test/unicodechars/comp/Collections.dfy +++ b/Test/unicodechars/comp/Collections.dfy @@ -1,8 +1,3 @@ -// RUN: %dafny /compile:0 /verifyAllModules /unicodeChar:1 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:true --verify-included-files include "../../comp/Collections.dfy" diff --git a/Test/unicodechars/comp/Collections.dfy.expect b/Test/unicodechars/comp/Collections.dfy.expect index 70586502b0d..89f08b08d75 100644 --- a/Test/unicodechars/comp/Collections.dfy.expect +++ b/Test/unicodechars/comp/Collections.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 40 verified, 0 errors - -Dafny program verifier did not attempt verification Sets: {} {17, 82} {12, 17} cardinality: 0 2 2 union: {17, 82} {12, 17, 82} @@ -127,511 +123,3 @@ Multiset=== 1 3 |s|=2 |u|=4 1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Yellow := 21, Color.Blue := 30] -keys: {Color.Yellow, Color.Blue} -values: {21, 30} -items: {(Color.Yellow, 21), (Color.Blue, 30)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {21, 30} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.go.expect b/Test/unicodechars/comp/Collections.dfy.go.expect new file mode 100644 index 00000000000..2fc0f3b7093 --- /dev/null +++ b/Test/unicodechars/comp/Collections.dfy.go.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.java.expect b/Test/unicodechars/comp/Collections.dfy.java.expect new file mode 100644 index 00000000000..39975cadfc4 --- /dev/null +++ b/Test/unicodechars/comp/Collections.dfy.java.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Yellow := 21, Color.Blue := 30] +keys: {Color.Yellow, Color.Blue} +values: {21, 30} +items: {(Color.Yellow, 21), (Color.Blue, 30)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.js.expect b/Test/unicodechars/comp/Collections.dfy.js.expect new file mode 100644 index 00000000000..2fc0f3b7093 --- /dev/null +++ b/Test/unicodechars/comp/Collections.dfy.js.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.py.expect b/Test/unicodechars/comp/Collections.dfy.py.expect new file mode 100644 index 00000000000..e4e346dede0 --- /dev/null +++ b/Test/unicodechars/comp/Collections.dfy.py.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {21, 30} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/unicodechars/comp/Comprehensions.dfy b/Test/unicodechars/comp/Comprehensions.dfy index 274f8d3a150..8bd5f67525e 100644 --- a/Test/unicodechars/comp/Comprehensions.dfy +++ b/Test/unicodechars/comp/Comprehensions.dfy @@ -1,8 +1,3 @@ -// RUN: %dafny /compile:0 /unicodeChar:1 /verifyAllModules "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" -include "../../comp/Comprehensions.dfy" \ No newline at end of file +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:true --verify-included-files +include "../../comp/Comprehensions.dfy" diff --git a/Test/unicodechars/comp/Comprehensions.dfy.expect b/Test/unicodechars/comp/Comprehensions.dfy.expect index 18159ddde0a..c9703fc9397 100644 --- a/Test/unicodechars/comp/Comprehensions.dfy.expect +++ b/Test/unicodechars/comp/Comprehensions.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 32 verified, 0 errors - -Dafny program verifier did not attempt verification x=13 y=14 x=13 y=14 b=yes true false @@ -64,259 +60,3 @@ true true [137438953474, 137438953475, 137438953476, 137438953477, 137438953479] cdefh cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[14 := 7, 12 := 6, 13 := 6] -map[18 := 14, 17 := 13, 16 := 12] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh diff --git a/Test/unicodechars/comp/Comprehensions.dfy.py.expect b/Test/unicodechars/comp/Comprehensions.dfy.py.expect new file mode 100644 index 00000000000..aeaa31fc0f3 --- /dev/null +++ b/Test/unicodechars/comp/Comprehensions.dfy.py.expect @@ -0,0 +1,62 @@ +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[14 := 7, 12 := 6, 13 := 6] +map[18 := 14, 17 := 13, 16 := 12] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh diff --git a/Test/unicodechars/comp/NativeNumbers.dfy b/Test/unicodechars/comp/NativeNumbers.dfy index 764b4b3b384..20cdb1e214f 100644 --- a/Test/unicodechars/comp/NativeNumbers.dfy +++ b/Test/unicodechars/comp/NativeNumbers.dfy @@ -1,9 +1,4 @@ +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:true --verify-included-files // Skip JavaScript because JavaScript doesn't have the same native types -// RUN: %dafny /compile:0 /verifyAllModules /unicodeChar:1 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" -include "../../comp/NativeNumbers.dfy" \ No newline at end of file +include "../../comp/NativeNumbers.dfy" diff --git a/Test/unicodechars/comp/NativeNumbers.dfy.expect b/Test/unicodechars/comp/NativeNumbers.dfy.expect index b0fc6754f84..354d931a151 100644 --- a/Test/unicodechars/comp/NativeNumbers.dfy.expect +++ b/Test/unicodechars/comp/NativeNumbers.dfy.expect @@ -1,259 +1,3 @@ - -Dafny program verifier finished with 25 verified, 0 errors - -Dafny program verifier did not attempt verification -Casting: - -Small numbers: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 -5 5 5 5 5 5 5 5 5 -6 6 6 6 6 6 6 6 6 -7 7 7 7 7 7 7 7 7 -8 8 8 8 8 8 8 8 8 - -Large unsigned numbers: -255 255 255 255 255 255 255 255 -65535 65535 65535 65535 65535 65535 -4294967295 4294967295 4294967295 4294967295 -18446744073709551615 18446744073709551615 - -Int to large unsigned: -255 65535 4294967295 18446744073709551615 - -Cast from cardinality operator: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 - -Characters: -'C' 67 67 67 67 67 67 67 67 67 -0 127 32767 65535 65535 255 65535 65535 65535 - -Defaults: - -0 0 0 0 0 0 0 0 0 - -Byte arithmetic: - -20 30 -10 10 18 - -Short arithmetic: - -20 30 -10 10 18 - -Bitvectors: - -0 3 4 1 - -Comparison to zero: - -int8: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int16: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int32: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int64: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint8: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint16: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint32: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint64: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N - - -Dafny program verifier did not attempt verification -Casting: - -Small numbers: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 -5 5 5 5 5 5 5 5 5 -6 6 6 6 6 6 6 6 6 -7 7 7 7 7 7 7 7 7 -8 8 8 8 8 8 8 8 8 - -Large unsigned numbers: -255 255 255 255 255 255 255 255 -65535 65535 65535 65535 65535 65535 -4294967295 4294967295 4294967295 4294967295 -18446744073709551615 18446744073709551615 - -Int to large unsigned: -255 65535 4294967295 18446744073709551615 - -Cast from cardinality operator: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 - -Characters: -'C' 67 67 67 67 67 67 67 67 67 -0 127 32767 65535 65535 255 65535 65535 65535 - -Defaults: - -0 0 0 0 0 0 0 0 0 - -Byte arithmetic: - -20 30 -10 10 18 - -Short arithmetic: - -20 30 -10 10 18 - -Bitvectors: - -0 3 4 1 - -Comparison to zero: - -int8: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int16: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int32: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int64: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint8: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint16: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint32: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint64: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N - - -Dafny program verifier did not attempt verification -Casting: - -Small numbers: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 -5 5 5 5 5 5 5 5 5 -6 6 6 6 6 6 6 6 6 -7 7 7 7 7 7 7 7 7 -8 8 8 8 8 8 8 8 8 - -Large unsigned numbers: -255 255 255 255 255 255 255 255 -65535 65535 65535 65535 65535 65535 -4294967295 4294967295 4294967295 4294967295 -18446744073709551615 18446744073709551615 - -Int to large unsigned: -255 65535 4294967295 18446744073709551615 - -Cast from cardinality operator: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 - -Characters: -'C' 67 67 67 67 67 67 67 67 67 -0 127 32767 65535 65535 255 65535 65535 65535 - -Defaults: - -0 0 0 0 0 0 0 0 0 - -Byte arithmetic: - -20 30 -10 10 18 - -Short arithmetic: - -20 30 -10 10 18 - -Bitvectors: - -0 3 4 1 - -Comparison to zero: - -int8: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int16: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int32: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int64: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint8: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint16: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint32: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint64: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N - - -Dafny program verifier did not attempt verification Casting: Small numbers: diff --git a/Test/unicodechars/comp/Numbers.dfy b/Test/unicodechars/comp/Numbers.dfy index 2c9170fe4d7..e5e36180234 100644 --- a/Test/unicodechars/comp/Numbers.dfy +++ b/Test/unicodechars/comp/Numbers.dfy @@ -1,8 +1,3 @@ -// RUN: %dafny /compile:0 /verifyAllModules /unicodeChar:1 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" -include "../../comp/Numbers.dfy" \ No newline at end of file +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:true --verify-included-files +include "../../comp/Numbers.dfy" diff --git a/Test/unicodechars/comp/Numbers.dfy.expect b/Test/unicodechars/comp/Numbers.dfy.expect index 6fa2f59f340..cce193e1cce 100644 --- a/Test/unicodechars/comp/Numbers.dfy.expect +++ b/Test/unicodechars/comp/Numbers.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 59 verified, 0 errors - -Dafny program verifier did not attempt verification 0 0 3 @@ -113,455 +109,3 @@ true false true false false true false true true false true false 20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -'g' 'Q' '2' -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -(312.0 / 40.0) (1248.0 / 40.0) -(-312.0 / 40.0) (-1248.0 / 40.0) -(-312.0 / 40.0) (1248.0 / 40.0) -(312.0 / 40.0) (-1248.0 / 40.0) -0.0 0.0 0.0 -120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) -123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 (8100.0 / 8100.0) -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -'g' 'Q' '2' -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -'g' 'Q' '2' -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -(312.0 / 40.0) (1248.0 / 40.0) -(-312.0 / 40.0) (-1248.0 / 40.0) -(-312.0 / 40.0) (1248.0 / 40.0) -(312.0 / 40.0) (-1248.0 / 40.0) -0.0 0.0 0.0 -120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) -123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 (8100.0 / 8100.0) -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -'g' 'Q' '2' -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 diff --git a/Test/unicodechars/comp/Numbers.dfy.go.expect b/Test/unicodechars/comp/Numbers.dfy.go.expect new file mode 100644 index 00000000000..95d8ac259c7 --- /dev/null +++ b/Test/unicodechars/comp/Numbers.dfy.go.expect @@ -0,0 +1,111 @@ +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +'g' 'Q' '2' +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 diff --git a/Test/unicodechars/comp/Numbers.dfy.py.expect b/Test/unicodechars/comp/Numbers.dfy.py.expect new file mode 100644 index 00000000000..95d8ac259c7 --- /dev/null +++ b/Test/unicodechars/comp/Numbers.dfy.py.expect @@ -0,0 +1,111 @@ +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +'g' 'Q' '2' +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 From 8a8b443ef640c473cc19712d7b4fcf3a0e6027d6 Mon Sep 17 00:00:00 2001 From: Robin Salkeld Date: Fri, 9 Jun 2023 16:45:29 -0700 Subject: [PATCH 46/68] Revert "Convert all tests" This reverts commit 394df55ddce0010b3c0814a35f7a3255699a2462. --- Test/VerifyThis2015/Problem1.dfy | 3 +- Test/VerifyThis2015/Problem1.dfy.expect | 2 + Test/VerifyThis2015/Problem2.dfy | 3 +- Test/VerifyThis2015/Problem2.dfy.expect | 2 + Test/VerifyThis2015/Problem3.dfy | 3 +- Test/VerifyThis2015/Problem3.dfy.expect | 2 + Test/c++/arrays.dfy | 3 +- Test/c++/arrays.dfy.expect | 2 + Test/c++/bit-vectors.dfy | 3 +- Test/c++/bit-vectors.dfy.expect | 2 + Test/c++/class.dfy | 3 +- Test/c++/class.dfy.expect | 2 + Test/c++/const.dfy | 3 +- Test/c++/const.dfy.expect | 2 + Test/c++/datatypes.dfy | 3 +- Test/c++/datatypes.dfy.expect | 2 + Test/c++/generic.dfy | 3 +- Test/c++/generic.dfy.expect | 2 + Test/c++/hello.dfy | 3 +- Test/c++/hello.dfy.expect | 2 + Test/c++/ints.dfy | 3 +- Test/c++/ints.dfy.expect | 2 + Test/c++/recursion.dfy | 3 +- Test/c++/recursion.dfy.expect | 2 + Test/c++/returns.dfy | 3 +- Test/c++/returns.dfy.expect | 2 + Test/c++/seqs.dfy | 3 +- Test/c++/seqs.dfy.expect | 2 + Test/c++/sets.dfy | 3 +- Test/c++/sets.dfy.expect | 2 + Test/c++/while.dfy | 3 +- Test/c++/while.dfy.expect | 2 + Test/comp/Arrays.dfy | 9 +- Test/comp/Arrays.dfy.expect | 396 ++++++++++++ Test/comp/Arrays.dfy.go.expect | 96 --- Test/comp/AsIs-Compile.dfy | 8 +- Test/comp/AsIs-Compile.dfy.expect | 160 +++++ Test/comp/AutoInit.dfy | 8 +- Test/comp/AutoInit.dfy.expect | 160 +++++ Test/comp/ByMethodCompilation.dfy | 8 +- Test/comp/ByMethodCompilation.dfy.expect | 32 + Test/comp/Calls.dfy | 8 +- Test/comp/Calls.dfy.expect | 40 ++ Test/comp/Class.dfy | 8 +- Test/comp/Class.dfy.expect | 72 +++ Test/comp/Collections.dfy | 9 +- Test/comp/Collections.dfy.expect | 512 ++++++++++++++++ Test/comp/Collections.dfy.go.expect | 125 ---- Test/comp/Collections.dfy.java.expect | 125 ---- Test/comp/Collections.dfy.js.expect | 125 ---- Test/comp/Collections.dfy.py.expect | 125 ---- Test/comp/Comprehensions.dfy | 9 +- Test/comp/Comprehensions.dfy.expect | 260 ++++++++ Test/comp/Comprehensions.dfy.py.expect | 62 -- Test/comp/ComprehensionsNewSyntax.dfy | 9 +- Test/comp/ComprehensionsNewSyntax.dfy.expect | 148 +++++ .../ComprehensionsNewSyntax.dfy.py.expect | 34 -- Test/comp/CovariantCollections.dfy | 8 +- Test/comp/CovariantCollections.dfy.expect | 220 +++++++ Test/comp/Datatype.dfy | 9 +- Test/comp/Datatype.dfy.expect | 100 +++ Test/comp/Datatype.dfy.java.expect | 22 - Test/comp/Datatype.dfy.py.expect | 22 - Test/comp/DefaultParameters-Compile.dfy | 8 +- .../comp/DefaultParameters-Compile.dfy.expect | 48 ++ Test/comp/DowncastClone.dfy | 8 +- Test/comp/DowncastClone.dfy.expect | 40 ++ Test/comp/ErasableTypeWrappers.dfy | 8 +- Test/comp/ErasableTypeWrappers.dfy.expect | 84 +++ Test/comp/EuclideanDivision.dfy | 8 +- Test/comp/EuclideanDivision.dfy.expect | 36 ++ Test/comp/ForLoops-Compilation.dfy | 8 +- Test/comp/ForLoops-Compilation.dfy.expect | 200 ++++++ Test/comp/ForallNewSyntax.dfy | 8 +- Test/comp/ForallNewSyntax.dfy.expect | 180 ++++++ Test/comp/Ghosts.dfy | 8 +- Test/comp/Ghosts.dfy.expect | 52 ++ Test/comp/Let.dfy | 7 +- Test/comp/Let.dfy.expect | 34 ++ Test/comp/MoreAutoInit.dfy | 8 +- Test/comp/MoreAutoInit.dfy.expect | 572 ++++++++++++++++++ Test/comp/NativeNumbers.dfy | 7 +- Test/comp/NativeNumbers.dfy.expect | 256 ++++++++ Test/comp/NestedArrays.dfy | 7 +- Test/comp/NestedArrays.dfy.expect | 16 + Test/comp/Numbers.dfy | 9 +- Test/comp/Numbers.dfy.expect | 456 ++++++++++++++ Test/comp/Numbers.dfy.go.expect | 111 ---- Test/comp/Numbers.dfy.py.expect | 111 ---- Test/comp/Poly.dfy | 9 +- Test/comp/Poly.dfy.expect | 60 ++ Test/comp/Poly.dfy.go.expect | 12 - Test/comp/Poly.dfy.py.expect | 12 - Test/comp/StaticMembersOfGenericTypes.dfy | 8 +- .../StaticMembersOfGenericTypes.dfy.expect | 76 +++ Test/comp/TailRecursion.dfy | 8 +- Test/comp/TailRecursion.dfy.expect | 76 +++ Test/comp/TypeDescriptors.dfy | 8 +- Test/comp/TypeDescriptors.dfy.expect | 152 +++++ Test/comp/TypeParams.dfy | 11 +- Test/comp/TypeParams.dfy.expect | 88 +++ Test/comp/TypeParams.dfy.go.expect | 19 - Test/comp/TypeParams.dfy.java.expect | 19 - Test/comp/TypeParams.dfy.js.expect | 19 - Test/comp/TypeParams.dfy.py.expect | 19 - Test/comp/UnoptimizedErasableTypeWrappers.dfy | 8 +- ...UnoptimizedErasableTypeWrappers.dfy.expect | 28 + Test/comp/Variance.dfy | 8 +- Test/comp/Variance.dfy.expect | 64 ++ Test/comp/Various.dfy | 8 +- Test/comp/Various.dfy.expect | 40 ++ Test/comp/firstSteps/0_IKnowThisMuchIs.dfy | 4 +- .../firstSteps/0_IKnowThisMuchIs.dfy.expect | 4 + Test/comp/firstSteps/1_Calls-F.dfy | 4 +- Test/comp/firstSteps/1_Calls-F.dfy.expect | 4 + Test/comp/firstSteps/2_Modules.dfy | 4 +- Test/comp/firstSteps/2_Modules.dfy.expect | 4 + Test/comp/firstSteps/3_Calls-As.dfy | 4 +- Test/comp/firstSteps/3_Calls-As.dfy.expect | 4 + .../4_Calls-FunctionsValues-Class+NT.dfy | 4 +- ..._Calls-FunctionsValues-Class+NT.dfy.expect | 4 + .../firstSteps/5_Calls-FunctionsValues-Dt.dfy | 4 +- .../5_Calls-FunctionsValues-Dt.dfy.expect | 4 + .../firstSteps/6_Calls-VariableCapture.dfy | 4 +- .../6_Calls-VariableCapture.dfy.expect | 4 + Test/comp/firstSteps/7_Arrays.dfy | 4 +- Test/comp/firstSteps/7_Arrays.dfy.expect | 4 + Test/comp/firstSteps/7_Dt_Algebraic.dfy | 6 +- .../firstSteps/7_Dt_Algebraic.dfy.cs.expect | 11 - .../comp/firstSteps/7_Dt_Algebraic.dfy.expect | 17 + Test/dafny0/ArrayElementInitCompile.dfy | 8 +- .../dafny0/ArrayElementInitCompile.dfy.expect | 76 +++ Test/dafny0/Bitvectors.dfy | 5 +- Test/dafny0/Bitvectors.dfy.expect | 49 ++ Test/dafny0/Constant.dfy | 3 +- Test/dafny0/Constant.dfy.expect | 2 + Test/dafny0/Deprecation.dfy | 3 +- Test/dafny0/Deprecation.dfy.expect | 7 + Test/dafny0/Deprecation.dfy.verifier.expect | 5 - Test/dafny0/DiscoverBounds.dfy | 3 +- Test/dafny0/DiscoverBounds.dfy.expect | 7 + .../dafny0/DiscoverBounds.dfy.verifier.expect | 5 - Test/dafny0/DividedConstructors.dfy | 3 +- Test/dafny0/DividedConstructors.dfy.expect | 3 + .../DividedConstructors.dfy.verifier.expect | 1 - Test/dafny0/EqualityTypesCompile.dfy | 3 +- Test/dafny0/EqualityTypesCompile.dfy.expect | 2 + Test/dafny0/ForallCompilationNewSyntax.dfy | 3 +- .../ForallCompilationNewSyntax.dfy.expect | 6 + ...llCompilationNewSyntax.dfy.verifier.expect | 4 - Test/dafny0/GhostGuards.dfy | 3 +- Test/dafny0/GhostGuards.dfy.expect | 7 + Test/dafny0/GhostGuards.dfy.verifier.expect | 5 - Test/dafny0/GhostITECompilation.dfy | 8 +- Test/dafny0/GhostITECompilation.dfy.expect | 28 + Test/dafny0/InitialValues.dfy | 3 +- Test/dafny0/InitialValues.dfy.expect | 2 + Test/dafny0/MatchBraces.dfy | 5 +- Test/dafny0/MatchBraces.dfy.expect | 8 + Test/dafny0/MoForallCompilation.dfy | 3 +- Test/dafny0/MoForallCompilation.dfy.expect | 2 + Test/dafny0/NameclashesCompile.dfy | 3 +- Test/dafny0/NameclashesCompile.dfy.expect | 2 + Test/dafny0/NonZeroInitializationCompile.dfy | 7 +- .../NonZeroInitializationCompile.dfy.expect | 73 +++ Test/dafny0/NullComparisonWarnings.dfy | 3 +- Test/dafny0/NullComparisonWarnings.dfy.expect | 13 + ...NullComparisonWarnings.dfy.verifier.expect | 11 - Test/dafny0/PrintUTF8.dfy | 3 +- Test/dafny0/PrintUTF8.dfy.expect | 2 + Test/dafny0/RangeCompilation.dfy | 3 +- Test/dafny0/RangeCompilation.dfy.expect | 2 + Test/dafny0/SeqFromArray.dfy | 3 +- Test/dafny0/SeqFromArray.dfy.expect | 2 + Test/dafny0/SharedDestructorsCompile.dfy | 5 +- .../SharedDestructorsCompile.dfy.expect | 17 + Test/dafny0/SiblingImports.dfy | 3 +- Test/dafny0/SiblingImports.dfy.expect | 2 + Test/dafny0/TypeConversionsCompile.dfy | 3 +- Test/dafny0/TypeConversionsCompile.dfy.expect | 2 + Test/dafny0/TypeMembers.dfy | 5 +- Test/dafny0/TypeMembers.dfy.expect | 29 + Test/dafny0/TypeMembers.dfy.verifier.expect | 1 - Test/dafny0/Wellfounded.dfy | 3 +- Test/dafny0/Wellfounded.dfy.expect | 4 + Test/dafny0/Wellfounded.dfy.verifier.expect | 2 - Test/dafny2/MinWindowMax.dfy | 3 +- Test/dafny2/MinWindowMax.dfy.expect | 2 + .../SmallestMissingNumber-functional.dfy | 3 +- ...mallestMissingNumber-functional.dfy.expect | 3 + ...ssingNumber-functional.dfy.verifier.expect | 1 - .../SmallestMissingNumber-imperative.dfy | 3 +- ...mallestMissingNumber-imperative.dfy.expect | 2 + Test/dafny2/StoreAndRetrieve.dfy | 7 +- Test/dafny2/StoreAndRetrieve.dfy.expect | 38 ++ .../StoreAndRetrieve.dfy.verifier.expect | 5 - Test/dafny2/pq-intrinsic-extrinsic.dfy | 5 +- Test/dafny2/pq-intrinsic-extrinsic.dfy.expect | 11 + Test/dafny3/Abstemious.dfy | 3 +- Test/dafny3/Abstemious.dfy.expect | 2 + Test/dafny3/CachedContainer.dfy | 7 +- Test/dafny3/CachedContainer.dfy.expect | 78 +++ .../CachedContainer.dfy.verifier.expect | 13 - Test/dafny3/Iter.dfy | 3 +- Test/dafny3/Iter.dfy.expect | 2 + Test/dafny4/Ackermann.dfy | 3 +- Test/dafny4/Ackermann.dfy.expect | 4 + Test/dafny4/Ackermann.dfy.verifier.expect | 2 - Test/dafny4/Bug107.dfy | 3 +- Test/dafny4/Bug107.dfy.expect | 2 + Test/dafny4/Bug108.dfy | 3 +- Test/dafny4/Bug108.dfy.expect | 2 + Test/dafny4/Bug113.dfy | 5 +- Test/dafny4/Bug113.dfy.expect | 2 + Test/dafny4/Bug116.dfy | 3 +- Test/dafny4/Bug116.dfy.expect | 2 + Test/dafny4/Bug140.dfy | 3 +- Test/dafny4/Bug140.dfy.expect | 2 + Test/dafny4/Bug148.dfy | 3 +- Test/dafny4/Bug148.dfy.expect | 2 + Test/dafny4/Bug49.dfy | 3 +- Test/dafny4/Bug49.dfy.expect | 2 + Test/dafny4/Bug60.dfy | 3 +- Test/dafny4/Bug60.dfy.expect | 2 + Test/dafny4/Bug67.dfy | 5 +- Test/dafny4/Bug67.dfy.expect | 2 + Test/dafny4/Bug68.dfy | 5 +- Test/dafny4/Bug68.dfy.expect | 2 + Test/dafny4/Bug89.dfy | 3 +- Test/dafny4/Bug89.dfy.expect | 2 + Test/dafny4/Bug94.dfy | 3 +- Test/dafny4/Bug94.dfy.expect | 2 + Test/dafny4/ClassRefinement.dfy | 7 +- Test/dafny4/ClassRefinement.dfy.expect | 43 ++ .../ClassRefinement.dfy.verifier.expect | 6 - Test/dafny4/ExpandedGuardedness.dfy | 3 +- Test/dafny4/ExpandedGuardedness.dfy.expect | 2 + Test/dafny4/FlyingRobots.dfy | 3 +- Test/dafny4/FlyingRobots.dfy.expect | 2 + Test/dafny4/Leq.dfy | 3 +- Test/dafny4/Leq.dfy.expect | 2 + Test/dafny4/McCarthy91.dfy | 3 +- Test/dafny4/McCarthy91.dfy.expect | 2 + Test/dafny4/NatList.dfy | 3 +- Test/dafny4/NatList.dfy.expect | 2 + Test/dafny4/Regression2.dfy | 3 +- Test/dafny4/Regression2.dfy.expect | 2 + Test/dafny4/Regression3.dfy | 3 +- Test/dafny4/Regression3.dfy.expect | 2 + Test/dafny4/Regression4.dfy | 3 +- Test/dafny4/Regression4.dfy.expect | 2 + Test/dafny4/Regression6.dfy | 3 +- Test/dafny4/Regression6.dfy.expect | 2 + Test/dafny4/Regression7.dfy | 3 +- Test/dafny4/Regression7.dfy.expect | 2 + Test/dafny4/Regression9.dfy | 3 +- Test/dafny4/Regression9.dfy.expect | 2 + Test/dafny4/UnionFind.dfy | 3 +- Test/dafny4/UnionFind.dfy.expect | 2 + Test/dafny4/gcd.dfy | 7 +- Test/dafny4/gcd.dfy.expect | 31 + Test/dafny4/git-issue104.dfy | 8 +- Test/dafny4/git-issue104.dfy.expect | 16 + Test/dafny4/git-issue105.dfy | 3 +- Test/dafny4/git-issue105.dfy.expect | 2 + Test/dafny4/git-issue15.dfy | 3 +- Test/dafny4/git-issue15.dfy.expect | 2 + Test/dafny4/git-issue167.dfy | 3 +- Test/dafny4/git-issue167.dfy.expect | 2 + Test/dafny4/git-issue195.dfy | 3 +- Test/dafny4/git-issue195.dfy.expect | 2 + Test/dafny4/git-issue196.dfy | 3 +- Test/dafny4/git-issue196.dfy.expect | 2 + Test/dafny4/git-issue4.dfy | 3 +- Test/dafny4/git-issue4.dfy.expect | 2 + Test/dafny4/git-issue43.dfy | 3 +- Test/dafny4/git-issue43.dfy.expect | 2 + Test/dafny4/git-issue76.dfy | 5 +- Test/dafny4/git-issue76.dfy.expect | 7 + Test/dafny4/git-issue79.dfy | 3 +- Test/dafny4/git-issue79.dfy.expect | 2 + Test/dafny4/git-issue88.dfy | 3 +- Test/dafny4/git-issue88.dfy.expect | 2 + Test/exceptions/Exceptions1.dfy | 3 +- Test/exceptions/Exceptions1.dfy.expect | 2 + Test/exceptions/Exceptions1Expressions.dfy | 3 +- .../Exceptions1Expressions.dfy.expect | 2 + Test/exports/FIFO.dfy | 3 +- Test/exports/FIFO.dfy.expect | 2 + Test/exports/LIFO.dfy | 3 +- Test/exports/LIFO.dfy.expect | 2 + Test/exports/xrefine2.dfy | 3 +- Test/exports/xrefine2.dfy.expect | 2 + Test/exports/xrefine3.dfy | 3 +- Test/exports/xrefine3.dfy.expect | 2 + Test/git-issues/git-issue-032.dfy | 7 +- Test/git-issues/git-issue-032.dfy.expect | 37 ++ .../git-issue-032.dfy.verifier.expect | 3 - Test/git-issues/git-issue-1029.dfy | 3 +- Test/git-issues/git-issue-1029.dfy.expect | 2 + Test/git-issues/git-issue-1093.dfy | 8 +- Test/git-issues/git-issue-1093.dfy.expect | 16 + Test/git-issues/git-issue-1130.dfy | 3 +- Test/git-issues/git-issue-1130.dfy.expect | 2 + Test/git-issues/git-issue-1150.dfy | 3 +- Test/git-issues/git-issue-1150.dfy.expect | 2 + Test/git-issues/git-issue-1185.dfy | 8 +- Test/git-issues/git-issue-1185.dfy.expect | 13 + .../git-issues/git-issue-1185.dfy.java.expect | 1 - Test/git-issues/git-issue-1514.dfy | 3 +- Test/git-issues/git-issue-1514.dfy.expect | 2 + Test/git-issues/git-issue-1514b.dfy | 3 +- Test/git-issues/git-issue-1514b.dfy.expect | 2 + Test/git-issues/git-issue-1514c.dfy | 5 +- Test/git-issues/git-issue-1514c.dfy.expect | 7 + Test/git-issues/git-issue-1553.dfy | 7 +- Test/git-issues/git-issue-1553.dfy.expect | 10 + Test/git-issues/git-issue-1604b.dfy | 3 +- Test/git-issues/git-issue-1604b.dfy.expect | 2 + Test/git-issues/git-issue-1714.dfy | 3 +- Test/git-issues/git-issue-1714.dfy.expect | 2 + Test/git-issues/git-issue-1815a.dfy | 8 +- Test/git-issues/git-issue-1815a.dfy.expect | 16 + Test/git-issues/git-issue-1852.dfy | 5 +- Test/git-issues/git-issue-1852.dfy.expect | 7 + Test/git-issues/git-issue-1903.dfy | 3 +- Test/git-issues/git-issue-1903.dfy.expect | 2 + Test/git-issues/git-issue-1909.dfy | 3 +- Test/git-issues/git-issue-1909.dfy.expect | 2 + Test/git-issues/git-issue-2013.dfy | 8 +- Test/git-issues/git-issue-2013.dfy.expect | 52 ++ Test/git-issues/git-issue-2441.dfy | 5 +- Test/git-issues/git-issue-2441.dfy.expect | 6 + Test/git-issues/git-issue-2510.dfy | 3 +- Test/git-issues/git-issue-2510.dfy.expect | 2 + Test/git-issues/git-issue-2608.dfy | 3 +- Test/git-issues/git-issue-2608.dfy.expect | 2 + Test/git-issues/git-issue-262.dfy | 7 +- Test/git-issues/git-issue-262.dfy.expect | 18 + Test/git-issues/git-issue-262.dfy.go.expect | 2 - Test/git-issues/git-issue-262.dfy.java.expect | 2 - Test/git-issues/git-issue-262.dfy.js.expect | 6 - Test/git-issues/git-issue-267.dfy | 7 +- Test/git-issues/git-issue-267.dfy.expect | 13 + Test/git-issues/git-issue-2672.dfy | 8 +- Test/git-issues/git-issue-2672.dfy.expect | 44 ++ Test/git-issues/git-issue-2726a.dfy | 3 +- Test/git-issues/git-issue-2726a.dfy.expect | 2 + Test/git-issues/git-issue-2733.dfy | 9 +- Test/git-issues/git-issue-2733.dfy.expect | 14 + Test/git-issues/git-issue-2792.dfy | 3 +- Test/git-issues/git-issue-2792.dfy.expect | 2 + Test/git-issues/git-issue-283.dfy | 7 +- Test/git-issues/git-issue-283.dfy.expect | 13 + Test/git-issues/git-issue-283d.dfy | 7 +- Test/git-issues/git-issue-283d.dfy.expect | 10 + Test/git-issues/git-issue-314.dfy | 7 +- Test/git-issues/git-issue-314.dfy.expect | 10 + Test/git-issues/git-issue-332.dfy | 3 +- Test/git-issues/git-issue-332.dfy.expect | 2 + Test/git-issues/git-issue-354.dfy | 7 +- Test/git-issues/git-issue-354.dfy.expect | 22 + Test/git-issues/git-issue-356.dfy | 8 +- Test/git-issues/git-issue-356.dfy.expect | 36 ++ Test/git-issues/git-issue-364.dfy | 3 +- Test/git-issues/git-issue-364.dfy.expect | 2 + Test/git-issues/git-issue-374.dfy | 7 +- Test/git-issues/git-issue-374.dfy.expect | 10 + Test/git-issues/git-issue-396.dfy | 6 +- Test/git-issues/git-issue-396.dfy.expect | 11 + Test/git-issues/git-issue-4007.dfy | 5 +- Test/git-issues/git-issue-4007.dfy.expect | 3 + .../git-issue-4007.dfy.verifier.expect | 1 - Test/git-issues/git-issue-4012.dfy | 5 +- Test/git-issues/git-issue-4012.dfy.expect | 2 + Test/git-issues/git-issue-425.dfy | 7 +- Test/git-issues/git-issue-425.dfy.expect | 16 + Test/git-issues/git-issue-443.dfy | 3 +- Test/git-issues/git-issue-443.dfy.expect | 2 + Test/git-issues/git-issue-446.dfy | 7 +- Test/git-issues/git-issue-446.dfy.expect | 19 + Test/git-issues/git-issue-446a.dfy | 7 +- Test/git-issues/git-issue-446a.dfy.expect | 19 + Test/git-issues/git-issue-446b.dfy | 7 +- Test/git-issues/git-issue-446b.dfy.expect | 25 + Test/git-issues/git-issue-478-good.dfy | 3 +- Test/git-issues/git-issue-478-good.dfy.expect | 2 + Test/git-issues/git-issue-506.dfy | 6 +- Test/git-issues/git-issue-506.dfy.expect | 26 + Test/git-issues/git-issue-532.dfy | 7 +- Test/git-issues/git-issue-532.dfy.expect | 19 + Test/git-issues/git-issue-549.dfy | 5 +- Test/git-issues/git-issue-549.dfy.expect | 8 + Test/git-issues/git-issue-622$f.dfy | 3 +- Test/git-issues/git-issue-622$f.dfy.expect | 2 + Test/git-issues/git-issue-684.dfy | 7 +- Test/git-issues/git-issue-684.dfy.expect | 10 + Test/git-issues/git-issue-686.dfy | 7 +- Test/git-issues/git-issue-686.dfy.expect | 23 + .../git-issue-686.dfy.verifier.expect | 2 - Test/git-issues/git-issue-697.dfy | 3 +- Test/git-issues/git-issue-697.dfy.expect | 2 + Test/git-issues/git-issue-697b.dfy | 3 +- Test/git-issues/git-issue-697b.dfy.expect | 2 + Test/git-issues/git-issue-697d.dfy | 3 +- Test/git-issues/git-issue-697d.dfy.expect | 2 + Test/git-issues/git-issue-697e.dfy | 3 +- Test/git-issues/git-issue-697e.dfy.expect | 2 + Test/git-issues/git-issue-697f.dfy | 3 +- Test/git-issues/git-issue-697f.dfy.expect | 2 + Test/git-issues/git-issue-697g.dfy | 3 +- Test/git-issues/git-issue-697g.dfy.expect | 2 + Test/git-issues/git-issue-698.dfy | 5 +- Test/git-issues/git-issue-698.dfy.expect | 7 + Test/git-issues/git-issue-698b.dfy | 5 +- Test/git-issues/git-issue-698b.dfy.expect | 2 + Test/git-issues/git-issue-701.dfy | 7 +- Test/git-issues/git-issue-701.dfy.expect | 19 + Test/git-issues/git-issue-705.dfy | 7 +- Test/git-issues/git-issue-705.dfy.expect | 13 + Test/git-issues/git-issue-731.dfy | 7 +- Test/git-issues/git-issue-731.dfy.expect | 16 + Test/git-issues/git-issue-731b.dfy | 7 +- Test/git-issues/git-issue-731b.dfy.expect | 13 + Test/git-issues/git-issue-784.dfy | 7 +- Test/git-issues/git-issue-784.dfy.expect | 10 + Test/git-issues/git-issue-953.dfy | 8 +- Test/git-issues/git-issue-953.dfy.expect | 36 ++ Test/git-issues/github-issue-3343.dfy | 3 +- Test/git-issues/github-issue-3343.dfy.expect | 2 + Test/hofs/Compilation.dfy | 3 +- Test/hofs/Compilation.dfy.expect | 2 + Test/hofs/Examples.dfy | 3 +- Test/hofs/Examples.dfy.expect | 2 + Test/hofs/Fold.dfy | 3 +- Test/hofs/Fold.dfy.expect | 2 + Test/hofs/Renaming.dfy | 3 +- Test/hofs/Renaming.dfy.expect | 2 + Test/hofs/Requires.dfy | 3 +- Test/hofs/Requires.dfy.expect | 2 + Test/hofs/TreeMapSimple.dfy | 3 +- Test/hofs/TreeMapSimple.dfy.expect | 2 + Test/hofs/VectorUpdate.dfy | 3 +- Test/hofs/VectorUpdate.dfy.expect | 2 + Test/hofs/WhileLoop.dfy | 3 +- Test/hofs/WhileLoop.dfy.expect | 2 + Test/metatests/OutputEncoding.dfy | 8 +- Test/metatests/OutputEncoding.dfy.expect | 16 + Test/patterns/OrPatterns.dfy | 3 +- Test/patterns/OrPatterns.dfy.expect | 2 + Test/patterns/PatternMatching.dfy | 5 +- Test/patterns/PatternMatching.dfy.expect | 3 + .../PatternMatching.dfy.verifier.expect | 1 - Test/traits/TraitCompile.dfy | 10 +- Test/traits/TraitCompile.dfy.expect | 256 ++++++++ Test/traits/TraitExample.dfy | 3 +- Test/traits/TraitExample.dfy.expect | 2 + Test/traits/Traits-Fields.dfy | 3 +- Test/traits/Traits-Fields.dfy.expect | 2 + Test/traits/TraitsMultipleInheritance.dfy | 3 +- .../TraitsMultipleInheritance.dfy.expect | 2 + Test/unicodechars/comp/Collections.dfy | 9 +- Test/unicodechars/comp/Collections.dfy.expect | 512 ++++++++++++++++ .../comp/Collections.dfy.go.expect | 125 ---- .../comp/Collections.dfy.java.expect | 125 ---- .../comp/Collections.dfy.js.expect | 125 ---- .../comp/Collections.dfy.py.expect | 125 ---- Test/unicodechars/comp/Comprehensions.dfy | 11 +- .../comp/Comprehensions.dfy.expect | 260 ++++++++ .../comp/Comprehensions.dfy.py.expect | 62 -- Test/unicodechars/comp/NativeNumbers.dfy | 9 +- .../comp/NativeNumbers.dfy.expect | 256 ++++++++ Test/unicodechars/comp/Numbers.dfy | 11 +- Test/unicodechars/comp/Numbers.dfy.expect | 456 ++++++++++++++ Test/unicodechars/comp/Numbers.dfy.go.expect | 111 ---- Test/unicodechars/comp/Numbers.dfy.py.expect | 111 ---- 476 files changed, 8706 insertions(+), 2173 deletions(-) delete mode 100644 Test/comp/Arrays.dfy.go.expect delete mode 100644 Test/comp/Collections.dfy.go.expect delete mode 100644 Test/comp/Collections.dfy.java.expect delete mode 100644 Test/comp/Collections.dfy.js.expect delete mode 100644 Test/comp/Collections.dfy.py.expect delete mode 100644 Test/comp/Comprehensions.dfy.py.expect delete mode 100644 Test/comp/ComprehensionsNewSyntax.dfy.py.expect delete mode 100644 Test/comp/Datatype.dfy.java.expect delete mode 100644 Test/comp/Datatype.dfy.py.expect delete mode 100644 Test/comp/Numbers.dfy.go.expect delete mode 100644 Test/comp/Numbers.dfy.py.expect delete mode 100644 Test/comp/Poly.dfy.go.expect delete mode 100644 Test/comp/Poly.dfy.py.expect delete mode 100644 Test/comp/TypeParams.dfy.go.expect delete mode 100644 Test/comp/TypeParams.dfy.java.expect delete mode 100644 Test/comp/TypeParams.dfy.js.expect delete mode 100644 Test/comp/TypeParams.dfy.py.expect delete mode 100644 Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect delete mode 100644 Test/dafny0/Deprecation.dfy.verifier.expect delete mode 100644 Test/dafny0/DiscoverBounds.dfy.verifier.expect delete mode 100644 Test/dafny0/DividedConstructors.dfy.verifier.expect delete mode 100644 Test/dafny0/ForallCompilationNewSyntax.dfy.verifier.expect delete mode 100644 Test/dafny0/GhostGuards.dfy.verifier.expect delete mode 100644 Test/dafny0/NullComparisonWarnings.dfy.verifier.expect delete mode 100644 Test/dafny0/TypeMembers.dfy.verifier.expect delete mode 100644 Test/dafny0/Wellfounded.dfy.verifier.expect delete mode 100644 Test/dafny2/SmallestMissingNumber-functional.dfy.verifier.expect delete mode 100644 Test/dafny2/StoreAndRetrieve.dfy.verifier.expect delete mode 100644 Test/dafny3/CachedContainer.dfy.verifier.expect delete mode 100644 Test/dafny4/Ackermann.dfy.verifier.expect delete mode 100644 Test/dafny4/ClassRefinement.dfy.verifier.expect delete mode 100644 Test/git-issues/git-issue-032.dfy.verifier.expect delete mode 100644 Test/git-issues/git-issue-1185.dfy.java.expect delete mode 100644 Test/git-issues/git-issue-262.dfy.go.expect delete mode 100644 Test/git-issues/git-issue-262.dfy.java.expect delete mode 100644 Test/git-issues/git-issue-262.dfy.js.expect delete mode 100644 Test/git-issues/git-issue-4007.dfy.verifier.expect delete mode 100644 Test/git-issues/git-issue-686.dfy.verifier.expect delete mode 100644 Test/patterns/PatternMatching.dfy.verifier.expect delete mode 100644 Test/unicodechars/comp/Collections.dfy.go.expect delete mode 100644 Test/unicodechars/comp/Collections.dfy.java.expect delete mode 100644 Test/unicodechars/comp/Collections.dfy.js.expect delete mode 100644 Test/unicodechars/comp/Collections.dfy.py.expect delete mode 100644 Test/unicodechars/comp/Comprehensions.dfy.py.expect delete mode 100644 Test/unicodechars/comp/Numbers.dfy.go.expect delete mode 100644 Test/unicodechars/comp/Numbers.dfy.py.expect diff --git a/Test/VerifyThis2015/Problem1.dfy b/Test/VerifyThis2015/Problem1.dfy index ab227e1ab85..20bd154ab8d 100644 --- a/Test/VerifyThis2015/Problem1.dfy +++ b/Test/VerifyThis2015/Problem1.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Rustan Leino // 12 April 2015 diff --git a/Test/VerifyThis2015/Problem1.dfy.expect b/Test/VerifyThis2015/Problem1.dfy.expect index 9e8a46acf90..110dd45761d 100644 --- a/Test/VerifyThis2015/Problem1.dfy.expect +++ b/Test/VerifyThis2015/Problem1.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 18 verified, 0 errors true true false diff --git a/Test/VerifyThis2015/Problem2.dfy b/Test/VerifyThis2015/Problem2.dfy index 9b57395e68b..7466df6d410 100644 --- a/Test/VerifyThis2015/Problem2.dfy +++ b/Test/VerifyThis2015/Problem2.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Rustan Leino // 13 April 2015, and many subsequent enhancements and revisions diff --git a/Test/VerifyThis2015/Problem2.dfy.expect b/Test/VerifyThis2015/Problem2.dfy.expect index e69de29bb2d..b49c1470365 100644 --- a/Test/VerifyThis2015/Problem2.dfy.expect +++ b/Test/VerifyThis2015/Problem2.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 32 verified, 0 errors diff --git a/Test/VerifyThis2015/Problem3.dfy b/Test/VerifyThis2015/Problem3.dfy index 1348acf0f4d..3be60b5d81a 100644 --- a/Test/VerifyThis2015/Problem3.dfy +++ b/Test/VerifyThis2015/Problem3.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Rustan Leino // 12 April 2015 // VerifyThis 2015 diff --git a/Test/VerifyThis2015/Problem3.dfy.expect b/Test/VerifyThis2015/Problem3.dfy.expect index e69de29bb2d..4bb1c2c7251 100644 --- a/Test/VerifyThis2015/Problem3.dfy.expect +++ b/Test/VerifyThis2015/Problem3.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 18 verified, 0 errors diff --git a/Test/c++/arrays.dfy b/Test/c++/arrays.dfy index a02b57e5ff8..47140146468 100644 --- a/Test/c++/arrays.dfy +++ b/Test/c++/arrays.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/arrays.dfy.expect b/Test/c++/arrays.dfy.expect index 2ce9320d8c2..552f9355593 100644 --- a/Test/c++/arrays.dfy.expect +++ b/Test/c++/arrays.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 9 verified, 0 errors 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/c++/bit-vectors.dfy b/Test/c++/bit-vectors.dfy index d27469e4ca5..b7f5d35df07 100644 --- a/Test/c++/bit-vectors.dfy +++ b/Test/c++/bit-vectors.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint64 = i:int | 0 <= i < 0x10000000000000000 diff --git a/Test/c++/bit-vectors.dfy.expect b/Test/c++/bit-vectors.dfy.expect index c491236b12b..e327aa2f73b 100644 --- a/Test/c++/bit-vectors.dfy.expect +++ b/Test/c++/bit-vectors.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 6 verified, 0 errors 084841024 diff --git a/Test/c++/class.dfy b/Test/c++/class.dfy index b10d703c981..3039bd0466b 100644 --- a/Test/c++/class.dfy +++ b/Test/c++/class.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/class.dfy.expect b/Test/c++/class.dfy.expect index 80f1587d0a2..93717ecfa9e 100644 --- a/Test/c++/class.dfy.expect +++ b/Test/c++/class.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 16 verified, 0 errors true true false 103 102 102 106 105 105 203 17 0 18 8 9 69 70 diff --git a/Test/c++/const.dfy b/Test/c++/const.dfy index 1bfb79f0361..5ab9a62e0e9 100644 --- a/Test/c++/const.dfy +++ b/Test/c++/const.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" module Holder { const x:bool := false diff --git a/Test/c++/const.dfy.expect b/Test/c++/const.dfy.expect index e69de29bb2d..823a60a105c 100644 --- a/Test/c++/const.dfy.expect +++ b/Test/c++/const.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 1 verified, 0 errors diff --git a/Test/c++/datatypes.dfy b/Test/c++/datatypes.dfy index f56b7907cc3..9d077b97575 100644 --- a/Test/c++/datatypes.dfy +++ b/Test/c++/datatypes.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/datatypes.dfy.expect b/Test/c++/datatypes.dfy.expect index c122f5af791..efa71b43546 100644 --- a/Test/c++/datatypes.dfy.expect +++ b/Test/c++/datatypes.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 12 verified, 0 errors Case A: 42 Case B: true This is expected diff --git a/Test/c++/generic.dfy b/Test/c++/generic.dfy index 374c545b9c1..7995928f93f 100644 --- a/Test/c++/generic.dfy +++ b/Test/c++/generic.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" class Test { var t:T diff --git a/Test/c++/generic.dfy.expect b/Test/c++/generic.dfy.expect index e69de29bb2d..00a51f822da 100644 --- a/Test/c++/generic.dfy.expect +++ b/Test/c++/generic.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 3 verified, 0 errors diff --git a/Test/c++/hello.dfy b/Test/c++/hello.dfy index 523d3152209..c887337c7e1 100644 --- a/Test/c++/hello.dfy +++ b/Test/c++/hello.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { print "Hello world\n"; diff --git a/Test/c++/hello.dfy.expect b/Test/c++/hello.dfy.expect index 802992c4220..87101fec036 100644 --- a/Test/c++/hello.dfy.expect +++ b/Test/c++/hello.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 0 verified, 0 errors Hello world diff --git a/Test/c++/ints.dfy b/Test/c++/ints.dfy index 4490a54817a..cf7ae63e0da 100644 --- a/Test/c++/ints.dfy +++ b/Test/c++/ints.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype sbyte = i:int | -0x80 <= i < 0x80 newtype byte = i:int | 0 <= i < 0x100 diff --git a/Test/c++/ints.dfy.expect b/Test/c++/ints.dfy.expect index 5fcb7b811cb..aeabccf73b0 100644 --- a/Test/c++/ints.dfy.expect +++ b/Test/c++/ints.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 15 verified, 0 errors Result is z = 42 diff --git a/Test/c++/recursion.dfy b/Test/c++/recursion.dfy index 36048aab527..e255b8e6b08 100644 --- a/Test/c++/recursion.dfy +++ b/Test/c++/recursion.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/recursion.dfy.expect b/Test/c++/recursion.dfy.expect index 1ea14926e89..15dbfe2bcd1 100644 --- a/Test/c++/recursion.dfy.expect +++ b/Test/c++/recursion.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 5 verified, 0 errors x !y 3 diff --git a/Test/c++/returns.dfy b/Test/c++/returns.dfy index 9e23121d26a..1ad19a8ce83 100644 --- a/Test/c++/returns.dfy +++ b/Test/c++/returns.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint64 = i:int | 0 <= i < 0x10000000000000000 diff --git a/Test/c++/returns.dfy.expect b/Test/c++/returns.dfy.expect index 48082f72f08..8db105eaba8 100644 --- a/Test/c++/returns.dfy.expect +++ b/Test/c++/returns.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors 12 diff --git a/Test/c++/seqs.dfy b/Test/c++/seqs.dfy index 903208b07f8..f97a42b2851 100644 --- a/Test/c++/seqs.dfy +++ b/Test/c++/seqs.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint8 = i:int | 0 <= i < 0x100 newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/seqs.dfy.expect b/Test/c++/seqs.dfy.expect index 16f5f9d22ea..23f01695bc9 100644 --- a/Test/c++/seqs.dfy.expect +++ b/Test/c++/seqs.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 11 verified, 0 errors Head second:2 Trunc first:2 Head trunc: This is expected diff --git a/Test/c++/sets.dfy b/Test/c++/sets.dfy index 10e2fe0501d..5bfb6f80f1e 100644 --- a/Test/c++/sets.dfy +++ b/Test/c++/sets.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/sets.dfy.expect b/Test/c++/sets.dfy.expect index 52a1e67717e..1c8ede8765e 100644 --- a/Test/c++/sets.dfy.expect +++ b/Test/c++/sets.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 8 verified, 0 errors Identity: This is expected ValuesIdentity: This is expected DiffIdentity: This is expected diff --git a/Test/c++/while.dfy b/Test/c++/while.dfy index 0c0d7ee98df..40dc4699d11 100644 --- a/Test/c++/while.dfy +++ b/Test/c++/while.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/while.dfy.expect b/Test/c++/while.dfy.expect index 9a44de1e2a3..8dfe872ca51 100644 --- a/Test/c++/while.dfy.expect +++ b/Test/c++/while.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 2 verified, 0 errors 0 1 2 diff --git a/Test/comp/Arrays.dfy b/Test/comp/Arrays.dfy index acb4225b358..566f052e0a6 100644 --- a/Test/comp/Arrays.dfy +++ b/Test/comp/Arrays.dfy @@ -1,5 +1,10 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false +// RUN: %baredafny verify %args --relax-definite-assignment "%s" > "%t" +// RUN: %baredafny run --unicode-char:false --no-verify --target=cs %args "%s" >> "%t" +// RUN: %baredafny run --unicode-char:false --no-verify --target=js %args "%s" >> "%t" +// RUN: %baredafny run --unicode-char:false --no-verify --target=go %args "%s" >> "%t" +// RUN: %baredafny run --unicode-char:false --no-verify --target=java %args "%s" >> "%t" +// RUN: %baredafny run --unicode-char:false --no-verify --target=py %args "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method LinearSearch(a: array, key: int) returns (n: nat) ensures 0 <= n <= a.Length diff --git a/Test/comp/Arrays.dfy.expect b/Test/comp/Arrays.dfy.expect index ef3b884f98a..8559e2f3c5c 100644 --- a/Test/comp/Arrays.dfy.expect +++ b/Test/comp/Arrays.dfy.expect @@ -1,3 +1,399 @@ + +Dafny program verifier finished with 89 verified, 0 errors + +Dafny program verifier did not attempt verification +0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 +17 +[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] +[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] +[20, 21, 22] +[0, 1, 2, 3, 4, 5, 6, 7] +[0, 1, 2, 3, 4, 5, 6, 7] +d d d +h e l l o +0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 +1 0 0 0 0 +0 1 0 0 0 +0 0 1 0 0 +cube dims: 3 0 4 +[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] +It's null +hi hello tjena hej hola +hi hello tjena hej hola +hi hello tjena hej hola +d d d +h e l l o +8 8 8 8 +true true true +1 1 1 1 1 +2 2 2 2 2 +3 3 3 3 3 +4 4 4 4 4 +(d, 8, true, 1, 2, 3, 4) +D D D +0 0 0 0 +false false false +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +(D, 0, false, 0, 0, 0, 0) +8 0 +false 0 null null +8 8 +8 8 +8 8 +8 8 +D D D +D D D +D D D +D D r (D, D, r) +D D r +[19, 18, 9, 8] + true + false + true + false + false + false + true + true + false + true + false + true + true + false +hello there +false false +true true +false false +false false +uninitialized bytes: array[0, 0, 0] +bytes from display: array[7, 8, 9] +bytes from lambda: array[20, 21, 22] +uninitialized 1bytes: array[1, 1, 1] +1bytes from display: array[7, 8, 9] +1bytes from lambda: array[20, 21, 22] +17 19 18 20 +100 200 300 120 38 +hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +DDDDDabcdeabcdeggggg +DDDDDabcdeabcdeggggg +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] +DDDDDDDDDDagggggaggg +0 69 50 +0 69 50 +D k n +false false +true true +false false +false false +true true + +Dafny program verifier did not attempt verification +0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 +17 +[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] +[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] +[20, 21, 22] +[0, 1, 2, 3, 4, 5, 6, 7] +[0, 1, 2, 3, 4, 5, 6, 7] +d d d +h e l l o +0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 +1 0 0 0 0 +0 1 0 0 0 +0 0 1 0 0 +cube dims: 3 0 4 +[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] +It's null +hi hello tjena hej hola +hi hello tjena hej hola +hi hello tjena hej hola +d d d +h e l l o +8 8 8 8 +true true true +1 1 1 1 1 +2 2 2 2 2 +3 3 3 3 3 +4 4 4 4 4 +(d, 8, true, 1, 2, 3, 4) +D D D +0 0 0 0 +false false false +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +(D, 0, false, 0, 0, 0, 0) +8 0 +false 0 null null +8 8 +8 8 +8 8 +8 8 +D D D +D D D +D D D +D D r (D, D, r) +D D r +[19, 18, 9, 8] + true + false + true + false + false + false + true + true + false + true + false + true + true + false +hello there +false false +true true +false false +false false +uninitialized bytes: array[0, 0, 0] +bytes from display: array[7, 8, 9] +bytes from lambda: array[20, 21, 22] +uninitialized 1bytes: array[1, 1, 1] +1bytes from display: array[7, 8, 9] +1bytes from lambda: array[20, 21, 22] +17 19 18 20 +100 200 300 120 38 +hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +DDDDDabcdeabcdeggggg +DDDDDabcdeabcdeggggg +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] +DDDDDDDDDDagggggaggg +0 69 50 +0 69 50 +D k n +false false +true true +false false +false false +true true + +Dafny program verifier did not attempt verification +0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 +17 +[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] +[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] +[20, 21, 22] +[0, 1, 2, 3, 4, 5, 6, 7] +[0, 1, 2, 3, 4, 5, 6, 7] +d d d +h e l l o +0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 +1 0 0 0 0 +0 1 0 0 0 +0 0 1 0 0 +cube dims: 3 0 4 +[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] +It's null +hi hello tjena hej hola +hi hello tjena hej hola +hi hello tjena hej hola +d d d +h e l l o +8 8 8 8 +true true true +1 1 1 1 1 +2 2 2 2 2 +3 3 3 3 3 +4 4 4 4 4 +(d, 8, true, 1, 2, 3, 4) +D D D +0 0 0 0 +false false false +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +(D, 0, false, 0, 0, 0, 0) +8 0 +false 0 null null +8 8 +8 8 +8 8 +8 8 +D D D +D D D +D D D +D D r (D, D, r) +D D r +[19, 18, 9, 8] + true + false + true + false + false + false + true + true + false + true + false + true + true + false +hello there +false false +true true +false false +false false +uninitialized bytes: array[0, 0, 0] +bytes from display: array[7, 8, 9] +bytes from lambda: array[20, 21, 22] +uninitialized 1bytes: array[1, 1, 1] +1bytes from display: array[7, 8, 9] +1bytes from lambda: array[20, 21, 22] +17 19 18 20 +100 200 300 120 38 +hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +DDDDDabcdeabcdeggggg +DDDDDabcdeabcdeggggg +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] +[D, D, D, D, D, D, D, D, D, D, a, g, g, g, g, g, a, g, g, g] +0 69 50 +0 69 50 +D k n +false false +true true +false false +false false +true true + +Dafny program verifier did not attempt verification +0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 +17 +[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] +[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] +[20, 21, 22] +[0, 1, 2, 3, 4, 5, 6, 7] +[0, 1, 2, 3, 4, 5, 6, 7] +d d d +h e l l o +0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 +1 0 0 0 0 +0 1 0 0 0 +0 0 1 0 0 +cube dims: 3 0 4 +[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] +It's null +hi hello tjena hej hola +hi hello tjena hej hola +hi hello tjena hej hola +d d d +h e l l o +8 8 8 8 +true true true +1 1 1 1 1 +2 2 2 2 2 +3 3 3 3 3 +4 4 4 4 4 +(d, 8, true, 1, 2, 3, 4) +D D D +0 0 0 0 +false false false +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +(D, 0, false, 0, 0, 0, 0) +8 0 +false 0 null null +8 8 +8 8 +8 8 +8 8 +D D D +D D D +D D D +D D r (D, D, r) +D D r +[19, 18, 9, 8] + true + false + true + false + false + false + true + true + false + true + false + true + true + false +hello there +false false +true true +false false +false false +uninitialized bytes: array[0, 0, 0] +bytes from display: array[7, 8, 9] +bytes from lambda: array[20, 21, 22] +uninitialized 1bytes: array[1, 1, 1] +1bytes from display: array[7, 8, 9] +1bytes from lambda: array[20, 21, 22] +17 19 18 20 +100 200 300 120 38 +hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +DDDDDabcdeabcdeggggg +DDDDDabcdeabcdeggggg +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] +DDDDDDDDDDagggggaggg +0 69 50 +0 69 50 +D k n +false false +true true +false false +false false +true true + +Dafny program verifier did not attempt verification 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/comp/Arrays.dfy.go.expect b/Test/comp/Arrays.dfy.go.expect deleted file mode 100644 index 1217623d90c..00000000000 --- a/Test/comp/Arrays.dfy.go.expect +++ /dev/null @@ -1,96 +0,0 @@ -0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 -17 -[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] -[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] -[20, 21, 22] -[0, 1, 2, 3, 4, 5, 6, 7] -[0, 1, 2, 3, 4, 5, 6, 7] -d d d -h e l l o -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -1 0 0 0 0 -0 1 0 0 0 -0 0 1 0 0 -cube dims: 3 0 4 -[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] -It's null -hi hello tjena hej hola -hi hello tjena hej hola -hi hello tjena hej hola -d d d -h e l l o -8 8 8 8 -true true true -1 1 1 1 1 -2 2 2 2 2 -3 3 3 3 3 -4 4 4 4 4 -(d, 8, true, 1, 2, 3, 4) -D D D -0 0 0 0 -false false false -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -(D, 0, false, 0, 0, 0, 0) -8 0 -false 0 null null -8 8 -8 8 -8 8 -8 8 -D D D -D D D -D D D -D D r (D, D, r) -D D r -[19, 18, 9, 8] - true - false - true - false - false - false - true - true - false - true - false - true - true - false -hello there -false false -true true -false false -false false -uninitialized bytes: array[0, 0, 0] -bytes from display: array[7, 8, 9] -bytes from lambda: array[20, 21, 22] -uninitialized 1bytes: array[1, 1, 1] -1bytes from display: array[7, 8, 9] -1bytes from lambda: array[20, 21, 22] -17 19 18 20 -100 200 300 120 38 -hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -DDDDDabcdeabcdeggggg -DDDDDabcdeabcdeggggg -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] -[D, D, D, D, D, D, D, D, D, D, a, g, g, g, g, g, a, g, g, g] -0 69 50 -0 69 50 -D k n -false false -true true -false false -false false -true true diff --git a/Test/comp/AsIs-Compile.dfy b/Test/comp/AsIs-Compile.dfy index 319847564e2..47084ed7633 100644 --- a/Test/comp/AsIs-Compile.dfy +++ b/Test/comp/AsIs-Compile.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" +// RUN: %baredafny verify %args "%s" > "%t" +// RUN: %baredafny run --no-verify -t=cs %args "%s" >> "%t" +// RUN: %baredafny run --no-verify -t=js %args "%s" >> "%t" +// RUN: %baredafny run --no-verify -t=go %args "%s" >> "%t" +// RUN: %baredafny run --no-verify -t=java %args "%s" >> "%t" +// RUN: %baredafny run --no-verify -t=py %args "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var a: A, b: B, c: C, k: K, l: L := new M, new M, new M, new K, new L; diff --git a/Test/comp/AsIs-Compile.dfy.expect b/Test/comp/AsIs-Compile.dfy.expect index acc78c6e155..36dfe46e91d 100644 --- a/Test/comp/AsIs-Compile.dfy.expect +++ b/Test/comp/AsIs-Compile.dfy.expect @@ -1,3 +1,163 @@ + +Dafny program verifier finished with 6 verified, 0 errors + +Dafny program verifier did not attempt verification +true true true true true +true true true true true +IsComparisons ---- +false true false false + true false false + true false +false false true false + false true false + false false +false false false true + false false true + false true +false true false false + false true false + false false +true true +false true +TestNullIs ---- +true true +true true +true true true true true true +true true true true true true +true true true true true true +true true true true true true +true true +false true +true true true true true true +false true false true false true +true true true true true true +false true false true false true +TestFromTraits ---- +5 +0 +4 +4 +4 +4 + +Dafny program verifier did not attempt verification +true true true true true +true true true true true +IsComparisons ---- +false true false false + true false false + true false +false false true false + false true false + false false +false false false true + false false true + false true +false true false false + false true false + false false +true true +false true +TestNullIs ---- +true true +true true +true true true true true true +true true true true true true +true true true true true true +true true true true true true +true true +false true +true true true true true true +false true false true false true +true true true true true true +false true false true false true +TestFromTraits ---- +5 +0 +4 +4 +4 +4 + +Dafny program verifier did not attempt verification +true true true true true +true true true true true +IsComparisons ---- +false true false false + true false false + true false +false false true false + false true false + false false +false false false true + false false true + false true +false true false false + false true false + false false +true true +false true +TestNullIs ---- +true true +true true +true true true true true true +true true true true true true +true true true true true true +true true true true true true +true true +false true +true true true true true true +false true false true false true +true true true true true true +false true false true false true +TestFromTraits ---- +5 +0 +4 +4 +4 +4 + +Dafny program verifier did not attempt verification +true true true true true +true true true true true +IsComparisons ---- +false true false false + true false false + true false +false false true false + false true false + false false +false false false true + false false true + false true +false true false false + false true false + false false +true true +false true +TestNullIs ---- +true true +true true +true true true true true true +true true true true true true +true true true true true true +true true true true true true +true true +false true +true true true true true true +false true false true false true +true true true true true true +false true false true false true +TestFromTraits ---- +5 +0 +4 +4 +4 +4 + +Dafny program verifier did not attempt verification true true true true true true true true true true IsComparisons ---- diff --git a/Test/comp/AutoInit.dfy b/Test/comp/AutoInit.dfy index c0e752efa36..b284619a80c 100644 --- a/Test/comp/AutoInit.dfy +++ b/Test/comp/AutoInit.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // This file tests the compilation of some default values. It also includes some // regression tests for equality, printing, and tuples. diff --git a/Test/comp/AutoInit.dfy.expect b/Test/comp/AutoInit.dfy.expect index e68e2e43764..51533cc6d5e 100644 --- a/Test/comp/AutoInit.dfy.expect +++ b/Test/comp/AutoInit.dfy.expect @@ -1,3 +1,163 @@ + +Dafny program verifier finished with 21 verified, 0 errors + +Dafny program verifier did not attempt verification +3 false 0 +false false true +() (0, false, false, []) +(null, 0) (null, 0) true +(null, null, null, 0) (null, null, null, 0) true +true false false true +true false false true +17 +1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or +(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) +1 +ww == null -- yes, as expected +true true true true +true true true +true true true +null null +null null +null null null +null null null +null null null +null null null +null null +null null null +null null null +DatatypeDefaultValues.EnumDatatype.MakeZero + DatatypeDefaultValues.IntList.Nil + 0 +DatatypeDefaultValues.GenericTree.Leaf + DatatypeDefaultValues.Complicated.ComplA(0, false) + DatatypeDefaultValues.CellCell.MakeCellCell(0) +null + null +Library.Color.Red(0) and Library.Color.Red(0) +Library.CoColor.Yellow and Library.CoColor.Yellow +Library.MoColor.MoYellow and Library.MoColor.MoYellow +0.0 and 0.0 +13 + +Dafny program verifier did not attempt verification +3 false 0 +false false true +() (0, false, false, []) +(null, 0) (null, 0) true +(null, null, null, 0) (null, null, null, 0) true +true false false true +true false false true +17 +1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or +(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) +1 +ww == null -- yes, as expected +true true true true +true true true +true true true +null null +null null +null null null +null null null +null null null +null null null +null null +null null null +null null null +DatatypeDefaultValues.EnumDatatype.MakeZero + DatatypeDefaultValues.IntList.Nil + 0 +DatatypeDefaultValues.GenericTree.Leaf + DatatypeDefaultValues.Complicated.ComplA(0, false) + DatatypeDefaultValues.CellCell.MakeCellCell(0) +null + null +Library.Color.Red(0) and Library.Color.Red(0) +Library.CoColor.Yellow and Library.CoColor.Yellow +Library.MoColor.MoYellow and Library.MoColor.MoYellow +0.0 and 0.0 +13 + +Dafny program verifier did not attempt verification +3 false 0 +false false true +() (0, false, false, []) +(null, 0) (null, 0) true +(null, null, null, 0) (null, null, null, 0) true +true false false true +true false false true +17 +1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or +(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) +1 +ww == null -- yes, as expected +true true true true +true true true +true true true +null null +null null +null null null +null null null +null null null +null null null +null null +null null null +null null null +DatatypeDefaultValues.EnumDatatype.MakeZero + DatatypeDefaultValues.IntList.Nil + 0 +DatatypeDefaultValues.GenericTree.Leaf + DatatypeDefaultValues.Complicated.ComplA(0, false) + DatatypeDefaultValues.CellCell.MakeCellCell(0) +null + null +Library.Color.Red(0) and Library.Color.Red(0) +Library.CoColor.Yellow and Library.CoColor.Yellow +Library.MoColor.MoYellow and Library.MoColor.MoYellow +0.0 and 0.0 +13 + +Dafny program verifier did not attempt verification +3 false 0 +false false true +() (0, false, false, []) +(null, 0) (null, 0) true +(null, null, null, 0) (null, null, null, 0) true +true false false true +true false false true +17 +1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or +(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) +1 +ww == null -- yes, as expected +true true true true +true true true +true true true +null null +null null +null null null +null null null +null null null +null null null +null null +null null null +null null null +DatatypeDefaultValues.EnumDatatype.MakeZero + DatatypeDefaultValues.IntList.Nil + 0 +DatatypeDefaultValues.GenericTree.Leaf + DatatypeDefaultValues.Complicated.ComplA(0, false) + DatatypeDefaultValues.CellCell.MakeCellCell(0) +null + null +Library.Color.Red(0) and Library.Color.Red(0) +Library.CoColor.Yellow and Library.CoColor.Yellow +Library.MoColor.MoYellow and Library.MoColor.MoYellow +0.0 and 0.0 +13 + +Dafny program verifier did not attempt verification 3 false 0 false false true () (0, false, false, []) diff --git a/Test/comp/ByMethodCompilation.dfy b/Test/comp/ByMethodCompilation.dfy index 7432f72f7d4..ea62d84b21e 100644 --- a/Test/comp/ByMethodCompilation.dfy +++ b/Test/comp/ByMethodCompilation.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var four := Four(); diff --git a/Test/comp/ByMethodCompilation.dfy.expect b/Test/comp/ByMethodCompilation.dfy.expect index d61780e3fb8..1519a955b0c 100644 --- a/Test/comp/ByMethodCompilation.dfy.expect +++ b/Test/comp/ByMethodCompilation.dfy.expect @@ -1,3 +1,35 @@ + +Dafny program verifier finished with 13 verified, 0 errors + +Dafny program verifier did not attempt verification +hello +four is 4 +Recursive(7) = 14 +NonCompilableFunction: 4 7 +Sums: 14 3 + +Dafny program verifier did not attempt verification +hello +four is 4 +Recursive(7) = 14 +NonCompilableFunction: 4 7 +Sums: 14 3 + +Dafny program verifier did not attempt verification +hello +four is 4 +Recursive(7) = 14 +NonCompilableFunction: 4 7 +Sums: 14 3 + +Dafny program verifier did not attempt verification +hello +four is 4 +Recursive(7) = 14 +NonCompilableFunction: 4 7 +Sums: 14 3 + +Dafny program verifier did not attempt verification hello four is 4 Recursive(7) = 14 diff --git a/Test/comp/Calls.dfy b/Test/comp/Calls.dfy index c56bc3e5286..4a4916aea0c 100644 --- a/Test/comp/Calls.dfy +++ b/Test/comp/Calls.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" function F(x: int, y: bool): int { x + if y then 2 else 3 diff --git a/Test/comp/Calls.dfy.expect b/Test/comp/Calls.dfy.expect index cf4e1bc155b..3317b8be164 100644 --- a/Test/comp/Calls.dfy.expect +++ b/Test/comp/Calls.dfy.expect @@ -1,3 +1,43 @@ + +Dafny program verifier finished with 6 verified, 0 errors + +Dafny program verifier did not attempt verification +5 0 0 false 0 false 0 +5 3 5 3 5 3 +5 3 5 3 5 3 +15 +[0, 1, 2, 4] +[0, 2, 4] +--> 5 <-- + +Dafny program verifier did not attempt verification +5 0 0 false 0 false 0 +5 3 5 3 5 3 +5 3 5 3 5 3 +15 +[0, 1, 2, 4] +[0, 2, 4] +--> 5 <-- + +Dafny program verifier did not attempt verification +5 0 0 false 0 false 0 +5 3 5 3 5 3 +5 3 5 3 5 3 +15 +[0, 1, 2, 4] +[0, 2, 4] +--> 5 <-- + +Dafny program verifier did not attempt verification +5 0 0 false 0 false 0 +5 3 5 3 5 3 +5 3 5 3 5 3 +15 +[0, 1, 2, 4] +[0, 2, 4] +--> 5 <-- + +Dafny program verifier did not attempt verification 5 0 0 false 0 false 0 5 3 5 3 5 3 5 3 5 3 5 3 diff --git a/Test/comp/Class.dfy b/Test/comp/Class.dfy index 23591e43450..fb994f008e7 100644 --- a/Test/comp/Class.dfy +++ b/Test/comp/Class.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" class MyClass { var a: int diff --git a/Test/comp/Class.dfy.expect b/Test/comp/Class.dfy.expect index 47e49966664..ba1482a164b 100644 --- a/Test/comp/Class.dfy.expect +++ b/Test/comp/Class.dfy.expect @@ -1,3 +1,75 @@ + +Dafny program verifier finished with 16 verified, 0 errors + +Dafny program verifier did not attempt verification +true true false +103 103 103 106 106 106 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +0 18 9 70 +0 18 9 70 +0 18 9 70 +70 +hi later +21 4 42 5 1 +TestGhostables +15 +Init called with x=15 +16 + +Dafny program verifier did not attempt verification +true true false +103 103 103 106 106 106 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +0 18 9 70 +0 18 9 70 +0 18 9 70 +70 +hi later +21 4 42 5 1 +TestGhostables +15 +Init called with x=15 +16 + +Dafny program verifier did not attempt verification +true true false +103 103 103 106 106 106 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +0 18 9 70 +0 18 9 70 +0 18 9 70 +70 +hi later +21 4 42 5 1 +TestGhostables +15 +Init called with x=15 +16 + +Dafny program verifier did not attempt verification +true true false +103 103 103 106 106 106 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +0 18 9 70 +0 18 9 70 +0 18 9 70 +70 +hi later +21 4 42 5 1 +TestGhostables +15 +Init called with x=15 +16 + +Dafny program verifier did not attempt verification true true false 103 103 103 106 106 106 203 17 0 18 8 9 69 70 diff --git a/Test/comp/Collections.dfy b/Test/comp/Collections.dfy index 9457e44b170..104eb9f90ac 100644 --- a/Test/comp/Collections.dfy +++ b/Test/comp/Collections.dfy @@ -1,5 +1,10 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { Sets(); diff --git a/Test/comp/Collections.dfy.expect b/Test/comp/Collections.dfy.expect index e705d887a7d..2361c1a88db 100644 --- a/Test/comp/Collections.dfy.expect +++ b/Test/comp/Collections.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 40 verified, 0 errors + +Dafny program verifier did not attempt verification Sets: {} {17, 82} {12, 17} cardinality: 0 2 2 union: {17, 82} {12, 17, 82} @@ -123,3 +127,511 @@ Multiset=== 1 3 |s|=2 |u|=4 1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Yellow := 21, Color.Blue := 30] +keys: {Color.Yellow, Color.Blue} +values: {21, 30} +items: {(Color.Yellow, 21), (Color.Blue, 30)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {21, 30} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/comp/Collections.dfy.go.expect b/Test/comp/Collections.dfy.go.expect deleted file mode 100644 index 309d0c550c4..00000000000 --- a/Test/comp/Collections.dfy.go.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/comp/Collections.dfy.java.expect b/Test/comp/Collections.dfy.java.expect deleted file mode 100644 index ed929a4d34c..00000000000 --- a/Test/comp/Collections.dfy.java.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Yellow := 21, Color.Blue := 30] -keys: {Color.Yellow, Color.Blue} -values: {21, 30} -items: {(Color.Yellow, 21), (Color.Blue, 30)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/comp/Collections.dfy.js.expect b/Test/comp/Collections.dfy.js.expect deleted file mode 100644 index 309d0c550c4..00000000000 --- a/Test/comp/Collections.dfy.js.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/comp/Collections.dfy.py.expect b/Test/comp/Collections.dfy.py.expect deleted file mode 100644 index 61b4217bbaf..00000000000 --- a/Test/comp/Collections.dfy.py.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {21, 30} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/comp/Comprehensions.dfy b/Test/comp/Comprehensions.dfy index 73c43b22bfa..29ac368f2c3 100644 --- a/Test/comp/Comprehensions.dfy +++ b/Test/comp/Comprehensions.dfy @@ -1,5 +1,10 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { AssignSuchThat(); diff --git a/Test/comp/Comprehensions.dfy.expect b/Test/comp/Comprehensions.dfy.expect index c9703fc9397..18159ddde0a 100644 --- a/Test/comp/Comprehensions.dfy.expect +++ b/Test/comp/Comprehensions.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 32 verified, 0 errors + +Dafny program verifier did not attempt verification x=13 y=14 x=13 y=14 b=yes true false @@ -60,3 +64,259 @@ true true [137438953474, 137438953475, 137438953476, 137438953477, 137438953479] cdefh cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[14 := 7, 12 := 6, 13 := 6] +map[18 := 14, 17 := 13, 16 := 12] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh diff --git a/Test/comp/Comprehensions.dfy.py.expect b/Test/comp/Comprehensions.dfy.py.expect deleted file mode 100644 index aeaa31fc0f3..00000000000 --- a/Test/comp/Comprehensions.dfy.py.expect +++ /dev/null @@ -1,62 +0,0 @@ -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[14 := 7, 12 := 6, 13 := 6] -map[18 := 14, 17 := 13, 16 := 12] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh diff --git a/Test/comp/ComprehensionsNewSyntax.dfy b/Test/comp/ComprehensionsNewSyntax.dfy index 6cd88aeb4f7..a324b622e8a 100644 --- a/Test/comp/ComprehensionsNewSyntax.dfy +++ b/Test/comp/ComprehensionsNewSyntax.dfy @@ -1,5 +1,10 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { Quantifier(); diff --git a/Test/comp/ComprehensionsNewSyntax.dfy.expect b/Test/comp/ComprehensionsNewSyntax.dfy.expect index b70314ff87b..408769f4b67 100644 --- a/Test/comp/ComprehensionsNewSyntax.dfy.expect +++ b/Test/comp/ComprehensionsNewSyntax.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 10 verified, 0 errors + +Dafny program verifier did not attempt verification true false true false map[12 := 6, 13 := 6, 14 := 7] @@ -32,3 +36,147 @@ false false false false true true true true false false false false true true true true + +Dafny program verifier did not attempt verification +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true + +Dafny program verifier did not attempt verification +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true + +Dafny program verifier did not attempt verification +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true + +Dafny program verifier did not attempt verification +true false +true false +map[14 := 7, 12 := 6, 13 := 6] +map[18 := 14, 17 := 13, 16 := 12] +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true diff --git a/Test/comp/ComprehensionsNewSyntax.dfy.py.expect b/Test/comp/ComprehensionsNewSyntax.dfy.py.expect deleted file mode 100644 index b19cef0ba0e..00000000000 --- a/Test/comp/ComprehensionsNewSyntax.dfy.py.expect +++ /dev/null @@ -1,34 +0,0 @@ -true false -true false -map[14 := 7, 12 := 6, 13 := 6] -map[18 := 14, 17 := 13, 16 := 12] -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true diff --git a/Test/comp/CovariantCollections.dfy b/Test/comp/CovariantCollections.dfy index 6dd73ee7fea..12301df3b09 100644 --- a/Test/comp/CovariantCollections.dfy +++ b/Test/comp/CovariantCollections.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { Sequences(); diff --git a/Test/comp/CovariantCollections.dfy.expect b/Test/comp/CovariantCollections.dfy.expect index a9d00f4a65d..e029d3abc3b 100644 --- a/Test/comp/CovariantCollections.dfy.expect +++ b/Test/comp/CovariantCollections.dfy.expect @@ -1,3 +1,223 @@ + +Dafny program verifier finished with 25 verified, 0 errors + +Dafny program verifier did not attempt verification +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17] [12, 17] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + comprehension: {82} + union: {17, 82} {12, 17, 82} + intersection: {} {17} + difference: {} {82} + subset: true false true + proper subset: true false false + membership: false true true +Multisets: {} {17, 17, 82, 82} {12, 17} + cardinality: 0 4 2 + update: {17, 17, 42, 42, 42} {12, 17, 42} + multiplicity: 2 0 20 + union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} + intersection: {} {17, 82, 82} + difference: {} {17, 82, 82} + subset: true false true + proper subset: true false false + membership: false true true +Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} + cardinality: 0 3 2 + update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} + comprehension: {17 := 12, 82 := 12} + Keys: {12, 17, 82} + Values: {17, 82} + eq: false true true + eq: true true true true true true + eq: true true true true true true + eq: true false true false true false + eq: true false true false true false + eq: true true true true true true + eq: true true true true true true +set: {20, 30} +multiset: {20, 30} +seq: [20, 30] +map: {20 := 30, 30 := 20} +true +true +1 1 +1 1 + +Dafny program verifier did not attempt verification +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17] [12, 17] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + comprehension: {82} + union: {17, 82} {12, 17, 82} + intersection: {} {17} + difference: {} {82} + subset: true false true + proper subset: true false false + membership: false true true +Multisets: {} {17, 17, 82, 82} {12, 17} + cardinality: 0 4 2 + update: {17, 17, 42, 42, 42} {12, 17, 42} + multiplicity: 2 0 20 + union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} + intersection: {} {17, 82, 82} + difference: {} {17, 82, 82} + subset: true false true + proper subset: true false false + membership: false true true +Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} + cardinality: 0 3 2 + update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} + comprehension: {17 := 12, 82 := 12} + Keys: {12, 17, 82} + Values: {17, 82} + eq: false true true + eq: true true true true true true + eq: true true true true true true + eq: true false true false true false + eq: true false true false true false + eq: true true true true true true + eq: true true true true true true +set: {20, 30} +multiset: {20, 30} +seq: [20, 30] +map: {20 := 30, 30 := 20} +true +true +1 1 +1 1 + +Dafny program verifier did not attempt verification +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17] [12, 17] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + comprehension: {82} + union: {17, 82} {12, 17, 82} + intersection: {} {17} + difference: {} {82} + subset: true false true + proper subset: true false false + membership: false true true +Multisets: {} {17, 17, 82, 82} {12, 17} + cardinality: 0 4 2 + update: {17, 17, 42, 42, 42} {12, 17, 42} + multiplicity: 2 0 20 + union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} + intersection: {} {17, 82, 82} + difference: {} {17, 82, 82} + subset: true false true + proper subset: true false false + membership: false true true +Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} + cardinality: 0 3 2 + update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} + comprehension: {17 := 12, 82 := 12} + Keys: {12, 17, 82} + Values: {17, 82} + eq: false true true + eq: true true true true true true + eq: true true true true true true + eq: true false true false true false + eq: true false true false true false + eq: true true true true true true + eq: true true true true true true +set: {20, 30} +multiset: {20, 30} +seq: [20, 30] +map: {20 := 30, 30 := 20} +true +true +1 1 +1 1 + +Dafny program verifier did not attempt verification +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17] [12, 17] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + comprehension: {82} + union: {17, 82} {12, 17, 82} + intersection: {} {17} + difference: {} {82} + subset: true false true + proper subset: true false false + membership: false true true +Multisets: {} {17, 17, 82, 82} {12, 17} + cardinality: 0 4 2 + update: {17, 17, 42, 42, 42} {12, 17, 42} + multiplicity: 2 0 20 + union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} + intersection: {} {17, 82, 82} + difference: {} {17, 82, 82} + subset: true false true + proper subset: true false false + membership: false true true +Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} + cardinality: 0 3 2 + update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} + comprehension: {17 := 12, 82 := 12} + Keys: {12, 17, 82} + Values: {17, 82} + eq: false true true + eq: true true true true true true + eq: true true true true true true + eq: true false true false true false + eq: true false true false true false + eq: true true true true true true + eq: true true true true true true +set: {20, 30} +multiset: {20, 30} +seq: [20, 30] +map: {20 := 30, 30 := 20} +true +true +1 1 +1 1 + +Dafny program verifier did not attempt verification Sequences: [] [17, 82, 17, 82] [12, 17] cardinality: 0 4 2 update: [42, 82, 17, 82] [42, 17] diff --git a/Test/comp/Datatype.dfy b/Test/comp/Datatype.dfy index 44579383e5c..2599907a94c 100644 --- a/Test/comp/Datatype.dfy +++ b/Test/comp/Datatype.dfy @@ -1,5 +1,10 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype List = Nil | Cons(head: int, tail: List) diff --git a/Test/comp/Datatype.dfy.expect b/Test/comp/Datatype.dfy.expect index 93e37a9562a..84dceeb16e6 100644 --- a/Test/comp/Datatype.dfy.expect +++ b/Test/comp/Datatype.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 12 verified, 0 errors + +Dafny program verifier did not attempt verification List.Nil List.Cons(5, List.Nil) (List.Nil, List.Cons(5, List.Nil)) @@ -20,3 +24,99 @@ Record.Record(58, true) 199 800 801 802 800 801 802 + +Dafny program verifier did not attempt verification +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) +0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) +Stream.Next +Stream.Next +{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} +CoBerry.Hjortron true true false +false +42 'q' hello +1701 +Record.Record(58, true) +199 +800 801 802 +800 801 802 + +Dafny program verifier did not attempt verification +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) +0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) +Stream.Next +Stream.Next +{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} +CoBerry.Hjortron true true false +false +42 'q' hello +1701 +Record.Record(58, true) +199 +800 801 802 +800 801 802 + +Dafny program verifier did not attempt verification +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) +0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) +Stream.Next +Stream.Next +{Berry.Jordgubb, Berry.Smultron, Berry.Hallon} +CoBerry.Hjortron true true false +false +42 'q' hello +1701 +Record.Record(58, true) +199 +800 801 802 +800 801 802 + +Dafny program verifier did not attempt verification +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) +0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) +Stream.Next +Stream.Next +{Berry.Hallon, Berry.Smultron, Berry.Jordgubb} +CoBerry.Hjortron true true false +false +42 'q' hello +1701 +Record.Record(58, true) +199 +800 801 802 +800 801 802 diff --git a/Test/comp/Datatype.dfy.java.expect b/Test/comp/Datatype.dfy.java.expect deleted file mode 100644 index e5a32fd58bc..00000000000 --- a/Test/comp/Datatype.dfy.java.expect +++ /dev/null @@ -1,22 +0,0 @@ -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) -0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) -Stream.Next -Stream.Next -{Berry.Jordgubb, Berry.Smultron, Berry.Hallon} -CoBerry.Hjortron true true false -false -42 'q' hello -1701 -Record.Record(58, true) -199 -800 801 802 -800 801 802 diff --git a/Test/comp/Datatype.dfy.py.expect b/Test/comp/Datatype.dfy.py.expect deleted file mode 100644 index 0f64b73ba2d..00000000000 --- a/Test/comp/Datatype.dfy.py.expect +++ /dev/null @@ -1,22 +0,0 @@ -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) -0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) -Stream.Next -Stream.Next -{Berry.Hallon, Berry.Smultron, Berry.Jordgubb} -CoBerry.Hjortron true true false -false -42 'q' hello -1701 -Record.Record(58, true) -199 -800 801 802 -800 801 802 diff --git a/Test/comp/DefaultParameters-Compile.dfy b/Test/comp/DefaultParameters-Compile.dfy index cd6ba1163b1..145b8670647 100644 --- a/Test/comp/DefaultParameters-Compile.dfy +++ b/Test/comp/DefaultParameters-Compile.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method M(x: int := 16) { print x, "\n"; diff --git a/Test/comp/DefaultParameters-Compile.dfy.expect b/Test/comp/DefaultParameters-Compile.dfy.expect index b4b87321eb5..b94739d5be1 100644 --- a/Test/comp/DefaultParameters-Compile.dfy.expect +++ b/Test/comp/DefaultParameters-Compile.dfy.expect @@ -1,3 +1,51 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification +12 +16 +1 2 +1 3 +10 20 +11 13 +Color.Blue(2, 1) Color.Red(3, 4) +5 5 6 +6 6 7 + +Dafny program verifier did not attempt verification +12 +16 +1 2 +1 3 +10 20 +11 13 +Color.Blue(2, 1) Color.Red(3, 4) +5 5 6 +6 6 7 + +Dafny program verifier did not attempt verification +12 +16 +1 2 +1 3 +10 20 +11 13 +Color.Blue(2, 1) Color.Red(3, 4) +5 5 6 +6 6 7 + +Dafny program verifier did not attempt verification +12 +16 +1 2 +1 3 +10 20 +11 13 +Color.Blue(2, 1) Color.Red(3, 4) +5 5 6 +6 6 7 + +Dafny program verifier did not attempt verification 12 16 1 2 diff --git a/Test/comp/DowncastClone.dfy b/Test/comp/DowncastClone.dfy index cb1f095b3f4..b90066da781 100644 --- a/Test/comp/DowncastClone.dfy +++ b/Test/comp/DowncastClone.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Co<+T> = Co(T) | C datatype ReCo<+T> = ReCo(T) diff --git a/Test/comp/DowncastClone.dfy.expect b/Test/comp/DowncastClone.dfy.expect index b0613294f3c..982b36b396c 100644 --- a/Test/comp/DowncastClone.dfy.expect +++ b/Test/comp/DowncastClone.dfy.expect @@ -1,3 +1,43 @@ + +Dafny program verifier finished with 7 verified, 0 errors + +Dafny program verifier did not attempt verification +Co.Co(_module.Y) and Co.Co(_module.Y) +_module.Y and _module.Y +_module.Y _module.Y +false and false +false and false +_module.Y and _module.Y +Done + +Dafny program verifier did not attempt verification +Co.Co(_module.Y) and Co.Co(_module.Y) +_module.Y and _module.Y +_module.Y _module.Y +false and false +false and false +_module.Y and _module.Y +Done + +Dafny program verifier did not attempt verification +Co.Co(_module.Y) and Co.Co(_module.Y) +_module.Y and _module.Y +_module.Y _module.Y +false and false +false and false +_module.Y and _module.Y +Done + +Dafny program verifier did not attempt verification +Co.Co(_module.Y) and Co.Co(_module.Y) +_module.Y and _module.Y +_module.Y _module.Y +false and false +false and false +_module.Y and _module.Y +Done + +Dafny program verifier did not attempt verification Co.Co(_module.Y) and Co.Co(_module.Y) _module.Y and _module.Y _module.Y _module.Y diff --git a/Test/comp/ErasableTypeWrappers.dfy b/Test/comp/ErasableTypeWrappers.dfy index a280099699f..d62d3736622 100644 --- a/Test/comp/ErasableTypeWrappers.dfy +++ b/Test/comp/ErasableTypeWrappers.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype SingletonRecord = SingletonRecord(u: int) datatype GhostOrNot = ghost Ghost(a: int, b: int) | Compiled(x: int) diff --git a/Test/comp/ErasableTypeWrappers.dfy.expect b/Test/comp/ErasableTypeWrappers.dfy.expect index 2a82d776c64..5013d9fc327 100644 --- a/Test/comp/ErasableTypeWrappers.dfy.expect +++ b/Test/comp/ErasableTypeWrappers.dfy.expect @@ -1,3 +1,87 @@ + +Dafny program verifier finished with 10 verified, 0 errors + +Dafny program verifier did not attempt verification +62 63 (2, 5) (2, 5) 3 +62 63 5 5 3 +5 5 3 +1062 1063 1005 1005 1003 +true true true +20 20 *20 21 20 +20 20 *20 21 20 +true false +true false true false +true false +0 (0, 0) 0 Color.Pink +13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false + 3.14 2.7 +18.0 18.0 3.0 false +18.0 4.0 true +HasConst.MakeC(4) (4, 4) +4 (4, 4) +OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.AnotherIntsWrapper(OptimizationChecks.Ints.Ints(5, 7)) + +Dafny program verifier did not attempt verification +62 63 (2, 5) (2, 5) 3 +62 63 5 5 3 +5 5 3 +1062 1063 1005 1005 1003 +true true true +20 20 *20 21 20 +20 20 *20 21 20 +true false +true false true false +true false +0 (0, 0) 0 Color.Pink +13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false + 3.14 2.7 +18.0 18.0 3.0 false +18.0 4.0 true +HasConst.MakeC(4) (4, 4) +4 (4, 4) +OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.AnotherIntsWrapper(OptimizationChecks.Ints.Ints(5, 7)) + +Dafny program verifier did not attempt verification +62 63 (2, 5) (2, 5) 3 +62 63 5 5 3 +5 5 3 +1062 1063 1005 1005 1003 +true true true +20 20 *20 21 20 +20 20 *20 21 20 +true false +true false true false +true false +0 (0, 0) 0 Color.Pink +13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false + 3.14 2.7 +18.0 18.0 3.0 false +18.0 4.0 true +HasConst.MakeC(4) (4, 4) +4 (4, 4) +OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.AnotherIntsWrapper(OptimizationChecks.Ints.Ints(5, 7)) + +Dafny program verifier did not attempt verification +62 63 (2, 5) (2, 5) 3 +62 63 5 5 3 +5 5 3 +1062 1063 1005 1005 1003 +true true true +20 20 *20 21 20 +20 20 *20 21 20 +true false +true false true false +true false +0 (0, 0) 0 Color.Pink +13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false + 3.14 2.7 +18.0 18.0 3.0 false +18.0 4.0 true +HasConst.MakeC(4) (4, 4) +4 (4, 4) +OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.AnotherIntsWrapper(OptimizationChecks.Ints.Ints(5, 7)) + +Dafny program verifier did not attempt verification 62 63 (2, 5) (2, 5) 3 62 63 5 5 3 5 5 3 diff --git a/Test/comp/EuclideanDivision.dfy b/Test/comp/EuclideanDivision.dfy index 1286dcd125b..7ae1803cad8 100644 --- a/Test/comp/EuclideanDivision.dfy +++ b/Test/comp/EuclideanDivision.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // Some runtimes (like the one for C#) have three implementations // of Euclidean div/mod: one for `int`, one for `long`, and one diff --git a/Test/comp/EuclideanDivision.dfy.expect b/Test/comp/EuclideanDivision.dfy.expect index e2585ff8c70..b538c9494de 100644 --- a/Test/comp/EuclideanDivision.dfy.expect +++ b/Test/comp/EuclideanDivision.dfy.expect @@ -1,3 +1,39 @@ + +Dafny program verifier finished with 11 verified, 0 errors + +Dafny program verifier did not attempt verification +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 + +Dafny program verifier did not attempt verification +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 + +Dafny program verifier did not attempt verification +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 + +Dafny program verifier did not attempt verification +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 + +Dafny program verifier did not attempt verification 2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 diff --git a/Test/comp/ForLoops-Compilation.dfy b/Test/comp/ForLoops-Compilation.dfy index b468d21f69f..97101b82961 100644 --- a/Test/comp/ForLoops-Compilation.dfy +++ b/Test/comp/ForLoops-Compilation.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { TestM(0, 0); diff --git a/Test/comp/ForLoops-Compilation.dfy.expect b/Test/comp/ForLoops-Compilation.dfy.expect index 97724a714bc..d67a5429fed 100644 --- a/Test/comp/ForLoops-Compilation.dfy.expect +++ b/Test/comp/ForLoops-Compilation.dfy.expect @@ -1,3 +1,203 @@ + +Dafny program verifier finished with 23 verified, 0 errors + +Dafny program verifier did not attempt verification +0 0 0 0 +-2 -2 -2 -2 +0 0 0 0 +145 145 145 145 +0 0 +0 0 +57 57 +0 0 +32385 32385 +0 0 +-128 -128 +126 126 +0 0 +0 * 2 == 0 +2 * 0 == 0 +1 * 1 == 1 +6 * 5 == 30 +0 + 3 == 3 +3 + 0 == 3 +4 + 0 == 4 +0 + 0 == 0 +19 + 14 == 33 +4 4 4 +== BC10 == +0 --++--++---- *** +1 --++--++----++-- +2 --++--++----++--++--++--++--++--++--++ *** +3 --++--++----++--++--++--++--++--++--++ *** +4 --++--++----++--++--++--++--++--++--++ *** +5 --++--++----++--++--++--++--++--++--++ *** +6 --++--++----++--++--++--++--++--++--++ *** +7 --++--++----++--++--++--++--++--++--++ *** +8 --++--++----++--++--++--++--++--++--++ *** +9 --++--++----++--++--++--++--++--++--++ *** +== BC11 == +0 ||--++----++-- *** +1 ||--++----++--++-- +2 ||--++----++--++--++--++--++--++--++--++ *** +3 ||--++----++--++--++--++--++--++--++--++ *** +4 ||--++----++--++--++--++--++--++--++--++ *** +5 ||--++----++--++--++--++--++--++--++--++ *** +6 ||--++----++--++--++--++--++--++--++--++ *** +7 ||--++----++--++--++--++--++--++--++--++ *** +8 ||--++----++--++--++--++--++--++--++--++ *** +9 ||--++----++--++--++--++--++--++--++--++ *** +true true true 15 +all good + +Dafny program verifier did not attempt verification +0 0 0 0 +-2 -2 -2 -2 +0 0 0 0 +145 145 145 145 +0 0 +0 0 +57 57 +0 0 +32385 32385 +0 0 +-128 -128 +126 126 +0 0 +0 * 2 == 0 +2 * 0 == 0 +1 * 1 == 1 +6 * 5 == 30 +0 + 3 == 3 +3 + 0 == 3 +4 + 0 == 4 +0 + 0 == 0 +19 + 14 == 33 +4 4 4 +== BC10 == +0 --++--++---- *** +1 --++--++----++-- +2 --++--++----++--++--++--++--++--++--++ *** +3 --++--++----++--++--++--++--++--++--++ *** +4 --++--++----++--++--++--++--++--++--++ *** +5 --++--++----++--++--++--++--++--++--++ *** +6 --++--++----++--++--++--++--++--++--++ *** +7 --++--++----++--++--++--++--++--++--++ *** +8 --++--++----++--++--++--++--++--++--++ *** +9 --++--++----++--++--++--++--++--++--++ *** +== BC11 == +0 ||--++----++-- *** +1 ||--++----++--++-- +2 ||--++----++--++--++--++--++--++--++--++ *** +3 ||--++----++--++--++--++--++--++--++--++ *** +4 ||--++----++--++--++--++--++--++--++--++ *** +5 ||--++----++--++--++--++--++--++--++--++ *** +6 ||--++----++--++--++--++--++--++--++--++ *** +7 ||--++----++--++--++--++--++--++--++--++ *** +8 ||--++----++--++--++--++--++--++--++--++ *** +9 ||--++----++--++--++--++--++--++--++--++ *** +true true true 15 +all good + +Dafny program verifier did not attempt verification +0 0 0 0 +-2 -2 -2 -2 +0 0 0 0 +145 145 145 145 +0 0 +0 0 +57 57 +0 0 +32385 32385 +0 0 +-128 -128 +126 126 +0 0 +0 * 2 == 0 +2 * 0 == 0 +1 * 1 == 1 +6 * 5 == 30 +0 + 3 == 3 +3 + 0 == 3 +4 + 0 == 4 +0 + 0 == 0 +19 + 14 == 33 +4 4 4 +== BC10 == +0 --++--++---- *** +1 --++--++----++-- +2 --++--++----++--++--++--++--++--++--++ *** +3 --++--++----++--++--++--++--++--++--++ *** +4 --++--++----++--++--++--++--++--++--++ *** +5 --++--++----++--++--++--++--++--++--++ *** +6 --++--++----++--++--++--++--++--++--++ *** +7 --++--++----++--++--++--++--++--++--++ *** +8 --++--++----++--++--++--++--++--++--++ *** +9 --++--++----++--++--++--++--++--++--++ *** +== BC11 == +0 ||--++----++-- *** +1 ||--++----++--++-- +2 ||--++----++--++--++--++--++--++--++--++ *** +3 ||--++----++--++--++--++--++--++--++--++ *** +4 ||--++----++--++--++--++--++--++--++--++ *** +5 ||--++----++--++--++--++--++--++--++--++ *** +6 ||--++----++--++--++--++--++--++--++--++ *** +7 ||--++----++--++--++--++--++--++--++--++ *** +8 ||--++----++--++--++--++--++--++--++--++ *** +9 ||--++----++--++--++--++--++--++--++--++ *** +true true true 15 +all good + +Dafny program verifier did not attempt verification +0 0 0 0 +-2 -2 -2 -2 +0 0 0 0 +145 145 145 145 +0 0 +0 0 +57 57 +0 0 +32385 32385 +0 0 +-128 -128 +126 126 +0 0 +0 * 2 == 0 +2 * 0 == 0 +1 * 1 == 1 +6 * 5 == 30 +0 + 3 == 3 +3 + 0 == 3 +4 + 0 == 4 +0 + 0 == 0 +19 + 14 == 33 +4 4 4 +== BC10 == +0 --++--++---- *** +1 --++--++----++-- +2 --++--++----++--++--++--++--++--++--++ *** +3 --++--++----++--++--++--++--++--++--++ *** +4 --++--++----++--++--++--++--++--++--++ *** +5 --++--++----++--++--++--++--++--++--++ *** +6 --++--++----++--++--++--++--++--++--++ *** +7 --++--++----++--++--++--++--++--++--++ *** +8 --++--++----++--++--++--++--++--++--++ *** +9 --++--++----++--++--++--++--++--++--++ *** +== BC11 == +0 ||--++----++-- *** +1 ||--++----++--++-- +2 ||--++----++--++--++--++--++--++--++--++ *** +3 ||--++----++--++--++--++--++--++--++--++ *** +4 ||--++----++--++--++--++--++--++--++--++ *** +5 ||--++----++--++--++--++--++--++--++--++ *** +6 ||--++----++--++--++--++--++--++--++--++ *** +7 ||--++----++--++--++--++--++--++--++--++ *** +8 ||--++----++--++--++--++--++--++--++--++ *** +9 ||--++----++--++--++--++--++--++--++--++ *** +true true true 15 +all good + +Dafny program verifier did not attempt verification 0 0 0 0 -2 -2 -2 -2 0 0 0 0 diff --git a/Test/comp/ForallNewSyntax.dfy b/Test/comp/ForallNewSyntax.dfy index 85e609b37b3..c17bf86830e 100644 --- a/Test/comp/ForallNewSyntax.dfy +++ b/Test/comp/ForallNewSyntax.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --function-syntax:3 --quantifier-syntax:4 --relax-definite-assignment +// RUN: %baredafny verify %args --relax-definite-assignment --function-syntax:3 --quantifier-syntax:4 "%s" > "%t" +// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:cs "%s" >> "%t" +// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:js "%s" >> "%t" +// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:go "%s" >> "%t" +// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:java "%s" >> "%t" +// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var arrayTests := new ArrayTests(); diff --git a/Test/comp/ForallNewSyntax.dfy.expect b/Test/comp/ForallNewSyntax.dfy.expect index 5b33d939607..241ea9ea521 100644 --- a/Test/comp/ForallNewSyntax.dfy.expect +++ b/Test/comp/ForallNewSyntax.dfy.expect @@ -1,3 +1,183 @@ + +Dafny program verifier finished with 25 verified, 0 errors + +Dafny program verifier did not attempt verification +Arrays: Basic cases +[0, 1, 2, 3, 4] +[0, 1, 2, 3, 4] +[0, 1, 4, 3, 8] + +Arrays: Wrong index +[0, 0, 1, 2, 3] +[0, 0, 1, 2, 3] +[1, 2, 3, 4, 5] + +Arrays: Sequence conversion +[2, 1, 4, 5, 6] +[0, 3, 3, 3, 4] + +Arrays: Index collection +[1, 1, 2, 3, 4] +[1, 1, 2, 3, 4] + +Arrays: Functions +[1, 1, 3, 4, 5] +[1, 1, 3, 4, 5] +[1, 2, 3, 3, 5] +[1, 2, 3, 4, 5] + +Multi-dimensional arrays +[[0, 2, 4], [1, 3, 5], [2, 4, 6]] +[[0, 1, 2], [2, 3, 4], [4, 5, 6]] + +Objects: Basic cases +[(0, 1.0), (0, 2.0), (0, 3.0)] +[(2, 1.0), (2, 2.0), (4, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] + +Objects: Bad field accesses +[(2, 1.0), (3, 2.0), (4, 3.0)] +[(2, 1.0), (2, 2.0), (2, 3.0)] +[(2, 1.0), (3, 2.0), (1, 3.0)] + +Objects: Functions +[(2, 1.0), (4, 2.0), (6, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] +[(3, 1.0), (4, 2.0), (5, 3.0)] + +Dafny program verifier did not attempt verification +Arrays: Basic cases +[0, 1, 2, 3, 4] +[0, 1, 2, 3, 4] +[0, 1, 4, 3, 8] + +Arrays: Wrong index +[0, 0, 1, 2, 3] +[0, 0, 1, 2, 3] +[1, 2, 3, 4, 5] + +Arrays: Sequence conversion +[2, 1, 4, 5, 6] +[0, 3, 3, 3, 4] + +Arrays: Index collection +[1, 1, 2, 3, 4] +[1, 1, 2, 3, 4] + +Arrays: Functions +[1, 1, 3, 4, 5] +[1, 1, 3, 4, 5] +[1, 2, 3, 3, 5] +[1, 2, 3, 4, 5] + +Multi-dimensional arrays +[[0, 2, 4], [1, 3, 5], [2, 4, 6]] +[[0, 1, 2], [2, 3, 4], [4, 5, 6]] + +Objects: Basic cases +[(0, 1.0), (0, 2.0), (0, 3.0)] +[(2, 1.0), (2, 2.0), (4, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] + +Objects: Bad field accesses +[(2, 1.0), (3, 2.0), (4, 3.0)] +[(2, 1.0), (2, 2.0), (2, 3.0)] +[(2, 1.0), (3, 2.0), (1, 3.0)] + +Objects: Functions +[(2, 1.0), (4, 2.0), (6, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] +[(3, 1.0), (4, 2.0), (5, 3.0)] + +Dafny program verifier did not attempt verification +Arrays: Basic cases +[0, 1, 2, 3, 4] +[0, 1, 2, 3, 4] +[0, 1, 4, 3, 8] + +Arrays: Wrong index +[0, 0, 1, 2, 3] +[0, 0, 1, 2, 3] +[1, 2, 3, 4, 5] + +Arrays: Sequence conversion +[2, 1, 4, 5, 6] +[0, 3, 3, 3, 4] + +Arrays: Index collection +[1, 1, 2, 3, 4] +[1, 1, 2, 3, 4] + +Arrays: Functions +[1, 1, 3, 4, 5] +[1, 1, 3, 4, 5] +[1, 2, 3, 3, 5] +[1, 2, 3, 4, 5] + +Multi-dimensional arrays +[[0, 2, 4], [1, 3, 5], [2, 4, 6]] +[[0, 1, 2], [2, 3, 4], [4, 5, 6]] + +Objects: Basic cases +[(0, 1.0), (0, 2.0), (0, 3.0)] +[(2, 1.0), (2, 2.0), (4, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] + +Objects: Bad field accesses +[(2, 1.0), (3, 2.0), (4, 3.0)] +[(2, 1.0), (2, 2.0), (2, 3.0)] +[(2, 1.0), (3, 2.0), (1, 3.0)] + +Objects: Functions +[(2, 1.0), (4, 2.0), (6, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] +[(3, 1.0), (4, 2.0), (5, 3.0)] + +Dafny program verifier did not attempt verification +Arrays: Basic cases +[0, 1, 2, 3, 4] +[0, 1, 2, 3, 4] +[0, 1, 4, 3, 8] + +Arrays: Wrong index +[0, 0, 1, 2, 3] +[0, 0, 1, 2, 3] +[1, 2, 3, 4, 5] + +Arrays: Sequence conversion +[2, 1, 4, 5, 6] +[0, 3, 3, 3, 4] + +Arrays: Index collection +[1, 1, 2, 3, 4] +[1, 1, 2, 3, 4] + +Arrays: Functions +[1, 1, 3, 4, 5] +[1, 1, 3, 4, 5] +[1, 2, 3, 3, 5] +[1, 2, 3, 4, 5] + +Multi-dimensional arrays +[[0, 2, 4], [1, 3, 5], [2, 4, 6]] +[[0, 1, 2], [2, 3, 4], [4, 5, 6]] + +Objects: Basic cases +[(0, 1.0), (0, 2.0), (0, 3.0)] +[(2, 1.0), (2, 2.0), (4, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] + +Objects: Bad field accesses +[(2, 1.0), (3, 2.0), (4, 3.0)] +[(2, 1.0), (2, 2.0), (2, 3.0)] +[(2, 1.0), (3, 2.0), (1, 3.0)] + +Objects: Functions +[(2, 1.0), (4, 2.0), (6, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] +[(3, 1.0), (4, 2.0), (5, 3.0)] + +Dafny program verifier did not attempt verification Arrays: Basic cases [0, 1, 2, 3, 4] [0, 1, 2, 3, 4] diff --git a/Test/comp/Ghosts.dfy b/Test/comp/Ghosts.dfy index 8afe8a36d3f..506fe0facb1 100644 --- a/Test/comp/Ghosts.dfy +++ b/Test/comp/Ghosts.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method M1() returns (x: int) { diff --git a/Test/comp/Ghosts.dfy.expect b/Test/comp/Ghosts.dfy.expect index d075ea048c1..430a9c18fc0 100644 --- a/Test/comp/Ghosts.dfy.expect +++ b/Test/comp/Ghosts.dfy.expect @@ -1,3 +1,55 @@ + +Dafny program verifier finished with 8 verified, 0 errors + +Dafny program verifier did not attempt verification +hello, M2 +hello, M2 +hello, M3 +hello, M1 +hello, M1 +hello, M1 +hello, M2 +hello, M3 +hello, N0 +hello, N1 + +Dafny program verifier did not attempt verification +hello, M2 +hello, M2 +hello, M3 +hello, M1 +hello, M1 +hello, M1 +hello, M2 +hello, M3 +hello, N0 +hello, N1 + +Dafny program verifier did not attempt verification +hello, M2 +hello, M2 +hello, M3 +hello, M1 +hello, M1 +hello, M1 +hello, M2 +hello, M3 +hello, N0 +hello, N1 + +Dafny program verifier did not attempt verification +hello, M2 +hello, M2 +hello, M3 +hello, M1 +hello, M1 +hello, M1 +hello, M2 +hello, M3 +hello, N0 +hello, N1 + +Dafny program verifier did not attempt verification hello, M2 hello, M2 hello, M3 diff --git a/Test/comp/Let.dfy b/Test/comp/Let.dfy index 2a639009c78..64dce8b90e6 100644 --- a/Test/comp/Let.dfy +++ b/Test/comp/Let.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cs "%s" > "%t" +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method M() returns (x: int) { x := var y := 50; y; // non-top-level let diff --git a/Test/comp/Let.dfy.expect b/Test/comp/Let.dfy.expect index f05dfc414c1..667abc32458 100644 --- a/Test/comp/Let.dfy.expect +++ b/Test/comp/Let.dfy.expect @@ -1,3 +1,37 @@ + +Dafny program verifier finished with 5 verified, 0 errors +50 58 +Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) +5 7 9 10 12 30 +5 7 +5 7 +12.0 15.0 15.0 15.0 + +Dafny program verifier finished with 5 verified, 0 errors +50 58 +Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) +5 7 9 10 12 30 +5 7 +5 7 +12.0 15.0 15.0 15.0 + +Dafny program verifier finished with 5 verified, 0 errors +50 58 +Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) +5 7 9 10 12 30 +5 7 +5 7 +12.0 15.0 15.0 15.0 + +Dafny program verifier finished with 5 verified, 0 errors +50 58 +Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) +5 7 9 10 12 30 +5 7 +5 7 +12.0 15.0 15.0 15.0 + +Dafny program verifier finished with 5 verified, 0 errors 50 58 Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) 5 7 9 10 12 30 diff --git a/Test/comp/MoreAutoInit.dfy b/Test/comp/MoreAutoInit.dfy index c72083f1be5..46bdf7148f1 100644 --- a/Test/comp/MoreAutoInit.dfy +++ b/Test/comp/MoreAutoInit.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { Methods.TestStart(); diff --git a/Test/comp/MoreAutoInit.dfy.expect b/Test/comp/MoreAutoInit.dfy.expect index a077ee0daa9..e707d9ea27a 100644 --- a/Test/comp/MoreAutoInit.dfy.expect +++ b/Test/comp/MoreAutoInit.dfy.expect @@ -1,3 +1,575 @@ + +Dafny program verifier finished with 38 verified, 0 errors + +Dafny program verifier did not attempt verification +Methods.Uni.Uni + ++ Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +{} + ++ {} +[] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +Functions.Uni.Uni + ++ Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +{2} + ++ {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ** Consts.Uni.Uni ++ Consts.Uni.Uni +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ** Consts.Uni.Uni ++ Consts.Uni.Uni +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ** Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni +[] ++ [] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] + ** [] ++ [] +[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] + ** [] ++ [] +[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] +[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] + ++ [Consts.Uni.Uni] ++ [] + ** [] ++ [] ++ [] +15 +0-0 0.0-0.0 false-false 'D'-'D' 0 +0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 +0-0 0-0 0-0 0-0 1 1 +0.0-0.0 68.0 +null-null null-null null-null null-null +0 +0:0:0 +0-0 +{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] +DefaultValuedExpressions.Color.Red-DefaultValuedExpressions.Color.Red DefaultValuedExpressions.PossibleCell.Nothing-DefaultValuedExpressions.PossibleCell.Nothing DefaultValuedExpressions.Cell.LittleCell(0)-DefaultValuedExpressions.Cell.LittleCell(0) +()-() (0, 0.0)-(0, 0.0) +(DefaultValuedExpressions.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions.Color.Red, (0, 0.0), ()) +null-null null-null +0-0 0-0 0-0 3 4 5 +0-0 11 0-0 8 + +Dafny program verifier did not attempt verification +Methods.Uni.Uni + ++ Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +{} + ++ {} +[] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +Functions.Uni.Uni + ++ Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +{2} + ++ {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ** Consts.Uni.Uni ++ Consts.Uni.Uni +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ** Consts.Uni.Uni ++ Consts.Uni.Uni +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ** Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni +[] ++ [] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] + ** [] ++ [] +[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] + ** [] ++ [] +[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] +[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] + ++ [Consts.Uni.Uni] ++ [] + ** [] ++ [] ++ [] +15 +0-0 0.0-0.0 false-false 'D'-'D' 0 +0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 +0-0 0-0 0-0 0-0 1 1 +0.0-0.0 68.0 +null-null null-null null-null null-null +0 +0:0:0 +0-0 +{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] +DefaultValuedExpressions.Color.Red-DefaultValuedExpressions.Color.Red DefaultValuedExpressions.PossibleCell.Nothing-DefaultValuedExpressions.PossibleCell.Nothing DefaultValuedExpressions.Cell.LittleCell(0)-DefaultValuedExpressions.Cell.LittleCell(0) +()-() (0, 0.0)-(0, 0.0) +(DefaultValuedExpressions.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions.Color.Red, (0, 0.0), ()) +null-null null-null +0-0 0-0 0-0 3 4 5 +0-0 11 0-0 8 + +Dafny program verifier did not attempt verification +Methods.Uni.Uni + ++ Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +{} + ++ {} +[] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +Functions.Uni.Uni + ++ Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +{2} + ++ {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ** Consts.Uni.Uni ++ Consts.Uni.Uni +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ** Consts.Uni.Uni ++ Consts.Uni.Uni +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ** Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni +[] ++ [] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] + ** [] ++ [] +[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] + ** [] ++ [] +[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] +[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] + ++ [Consts.Uni.Uni] ++ [] + ** [] ++ [] ++ [] +15 +0-0 0.0-0.0 false-false 'D'-'D' 0 +0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 +0-0 0-0 0-0 0-0 1 1 +0.0-0.0 68.0 +null-null null-null null-null null-null +0 +0:0:0 +0-0 +{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] +DefaultValuedExpressions.Color.Red-DefaultValuedExpressions.Color.Red DefaultValuedExpressions.PossibleCell.Nothing-DefaultValuedExpressions.PossibleCell.Nothing DefaultValuedExpressions.Cell.LittleCell(0)-DefaultValuedExpressions.Cell.LittleCell(0) +()-() (0, 0.0)-(0, 0.0) +(DefaultValuedExpressions.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions.Color.Red, (0, 0.0), ()) +null-null null-null +0-0 0-0 0-0 3 4 5 +0-0 11 0-0 8 + +Dafny program verifier did not attempt verification +Methods.Uni.Uni + ++ Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +{} + ++ {} +[] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +Functions.Uni.Uni + ++ Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +{2} + ++ {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ** Consts.Uni.Uni ++ Consts.Uni.Uni +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ** Consts.Uni.Uni ++ Consts.Uni.Uni +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ** Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni +[] ++ [] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] + ** [] ++ [] +[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] + ** [] ++ [] +[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] +[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] + ++ [Consts.Uni.Uni] ++ [] + ** [] ++ [] ++ [] +15 +0-0 0.0-0.0 false-false 'D'-'D' 0 +0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 +0-0 0-0 0-0 0-0 1 1 +0.0-0.0 68.0 +null-null null-null null-null null-null +0 +0:0:0 +0-0 +{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] +DefaultValuedExpressions.Color.Red-DefaultValuedExpressions.Color.Red DefaultValuedExpressions.PossibleCell.Nothing-DefaultValuedExpressions.PossibleCell.Nothing DefaultValuedExpressions.Cell.LittleCell(0)-DefaultValuedExpressions.Cell.LittleCell(0) +()-() (0, 0.0)-(0, 0.0) +(DefaultValuedExpressions.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions.Color.Red, (0, 0.0), ()) +null-null null-null +0-0 0-0 0-0 3 4 5 +0-0 11 0-0 8 + +Dafny program verifier did not attempt verification Methods.Uni.Uni ++ Methods.Uni.Uni Methods.Uni.Uni Methods.Uni.Uni diff --git a/Test/comp/NativeNumbers.dfy b/Test/comp/NativeNumbers.dfy index e1fadb1c406..c63d02cf643 100644 --- a/Test/comp/NativeNumbers.dfy +++ b/Test/comp/NativeNumbers.dfy @@ -1,6 +1,11 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false // Skip JavaScript because JavaScript doesn't have the same native types +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { CastTests(); diff --git a/Test/comp/NativeNumbers.dfy.expect b/Test/comp/NativeNumbers.dfy.expect index 6a9d263fc73..2be030252cf 100644 --- a/Test/comp/NativeNumbers.dfy.expect +++ b/Test/comp/NativeNumbers.dfy.expect @@ -1,3 +1,259 @@ + +Dafny program verifier finished with 25 verified, 0 errors + +Dafny program verifier did not attempt verification +Casting: + +Small numbers: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 +5 5 5 5 5 5 5 5 5 +6 6 6 6 6 6 6 6 6 +7 7 7 7 7 7 7 7 7 +8 8 8 8 8 8 8 8 8 + +Large unsigned numbers: +255 255 255 255 255 255 255 255 +65535 65535 65535 65535 65535 65535 +4294967295 4294967295 4294967295 4294967295 +18446744073709551615 18446744073709551615 + +Int to large unsigned: +255 65535 4294967295 18446744073709551615 + +Cast from cardinality operator: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 + +Characters: +C 67 67 67 67 67 67 67 67 67 +0 127 32767 65535 65535 255 65535 65535 65535 + +Defaults: + +0 0 0 0 0 0 0 0 0 + +Byte arithmetic: + +20 30 +10 10 18 + +Short arithmetic: + +20 30 +10 10 18 + +Bitvectors: + +0 3 4 1 + +Comparison to zero: + +int8: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int16: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int32: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int64: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint8: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint16: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint32: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint64: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N + + +Dafny program verifier did not attempt verification +Casting: + +Small numbers: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 +5 5 5 5 5 5 5 5 5 +6 6 6 6 6 6 6 6 6 +7 7 7 7 7 7 7 7 7 +8 8 8 8 8 8 8 8 8 + +Large unsigned numbers: +255 255 255 255 255 255 255 255 +65535 65535 65535 65535 65535 65535 +4294967295 4294967295 4294967295 4294967295 +18446744073709551615 18446744073709551615 + +Int to large unsigned: +255 65535 4294967295 18446744073709551615 + +Cast from cardinality operator: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 + +Characters: +C 67 67 67 67 67 67 67 67 67 +0 127 32767 65535 65535 255 65535 65535 65535 + +Defaults: + +0 0 0 0 0 0 0 0 0 + +Byte arithmetic: + +20 30 +10 10 18 + +Short arithmetic: + +20 30 +10 10 18 + +Bitvectors: + +0 3 4 1 + +Comparison to zero: + +int8: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int16: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int32: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int64: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint8: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint16: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint32: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint64: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N + + +Dafny program verifier did not attempt verification +Casting: + +Small numbers: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 +5 5 5 5 5 5 5 5 5 +6 6 6 6 6 6 6 6 6 +7 7 7 7 7 7 7 7 7 +8 8 8 8 8 8 8 8 8 + +Large unsigned numbers: +255 255 255 255 255 255 255 255 +65535 65535 65535 65535 65535 65535 +4294967295 4294967295 4294967295 4294967295 +18446744073709551615 18446744073709551615 + +Int to large unsigned: +255 65535 4294967295 18446744073709551615 + +Cast from cardinality operator: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 + +Characters: +C 67 67 67 67 67 67 67 67 67 +0 127 32767 65535 65535 255 65535 65535 65535 + +Defaults: + +0 0 0 0 0 0 0 0 0 + +Byte arithmetic: + +20 30 +10 10 18 + +Short arithmetic: + +20 30 +10 10 18 + +Bitvectors: + +0 3 4 1 + +Comparison to zero: + +int8: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int16: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int32: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int64: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint8: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint16: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint32: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint64: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N + + +Dafny program verifier did not attempt verification Casting: Small numbers: diff --git a/Test/comp/NestedArrays.dfy b/Test/comp/NestedArrays.dfy index 39d256f4936..0c2b313a32c 100644 --- a/Test/comp/NestedArrays.dfy +++ b/Test/comp/NestedArrays.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %baredafny verify --relax-definite-assignment %args "%s" > "%t" +// RUN: %baredafny run --no-verify --target=cs %args "%s" >> "%t" +// RUN: %baredafny run --no-verify --target=js %args "%s" >> "%t" +// RUN: %baredafny run --no-verify --target=go %args "%s" >> "%t" +// RUN: %baredafny run --no-verify --target=py %args "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" /* Note, compiling to arrays in Java is difficult. In fact, this is currently * broken, see https://github.com/dafny-lang/dafny/issues/3055. Until this gets diff --git a/Test/comp/NestedArrays.dfy.expect b/Test/comp/NestedArrays.dfy.expect index aa47d0d46d4..a24d140b9d4 100644 --- a/Test/comp/NestedArrays.dfy.expect +++ b/Test/comp/NestedArrays.dfy.expect @@ -1,2 +1,18 @@ + +Dafny program verifier finished with 4 verified, 0 errors + +Dafny program verifier did not attempt verification +0 +0 + +Dafny program verifier did not attempt verification +0 +0 + +Dafny program verifier did not attempt verification +0 +0 + +Dafny program verifier did not attempt verification 0 0 diff --git a/Test/comp/Numbers.dfy b/Test/comp/Numbers.dfy index c76bc87fdc0..36bf24dcdb4 100644 --- a/Test/comp/Numbers.dfy +++ b/Test/comp/Numbers.dfy @@ -1,5 +1,10 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { Literals(); diff --git a/Test/comp/Numbers.dfy.expect b/Test/comp/Numbers.dfy.expect index 7eacf4e709d..8d994e1c7c6 100644 --- a/Test/comp/Numbers.dfy.expect +++ b/Test/comp/Numbers.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 59 verified, 0 errors + +Dafny program verifier did not attempt verification 0 0 3 @@ -109,3 +113,455 @@ true false true false false true false true true false true false 20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +g Q 2 +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +(312.0 / 40.0) (1248.0 / 40.0) +(-312.0 / 40.0) (-1248.0 / 40.0) +(-312.0 / 40.0) (1248.0 / 40.0) +(312.0 / 40.0) (-1248.0 / 40.0) +0.0 0.0 0.0 +120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) +123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 (8100.0 / 8100.0) +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +g Q 2 +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +g Q 2 +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +(312.0 / 40.0) (1248.0 / 40.0) +(-312.0 / 40.0) (-1248.0 / 40.0) +(-312.0 / 40.0) (1248.0 / 40.0) +(312.0 / 40.0) (-1248.0 / 40.0) +0.0 0.0 0.0 +120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) +123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 (8100.0 / 8100.0) +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +g Q 2 +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 diff --git a/Test/comp/Numbers.dfy.go.expect b/Test/comp/Numbers.dfy.go.expect deleted file mode 100644 index ce109553619..00000000000 --- a/Test/comp/Numbers.dfy.go.expect +++ /dev/null @@ -1,111 +0,0 @@ -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -g Q 2 -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 diff --git a/Test/comp/Numbers.dfy.py.expect b/Test/comp/Numbers.dfy.py.expect deleted file mode 100644 index ce109553619..00000000000 --- a/Test/comp/Numbers.dfy.py.expect +++ /dev/null @@ -1,111 +0,0 @@ -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -g Q 2 -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 diff --git a/Test/comp/Poly.dfy b/Test/comp/Poly.dfy index 5af5e8134e9..f3c3aa58599 100644 --- a/Test/comp/Poly.dfy +++ b/Test/comp/Poly.dfy @@ -1,5 +1,10 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" trait Shape { function Center(): (real, real) reads this diff --git a/Test/comp/Poly.dfy.expect b/Test/comp/Poly.dfy.expect index 7dc24821586..4ffff82d5ab 100644 --- a/Test/comp/Poly.dfy.expect +++ b/Test/comp/Poly.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 15 verified, 0 errors + +Dafny program verifier did not attempt verification Center of square: ((1.0 / 2.0), (1.0 / 2.0)) Center of circle: (1.0, 1.0) Center: ((1.0 / 2.0), (1.0 / 2.0)) @@ -10,3 +14,59 @@ Center: ((1.0 / 2.0), (1.0 / 2.0)) Center: (1.0, 1.0) Center: ((1.0 / 2.0), (1.0 / 2.0)) Center: (1.0, 1.0) + +Dafny program verifier did not attempt verification +Center of square: ((1.0 / 2.0), (1.0 / 2.0)) +Center of circle: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) + +Dafny program verifier did not attempt verification +Center of square: ((1.0 / 2.0), (1.0 / 2.0)) +Center of circle: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) + +Dafny program verifier did not attempt verification +Center of square: (0.5, 0.5) +Center of circle: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) + +Dafny program verifier did not attempt verification +Center of square: (0.5, 0.5) +Center of circle: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) diff --git a/Test/comp/Poly.dfy.go.expect b/Test/comp/Poly.dfy.go.expect deleted file mode 100644 index 88e09c5e6ff..00000000000 --- a/Test/comp/Poly.dfy.go.expect +++ /dev/null @@ -1,12 +0,0 @@ -Center of square: (0.5, 0.5) -Center of circle: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) diff --git a/Test/comp/Poly.dfy.py.expect b/Test/comp/Poly.dfy.py.expect deleted file mode 100644 index 88e09c5e6ff..00000000000 --- a/Test/comp/Poly.dfy.py.expect +++ /dev/null @@ -1,12 +0,0 @@ -Center of square: (0.5, 0.5) -Center of circle: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) diff --git a/Test/comp/StaticMembersOfGenericTypes.dfy b/Test/comp/StaticMembersOfGenericTypes.dfy index 8a8614d21a5..8c402dab951 100644 --- a/Test/comp/StaticMembersOfGenericTypes.dfy +++ b/Test/comp/StaticMembersOfGenericTypes.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { GenericClass(); diff --git a/Test/comp/StaticMembersOfGenericTypes.dfy.expect b/Test/comp/StaticMembersOfGenericTypes.dfy.expect index 196f1295e12..54e32b42ee5 100644 --- a/Test/comp/StaticMembersOfGenericTypes.dfy.expect +++ b/Test/comp/StaticMembersOfGenericTypes.dfy.expect @@ -1,3 +1,79 @@ + +Dafny program verifier finished with 9 verified, 0 errors + +Dafny program verifier did not attempt verification +(0, 1) (true, 2, 3) +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +(2.0, true) (3.0, false) +(2.0, true) (3.0, false) +true false +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +50 3 4 +149 + +Dafny program verifier did not attempt verification +(0, 1) (true, 2, 3) +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +(2.0, true) (3.0, false) +(2.0, true) (3.0, false) +true false +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +50 3 4 +149 + +Dafny program verifier did not attempt verification +(0, 1) (true, 2, 3) +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +(2.0, true) (3.0, false) +(2.0, true) (3.0, false) +true false +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +50 3 4 +149 + +Dafny program verifier did not attempt verification +(0, 1) (true, 2, 3) +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +(2.0, true) (3.0, false) +(2.0, true) (3.0, false) +true false +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +50 3 4 +149 + +Dafny program verifier did not attempt verification (0, 1) (true, 2, 3) 0 25 (20, 21) (20, 21) 23 22 0 25 (20, 21) (20, 21) 23 22 diff --git a/Test/comp/TailRecursion.dfy b/Test/comp/TailRecursion.dfy index b3631d5eccc..68ba6ee4669 100644 --- a/Test/comp/TailRecursion.dfy +++ b/Test/comp/TailRecursion.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { // In the following, 2_000_000 is too large an argument without tail-calls diff --git a/Test/comp/TailRecursion.dfy.expect b/Test/comp/TailRecursion.dfy.expect index 4b9da7e5093..23c852a41fe 100644 --- a/Test/comp/TailRecursion.dfy.expect +++ b/Test/comp/TailRecursion.dfy.expect @@ -1,3 +1,79 @@ + +Dafny program verifier finished with 28 verified, 0 errors + +Dafny program verifier did not attempt verification +2000000 2000000 +2000000 2000000 +1000000 1000000 +10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 +TriangleNumber(10) = 55 +TriangleNumber_Real(10) = 55.0 +TriangleNumber_ORDINAL(10) = 55 +Factorial(5) = 120 +Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] +UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] +Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 +TheBigSubtract(100) = -12 +TailNat(10) = 50 +17 17 17 +2000000 + +Dafny program verifier did not attempt verification +2000000 2000000 +2000000 2000000 +1000000 1000000 +10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 +TriangleNumber(10) = 55 +TriangleNumber_Real(10) = 55.0 +TriangleNumber_ORDINAL(10) = 55 +Factorial(5) = 120 +Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] +UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] +Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 +TheBigSubtract(100) = -12 +TailNat(10) = 50 +17 17 17 +2000000 + +Dafny program verifier did not attempt verification +2000000 2000000 +2000000 2000000 +1000000 1000000 +10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 +TriangleNumber(10) = 55 +TriangleNumber_Real(10) = 55.0 +TriangleNumber_ORDINAL(10) = 55 +Factorial(5) = 120 +Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] +UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] +Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 +TheBigSubtract(100) = -12 +TailNat(10) = 50 +17 17 17 +2000000 + +Dafny program verifier did not attempt verification +2000000 2000000 +2000000 2000000 +1000000 1000000 +10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 +TriangleNumber(10) = 55 +TriangleNumber_Real(10) = 55.0 +TriangleNumber_ORDINAL(10) = 55 +Factorial(5) = 120 +Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] +UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] +Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 +TheBigSubtract(100) = -12 +TailNat(10) = 50 +17 17 17 +2000000 + +Dafny program verifier did not attempt verification 2000000 2000000 2000000 2000000 1000000 1000000 diff --git a/Test/comp/TypeDescriptors.dfy b/Test/comp/TypeDescriptors.dfy index 5bedbb900e4..636cb3db583 100644 --- a/Test/comp/TypeDescriptors.dfy +++ b/Test/comp/TypeDescriptors.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Method(s: string, g: G) { var zero: G; diff --git a/Test/comp/TypeDescriptors.dfy.expect b/Test/comp/TypeDescriptors.dfy.expect index 1b09338c83d..9b1e8487bdc 100644 --- a/Test/comp/TypeDescriptors.dfy.expect +++ b/Test/comp/TypeDescriptors.dfy.expect @@ -1,3 +1,155 @@ + +Dafny program verifier finished with 11 verified, 0 errors + +Dafny program verifier did not attempt verification +int: 8 0 +bool: true false +char: 'r' 'D' +real: 1.618 0.0 +ORDINAL: 0 +bv0: 0 0 +bv21: 121 0 +bv32: 132 0 +bv191: 191 0 +set: {7} {} +multiset: multiset{7, 7} multiset{} +seq: [7] [] +map: map[2 := 7] map[] +pos: 3 1 +Hundred: 6 0 +HundredOdd: 13 19 +JustOdd: 131 5 +(): () () +(int, real): (2, 3.2) (0, 0.0) +(int, pos): (2, 3) (0, 1) +AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) +Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) +Stream: Stream.More +A=int: 15 0 +B=int: 16 0 +datatype.B=: {14} {} +object?: null +Class?>: null +Trait?>: null +array?: null +array2?: null +int --> bool: null +array? ~> bool: null + +Dafny program verifier did not attempt verification +int: 8 0 +bool: true false +char: 'r' 'D' +real: 1.618 0.0 +ORDINAL: 0 +bv0: 0 0 +bv21: 121 0 +bv32: 132 0 +bv191: 191 0 +set: {7} {} +multiset: multiset{7, 7} multiset{} +seq: [7] [] +map: map[2 := 7] map[] +pos: 3 1 +Hundred: 6 0 +HundredOdd: 13 19 +JustOdd: 131 5 +(): () () +(int, real): (2, 3.2) (0, 0.0) +(int, pos): (2, 3) (0, 1) +AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) +Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) +Stream: Stream.More +A=int: 15 0 +B=int: 16 0 +datatype.B=: {14} {} +object?: null +Class?>: null +Trait?>: null +array?: null +array2?: null +int --> bool: null +array? ~> bool: null + +Dafny program verifier did not attempt verification +int: 8 0 +bool: true false +char: 'r' 'D' +real: 1.618 0.0 +ORDINAL: 0 +bv0: 0 0 +bv21: 121 0 +bv32: 132 0 +bv191: 191 0 +set: {7} {} +multiset: multiset{7, 7} multiset{} +seq: [7] [] +map: map[2 := 7] map[] +pos: 3 1 +Hundred: 6 0 +HundredOdd: 13 19 +JustOdd: 131 5 +(): () () +(int, real): (2, 3.2) (0, 0.0) +(int, pos): (2, 3) (0, 1) +AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) +Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) +Stream: Stream.More +A=int: 15 0 +B=int: 16 0 +datatype.B=: {14} {} +object?: null +Class?>: null +Trait?>: null +array?: null +array2?: null +int --> bool: null +array? ~> bool: null + +Dafny program verifier did not attempt verification +int: 8 0 +bool: true false +char: 'r' 'D' +real: 1.618 0.0 +ORDINAL: 0 +bv0: 0 0 +bv21: 121 0 +bv32: 132 0 +bv191: 191 0 +set: {7} {} +multiset: multiset{7, 7} multiset{} +seq: [7] [] +map: map[2 := 7] map[] +pos: 3 1 +Hundred: 6 0 +HundredOdd: 13 19 +JustOdd: 131 5 +(): () () +(int, real): (2, 3.2) (0, 0.0) +(int, pos): (2, 3) (0, 1) +AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) +Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) +Stream: Stream.More +A=int: 15 0 +B=int: 16 0 +datatype.B=: {14} {} +object?: null +Class?>: null +Trait?>: null +array?: null +array2?: null +int --> bool: null +array? ~> bool: null + +Dafny program verifier did not attempt verification int: 8 0 bool: true false char: 'r' 'D' diff --git a/Test/comp/TypeParams.dfy b/Test/comp/TypeParams.dfy index c595881e028..11d1b3bac6a 100644 --- a/Test/comp/TypeParams.dfy +++ b/Test/comp/TypeParams.dfy @@ -1,6 +1,11 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation - +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" + +// RUN: %diff "%s.expect" "%t" datatype Color = Orange | Pink | Teal type Six = x | x <= 6 diff --git a/Test/comp/TypeParams.dfy.expect b/Test/comp/TypeParams.dfy.expect index 1381a030f65..ac8ef1c58e5 100644 --- a/Test/comp/TypeParams.dfy.expect +++ b/Test/comp/TypeParams.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 17 verified, 0 errors + +Dafny program verifier did not attempt verification 0 0 0 false Color.Orange 0.0 {} Color.Orange null null null null null {} multiset{} [] map[] {} map[] @@ -17,3 +21,87 @@ System.Func`2[Dafny.BigRational,System.Boolean] System.Func`1[System.Numerics.BigInteger] System.Func`3[_module._IColor,Dafny.ISet`1[System.UInt16],System.UInt32] 0 0 + +Dafny program verifier did not attempt verification +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +function () { return false; } +function () { return _dafny.ZERO; } +function () { return _dafny.ZERO; } +0 0 + +Dafny program verifier did not attempt verification +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +func(dafny.Real) bool +func() dafny.Int +func(main.Color, dafny.Set) uint32 +0 0 + +Dafny program verifier did not attempt verification +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +Function +Function +Function +0 0 + +Dafny program verifier did not attempt verification +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +Function +Function +Function +0 0 diff --git a/Test/comp/TypeParams.dfy.go.expect b/Test/comp/TypeParams.dfy.go.expect deleted file mode 100644 index e3a8e67d066..00000000000 --- a/Test/comp/TypeParams.dfy.go.expect +++ /dev/null @@ -1,19 +0,0 @@ -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -func(dafny.Real) bool -func() dafny.Int -func(main.Color, dafny.Set) uint32 -0 0 diff --git a/Test/comp/TypeParams.dfy.java.expect b/Test/comp/TypeParams.dfy.java.expect deleted file mode 100644 index 5f843ba06d1..00000000000 --- a/Test/comp/TypeParams.dfy.java.expect +++ /dev/null @@ -1,19 +0,0 @@ -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -Function -Function -Function -0 0 diff --git a/Test/comp/TypeParams.dfy.js.expect b/Test/comp/TypeParams.dfy.js.expect deleted file mode 100644 index 865c33ea48b..00000000000 --- a/Test/comp/TypeParams.dfy.js.expect +++ /dev/null @@ -1,19 +0,0 @@ -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -function () { return false; } -function () { return _dafny.ZERO; } -function () { return _dafny.ZERO; } -0 0 diff --git a/Test/comp/TypeParams.dfy.py.expect b/Test/comp/TypeParams.dfy.py.expect deleted file mode 100644 index 5f843ba06d1..00000000000 --- a/Test/comp/TypeParams.dfy.py.expect +++ /dev/null @@ -1,19 +0,0 @@ -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -Function -Function -Function -0 0 diff --git a/Test/comp/UnoptimizedErasableTypeWrappers.dfy b/Test/comp/UnoptimizedErasableTypeWrappers.dfy index b7911aed9db..58f0682ed41 100644 --- a/Test/comp/UnoptimizedErasableTypeWrappers.dfy +++ b/Test/comp/UnoptimizedErasableTypeWrappers.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --optimize-erasable-datatype-wrapper:false --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype SingletonRecord = SingletonRecord(u: int) datatype WithGhost = WithGhost(u: int, ghost v: int) diff --git a/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect b/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect index 3371376a52b..be1d7190b0f 100644 --- a/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect +++ b/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect @@ -1,3 +1,31 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification +SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) +() (30) (31) (30, 32) +15 20 +30 31 30 32 + +Dafny program verifier did not attempt verification +SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) +() (30) (31) (30, 32) +15 20 +30 31 30 32 + +Dafny program verifier did not attempt verification +SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) +() (30) (31) (30, 32) +15 20 +30 31 30 32 + +Dafny program verifier did not attempt verification +SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) +() (30) (31) (30, 32) +15 20 +30 31 30 32 + +Dafny program verifier did not attempt verification SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) () (30) (31) (30, 32) 15 20 diff --git a/Test/comp/Variance.dfy b/Test/comp/Variance.dfy index ddcde6cd7d7..6c198495209 100644 --- a/Test/comp/Variance.dfy +++ b/Test/comp/Variance.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --warn-deprecation:false +// RUN: %dafny /compile:0 /deprecation:0 "%s" > "%t" +// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Co<+T> = Co(z: T) { const x: int; diff --git a/Test/comp/Variance.dfy.expect b/Test/comp/Variance.dfy.expect index 5bb565b6bb4..cf08d82ac07 100644 --- a/Test/comp/Variance.dfy.expect +++ b/Test/comp/Variance.dfy.expect @@ -1,3 +1,67 @@ + +Dafny program verifier finished with 13 verified, 0 errors + +Dafny program verifier did not attempt verification +Co.Co(_module.Int) and Co.Co(_module.Int) +true0[]0000 +Non.Non(_module.Int) and Non.Non(_module.Int) +true0[]0000 +0 and 0 +_module.Int0[]0000 +CCo.CCo and CCo.CCo +true0[]0000 +CNon.CNon and CNon.CNon +true0[]0000 +CCon.CCon and CCon.CCon +_module.Int0[]0000 +Done + +Dafny program verifier did not attempt verification +Co.Co(_module.Int) and Co.Co(_module.Int) +true0[]0000 +Non.Non(_module.Int) and Non.Non(_module.Int) +true0[]0000 +0 and 0 +_module.Int0[]0000 +CCo.CCo and CCo.CCo +true0[]0000 +CNon.CNon and CNon.CNon +true0[]0000 +CCon.CCon and CCon.CCon +_module.Int0[]0000 +Done + +Dafny program verifier did not attempt verification +Co.Co(_module.Int) and Co.Co(_module.Int) +true0[]0000 +Non.Non(_module.Int) and Non.Non(_module.Int) +true0[]0000 +0 and 0 +_module.Int0[]0000 +CCo.CCo and CCo.CCo +true0[]0000 +CNon.CNon and CNon.CNon +true0[]0000 +CCon.CCon and CCon.CCon +_module.Int0[]0000 +Done + +Dafny program verifier did not attempt verification +Co.Co(_module.Int) and Co.Co(_module.Int) +true0[]0000 +Non.Non(_module.Int) and Non.Non(_module.Int) +true0[]0000 +0 and 0 +_module.Int0[]0000 +CCo.CCo and CCo.CCo +true0[]0000 +CNon.CNon and CNon.CNon +true0[]0000 +CCon.CCon and CCon.CCon +_module.Int0[]0000 +Done + +Dafny program verifier did not attempt verification Co.Co(_module.Int) and Co.Co(_module.Int) true0[]0000 Non.Non(_module.Int) and Non.Non(_module.Int) diff --git a/Test/comp/Various.dfy b/Test/comp/Various.dfy index 502801e4c2a..1f29c511a83 100644 --- a/Test/comp/Various.dfy +++ b/Test/comp/Various.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Match(tp: (nat, nat)) { match tp diff --git a/Test/comp/Various.dfy.expect b/Test/comp/Various.dfy.expect index 66f013c00f7..502e2d04792 100644 --- a/Test/comp/Various.dfy.expect +++ b/Test/comp/Various.dfy.expect @@ -1,3 +1,43 @@ + +Dafny program verifier finished with 4 verified, 0 errors + +Dafny program verifier did not attempt verification +match +1 +Kablammo!! +0 +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] + +Dafny program verifier did not attempt verification +match +1 +Kablammo!! +0 +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] + +Dafny program verifier did not attempt verification +match +1 +Kablammo!! +0 +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] + +Dafny program verifier did not attempt verification +match +1 +Kablammo!! +0 +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] + +Dafny program verifier did not attempt verification match 1 Kablammo!! diff --git a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy index 2cf77360cab..10fe57dec8f 100644 --- a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy +++ b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // An extremely small program intended to be the first target input for // brand new Dafny compilers. Avoids any use of strings (and therefore sequences) diff --git a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect index f32a5804e29..e1dcaef650b 100644 --- a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect +++ b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect @@ -1 +1,5 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification true \ No newline at end of file diff --git a/Test/comp/firstSteps/1_Calls-F.dfy b/Test/comp/firstSteps/1_Calls-F.dfy index 4fe5b83e551..32566f59f3b 100644 --- a/Test/comp/firstSteps/1_Calls-F.dfy +++ b/Test/comp/firstSteps/1_Calls-F.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/1_Calls-F.dfy.expect b/Test/comp/firstSteps/1_Calls-F.dfy.expect index 7ed6ff82de6..58e0a68ec1c 100644 --- a/Test/comp/firstSteps/1_Calls-F.dfy.expect +++ b/Test/comp/firstSteps/1_Calls-F.dfy.expect @@ -1 +1,5 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification 5 diff --git a/Test/comp/firstSteps/2_Modules.dfy b/Test/comp/firstSteps/2_Modules.dfy index d0effcb5a71..750b8d60c21 100644 --- a/Test/comp/firstSteps/2_Modules.dfy +++ b/Test/comp/firstSteps/2_Modules.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" module A { const i: nat := 1 diff --git a/Test/comp/firstSteps/2_Modules.dfy.expect b/Test/comp/firstSteps/2_Modules.dfy.expect index b85905ec0b9..9a4b57459c7 100644 --- a/Test/comp/firstSteps/2_Modules.dfy.expect +++ b/Test/comp/firstSteps/2_Modules.dfy.expect @@ -1 +1,5 @@ + +Dafny program verifier finished with 3 verified, 0 errors + +Dafny program verifier did not attempt verification 1 2 3 diff --git a/Test/comp/firstSteps/3_Calls-As.dfy b/Test/comp/firstSteps/3_Calls-As.dfy index 38889421865..f22bbdbd3f6 100644 --- a/Test/comp/firstSteps/3_Calls-As.dfy +++ b/Test/comp/firstSteps/3_Calls-As.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/3_Calls-As.dfy.expect b/Test/comp/firstSteps/3_Calls-As.dfy.expect index a1c59bb761f..eea6c52592c 100644 --- a/Test/comp/firstSteps/3_Calls-As.dfy.expect +++ b/Test/comp/firstSteps/3_Calls-As.dfy.expect @@ -1 +1,5 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification 0 0 false 0 false 0 diff --git a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy index 6a66781ff0d..89fb669dca0 100644 --- a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy +++ b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect index a8d09f0a6f5..e7498a27e3e 100644 --- a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect +++ b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect @@ -1,2 +1,6 @@ + +Dafny program verifier finished with 3 verified, 0 errors + +Dafny program verifier did not attempt verification 5 3 5 3 5 3 5 3 diff --git a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy index 1175b1eca8f..096523f8956 100644 --- a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy +++ b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect index ef3de96e567..8954da2b386 100644 --- a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect +++ b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect @@ -1,2 +1,6 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification 5 3 5 3 diff --git a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy index 5d970ac4de5..1fbaebdf4e9 100644 --- a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy +++ b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect index 4ff62e33956..b6ffe78bcbb 100644 --- a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect +++ b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 4 verified, 0 errors + +Dafny program verifier did not attempt verification 15 [0, 1, 2, 4] [0, 2, 4] diff --git a/Test/comp/firstSteps/7_Arrays.dfy b/Test/comp/firstSteps/7_Arrays.dfy index d02c942c9bb..07ddf89594b 100644 --- a/Test/comp/firstSteps/7_Arrays.dfy +++ b/Test/comp/firstSteps/7_Arrays.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // This fragment of comp/Arrays.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/7_Arrays.dfy.expect b/Test/comp/firstSteps/7_Arrays.dfy.expect index fa00285c692..75e824c80bb 100644 --- a/Test/comp/firstSteps/7_Arrays.dfy.expect +++ b/Test/comp/firstSteps/7_Arrays.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 7 verified, 0 errors + +Dafny program verifier did not attempt verification 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/comp/firstSteps/7_Dt_Algebraic.dfy b/Test/comp/firstSteps/7_Dt_Algebraic.dfy index 46a2995b37f..991462d8bdf 100644 --- a/Test/comp/firstSteps/7_Dt_Algebraic.dfy +++ b/Test/comp/firstSteps/7_Dt_Algebraic.dfy @@ -1,5 +1,7 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // This fragment of comp/Dt.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect deleted file mode 100644 index ba1b72ea6f7..00000000000 --- a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect +++ /dev/null @@ -1,11 +0,0 @@ -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} -42 'q' hello -1701 diff --git a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect index e3ff7faba6e..ec9b49fe420 100644 --- a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect +++ b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 7 verified, 0 errors + +Dafny program verifier did not attempt verification List.Nil List.Cons(5, List.Nil) (List.Nil, List.Cons(5, List.Nil)) @@ -9,3 +13,16 @@ List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, Li {Berry.Hallon, Berry.Smultron, Berry.Jordgubb} 42 'q' hello 1701 + +Dafny program verifier did not attempt verification +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} +42 'q' hello +1701 diff --git a/Test/dafny0/ArrayElementInitCompile.dfy b/Test/dafny0/ArrayElementInitCompile.dfy index 3714cf0fe8e..7d652486b9e 100644 --- a/Test/dafny0/ArrayElementInitCompile.dfy +++ b/Test/dafny0/ArrayElementInitCompile.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 /print:"%t.print" /rprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny0/ArrayElementInitCompile.dfy.expect b/Test/dafny0/ArrayElementInitCompile.dfy.expect index eaa3e759999..a5241c75f19 100644 --- a/Test/dafny0/ArrayElementInitCompile.dfy.expect +++ b/Test/dafny0/ArrayElementInitCompile.dfy.expect @@ -1,3 +1,79 @@ + +Dafny program verifier finished with 18 verified, 0 errors + +Dafny program verifier did not attempt verification +67 67 67 67 67 67 67 67 +0 1 2 3 +1 2 3 4 +2 3 4 5 +3 4 5 6 +4 5 6 7 +O . O . O . O . O . O . +12 12 12 12 12 12 12 12 12 12 12 12 +D E +y z +4 3 +7 +100 75 98 25 + +looks like this rocks +-2 -1 0 1 2 3 4 + +Dafny program verifier did not attempt verification +67 67 67 67 67 67 67 67 +0 1 2 3 +1 2 3 4 +2 3 4 5 +3 4 5 6 +4 5 6 7 +O . O . O . O . O . O . +12 12 12 12 12 12 12 12 12 12 12 12 +D E +y z +4 3 +7 +100 75 98 25 + +looks like this rocks +-2 -1 0 1 2 3 4 + +Dafny program verifier did not attempt verification +67 67 67 67 67 67 67 67 +0 1 2 3 +1 2 3 4 +2 3 4 5 +3 4 5 6 +4 5 6 7 +O . O . O . O . O . O . +12 12 12 12 12 12 12 12 12 12 12 12 +D E +y z +4 3 +7 +100 75 98 25 + +looks like this rocks +-2 -1 0 1 2 3 4 + +Dafny program verifier did not attempt verification +67 67 67 67 67 67 67 67 +0 1 2 3 +1 2 3 4 +2 3 4 5 +3 4 5 6 +4 5 6 7 +O . O . O . O . O . O . +12 12 12 12 12 12 12 12 12 12 12 12 +D E +y z +4 3 +7 +100 75 98 25 + +looks like this rocks +-2 -1 0 1 2 3 4 + +Dafny program verifier did not attempt verification 67 67 67 67 67 67 67 67 0 1 2 3 1 2 3 4 diff --git a/Test/dafny0/Bitvectors.dfy b/Test/dafny0/Bitvectors.dfy index 4c8e1094455..6e0c9270b99 100644 --- a/Test/dafny0/Bitvectors.dfy +++ b/Test/dafny0/Bitvectors.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /print:"%t.print" /env:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // Note the difference in Java output is due to // https://github.com/dafny-lang/dafny/issues/4152 diff --git a/Test/dafny0/Bitvectors.dfy.expect b/Test/dafny0/Bitvectors.dfy.expect index ed1c7328e83..51fda88f97b 100644 --- a/Test/dafny0/Bitvectors.dfy.expect +++ b/Test/dafny0/Bitvectors.dfy.expect @@ -1,3 +1,52 @@ + +Dafny program verifier finished with 11 verified, 0 errors + +Dafny program verifier did not attempt verification +4000 4000 4000 0 +1 2053 1099 +185 55 +2 4 +Comparisons: true true false false +bv16: 5 - 2 == 3 +bv16: 1 - 2 == 65535 +3 2 +0 0 +false true true false +bv67: 147573952589676412927 + 3 == 2 - 3 == 147573952589676412925 !! 3 == ! 147573952589676412924 == 3 +bv64: 18446744073709551615 + 3 == 2 - 3 == 18446744073709551613 !! 3 == ! 18446744073709551612 == 3 +bv53: 9007199254740991 + 3 == 2 - 3 == 9007199254740989 !! 3 == ! 9007199254740988 == 3 +bv33: 8589934591 + 3 == 2 - 3 == 8589934589 !! 3 == ! 8589934588 == 3 +bv32: 4294967295 + 3 == 2 - 3 == 4294967293 !! 3 == ! 4294967292 == 3 +bv31: 2147483647 + 3 == 2 - 3 == 2147483645 !! 3 == ! 2147483644 == 3 +bv16: 65535 + 3 == 2 - 3 == 65533 !! 3 == ! 65532 == 3 +bv15: 32767 + 3 == 2 - 3 == 32765 !! 3 == ! 32764 == 3 +bv8: 255 + 3 == 2 - 3 == 253 !! 3 == ! 252 == 3 +bv6: 63 + 3 == 2 - 3 == 61 !! 3 == ! 60 == 3 +bv1: 1 + 1 == 0 - 1 == 1 !! 1 == ! 0 == 1 +bv0: 0 + 0 == 0 - 0 == 0 !! 0 == ! 0 == 0 +bv2: + 3 + 2 == 1 + 3 - 2 == 1 + 3 * 2 == 2 + 3 / 2 == 1 + 3 % 2 == 1 +PrintShifts: bv67: 5 40 40 40 +PrintShifts: bv32: 5 40 40 40 +PrintShifts: bv7: 5 40 40 40 +PrintShifts: bv2: 1 2 2 2 +PrintShifts: bv0: 0 0 0 0 +PrintShifts: bv67 again: 2 2 2 73786976294838206465 +PrintShifts: bv32 again: 8000 8000 2147487648 3221227472 +PrintShifts: bv7 again: 124 124 124 127 +PrintShifts: bv0 again: 0 0 0 0 +PrintRotates: bv12: 5 5 +PrintRotates: bv7: 5 5 +PrintRotates: bv2: 1 1 +PrintRotates: bv0: 0 0 +PrintRotates: bv12 again: 976 976 +PrintRotates: bv7 again: 127 127 + +Dafny program verifier did not attempt verification 4000 4000 4000 0 1 2053 1099 185 55 diff --git a/Test/dafny0/Constant.dfy b/Test/dafny0/Constant.dfy index 1fdeedc3335..f021e7d4482 100644 --- a/Test/dafny0/Constant.dfy +++ b/Test/dafny0/Constant.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" const one:int := 1 const two:int := one * 2 diff --git a/Test/dafny0/Constant.dfy.expect b/Test/dafny0/Constant.dfy.expect index 1a7b981715f..6099b08c38c 100644 --- a/Test/dafny0/Constant.dfy.expect +++ b/Test/dafny0/Constant.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 17 verified, 0 errors one := 1 two := 2 three := 3 diff --git a/Test/dafny0/Deprecation.dfy b/Test/dafny0/Deprecation.dfy index 86521043d43..8c9c688d463 100644 --- a/Test/dafny0/Deprecation.dfy +++ b/Test/dafny0/Deprecation.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // This file contains tests for messags about various deprecated features. // As those features go away completely, so can the corresponding tests. diff --git a/Test/dafny0/Deprecation.dfy.expect b/Test/dafny0/Deprecation.dfy.expect index 0dffd975ac7..4ff88d31ade 100644 --- a/Test/dafny0/Deprecation.dfy.expect +++ b/Test/dafny0/Deprecation.dfy.expect @@ -1 +1,8 @@ +Deprecation.dfy(16,13): Warning: constructors no longer need 'this' to be listed in modifies clauses +Deprecation.dfy(23,0): Warning: the old keyword phrase 'inductive predicate' has been renamed to 'least predicate' +Deprecation.dfy(26,0): Warning: the old keyword 'copredicate' has been renamed to the keyword phrase 'greatest predicate' +Deprecation.dfy(29,0): Warning: the old keyword phrase 'inductive lemma' has been renamed to 'least lemma' +Deprecation.dfy(32,0): Warning: the old keyword 'colemma' has been renamed to the keyword phrase 'greatest lemma' + +Dafny program verifier finished with 0 verified, 0 errors yet here we are diff --git a/Test/dafny0/Deprecation.dfy.verifier.expect b/Test/dafny0/Deprecation.dfy.verifier.expect deleted file mode 100644 index c0851e9888c..00000000000 --- a/Test/dafny0/Deprecation.dfy.verifier.expect +++ /dev/null @@ -1,5 +0,0 @@ -Deprecation.dfy(15,13): Warning: constructors no longer need 'this' to be listed in modifies clauses -Deprecation.dfy(22,0): Warning: the old keyword phrase 'inductive predicate' has been renamed to 'least predicate' -Deprecation.dfy(25,0): Warning: the old keyword 'copredicate' has been renamed to the keyword phrase 'greatest predicate' -Deprecation.dfy(28,0): Warning: the old keyword phrase 'inductive lemma' has been renamed to 'least lemma' -Deprecation.dfy(31,0): Warning: the old keyword 'colemma' has been renamed to the keyword phrase 'greatest lemma' diff --git a/Test/dafny0/DiscoverBounds.dfy b/Test/dafny0/DiscoverBounds.dfy index 18e56158613..31f9717ee79 100644 --- a/Test/dafny0/DiscoverBounds.dfy +++ b/Test/dafny0/DiscoverBounds.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /print:"%t.print" /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype NT = x | 0 <= x < 100 newtype UT = NT diff --git a/Test/dafny0/DiscoverBounds.dfy.expect b/Test/dafny0/DiscoverBounds.dfy.expect index 909a58326d0..e43954c7be1 100644 --- a/Test/dafny0/DiscoverBounds.dfy.expect +++ b/Test/dafny0/DiscoverBounds.dfy.expect @@ -1,3 +1,10 @@ +DiscoverBounds.dfy(32,7): Warning: /!\ No terms found to trigger on. +DiscoverBounds.dfy(33,7): Warning: /!\ No terms found to trigger on. +DiscoverBounds.dfy(34,7): Warning: /!\ No terms found to trigger on. +DiscoverBounds.dfy(35,7): Warning: /!\ No terms found to trigger on. +DiscoverBounds.dfy(36,7): Warning: /!\ No terms found to trigger on. + +Dafny program verifier finished with 7 verified, 0 errors 0 0 -2 diff --git a/Test/dafny0/DiscoverBounds.dfy.verifier.expect b/Test/dafny0/DiscoverBounds.dfy.verifier.expect deleted file mode 100644 index 7c4de01ee0e..00000000000 --- a/Test/dafny0/DiscoverBounds.dfy.verifier.expect +++ /dev/null @@ -1,5 +0,0 @@ -DiscoverBounds.dfy(31,7): Warning: /!\ No terms found to trigger on. -DiscoverBounds.dfy(32,7): Warning: /!\ No terms found to trigger on. -DiscoverBounds.dfy(33,7): Warning: /!\ No terms found to trigger on. -DiscoverBounds.dfy(34,7): Warning: /!\ No terms found to trigger on. -DiscoverBounds.dfy(35,7): Warning: /!\ No terms found to trigger on. diff --git a/Test/dafny0/DividedConstructors.dfy b/Test/dafny0/DividedConstructors.dfy index e6f63a35f11..169bf4ee7df 100644 --- a/Test/dafny0/DividedConstructors.dfy +++ b/Test/dafny0/DividedConstructors.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /env:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var m := new M0.MyClass.Init(20); diff --git a/Test/dafny0/DividedConstructors.dfy.expect b/Test/dafny0/DividedConstructors.dfy.expect index 2dcc1ba6402..eaa3ed7d379 100644 --- a/Test/dafny0/DividedConstructors.dfy.expect +++ b/Test/dafny0/DividedConstructors.dfy.expect @@ -1,2 +1,5 @@ +DividedConstructors.dfy(62,9): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier finished with 17 verified, 0 errors 37, 17, 3.14 false, true diff --git a/Test/dafny0/DividedConstructors.dfy.verifier.expect b/Test/dafny0/DividedConstructors.dfy.verifier.expect deleted file mode 100644 index f3fdfadddbf..00000000000 --- a/Test/dafny0/DividedConstructors.dfy.verifier.expect +++ /dev/null @@ -1 +0,0 @@ -DividedConstructors.dfy(61,9): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny0/EqualityTypesCompile.dfy b/Test/dafny0/EqualityTypesCompile.dfy index a36d1818c1d..de7954710e9 100644 --- a/Test/dafny0/EqualityTypesCompile.dfy +++ b/Test/dafny0/EqualityTypesCompile.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype List = Nil | Cons(A, List) | ICons(int, List) datatype TwoLists = Two(List, List) diff --git a/Test/dafny0/EqualityTypesCompile.dfy.expect b/Test/dafny0/EqualityTypesCompile.dfy.expect index 0246dc39633..d2f1950e7f7 100644 --- a/Test/dafny0/EqualityTypesCompile.dfy.expect +++ b/Test/dafny0/EqualityTypesCompile.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 1 verified, 0 errors from M: false from N: false from H: false diff --git a/Test/dafny0/ForallCompilationNewSyntax.dfy b/Test/dafny0/ForallCompilationNewSyntax.dfy index ac354d6338c..b7132df78ae 100644 --- a/Test/dafny0/ForallCompilationNewSyntax.dfy +++ b/Test/dafny0/ForallCompilationNewSyntax.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --quantifier-syntax:4 --relax-definite-assignment +// RUN: %baredafny run %args --relax-definite-assignment --quantifier-syntax:4 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var c := new MyClass; diff --git a/Test/dafny0/ForallCompilationNewSyntax.dfy.expect b/Test/dafny0/ForallCompilationNewSyntax.dfy.expect index e69de29bb2d..5b7ec4613bb 100644 --- a/Test/dafny0/ForallCompilationNewSyntax.dfy.expect +++ b/Test/dafny0/ForallCompilationNewSyntax.dfy.expect @@ -0,0 +1,6 @@ +ForallCompilationNewSyntax.dfy(26,4): Warning: /!\ No terms found to trigger on. +ForallCompilationNewSyntax.dfy(35,4): Warning: /!\ No terms found to trigger on. +ForallCompilationNewSyntax.dfy(44,4): Warning: /!\ No terms found to trigger on. +ForallCompilationNewSyntax.dfy(64,4): Warning: /!\ No trigger covering all quantified variables found. + +Dafny program verifier finished with 14 verified, 0 errors diff --git a/Test/dafny0/ForallCompilationNewSyntax.dfy.verifier.expect b/Test/dafny0/ForallCompilationNewSyntax.dfy.verifier.expect deleted file mode 100644 index a94cd5ea608..00000000000 --- a/Test/dafny0/ForallCompilationNewSyntax.dfy.verifier.expect +++ /dev/null @@ -1,4 +0,0 @@ -ForallCompilationNewSyntax.dfy(25,4): Warning: /!\ No terms found to trigger on. -ForallCompilationNewSyntax.dfy(34,4): Warning: /!\ No terms found to trigger on. -ForallCompilationNewSyntax.dfy(43,4): Warning: /!\ No terms found to trigger on. -ForallCompilationNewSyntax.dfy(63,4): Warning: /!\ No trigger covering all quantified variables found. diff --git a/Test/dafny0/GhostGuards.dfy b/Test/dafny0/GhostGuards.dfy index 16f039f3175..b17c98662ce 100644 --- a/Test/dafny0/GhostGuards.dfy +++ b/Test/dafny0/GhostGuards.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --show-tooltips +// RUN: %dafny /compile:3 /printTooltips /rprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Dt = Green | Dog diff --git a/Test/dafny0/GhostGuards.dfy.expect b/Test/dafny0/GhostGuards.dfy.expect index e69de29bb2d..8bb8a71d69d 100644 --- a/Test/dafny0/GhostGuards.dfy.expect +++ b/Test/dafny0/GhostGuards.dfy.expect @@ -0,0 +1,7 @@ +GhostGuards.dfy(12,9): Info: ghost if +GhostGuards.dfy(18,2): Info: ghost if +GhostGuards.dfy(28,2): Info: ghost while +GhostGuards.dfy(41,2): Info: ghost while +GhostGuards.dfy(54,2): Info: ghost match + +Dafny program verifier finished with 1 verified, 0 errors diff --git a/Test/dafny0/GhostGuards.dfy.verifier.expect b/Test/dafny0/GhostGuards.dfy.verifier.expect deleted file mode 100644 index 7e2637d73bb..00000000000 --- a/Test/dafny0/GhostGuards.dfy.verifier.expect +++ /dev/null @@ -1,5 +0,0 @@ -GhostGuards.dfy(11,9): Info: ghost if -GhostGuards.dfy(17,2): Info: ghost if -GhostGuards.dfy(27,2): Info: ghost while -GhostGuards.dfy(40,2): Info: ghost while -GhostGuards.dfy(53,2): Info: ghost match diff --git a/Test/dafny0/GhostITECompilation.dfy b/Test/dafny0/GhostITECompilation.dfy index bd7cfa28a95..d761ddbc6ea 100644 --- a/Test/dafny0/GhostITECompilation.dfy +++ b/Test/dafny0/GhostITECompilation.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --function-syntax:4 --relax-definite-assignment +// RUN: %dafny /compile:0 /functionSyntax:4 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" function F(x: nat, ghost y: nat): nat { diff --git a/Test/dafny0/GhostITECompilation.dfy.expect b/Test/dafny0/GhostITECompilation.dfy.expect index b4988e5cf11..1ec406bf52c 100644 --- a/Test/dafny0/GhostITECompilation.dfy.expect +++ b/Test/dafny0/GhostITECompilation.dfy.expect @@ -1,3 +1,31 @@ + +Dafny program verifier finished with 6 verified, 0 errors + +Dafny program verifier did not attempt verification +65 +65 +65 +65 + +Dafny program verifier did not attempt verification +65 +65 +65 +65 + +Dafny program verifier did not attempt verification +65 +65 +65 +65 + +Dafny program verifier did not attempt verification +65 +65 +65 +65 + +Dafny program verifier did not attempt verification 65 65 65 diff --git a/Test/dafny0/InitialValues.dfy b/Test/dafny0/InitialValues.dfy index 0848d244d71..7dcb05cc9c9 100644 --- a/Test/dafny0/InitialValues.dfy +++ b/Test/dafny0/InitialValues.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny0/InitialValues.dfy.expect b/Test/dafny0/InitialValues.dfy.expect index 18903dcc3dd..ada1b783c16 100644 --- a/Test/dafny0/InitialValues.dfy.expect +++ b/Test/dafny0/InitialValues.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 2 verified, 0 errors r= 0.0 s= 3.4 a= 0.0 b= 3.4 z= 0.0 a==z = true diff --git a/Test/dafny0/MatchBraces.dfy b/Test/dafny0/MatchBraces.dfy index 4ac380f2739..ddd1924774b 100644 --- a/Test/dafny0/MatchBraces.dfy +++ b/Test/dafny0/MatchBraces.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /print:"%t.print" /env:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Color = Red | Green | Blue diff --git a/Test/dafny0/MatchBraces.dfy.expect b/Test/dafny0/MatchBraces.dfy.expect index 4f89bff47e5..88f6cf4f56e 100644 --- a/Test/dafny0/MatchBraces.dfy.expect +++ b/Test/dafny0/MatchBraces.dfy.expect @@ -1,2 +1,10 @@ + +Dafny program verifier finished with 5 verified, 0 errors + +Dafny program verifier did not attempt verification +7 0.18 Color.Red 13 12 +11 98.0 Color.Green 14 115 + +Dafny program verifier did not attempt verification 7 0.18 Color.Red 13 12 11 98.0 Color.Green 14 115 diff --git a/Test/dafny0/MoForallCompilation.dfy b/Test/dafny0/MoForallCompilation.dfy index af080853463..835712edbce 100644 --- a/Test/dafny0/MoForallCompilation.dfy +++ b/Test/dafny0/MoForallCompilation.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { TestAggregateArrayUpdate(); diff --git a/Test/dafny0/MoForallCompilation.dfy.expect b/Test/dafny0/MoForallCompilation.dfy.expect index 7bb606c1528..c431c74c6aa 100644 --- a/Test/dafny0/MoForallCompilation.dfy.expect +++ b/Test/dafny0/MoForallCompilation.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 18 verified, 0 errors -4.0 -3.0 -2.0 -1.0 0.0 1.0 2.0 3.0 7.0 6.0 5.0 4.0 3.0 2.0 1.0 0.0 true true true true true true false false diff --git a/Test/dafny0/NameclashesCompile.dfy b/Test/dafny0/NameclashesCompile.dfy index 46cae4b2338..4d06065c675 100644 --- a/Test/dafny0/NameclashesCompile.dfy +++ b/Test/dafny0/NameclashesCompile.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var r0, r1; diff --git a/Test/dafny0/NameclashesCompile.dfy.expect b/Test/dafny0/NameclashesCompile.dfy.expect index f001bdaeb1e..1434bb632f6 100644 --- a/Test/dafny0/NameclashesCompile.dfy.expect +++ b/Test/dafny0/NameclashesCompile.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 2 verified, 0 errors 15.0 15.1 94 99 0.8 14.3 14.4 18.9 18.92 diff --git a/Test/dafny0/NonZeroInitializationCompile.dfy b/Test/dafny0/NonZeroInitializationCompile.dfy index 2fedae6d60d..48b61a39369 100644 --- a/Test/dafny0/NonZeroInitializationCompile.dfy +++ b/Test/dafny0/NonZeroInitializationCompile.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" type MyInt = x | 6 <= x witness 6 newtype MyNewInt = x | 6 <= x witness 12 diff --git a/Test/dafny0/NonZeroInitializationCompile.dfy.expect b/Test/dafny0/NonZeroInitializationCompile.dfy.expect index c682dccf3fc..72b333efb85 100644 --- a/Test/dafny0/NonZeroInitializationCompile.dfy.expect +++ b/Test/dafny0/NonZeroInitializationCompile.dfy.expect @@ -1,3 +1,76 @@ + +Dafny program verifier finished with 15 verified, 0 errors + +Dafny program verifier did not attempt verification +These are the arbitrary values chosen by the compiler: 6, 12 +short, short': 0, -35 +nes: {57} +f0, f1: (0, false), (29, true) +dt: Dt.Atom(-35) +cl { u: 12, x: 0, r: 3.14, nes: {57} } +cl' { u: 12, x: 0, ': 3.14, nes: {20, 57} } + +x: real :: 0.0 versus 0.0 +ch: char :: 'D' versus 'D' +s: set :: {} versus {} +d: Xt :: AdvancedZeroInitialization.Xt.MakeXt(0, []) versus AdvancedZeroInitialization.Xt.MakeXt(0, []) +y: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, []) versus AdvancedZeroInitialization.Yt.MakeYt(0, []) +z: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization.Yt.MakeYt(0, 0) + +x: real :: 0.0 versus 0.0 +ch: char :: 'D' versus 'D' +s: set :: {} versus {} +d: Xt :: AdvancedZeroInitialization.Xt.MakeXt(0, []) versus AdvancedZeroInitialization.Xt.MakeXt(0, []) +y: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, []) versus AdvancedZeroInitialization.Yt.MakeYt(0, []) +z: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization.Yt.MakeYt(0, 0) + +Dafny program verifier did not attempt verification +These are the arbitrary values chosen by the compiler: 6, 12 +short, short': 0, -35 +nes: {57} +f0, f1: (0, false), (29, true) +dt: Dt.Atom(-35) +cl { u: 12, x: 0, r: 3.14, nes: {57} } +cl' { u: 12, x: 0, ': 3.14, nes: {20, 57} } + +x: real :: 0.0 versus 0.0 +ch: char :: 'D' versus 'D' +s: set :: {} versus {} +d: Xt :: AdvancedZeroInitialization.Xt.MakeXt(0, []) versus AdvancedZeroInitialization.Xt.MakeXt(0, []) +y: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, []) versus AdvancedZeroInitialization.Yt.MakeYt(0, []) +z: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization.Yt.MakeYt(0, 0) + +x: real :: 0.0 versus 0.0 +ch: char :: 'D' versus 'D' +s: set :: {} versus {} +d: Xt :: AdvancedZeroInitialization.Xt.MakeXt(0, []) versus AdvancedZeroInitialization.Xt.MakeXt(0, []) +y: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, []) versus AdvancedZeroInitialization.Yt.MakeYt(0, []) +z: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization.Yt.MakeYt(0, 0) + +Dafny program verifier did not attempt verification +These are the arbitrary values chosen by the compiler: 6, 12 +short, short': 0, -35 +nes: {57} +f0, f1: (0, false), (29, true) +dt: Dt.Atom(-35) +cl { u: 12, x: 0, r: 3.14, nes: {57} } +cl' { u: 12, x: 0, ': 3.14, nes: {20, 57} } + +x: real :: 0.0 versus 0.0 +ch: char :: 'D' versus 'D' +s: set :: {} versus {} +d: Xt :: AdvancedZeroInitialization.Xt.MakeXt(0, []) versus AdvancedZeroInitialization.Xt.MakeXt(0, []) +y: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, []) versus AdvancedZeroInitialization.Yt.MakeYt(0, []) +z: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization.Yt.MakeYt(0, 0) + +x: real :: 0.0 versus 0.0 +ch: char :: 'D' versus 'D' +s: set :: {} versus {} +d: Xt :: AdvancedZeroInitialization.Xt.MakeXt(0, []) versus AdvancedZeroInitialization.Xt.MakeXt(0, []) +y: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, []) versus AdvancedZeroInitialization.Yt.MakeYt(0, []) +z: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization.Yt.MakeYt(0, 0) + +Dafny program verifier did not attempt verification These are the arbitrary values chosen by the compiler: 6, 12 short, short': 0, -35 nes: {57} diff --git a/Test/dafny0/NullComparisonWarnings.dfy b/Test/dafny0/NullComparisonWarnings.dfy index 35fd5ffb3f4..eb9183040bc 100644 --- a/Test/dafny0/NullComparisonWarnings.dfy +++ b/Test/dafny0/NullComparisonWarnings.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { print "despite the warnings, the program still compiles\n"; diff --git a/Test/dafny0/NullComparisonWarnings.dfy.expect b/Test/dafny0/NullComparisonWarnings.dfy.expect index f2b4545fac7..d8cf4a9960c 100644 --- a/Test/dafny0/NullComparisonWarnings.dfy.expect +++ b/Test/dafny0/NullComparisonWarnings.dfy.expect @@ -1 +1,14 @@ +NullComparisonWarnings.dfy(27,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(28,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'y' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(29,14): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for field 'next' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(30,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(31,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'y' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(32,14): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for field 'next' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(34,12): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(37,12): Warning: the type of the other operand is a set of non-null elements, so the inclusion test of 'null' will always return 'false' +NullComparisonWarnings.dfy(38,12): Warning: the type of the other operand is a set of non-null elements, so the non-inclusion test of 'null' will always return 'true' +NullComparisonWarnings.dfy(40,41): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'u' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(45,12): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' + +Dafny program verifier finished with 4 verified, 0 errors despite the warnings, the program still compiles diff --git a/Test/dafny0/NullComparisonWarnings.dfy.verifier.expect b/Test/dafny0/NullComparisonWarnings.dfy.verifier.expect deleted file mode 100644 index 24f9074ecc9..00000000000 --- a/Test/dafny0/NullComparisonWarnings.dfy.verifier.expect +++ /dev/null @@ -1,11 +0,0 @@ -NullComparisonWarnings.dfy(26,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(27,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'y' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(28,14): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for field 'next' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(29,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(30,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'y' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(31,14): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for field 'next' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(33,12): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(36,12): Warning: the type of the other operand is a set of non-null elements, so the inclusion test of 'null' will always return 'false' -NullComparisonWarnings.dfy(37,12): Warning: the type of the other operand is a set of non-null elements, so the non-inclusion test of 'null' will always return 'true' -NullComparisonWarnings.dfy(39,41): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'u' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(44,12): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' diff --git a/Test/dafny0/PrintUTF8.dfy b/Test/dafny0/PrintUTF8.dfy index eff7baa32a9..5d4e376b19d 100644 --- a/Test/dafny0/PrintUTF8.dfy +++ b/Test/dafny0/PrintUTF8.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { print "Mikaël fixed UTF8\n"; diff --git a/Test/dafny0/PrintUTF8.dfy.expect b/Test/dafny0/PrintUTF8.dfy.expect index 818549280d3..52a23e906cc 100644 --- a/Test/dafny0/PrintUTF8.dfy.expect +++ b/Test/dafny0/PrintUTF8.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 0 verified, 0 errors Mikaël fixed UTF8 diff --git a/Test/dafny0/RangeCompilation.dfy b/Test/dafny0/RangeCompilation.dfy index 3f3e6aed0f8..53a8d6e33e5 100644 --- a/Test/dafny0/RangeCompilation.dfy +++ b/Test/dafny0/RangeCompilation.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype Byte = x | 0 <= x < 256 predicate GoodByte(b: Byte) { diff --git a/Test/dafny0/RangeCompilation.dfy.expect b/Test/dafny0/RangeCompilation.dfy.expect index 9e0f9e5f028..82fbbb9b698 100644 --- a/Test/dafny0/RangeCompilation.dfy.expect +++ b/Test/dafny0/RangeCompilation.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 4 verified, 0 errors b=2 i=4 diff --git a/Test/dafny0/SeqFromArray.dfy b/Test/dafny0/SeqFromArray.dfy index 39f72303d18..6bab732c906 100644 --- a/Test/dafny0/SeqFromArray.dfy +++ b/Test/dafny0/SeqFromArray.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // /autoTriggers:1 added to suppress instabilities diff --git a/Test/dafny0/SeqFromArray.dfy.expect b/Test/dafny0/SeqFromArray.dfy.expect index e69de29bb2d..1981561ca00 100644 --- a/Test/dafny0/SeqFromArray.dfy.expect +++ b/Test/dafny0/SeqFromArray.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 10 verified, 0 errors diff --git a/Test/dafny0/SharedDestructorsCompile.dfy b/Test/dafny0/SharedDestructorsCompile.dfy index 64d8b245b58..8171cf72404 100644 --- a/Test/dafny0/SharedDestructorsCompile.dfy +++ b/Test/dafny0/SharedDestructorsCompile.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Dt = | A(x: int, y: real) diff --git a/Test/dafny0/SharedDestructorsCompile.dfy.expect b/Test/dafny0/SharedDestructorsCompile.dfy.expect index 060d152d77b..e037db03c40 100644 --- a/Test/dafny0/SharedDestructorsCompile.dfy.expect +++ b/Test/dafny0/SharedDestructorsCompile.dfy.expect @@ -1,3 +1,20 @@ + +Dafny program verifier finished with 3 verified, 0 errors + +Dafny program verifier did not attempt verification +Dt.A(10, 12.0): x=10 y=12.0 +Dt.B(_module.MyClass, 6): h=_module.MyClass x=6 +Dt.C(3.14): y=3.14 +Dt.C(3.14) +Dt.A(71, 0.1) +Klef.C3(44, 100, 66, 200) +Datte.AA(10, 2) Datte.AA(10, 5) +Datte.BB(false, 12) Datte.BB(false, 6) +Datte.CC(3.2) Datte.CC(3.4) +Datte.DD(100, {7}, 5, 9.0) Datte.DD(30, {7}, 5, 9.0) +Datte.DD(100, {7}, 5, 9.0) Datte.DD(30, {7}, 5, 2.0) + +Dafny program verifier did not attempt verification Dt.A(10, 12.0): x=10 y=12.0 Dt.B(_module.MyClass, 6): h=_module.MyClass x=6 Dt.C(3.14): y=3.14 diff --git a/Test/dafny0/SiblingImports.dfy b/Test/dafny0/SiblingImports.dfy index 756e4b253f3..3fb01d9d1b8 100644 --- a/Test/dafny0/SiblingImports.dfy +++ b/Test/dafny0/SiblingImports.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { ClientA.Test(); diff --git a/Test/dafny0/SiblingImports.dfy.expect b/Test/dafny0/SiblingImports.dfy.expect index fb6171563ac..ba4df82a925 100644 --- a/Test/dafny0/SiblingImports.dfy.expect +++ b/Test/dafny0/SiblingImports.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 1 verified, 0 errors ClientA.Inner.Five: 5 ClientB.Inner.Five: 5 ClientC.Inner.Five: 5 diff --git a/Test/dafny0/TypeConversionsCompile.dfy b/Test/dafny0/TypeConversionsCompile.dfy index 5b1e32b9258..90075fb74a8 100644 --- a/Test/dafny0/TypeConversionsCompile.dfy +++ b/Test/dafny0/TypeConversionsCompile.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /env:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Note the difference in output in Java's case is due to // https://github.com/dafny-lang/dafny/issues/4152 diff --git a/Test/dafny0/TypeConversionsCompile.dfy.expect b/Test/dafny0/TypeConversionsCompile.dfy.expect index 78990cf4a30..893938a0226 100644 --- a/Test/dafny0/TypeConversionsCompile.dfy.expect +++ b/Test/dafny0/TypeConversionsCompile.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 8 verified, 0 errors 3 4 5.0 5 6 -1.0 147573952589676412927 4294967295 127 0 got 3, expected 3 got 0, expected 0 diff --git a/Test/dafny0/TypeMembers.dfy b/Test/dafny0/TypeMembers.dfy index f2bea4039c9..2ab57767ad5 100644 --- a/Test/dafny0/TypeMembers.dfy +++ b/Test/dafny0/TypeMembers.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { BasicTests(); diff --git a/Test/dafny0/TypeMembers.dfy.expect b/Test/dafny0/TypeMembers.dfy.expect index 923cb07e841..1d406ca85dc 100644 --- a/Test/dafny0/TypeMembers.dfy.expect +++ b/Test/dafny0/TypeMembers.dfy.expect @@ -1,3 +1,32 @@ +TypeMembers.dfy(117,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect + +Dafny program verifier finished with 29 verified, 0 errors +TypeMembers.dfy(117,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect + +Dafny program verifier did not attempt verification +DaTy.Yes 10 26 +8 11 10 11 10 +35 10 14 +22 22 +9 Dt.Business(false, 5) +76 77 +19 +0 0 +19 82 83 +93 Co.Cobalt +27 27 +18 +11 18 18 22 +15 30 29 +95 11 +162 165 +11 18 18 3 +15 30 29 +95 11 +162 165 +TypeMembers.dfy(117,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect + +Dafny program verifier did not attempt verification DaTy.Yes 10 26 8 11 10 11 10 35 10 14 diff --git a/Test/dafny0/TypeMembers.dfy.verifier.expect b/Test/dafny0/TypeMembers.dfy.verifier.expect deleted file mode 100644 index 62f55c943d2..00000000000 --- a/Test/dafny0/TypeMembers.dfy.verifier.expect +++ /dev/null @@ -1 +0,0 @@ -TypeMembers.dfy(114,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect diff --git a/Test/dafny0/Wellfounded.dfy b/Test/dafny0/Wellfounded.dfy index 7ec2be06b38..2ed488974c6 100644 --- a/Test/dafny0/Wellfounded.dfy +++ b/Test/dafny0/Wellfounded.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var d := Int(10); diff --git a/Test/dafny0/Wellfounded.dfy.expect b/Test/dafny0/Wellfounded.dfy.expect index 52742a67098..73d7a1e7ca2 100644 --- a/Test/dafny0/Wellfounded.dfy.expect +++ b/Test/dafny0/Wellfounded.dfy.expect @@ -1,3 +1,7 @@ +Wellfounded.dfy(49,14): Warning: /!\ No terms found to trigger on. +Wellfounded.dfy(77,5): Warning: /!\ No terms found to trigger on. + +Dafny program verifier finished with 3 verified, 0 errors M(d, d) = 10 M(a1, d) = 10 M(a2, d) = 10 diff --git a/Test/dafny0/Wellfounded.dfy.verifier.expect b/Test/dafny0/Wellfounded.dfy.verifier.expect deleted file mode 100644 index e61f12f01b2..00000000000 --- a/Test/dafny0/Wellfounded.dfy.verifier.expect +++ /dev/null @@ -1,2 +0,0 @@ -Wellfounded.dfy(48,14): Warning: /!\ No terms found to trigger on. -Wellfounded.dfy(76,5): Warning: /!\ No terms found to trigger on. diff --git a/Test/dafny2/MinWindowMax.dfy b/Test/dafny2/MinWindowMax.dfy index 32342cdd8b9..71ccb539d7d 100644 --- a/Test/dafny2/MinWindowMax.dfy +++ b/Test/dafny2/MinWindowMax.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Minimum window-max problem. // Rustan Leino diff --git a/Test/dafny2/MinWindowMax.dfy.expect b/Test/dafny2/MinWindowMax.dfy.expect index 1bb5609994e..f6f6e52d9bc 100644 --- a/Test/dafny2/MinWindowMax.dfy.expect +++ b/Test/dafny2/MinWindowMax.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 12 verified, 0 errors Window size 1: min window-max is -5 Window size 2: min window-max is 2 Window size 3: min window-max is 3 diff --git a/Test/dafny2/SmallestMissingNumber-functional.dfy b/Test/dafny2/SmallestMissingNumber-functional.dfy index a1544efab5f..047475c2680 100644 --- a/Test/dafny2/SmallestMissingNumber-functional.dfy +++ b/Test/dafny2/SmallestMissingNumber-functional.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Smallest missing number problem, functional version without duplicates. // A purely functional solution to the programming problem in Richard Bird's diff --git a/Test/dafny2/SmallestMissingNumber-functional.dfy.expect b/Test/dafny2/SmallestMissingNumber-functional.dfy.expect index 5d75da8ddd3..208b183ee3e 100644 --- a/Test/dafny2/SmallestMissingNumber-functional.dfy.expect +++ b/Test/dafny2/SmallestMissingNumber-functional.dfy.expect @@ -1 +1,4 @@ +SmallestMissingNumber-functional.dfy(213,11): Warning: /!\ No terms found to trigger on. + +Dafny program verifier finished with 21 verified, 0 errors 0 1 4 5 diff --git a/Test/dafny2/SmallestMissingNumber-functional.dfy.verifier.expect b/Test/dafny2/SmallestMissingNumber-functional.dfy.verifier.expect deleted file mode 100644 index cf10280f376..00000000000 --- a/Test/dafny2/SmallestMissingNumber-functional.dfy.verifier.expect +++ /dev/null @@ -1 +0,0 @@ -SmallestMissingNumber-functional.dfy(212,11): Warning: /!\ No terms found to trigger on. diff --git a/Test/dafny2/SmallestMissingNumber-imperative.dfy b/Test/dafny2/SmallestMissingNumber-imperative.dfy index 314bf4e464c..b8539481a54 100644 --- a/Test/dafny2/SmallestMissingNumber-imperative.dfy +++ b/Test/dafny2/SmallestMissingNumber-imperative.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Smallest missing number. // An imperative solution to the programming problem in Richard Bird's diff --git a/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect b/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect index cfb25913041..bc4a868fdff 100644 --- a/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect +++ b/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 8 verified, 0 errors 0 1 5 diff --git a/Test/dafny2/StoreAndRetrieve.dfy b/Test/dafny2/StoreAndRetrieve.dfy index f19239e234a..99a72697a71 100644 --- a/Test/dafny2/StoreAndRetrieve.dfy +++ b/Test/dafny2/StoreAndRetrieve.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // This file shows an example program that uses both refinement and :autocontracts // specify a class that stores a set of things that can be retrieved using a query. diff --git a/Test/dafny2/StoreAndRetrieve.dfy.expect b/Test/dafny2/StoreAndRetrieve.dfy.expect index 030f5bfab39..1d7d71d5202 100644 --- a/Test/dafny2/StoreAndRetrieve.dfy.expect +++ b/Test/dafny2/StoreAndRetrieve.dfy.expect @@ -1 +1,39 @@ +StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier finished with 19 verified, 0 errors +StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +20.3 +StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +20.3 +StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +20.3 +StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification 20.3 diff --git a/Test/dafny2/StoreAndRetrieve.dfy.verifier.expect b/Test/dafny2/StoreAndRetrieve.dfy.verifier.expect deleted file mode 100644 index 0c3d269cdc1..00000000000 --- a/Test/dafny2/StoreAndRetrieve.dfy.verifier.expect +++ /dev/null @@ -1,5 +0,0 @@ -StoreAndRetrieve.dfy(60,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(65,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(66,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(81,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(92,9): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny2/pq-intrinsic-extrinsic.dfy b/Test/dafny2/pq-intrinsic-extrinsic.dfy index 588c2f9e2b1..c797c92445d 100644 --- a/Test/dafny2/pq-intrinsic-extrinsic.dfy +++ b/Test/dafny2/pq-intrinsic-extrinsic.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // This file contains several versions of a priority queue implemented by Braun trees: // diff --git a/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect b/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect index 5c90c26e0eb..bc2608f44b7 100644 --- a/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect +++ b/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect @@ -1,3 +1,14 @@ + +Dafny program verifier finished with 32 verified, 0 errors + +Dafny program verifier did not attempt verification +PriorityQueue_extrinsic: 3 +PriorityQueue_layered: 3 +PriorityQueue_intrinsic: 3 +PriorityQueue_on_intrinsic: 3 +PriorityQueue_direct: 3 + +Dafny program verifier did not attempt verification PriorityQueue_extrinsic: 3 PriorityQueue_layered: 3 PriorityQueue_intrinsic: 3 diff --git a/Test/dafny3/Abstemious.dfy b/Test/dafny3/Abstemious.dfy index 62d891f950f..263c1f1fb00 100644 --- a/Test/dafny3/Abstemious.dfy +++ b/Test/dafny3/Abstemious.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Examples from https://www.haskell.org/tutorial/functions.html diff --git a/Test/dafny3/Abstemious.dfy.expect b/Test/dafny3/Abstemious.dfy.expect index 3511a04a840..96f109b0b58 100644 --- a/Test/dafny3/Abstemious.dfy.expect +++ b/Test/dafny3/Abstemious.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 19 verified, 0 errors ones(): 1 1 1 1 1 1 1 ... from(3): 3 4 5 6 7 8 9 ... Map(plus1, ones()): 2 2 2 2 2 2 2 ... diff --git a/Test/dafny3/CachedContainer.dfy b/Test/dafny3/CachedContainer.dfy index e36e76d6851..77c3e45897f 100644 --- a/Test/dafny3/CachedContainer.dfy +++ b/Test/dafny3/CachedContainer.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // This file contains an example chain of module refinements, starting from a // simple interface M0 to an implementation M3. Module Client.Test() is diff --git a/Test/dafny3/CachedContainer.dfy.expect b/Test/dafny3/CachedContainer.dfy.expect index ed2a587c3f1..08f4fb30b0a 100644 --- a/Test/dafny3/CachedContainer.dfy.expect +++ b/Test/dafny3/CachedContainer.dfy.expect @@ -1 +1,79 @@ +CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier finished with 29 verified, 0 errors +CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +false true false true +CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +false true false true +CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +false true false true +CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification false true false true diff --git a/Test/dafny3/CachedContainer.dfy.verifier.expect b/Test/dafny3/CachedContainer.dfy.verifier.expect deleted file mode 100644 index a037bc94ff6..00000000000 --- a/Test/dafny3/CachedContainer.dfy.verifier.expect +++ /dev/null @@ -1,13 +0,0 @@ -CachedContainer.dfy(112,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(119,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(122,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(129,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(132,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(153,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(154,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(162,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(163,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(166,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(178,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(179,13): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny3/Iter.dfy b/Test/dafny3/Iter.dfy index 46befa24dd8..81431f2c64b 100644 --- a/Test/dafny3/Iter.dfy +++ b/Test/dafny3/Iter.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" class List { ghost var Contents: seq diff --git a/Test/dafny3/Iter.dfy.expect b/Test/dafny3/Iter.dfy.expect index 0ed11070541..69d7373d5d5 100644 --- a/Test/dafny3/Iter.dfy.expect +++ b/Test/dafny3/Iter.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 12 verified, 0 errors 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 98 0 2 4 6 8 10 12 14 diff --git a/Test/dafny4/Ackermann.dfy b/Test/dafny4/Ackermann.dfy index a4ef351c96b..27968070e9b 100644 --- a/Test/dafny4/Ackermann.dfy +++ b/Test/dafny4/Ackermann.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Rustan Leino, 8 Sep 2015. // This file proves that the Ackermann function is monotonic in each argument diff --git a/Test/dafny4/Ackermann.dfy.expect b/Test/dafny4/Ackermann.dfy.expect index 43d9513ef4b..c995dac9c9a 100644 --- a/Test/dafny4/Ackermann.dfy.expect +++ b/Test/dafny4/Ackermann.dfy.expect @@ -1 +1,5 @@ +Ackermann.dfy(163,4): Warning: /!\ No terms found to trigger on. +Ackermann.dfy(181,4): Warning: /!\ No terms found to trigger on. + +Dafny program verifier finished with 14 verified, 0 errors Ack(3, 4) = 125 diff --git a/Test/dafny4/Ackermann.dfy.verifier.expect b/Test/dafny4/Ackermann.dfy.verifier.expect deleted file mode 100644 index b302e2b4daf..00000000000 --- a/Test/dafny4/Ackermann.dfy.verifier.expect +++ /dev/null @@ -1,2 +0,0 @@ -Ackermann.dfy(162,4): Warning: /!\ No terms found to trigger on. -Ackermann.dfy(180,4): Warning: /!\ No terms found to trigger on. diff --git a/Test/dafny4/Bug107.dfy b/Test/dafny4/Bug107.dfy index b7ab69c9a8d..e417fc90a53 100644 --- a/Test/dafny4/Bug107.dfy +++ b/Test/dafny4/Bug107.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny4/Bug107.dfy.expect b/Test/dafny4/Bug107.dfy.expect index 62f9457511f..ad79213a18c 100644 --- a/Test/dafny4/Bug107.dfy.expect +++ b/Test/dafny4/Bug107.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 1 verified, 0 errors 6 \ No newline at end of file diff --git a/Test/dafny4/Bug108.dfy b/Test/dafny4/Bug108.dfy index 8228fe44f87..c64ec32a340 100644 --- a/Test/dafny4/Bug108.dfy +++ b/Test/dafny4/Bug108.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var A := map[0 := 1]; diff --git a/Test/dafny4/Bug108.dfy.expect b/Test/dafny4/Bug108.dfy.expect index 0777a01b26d..c1c63f6c5c1 100644 --- a/Test/dafny4/Bug108.dfy.expect +++ b/Test/dafny4/Bug108.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 1 verified, 0 errors map[0 := 1] map[0 := 1] diff --git a/Test/dafny4/Bug113.dfy b/Test/dafny4/Bug113.dfy index 0bec0c1ce31..23c759540cd 100644 --- a/Test/dafny4/Bug113.dfy +++ b/Test/dafny4/Bug113.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype D = D(q:int, r:int, s:int, t:int) @@ -6,4 +7,4 @@ method Main() { print D(10, 20, 30, 40); print "\n"; -} +} \ No newline at end of file diff --git a/Test/dafny4/Bug113.dfy.expect b/Test/dafny4/Bug113.dfy.expect index e2eeff32e9a..3ea1396ad00 100644 --- a/Test/dafny4/Bug113.dfy.expect +++ b/Test/dafny4/Bug113.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 0 verified, 0 errors D.D(10, 20, 30, 40) diff --git a/Test/dafny4/Bug116.dfy b/Test/dafny4/Bug116.dfy index 501b74c74d5..e29da0f609d 100644 --- a/Test/dafny4/Bug116.dfy +++ b/Test/dafny4/Bug116.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // test various compiler-target keywords diff --git a/Test/dafny4/Bug116.dfy.expect b/Test/dafny4/Bug116.dfy.expect index 8c7fdc614c4..4cd4aabf511 100644 --- a/Test/dafny4/Bug116.dfy.expect +++ b/Test/dafny4/Bug116.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 1 verified, 0 errors struct.S byte.arguments enum.goto.switch enum.goto.switch 20 + 20 == 40 diff --git a/Test/dafny4/Bug140.dfy b/Test/dafny4/Bug140.dfy index 8280db8f665..edde966c149 100644 --- a/Test/dafny4/Bug140.dfy +++ b/Test/dafny4/Bug140.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" class Node { ghost var List: seq diff --git a/Test/dafny4/Bug140.dfy.expect b/Test/dafny4/Bug140.dfy.expect index a40ee1166fb..bad48de4d6b 100644 --- a/Test/dafny4/Bug140.dfy.expect +++ b/Test/dafny4/Bug140.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 8 verified, 0 errors 1 2 diff --git a/Test/dafny4/Bug148.dfy b/Test/dafny4/Bug148.dfy index f31cef2cdc8..da1ebf99447 100644 --- a/Test/dafny4/Bug148.dfy +++ b/Test/dafny4/Bug148.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny4/Bug148.dfy.expect b/Test/dafny4/Bug148.dfy.expect index 9ed6ca4768b..79d02517ceb 100644 --- a/Test/dafny4/Bug148.dfy.expect +++ b/Test/dafny4/Bug148.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 0 verified, 0 errors true false true diff --git a/Test/dafny4/Bug49.dfy b/Test/dafny4/Bug49.dfy index 868f4a3964b..68722830422 100644 --- a/Test/dafny4/Bug49.dfy +++ b/Test/dafny4/Bug49.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny4/Bug49.dfy.expect b/Test/dafny4/Bug49.dfy.expect index 800c2bd15ba..4e02a08bbee 100644 --- a/Test/dafny4/Bug49.dfy.expect +++ b/Test/dafny4/Bug49.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 13 verified, 0 errors 6 6 5 diff --git a/Test/dafny4/Bug60.dfy b/Test/dafny4/Bug60.dfy index f4585753f5f..0aa9209269d 100644 --- a/Test/dafny4/Bug60.dfy +++ b/Test/dafny4/Bug60.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // This method can be used to test compilation. method Main() diff --git a/Test/dafny4/Bug60.dfy.expect b/Test/dafny4/Bug60.dfy.expect index fd56dc3fcbc..49740e95682 100644 --- a/Test/dafny4/Bug60.dfy.expect +++ b/Test/dafny4/Bug60.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 0 verified, 0 errors ({2, 3}, map[2 := 20, 3 := 30]) (2, 2) {2, 3} diff --git a/Test/dafny4/Bug67.dfy b/Test/dafny4/Bug67.dfy index f01d4239a75..731018a293b 100644 --- a/Test/dafny4/Bug67.dfy +++ b/Test/dafny4/Bug67.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype d = D(m:seq) @@ -7,4 +8,4 @@ method Main() assert D([10, 20]) == D([10, 20]); // succeeds print [10, 20] == [10, 20], "\n"; // prints True print D([10, 20]) == D([10, 20]); // prints False -} +} \ No newline at end of file diff --git a/Test/dafny4/Bug67.dfy.expect b/Test/dafny4/Bug67.dfy.expect index 0be5d980da4..c716cab3144 100644 --- a/Test/dafny4/Bug67.dfy.expect +++ b/Test/dafny4/Bug67.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 1 verified, 0 errors true true \ No newline at end of file diff --git a/Test/dafny4/Bug68.dfy b/Test/dafny4/Bug68.dfy index bf50015f90c..a211206acba 100644 --- a/Test/dafny4/Bug68.dfy +++ b/Test/dafny4/Bug68.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method M1() { @@ -61,4 +62,4 @@ method Main() M3(); M3'(); M4(); -} +} \ No newline at end of file diff --git a/Test/dafny4/Bug68.dfy.expect b/Test/dafny4/Bug68.dfy.expect index 814ccfee2df..f4ef534187d 100644 --- a/Test/dafny4/Bug68.dfy.expect +++ b/Test/dafny4/Bug68.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 8 verified, 0 errors true true true diff --git a/Test/dafny4/Bug89.dfy b/Test/dafny4/Bug89.dfy index c7b77b44f99..4aec1acb8b7 100644 --- a/Test/dafny4/Bug89.dfy +++ b/Test/dafny4/Bug89.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method F() returns(x:int) ensures x == 6 diff --git a/Test/dafny4/Bug89.dfy.expect b/Test/dafny4/Bug89.dfy.expect index 62f9457511f..ed41c274352 100644 --- a/Test/dafny4/Bug89.dfy.expect +++ b/Test/dafny4/Bug89.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors 6 \ No newline at end of file diff --git a/Test/dafny4/Bug94.dfy b/Test/dafny4/Bug94.dfy index c41458539fc..be931445654 100644 --- a/Test/dafny4/Bug94.dfy +++ b/Test/dafny4/Bug94.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" ghost function foo() : (int, int) { diff --git a/Test/dafny4/Bug94.dfy.expect b/Test/dafny4/Bug94.dfy.expect index 3f10ffe7a4c..ab0cfbb2d9e 100644 --- a/Test/dafny4/Bug94.dfy.expect +++ b/Test/dafny4/Bug94.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 1 verified, 0 errors 15 \ No newline at end of file diff --git a/Test/dafny4/ClassRefinement.dfy b/Test/dafny4/ClassRefinement.dfy index 3d5fd1006eb..320749ec197 100644 --- a/Test/dafny4/ClassRefinement.dfy +++ b/Test/dafny4/ClassRefinement.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" abstract module M0 { class Counter { diff --git a/Test/dafny4/ClassRefinement.dfy.expect b/Test/dafny4/ClassRefinement.dfy.expect index cba3471eb57..f456b6777f3 100644 --- a/Test/dafny4/ClassRefinement.dfy.expect +++ b/Test/dafny4/ClassRefinement.dfy.expect @@ -1 +1,44 @@ +ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated +ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier finished with 11 verified, 0 errors +ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated +ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +2 1 +ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated +ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +2 1 +ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated +ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +2 1 +ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated +ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification 2 1 diff --git a/Test/dafny4/ClassRefinement.dfy.verifier.expect b/Test/dafny4/ClassRefinement.dfy.verifier.expect deleted file mode 100644 index 543e77303b5..00000000000 --- a/Test/dafny4/ClassRefinement.dfy.verifier.expect +++ /dev/null @@ -1,6 +0,0 @@ -ClassRefinement.dfy(68,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(69,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(74,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(75,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(77,6): Warning: the modify statement with a block statement is deprecated -ClassRefinement.dfy(78,13): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny4/ExpandedGuardedness.dfy b/Test/dafny4/ExpandedGuardedness.dfy index af620ec40e8..5cd7828f932 100644 --- a/Test/dafny4/ExpandedGuardedness.dfy +++ b/Test/dafny4/ExpandedGuardedness.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny4/ExpandedGuardedness.dfy.expect b/Test/dafny4/ExpandedGuardedness.dfy.expect index e0f3b041a66..d05670701e0 100644 --- a/Test/dafny4/ExpandedGuardedness.dfy.expect +++ b/Test/dafny4/ExpandedGuardedness.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 12 verified, 0 errors Up 19 20 21 22 23 Up2 19 20 21 22 23 UpIf 19 20 22 24 26 diff --git a/Test/dafny4/FlyingRobots.dfy b/Test/dafny4/FlyingRobots.dfy index f14a2a467cd..41223cca1aa 100644 --- a/Test/dafny4/FlyingRobots.dfy +++ b/Test/dafny4/FlyingRobots.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // The flying robots examples from an F* tutorial. It demonstrates how to specify // mutable data structures in the heap. diff --git a/Test/dafny4/FlyingRobots.dfy.expect b/Test/dafny4/FlyingRobots.dfy.expect index e69de29bb2d..5ed0d97333e 100644 --- a/Test/dafny4/FlyingRobots.dfy.expect +++ b/Test/dafny4/FlyingRobots.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 31 verified, 0 errors diff --git a/Test/dafny4/Leq.dfy b/Test/dafny4/Leq.dfy index fdbc1078ca3..fac12757ba0 100644 --- a/Test/dafny4/Leq.dfy +++ b/Test/dafny4/Leq.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Rustan Leino, 22 Sep 2015. // This file considers two definitions of Leq on naturals+infinity. One diff --git a/Test/dafny4/Leq.dfy.expect b/Test/dafny4/Leq.dfy.expect index e69de29bb2d..15301952c57 100644 --- a/Test/dafny4/Leq.dfy.expect +++ b/Test/dafny4/Leq.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 16 verified, 0 errors diff --git a/Test/dafny4/McCarthy91.dfy b/Test/dafny4/McCarthy91.dfy index 428f11eb269..466d30328cc 100644 --- a/Test/dafny4/McCarthy91.dfy +++ b/Test/dafny4/McCarthy91.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // The usual recursive method for computing McCarthy's 91 function method Main() { diff --git a/Test/dafny4/McCarthy91.dfy.expect b/Test/dafny4/McCarthy91.dfy.expect index 1511cff2c81..b63f7a0b03b 100644 --- a/Test/dafny4/McCarthy91.dfy.expect +++ b/Test/dafny4/McCarthy91.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 5 verified, 0 errors M(3) = 91 M(99) = 91 M(100) = 91 diff --git a/Test/dafny4/NatList.dfy b/Test/dafny4/NatList.dfy index 5a1b0358eaf..567fd461259 100644 --- a/Test/dafny4/NatList.dfy +++ b/Test/dafny4/NatList.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // This file tests some programs where "nat" is a type parameter to // a datatype. diff --git a/Test/dafny4/NatList.dfy.expect b/Test/dafny4/NatList.dfy.expect index 5382a29cb9f..2ceb3169787 100644 --- a/Test/dafny4/NatList.dfy.expect +++ b/Test/dafny4/NatList.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 11 verified, 0 errors ns = List.Cons(4, List.Cons(10, List.Nil)) Sum(ns) = 14 ns' = List.Cons(20, List.Nil) diff --git a/Test/dafny4/Regression2.dfy b/Test/dafny4/Regression2.dfy index 0d28285e74c..213bf265401 100644 --- a/Test/dafny4/Regression2.dfy +++ b/Test/dafny4/Regression2.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" module NativeTypes { newtype uint64 = int diff --git a/Test/dafny4/Regression2.dfy.expect b/Test/dafny4/Regression2.dfy.expect index 8a739fb435a..3f8ac383f86 100644 --- a/Test/dafny4/Regression2.dfy.expect +++ b/Test/dafny4/Regression2.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 0 verified, 0 errors true true true diff --git a/Test/dafny4/Regression3.dfy b/Test/dafny4/Regression3.dfy index fc60fad3cb1..adaa0d2763d 100644 --- a/Test/dafny4/Regression3.dfy +++ b/Test/dafny4/Regression3.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny4/Regression3.dfy.expect b/Test/dafny4/Regression3.dfy.expect index 1223bf9ffaf..841338987c7 100644 --- a/Test/dafny4/Regression3.dfy.expect +++ b/Test/dafny4/Regression3.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 3 verified, 0 errors 55 Trunc( -3.0 ) = -3 (expected -3) Trunc( -2.8 ) = -3 (expected -3) diff --git a/Test/dafny4/Regression4.dfy b/Test/dafny4/Regression4.dfy index e4bc4cbef85..5f881a5083f 100644 --- a/Test/dafny4/Regression4.dfy +++ b/Test/dafny4/Regression4.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { } diff --git a/Test/dafny4/Regression4.dfy.expect b/Test/dafny4/Regression4.dfy.expect index e69de29bb2d..ba00363fc08 100644 --- a/Test/dafny4/Regression4.dfy.expect +++ b/Test/dafny4/Regression4.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 4 verified, 0 errors diff --git a/Test/dafny4/Regression6.dfy b/Test/dafny4/Regression6.dfy index b589ec0ce7d..f1551d3ef2d 100644 --- a/Test/dafny4/Regression6.dfy +++ b/Test/dafny4/Regression6.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" function Sum(a: array, lo: int, hi: int): int requires 0 <= lo <= hi <= a.Length diff --git a/Test/dafny4/Regression6.dfy.expect b/Test/dafny4/Regression6.dfy.expect index 54573bead10..17464f29e0b 100644 --- a/Test/dafny4/Regression6.dfy.expect +++ b/Test/dafny4/Regression6.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors 0 1028 0 diff --git a/Test/dafny4/Regression7.dfy b/Test/dafny4/Regression7.dfy index ef3ca5eea44..8ce421a62f3 100644 --- a/Test/dafny4/Regression7.dfy +++ b/Test/dafny4/Regression7.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /rprint:"%t.rprint" /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" module ListLibrary { datatype List = Nil | Cons(head: B, tail: List) diff --git a/Test/dafny4/Regression7.dfy.expect b/Test/dafny4/Regression7.dfy.expect index 4d38be23500..b7b2766a340 100644 --- a/Test/dafny4/Regression7.dfy.expect +++ b/Test/dafny4/Regression7.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors ListLibrary.List.Cons(28.0, ListLibrary.List.Nil) diff --git a/Test/dafny4/Regression9.dfy b/Test/dafny4/Regression9.dfy index 086007a3ef8..d9e44547252 100644 --- a/Test/dafny4/Regression9.dfy +++ b/Test/dafny4/Regression9.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Some tests for the type inference that was revamped // to better support subset types. diff --git a/Test/dafny4/Regression9.dfy.expect b/Test/dafny4/Regression9.dfy.expect index 2183b22cfa9..5a26eaeabfb 100644 --- a/Test/dafny4/Regression9.dfy.expect +++ b/Test/dafny4/Regression9.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors 'D''D''D' diff --git a/Test/dafny4/UnionFind.dfy b/Test/dafny4/UnionFind.dfy index 354f28accb7..b97b6ef5d61 100644 --- a/Test/dafny4/UnionFind.dfy +++ b/Test/dafny4/UnionFind.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Rustan Leino, Nov 2015 // Module M0 gives the high-level specification of the UnionFind data structure diff --git a/Test/dafny4/UnionFind.dfy.expect b/Test/dafny4/UnionFind.dfy.expect index 1cb72129e49..961b161b8dc 100644 --- a/Test/dafny4/UnionFind.dfy.expect +++ b/Test/dafny4/UnionFind.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 63 verified, 0 errors false true true false true true diff --git a/Test/dafny4/gcd.dfy b/Test/dafny4/gcd.dfy index fa92223fa49..384e338435f 100644 --- a/Test/dafny4/gcd.dfy +++ b/Test/dafny4/gcd.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // A text describing this file is found in a Dafny Power User note: http://leino.science/papers/krml279.html diff --git a/Test/dafny4/gcd.dfy.expect b/Test/dafny4/gcd.dfy.expect index c17551a37a4..ecbe2b6f64a 100644 --- a/Test/dafny4/gcd.dfy.expect +++ b/Test/dafny4/gcd.dfy.expect @@ -1,3 +1,34 @@ + +Dafny program verifier finished with 19 verified, 0 errors + +Dafny program verifier did not attempt verification +15 gcd 9 = 3 +14 gcd 22 = 2 +371 gcd 1 = 1 +1 gcd 2 = 1 +1 gcd 1 = 1 +13 gcd 13 = 13 +60 gcd 60 = 60 + +Dafny program verifier did not attempt verification +15 gcd 9 = 3 +14 gcd 22 = 2 +371 gcd 1 = 1 +1 gcd 2 = 1 +1 gcd 1 = 1 +13 gcd 13 = 13 +60 gcd 60 = 60 + +Dafny program verifier did not attempt verification +15 gcd 9 = 3 +14 gcd 22 = 2 +371 gcd 1 = 1 +1 gcd 2 = 1 +1 gcd 1 = 1 +13 gcd 13 = 13 +60 gcd 60 = 60 + +Dafny program verifier did not attempt verification 15 gcd 9 = 3 14 gcd 22 = 2 371 gcd 1 = 1 diff --git a/Test/dafny4/git-issue104.dfy b/Test/dafny4/git-issue104.dfy index b05ec4de1cc..86683a2ed88 100644 --- a/Test/dafny4/git-issue104.dfy +++ b/Test/dafny4/git-issue104.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" predicate bug(a: array) reads a diff --git a/Test/dafny4/git-issue104.dfy.expect b/Test/dafny4/git-issue104.dfy.expect index 836a5934c8f..f572edb2471 100644 --- a/Test/dafny4/git-issue104.dfy.expect +++ b/Test/dafny4/git-issue104.dfy.expect @@ -1 +1,17 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification +true false + +Dafny program verifier did not attempt verification +true false + +Dafny program verifier did not attempt verification +true false + +Dafny program verifier did not attempt verification +true false + +Dafny program verifier did not attempt verification true false diff --git a/Test/dafny4/git-issue105.dfy b/Test/dafny4/git-issue105.dfy index 4cff2330cba..09cfce29a6e 100644 --- a/Test/dafny4/git-issue105.dfy +++ b/Test/dafny4/git-issue105.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method lol() returns (c: int) { diff --git a/Test/dafny4/git-issue105.dfy.expect b/Test/dafny4/git-issue105.dfy.expect index e69de29bb2d..012f5b99379 100644 --- a/Test/dafny4/git-issue105.dfy.expect +++ b/Test/dafny4/git-issue105.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/dafny4/git-issue15.dfy b/Test/dafny4/git-issue15.dfy index 7c77a67ccf9..96905286209 100755 --- a/Test/dafny4/git-issue15.dfy +++ b/Test/dafny4/git-issue15.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype obj = Obj(fooBar:map) datatype foo = Foo diff --git a/Test/dafny4/git-issue15.dfy.expect b/Test/dafny4/git-issue15.dfy.expect index 00750edc07d..e52de78d0b1 100755 --- a/Test/dafny4/git-issue15.dfy.expect +++ b/Test/dafny4/git-issue15.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 1 verified, 0 errors 3 diff --git a/Test/dafny4/git-issue167.dfy b/Test/dafny4/git-issue167.dfy index d98d425c345..d02943dc42d 100644 --- a/Test/dafny4/git-issue167.dfy +++ b/Test/dafny4/git-issue167.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { LetTest(); diff --git a/Test/dafny4/git-issue167.dfy.expect b/Test/dafny4/git-issue167.dfy.expect index 8c5e1ed8df7..0a230fe846e 100644 --- a/Test/dafny4/git-issue167.dfy.expect +++ b/Test/dafny4/git-issue167.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 4 verified, 0 errors 30 {6, 7} {['M', 'i', 'l', 'l', 'a'], ['A', 'l', 'f', 'o', 'n', 's']} diff --git a/Test/dafny4/git-issue195.dfy b/Test/dafny4/git-issue195.dfy index fccdc5461c8..ac4b1306ac6 100644 --- a/Test/dafny4/git-issue195.dfy +++ b/Test/dafny4/git-issue195.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Block = Block(prevBlockHash:Hash, txs:seq, proof:VProof) diff --git a/Test/dafny4/git-issue195.dfy.expect b/Test/dafny4/git-issue195.dfy.expect index 638bfb50b2d..30692fdef2a 100644 --- a/Test/dafny4/git-issue195.dfy.expect +++ b/Test/dafny4/git-issue195.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 4 verified, 0 errors true true true true true diff --git a/Test/dafny4/git-issue196.dfy b/Test/dafny4/git-issue196.dfy index 056687ab1a5..64eb0e9123f 100644 --- a/Test/dafny4/git-issue196.dfy +++ b/Test/dafny4/git-issue196.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" class A { var a: array> diff --git a/Test/dafny4/git-issue196.dfy.expect b/Test/dafny4/git-issue196.dfy.expect index ee25a2c5027..a333f982b8f 100644 --- a/Test/dafny4/git-issue196.dfy.expect +++ b/Test/dafny4/git-issue196.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 9 verified, 0 errors 42 42 42 5000 5000 5000 5000 5000 diff --git a/Test/dafny4/git-issue4.dfy b/Test/dafny4/git-issue4.dfy index b17a545e219..b19cf3ce6df 100644 --- a/Test/dafny4/git-issue4.dfy +++ b/Test/dafny4/git-issue4.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" function IntToChar(i:int):char requires 0 <= i < 10 diff --git a/Test/dafny4/git-issue4.dfy.expect b/Test/dafny4/git-issue4.dfy.expect index 24e24eb63cc..33af1e040b7 100644 --- a/Test/dafny4/git-issue4.dfy.expect +++ b/Test/dafny4/git-issue4.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 5 verified, 0 errors '8' 8 '8' 56 56 diff --git a/Test/dafny4/git-issue43.dfy b/Test/dafny4/git-issue43.dfy index d320d7761bc..edf056a1a91 100644 --- a/Test/dafny4/git-issue43.dfy +++ b/Test/dafny4/git-issue43.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" class System { } diff --git a/Test/dafny4/git-issue43.dfy.expect b/Test/dafny4/git-issue43.dfy.expect index e69de29bb2d..012f5b99379 100644 --- a/Test/dafny4/git-issue43.dfy.expect +++ b/Test/dafny4/git-issue43.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/dafny4/git-issue76.dfy b/Test/dafny4/git-issue76.dfy index 85613dba2f2..708ee911b24 100644 --- a/Test/dafny4/git-issue76.dfy +++ b/Test/dafny4/git-issue76.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { M0(); diff --git a/Test/dafny4/git-issue76.dfy.expect b/Test/dafny4/git-issue76.dfy.expect index 0cfbf08886f..546da03a267 100644 --- a/Test/dafny4/git-issue76.dfy.expect +++ b/Test/dafny4/git-issue76.dfy.expect @@ -1 +1,8 @@ + +Dafny program verifier finished with 7 verified, 0 errors + +Dafny program verifier did not attempt verification +2 + +Dafny program verifier did not attempt verification 2 diff --git a/Test/dafny4/git-issue79.dfy b/Test/dafny4/git-issue79.dfy index f3fb17b8531..046a7c5e375 100644 --- a/Test/dafny4/git-issue79.dfy +++ b/Test/dafny4/git-issue79.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype EInt = Int(val: int) | Unknown type Pair = (string, EInt) diff --git a/Test/dafny4/git-issue79.dfy.expect b/Test/dafny4/git-issue79.dfy.expect index e69de29bb2d..012f5b99379 100644 --- a/Test/dafny4/git-issue79.dfy.expect +++ b/Test/dafny4/git-issue79.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/dafny4/git-issue88.dfy b/Test/dafny4/git-issue88.dfy index 83c0b4a8ef9..1c188333783 100644 --- a/Test/dafny4/git-issue88.dfy +++ b/Test/dafny4/git-issue88.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" type Grid = array2 diff --git a/Test/dafny4/git-issue88.dfy.expect b/Test/dafny4/git-issue88.dfy.expect index e69de29bb2d..00a51f822da 100644 --- a/Test/dafny4/git-issue88.dfy.expect +++ b/Test/dafny4/git-issue88.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 3 verified, 0 errors diff --git a/Test/exceptions/Exceptions1.dfy b/Test/exceptions/Exceptions1.dfy index 4ffd3291f2f..11bb2f7923d 100644 --- a/Test/exceptions/Exceptions1.dfy +++ b/Test/exceptions/Exceptions1.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" /rprint:"%t.rprint" > "%t" +// RUN: %diff "%s.expect" "%t" include "./NatOutcome.dfy" include "./VoidOutcome.dfy" diff --git a/Test/exceptions/Exceptions1.dfy.expect b/Test/exceptions/Exceptions1.dfy.expect index c87eb938c55..e61be2a11ad 100644 --- a/Test/exceptions/Exceptions1.dfy.expect +++ b/Test/exceptions/Exceptions1.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 7 verified, 0 errors true_true_true_88_42_33_Success=100 ___VoidSuccess true_true_false_88_42_Failure diff --git a/Test/exceptions/Exceptions1Expressions.dfy b/Test/exceptions/Exceptions1Expressions.dfy index a57e5b78c7e..c0f3c67cd39 100644 --- a/Test/exceptions/Exceptions1Expressions.dfy +++ b/Test/exceptions/Exceptions1Expressions.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" /rprint:"%t.rprint" > "%t" +// RUN: %diff "%s.expect" "%t" include "./NatOutcomeDt.dfy" include "./VoidOutcomeDt.dfy" diff --git a/Test/exceptions/Exceptions1Expressions.dfy.expect b/Test/exceptions/Exceptions1Expressions.dfy.expect index 3f1b38ab150..3da30f30d36 100644 --- a/Test/exceptions/Exceptions1Expressions.dfy.expect +++ b/Test/exceptions/Exceptions1Expressions.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 5 verified, 0 errors true_true_true_Success=100 VoidSuccess true_true_false_Failure diff --git a/Test/exports/FIFO.dfy b/Test/exports/FIFO.dfy index 95a8d25510c..173e412eaa9 100644 --- a/Test/exports/FIFO.dfy +++ b/Test/exports/FIFO.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" include "Queue.dfyi" diff --git a/Test/exports/FIFO.dfy.expect b/Test/exports/FIFO.dfy.expect index 4539bbf2d22..8350309cc2a 100644 --- a/Test/exports/FIFO.dfy.expect +++ b/Test/exports/FIFO.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 5 verified, 0 errors 0 1 2 diff --git a/Test/exports/LIFO.dfy b/Test/exports/LIFO.dfy index 513dd457c3f..ea691935620 100644 --- a/Test/exports/LIFO.dfy +++ b/Test/exports/LIFO.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" include "Queue.dfyi" diff --git a/Test/exports/LIFO.dfy.expect b/Test/exports/LIFO.dfy.expect index ae136939b64..48aa7787d09 100644 --- a/Test/exports/LIFO.dfy.expect +++ b/Test/exports/LIFO.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 5 verified, 0 errors 2 1 0 diff --git a/Test/exports/xrefine2.dfy b/Test/exports/xrefine2.dfy index 2409cc0509a..0b25240916c 100644 --- a/Test/exports/xrefine2.dfy +++ b/Test/exports/xrefine2.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" module ProtocolImpl { diff --git a/Test/exports/xrefine2.dfy.expect b/Test/exports/xrefine2.dfy.expect index 858dbd09862..34e1b357779 100644 --- a/Test/exports/xrefine2.dfy.expect +++ b/Test/exports/xrefine2.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 4 verified, 0 errors HI.foo(h1) => true HI.foo(h2) => true PI.orange(1) => 2 diff --git a/Test/exports/xrefine3.dfy b/Test/exports/xrefine3.dfy index bb2480bfed7..24d6fa062f0 100644 --- a/Test/exports/xrefine3.dfy +++ b/Test/exports/xrefine3.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" module AlphaImpl { diff --git a/Test/exports/xrefine3.dfy.expect b/Test/exports/xrefine3.dfy.expect index ae50cef0985..488ab11c36a 100644 --- a/Test/exports/xrefine3.dfy.expect +++ b/Test/exports/xrefine3.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors o hai! diff --git a/Test/git-issues/git-issue-032.dfy b/Test/git-issues/git-issue-032.dfy index d7dd61440a7..bde5b2f2a69 100644 --- a/Test/git-issues/git-issue-032.dfy +++ b/Test/git-issues/git-issue-032.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/git-issues/git-issue-032.dfy.expect b/Test/git-issues/git-issue-032.dfy.expect index 2a64997c6f7..91c285009c1 100644 --- a/Test/git-issues/git-issue-032.dfy.expect +++ b/Test/git-issues/git-issue-032.dfy.expect @@ -1,3 +1,40 @@ +git-issue-032.dfy(18,35): Warning: this branch is redundant +git-issue-032.dfy(27,34): Warning: this branch is redundant +git-issue-032.dfy(28,35): Warning: this branch is redundant + +Dafny program verifier finished with 1 verified, 0 errors +git-issue-032.dfy(18,35): Warning: this branch is redundant +git-issue-032.dfy(27,34): Warning: this branch is redundant +git-issue-032.dfy(28,35): Warning: this branch is redundant + +Dafny program verifier did not attempt verification +OK3 +OK +OKOK +00 +git-issue-032.dfy(18,35): Warning: this branch is redundant +git-issue-032.dfy(27,34): Warning: this branch is redundant +git-issue-032.dfy(28,35): Warning: this branch is redundant + +Dafny program verifier did not attempt verification +OK3 +OK +OKOK +00 +git-issue-032.dfy(18,35): Warning: this branch is redundant +git-issue-032.dfy(27,34): Warning: this branch is redundant +git-issue-032.dfy(28,35): Warning: this branch is redundant + +Dafny program verifier did not attempt verification +OK3 +OK +OKOK +00 +git-issue-032.dfy(18,35): Warning: this branch is redundant +git-issue-032.dfy(27,34): Warning: this branch is redundant +git-issue-032.dfy(28,35): Warning: this branch is redundant + +Dafny program verifier did not attempt verification OK3 OK OKOK diff --git a/Test/git-issues/git-issue-032.dfy.verifier.expect b/Test/git-issues/git-issue-032.dfy.verifier.expect deleted file mode 100644 index 1878351db97..00000000000 --- a/Test/git-issues/git-issue-032.dfy.verifier.expect +++ /dev/null @@ -1,3 +0,0 @@ -git-issue-032.dfy(13,35): Warning: this branch is redundant -git-issue-032.dfy(22,34): Warning: this branch is redundant -git-issue-032.dfy(23,35): Warning: this branch is redundant diff --git a/Test/git-issues/git-issue-1029.dfy b/Test/git-issues/git-issue-1029.dfy index 7e1e7a31cf2..a310a99c169 100644 --- a/Test/git-issues/git-issue-1029.dfy +++ b/Test/git-issues/git-issue-1029.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" module ValueType { export S diff --git a/Test/git-issues/git-issue-1029.dfy.expect b/Test/git-issues/git-issue-1029.dfy.expect index 116f2acb4ee..7108c86b0b5 100644 --- a/Test/git-issues/git-issue-1029.dfy.expect +++ b/Test/git-issues/git-issue-1029.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors [true, true, false] UI.Op2.GetOps([true, true, false], [true, true, false]) diff --git a/Test/git-issues/git-issue-1093.dfy b/Test/git-issues/git-issue-1093.dfy index 97797296680..9365397496f 100644 --- a/Test/git-issues/git-issue-1093.dfy +++ b/Test/git-issues/git-issue-1093.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { UnusedLabel(); diff --git a/Test/git-issues/git-issue-1093.dfy.expect b/Test/git-issues/git-issue-1093.dfy.expect index f599e28b8ab..0cadf5e4199 100644 --- a/Test/git-issues/git-issue-1093.dfy.expect +++ b/Test/git-issues/git-issue-1093.dfy.expect @@ -1 +1,17 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification +10 + +Dafny program verifier did not attempt verification +10 + +Dafny program verifier did not attempt verification +10 + +Dafny program verifier did not attempt verification +10 + +Dafny program verifier did not attempt verification 10 diff --git a/Test/git-issues/git-issue-1130.dfy b/Test/git-issues/git-issue-1130.dfy index f1f5ad5a54b..5b7fc5068e2 100644 --- a/Test/git-issues/git-issue-1130.dfy +++ b/Test/git-issues/git-issue-1130.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var a := new Issue.Foo(); diff --git a/Test/git-issues/git-issue-1130.dfy.expect b/Test/git-issues/git-issue-1130.dfy.expect index de97a6dc4ca..6c3dd07b1f1 100644 --- a/Test/git-issues/git-issue-1130.dfy.expect +++ b/Test/git-issues/git-issue-1130.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 13 verified, 0 errors 012 diff --git a/Test/git-issues/git-issue-1150.dfy b/Test/git-issues/git-issue-1150.dfy index d3416a53813..d4cee3c3ef2 100644 --- a/Test/git-issues/git-issue-1150.dfy +++ b/Test/git-issues/git-issue-1150.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Foo = Foo(x: nat) { diff --git a/Test/git-issues/git-issue-1150.dfy.expect b/Test/git-issues/git-issue-1150.dfy.expect index f34d8df4a11..fb4be1897cf 100644 --- a/Test/git-issues/git-issue-1150.dfy.expect +++ b/Test/git-issues/git-issue-1150.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 1 verified, 0 errors Foo.Foo(2) true Foo.Foo(5) false diff --git a/Test/git-issues/git-issue-1185.dfy b/Test/git-issues/git-issue-1185.dfy index c7ad72134d1..32c340b0736 100644 --- a/Test/git-issues/git-issue-1185.dfy +++ b/Test/git-issues/git-issue-1185.dfy @@ -1,5 +1,9 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" predicate P(s: set) requires s != {} diff --git a/Test/git-issues/git-issue-1185.dfy.expect b/Test/git-issues/git-issue-1185.dfy.expect index 525ce875525..90ab58a1f5a 100644 --- a/Test/git-issues/git-issue-1185.dfy.expect +++ b/Test/git-issues/git-issue-1185.dfy.expect @@ -1 +1,14 @@ + +Dafny program verifier finished with 3 verified, 0 errors + +Dafny program verifier did not attempt verification +{12, 20} true 6 + +Dafny program verifier did not attempt verification +{20, 12} true 6 + +Dafny program verifier did not attempt verification +{12, 20} true 6 + +Dafny program verifier did not attempt verification {12, 20} true 6 diff --git a/Test/git-issues/git-issue-1185.dfy.java.expect b/Test/git-issues/git-issue-1185.dfy.java.expect deleted file mode 100644 index 8ba669ad273..00000000000 --- a/Test/git-issues/git-issue-1185.dfy.java.expect +++ /dev/null @@ -1 +0,0 @@ -{20, 12} true 6 diff --git a/Test/git-issues/git-issue-1514.dfy b/Test/git-issues/git-issue-1514.dfy index 816eadce69b..74b75478609 100644 --- a/Test/git-issues/git-issue-1514.dfy +++ b/Test/git-issues/git-issue-1514.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" include "Wrappers.dfy" import opened Wrappers diff --git a/Test/git-issues/git-issue-1514.dfy.expect b/Test/git-issues/git-issue-1514.dfy.expect index b5754e20373..2f22d47cee8 100644 --- a/Test/git-issues/git-issue-1514.dfy.expect +++ b/Test/git-issues/git-issue-1514.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-1514b.dfy b/Test/git-issues/git-issue-1514b.dfy index 050a4a71760..1d8cd122d28 100644 --- a/Test/git-issues/git-issue-1514b.dfy +++ b/Test/git-issues/git-issue-1514b.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" include "Wrappers.dfy" import opened Wrappers diff --git a/Test/git-issues/git-issue-1514b.dfy.expect b/Test/git-issues/git-issue-1514b.dfy.expect index b5754e20373..2f22d47cee8 100644 --- a/Test/git-issues/git-issue-1514b.dfy.expect +++ b/Test/git-issues/git-issue-1514b.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-1514c.dfy b/Test/git-issues/git-issue-1514c.dfy index 578316f217c..d9df7d108c1 100644 --- a/Test/git-issues/git-issue-1514c.dfy +++ b/Test/git-issues/git-issue-1514c.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" include "Wrappers.dfy" import opened Wrappers diff --git a/Test/git-issues/git-issue-1514c.dfy.expect b/Test/git-issues/git-issue-1514c.dfy.expect index 9766475a418..694254c28aa 100644 --- a/Test/git-issues/git-issue-1514c.dfy.expect +++ b/Test/git-issues/git-issue-1514c.dfy.expect @@ -1 +1,8 @@ + +Dafny program verifier finished with 3 verified, 0 errors + +Dafny program verifier did not attempt verification +ok + +Dafny program verifier did not attempt verification ok diff --git a/Test/git-issues/git-issue-1553.dfy b/Test/git-issues/git-issue-1553.dfy index 81cbef7aa7e..6267018c92d 100644 --- a/Test/git-issues/git-issue-1553.dfy +++ b/Test/git-issues/git-issue-1553.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { } method Test() { diff --git a/Test/git-issues/git-issue-1553.dfy.expect b/Test/git-issues/git-issue-1553.dfy.expect index e69de29bb2d..65d3b5d6635 100644 --- a/Test/git-issues/git-issue-1553.dfy.expect +++ b/Test/git-issues/git-issue-1553.dfy.expect @@ -0,0 +1,10 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-1604b.dfy b/Test/git-issues/git-issue-1604b.dfy index d7c4169ec60..497ee5017d5 100644 --- a/Test/git-issues/git-issue-1604b.dfy +++ b/Test/git-issues/git-issue-1604b.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --error-limit:0 --relax-definite-assignment +// RUN: %dafny /compile:3 /errorLimit:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Double constraints. Will this still work? diff --git a/Test/git-issues/git-issue-1604b.dfy.expect b/Test/git-issues/git-issue-1604b.dfy.expect index b5754e20373..93d7203e654 100644 --- a/Test/git-issues/git-issue-1604b.dfy.expect +++ b/Test/git-issues/git-issue-1604b.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 5 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-1714.dfy b/Test/git-issues/git-issue-1714.dfy index 540a41c39cb..6ce8915a7af 100644 --- a/Test/git-issues/git-issue-1714.dfy +++ b/Test/git-issues/git-issue-1714.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" +// RUN: %diff "%s.expect" "%t" trait Base {} class Derived extends Base { var n: int constructor() { n := 0; } } diff --git a/Test/git-issues/git-issue-1714.dfy.expect b/Test/git-issues/git-issue-1714.dfy.expect index 88039063d09..67dd7d95642 100644 --- a/Test/git-issues/git-issue-1714.dfy.expect +++ b/Test/git-issues/git-issue-1714.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors (b as Derived).n == 0 diff --git a/Test/git-issues/git-issue-1815a.dfy b/Test/git-issues/git-issue-1815a.dfy index 72d55a1cb4f..91fb7a32aa6 100644 --- a/Test/git-issues/git-issue-1815a.dfy +++ b/Test/git-issues/git-issue-1815a.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Dt<+U> = Dt(x: U, i: int) diff --git a/Test/git-issues/git-issue-1815a.dfy.expect b/Test/git-issues/git-issue-1815a.dfy.expect index 19f86f493ab..7b2651302d9 100644 --- a/Test/git-issues/git-issue-1815a.dfy.expect +++ b/Test/git-issues/git-issue-1815a.dfy.expect @@ -1 +1,17 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification +done + +Dafny program verifier did not attempt verification +done + +Dafny program verifier did not attempt verification +done + +Dafny program verifier did not attempt verification +done + +Dafny program verifier did not attempt verification done diff --git a/Test/git-issues/git-issue-1852.dfy b/Test/git-issues/git-issue-1852.dfy index 046f3fca1fc..516835e8ea8 100644 --- a/Test/git-issues/git-issue-1852.dfy +++ b/Test/git-issues/git-issue-1852.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" module A { export diff --git a/Test/git-issues/git-issue-1852.dfy.expect b/Test/git-issues/git-issue-1852.dfy.expect index 299a71f3fe4..e9cd0ea2e07 100644 --- a/Test/git-issues/git-issue-1852.dfy.expect +++ b/Test/git-issues/git-issue-1852.dfy.expect @@ -1 +1,8 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification +5 5 + +Dafny program verifier did not attempt verification 5 5 diff --git a/Test/git-issues/git-issue-1903.dfy b/Test/git-issues/git-issue-1903.dfy index 60ee1c121ab..7edb2a46c61 100644 --- a/Test/git-issues/git-issue-1903.dfy +++ b/Test/git-issues/git-issue-1903.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method g(x : seq := []) { diff --git a/Test/git-issues/git-issue-1903.dfy.expect b/Test/git-issues/git-issue-1903.dfy.expect index 84cc8d360f9..3170fb0c7f2 100644 --- a/Test/git-issues/git-issue-1903.dfy.expect +++ b/Test/git-issues/git-issue-1903.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 1 verified, 0 errors worked! diff --git a/Test/git-issues/git-issue-1909.dfy b/Test/git-issues/git-issue-1909.dfy index 83d9ec1d785..7fb5b3b8c48 100644 --- a/Test/git-issues/git-issue-1909.dfy +++ b/Test/git-issues/git-issue-1909.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype ABC = ABC(nameonly a: int, nameonly b: int, nameonly c: int) diff --git a/Test/git-issues/git-issue-1909.dfy.expect b/Test/git-issues/git-issue-1909.dfy.expect index ab6f7d69d36..b4eb7e7774e 100644 --- a/Test/git-issues/git-issue-1909.dfy.expect +++ b/Test/git-issues/git-issue-1909.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 1 verified, 0 errors ABC.ABC(19, 21, 23) ABC.ABC(19, 42, 23) ABC.ABC(100, 42, 90) diff --git a/Test/git-issues/git-issue-2013.dfy b/Test/git-issues/git-issue-2013.dfy index 1f3962988ee..d1d3e15880e 100644 --- a/Test/git-issues/git-issue-2013.dfy +++ b/Test/git-issues/git-issue-2013.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/git-issues/git-issue-2013.dfy.expect b/Test/git-issues/git-issue-2013.dfy.expect index 22e56ce7263..7ff6ce957cf 100644 --- a/Test/git-issues/git-issue-2013.dfy.expect +++ b/Test/git-issues/git-issue-2013.dfy.expect @@ -1,3 +1,55 @@ + +Dafny program verifier finished with 12 verified, 0 errors + +Dafny program verifier did not attempt verification +16 +16 +12 30 30 +Result.Success(8) Result.Failure(_module.MyClassException) +{100} {100} {100} +{MoreTests.C} {MoreTests.C} {MoreTests.C} +100 100 100 +MoreTests.C MoreTests.C MoreTests.C +Conveyance.NonVariantResult.NVSuccess(Conveyance.Car) Conveyance.CovariantResult.CVSuccess(Conveyance.Car) +M.Stream.Next + +Dafny program verifier did not attempt verification +16 +16 +12 30 30 +Result.Success(8) Result.Failure(_module.MyClassException) +{100} {100} {100} +{MoreTests.C} {MoreTests.C} {MoreTests.C} +100 100 100 +MoreTests.C MoreTests.C MoreTests.C +Conveyance.NonVariantResult.NVSuccess(Conveyance.Car) Conveyance.CovariantResult.CVSuccess(Conveyance.Car) +M.Stream.Next + +Dafny program verifier did not attempt verification +16 +16 +12 30 30 +Result.Success(8) Result.Failure(_module.MyClassException) +{100} {100} {100} +{MoreTests.C} {MoreTests.C} {MoreTests.C} +100 100 100 +MoreTests.C MoreTests.C MoreTests.C +Conveyance.NonVariantResult.NVSuccess(Conveyance.Car) Conveyance.CovariantResult.CVSuccess(Conveyance.Car) +M.Stream.Next + +Dafny program verifier did not attempt verification +16 +16 +12 30 30 +Result.Success(8) Result.Failure(_module.MyClassException) +{100} {100} {100} +{MoreTests.C} {MoreTests.C} {MoreTests.C} +100 100 100 +MoreTests.C MoreTests.C MoreTests.C +Conveyance.NonVariantResult.NVSuccess(Conveyance.Car) Conveyance.CovariantResult.CVSuccess(Conveyance.Car) +M.Stream.Next + +Dafny program verifier did not attempt verification 16 16 12 30 30 diff --git a/Test/git-issues/git-issue-2441.dfy b/Test/git-issues/git-issue-2441.dfy index 4179ecc87bc..bc9c8721ee2 100644 --- a/Test/git-issues/git-issue-2441.dfy +++ b/Test/git-issues/git-issue-2441.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype A = A(B: B) datatype B = X diff --git a/Test/git-issues/git-issue-2441.dfy.expect b/Test/git-issues/git-issue-2441.dfy.expect index e69de29bb2d..0c3f603d584 100644 --- a/Test/git-issues/git-issue-2441.dfy.expect +++ b/Test/git-issues/git-issue-2441.dfy.expect @@ -0,0 +1,6 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-2510.dfy b/Test/git-issues/git-issue-2510.dfy index 11ee2877bb3..22ef8e47058 100644 --- a/Test/git-issues/git-issue-2510.dfy +++ b/Test/git-issues/git-issue-2510.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:4 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" /// Check that the compiler accepts `:- assume {:axiom} …`. diff --git a/Test/git-issues/git-issue-2510.dfy.expect b/Test/git-issues/git-issue-2510.dfy.expect index 56a6051ca2b..b341a39a78d 100644 --- a/Test/git-issues/git-issue-2510.dfy.expect +++ b/Test/git-issues/git-issue-2510.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors 1 \ No newline at end of file diff --git a/Test/git-issues/git-issue-2608.dfy b/Test/git-issues/git-issue-2608.dfy index c606177f94f..459c9ffbf94 100644 --- a/Test/git-issues/git-issue-2608.dfy +++ b/Test/git-issues/git-issue-2608.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /compileTarget:js "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method GetNext(i: int) returns (j: int, possible: bool) { if i == 1 { diff --git a/Test/git-issues/git-issue-2608.dfy.expect b/Test/git-issues/git-issue-2608.dfy.expect index d9ed583f710..dce7ba1814a 100644 --- a/Test/git-issues/git-issue-2608.dfy.expect +++ b/Test/git-issues/git-issue-2608.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors 82411246231944714271214 \ No newline at end of file diff --git a/Test/git-issues/git-issue-262.dfy b/Test/git-issues/git-issue-262.dfy index 22d9a31b2fe..2c00ad94a39 100644 --- a/Test/git-issues/git-issue-262.dfy +++ b/Test/git-issues/git-issue-262.dfy @@ -1,5 +1,8 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" +// RUN: %dafny /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" function tst(x: nat): nat { x + 1 diff --git a/Test/git-issues/git-issue-262.dfy.expect b/Test/git-issues/git-issue-262.dfy.expect index 41d8cd55158..76af42cd4a3 100644 --- a/Test/git-issues/git-issue-262.dfy.expect +++ b/Test/git-issues/git-issue-262.dfy.expect @@ -1,2 +1,20 @@ + +Dafny program verifier finished with 2 verified, 0 errors System.Func`2[System.Numerics.BigInteger,System.Numerics.BigInteger] System.Func`2[System.Numerics.BigInteger,System.Numerics.BigInteger] + +Dafny program verifier finished with 2 verified, 0 errors +tst(x) { + return (x).plus(_dafny.ONE); + } +tst(x) { + return (x).plus(_dafny.ONE); + } + +Dafny program verifier finished with 2 verified, 0 errors +func(dafny.Int) dafny.Int +func(dafny.Int) dafny.Int + +Dafny program verifier finished with 2 verified, 0 errors +Function +Function diff --git a/Test/git-issues/git-issue-262.dfy.go.expect b/Test/git-issues/git-issue-262.dfy.go.expect deleted file mode 100644 index 578754c176c..00000000000 --- a/Test/git-issues/git-issue-262.dfy.go.expect +++ /dev/null @@ -1,2 +0,0 @@ -func(dafny.Int) dafny.Int -func(dafny.Int) dafny.Int diff --git a/Test/git-issues/git-issue-262.dfy.java.expect b/Test/git-issues/git-issue-262.dfy.java.expect deleted file mode 100644 index aa5478ef8c9..00000000000 --- a/Test/git-issues/git-issue-262.dfy.java.expect +++ /dev/null @@ -1,2 +0,0 @@ -Function -Function diff --git a/Test/git-issues/git-issue-262.dfy.js.expect b/Test/git-issues/git-issue-262.dfy.js.expect deleted file mode 100644 index e181ef2fef8..00000000000 --- a/Test/git-issues/git-issue-262.dfy.js.expect +++ /dev/null @@ -1,6 +0,0 @@ -tst(x) { - return (x).plus(_dafny.ONE); - } -tst(x) { - return (x).plus(_dafny.ONE); - } diff --git a/Test/git-issues/git-issue-267.dfy b/Test/git-issues/git-issue-267.dfy index 2b0b3281589..cef2fcc6c17 100644 --- a/Test/git-issues/git-issue-267.dfy +++ b/Test/git-issues/git-issue-267.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var c := 1; diff --git a/Test/git-issues/git-issue-267.dfy.expect b/Test/git-issues/git-issue-267.dfy.expect index cd7da05e3d2..d71aef2f440 100644 --- a/Test/git-issues/git-issue-267.dfy.expect +++ b/Test/git-issues/git-issue-267.dfy.expect @@ -1 +1,14 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification +210 + +Dafny program verifier did not attempt verification +210 + +Dafny program verifier did not attempt verification +210 + +Dafny program verifier did not attempt verification 210 diff --git a/Test/git-issues/git-issue-2672.dfy b/Test/git-issues/git-issue-2672.dfy index 52c5b9c638c..338299ee8b7 100644 --- a/Test/git-issues/git-issue-2672.dfy +++ b/Test/git-issues/git-issue-2672.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" newtype sreal = r: real | r > -4 as real newtype sint = r: int | r > -4 as int diff --git a/Test/git-issues/git-issue-2672.dfy.expect b/Test/git-issues/git-issue-2672.dfy.expect index 43440a83d53..c9c3244b6f4 100644 --- a/Test/git-issues/git-issue-2672.dfy.expect +++ b/Test/git-issues/git-issue-2672.dfy.expect @@ -1,3 +1,47 @@ + +Dafny program verifier finished with 5 verified, 0 errors + +Dafny program verifier did not attempt verification +true true true true true true true true true true +false false false false false false false false false false +false false false false false false false false false false +true true true true true true true true true true +true true true true true true true true true true +false false false false false false false false false false +true true true +false false false + +Dafny program verifier did not attempt verification +true true true true true true true true true true +false false false false false false false false false false +false false false false false false false false false false +true true true true true true true true true true +true true true true true true true true true true +false false false false false false false false false false +true true true +false false false + +Dafny program verifier did not attempt verification +true true true true true true true true true true +false false false false false false false false false false +false false false false false false false false false false +true true true true true true true true true true +true true true true true true true true true true +false false false false false false false false false false +true true true +false false false + +Dafny program verifier did not attempt verification +true true true true true true true true true true +false false false false false false false false false false +false false false false false false false false false false +true true true true true true true true true true +true true true true true true true true true true +false false false false false false false false false false +true true true +false false false + +Dafny program verifier did not attempt verification true true true true true true true true true true false false false false false false false false false false false false false false false false false false false false diff --git a/Test/git-issues/git-issue-2726a.dfy b/Test/git-issues/git-issue-2726a.dfy index a43d5dd0107..641fefbbdc4 100644 --- a/Test/git-issues/git-issue-2726a.dfy +++ b/Test/git-issues/git-issue-2726a.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /compileTarget:cs "%s" > "%t" +// RUN: %diff "%s.expect" "%t" const digits := ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"] diff --git a/Test/git-issues/git-issue-2726a.dfy.expect b/Test/git-issues/git-issue-2726a.dfy.expect index 8e1bedb2a64..6985935c88c 100644 --- a/Test/git-issues/git-issue-2726a.dfy.expect +++ b/Test/git-issues/git-issue-2726a.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 1 verified, 0 errors 4 42 422 diff --git a/Test/git-issues/git-issue-2733.dfy b/Test/git-issues/git-issue-2733.dfy index 65bc2b991fd..232eab3cc74 100644 --- a/Test/git-issues/git-issue-2733.dfy +++ b/Test/git-issues/git-issue-2733.dfy @@ -1,4 +1,11 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cpp "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { print "XYZ"; // Checks that no extra newline is added to the output diff --git a/Test/git-issues/git-issue-2733.dfy.expect b/Test/git-issues/git-issue-2733.dfy.expect index 77bf25132db..b139e2f3d58 100644 --- a/Test/git-issues/git-issue-2733.dfy.expect +++ b/Test/git-issues/git-issue-2733.dfy.expect @@ -1 +1,15 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification +XYZ +Dafny program verifier did not attempt verification +XYZ +Dafny program verifier did not attempt verification +XYZ +Dafny program verifier did not attempt verification +XYZ +Dafny program verifier did not attempt verification +XYZ +Dafny program verifier did not attempt verification XYZ \ No newline at end of file diff --git a/Test/git-issues/git-issue-2792.dfy b/Test/git-issues/git-issue-2792.dfy index d2fb9db2055..89e736667c0 100644 --- a/Test/git-issues/git-issue-2792.dfy +++ b/Test/git-issues/git-issue-2792.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /compileTarget:java "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Wrapper = Wrapper(s: seq) { diff --git a/Test/git-issues/git-issue-2792.dfy.expect b/Test/git-issues/git-issue-2792.dfy.expect index ca1683c3020..c1e603c58fe 100644 --- a/Test/git-issues/git-issue-2792.dfy.expect +++ b/Test/git-issues/git-issue-2792.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 0 verified, 0 errors [] Wrapper2.Wrapper2([], 2792) diff --git a/Test/git-issues/git-issue-283.dfy b/Test/git-issues/git-issue-283.dfy index 1ca6d48d32c..c7c10f4aea3 100644 --- a/Test/git-issues/git-issue-283.dfy +++ b/Test/git-issues/git-issue-283.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Result = | Success(value: T) diff --git a/Test/git-issues/git-issue-283.dfy.expect b/Test/git-issues/git-issue-283.dfy.expect index a965a70ed4e..2adb114b8a0 100644 --- a/Test/git-issues/git-issue-283.dfy.expect +++ b/Test/git-issues/git-issue-283.dfy.expect @@ -1 +1,14 @@ + +Dafny program verifier finished with 9 verified, 0 errors + +Dafny program verifier did not attempt verification +Done + +Dafny program verifier did not attempt verification +Done + +Dafny program verifier did not attempt verification +Done + +Dafny program verifier did not attempt verification Done diff --git a/Test/git-issues/git-issue-283d.dfy b/Test/git-issues/git-issue-283d.dfy index 46c1056d5e1..54ee58fb456 100644 --- a/Test/git-issues/git-issue-283d.dfy +++ b/Test/git-issues/git-issue-283d.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Foo = R(v: int) diff --git a/Test/git-issues/git-issue-283d.dfy.expect b/Test/git-issues/git-issue-283d.dfy.expect index e69de29bb2d..8da23be5c8c 100644 --- a/Test/git-issues/git-issue-283d.dfy.expect +++ b/Test/git-issues/git-issue-283d.dfy.expect @@ -0,0 +1,10 @@ + +Dafny program verifier finished with 4 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-314.dfy b/Test/git-issues/git-issue-314.dfy index a7fc06564a5..5e3e93ca654 100644 --- a/Test/git-issues/git-issue-314.dfy +++ b/Test/git-issues/git-issue-314.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype S = S(G: array) datatype T = T(F: array, ghost Repr: set) diff --git a/Test/git-issues/git-issue-314.dfy.expect b/Test/git-issues/git-issue-314.dfy.expect index e69de29bb2d..f02fc57989a 100644 --- a/Test/git-issues/git-issue-314.dfy.expect +++ b/Test/git-issues/git-issue-314.dfy.expect @@ -0,0 +1,10 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-332.dfy b/Test/git-issues/git-issue-332.dfy index 5166441405d..ca2b08f3e8d 100644 --- a/Test/git-issues/git-issue-332.dfy +++ b/Test/git-issues/git-issue-332.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var foo := new B.Foo(15); diff --git a/Test/git-issues/git-issue-332.dfy.expect b/Test/git-issues/git-issue-332.dfy.expect index 209e3ef4b62..57cad39addf 100644 --- a/Test/git-issues/git-issue-332.dfy.expect +++ b/Test/git-issues/git-issue-332.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 6 verified, 0 errors 20 diff --git a/Test/git-issues/git-issue-354.dfy b/Test/git-issues/git-issue-354.dfy index c3d63021209..5938c2f71ae 100644 --- a/Test/git-issues/git-issue-354.dfy +++ b/Test/git-issues/git-issue-354.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" class C { static const u: X diff --git a/Test/git-issues/git-issue-354.dfy.expect b/Test/git-issues/git-issue-354.dfy.expect index 4368562357f..cb5ae21dc46 100644 --- a/Test/git-issues/git-issue-354.dfy.expect +++ b/Test/git-issues/git-issue-354.dfy.expect @@ -1,3 +1,25 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification +0 +0 +0.0 +false + +Dafny program verifier did not attempt verification +0 +0 +0.0 +false + +Dafny program verifier did not attempt verification +0 +0 +0.0 +false + +Dafny program verifier did not attempt verification 0 0 0.0 diff --git a/Test/git-issues/git-issue-356.dfy b/Test/git-issues/git-issue-356.dfy index 2d497c0531c..f5c34b0803b 100644 --- a/Test/git-issues/git-issue-356.dfy +++ b/Test/git-issues/git-issue-356.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" module M { type Tx = i: int | 0 <= i <= 100 diff --git a/Test/git-issues/git-issue-356.dfy.expect b/Test/git-issues/git-issue-356.dfy.expect index 9d984ec4ef4..cff4ed233e1 100644 --- a/Test/git-issues/git-issue-356.dfy.expect +++ b/Test/git-issues/git-issue-356.dfy.expect @@ -1,3 +1,39 @@ + +Dafny program verifier finished with 25 verified, 0 errors + +Dafny program verifier did not attempt verification +a d 57005 * * +Z 90 90.0 90 90 +* 42 42.0 42 42 +F 70 70.0 70 70 +# 35 35.0 35 35 +END + +Dafny program verifier did not attempt verification +a d 57005 * * +Z 90 90.0 90 90 +* 42 42.0 42 42 +F 70 70.0 70 70 +# 35 35.0 35 35 +END + +Dafny program verifier did not attempt verification +a d 57005 * * +Z 90 90.0 90 90 +* 42 42.0 42 42 +F 70 70.0 70 70 +# 35 35.0 35 35 +END + +Dafny program verifier did not attempt verification +a d 57005 * * +Z 90 90.0 90 90 +* 42 42.0 42 42 +F 70 70.0 70 70 +# 35 35.0 35 35 +END + +Dafny program verifier did not attempt verification a d 57005 * * Z 90 90.0 90 90 * 42 42.0 42 42 diff --git a/Test/git-issues/git-issue-364.dfy b/Test/git-issues/git-issue-364.dfy index 68c75931746..0fdedc7d9c0 100644 --- a/Test/git-issues/git-issue-364.dfy +++ b/Test/git-issues/git-issue-364.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype NatOutcome = | Success(value: nat) diff --git a/Test/git-issues/git-issue-364.dfy.expect b/Test/git-issues/git-issue-364.dfy.expect index 38478c6c688..1368349d437 100644 --- a/Test/git-issues/git-issue-364.dfy.expect +++ b/Test/git-issues/git-issue-364.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 4 verified, 0 errors NatOutcome.Success(55) false 55 12 0 NatOutcome.Failure("it could be worse") true NatOutcome.Failure("it could be worse") diff --git a/Test/git-issues/git-issue-374.dfy b/Test/git-issues/git-issue-374.dfy index 15b56ec6396..4c031b7d3ff 100644 --- a/Test/git-issues/git-issue-374.dfy +++ b/Test/git-issues/git-issue-374.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" class C { constructor(ghost x: int) diff --git a/Test/git-issues/git-issue-374.dfy.expect b/Test/git-issues/git-issue-374.dfy.expect index e69de29bb2d..f02fc57989a 100644 --- a/Test/git-issues/git-issue-374.dfy.expect +++ b/Test/git-issues/git-issue-374.dfy.expect @@ -0,0 +1,10 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-396.dfy b/Test/git-issues/git-issue-396.dfy index 7866d3d0498..2ab68e51e12 100644 --- a/Test/git-issues/git-issue-396.dfy +++ b/Test/git-issues/git-issue-396.dfy @@ -1,4 +1,8 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" +// RUN: %dafny /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Foo = Bar(value: int) diff --git a/Test/git-issues/git-issue-396.dfy.expect b/Test/git-issues/git-issue-396.dfy.expect index dee79f10940..3dd340d3178 100644 --- a/Test/git-issues/git-issue-396.dfy.expect +++ b/Test/git-issues/git-issue-396.dfy.expect @@ -1 +1,12 @@ + +Dafny program verifier finished with 1 verified, 0 errors +114 + +Dafny program verifier finished with 1 verified, 0 errors +114 + +Dafny program verifier finished with 1 verified, 0 errors +114 + +Dafny program verifier finished with 1 verified, 0 errors 114 diff --git a/Test/git-issues/git-issue-4007.dfy b/Test/git-issues/git-issue-4007.dfy index 5a279e7b8e6..e4c25b82bb8 100644 --- a/Test/git-issues/git-issue-4007.dfy +++ b/Test/git-issues/git-issue-4007.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:4 /compileTarget:py "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var a := 0; @@ -6,4 +7,4 @@ method Main() { a := a + 1; } print a, "\n"; -} +} \ No newline at end of file diff --git a/Test/git-issues/git-issue-4007.dfy.expect b/Test/git-issues/git-issue-4007.dfy.expect index 00750edc07d..3ce6919d35b 100644 --- a/Test/git-issues/git-issue-4007.dfy.expect +++ b/Test/git-issues/git-issue-4007.dfy.expect @@ -1 +1,4 @@ +git-issue-4007.dfy(6,20): Warning: /!\ No terms found to trigger on. + +Dafny program verifier finished with 1 verified, 0 errors 3 diff --git a/Test/git-issues/git-issue-4007.dfy.verifier.expect b/Test/git-issues/git-issue-4007.dfy.verifier.expect deleted file mode 100644 index 1d4310d09b5..00000000000 --- a/Test/git-issues/git-issue-4007.dfy.verifier.expect +++ /dev/null @@ -1 +0,0 @@ -git-issue-4007.dfy(5,20): Warning: /!\ No terms found to trigger on. diff --git a/Test/git-issues/git-issue-4012.dfy b/Test/git-issues/git-issue-4012.dfy index 5360c0e935b..e065393a211 100644 --- a/Test/git-issues/git-issue-4012.dfy +++ b/Test/git-issues/git-issue-4012.dfy @@ -1,7 +1,8 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:4 /compileTarget:py "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var x: multiset := multiset{}; x := x[1 := 18446744073709551616]; print |x|, "\n"; -} +} \ No newline at end of file diff --git a/Test/git-issues/git-issue-4012.dfy.expect b/Test/git-issues/git-issue-4012.dfy.expect index ab69b99fab4..230fbdbd384 100644 --- a/Test/git-issues/git-issue-4012.dfy.expect +++ b/Test/git-issues/git-issue-4012.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 1 verified, 0 errors 18446744073709551616 diff --git a/Test/git-issues/git-issue-425.dfy b/Test/git-issues/git-issue-425.dfy index 122a10e4fbb..4e555daaed0 100644 --- a/Test/git-issues/git-issue-425.dfy +++ b/Test/git-issues/git-issue-425.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method M() returns (x: int, ghost y: int) { return 42, 43; diff --git a/Test/git-issues/git-issue-425.dfy.expect b/Test/git-issues/git-issue-425.dfy.expect index daaac9e3030..c2284013d9e 100644 --- a/Test/git-issues/git-issue-425.dfy.expect +++ b/Test/git-issues/git-issue-425.dfy.expect @@ -1,2 +1,18 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification +42 +42 + +Dafny program verifier did not attempt verification +42 +42 + +Dafny program verifier did not attempt verification +42 +42 + +Dafny program verifier did not attempt verification 42 42 diff --git a/Test/git-issues/git-issue-443.dfy b/Test/git-issues/git-issue-443.dfy index 6702e37484f..e8745b5ddda 100644 --- a/Test/git-issues/git-issue-443.dfy +++ b/Test/git-issues/git-issue-443.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { print F(), " ", G(802.11), "\n"; // 12 15 diff --git a/Test/git-issues/git-issue-443.dfy.expect b/Test/git-issues/git-issue-443.dfy.expect index 0b64712fdcf..10af01216da 100644 --- a/Test/git-issues/git-issue-443.dfy.expect +++ b/Test/git-issues/git-issue-443.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors 12 15 diff --git a/Test/git-issues/git-issue-446.dfy b/Test/git-issues/git-issue-446.dfy index a66a9272d18..0656587fd03 100644 --- a/Test/git-issues/git-issue-446.dfy +++ b/Test/git-issues/git-issue-446.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Result = Success(value: T) | Failure(error: string) { diff --git a/Test/git-issues/git-issue-446.dfy.expect b/Test/git-issues/git-issue-446.dfy.expect index 8165c2056d0..18195d22344 100644 --- a/Test/git-issues/git-issue-446.dfy.expect +++ b/Test/git-issues/git-issue-446.dfy.expect @@ -1,3 +1,22 @@ + +Dafny program verifier finished with 9 verified, 0 errors + +Dafny program verifier did not attempt verification +true -2 +true 42 +End + +Dafny program verifier did not attempt verification +true -2 +true 42 +End + +Dafny program verifier did not attempt verification +true -2 +true 42 +End + +Dafny program verifier did not attempt verification true -2 true 42 End diff --git a/Test/git-issues/git-issue-446a.dfy b/Test/git-issues/git-issue-446a.dfy index 2c559cea76d..41917680fee 100644 --- a/Test/git-issues/git-issue-446a.dfy +++ b/Test/git-issues/git-issue-446a.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Result = Success(value: T) | Failure(error: string) { diff --git a/Test/git-issues/git-issue-446a.dfy.expect b/Test/git-issues/git-issue-446a.dfy.expect index 9897e1c3f56..fbf9ee6f31d 100644 --- a/Test/git-issues/git-issue-446a.dfy.expect +++ b/Test/git-issues/git-issue-446a.dfy.expect @@ -1,3 +1,22 @@ + +Dafny program verifier finished with 9 verified, 0 errors + +Dafny program verifier did not attempt verification +OK +true OK +true -2 End + +Dafny program verifier did not attempt verification +OK +true OK +true -2 End + +Dafny program verifier did not attempt verification +OK +true OK +true -2 End + +Dafny program verifier did not attempt verification OK true OK true -2 End diff --git a/Test/git-issues/git-issue-446b.dfy b/Test/git-issues/git-issue-446b.dfy index 79e55d9a1f8..aa7ac30d9a7 100644 --- a/Test/git-issues/git-issue-446b.dfy +++ b/Test/git-issues/git-issue-446b.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Result = Success(value: T) | Failure(error: string) { diff --git a/Test/git-issues/git-issue-446b.dfy.expect b/Test/git-issues/git-issue-446b.dfy.expect index 36fdd8ba47b..0e99363fdb9 100644 --- a/Test/git-issues/git-issue-446b.dfy.expect +++ b/Test/git-issues/git-issue-446b.dfy.expect @@ -1,3 +1,28 @@ + +Dafny program verifier finished with 10 verified, 0 errors + +Dafny program verifier did not attempt verification +OK +true OK +true -2 +true 100 +End + +Dafny program verifier did not attempt verification +OK +true OK +true -2 +true 100 +End + +Dafny program verifier did not attempt verification +OK +true OK +true -2 +true 100 +End + +Dafny program verifier did not attempt verification OK true OK true -2 diff --git a/Test/git-issues/git-issue-478-good.dfy b/Test/git-issues/git-issue-478-good.dfy index 9abce41e97c..b3fab26a312 100644 --- a/Test/git-issues/git-issue-478-good.dfy +++ b/Test/git-issues/git-issue-478-good.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // By first defining import LibA and then defining a module LibA, // the latter used to generate: diff --git a/Test/git-issues/git-issue-478-good.dfy.expect b/Test/git-issues/git-issue-478-good.dfy.expect index 6807b84eba5..17aea610943 100644 --- a/Test/git-issues/git-issue-478-good.dfy.expect +++ b/Test/git-issues/git-issue-478-good.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 1 verified, 0 errors hello hello hi diff --git a/Test/git-issues/git-issue-506.dfy b/Test/git-issues/git-issue-506.dfy index b2a409951a1..d25596621de 100644 --- a/Test/git-issues/git-issue-506.dfy +++ b/Test/git-issues/git-issue-506.dfy @@ -1,4 +1,8 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" +// RUN: %dafny /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/git-issues/git-issue-506.dfy.expect b/Test/git-issues/git-issue-506.dfy.expect index ef2606ec5dc..e2bb6d644d9 100644 --- a/Test/git-issues/git-issue-506.dfy.expect +++ b/Test/git-issues/git-issue-506.dfy.expect @@ -1,3 +1,29 @@ + +Dafny program verifier finished with 2 verified, 0 errors +7 301 +8 391 +2 2 +4 5 +6 7 +2 3 7 0 + +Dafny program verifier finished with 2 verified, 0 errors +7 301 +8 391 +2 2 +4 5 +6 7 +2 3 7 0 + +Dafny program verifier finished with 2 verified, 0 errors +7 301 +8 391 +2 2 +4 5 +6 7 +2 3 7 0 + +Dafny program verifier finished with 2 verified, 0 errors 7 301 8 391 2 2 diff --git a/Test/git-issues/git-issue-532.dfy b/Test/git-issues/git-issue-532.dfy index 2a2b5aaaf2e..3d511dbb4c8 100644 --- a/Test/git-issues/git-issue-532.dfy +++ b/Test/git-issues/git-issue-532.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" predicate SuppressNoTriggerWarning(x: X) { true } diff --git a/Test/git-issues/git-issue-532.dfy.expect b/Test/git-issues/git-issue-532.dfy.expect index 0f3ef3de427..1bd9e82cc5a 100644 --- a/Test/git-issues/git-issue-532.dfy.expect +++ b/Test/git-issues/git-issue-532.dfy.expect @@ -1,3 +1,22 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification +t.x=5 The given Tr is a C, and c.y=6 +t.x=100 The given Tr is not a C +t.x=5 The given Tr is a C, and c.y=16 + +Dafny program verifier did not attempt verification +t.x=5 The given Tr is a C, and c.y=6 +t.x=100 The given Tr is not a C +t.x=5 The given Tr is a C, and c.y=16 + +Dafny program verifier did not attempt verification +t.x=5 The given Tr is a C, and c.y=6 +t.x=100 The given Tr is not a C +t.x=5 The given Tr is a C, and c.y=16 + +Dafny program verifier did not attempt verification t.x=5 The given Tr is a C, and c.y=6 t.x=100 The given Tr is not a C t.x=5 The given Tr is a C, and c.y=16 diff --git a/Test/git-issues/git-issue-549.dfy b/Test/git-issues/git-issue-549.dfy index d362a0bd039..2e5ab322f23 100644 --- a/Test/git-issues/git-issue-549.dfy +++ b/Test/git-issues/git-issue-549.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" trait T { function bar(): bv8 diff --git a/Test/git-issues/git-issue-549.dfy.expect b/Test/git-issues/git-issue-549.dfy.expect index 6e0790e778e..3ae509fee5e 100644 --- a/Test/git-issues/git-issue-549.dfy.expect +++ b/Test/git-issues/git-issue-549.dfy.expect @@ -1,2 +1,10 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification +bar() = 1 +bar() = 1 + +Dafny program verifier did not attempt verification bar() = 1 bar() = 1 diff --git a/Test/git-issues/git-issue-622$f.dfy b/Test/git-issues/git-issue-622$f.dfy index 2a7003e0f4e..fe4fdf38e03 100644 --- a/Test/git-issues/git-issue-622$f.dfy +++ b/Test/git-issues/git-issue-622$f.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:3 /compileTarget:java /spillTargetCode:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { } diff --git a/Test/git-issues/git-issue-622$f.dfy.expect b/Test/git-issues/git-issue-622$f.dfy.expect index e69de29bb2d..012f5b99379 100644 --- a/Test/git-issues/git-issue-622$f.dfy.expect +++ b/Test/git-issues/git-issue-622$f.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/git-issues/git-issue-684.dfy b/Test/git-issues/git-issue-684.dfy index 4c2b0a8fa02..b1fbd7ab036 100644 --- a/Test/git-issues/git-issue-684.dfy +++ b/Test/git-issues/git-issue-684.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Level1 = Level1(u:int) datatype Level2 = Level2(u:int, l:Level1) diff --git a/Test/git-issues/git-issue-684.dfy.expect b/Test/git-issues/git-issue-684.dfy.expect index e69de29bb2d..65d3b5d6635 100644 --- a/Test/git-issues/git-issue-684.dfy.expect +++ b/Test/git-issues/git-issue-684.dfy.expect @@ -0,0 +1,10 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-686.dfy b/Test/git-issues/git-issue-686.dfy index 9845ce2b027..bbc975200c8 100644 --- a/Test/git-issues/git-issue-686.dfy +++ b/Test/git-issues/git-issue-686.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Color = Blue | Red diff --git a/Test/git-issues/git-issue-686.dfy.expect b/Test/git-issues/git-issue-686.dfy.expect index c12f8e66df2..f30b0581688 100644 --- a/Test/git-issues/git-issue-686.dfy.expect +++ b/Test/git-issues/git-issue-686.dfy.expect @@ -1 +1,24 @@ +git-issue-686.dfy(13,2): Warning: this branch is redundant +git-issue-686.dfy(21,2): Warning: this branch is redundant + +Dafny program verifier finished with 1 verified, 0 errors +git-issue-686.dfy(13,2): Warning: this branch is redundant +git-issue-686.dfy(21,2): Warning: this branch is redundant + +Dafny program verifier did not attempt verification +6 0 +git-issue-686.dfy(13,2): Warning: this branch is redundant +git-issue-686.dfy(21,2): Warning: this branch is redundant + +Dafny program verifier did not attempt verification +6 0 +git-issue-686.dfy(13,2): Warning: this branch is redundant +git-issue-686.dfy(21,2): Warning: this branch is redundant + +Dafny program verifier did not attempt verification +6 0 +git-issue-686.dfy(13,2): Warning: this branch is redundant +git-issue-686.dfy(21,2): Warning: this branch is redundant + +Dafny program verifier did not attempt verification 6 0 diff --git a/Test/git-issues/git-issue-686.dfy.verifier.expect b/Test/git-issues/git-issue-686.dfy.verifier.expect deleted file mode 100644 index 805bd55730c..00000000000 --- a/Test/git-issues/git-issue-686.dfy.verifier.expect +++ /dev/null @@ -1,2 +0,0 @@ -git-issue-686.dfy(8,2): Warning: this branch is redundant -git-issue-686.dfy(16,2): Warning: this branch is redundant diff --git a/Test/git-issues/git-issue-697.dfy b/Test/git-issues/git-issue-697.dfy index 23cce66dee7..095c1a02399 100644 --- a/Test/git-issues/git-issue-697.dfy +++ b/Test/git-issues/git-issue-697.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Cell = Cell(x: int) type EvenCell = c: Cell | c.x % 2 == 0 witness Cell(0) diff --git a/Test/git-issues/git-issue-697.dfy.expect b/Test/git-issues/git-issue-697.dfy.expect index f32a5804e29..188a72ebc36 100644 --- a/Test/git-issues/git-issue-697.dfy.expect +++ b/Test/git-issues/git-issue-697.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-697b.dfy b/Test/git-issues/git-issue-697b.dfy index cdb054d8d78..cfdd3fd0821 100644 --- a/Test/git-issues/git-issue-697b.dfy +++ b/Test/git-issues/git-issue-697b.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Cell = Cell(x: int) type EvenCell = c: Cell | c.x % 2 == 0 witness Cell(0) diff --git a/Test/git-issues/git-issue-697b.dfy.expect b/Test/git-issues/git-issue-697b.dfy.expect index 9c777ac6a0f..b355409912b 100644 --- a/Test/git-issues/git-issue-697b.dfy.expect +++ b/Test/git-issues/git-issue-697b.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors false 2 diff --git a/Test/git-issues/git-issue-697d.dfy b/Test/git-issues/git-issue-697d.dfy index 8b65c2da4f7..71a262fc985 100644 --- a/Test/git-issues/git-issue-697d.dfy +++ b/Test/git-issues/git-issue-697d.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" function nonGhostPredicate(x: int): bool { x % 2 == 0 diff --git a/Test/git-issues/git-issue-697d.dfy.expect b/Test/git-issues/git-issue-697d.dfy.expect index f32a5804e29..48fb59aeae5 100644 --- a/Test/git-issues/git-issue-697d.dfy.expect +++ b/Test/git-issues/git-issue-697d.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 4 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-697e.dfy b/Test/git-issues/git-issue-697e.dfy index 310851abf9a..e4500bfab28 100644 --- a/Test/git-issues/git-issue-697e.dfy +++ b/Test/git-issues/git-issue-697e.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Cell = Cell(x: int) type EvenCell = c: Cell | c.x % 2 == 0 witness Cell(0) diff --git a/Test/git-issues/git-issue-697e.dfy.expect b/Test/git-issues/git-issue-697e.dfy.expect index e69de29bb2d..00a51f822da 100644 --- a/Test/git-issues/git-issue-697e.dfy.expect +++ b/Test/git-issues/git-issue-697e.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 3 verified, 0 errors diff --git a/Test/git-issues/git-issue-697f.dfy b/Test/git-issues/git-issue-697f.dfy index acb8810dfbf..92d1cec2ed8 100644 --- a/Test/git-issues/git-issue-697f.dfy +++ b/Test/git-issues/git-issue-697f.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" ghost function ghostPredicate(x: int): bool { x % 2 == 0 diff --git a/Test/git-issues/git-issue-697f.dfy.expect b/Test/git-issues/git-issue-697f.dfy.expect index b5754e20373..3e2cf8d0f69 100644 --- a/Test/git-issues/git-issue-697f.dfy.expect +++ b/Test/git-issues/git-issue-697f.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 4 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-697g.dfy b/Test/git-issues/git-issue-697g.dfy index 7b30de7f3a0..c3b7581ff61 100644 --- a/Test/git-issues/git-issue-697g.dfy +++ b/Test/git-issues/git-issue-697g.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" function returnNat(c: nat): int { diff --git a/Test/git-issues/git-issue-697g.dfy.expect b/Test/git-issues/git-issue-697g.dfy.expect index f32a5804e29..d9157fa820a 100644 --- a/Test/git-issues/git-issue-697g.dfy.expect +++ b/Test/git-issues/git-issue-697g.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-698.dfy b/Test/git-issues/git-issue-698.dfy index 7b7a9ca15b8..b15295c9b46 100644 --- a/Test/git-issues/git-issue-698.dfy +++ b/Test/git-issues/git-issue-698.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" type Small = x: int | 0 <= x < 100 && x != 3 diff --git a/Test/git-issues/git-issue-698.dfy.expect b/Test/git-issues/git-issue-698.dfy.expect index 27ba77ddaf6..7f965a65d2e 100644 --- a/Test/git-issues/git-issue-698.dfy.expect +++ b/Test/git-issues/git-issue-698.dfy.expect @@ -1 +1,8 @@ + +Dafny program verifier finished with 3 verified, 0 errors + +Dafny program verifier did not attempt verification +true + +Dafny program verifier did not attempt verification true diff --git a/Test/git-issues/git-issue-698b.dfy b/Test/git-issues/git-issue-698b.dfy index dbdbc3b36d3..1d4a92456e6 100644 --- a/Test/git-issues/git-issue-698b.dfy +++ b/Test/git-issues/git-issue-698b.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" type Small = x: int | 0 <= x < 100 && x != 3 @@ -12,4 +13,4 @@ method Main() { var b := !exists n: Small :: F(n) != 100; assert b; print b; -} +} \ No newline at end of file diff --git a/Test/git-issues/git-issue-698b.dfy.expect b/Test/git-issues/git-issue-698b.dfy.expect index f32a5804e29..188a72ebc36 100644 --- a/Test/git-issues/git-issue-698b.dfy.expect +++ b/Test/git-issues/git-issue-698b.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-701.dfy b/Test/git-issues/git-issue-701.dfy index 38984df4ecf..af19f0d89e2 100644 --- a/Test/git-issues/git-issue-701.dfy +++ b/Test/git-issues/git-issue-701.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var ca := new ClassA; diff --git a/Test/git-issues/git-issue-701.dfy.expect b/Test/git-issues/git-issue-701.dfy.expect index 5198c09cbb1..4d20966e641 100644 --- a/Test/git-issues/git-issue-701.dfy.expect +++ b/Test/git-issues/git-issue-701.dfy.expect @@ -1,3 +1,22 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification +0 0 0 +[] [] [] +C.Nothing C.Nothing C.Nothing + +Dafny program verifier did not attempt verification +0 0 0 +[] [] [] +C.Nothing C.Nothing C.Nothing + +Dafny program verifier did not attempt verification +0 0 0 +[] [] [] +C.Nothing C.Nothing C.Nothing + +Dafny program verifier did not attempt verification 0 0 0 [] [] [] C.Nothing C.Nothing C.Nothing diff --git a/Test/git-issues/git-issue-705.dfy b/Test/git-issues/git-issue-705.dfy index 9c36a336e8e..d4b806800c2 100644 --- a/Test/git-issues/git-issue-705.dfy +++ b/Test/git-issues/git-issue-705.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs /spillTargetCode:3 "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js /spillTargetCode:3 "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go /spillTargetCode:3 "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java /spillTargetCode:3 "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype MyDataType = AAA { function toString(): int { 222 } diff --git a/Test/git-issues/git-issue-705.dfy.expect b/Test/git-issues/git-issue-705.dfy.expect index 79a1eee7c74..02cf409667a 100644 --- a/Test/git-issues/git-issue-705.dfy.expect +++ b/Test/git-issues/git-issue-705.dfy.expect @@ -1 +1,14 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification +MyDataType.AAA 222 + +Dafny program verifier did not attempt verification +MyDataType.AAA 222 + +Dafny program verifier did not attempt verification +MyDataType.AAA 222 + +Dafny program verifier did not attempt verification MyDataType.AAA 222 diff --git a/Test/git-issues/git-issue-731.dfy b/Test/git-issues/git-issue-731.dfy index 348d40fecea..05d02fea1af 100644 --- a/Test/git-issues/git-issue-731.dfy +++ b/Test/git-issues/git-issue-731.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" trait Trait { const y: Y diff --git a/Test/git-issues/git-issue-731.dfy.expect b/Test/git-issues/git-issue-731.dfy.expect index 7554a44901e..69b2e6af648 100644 --- a/Test/git-issues/git-issue-731.dfy.expect +++ b/Test/git-issues/git-issue-731.dfy.expect @@ -1,2 +1,18 @@ + +Dafny program verifier finished with 3 verified, 0 errors + +Dafny program verifier did not attempt verification +0 0 0 42 +0 0 0 9 + +Dafny program verifier did not attempt verification +0 0 0 42 +0 0 0 9 + +Dafny program verifier did not attempt verification +0 0 0 42 +0 0 0 9 + +Dafny program verifier did not attempt verification 0 0 0 42 0 0 0 9 diff --git a/Test/git-issues/git-issue-731b.dfy b/Test/git-issues/git-issue-731b.dfy index 2a0507839a2..a77dbd6323b 100644 --- a/Test/git-issues/git-issue-731b.dfy +++ b/Test/git-issues/git-issue-731b.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // Testing issue#731 when the class in question has type parameters diff --git a/Test/git-issues/git-issue-731b.dfy.expect b/Test/git-issues/git-issue-731b.dfy.expect index dd3226d2b73..97e6c041920 100644 --- a/Test/git-issues/git-issue-731b.dfy.expect +++ b/Test/git-issues/git-issue-731b.dfy.expect @@ -1 +1,14 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification +0 42 + +Dafny program verifier did not attempt verification +0 42 + +Dafny program verifier did not attempt verification +0 42 + +Dafny program verifier did not attempt verification 0 42 diff --git a/Test/git-issues/git-issue-784.dfy b/Test/git-issues/git-issue-784.dfy index 5f6cf59465c..78b83f01064 100644 --- a/Test/git-issues/git-issue-784.dfy +++ b/Test/git-issues/git-issue-784.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype List = Nil | Cons(T, List) { function App(ys: List): List { diff --git a/Test/git-issues/git-issue-784.dfy.expect b/Test/git-issues/git-issue-784.dfy.expect index e69de29bb2d..8da23be5c8c 100644 --- a/Test/git-issues/git-issue-784.dfy.expect +++ b/Test/git-issues/git-issue-784.dfy.expect @@ -0,0 +1,10 @@ + +Dafny program verifier finished with 4 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-953.dfy b/Test/git-issues/git-issue-953.dfy index 9c14e6e4e98..adebc946c35 100644 --- a/Test/git-issues/git-issue-953.dfy +++ b/Test/git-issues/git-issue-953.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" module P { datatype T_ = T() // the underscore in this name once caused a problem in Java compilation diff --git a/Test/git-issues/git-issue-953.dfy.expect b/Test/git-issues/git-issue-953.dfy.expect index 8eec6126a08..8466ea62f3f 100644 --- a/Test/git-issues/git-issue-953.dfy.expect +++ b/Test/git-issues/git-issue-953.dfy.expect @@ -1,3 +1,39 @@ + +Dafny program verifier finished with 6 verified, 0 errors + +Dafny program verifier did not attempt verification +C1.T_.T +P.T_.T +OtherNamesWithSpecialCharacters?_.A?_.A?_ OtherNamesWithSpecialCharacters?_.B?_.B?_ +17 17 0 0 +C2.C.C(10, 11) +9 + +Dafny program verifier did not attempt verification +C1.T_.T +P.T_.T +OtherNamesWithSpecialCharacters?_.A?_.A?_ OtherNamesWithSpecialCharacters?_.B?_.B?_ +17 17 0 0 +C2.C.C(10, 11) +9 + +Dafny program verifier did not attempt verification +C1.T_.T +P.T_.T +OtherNamesWithSpecialCharacters?_.A?_.A?_ OtherNamesWithSpecialCharacters?_.B?_.B?_ +17 17 0 0 +C2.C.C(10, 11) +9 + +Dafny program verifier did not attempt verification +C1.T_.T +P.T_.T +OtherNamesWithSpecialCharacters?_.A?_.A?_ OtherNamesWithSpecialCharacters?_.B?_.B?_ +17 17 0 0 +C2.C.C(10, 11) +9 + +Dafny program verifier did not attempt verification C1.T_.T P.T_.T OtherNamesWithSpecialCharacters?_.A?_.A?_ OtherNamesWithSpecialCharacters?_.B?_.B?_ diff --git a/Test/git-issues/github-issue-3343.dfy b/Test/git-issues/github-issue-3343.dfy index d518b2a1a41..517a11d7fc1 100644 --- a/Test/git-issues/github-issue-3343.dfy +++ b/Test/git-issues/github-issue-3343.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" +// RUN: %baredafny run "%s" -t:java > "%t" +// RUN: %diff "%s.expect" "%t" method Bug() { var zero := 0; var a := new int[zero] []; diff --git a/Test/git-issues/github-issue-3343.dfy.expect b/Test/git-issues/github-issue-3343.dfy.expect index e69de29bb2d..823a60a105c 100644 --- a/Test/git-issues/github-issue-3343.dfy.expect +++ b/Test/git-issues/github-issue-3343.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 1 verified, 0 errors diff --git a/Test/hofs/Compilation.dfy b/Test/hofs/Compilation.dfy index 7e9c674b495..99fd0a36506 100644 --- a/Test/hofs/Compilation.dfy +++ b/Test/hofs/Compilation.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" class Ref { var val : A diff --git a/Test/hofs/Compilation.dfy.expect b/Test/hofs/Compilation.dfy.expect index 6b7187d2557..760fafc6189 100644 --- a/Test/hofs/Compilation.dfy.expect +++ b/Test/hofs/Compilation.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 2 verified, 0 errors 1 = 1 3 = 3 3 = 3 diff --git a/Test/hofs/Examples.dfy b/Test/hofs/Examples.dfy index bebda559221..cdf177c001f 100644 --- a/Test/hofs/Examples.dfy +++ b/Test/hofs/Examples.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" function Apply(f: A ~> B, x: A): B reads f.reads(x) diff --git a/Test/hofs/Examples.dfy.expect b/Test/hofs/Examples.dfy.expect index e69de29bb2d..851aaf58286 100644 --- a/Test/hofs/Examples.dfy.expect +++ b/Test/hofs/Examples.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 7 verified, 0 errors diff --git a/Test/hofs/Fold.dfy b/Test/hofs/Fold.dfy index 96ddb01591f..336f9121b52 100644 --- a/Test/hofs/Fold.dfy +++ b/Test/hofs/Fold.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype List = Nil | Cons(A,List) diff --git a/Test/hofs/Fold.dfy.expect b/Test/hofs/Fold.dfy.expect index 3abcc310618..144ffab92db 100644 --- a/Test/hofs/Fold.dfy.expect +++ b/Test/hofs/Fold.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors 3 = 3 diff --git a/Test/hofs/Renaming.dfy b/Test/hofs/Renaming.dfy index 391c0e79ef6..cf21fdba2f8 100644 --- a/Test/hofs/Renaming.dfy +++ b/Test/hofs/Renaming.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" function OnId(f : (bool -> bool) -> int) : int reads f.reads(x => x) diff --git a/Test/hofs/Renaming.dfy.expect b/Test/hofs/Renaming.dfy.expect index 13a954d9043..e2b6636dbe4 100644 --- a/Test/hofs/Renaming.dfy.expect +++ b/Test/hofs/Renaming.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 4 verified, 0 errors 10 11 diff --git a/Test/hofs/Requires.dfy b/Test/hofs/Requires.dfy index f5e51244184..de5944b6744 100644 --- a/Test/hofs/Requires.dfy +++ b/Test/hofs/Requires.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/hofs/Requires.dfy.expect b/Test/hofs/Requires.dfy.expect index e69de29bb2d..1981561ca00 100644 --- a/Test/hofs/Requires.dfy.expect +++ b/Test/hofs/Requires.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 10 verified, 0 errors diff --git a/Test/hofs/TreeMapSimple.dfy b/Test/hofs/TreeMapSimple.dfy index b7baf6eb8d7..d93aea46403 100644 --- a/Test/hofs/TreeMapSimple.dfy +++ b/Test/hofs/TreeMapSimple.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { TestY(); diff --git a/Test/hofs/TreeMapSimple.dfy.expect b/Test/hofs/TreeMapSimple.dfy.expect index be0317f1016..9224d605f7e 100644 --- a/Test/hofs/TreeMapSimple.dfy.expect +++ b/Test/hofs/TreeMapSimple.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 11 verified, 0 errors Tree.Branch(100, List.Cons(Tree.Branch(50, List.Nil), List.Nil)) Tree.Branch(100, List.Cons(Tree.Branch(50, List.Nil), List.Nil)) diff --git a/Test/hofs/VectorUpdate.dfy b/Test/hofs/VectorUpdate.dfy index 70c0de3084e..848ed585ca6 100644 --- a/Test/hofs/VectorUpdate.dfy +++ b/Test/hofs/VectorUpdate.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // this is a rather verbose version of the VectorUpdate method method VectorUpdate(N: int, a : array, f : (int,A) ~> A) diff --git a/Test/hofs/VectorUpdate.dfy.expect b/Test/hofs/VectorUpdate.dfy.expect index 7645f125857..b8fae39eab8 100644 --- a/Test/hofs/VectorUpdate.dfy.expect +++ b/Test/hofs/VectorUpdate.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 8 verified, 0 errors 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 100, 50, 33, 25, 20, 16, 14, 12, 11, 10 diff --git a/Test/hofs/WhileLoop.dfy b/Test/hofs/WhileLoop.dfy index 914f47f4522..4af9fbd841b 100644 --- a/Test/hofs/WhileLoop.dfy +++ b/Test/hofs/WhileLoop.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" class Ref { var val: A diff --git a/Test/hofs/WhileLoop.dfy.expect b/Test/hofs/WhileLoop.dfy.expect index 83083b451e1..234ac298c9b 100644 --- a/Test/hofs/WhileLoop.dfy.expect +++ b/Test/hofs/WhileLoop.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 4 verified, 0 errors 22 22 22 diff --git a/Test/metatests/OutputEncoding.dfy b/Test/metatests/OutputEncoding.dfy index 59fa53bf298..68c390ac811 100644 --- a/Test/metatests/OutputEncoding.dfy +++ b/Test/metatests/OutputEncoding.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" +// RUN: %baredafny verify %args "%s" > "%t" +// RUN: %baredafny run --no-verify --target=cs %args "%s" >> "%t" +// RUN: %baredafny run --no-verify --target=js %args "%s" >> "%t" +// RUN: %baredafny run --no-verify --target=go %args "%s" >> "%t" +// RUN: %baredafny run --no-verify --target=py %args "%s" >> "%t" +// RUN: %baredafny run --no-verify --target=java %args "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { // This works fine in all languages because € is a single UTF-16 code unit. diff --git a/Test/metatests/OutputEncoding.dfy.expect b/Test/metatests/OutputEncoding.dfy.expect index b25a57298f1..a37241376f3 100644 --- a/Test/metatests/OutputEncoding.dfy.expect +++ b/Test/metatests/OutputEncoding.dfy.expect @@ -1 +1,17 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification +Euro sign: € + +Dafny program verifier did not attempt verification +Euro sign: € + +Dafny program verifier did not attempt verification +Euro sign: € + +Dafny program verifier did not attempt verification +Euro sign: € + +Dafny program verifier did not attempt verification Euro sign: € diff --git a/Test/patterns/OrPatterns.dfy b/Test/patterns/OrPatterns.dfy index 6385bd55c93..4f2610c9379 100644 --- a/Test/patterns/OrPatterns.dfy +++ b/Test/patterns/OrPatterns.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /rprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Enum = One | Two | Three { predicate Even() { diff --git a/Test/patterns/OrPatterns.dfy.expect b/Test/patterns/OrPatterns.dfy.expect index d86bac9de59..a6fce7c4a13 100644 --- a/Test/patterns/OrPatterns.dfy.expect +++ b/Test/patterns/OrPatterns.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 11 verified, 0 errors OK diff --git a/Test/patterns/PatternMatching.dfy b/Test/patterns/PatternMatching.dfy index e8a73b856e4..477126c066a 100644 --- a/Test/patterns/PatternMatching.dfy +++ b/Test/patterns/PatternMatching.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" /* * This file contains a collection of tests for features modified or introduced in PR 458 @@ -221,4 +222,4 @@ method Main() { var r5 := MultipleNestedMatch(A(0), t4, bb); print "Testing MultipleNestedMatch: ", r0, r1, r2, r3, r4, r5, ", should return 012345\n"; -} +} \ No newline at end of file diff --git a/Test/patterns/PatternMatching.dfy.expect b/Test/patterns/PatternMatching.dfy.expect index b4415971ca5..2970273cbfc 100644 --- a/Test/patterns/PatternMatching.dfy.expect +++ b/Test/patterns/PatternMatching.dfy.expect @@ -1,3 +1,6 @@ +PatternMatching.dfy(102,4): Warning: this branch is redundant + +Dafny program verifier finished with 9 verified, 0 errors NestingTest([6]) = 6, should return 6 NestedVariableTest([2::3::4::5::6]) = 0, should return 0 ConstantTest([3::4::5::6]) = 2, should return 2 diff --git a/Test/patterns/PatternMatching.dfy.verifier.expect b/Test/patterns/PatternMatching.dfy.verifier.expect deleted file mode 100644 index b486aadfb80..00000000000 --- a/Test/patterns/PatternMatching.dfy.verifier.expect +++ /dev/null @@ -1 +0,0 @@ -PatternMatching.dfy(101,4): Warning: this branch is redundant diff --git a/Test/traits/TraitCompile.dfy b/Test/traits/TraitCompile.dfy index 6e9b925fbc5..03cf3746c6f 100644 --- a/Test/traits/TraitCompile.dfy +++ b/Test/traits/TraitCompile.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" trait TT { @@ -814,4 +820,4 @@ module RedeclaringMembers { true } } -} +} \ No newline at end of file diff --git a/Test/traits/TraitCompile.dfy.expect b/Test/traits/TraitCompile.dfy.expect index b70a9b09d2e..8257b754de2 100644 --- a/Test/traits/TraitCompile.dfy.expect +++ b/Test/traits/TraitCompile.dfy.expect @@ -1,3 +1,259 @@ + +Dafny program verifier finished with 75 verified, 0 errors + +Dafny program verifier did not attempt verification +y=120 +x=12 +d=800 +a5=407 +t=1212 +z=30 +z'=30 +w=30 +d=1000 +a5=507 +t=1512 +t=1512 +t=1515 +This is OtherModule.P(7.0) +From OtherModule.Y: 7 and true +This is OtherModule.P(7.0) +From OtherModule.X: 7 and true +c.f= 15 j.f= 15 +c.f= 18 j.f= 18 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +x=126 +5.2 9 false +true true true true +false false false false +true true true true +false false false false +5.2 5.2 +1.2 1.2 +1.2 1.2 +15 30 +15 30 +15 30 +0 (0, 0) 0 +8 +0 0 0 0 0 0 0 0 0 0 0 0 +13 13 13 13 13 13 13 13 13 13 13 13 +14 14 14 14 14 14 14 14 14 14 14 14 +15 15 15 15 15 15 15 15 15 15 15 15 +16 16 16 16 16 16 16 16 16 16 16 16 +17 17 17 17 17 17 17 17 17 17 17 17 +18 18 18 18 18 18 18 18 18 18 18 18 +19 19 19 19 19 19 19 19 19 19 19 19 +20 20 20 20 20 20 20 20 20 20 20 20 +21 21 21 21 21 21 21 21 21 21 21 21 +22 22 22 22 22 22 22 22 22 22 22 22 +23 23 23 23 23 23 23 23 23 23 23 23 +24 24 24 24 24 24 24 24 24 24 24 24 +f(4) = 7 +f(4) = 7 +g(4) = 7 +g(4) = 7 +41 15 26 +true true +true true +true true +true true +true true true +true true true + +Dafny program verifier did not attempt verification +y=120 +x=12 +d=800 +a5=407 +t=1212 +z=30 +z'=30 +w=30 +d=1000 +a5=507 +t=1512 +t=1512 +t=1515 +This is OtherModule.P(7.0) +From OtherModule.Y: 7 and true +This is OtherModule.P(7.0) +From OtherModule.X: 7 and true +c.f= 15 j.f= 15 +c.f= 18 j.f= 18 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +x=126 +5.2 9 false +true true true true +false false false false +true true true true +false false false false +5.2 5.2 +1.2 1.2 +1.2 1.2 +15 30 +15 30 +15 30 +0 (0, 0) 0 +8 +0 0 0 0 0 0 0 0 0 0 0 0 +13 13 13 13 13 13 13 13 13 13 13 13 +14 14 14 14 14 14 14 14 14 14 14 14 +15 15 15 15 15 15 15 15 15 15 15 15 +16 16 16 16 16 16 16 16 16 16 16 16 +17 17 17 17 17 17 17 17 17 17 17 17 +18 18 18 18 18 18 18 18 18 18 18 18 +19 19 19 19 19 19 19 19 19 19 19 19 +20 20 20 20 20 20 20 20 20 20 20 20 +21 21 21 21 21 21 21 21 21 21 21 21 +22 22 22 22 22 22 22 22 22 22 22 22 +23 23 23 23 23 23 23 23 23 23 23 23 +24 24 24 24 24 24 24 24 24 24 24 24 +f(4) = 7 +f(4) = 7 +g(4) = 7 +g(4) = 7 +41 15 26 +true true +true true +true true +true true +true true true +true true true + +Dafny program verifier did not attempt verification +y=120 +x=12 +d=800 +a5=407 +t=1212 +z=30 +z'=30 +w=30 +d=1000 +a5=507 +t=1512 +t=1512 +t=1515 +This is OtherModule.P(7.0) +From OtherModule.Y: 7 and true +This is OtherModule.P(7.0) +From OtherModule.X: 7 and true +c.f= 15 j.f= 15 +c.f= 18 j.f= 18 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +x=126 +5.2 9 false +true true true true +false false false false +true true true true +false false false false +5.2 5.2 +1.2 1.2 +1.2 1.2 +15 30 +15 30 +15 30 +0 (0, 0) 0 +8 +0 0 0 0 0 0 0 0 0 0 0 0 +13 13 13 13 13 13 13 13 13 13 13 13 +14 14 14 14 14 14 14 14 14 14 14 14 +15 15 15 15 15 15 15 15 15 15 15 15 +16 16 16 16 16 16 16 16 16 16 16 16 +17 17 17 17 17 17 17 17 17 17 17 17 +18 18 18 18 18 18 18 18 18 18 18 18 +19 19 19 19 19 19 19 19 19 19 19 19 +20 20 20 20 20 20 20 20 20 20 20 20 +21 21 21 21 21 21 21 21 21 21 21 21 +22 22 22 22 22 22 22 22 22 22 22 22 +23 23 23 23 23 23 23 23 23 23 23 23 +24 24 24 24 24 24 24 24 24 24 24 24 +f(4) = 7 +f(4) = 7 +g(4) = 7 +g(4) = 7 +41 15 26 +true true +true true +true true +true true +true true true +true true true + +Dafny program verifier did not attempt verification +y=120 +x=12 +d=800 +a5=407 +t=1212 +z=30 +z'=30 +w=30 +d=1000 +a5=507 +t=1512 +t=1512 +t=1515 +This is OtherModule.P(7.0) +From OtherModule.Y: 7 and true +This is OtherModule.P(7.0) +From OtherModule.X: 7 and true +c.f= 15 j.f= 15 +c.f= 18 j.f= 18 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +x=126 +5.2 9 false +true true true true +false false false false +true true true true +false false false false +5.2 5.2 +1.2 1.2 +1.2 1.2 +15 30 +15 30 +15 30 +0 (0, 0) 0 +8 +0 0 0 0 0 0 0 0 0 0 0 0 +13 13 13 13 13 13 13 13 13 13 13 13 +14 14 14 14 14 14 14 14 14 14 14 14 +15 15 15 15 15 15 15 15 15 15 15 15 +16 16 16 16 16 16 16 16 16 16 16 16 +17 17 17 17 17 17 17 17 17 17 17 17 +18 18 18 18 18 18 18 18 18 18 18 18 +19 19 19 19 19 19 19 19 19 19 19 19 +20 20 20 20 20 20 20 20 20 20 20 20 +21 21 21 21 21 21 21 21 21 21 21 21 +22 22 22 22 22 22 22 22 22 22 22 22 +23 23 23 23 23 23 23 23 23 23 23 23 +24 24 24 24 24 24 24 24 24 24 24 24 +f(4) = 7 +f(4) = 7 +g(4) = 7 +g(4) = 7 +41 15 26 +true true +true true +true true +true true +true true true +true true true + +Dafny program verifier did not attempt verification y=120 x=12 d=800 diff --git a/Test/traits/TraitExample.dfy b/Test/traits/TraitExample.dfy index 54c5cbbec6f..d6afb4ce70b 100644 --- a/Test/traits/TraitExample.dfy +++ b/Test/traits/TraitExample.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" trait Automobile { ghost var Repr: set diff --git a/Test/traits/TraitExample.dfy.expect b/Test/traits/TraitExample.dfy.expect index b9783e62141..c1b4ac93962 100644 --- a/Test/traits/TraitExample.dfy.expect +++ b/Test/traits/TraitExample.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 29 verified, 0 errors Fiat: 6 Volvo: 20 Catacar: 26 diff --git a/Test/traits/Traits-Fields.dfy b/Test/traits/Traits-Fields.dfy index 6ae1aaab6d9..2da609c33c8 100644 --- a/Test/traits/Traits-Fields.dfy +++ b/Test/traits/Traits-Fields.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" trait J { diff --git a/Test/traits/Traits-Fields.dfy.expect b/Test/traits/Traits-Fields.dfy.expect index c39bd8b5d5d..cc460fc52f4 100644 --- a/Test/traits/Traits-Fields.dfy.expect +++ b/Test/traits/Traits-Fields.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 2 verified, 0 errors j.x = 9 c.x = 9 diff --git a/Test/traits/TraitsMultipleInheritance.dfy b/Test/traits/TraitsMultipleInheritance.dfy index 67fd8673488..12590e47828 100644 --- a/Test/traits/TraitsMultipleInheritance.dfy +++ b/Test/traits/TraitsMultipleInheritance.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" trait J1{ var x: int diff --git a/Test/traits/TraitsMultipleInheritance.dfy.expect b/Test/traits/TraitsMultipleInheritance.dfy.expect index b116b2d070d..ad1a1011a25 100644 --- a/Test/traits/TraitsMultipleInheritance.dfy.expect +++ b/Test/traits/TraitsMultipleInheritance.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 1 verified, 0 errors c.x + c.y = 30 j1.x + j2.y = 30 diff --git a/Test/unicodechars/comp/Collections.dfy b/Test/unicodechars/comp/Collections.dfy index 14d241ed5ab..fb3e451eb83 100644 --- a/Test/unicodechars/comp/Collections.dfy +++ b/Test/unicodechars/comp/Collections.dfy @@ -1,3 +1,8 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:true --verify-included-files +// RUN: %dafny /compile:0 /verifyAllModules /unicodeChar:1 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" include "../../comp/Collections.dfy" diff --git a/Test/unicodechars/comp/Collections.dfy.expect b/Test/unicodechars/comp/Collections.dfy.expect index 89f08b08d75..70586502b0d 100644 --- a/Test/unicodechars/comp/Collections.dfy.expect +++ b/Test/unicodechars/comp/Collections.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 40 verified, 0 errors + +Dafny program verifier did not attempt verification Sets: {} {17, 82} {12, 17} cardinality: 0 2 2 union: {17, 82} {12, 17, 82} @@ -123,3 +127,511 @@ Multiset=== 1 3 |s|=2 |u|=4 1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Yellow := 21, Color.Blue := 30] +keys: {Color.Yellow, Color.Blue} +values: {21, 30} +items: {(Color.Yellow, 21), (Color.Blue, 30)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {21, 30} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.go.expect b/Test/unicodechars/comp/Collections.dfy.go.expect deleted file mode 100644 index 2fc0f3b7093..00000000000 --- a/Test/unicodechars/comp/Collections.dfy.go.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.java.expect b/Test/unicodechars/comp/Collections.dfy.java.expect deleted file mode 100644 index 39975cadfc4..00000000000 --- a/Test/unicodechars/comp/Collections.dfy.java.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Yellow := 21, Color.Blue := 30] -keys: {Color.Yellow, Color.Blue} -values: {21, 30} -items: {(Color.Yellow, 21), (Color.Blue, 30)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.js.expect b/Test/unicodechars/comp/Collections.dfy.js.expect deleted file mode 100644 index 2fc0f3b7093..00000000000 --- a/Test/unicodechars/comp/Collections.dfy.js.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.py.expect b/Test/unicodechars/comp/Collections.dfy.py.expect deleted file mode 100644 index e4e346dede0..00000000000 --- a/Test/unicodechars/comp/Collections.dfy.py.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {21, 30} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/unicodechars/comp/Comprehensions.dfy b/Test/unicodechars/comp/Comprehensions.dfy index 8bd5f67525e..274f8d3a150 100644 --- a/Test/unicodechars/comp/Comprehensions.dfy +++ b/Test/unicodechars/comp/Comprehensions.dfy @@ -1,3 +1,8 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:true --verify-included-files -include "../../comp/Comprehensions.dfy" +// RUN: %dafny /compile:0 /unicodeChar:1 /verifyAllModules "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" +include "../../comp/Comprehensions.dfy" \ No newline at end of file diff --git a/Test/unicodechars/comp/Comprehensions.dfy.expect b/Test/unicodechars/comp/Comprehensions.dfy.expect index c9703fc9397..18159ddde0a 100644 --- a/Test/unicodechars/comp/Comprehensions.dfy.expect +++ b/Test/unicodechars/comp/Comprehensions.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 32 verified, 0 errors + +Dafny program verifier did not attempt verification x=13 y=14 x=13 y=14 b=yes true false @@ -60,3 +64,259 @@ true true [137438953474, 137438953475, 137438953476, 137438953477, 137438953479] cdefh cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[14 := 7, 12 := 6, 13 := 6] +map[18 := 14, 17 := 13, 16 := 12] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh diff --git a/Test/unicodechars/comp/Comprehensions.dfy.py.expect b/Test/unicodechars/comp/Comprehensions.dfy.py.expect deleted file mode 100644 index aeaa31fc0f3..00000000000 --- a/Test/unicodechars/comp/Comprehensions.dfy.py.expect +++ /dev/null @@ -1,62 +0,0 @@ -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[14 := 7, 12 := 6, 13 := 6] -map[18 := 14, 17 := 13, 16 := 12] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh diff --git a/Test/unicodechars/comp/NativeNumbers.dfy b/Test/unicodechars/comp/NativeNumbers.dfy index 20cdb1e214f..764b4b3b384 100644 --- a/Test/unicodechars/comp/NativeNumbers.dfy +++ b/Test/unicodechars/comp/NativeNumbers.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:true --verify-included-files // Skip JavaScript because JavaScript doesn't have the same native types -include "../../comp/NativeNumbers.dfy" +// RUN: %dafny /compile:0 /verifyAllModules /unicodeChar:1 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" +include "../../comp/NativeNumbers.dfy" \ No newline at end of file diff --git a/Test/unicodechars/comp/NativeNumbers.dfy.expect b/Test/unicodechars/comp/NativeNumbers.dfy.expect index 354d931a151..b0fc6754f84 100644 --- a/Test/unicodechars/comp/NativeNumbers.dfy.expect +++ b/Test/unicodechars/comp/NativeNumbers.dfy.expect @@ -1,3 +1,259 @@ + +Dafny program verifier finished with 25 verified, 0 errors + +Dafny program verifier did not attempt verification +Casting: + +Small numbers: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 +5 5 5 5 5 5 5 5 5 +6 6 6 6 6 6 6 6 6 +7 7 7 7 7 7 7 7 7 +8 8 8 8 8 8 8 8 8 + +Large unsigned numbers: +255 255 255 255 255 255 255 255 +65535 65535 65535 65535 65535 65535 +4294967295 4294967295 4294967295 4294967295 +18446744073709551615 18446744073709551615 + +Int to large unsigned: +255 65535 4294967295 18446744073709551615 + +Cast from cardinality operator: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 + +Characters: +'C' 67 67 67 67 67 67 67 67 67 +0 127 32767 65535 65535 255 65535 65535 65535 + +Defaults: + +0 0 0 0 0 0 0 0 0 + +Byte arithmetic: + +20 30 +10 10 18 + +Short arithmetic: + +20 30 +10 10 18 + +Bitvectors: + +0 3 4 1 + +Comparison to zero: + +int8: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int16: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int32: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int64: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint8: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint16: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint32: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint64: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N + + +Dafny program verifier did not attempt verification +Casting: + +Small numbers: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 +5 5 5 5 5 5 5 5 5 +6 6 6 6 6 6 6 6 6 +7 7 7 7 7 7 7 7 7 +8 8 8 8 8 8 8 8 8 + +Large unsigned numbers: +255 255 255 255 255 255 255 255 +65535 65535 65535 65535 65535 65535 +4294967295 4294967295 4294967295 4294967295 +18446744073709551615 18446744073709551615 + +Int to large unsigned: +255 65535 4294967295 18446744073709551615 + +Cast from cardinality operator: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 + +Characters: +'C' 67 67 67 67 67 67 67 67 67 +0 127 32767 65535 65535 255 65535 65535 65535 + +Defaults: + +0 0 0 0 0 0 0 0 0 + +Byte arithmetic: + +20 30 +10 10 18 + +Short arithmetic: + +20 30 +10 10 18 + +Bitvectors: + +0 3 4 1 + +Comparison to zero: + +int8: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int16: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int32: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int64: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint8: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint16: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint32: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint64: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N + + +Dafny program verifier did not attempt verification +Casting: + +Small numbers: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 +5 5 5 5 5 5 5 5 5 +6 6 6 6 6 6 6 6 6 +7 7 7 7 7 7 7 7 7 +8 8 8 8 8 8 8 8 8 + +Large unsigned numbers: +255 255 255 255 255 255 255 255 +65535 65535 65535 65535 65535 65535 +4294967295 4294967295 4294967295 4294967295 +18446744073709551615 18446744073709551615 + +Int to large unsigned: +255 65535 4294967295 18446744073709551615 + +Cast from cardinality operator: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 + +Characters: +'C' 67 67 67 67 67 67 67 67 67 +0 127 32767 65535 65535 255 65535 65535 65535 + +Defaults: + +0 0 0 0 0 0 0 0 0 + +Byte arithmetic: + +20 30 +10 10 18 + +Short arithmetic: + +20 30 +10 10 18 + +Bitvectors: + +0 3 4 1 + +Comparison to zero: + +int8: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int16: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int32: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int64: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint8: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint16: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint32: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint64: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N + + +Dafny program verifier did not attempt verification Casting: Small numbers: diff --git a/Test/unicodechars/comp/Numbers.dfy b/Test/unicodechars/comp/Numbers.dfy index e5e36180234..2c9170fe4d7 100644 --- a/Test/unicodechars/comp/Numbers.dfy +++ b/Test/unicodechars/comp/Numbers.dfy @@ -1,3 +1,8 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:true --verify-included-files -include "../../comp/Numbers.dfy" +// RUN: %dafny /compile:0 /verifyAllModules /unicodeChar:1 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" +include "../../comp/Numbers.dfy" \ No newline at end of file diff --git a/Test/unicodechars/comp/Numbers.dfy.expect b/Test/unicodechars/comp/Numbers.dfy.expect index cce193e1cce..6fa2f59f340 100644 --- a/Test/unicodechars/comp/Numbers.dfy.expect +++ b/Test/unicodechars/comp/Numbers.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 59 verified, 0 errors + +Dafny program verifier did not attempt verification 0 0 3 @@ -109,3 +113,455 @@ true false true false false true false true true false true false 20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +'g' 'Q' '2' +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +(312.0 / 40.0) (1248.0 / 40.0) +(-312.0 / 40.0) (-1248.0 / 40.0) +(-312.0 / 40.0) (1248.0 / 40.0) +(312.0 / 40.0) (-1248.0 / 40.0) +0.0 0.0 0.0 +120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) +123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 (8100.0 / 8100.0) +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +'g' 'Q' '2' +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +'g' 'Q' '2' +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +(312.0 / 40.0) (1248.0 / 40.0) +(-312.0 / 40.0) (-1248.0 / 40.0) +(-312.0 / 40.0) (1248.0 / 40.0) +(312.0 / 40.0) (-1248.0 / 40.0) +0.0 0.0 0.0 +120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) +123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 (8100.0 / 8100.0) +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +'g' 'Q' '2' +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 diff --git a/Test/unicodechars/comp/Numbers.dfy.go.expect b/Test/unicodechars/comp/Numbers.dfy.go.expect deleted file mode 100644 index 95d8ac259c7..00000000000 --- a/Test/unicodechars/comp/Numbers.dfy.go.expect +++ /dev/null @@ -1,111 +0,0 @@ -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -'g' 'Q' '2' -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 diff --git a/Test/unicodechars/comp/Numbers.dfy.py.expect b/Test/unicodechars/comp/Numbers.dfy.py.expect deleted file mode 100644 index 95d8ac259c7..00000000000 --- a/Test/unicodechars/comp/Numbers.dfy.py.expect +++ /dev/null @@ -1,111 +0,0 @@ -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -'g' 'Q' '2' -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 From dd5ed7108a207997022f5cf47c1b33fa079416da Mon Sep 17 00:00:00 2001 From: Robin Salkeld Date: Fri, 9 Jun 2023 17:18:15 -0700 Subject: [PATCH 47/68] =?UTF-8?q?Last=20three=20I=E2=80=99m=20sure?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Source/IntegrationTests/LitTests.cs | 1 - Test/dafny0/GhostGuards.dfy | 1 + Test/dafny4/Bug116.dfy | 3 +-- Test/dafny4/Bug116.dfy.expect | 2 -- Test/dafny4/Bug116.dfy.py.check | 2 ++ Test/dafny4/git-issue167.dfy | 1 + 6 files changed, 5 insertions(+), 5 deletions(-) create mode 100644 Test/dafny4/Bug116.dfy.py.check diff --git a/Source/IntegrationTests/LitTests.cs b/Source/IntegrationTests/LitTests.cs index 40eab0ec64b..abb1f934fc7 100644 --- a/Source/IntegrationTests/LitTests.cs +++ b/Source/IntegrationTests/LitTests.cs @@ -407,7 +407,6 @@ bool IgnoreArgument(string arg, string testFilePath) { "/verifyAllModules" => "--verify-included-files", "/errorLimit:0" => "--error-limit:0", "/deprecation:0" => "--warn-deprecation:false", - "/printTooltips" => "--show-tooltips", _ => extraOption }); } diff --git a/Test/dafny0/GhostGuards.dfy b/Test/dafny0/GhostGuards.dfy index b17c98662ce..cb572a7de2d 100644 --- a/Test/dafny0/GhostGuards.dfy +++ b/Test/dafny0/GhostGuards.dfy @@ -1,3 +1,4 @@ +// NONUNIFORM: need to add support for tooltips to the new CLI (if that makes sense) // RUN: %dafny /compile:3 /printTooltips /rprint:"%t.dprint" "%s" > "%t" // RUN: %diff "%s.expect" "%t" diff --git a/Test/dafny4/Bug116.dfy b/Test/dafny4/Bug116.dfy index e29da0f609d..501b74c74d5 100644 --- a/Test/dafny4/Bug116.dfy +++ b/Test/dafny4/Bug116.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // test various compiler-target keywords diff --git a/Test/dafny4/Bug116.dfy.expect b/Test/dafny4/Bug116.dfy.expect index 4cd4aabf511..8c7fdc614c4 100644 --- a/Test/dafny4/Bug116.dfy.expect +++ b/Test/dafny4/Bug116.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors struct.S byte.arguments enum.goto.switch enum.goto.switch 20 + 20 == 40 diff --git a/Test/dafny4/Bug116.dfy.py.check b/Test/dafny4/Bug116.dfy.py.check new file mode 100644 index 00000000000..893d5379d1f --- /dev/null +++ b/Test/dafny4/Bug116.dfy.py.check @@ -0,0 +1,2 @@ +// https://github.com/dafny-lang/dafny/issues/4161 +// CHECK: ImportError: cannot import name 'Callable' from partially initialized module 'typing' diff --git a/Test/dafny4/git-issue167.dfy b/Test/dafny4/git-issue167.dfy index d02943dc42d..7dd835b3f8d 100644 --- a/Test/dafny4/git-issue167.dfy +++ b/Test/dafny4/git-issue167.dfy @@ -1,3 +1,4 @@ +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 // RUN: %dafny /compile:3 "%s" > "%t" // RUN: %diff "%s.expect" "%t" From 788783a1da016e577f635125e44f2010421ad37e Mon Sep 17 00:00:00 2001 From: Robin Salkeld Date: Fri, 9 Jun 2023 17:18:47 -0700 Subject: [PATCH 48/68] Convert all tests --- Test/VerifyThis2015/Problem1.dfy | 3 +- Test/VerifyThis2015/Problem1.dfy.expect | 2 - Test/VerifyThis2015/Problem2.dfy | 3 +- Test/VerifyThis2015/Problem2.dfy.expect | 2 - Test/VerifyThis2015/Problem3.dfy | 3 +- Test/VerifyThis2015/Problem3.dfy.expect | 2 - Test/c++/arrays.dfy | 3 +- Test/c++/arrays.dfy.expect | 2 - Test/c++/bit-vectors.dfy | 3 +- Test/c++/bit-vectors.dfy.expect | 2 - Test/c++/class.dfy | 3 +- Test/c++/class.dfy.expect | 2 - Test/c++/const.dfy | 3 +- Test/c++/const.dfy.expect | 2 - Test/c++/datatypes.dfy | 3 +- Test/c++/datatypes.dfy.expect | 2 - Test/c++/generic.dfy | 3 +- Test/c++/generic.dfy.expect | 2 - Test/c++/hello.dfy | 3 +- Test/c++/hello.dfy.expect | 2 - Test/c++/ints.dfy | 3 +- Test/c++/ints.dfy.expect | 2 - Test/c++/recursion.dfy | 3 +- Test/c++/recursion.dfy.expect | 2 - Test/c++/returns.dfy | 3 +- Test/c++/returns.dfy.expect | 2 - Test/c++/seqs.dfy | 3 +- Test/c++/seqs.dfy.expect | 2 - Test/c++/sets.dfy | 3 +- Test/c++/sets.dfy.expect | 2 - Test/c++/while.dfy | 3 +- Test/c++/while.dfy.expect | 2 - Test/comp/Arrays.dfy | 9 +- Test/comp/Arrays.dfy.expect | 396 ------------ Test/comp/Arrays.dfy.go.expect | 96 +++ Test/comp/AsIs-Compile.dfy | 8 +- Test/comp/AsIs-Compile.dfy.expect | 160 ----- Test/comp/AutoInit.dfy | 8 +- Test/comp/AutoInit.dfy.expect | 160 ----- Test/comp/ByMethodCompilation.dfy | 8 +- Test/comp/ByMethodCompilation.dfy.expect | 32 - Test/comp/Calls.dfy | 8 +- Test/comp/Calls.dfy.expect | 40 -- Test/comp/Class.dfy | 8 +- Test/comp/Class.dfy.expect | 72 --- Test/comp/Collections.dfy | 9 +- Test/comp/Collections.dfy.expect | 512 ---------------- Test/comp/Collections.dfy.go.expect | 125 ++++ Test/comp/Collections.dfy.java.expect | 125 ++++ Test/comp/Collections.dfy.js.expect | 125 ++++ Test/comp/Collections.dfy.py.expect | 125 ++++ Test/comp/Comprehensions.dfy | 9 +- Test/comp/Comprehensions.dfy.expect | 260 -------- Test/comp/Comprehensions.dfy.py.expect | 62 ++ Test/comp/ComprehensionsNewSyntax.dfy | 9 +- Test/comp/ComprehensionsNewSyntax.dfy.expect | 148 ----- .../ComprehensionsNewSyntax.dfy.py.expect | 34 ++ Test/comp/CovariantCollections.dfy | 8 +- Test/comp/CovariantCollections.dfy.expect | 220 ------- Test/comp/Datatype.dfy | 9 +- Test/comp/Datatype.dfy.expect | 100 --- Test/comp/Datatype.dfy.java.expect | 22 + Test/comp/Datatype.dfy.py.expect | 22 + Test/comp/DefaultParameters-Compile.dfy | 8 +- .../comp/DefaultParameters-Compile.dfy.expect | 48 -- Test/comp/DowncastClone.dfy | 8 +- Test/comp/DowncastClone.dfy.expect | 40 -- Test/comp/ErasableTypeWrappers.dfy | 8 +- Test/comp/ErasableTypeWrappers.dfy.expect | 84 --- Test/comp/EuclideanDivision.dfy | 8 +- Test/comp/EuclideanDivision.dfy.expect | 36 -- Test/comp/ForLoops-Compilation.dfy | 8 +- Test/comp/ForLoops-Compilation.dfy.expect | 200 ------ Test/comp/ForallNewSyntax.dfy | 8 +- Test/comp/ForallNewSyntax.dfy.expect | 180 ------ Test/comp/Ghosts.dfy | 8 +- Test/comp/Ghosts.dfy.expect | 52 -- Test/comp/Let.dfy | 7 +- Test/comp/Let.dfy.expect | 34 -- Test/comp/MoreAutoInit.dfy | 8 +- Test/comp/MoreAutoInit.dfy.expect | 572 ------------------ Test/comp/NativeNumbers.dfy | 7 +- Test/comp/NativeNumbers.dfy.expect | 256 -------- Test/comp/NestedArrays.dfy | 7 +- Test/comp/NestedArrays.dfy.expect | 16 - Test/comp/Numbers.dfy | 9 +- Test/comp/Numbers.dfy.expect | 456 -------------- Test/comp/Numbers.dfy.go.expect | 111 ++++ Test/comp/Numbers.dfy.py.expect | 111 ++++ Test/comp/Poly.dfy | 9 +- Test/comp/Poly.dfy.expect | 60 -- Test/comp/Poly.dfy.go.expect | 12 + Test/comp/Poly.dfy.py.expect | 12 + Test/comp/StaticMembersOfGenericTypes.dfy | 8 +- .../StaticMembersOfGenericTypes.dfy.expect | 76 --- Test/comp/TailRecursion.dfy | 8 +- Test/comp/TailRecursion.dfy.expect | 76 --- Test/comp/TypeDescriptors.dfy | 8 +- Test/comp/TypeDescriptors.dfy.expect | 152 ----- Test/comp/TypeParams.dfy | 11 +- Test/comp/TypeParams.dfy.expect | 88 --- Test/comp/TypeParams.dfy.go.expect | 19 + Test/comp/TypeParams.dfy.java.expect | 19 + Test/comp/TypeParams.dfy.js.expect | 19 + Test/comp/TypeParams.dfy.py.expect | 19 + Test/comp/UnoptimizedErasableTypeWrappers.dfy | 8 +- ...UnoptimizedErasableTypeWrappers.dfy.expect | 28 - Test/comp/Variance.dfy | 8 +- Test/comp/Variance.dfy.expect | 64 -- Test/comp/Various.dfy | 8 +- Test/comp/Various.dfy.expect | 40 -- Test/comp/firstSteps/0_IKnowThisMuchIs.dfy | 4 +- .../firstSteps/0_IKnowThisMuchIs.dfy.expect | 4 - Test/comp/firstSteps/1_Calls-F.dfy | 4 +- Test/comp/firstSteps/1_Calls-F.dfy.expect | 4 - Test/comp/firstSteps/2_Modules.dfy | 4 +- Test/comp/firstSteps/2_Modules.dfy.expect | 4 - Test/comp/firstSteps/3_Calls-As.dfy | 4 +- Test/comp/firstSteps/3_Calls-As.dfy.expect | 4 - .../4_Calls-FunctionsValues-Class+NT.dfy | 4 +- ..._Calls-FunctionsValues-Class+NT.dfy.expect | 4 - .../firstSteps/5_Calls-FunctionsValues-Dt.dfy | 4 +- .../5_Calls-FunctionsValues-Dt.dfy.expect | 4 - .../firstSteps/6_Calls-VariableCapture.dfy | 4 +- .../6_Calls-VariableCapture.dfy.expect | 4 - Test/comp/firstSteps/7_Arrays.dfy | 4 +- Test/comp/firstSteps/7_Arrays.dfy.expect | 4 - Test/comp/firstSteps/7_Dt_Algebraic.dfy | 6 +- .../firstSteps/7_Dt_Algebraic.dfy.cs.expect | 11 + .../comp/firstSteps/7_Dt_Algebraic.dfy.expect | 17 - Test/dafny0/ArrayElementInitCompile.dfy | 8 +- .../dafny0/ArrayElementInitCompile.dfy.expect | 76 --- Test/dafny0/Bitvectors.dfy | 5 +- Test/dafny0/Bitvectors.dfy.expect | 49 -- Test/dafny0/Constant.dfy | 3 +- Test/dafny0/Constant.dfy.expect | 2 - Test/dafny0/Deprecation.dfy | 3 +- Test/dafny0/Deprecation.dfy.expect | 7 - Test/dafny0/Deprecation.dfy.verifier.expect | 5 + Test/dafny0/DiscoverBounds.dfy | 3 +- Test/dafny0/DiscoverBounds.dfy.expect | 7 - .../dafny0/DiscoverBounds.dfy.verifier.expect | 5 + Test/dafny0/DividedConstructors.dfy | 3 +- Test/dafny0/DividedConstructors.dfy.expect | 3 - .../DividedConstructors.dfy.verifier.expect | 1 + Test/dafny0/EqualityTypesCompile.dfy | 3 +- Test/dafny0/EqualityTypesCompile.dfy.expect | 2 - Test/dafny0/ForallCompilationNewSyntax.dfy | 3 +- .../ForallCompilationNewSyntax.dfy.expect | 6 - ...llCompilationNewSyntax.dfy.verifier.expect | 4 + Test/dafny0/GhostITECompilation.dfy | 8 +- Test/dafny0/GhostITECompilation.dfy.expect | 28 - Test/dafny0/InitialValues.dfy | 3 +- Test/dafny0/InitialValues.dfy.expect | 2 - Test/dafny0/MatchBraces.dfy | 5 +- Test/dafny0/MatchBraces.dfy.expect | 8 - Test/dafny0/MoForallCompilation.dfy | 3 +- Test/dafny0/MoForallCompilation.dfy.expect | 2 - Test/dafny0/NameclashesCompile.dfy | 3 +- Test/dafny0/NameclashesCompile.dfy.expect | 2 - Test/dafny0/NonZeroInitializationCompile.dfy | 7 +- .../NonZeroInitializationCompile.dfy.expect | 73 --- Test/dafny0/NullComparisonWarnings.dfy | 3 +- Test/dafny0/NullComparisonWarnings.dfy.expect | 13 - ...NullComparisonWarnings.dfy.verifier.expect | 11 + Test/dafny0/PrintUTF8.dfy | 3 +- Test/dafny0/PrintUTF8.dfy.expect | 2 - Test/dafny0/RangeCompilation.dfy | 3 +- Test/dafny0/RangeCompilation.dfy.expect | 2 - Test/dafny0/SeqFromArray.dfy | 3 +- Test/dafny0/SeqFromArray.dfy.expect | 2 - Test/dafny0/SharedDestructorsCompile.dfy | 5 +- .../SharedDestructorsCompile.dfy.expect | 17 - Test/dafny0/SiblingImports.dfy | 3 +- Test/dafny0/SiblingImports.dfy.expect | 2 - Test/dafny0/TypeConversionsCompile.dfy | 3 +- Test/dafny0/TypeConversionsCompile.dfy.expect | 2 - Test/dafny0/TypeMembers.dfy | 5 +- Test/dafny0/TypeMembers.dfy.expect | 29 - Test/dafny0/TypeMembers.dfy.verifier.expect | 1 + Test/dafny0/Wellfounded.dfy | 3 +- Test/dafny0/Wellfounded.dfy.expect | 4 - Test/dafny0/Wellfounded.dfy.verifier.expect | 2 + Test/dafny2/MinWindowMax.dfy | 3 +- Test/dafny2/MinWindowMax.dfy.expect | 2 - .../SmallestMissingNumber-functional.dfy | 3 +- ...mallestMissingNumber-functional.dfy.expect | 3 - ...ssingNumber-functional.dfy.verifier.expect | 1 + .../SmallestMissingNumber-imperative.dfy | 3 +- ...mallestMissingNumber-imperative.dfy.expect | 2 - Test/dafny2/StoreAndRetrieve.dfy | 7 +- Test/dafny2/StoreAndRetrieve.dfy.expect | 38 -- .../StoreAndRetrieve.dfy.verifier.expect | 5 + Test/dafny2/pq-intrinsic-extrinsic.dfy | 5 +- Test/dafny2/pq-intrinsic-extrinsic.dfy.expect | 11 - Test/dafny3/Abstemious.dfy | 3 +- Test/dafny3/Abstemious.dfy.expect | 2 - Test/dafny3/CachedContainer.dfy | 7 +- Test/dafny3/CachedContainer.dfy.expect | 78 --- .../CachedContainer.dfy.verifier.expect | 13 + Test/dafny3/Iter.dfy | 3 +- Test/dafny3/Iter.dfy.expect | 2 - Test/dafny4/Ackermann.dfy | 3 +- Test/dafny4/Ackermann.dfy.expect | 4 - Test/dafny4/Ackermann.dfy.verifier.expect | 2 + Test/dafny4/Bug107.dfy | 3 +- Test/dafny4/Bug107.dfy.expect | 2 - Test/dafny4/Bug108.dfy | 3 +- Test/dafny4/Bug108.dfy.expect | 2 - Test/dafny4/Bug113.dfy | 5 +- Test/dafny4/Bug113.dfy.expect | 2 - Test/dafny4/Bug140.dfy | 3 +- Test/dafny4/Bug140.dfy.expect | 2 - Test/dafny4/Bug148.dfy | 3 +- Test/dafny4/Bug148.dfy.expect | 2 - Test/dafny4/Bug49.dfy | 3 +- Test/dafny4/Bug49.dfy.expect | 2 - Test/dafny4/Bug60.dfy | 3 +- Test/dafny4/Bug60.dfy.expect | 2 - Test/dafny4/Bug67.dfy | 5 +- Test/dafny4/Bug67.dfy.expect | 2 - Test/dafny4/Bug68.dfy | 5 +- Test/dafny4/Bug68.dfy.expect | 2 - Test/dafny4/Bug89.dfy | 3 +- Test/dafny4/Bug89.dfy.expect | 2 - Test/dafny4/Bug94.dfy | 3 +- Test/dafny4/Bug94.dfy.expect | 2 - Test/dafny4/ClassRefinement.dfy | 7 +- Test/dafny4/ClassRefinement.dfy.expect | 43 -- .../ClassRefinement.dfy.verifier.expect | 6 + Test/dafny4/ExpandedGuardedness.dfy | 3 +- Test/dafny4/ExpandedGuardedness.dfy.expect | 2 - Test/dafny4/FlyingRobots.dfy | 3 +- Test/dafny4/FlyingRobots.dfy.expect | 2 - Test/dafny4/Leq.dfy | 3 +- Test/dafny4/Leq.dfy.expect | 2 - Test/dafny4/McCarthy91.dfy | 3 +- Test/dafny4/McCarthy91.dfy.expect | 2 - Test/dafny4/NatList.dfy | 3 +- Test/dafny4/NatList.dfy.expect | 2 - Test/dafny4/Regression2.dfy | 3 +- Test/dafny4/Regression2.dfy.expect | 2 - Test/dafny4/Regression3.dfy | 3 +- Test/dafny4/Regression3.dfy.expect | 2 - Test/dafny4/Regression4.dfy | 3 +- Test/dafny4/Regression4.dfy.expect | 2 - Test/dafny4/Regression6.dfy | 3 +- Test/dafny4/Regression6.dfy.expect | 2 - Test/dafny4/Regression7.dfy | 3 +- Test/dafny4/Regression7.dfy.expect | 2 - Test/dafny4/Regression9.dfy | 3 +- Test/dafny4/Regression9.dfy.expect | 2 - Test/dafny4/UnionFind.dfy | 3 +- Test/dafny4/UnionFind.dfy.expect | 2 - Test/dafny4/gcd.dfy | 7 +- Test/dafny4/gcd.dfy.expect | 31 - Test/dafny4/git-issue104.dfy | 8 +- Test/dafny4/git-issue104.dfy.expect | 16 - Test/dafny4/git-issue105.dfy | 3 +- Test/dafny4/git-issue105.dfy.expect | 2 - Test/dafny4/git-issue15.dfy | 3 +- Test/dafny4/git-issue15.dfy.expect | 2 - Test/dafny4/git-issue195.dfy | 3 +- Test/dafny4/git-issue195.dfy.expect | 2 - Test/dafny4/git-issue196.dfy | 3 +- Test/dafny4/git-issue196.dfy.expect | 2 - Test/dafny4/git-issue4.dfy | 3 +- Test/dafny4/git-issue4.dfy.expect | 2 - Test/dafny4/git-issue43.dfy | 3 +- Test/dafny4/git-issue43.dfy.expect | 2 - Test/dafny4/git-issue76.dfy | 5 +- Test/dafny4/git-issue76.dfy.expect | 7 - Test/dafny4/git-issue79.dfy | 3 +- Test/dafny4/git-issue79.dfy.expect | 2 - Test/dafny4/git-issue88.dfy | 3 +- Test/dafny4/git-issue88.dfy.expect | 2 - Test/exceptions/Exceptions1.dfy | 3 +- Test/exceptions/Exceptions1.dfy.expect | 2 - Test/exceptions/Exceptions1Expressions.dfy | 3 +- .../Exceptions1Expressions.dfy.expect | 2 - Test/exports/FIFO.dfy | 3 +- Test/exports/FIFO.dfy.expect | 2 - Test/exports/LIFO.dfy | 3 +- Test/exports/LIFO.dfy.expect | 2 - Test/exports/xrefine2.dfy | 3 +- Test/exports/xrefine2.dfy.expect | 2 - Test/exports/xrefine3.dfy | 3 +- Test/exports/xrefine3.dfy.expect | 2 - Test/git-issues/git-issue-032.dfy | 7 +- Test/git-issues/git-issue-032.dfy.expect | 37 -- .../git-issue-032.dfy.verifier.expect | 3 + Test/git-issues/git-issue-1029.dfy | 3 +- Test/git-issues/git-issue-1029.dfy.expect | 2 - Test/git-issues/git-issue-1093.dfy | 8 +- Test/git-issues/git-issue-1093.dfy.expect | 16 - Test/git-issues/git-issue-1130.dfy | 3 +- Test/git-issues/git-issue-1130.dfy.expect | 2 - Test/git-issues/git-issue-1150.dfy | 3 +- Test/git-issues/git-issue-1150.dfy.expect | 2 - Test/git-issues/git-issue-1185.dfy | 8 +- Test/git-issues/git-issue-1185.dfy.expect | 13 - .../git-issues/git-issue-1185.dfy.java.expect | 1 + Test/git-issues/git-issue-1514.dfy | 3 +- Test/git-issues/git-issue-1514.dfy.expect | 2 - Test/git-issues/git-issue-1514b.dfy | 3 +- Test/git-issues/git-issue-1514b.dfy.expect | 2 - Test/git-issues/git-issue-1514c.dfy | 5 +- Test/git-issues/git-issue-1514c.dfy.expect | 7 - Test/git-issues/git-issue-1553.dfy | 7 +- Test/git-issues/git-issue-1553.dfy.expect | 10 - Test/git-issues/git-issue-1604b.dfy | 3 +- Test/git-issues/git-issue-1604b.dfy.expect | 2 - Test/git-issues/git-issue-1714.dfy | 3 +- Test/git-issues/git-issue-1714.dfy.expect | 2 - Test/git-issues/git-issue-1815a.dfy | 8 +- Test/git-issues/git-issue-1815a.dfy.expect | 16 - Test/git-issues/git-issue-1852.dfy | 5 +- Test/git-issues/git-issue-1852.dfy.expect | 7 - Test/git-issues/git-issue-1903.dfy | 3 +- Test/git-issues/git-issue-1903.dfy.expect | 2 - Test/git-issues/git-issue-1909.dfy | 3 +- Test/git-issues/git-issue-1909.dfy.expect | 2 - Test/git-issues/git-issue-2013.dfy | 8 +- Test/git-issues/git-issue-2013.dfy.expect | 52 -- Test/git-issues/git-issue-2441.dfy | 5 +- Test/git-issues/git-issue-2441.dfy.expect | 6 - Test/git-issues/git-issue-2510.dfy | 3 +- Test/git-issues/git-issue-2510.dfy.expect | 2 - Test/git-issues/git-issue-2608.dfy | 3 +- Test/git-issues/git-issue-2608.dfy.expect | 2 - Test/git-issues/git-issue-262.dfy | 7 +- Test/git-issues/git-issue-262.dfy.expect | 18 - Test/git-issues/git-issue-262.dfy.go.expect | 2 + Test/git-issues/git-issue-262.dfy.java.expect | 2 + Test/git-issues/git-issue-262.dfy.js.expect | 6 + Test/git-issues/git-issue-267.dfy | 7 +- Test/git-issues/git-issue-267.dfy.expect | 13 - Test/git-issues/git-issue-2672.dfy | 8 +- Test/git-issues/git-issue-2672.dfy.expect | 44 -- Test/git-issues/git-issue-2726a.dfy | 3 +- Test/git-issues/git-issue-2726a.dfy.expect | 2 - Test/git-issues/git-issue-2733.dfy | 9 +- Test/git-issues/git-issue-2733.dfy.expect | 14 - Test/git-issues/git-issue-2792.dfy | 3 +- Test/git-issues/git-issue-2792.dfy.expect | 2 - Test/git-issues/git-issue-283.dfy | 7 +- Test/git-issues/git-issue-283.dfy.expect | 13 - Test/git-issues/git-issue-283d.dfy | 7 +- Test/git-issues/git-issue-283d.dfy.expect | 10 - Test/git-issues/git-issue-314.dfy | 7 +- Test/git-issues/git-issue-314.dfy.expect | 10 - Test/git-issues/git-issue-332.dfy | 3 +- Test/git-issues/git-issue-332.dfy.expect | 2 - Test/git-issues/git-issue-354.dfy | 7 +- Test/git-issues/git-issue-354.dfy.expect | 22 - Test/git-issues/git-issue-356.dfy | 8 +- Test/git-issues/git-issue-356.dfy.expect | 36 -- Test/git-issues/git-issue-364.dfy | 3 +- Test/git-issues/git-issue-364.dfy.expect | 2 - Test/git-issues/git-issue-374.dfy | 7 +- Test/git-issues/git-issue-374.dfy.expect | 10 - Test/git-issues/git-issue-396.dfy | 6 +- Test/git-issues/git-issue-396.dfy.expect | 11 - Test/git-issues/git-issue-4007.dfy | 5 +- Test/git-issues/git-issue-4007.dfy.expect | 3 - .../git-issue-4007.dfy.verifier.expect | 1 + Test/git-issues/git-issue-4012.dfy | 5 +- Test/git-issues/git-issue-4012.dfy.expect | 2 - Test/git-issues/git-issue-425.dfy | 7 +- Test/git-issues/git-issue-425.dfy.expect | 16 - Test/git-issues/git-issue-443.dfy | 3 +- Test/git-issues/git-issue-443.dfy.expect | 2 - Test/git-issues/git-issue-446.dfy | 7 +- Test/git-issues/git-issue-446.dfy.expect | 19 - Test/git-issues/git-issue-446a.dfy | 7 +- Test/git-issues/git-issue-446a.dfy.expect | 19 - Test/git-issues/git-issue-446b.dfy | 7 +- Test/git-issues/git-issue-446b.dfy.expect | 25 - Test/git-issues/git-issue-478-good.dfy | 3 +- Test/git-issues/git-issue-478-good.dfy.expect | 2 - Test/git-issues/git-issue-506.dfy | 6 +- Test/git-issues/git-issue-506.dfy.expect | 26 - Test/git-issues/git-issue-532.dfy | 7 +- Test/git-issues/git-issue-532.dfy.expect | 19 - Test/git-issues/git-issue-549.dfy | 5 +- Test/git-issues/git-issue-549.dfy.expect | 8 - Test/git-issues/git-issue-622$f.dfy | 3 +- Test/git-issues/git-issue-622$f.dfy.expect | 2 - Test/git-issues/git-issue-684.dfy | 7 +- Test/git-issues/git-issue-684.dfy.expect | 10 - Test/git-issues/git-issue-686.dfy | 7 +- Test/git-issues/git-issue-686.dfy.expect | 23 - .../git-issue-686.dfy.verifier.expect | 2 + Test/git-issues/git-issue-697.dfy | 3 +- Test/git-issues/git-issue-697.dfy.expect | 2 - Test/git-issues/git-issue-697b.dfy | 3 +- Test/git-issues/git-issue-697b.dfy.expect | 2 - Test/git-issues/git-issue-697d.dfy | 3 +- Test/git-issues/git-issue-697d.dfy.expect | 2 - Test/git-issues/git-issue-697e.dfy | 3 +- Test/git-issues/git-issue-697e.dfy.expect | 2 - Test/git-issues/git-issue-697f.dfy | 3 +- Test/git-issues/git-issue-697f.dfy.expect | 2 - Test/git-issues/git-issue-697g.dfy | 3 +- Test/git-issues/git-issue-697g.dfy.expect | 2 - Test/git-issues/git-issue-698.dfy | 5 +- Test/git-issues/git-issue-698.dfy.expect | 7 - Test/git-issues/git-issue-698b.dfy | 5 +- Test/git-issues/git-issue-698b.dfy.expect | 2 - Test/git-issues/git-issue-701.dfy | 7 +- Test/git-issues/git-issue-701.dfy.expect | 19 - Test/git-issues/git-issue-705.dfy | 7 +- Test/git-issues/git-issue-705.dfy.expect | 13 - Test/git-issues/git-issue-731.dfy | 7 +- Test/git-issues/git-issue-731.dfy.expect | 16 - Test/git-issues/git-issue-731b.dfy | 7 +- Test/git-issues/git-issue-731b.dfy.expect | 13 - Test/git-issues/git-issue-784.dfy | 7 +- Test/git-issues/git-issue-784.dfy.expect | 10 - Test/git-issues/git-issue-953.dfy | 8 +- Test/git-issues/git-issue-953.dfy.expect | 36 -- Test/git-issues/github-issue-3343.dfy | 3 +- Test/git-issues/github-issue-3343.dfy.expect | 2 - Test/hofs/Compilation.dfy | 3 +- Test/hofs/Compilation.dfy.expect | 2 - Test/hofs/Examples.dfy | 3 +- Test/hofs/Examples.dfy.expect | 2 - Test/hofs/Fold.dfy | 3 +- Test/hofs/Fold.dfy.expect | 2 - Test/hofs/Renaming.dfy | 3 +- Test/hofs/Renaming.dfy.expect | 2 - Test/hofs/Requires.dfy | 3 +- Test/hofs/Requires.dfy.expect | 2 - Test/hofs/TreeMapSimple.dfy | 3 +- Test/hofs/TreeMapSimple.dfy.expect | 2 - Test/hofs/VectorUpdate.dfy | 3 +- Test/hofs/VectorUpdate.dfy.expect | 2 - Test/hofs/WhileLoop.dfy | 3 +- Test/hofs/WhileLoop.dfy.expect | 2 - Test/metatests/OutputEncoding.dfy | 8 +- Test/metatests/OutputEncoding.dfy.expect | 16 - Test/patterns/OrPatterns.dfy | 3 +- Test/patterns/OrPatterns.dfy.expect | 2 - Test/patterns/PatternMatching.dfy | 5 +- Test/patterns/PatternMatching.dfy.expect | 3 - .../PatternMatching.dfy.verifier.expect | 1 + Test/traits/TraitCompile.dfy | 10 +- Test/traits/TraitCompile.dfy.expect | 256 -------- Test/traits/TraitExample.dfy | 3 +- Test/traits/TraitExample.dfy.expect | 2 - Test/traits/Traits-Fields.dfy | 3 +- Test/traits/Traits-Fields.dfy.expect | 2 - Test/traits/TraitsMultipleInheritance.dfy | 3 +- .../TraitsMultipleInheritance.dfy.expect | 2 - Test/unicodechars/comp/Collections.dfy | 9 +- Test/unicodechars/comp/Collections.dfy.expect | 512 ---------------- .../comp/Collections.dfy.go.expect | 125 ++++ .../comp/Collections.dfy.java.expect | 125 ++++ .../comp/Collections.dfy.js.expect | 125 ++++ .../comp/Collections.dfy.py.expect | 125 ++++ Test/unicodechars/comp/Comprehensions.dfy | 11 +- .../comp/Comprehensions.dfy.expect | 260 -------- .../comp/Comprehensions.dfy.py.expect | 62 ++ Test/unicodechars/comp/NativeNumbers.dfy | 9 +- .../comp/NativeNumbers.dfy.expect | 256 -------- Test/unicodechars/comp/Numbers.dfy | 11 +- Test/unicodechars/comp/Numbers.dfy.expect | 456 -------------- Test/unicodechars/comp/Numbers.dfy.go.expect | 111 ++++ Test/unicodechars/comp/Numbers.dfy.py.expect | 111 ++++ 469 files changed, 2165 insertions(+), 8689 deletions(-) create mode 100644 Test/comp/Arrays.dfy.go.expect create mode 100644 Test/comp/Collections.dfy.go.expect create mode 100644 Test/comp/Collections.dfy.java.expect create mode 100644 Test/comp/Collections.dfy.js.expect create mode 100644 Test/comp/Collections.dfy.py.expect create mode 100644 Test/comp/Comprehensions.dfy.py.expect create mode 100644 Test/comp/ComprehensionsNewSyntax.dfy.py.expect create mode 100644 Test/comp/Datatype.dfy.java.expect create mode 100644 Test/comp/Datatype.dfy.py.expect create mode 100644 Test/comp/Numbers.dfy.go.expect create mode 100644 Test/comp/Numbers.dfy.py.expect create mode 100644 Test/comp/Poly.dfy.go.expect create mode 100644 Test/comp/Poly.dfy.py.expect create mode 100644 Test/comp/TypeParams.dfy.go.expect create mode 100644 Test/comp/TypeParams.dfy.java.expect create mode 100644 Test/comp/TypeParams.dfy.js.expect create mode 100644 Test/comp/TypeParams.dfy.py.expect create mode 100644 Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect create mode 100644 Test/dafny0/Deprecation.dfy.verifier.expect create mode 100644 Test/dafny0/DiscoverBounds.dfy.verifier.expect create mode 100644 Test/dafny0/DividedConstructors.dfy.verifier.expect create mode 100644 Test/dafny0/ForallCompilationNewSyntax.dfy.verifier.expect create mode 100644 Test/dafny0/NullComparisonWarnings.dfy.verifier.expect create mode 100644 Test/dafny0/TypeMembers.dfy.verifier.expect create mode 100644 Test/dafny0/Wellfounded.dfy.verifier.expect create mode 100644 Test/dafny2/SmallestMissingNumber-functional.dfy.verifier.expect create mode 100644 Test/dafny2/StoreAndRetrieve.dfy.verifier.expect create mode 100644 Test/dafny3/CachedContainer.dfy.verifier.expect create mode 100644 Test/dafny4/Ackermann.dfy.verifier.expect create mode 100644 Test/dafny4/ClassRefinement.dfy.verifier.expect create mode 100644 Test/git-issues/git-issue-032.dfy.verifier.expect create mode 100644 Test/git-issues/git-issue-1185.dfy.java.expect create mode 100644 Test/git-issues/git-issue-262.dfy.go.expect create mode 100644 Test/git-issues/git-issue-262.dfy.java.expect create mode 100644 Test/git-issues/git-issue-262.dfy.js.expect create mode 100644 Test/git-issues/git-issue-4007.dfy.verifier.expect create mode 100644 Test/git-issues/git-issue-686.dfy.verifier.expect create mode 100644 Test/patterns/PatternMatching.dfy.verifier.expect create mode 100644 Test/unicodechars/comp/Collections.dfy.go.expect create mode 100644 Test/unicodechars/comp/Collections.dfy.java.expect create mode 100644 Test/unicodechars/comp/Collections.dfy.js.expect create mode 100644 Test/unicodechars/comp/Collections.dfy.py.expect create mode 100644 Test/unicodechars/comp/Comprehensions.dfy.py.expect create mode 100644 Test/unicodechars/comp/Numbers.dfy.go.expect create mode 100644 Test/unicodechars/comp/Numbers.dfy.py.expect diff --git a/Test/VerifyThis2015/Problem1.dfy b/Test/VerifyThis2015/Problem1.dfy index 20bd154ab8d..ab227e1ab85 100644 --- a/Test/VerifyThis2015/Problem1.dfy +++ b/Test/VerifyThis2015/Problem1.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Rustan Leino // 12 April 2015 diff --git a/Test/VerifyThis2015/Problem1.dfy.expect b/Test/VerifyThis2015/Problem1.dfy.expect index 110dd45761d..9e8a46acf90 100644 --- a/Test/VerifyThis2015/Problem1.dfy.expect +++ b/Test/VerifyThis2015/Problem1.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 18 verified, 0 errors true true false diff --git a/Test/VerifyThis2015/Problem2.dfy b/Test/VerifyThis2015/Problem2.dfy index 7466df6d410..9b57395e68b 100644 --- a/Test/VerifyThis2015/Problem2.dfy +++ b/Test/VerifyThis2015/Problem2.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Rustan Leino // 13 April 2015, and many subsequent enhancements and revisions diff --git a/Test/VerifyThis2015/Problem2.dfy.expect b/Test/VerifyThis2015/Problem2.dfy.expect index b49c1470365..e69de29bb2d 100644 --- a/Test/VerifyThis2015/Problem2.dfy.expect +++ b/Test/VerifyThis2015/Problem2.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 32 verified, 0 errors diff --git a/Test/VerifyThis2015/Problem3.dfy b/Test/VerifyThis2015/Problem3.dfy index 3be60b5d81a..1348acf0f4d 100644 --- a/Test/VerifyThis2015/Problem3.dfy +++ b/Test/VerifyThis2015/Problem3.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Rustan Leino // 12 April 2015 // VerifyThis 2015 diff --git a/Test/VerifyThis2015/Problem3.dfy.expect b/Test/VerifyThis2015/Problem3.dfy.expect index 4bb1c2c7251..e69de29bb2d 100644 --- a/Test/VerifyThis2015/Problem3.dfy.expect +++ b/Test/VerifyThis2015/Problem3.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 18 verified, 0 errors diff --git a/Test/c++/arrays.dfy b/Test/c++/arrays.dfy index 47140146468..a02b57e5ff8 100644 --- a/Test/c++/arrays.dfy +++ b/Test/c++/arrays.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/arrays.dfy.expect b/Test/c++/arrays.dfy.expect index 552f9355593..2ce9320d8c2 100644 --- a/Test/c++/arrays.dfy.expect +++ b/Test/c++/arrays.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 9 verified, 0 errors 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/c++/bit-vectors.dfy b/Test/c++/bit-vectors.dfy index b7f5d35df07..d27469e4ca5 100644 --- a/Test/c++/bit-vectors.dfy +++ b/Test/c++/bit-vectors.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint64 = i:int | 0 <= i < 0x10000000000000000 diff --git a/Test/c++/bit-vectors.dfy.expect b/Test/c++/bit-vectors.dfy.expect index e327aa2f73b..c491236b12b 100644 --- a/Test/c++/bit-vectors.dfy.expect +++ b/Test/c++/bit-vectors.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 6 verified, 0 errors 084841024 diff --git a/Test/c++/class.dfy b/Test/c++/class.dfy index 3039bd0466b..b10d703c981 100644 --- a/Test/c++/class.dfy +++ b/Test/c++/class.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/class.dfy.expect b/Test/c++/class.dfy.expect index 93717ecfa9e..80f1587d0a2 100644 --- a/Test/c++/class.dfy.expect +++ b/Test/c++/class.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 16 verified, 0 errors true true false 103 102 102 106 105 105 203 17 0 18 8 9 69 70 diff --git a/Test/c++/const.dfy b/Test/c++/const.dfy index 5ab9a62e0e9..1bfb79f0361 100644 --- a/Test/c++/const.dfy +++ b/Test/c++/const.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false module Holder { const x:bool := false diff --git a/Test/c++/const.dfy.expect b/Test/c++/const.dfy.expect index 823a60a105c..e69de29bb2d 100644 --- a/Test/c++/const.dfy.expect +++ b/Test/c++/const.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 1 verified, 0 errors diff --git a/Test/c++/datatypes.dfy b/Test/c++/datatypes.dfy index 9d077b97575..f56b7907cc3 100644 --- a/Test/c++/datatypes.dfy +++ b/Test/c++/datatypes.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/datatypes.dfy.expect b/Test/c++/datatypes.dfy.expect index efa71b43546..c122f5af791 100644 --- a/Test/c++/datatypes.dfy.expect +++ b/Test/c++/datatypes.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 12 verified, 0 errors Case A: 42 Case B: true This is expected diff --git a/Test/c++/generic.dfy b/Test/c++/generic.dfy index 7995928f93f..374c545b9c1 100644 --- a/Test/c++/generic.dfy +++ b/Test/c++/generic.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false class Test { var t:T diff --git a/Test/c++/generic.dfy.expect b/Test/c++/generic.dfy.expect index 00a51f822da..e69de29bb2d 100644 --- a/Test/c++/generic.dfy.expect +++ b/Test/c++/generic.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 3 verified, 0 errors diff --git a/Test/c++/hello.dfy b/Test/c++/hello.dfy index c887337c7e1..523d3152209 100644 --- a/Test/c++/hello.dfy +++ b/Test/c++/hello.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false method Main() { print "Hello world\n"; diff --git a/Test/c++/hello.dfy.expect b/Test/c++/hello.dfy.expect index 87101fec036..802992c4220 100644 --- a/Test/c++/hello.dfy.expect +++ b/Test/c++/hello.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors Hello world diff --git a/Test/c++/ints.dfy b/Test/c++/ints.dfy index cf7ae63e0da..4490a54817a 100644 --- a/Test/c++/ints.dfy +++ b/Test/c++/ints.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype sbyte = i:int | -0x80 <= i < 0x80 newtype byte = i:int | 0 <= i < 0x100 diff --git a/Test/c++/ints.dfy.expect b/Test/c++/ints.dfy.expect index aeabccf73b0..5fcb7b811cb 100644 --- a/Test/c++/ints.dfy.expect +++ b/Test/c++/ints.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 15 verified, 0 errors Result is z = 42 diff --git a/Test/c++/recursion.dfy b/Test/c++/recursion.dfy index e255b8e6b08..36048aab527 100644 --- a/Test/c++/recursion.dfy +++ b/Test/c++/recursion.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/recursion.dfy.expect b/Test/c++/recursion.dfy.expect index 15dbfe2bcd1..1ea14926e89 100644 --- a/Test/c++/recursion.dfy.expect +++ b/Test/c++/recursion.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors x !y 3 diff --git a/Test/c++/returns.dfy b/Test/c++/returns.dfy index 1ad19a8ce83..9e23121d26a 100644 --- a/Test/c++/returns.dfy +++ b/Test/c++/returns.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint64 = i:int | 0 <= i < 0x10000000000000000 diff --git a/Test/c++/returns.dfy.expect b/Test/c++/returns.dfy.expect index 8db105eaba8..48082f72f08 100644 --- a/Test/c++/returns.dfy.expect +++ b/Test/c++/returns.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors 12 diff --git a/Test/c++/seqs.dfy b/Test/c++/seqs.dfy index f97a42b2851..903208b07f8 100644 --- a/Test/c++/seqs.dfy +++ b/Test/c++/seqs.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint8 = i:int | 0 <= i < 0x100 newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/seqs.dfy.expect b/Test/c++/seqs.dfy.expect index 23f01695bc9..16f5f9d22ea 100644 --- a/Test/c++/seqs.dfy.expect +++ b/Test/c++/seqs.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 11 verified, 0 errors Head second:2 Trunc first:2 Head trunc: This is expected diff --git a/Test/c++/sets.dfy b/Test/c++/sets.dfy index 5bfb6f80f1e..10e2fe0501d 100644 --- a/Test/c++/sets.dfy +++ b/Test/c++/sets.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/sets.dfy.expect b/Test/c++/sets.dfy.expect index 1c8ede8765e..52a1e67717e 100644 --- a/Test/c++/sets.dfy.expect +++ b/Test/c++/sets.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 8 verified, 0 errors Identity: This is expected ValuesIdentity: This is expected DiffIdentity: This is expected diff --git a/Test/c++/while.dfy b/Test/c++/while.dfy index 40dc4699d11..0c0d7ee98df 100644 --- a/Test/c++/while.dfy +++ b/Test/c++/while.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/while.dfy.expect b/Test/c++/while.dfy.expect index 8dfe872ca51..9a44de1e2a3 100644 --- a/Test/c++/while.dfy.expect +++ b/Test/c++/while.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 2 verified, 0 errors 0 1 2 diff --git a/Test/comp/Arrays.dfy b/Test/comp/Arrays.dfy index 566f052e0a6..acb4225b358 100644 --- a/Test/comp/Arrays.dfy +++ b/Test/comp/Arrays.dfy @@ -1,10 +1,5 @@ -// RUN: %baredafny verify %args --relax-definite-assignment "%s" > "%t" -// RUN: %baredafny run --unicode-char:false --no-verify --target=cs %args "%s" >> "%t" -// RUN: %baredafny run --unicode-char:false --no-verify --target=js %args "%s" >> "%t" -// RUN: %baredafny run --unicode-char:false --no-verify --target=go %args "%s" >> "%t" -// RUN: %baredafny run --unicode-char:false --no-verify --target=java %args "%s" >> "%t" -// RUN: %baredafny run --unicode-char:false --no-verify --target=py %args "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false method LinearSearch(a: array, key: int) returns (n: nat) ensures 0 <= n <= a.Length diff --git a/Test/comp/Arrays.dfy.expect b/Test/comp/Arrays.dfy.expect index 8559e2f3c5c..ef3b884f98a 100644 --- a/Test/comp/Arrays.dfy.expect +++ b/Test/comp/Arrays.dfy.expect @@ -1,399 +1,3 @@ - -Dafny program verifier finished with 89 verified, 0 errors - -Dafny program verifier did not attempt verification -0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 -17 -[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] -[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] -[20, 21, 22] -[0, 1, 2, 3, 4, 5, 6, 7] -[0, 1, 2, 3, 4, 5, 6, 7] -d d d -h e l l o -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -1 0 0 0 0 -0 1 0 0 0 -0 0 1 0 0 -cube dims: 3 0 4 -[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] -It's null -hi hello tjena hej hola -hi hello tjena hej hola -hi hello tjena hej hola -d d d -h e l l o -8 8 8 8 -true true true -1 1 1 1 1 -2 2 2 2 2 -3 3 3 3 3 -4 4 4 4 4 -(d, 8, true, 1, 2, 3, 4) -D D D -0 0 0 0 -false false false -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -(D, 0, false, 0, 0, 0, 0) -8 0 -false 0 null null -8 8 -8 8 -8 8 -8 8 -D D D -D D D -D D D -D D r (D, D, r) -D D r -[19, 18, 9, 8] - true - false - true - false - false - false - true - true - false - true - false - true - true - false -hello there -false false -true true -false false -false false -uninitialized bytes: array[0, 0, 0] -bytes from display: array[7, 8, 9] -bytes from lambda: array[20, 21, 22] -uninitialized 1bytes: array[1, 1, 1] -1bytes from display: array[7, 8, 9] -1bytes from lambda: array[20, 21, 22] -17 19 18 20 -100 200 300 120 38 -hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -DDDDDabcdeabcdeggggg -DDDDDabcdeabcdeggggg -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] -DDDDDDDDDDagggggaggg -0 69 50 -0 69 50 -D k n -false false -true true -false false -false false -true true - -Dafny program verifier did not attempt verification -0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 -17 -[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] -[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] -[20, 21, 22] -[0, 1, 2, 3, 4, 5, 6, 7] -[0, 1, 2, 3, 4, 5, 6, 7] -d d d -h e l l o -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -1 0 0 0 0 -0 1 0 0 0 -0 0 1 0 0 -cube dims: 3 0 4 -[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] -It's null -hi hello tjena hej hola -hi hello tjena hej hola -hi hello tjena hej hola -d d d -h e l l o -8 8 8 8 -true true true -1 1 1 1 1 -2 2 2 2 2 -3 3 3 3 3 -4 4 4 4 4 -(d, 8, true, 1, 2, 3, 4) -D D D -0 0 0 0 -false false false -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -(D, 0, false, 0, 0, 0, 0) -8 0 -false 0 null null -8 8 -8 8 -8 8 -8 8 -D D D -D D D -D D D -D D r (D, D, r) -D D r -[19, 18, 9, 8] - true - false - true - false - false - false - true - true - false - true - false - true - true - false -hello there -false false -true true -false false -false false -uninitialized bytes: array[0, 0, 0] -bytes from display: array[7, 8, 9] -bytes from lambda: array[20, 21, 22] -uninitialized 1bytes: array[1, 1, 1] -1bytes from display: array[7, 8, 9] -1bytes from lambda: array[20, 21, 22] -17 19 18 20 -100 200 300 120 38 -hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -DDDDDabcdeabcdeggggg -DDDDDabcdeabcdeggggg -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] -DDDDDDDDDDagggggaggg -0 69 50 -0 69 50 -D k n -false false -true true -false false -false false -true true - -Dafny program verifier did not attempt verification -0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 -17 -[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] -[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] -[20, 21, 22] -[0, 1, 2, 3, 4, 5, 6, 7] -[0, 1, 2, 3, 4, 5, 6, 7] -d d d -h e l l o -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -1 0 0 0 0 -0 1 0 0 0 -0 0 1 0 0 -cube dims: 3 0 4 -[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] -It's null -hi hello tjena hej hola -hi hello tjena hej hola -hi hello tjena hej hola -d d d -h e l l o -8 8 8 8 -true true true -1 1 1 1 1 -2 2 2 2 2 -3 3 3 3 3 -4 4 4 4 4 -(d, 8, true, 1, 2, 3, 4) -D D D -0 0 0 0 -false false false -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -(D, 0, false, 0, 0, 0, 0) -8 0 -false 0 null null -8 8 -8 8 -8 8 -8 8 -D D D -D D D -D D D -D D r (D, D, r) -D D r -[19, 18, 9, 8] - true - false - true - false - false - false - true - true - false - true - false - true - true - false -hello there -false false -true true -false false -false false -uninitialized bytes: array[0, 0, 0] -bytes from display: array[7, 8, 9] -bytes from lambda: array[20, 21, 22] -uninitialized 1bytes: array[1, 1, 1] -1bytes from display: array[7, 8, 9] -1bytes from lambda: array[20, 21, 22] -17 19 18 20 -100 200 300 120 38 -hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -DDDDDabcdeabcdeggggg -DDDDDabcdeabcdeggggg -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] -[D, D, D, D, D, D, D, D, D, D, a, g, g, g, g, g, a, g, g, g] -0 69 50 -0 69 50 -D k n -false false -true true -false false -false false -true true - -Dafny program verifier did not attempt verification -0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 -17 -[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] -[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] -[20, 21, 22] -[0, 1, 2, 3, 4, 5, 6, 7] -[0, 1, 2, 3, 4, 5, 6, 7] -d d d -h e l l o -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -1 0 0 0 0 -0 1 0 0 0 -0 0 1 0 0 -cube dims: 3 0 4 -[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] -It's null -hi hello tjena hej hola -hi hello tjena hej hola -hi hello tjena hej hola -d d d -h e l l o -8 8 8 8 -true true true -1 1 1 1 1 -2 2 2 2 2 -3 3 3 3 3 -4 4 4 4 4 -(d, 8, true, 1, 2, 3, 4) -D D D -0 0 0 0 -false false false -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -(D, 0, false, 0, 0, 0, 0) -8 0 -false 0 null null -8 8 -8 8 -8 8 -8 8 -D D D -D D D -D D D -D D r (D, D, r) -D D r -[19, 18, 9, 8] - true - false - true - false - false - false - true - true - false - true - false - true - true - false -hello there -false false -true true -false false -false false -uninitialized bytes: array[0, 0, 0] -bytes from display: array[7, 8, 9] -bytes from lambda: array[20, 21, 22] -uninitialized 1bytes: array[1, 1, 1] -1bytes from display: array[7, 8, 9] -1bytes from lambda: array[20, 21, 22] -17 19 18 20 -100 200 300 120 38 -hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -DDDDDabcdeabcdeggggg -DDDDDabcdeabcdeggggg -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] -DDDDDDDDDDagggggaggg -0 69 50 -0 69 50 -D k n -false false -true true -false false -false false -true true - -Dafny program verifier did not attempt verification 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/comp/Arrays.dfy.go.expect b/Test/comp/Arrays.dfy.go.expect new file mode 100644 index 00000000000..1217623d90c --- /dev/null +++ b/Test/comp/Arrays.dfy.go.expect @@ -0,0 +1,96 @@ +0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 +17 +[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] +[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] +[20, 21, 22] +[0, 1, 2, 3, 4, 5, 6, 7] +[0, 1, 2, 3, 4, 5, 6, 7] +d d d +h e l l o +0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 +1 0 0 0 0 +0 1 0 0 0 +0 0 1 0 0 +cube dims: 3 0 4 +[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] +It's null +hi hello tjena hej hola +hi hello tjena hej hola +hi hello tjena hej hola +d d d +h e l l o +8 8 8 8 +true true true +1 1 1 1 1 +2 2 2 2 2 +3 3 3 3 3 +4 4 4 4 4 +(d, 8, true, 1, 2, 3, 4) +D D D +0 0 0 0 +false false false +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +(D, 0, false, 0, 0, 0, 0) +8 0 +false 0 null null +8 8 +8 8 +8 8 +8 8 +D D D +D D D +D D D +D D r (D, D, r) +D D r +[19, 18, 9, 8] + true + false + true + false + false + false + true + true + false + true + false + true + true + false +hello there +false false +true true +false false +false false +uninitialized bytes: array[0, 0, 0] +bytes from display: array[7, 8, 9] +bytes from lambda: array[20, 21, 22] +uninitialized 1bytes: array[1, 1, 1] +1bytes from display: array[7, 8, 9] +1bytes from lambda: array[20, 21, 22] +17 19 18 20 +100 200 300 120 38 +hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +DDDDDabcdeabcdeggggg +DDDDDabcdeabcdeggggg +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] +[D, D, D, D, D, D, D, D, D, D, a, g, g, g, g, g, a, g, g, g] +0 69 50 +0 69 50 +D k n +false false +true true +false false +false false +true true diff --git a/Test/comp/AsIs-Compile.dfy b/Test/comp/AsIs-Compile.dfy index 47084ed7633..319847564e2 100644 --- a/Test/comp/AsIs-Compile.dfy +++ b/Test/comp/AsIs-Compile.dfy @@ -1,10 +1,4 @@ -// RUN: %baredafny verify %args "%s" > "%t" -// RUN: %baredafny run --no-verify -t=cs %args "%s" >> "%t" -// RUN: %baredafny run --no-verify -t=js %args "%s" >> "%t" -// RUN: %baredafny run --no-verify -t=go %args "%s" >> "%t" -// RUN: %baredafny run --no-verify -t=java %args "%s" >> "%t" -// RUN: %baredafny run --no-verify -t=py %args "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" method Main() { var a: A, b: B, c: C, k: K, l: L := new M, new M, new M, new K, new L; diff --git a/Test/comp/AsIs-Compile.dfy.expect b/Test/comp/AsIs-Compile.dfy.expect index 36dfe46e91d..acc78c6e155 100644 --- a/Test/comp/AsIs-Compile.dfy.expect +++ b/Test/comp/AsIs-Compile.dfy.expect @@ -1,163 +1,3 @@ - -Dafny program verifier finished with 6 verified, 0 errors - -Dafny program verifier did not attempt verification -true true true true true -true true true true true -IsComparisons ---- -false true false false - true false false - true false -false false true false - false true false - false false -false false false true - false false true - false true -false true false false - false true false - false false -true true -false true -TestNullIs ---- -true true -true true -true true true true true true -true true true true true true -true true true true true true -true true true true true true -true true -false true -true true true true true true -false true false true false true -true true true true true true -false true false true false true -TestFromTraits ---- -5 -0 -4 -4 -4 -4 - -Dafny program verifier did not attempt verification -true true true true true -true true true true true -IsComparisons ---- -false true false false - true false false - true false -false false true false - false true false - false false -false false false true - false false true - false true -false true false false - false true false - false false -true true -false true -TestNullIs ---- -true true -true true -true true true true true true -true true true true true true -true true true true true true -true true true true true true -true true -false true -true true true true true true -false true false true false true -true true true true true true -false true false true false true -TestFromTraits ---- -5 -0 -4 -4 -4 -4 - -Dafny program verifier did not attempt verification -true true true true true -true true true true true -IsComparisons ---- -false true false false - true false false - true false -false false true false - false true false - false false -false false false true - false false true - false true -false true false false - false true false - false false -true true -false true -TestNullIs ---- -true true -true true -true true true true true true -true true true true true true -true true true true true true -true true true true true true -true true -false true -true true true true true true -false true false true false true -true true true true true true -false true false true false true -TestFromTraits ---- -5 -0 -4 -4 -4 -4 - -Dafny program verifier did not attempt verification -true true true true true -true true true true true -IsComparisons ---- -false true false false - true false false - true false -false false true false - false true false - false false -false false false true - false false true - false true -false true false false - false true false - false false -true true -false true -TestNullIs ---- -true true -true true -true true true true true true -true true true true true true -true true true true true true -true true true true true true -true true -false true -true true true true true true -false true false true false true -true true true true true true -false true false true false true -TestFromTraits ---- -5 -0 -4 -4 -4 -4 - -Dafny program verifier did not attempt verification true true true true true true true true true true IsComparisons ---- diff --git a/Test/comp/AutoInit.dfy b/Test/comp/AutoInit.dfy index b284619a80c..c0e752efa36 100644 --- a/Test/comp/AutoInit.dfy +++ b/Test/comp/AutoInit.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This file tests the compilation of some default values. It also includes some // regression tests for equality, printing, and tuples. diff --git a/Test/comp/AutoInit.dfy.expect b/Test/comp/AutoInit.dfy.expect index 51533cc6d5e..e68e2e43764 100644 --- a/Test/comp/AutoInit.dfy.expect +++ b/Test/comp/AutoInit.dfy.expect @@ -1,163 +1,3 @@ - -Dafny program verifier finished with 21 verified, 0 errors - -Dafny program verifier did not attempt verification -3 false 0 -false false true -() (0, false, false, []) -(null, 0) (null, 0) true -(null, null, null, 0) (null, null, null, 0) true -true false false true -true false false true -17 -1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or -(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) -1 -ww == null -- yes, as expected -true true true true -true true true -true true true -null null -null null -null null null -null null null -null null null -null null null -null null -null null null -null null null -DatatypeDefaultValues.EnumDatatype.MakeZero - DatatypeDefaultValues.IntList.Nil - 0 -DatatypeDefaultValues.GenericTree.Leaf - DatatypeDefaultValues.Complicated.ComplA(0, false) - DatatypeDefaultValues.CellCell.MakeCellCell(0) -null - null -Library.Color.Red(0) and Library.Color.Red(0) -Library.CoColor.Yellow and Library.CoColor.Yellow -Library.MoColor.MoYellow and Library.MoColor.MoYellow -0.0 and 0.0 -13 - -Dafny program verifier did not attempt verification -3 false 0 -false false true -() (0, false, false, []) -(null, 0) (null, 0) true -(null, null, null, 0) (null, null, null, 0) true -true false false true -true false false true -17 -1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or -(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) -1 -ww == null -- yes, as expected -true true true true -true true true -true true true -null null -null null -null null null -null null null -null null null -null null null -null null -null null null -null null null -DatatypeDefaultValues.EnumDatatype.MakeZero - DatatypeDefaultValues.IntList.Nil - 0 -DatatypeDefaultValues.GenericTree.Leaf - DatatypeDefaultValues.Complicated.ComplA(0, false) - DatatypeDefaultValues.CellCell.MakeCellCell(0) -null - null -Library.Color.Red(0) and Library.Color.Red(0) -Library.CoColor.Yellow and Library.CoColor.Yellow -Library.MoColor.MoYellow and Library.MoColor.MoYellow -0.0 and 0.0 -13 - -Dafny program verifier did not attempt verification -3 false 0 -false false true -() (0, false, false, []) -(null, 0) (null, 0) true -(null, null, null, 0) (null, null, null, 0) true -true false false true -true false false true -17 -1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or -(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) -1 -ww == null -- yes, as expected -true true true true -true true true -true true true -null null -null null -null null null -null null null -null null null -null null null -null null -null null null -null null null -DatatypeDefaultValues.EnumDatatype.MakeZero - DatatypeDefaultValues.IntList.Nil - 0 -DatatypeDefaultValues.GenericTree.Leaf - DatatypeDefaultValues.Complicated.ComplA(0, false) - DatatypeDefaultValues.CellCell.MakeCellCell(0) -null - null -Library.Color.Red(0) and Library.Color.Red(0) -Library.CoColor.Yellow and Library.CoColor.Yellow -Library.MoColor.MoYellow and Library.MoColor.MoYellow -0.0 and 0.0 -13 - -Dafny program verifier did not attempt verification -3 false 0 -false false true -() (0, false, false, []) -(null, 0) (null, 0) true -(null, null, null, 0) (null, null, null, 0) true -true false false true -true false false true -17 -1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or -(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) -1 -ww == null -- yes, as expected -true true true true -true true true -true true true -null null -null null -null null null -null null null -null null null -null null null -null null -null null null -null null null -DatatypeDefaultValues.EnumDatatype.MakeZero - DatatypeDefaultValues.IntList.Nil - 0 -DatatypeDefaultValues.GenericTree.Leaf - DatatypeDefaultValues.Complicated.ComplA(0, false) - DatatypeDefaultValues.CellCell.MakeCellCell(0) -null - null -Library.Color.Red(0) and Library.Color.Red(0) -Library.CoColor.Yellow and Library.CoColor.Yellow -Library.MoColor.MoYellow and Library.MoColor.MoYellow -0.0 and 0.0 -13 - -Dafny program verifier did not attempt verification 3 false 0 false false true () (0, false, false, []) diff --git a/Test/comp/ByMethodCompilation.dfy b/Test/comp/ByMethodCompilation.dfy index ea62d84b21e..7432f72f7d4 100644 --- a/Test/comp/ByMethodCompilation.dfy +++ b/Test/comp/ByMethodCompilation.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method Main() { var four := Four(); diff --git a/Test/comp/ByMethodCompilation.dfy.expect b/Test/comp/ByMethodCompilation.dfy.expect index 1519a955b0c..d61780e3fb8 100644 --- a/Test/comp/ByMethodCompilation.dfy.expect +++ b/Test/comp/ByMethodCompilation.dfy.expect @@ -1,35 +1,3 @@ - -Dafny program verifier finished with 13 verified, 0 errors - -Dafny program verifier did not attempt verification -hello -four is 4 -Recursive(7) = 14 -NonCompilableFunction: 4 7 -Sums: 14 3 - -Dafny program verifier did not attempt verification -hello -four is 4 -Recursive(7) = 14 -NonCompilableFunction: 4 7 -Sums: 14 3 - -Dafny program verifier did not attempt verification -hello -four is 4 -Recursive(7) = 14 -NonCompilableFunction: 4 7 -Sums: 14 3 - -Dafny program verifier did not attempt verification -hello -four is 4 -Recursive(7) = 14 -NonCompilableFunction: 4 7 -Sums: 14 3 - -Dafny program verifier did not attempt verification hello four is 4 Recursive(7) = 14 diff --git a/Test/comp/Calls.dfy b/Test/comp/Calls.dfy index 4a4916aea0c..c56bc3e5286 100644 --- a/Test/comp/Calls.dfy +++ b/Test/comp/Calls.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function F(x: int, y: bool): int { x + if y then 2 else 3 diff --git a/Test/comp/Calls.dfy.expect b/Test/comp/Calls.dfy.expect index 3317b8be164..cf4e1bc155b 100644 --- a/Test/comp/Calls.dfy.expect +++ b/Test/comp/Calls.dfy.expect @@ -1,43 +1,3 @@ - -Dafny program verifier finished with 6 verified, 0 errors - -Dafny program verifier did not attempt verification -5 0 0 false 0 false 0 -5 3 5 3 5 3 -5 3 5 3 5 3 -15 -[0, 1, 2, 4] -[0, 2, 4] ---> 5 <-- - -Dafny program verifier did not attempt verification -5 0 0 false 0 false 0 -5 3 5 3 5 3 -5 3 5 3 5 3 -15 -[0, 1, 2, 4] -[0, 2, 4] ---> 5 <-- - -Dafny program verifier did not attempt verification -5 0 0 false 0 false 0 -5 3 5 3 5 3 -5 3 5 3 5 3 -15 -[0, 1, 2, 4] -[0, 2, 4] ---> 5 <-- - -Dafny program verifier did not attempt verification -5 0 0 false 0 false 0 -5 3 5 3 5 3 -5 3 5 3 5 3 -15 -[0, 1, 2, 4] -[0, 2, 4] ---> 5 <-- - -Dafny program verifier did not attempt verification 5 0 0 false 0 false 0 5 3 5 3 5 3 5 3 5 3 5 3 diff --git a/Test/comp/Class.dfy b/Test/comp/Class.dfy index fb994f008e7..23591e43450 100644 --- a/Test/comp/Class.dfy +++ b/Test/comp/Class.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation class MyClass { var a: int diff --git a/Test/comp/Class.dfy.expect b/Test/comp/Class.dfy.expect index ba1482a164b..47e49966664 100644 --- a/Test/comp/Class.dfy.expect +++ b/Test/comp/Class.dfy.expect @@ -1,75 +1,3 @@ - -Dafny program verifier finished with 16 verified, 0 errors - -Dafny program verifier did not attempt verification -true true false -103 103 103 106 106 106 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -0 18 9 70 -0 18 9 70 -0 18 9 70 -70 -hi later -21 4 42 5 1 -TestGhostables -15 -Init called with x=15 -16 - -Dafny program verifier did not attempt verification -true true false -103 103 103 106 106 106 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -0 18 9 70 -0 18 9 70 -0 18 9 70 -70 -hi later -21 4 42 5 1 -TestGhostables -15 -Init called with x=15 -16 - -Dafny program verifier did not attempt verification -true true false -103 103 103 106 106 106 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -0 18 9 70 -0 18 9 70 -0 18 9 70 -70 -hi later -21 4 42 5 1 -TestGhostables -15 -Init called with x=15 -16 - -Dafny program verifier did not attempt verification -true true false -103 103 103 106 106 106 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -0 18 9 70 -0 18 9 70 -0 18 9 70 -70 -hi later -21 4 42 5 1 -TestGhostables -15 -Init called with x=15 -16 - -Dafny program verifier did not attempt verification true true false 103 103 103 106 106 106 203 17 0 18 8 9 69 70 diff --git a/Test/comp/Collections.dfy b/Test/comp/Collections.dfy index 104eb9f90ac..9457e44b170 100644 --- a/Test/comp/Collections.dfy +++ b/Test/comp/Collections.dfy @@ -1,10 +1,5 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false method Main() { Sets(); diff --git a/Test/comp/Collections.dfy.expect b/Test/comp/Collections.dfy.expect index 2361c1a88db..e705d887a7d 100644 --- a/Test/comp/Collections.dfy.expect +++ b/Test/comp/Collections.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 40 verified, 0 errors - -Dafny program verifier did not attempt verification Sets: {} {17, 82} {12, 17} cardinality: 0 2 2 union: {17, 82} {12, 17, 82} @@ -127,511 +123,3 @@ Multiset=== 1 3 |s|=2 |u|=4 1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Yellow := 21, Color.Blue := 30] -keys: {Color.Yellow, Color.Blue} -values: {21, 30} -items: {(Color.Yellow, 21), (Color.Blue, 30)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {21, 30} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/comp/Collections.dfy.go.expect b/Test/comp/Collections.dfy.go.expect new file mode 100644 index 00000000000..309d0c550c4 --- /dev/null +++ b/Test/comp/Collections.dfy.go.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/comp/Collections.dfy.java.expect b/Test/comp/Collections.dfy.java.expect new file mode 100644 index 00000000000..ed929a4d34c --- /dev/null +++ b/Test/comp/Collections.dfy.java.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Yellow := 21, Color.Blue := 30] +keys: {Color.Yellow, Color.Blue} +values: {21, 30} +items: {(Color.Yellow, 21), (Color.Blue, 30)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/comp/Collections.dfy.js.expect b/Test/comp/Collections.dfy.js.expect new file mode 100644 index 00000000000..309d0c550c4 --- /dev/null +++ b/Test/comp/Collections.dfy.js.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/comp/Collections.dfy.py.expect b/Test/comp/Collections.dfy.py.expect new file mode 100644 index 00000000000..61b4217bbaf --- /dev/null +++ b/Test/comp/Collections.dfy.py.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {21, 30} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/comp/Comprehensions.dfy b/Test/comp/Comprehensions.dfy index 29ac368f2c3..73c43b22bfa 100644 --- a/Test/comp/Comprehensions.dfy +++ b/Test/comp/Comprehensions.dfy @@ -1,10 +1,5 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false method Main() { AssignSuchThat(); diff --git a/Test/comp/Comprehensions.dfy.expect b/Test/comp/Comprehensions.dfy.expect index 18159ddde0a..c9703fc9397 100644 --- a/Test/comp/Comprehensions.dfy.expect +++ b/Test/comp/Comprehensions.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 32 verified, 0 errors - -Dafny program verifier did not attempt verification x=13 y=14 x=13 y=14 b=yes true false @@ -64,259 +60,3 @@ true true [137438953474, 137438953475, 137438953476, 137438953477, 137438953479] cdefh cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[14 := 7, 12 := 6, 13 := 6] -map[18 := 14, 17 := 13, 16 := 12] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh diff --git a/Test/comp/Comprehensions.dfy.py.expect b/Test/comp/Comprehensions.dfy.py.expect new file mode 100644 index 00000000000..aeaa31fc0f3 --- /dev/null +++ b/Test/comp/Comprehensions.dfy.py.expect @@ -0,0 +1,62 @@ +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[14 := 7, 12 := 6, 13 := 6] +map[18 := 14, 17 := 13, 16 := 12] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh diff --git a/Test/comp/ComprehensionsNewSyntax.dfy b/Test/comp/ComprehensionsNewSyntax.dfy index a324b622e8a..6cd88aeb4f7 100644 --- a/Test/comp/ComprehensionsNewSyntax.dfy +++ b/Test/comp/ComprehensionsNewSyntax.dfy @@ -1,10 +1,5 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method Main() { Quantifier(); diff --git a/Test/comp/ComprehensionsNewSyntax.dfy.expect b/Test/comp/ComprehensionsNewSyntax.dfy.expect index 408769f4b67..b70314ff87b 100644 --- a/Test/comp/ComprehensionsNewSyntax.dfy.expect +++ b/Test/comp/ComprehensionsNewSyntax.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 10 verified, 0 errors - -Dafny program verifier did not attempt verification true false true false map[12 := 6, 13 := 6, 14 := 7] @@ -36,147 +32,3 @@ false false false false true true true true false false false false true true true true - -Dafny program verifier did not attempt verification -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true - -Dafny program verifier did not attempt verification -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true - -Dafny program verifier did not attempt verification -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true - -Dafny program verifier did not attempt verification -true false -true false -map[14 := 7, 12 := 6, 13 := 6] -map[18 := 14, 17 := 13, 16 := 12] -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true diff --git a/Test/comp/ComprehensionsNewSyntax.dfy.py.expect b/Test/comp/ComprehensionsNewSyntax.dfy.py.expect new file mode 100644 index 00000000000..b19cef0ba0e --- /dev/null +++ b/Test/comp/ComprehensionsNewSyntax.dfy.py.expect @@ -0,0 +1,34 @@ +true false +true false +map[14 := 7, 12 := 6, 13 := 6] +map[18 := 14, 17 := 13, 16 := 12] +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true diff --git a/Test/comp/CovariantCollections.dfy b/Test/comp/CovariantCollections.dfy index 12301df3b09..6dd73ee7fea 100644 --- a/Test/comp/CovariantCollections.dfy +++ b/Test/comp/CovariantCollections.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method Main() { Sequences(); diff --git a/Test/comp/CovariantCollections.dfy.expect b/Test/comp/CovariantCollections.dfy.expect index e029d3abc3b..a9d00f4a65d 100644 --- a/Test/comp/CovariantCollections.dfy.expect +++ b/Test/comp/CovariantCollections.dfy.expect @@ -1,223 +1,3 @@ - -Dafny program verifier finished with 25 verified, 0 errors - -Dafny program verifier did not attempt verification -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17] [12, 17] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - comprehension: {82} - union: {17, 82} {12, 17, 82} - intersection: {} {17} - difference: {} {82} - subset: true false true - proper subset: true false false - membership: false true true -Multisets: {} {17, 17, 82, 82} {12, 17} - cardinality: 0 4 2 - update: {17, 17, 42, 42, 42} {12, 17, 42} - multiplicity: 2 0 20 - union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} - intersection: {} {17, 82, 82} - difference: {} {17, 82, 82} - subset: true false true - proper subset: true false false - membership: false true true -Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} - cardinality: 0 3 2 - update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} - comprehension: {17 := 12, 82 := 12} - Keys: {12, 17, 82} - Values: {17, 82} - eq: false true true - eq: true true true true true true - eq: true true true true true true - eq: true false true false true false - eq: true false true false true false - eq: true true true true true true - eq: true true true true true true -set: {20, 30} -multiset: {20, 30} -seq: [20, 30] -map: {20 := 30, 30 := 20} -true -true -1 1 -1 1 - -Dafny program verifier did not attempt verification -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17] [12, 17] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - comprehension: {82} - union: {17, 82} {12, 17, 82} - intersection: {} {17} - difference: {} {82} - subset: true false true - proper subset: true false false - membership: false true true -Multisets: {} {17, 17, 82, 82} {12, 17} - cardinality: 0 4 2 - update: {17, 17, 42, 42, 42} {12, 17, 42} - multiplicity: 2 0 20 - union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} - intersection: {} {17, 82, 82} - difference: {} {17, 82, 82} - subset: true false true - proper subset: true false false - membership: false true true -Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} - cardinality: 0 3 2 - update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} - comprehension: {17 := 12, 82 := 12} - Keys: {12, 17, 82} - Values: {17, 82} - eq: false true true - eq: true true true true true true - eq: true true true true true true - eq: true false true false true false - eq: true false true false true false - eq: true true true true true true - eq: true true true true true true -set: {20, 30} -multiset: {20, 30} -seq: [20, 30] -map: {20 := 30, 30 := 20} -true -true -1 1 -1 1 - -Dafny program verifier did not attempt verification -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17] [12, 17] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - comprehension: {82} - union: {17, 82} {12, 17, 82} - intersection: {} {17} - difference: {} {82} - subset: true false true - proper subset: true false false - membership: false true true -Multisets: {} {17, 17, 82, 82} {12, 17} - cardinality: 0 4 2 - update: {17, 17, 42, 42, 42} {12, 17, 42} - multiplicity: 2 0 20 - union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} - intersection: {} {17, 82, 82} - difference: {} {17, 82, 82} - subset: true false true - proper subset: true false false - membership: false true true -Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} - cardinality: 0 3 2 - update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} - comprehension: {17 := 12, 82 := 12} - Keys: {12, 17, 82} - Values: {17, 82} - eq: false true true - eq: true true true true true true - eq: true true true true true true - eq: true false true false true false - eq: true false true false true false - eq: true true true true true true - eq: true true true true true true -set: {20, 30} -multiset: {20, 30} -seq: [20, 30] -map: {20 := 30, 30 := 20} -true -true -1 1 -1 1 - -Dafny program verifier did not attempt verification -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17] [12, 17] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - comprehension: {82} - union: {17, 82} {12, 17, 82} - intersection: {} {17} - difference: {} {82} - subset: true false true - proper subset: true false false - membership: false true true -Multisets: {} {17, 17, 82, 82} {12, 17} - cardinality: 0 4 2 - update: {17, 17, 42, 42, 42} {12, 17, 42} - multiplicity: 2 0 20 - union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} - intersection: {} {17, 82, 82} - difference: {} {17, 82, 82} - subset: true false true - proper subset: true false false - membership: false true true -Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} - cardinality: 0 3 2 - update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} - comprehension: {17 := 12, 82 := 12} - Keys: {12, 17, 82} - Values: {17, 82} - eq: false true true - eq: true true true true true true - eq: true true true true true true - eq: true false true false true false - eq: true false true false true false - eq: true true true true true true - eq: true true true true true true -set: {20, 30} -multiset: {20, 30} -seq: [20, 30] -map: {20 := 30, 30 := 20} -true -true -1 1 -1 1 - -Dafny program verifier did not attempt verification Sequences: [] [17, 82, 17, 82] [12, 17] cardinality: 0 4 2 update: [42, 82, 17, 82] [42, 17] diff --git a/Test/comp/Datatype.dfy b/Test/comp/Datatype.dfy index 2599907a94c..44579383e5c 100644 --- a/Test/comp/Datatype.dfy +++ b/Test/comp/Datatype.dfy @@ -1,10 +1,5 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation datatype List = Nil | Cons(head: int, tail: List) diff --git a/Test/comp/Datatype.dfy.expect b/Test/comp/Datatype.dfy.expect index 84dceeb16e6..93e37a9562a 100644 --- a/Test/comp/Datatype.dfy.expect +++ b/Test/comp/Datatype.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 12 verified, 0 errors - -Dafny program verifier did not attempt verification List.Nil List.Cons(5, List.Nil) (List.Nil, List.Cons(5, List.Nil)) @@ -24,99 +20,3 @@ Record.Record(58, true) 199 800 801 802 800 801 802 - -Dafny program verifier did not attempt verification -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) -0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) -Stream.Next -Stream.Next -{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} -CoBerry.Hjortron true true false -false -42 'q' hello -1701 -Record.Record(58, true) -199 -800 801 802 -800 801 802 - -Dafny program verifier did not attempt verification -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) -0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) -Stream.Next -Stream.Next -{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} -CoBerry.Hjortron true true false -false -42 'q' hello -1701 -Record.Record(58, true) -199 -800 801 802 -800 801 802 - -Dafny program verifier did not attempt verification -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) -0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) -Stream.Next -Stream.Next -{Berry.Jordgubb, Berry.Smultron, Berry.Hallon} -CoBerry.Hjortron true true false -false -42 'q' hello -1701 -Record.Record(58, true) -199 -800 801 802 -800 801 802 - -Dafny program verifier did not attempt verification -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) -0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) -Stream.Next -Stream.Next -{Berry.Hallon, Berry.Smultron, Berry.Jordgubb} -CoBerry.Hjortron true true false -false -42 'q' hello -1701 -Record.Record(58, true) -199 -800 801 802 -800 801 802 diff --git a/Test/comp/Datatype.dfy.java.expect b/Test/comp/Datatype.dfy.java.expect new file mode 100644 index 00000000000..e5a32fd58bc --- /dev/null +++ b/Test/comp/Datatype.dfy.java.expect @@ -0,0 +1,22 @@ +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) +0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) +Stream.Next +Stream.Next +{Berry.Jordgubb, Berry.Smultron, Berry.Hallon} +CoBerry.Hjortron true true false +false +42 'q' hello +1701 +Record.Record(58, true) +199 +800 801 802 +800 801 802 diff --git a/Test/comp/Datatype.dfy.py.expect b/Test/comp/Datatype.dfy.py.expect new file mode 100644 index 00000000000..0f64b73ba2d --- /dev/null +++ b/Test/comp/Datatype.dfy.py.expect @@ -0,0 +1,22 @@ +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) +0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) +Stream.Next +Stream.Next +{Berry.Hallon, Berry.Smultron, Berry.Jordgubb} +CoBerry.Hjortron true true false +false +42 'q' hello +1701 +Record.Record(58, true) +199 +800 801 802 +800 801 802 diff --git a/Test/comp/DefaultParameters-Compile.dfy b/Test/comp/DefaultParameters-Compile.dfy index 145b8670647..cd6ba1163b1 100644 --- a/Test/comp/DefaultParameters-Compile.dfy +++ b/Test/comp/DefaultParameters-Compile.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method M(x: int := 16) { print x, "\n"; diff --git a/Test/comp/DefaultParameters-Compile.dfy.expect b/Test/comp/DefaultParameters-Compile.dfy.expect index b94739d5be1..b4b87321eb5 100644 --- a/Test/comp/DefaultParameters-Compile.dfy.expect +++ b/Test/comp/DefaultParameters-Compile.dfy.expect @@ -1,51 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification -12 -16 -1 2 -1 3 -10 20 -11 13 -Color.Blue(2, 1) Color.Red(3, 4) -5 5 6 -6 6 7 - -Dafny program verifier did not attempt verification -12 -16 -1 2 -1 3 -10 20 -11 13 -Color.Blue(2, 1) Color.Red(3, 4) -5 5 6 -6 6 7 - -Dafny program verifier did not attempt verification -12 -16 -1 2 -1 3 -10 20 -11 13 -Color.Blue(2, 1) Color.Red(3, 4) -5 5 6 -6 6 7 - -Dafny program verifier did not attempt verification -12 -16 -1 2 -1 3 -10 20 -11 13 -Color.Blue(2, 1) Color.Red(3, 4) -5 5 6 -6 6 7 - -Dafny program verifier did not attempt verification 12 16 1 2 diff --git a/Test/comp/DowncastClone.dfy b/Test/comp/DowncastClone.dfy index b90066da781..cb1f095b3f4 100644 --- a/Test/comp/DowncastClone.dfy +++ b/Test/comp/DowncastClone.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Co<+T> = Co(T) | C datatype ReCo<+T> = ReCo(T) diff --git a/Test/comp/DowncastClone.dfy.expect b/Test/comp/DowncastClone.dfy.expect index 982b36b396c..b0613294f3c 100644 --- a/Test/comp/DowncastClone.dfy.expect +++ b/Test/comp/DowncastClone.dfy.expect @@ -1,43 +1,3 @@ - -Dafny program verifier finished with 7 verified, 0 errors - -Dafny program verifier did not attempt verification -Co.Co(_module.Y) and Co.Co(_module.Y) -_module.Y and _module.Y -_module.Y _module.Y -false and false -false and false -_module.Y and _module.Y -Done - -Dafny program verifier did not attempt verification -Co.Co(_module.Y) and Co.Co(_module.Y) -_module.Y and _module.Y -_module.Y _module.Y -false and false -false and false -_module.Y and _module.Y -Done - -Dafny program verifier did not attempt verification -Co.Co(_module.Y) and Co.Co(_module.Y) -_module.Y and _module.Y -_module.Y _module.Y -false and false -false and false -_module.Y and _module.Y -Done - -Dafny program verifier did not attempt verification -Co.Co(_module.Y) and Co.Co(_module.Y) -_module.Y and _module.Y -_module.Y _module.Y -false and false -false and false -_module.Y and _module.Y -Done - -Dafny program verifier did not attempt verification Co.Co(_module.Y) and Co.Co(_module.Y) _module.Y and _module.Y _module.Y _module.Y diff --git a/Test/comp/ErasableTypeWrappers.dfy b/Test/comp/ErasableTypeWrappers.dfy index d62d3736622..a280099699f 100644 --- a/Test/comp/ErasableTypeWrappers.dfy +++ b/Test/comp/ErasableTypeWrappers.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false datatype SingletonRecord = SingletonRecord(u: int) datatype GhostOrNot = ghost Ghost(a: int, b: int) | Compiled(x: int) diff --git a/Test/comp/ErasableTypeWrappers.dfy.expect b/Test/comp/ErasableTypeWrappers.dfy.expect index 5013d9fc327..2a82d776c64 100644 --- a/Test/comp/ErasableTypeWrappers.dfy.expect +++ b/Test/comp/ErasableTypeWrappers.dfy.expect @@ -1,87 +1,3 @@ - -Dafny program verifier finished with 10 verified, 0 errors - -Dafny program verifier did not attempt verification -62 63 (2, 5) (2, 5) 3 -62 63 5 5 3 -5 5 3 -1062 1063 1005 1005 1003 -true true true -20 20 *20 21 20 -20 20 *20 21 20 -true false -true false true false -true false -0 (0, 0) 0 Color.Pink -13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false - 3.14 2.7 -18.0 18.0 3.0 false -18.0 4.0 true -HasConst.MakeC(4) (4, 4) -4 (4, 4) -OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.AnotherIntsWrapper(OptimizationChecks.Ints.Ints(5, 7)) - -Dafny program verifier did not attempt verification -62 63 (2, 5) (2, 5) 3 -62 63 5 5 3 -5 5 3 -1062 1063 1005 1005 1003 -true true true -20 20 *20 21 20 -20 20 *20 21 20 -true false -true false true false -true false -0 (0, 0) 0 Color.Pink -13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false - 3.14 2.7 -18.0 18.0 3.0 false -18.0 4.0 true -HasConst.MakeC(4) (4, 4) -4 (4, 4) -OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.AnotherIntsWrapper(OptimizationChecks.Ints.Ints(5, 7)) - -Dafny program verifier did not attempt verification -62 63 (2, 5) (2, 5) 3 -62 63 5 5 3 -5 5 3 -1062 1063 1005 1005 1003 -true true true -20 20 *20 21 20 -20 20 *20 21 20 -true false -true false true false -true false -0 (0, 0) 0 Color.Pink -13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false - 3.14 2.7 -18.0 18.0 3.0 false -18.0 4.0 true -HasConst.MakeC(4) (4, 4) -4 (4, 4) -OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.AnotherIntsWrapper(OptimizationChecks.Ints.Ints(5, 7)) - -Dafny program verifier did not attempt verification -62 63 (2, 5) (2, 5) 3 -62 63 5 5 3 -5 5 3 -1062 1063 1005 1005 1003 -true true true -20 20 *20 21 20 -20 20 *20 21 20 -true false -true false true false -true false -0 (0, 0) 0 Color.Pink -13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false - 3.14 2.7 -18.0 18.0 3.0 false -18.0 4.0 true -HasConst.MakeC(4) (4, 4) -4 (4, 4) -OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.AnotherIntsWrapper(OptimizationChecks.Ints.Ints(5, 7)) - -Dafny program verifier did not attempt verification 62 63 (2, 5) (2, 5) 3 62 63 5 5 3 5 5 3 diff --git a/Test/comp/EuclideanDivision.dfy b/Test/comp/EuclideanDivision.dfy index 7ae1803cad8..1286dcd125b 100644 --- a/Test/comp/EuclideanDivision.dfy +++ b/Test/comp/EuclideanDivision.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Some runtimes (like the one for C#) have three implementations // of Euclidean div/mod: one for `int`, one for `long`, and one diff --git a/Test/comp/EuclideanDivision.dfy.expect b/Test/comp/EuclideanDivision.dfy.expect index b538c9494de..e2585ff8c70 100644 --- a/Test/comp/EuclideanDivision.dfy.expect +++ b/Test/comp/EuclideanDivision.dfy.expect @@ -1,39 +1,3 @@ - -Dafny program verifier finished with 11 verified, 0 errors - -Dafny program verifier did not attempt verification -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 - -Dafny program verifier did not attempt verification -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 - -Dafny program verifier did not attempt verification -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 - -Dafny program verifier did not attempt verification -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 - -Dafny program verifier did not attempt verification 2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 diff --git a/Test/comp/ForLoops-Compilation.dfy b/Test/comp/ForLoops-Compilation.dfy index 97101b82961..b468d21f69f 100644 --- a/Test/comp/ForLoops-Compilation.dfy +++ b/Test/comp/ForLoops-Compilation.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method Main() { TestM(0, 0); diff --git a/Test/comp/ForLoops-Compilation.dfy.expect b/Test/comp/ForLoops-Compilation.dfy.expect index d67a5429fed..97724a714bc 100644 --- a/Test/comp/ForLoops-Compilation.dfy.expect +++ b/Test/comp/ForLoops-Compilation.dfy.expect @@ -1,203 +1,3 @@ - -Dafny program verifier finished with 23 verified, 0 errors - -Dafny program verifier did not attempt verification -0 0 0 0 --2 -2 -2 -2 -0 0 0 0 -145 145 145 145 -0 0 -0 0 -57 57 -0 0 -32385 32385 -0 0 --128 -128 -126 126 -0 0 -0 * 2 == 0 -2 * 0 == 0 -1 * 1 == 1 -6 * 5 == 30 -0 + 3 == 3 -3 + 0 == 3 -4 + 0 == 4 -0 + 0 == 0 -19 + 14 == 33 -4 4 4 -== BC10 == -0 --++--++---- *** -1 --++--++----++-- -2 --++--++----++--++--++--++--++--++--++ *** -3 --++--++----++--++--++--++--++--++--++ *** -4 --++--++----++--++--++--++--++--++--++ *** -5 --++--++----++--++--++--++--++--++--++ *** -6 --++--++----++--++--++--++--++--++--++ *** -7 --++--++----++--++--++--++--++--++--++ *** -8 --++--++----++--++--++--++--++--++--++ *** -9 --++--++----++--++--++--++--++--++--++ *** -== BC11 == -0 ||--++----++-- *** -1 ||--++----++--++-- -2 ||--++----++--++--++--++--++--++--++--++ *** -3 ||--++----++--++--++--++--++--++--++--++ *** -4 ||--++----++--++--++--++--++--++--++--++ *** -5 ||--++----++--++--++--++--++--++--++--++ *** -6 ||--++----++--++--++--++--++--++--++--++ *** -7 ||--++----++--++--++--++--++--++--++--++ *** -8 ||--++----++--++--++--++--++--++--++--++ *** -9 ||--++----++--++--++--++--++--++--++--++ *** -true true true 15 -all good - -Dafny program verifier did not attempt verification -0 0 0 0 --2 -2 -2 -2 -0 0 0 0 -145 145 145 145 -0 0 -0 0 -57 57 -0 0 -32385 32385 -0 0 --128 -128 -126 126 -0 0 -0 * 2 == 0 -2 * 0 == 0 -1 * 1 == 1 -6 * 5 == 30 -0 + 3 == 3 -3 + 0 == 3 -4 + 0 == 4 -0 + 0 == 0 -19 + 14 == 33 -4 4 4 -== BC10 == -0 --++--++---- *** -1 --++--++----++-- -2 --++--++----++--++--++--++--++--++--++ *** -3 --++--++----++--++--++--++--++--++--++ *** -4 --++--++----++--++--++--++--++--++--++ *** -5 --++--++----++--++--++--++--++--++--++ *** -6 --++--++----++--++--++--++--++--++--++ *** -7 --++--++----++--++--++--++--++--++--++ *** -8 --++--++----++--++--++--++--++--++--++ *** -9 --++--++----++--++--++--++--++--++--++ *** -== BC11 == -0 ||--++----++-- *** -1 ||--++----++--++-- -2 ||--++----++--++--++--++--++--++--++--++ *** -3 ||--++----++--++--++--++--++--++--++--++ *** -4 ||--++----++--++--++--++--++--++--++--++ *** -5 ||--++----++--++--++--++--++--++--++--++ *** -6 ||--++----++--++--++--++--++--++--++--++ *** -7 ||--++----++--++--++--++--++--++--++--++ *** -8 ||--++----++--++--++--++--++--++--++--++ *** -9 ||--++----++--++--++--++--++--++--++--++ *** -true true true 15 -all good - -Dafny program verifier did not attempt verification -0 0 0 0 --2 -2 -2 -2 -0 0 0 0 -145 145 145 145 -0 0 -0 0 -57 57 -0 0 -32385 32385 -0 0 --128 -128 -126 126 -0 0 -0 * 2 == 0 -2 * 0 == 0 -1 * 1 == 1 -6 * 5 == 30 -0 + 3 == 3 -3 + 0 == 3 -4 + 0 == 4 -0 + 0 == 0 -19 + 14 == 33 -4 4 4 -== BC10 == -0 --++--++---- *** -1 --++--++----++-- -2 --++--++----++--++--++--++--++--++--++ *** -3 --++--++----++--++--++--++--++--++--++ *** -4 --++--++----++--++--++--++--++--++--++ *** -5 --++--++----++--++--++--++--++--++--++ *** -6 --++--++----++--++--++--++--++--++--++ *** -7 --++--++----++--++--++--++--++--++--++ *** -8 --++--++----++--++--++--++--++--++--++ *** -9 --++--++----++--++--++--++--++--++--++ *** -== BC11 == -0 ||--++----++-- *** -1 ||--++----++--++-- -2 ||--++----++--++--++--++--++--++--++--++ *** -3 ||--++----++--++--++--++--++--++--++--++ *** -4 ||--++----++--++--++--++--++--++--++--++ *** -5 ||--++----++--++--++--++--++--++--++--++ *** -6 ||--++----++--++--++--++--++--++--++--++ *** -7 ||--++----++--++--++--++--++--++--++--++ *** -8 ||--++----++--++--++--++--++--++--++--++ *** -9 ||--++----++--++--++--++--++--++--++--++ *** -true true true 15 -all good - -Dafny program verifier did not attempt verification -0 0 0 0 --2 -2 -2 -2 -0 0 0 0 -145 145 145 145 -0 0 -0 0 -57 57 -0 0 -32385 32385 -0 0 --128 -128 -126 126 -0 0 -0 * 2 == 0 -2 * 0 == 0 -1 * 1 == 1 -6 * 5 == 30 -0 + 3 == 3 -3 + 0 == 3 -4 + 0 == 4 -0 + 0 == 0 -19 + 14 == 33 -4 4 4 -== BC10 == -0 --++--++---- *** -1 --++--++----++-- -2 --++--++----++--++--++--++--++--++--++ *** -3 --++--++----++--++--++--++--++--++--++ *** -4 --++--++----++--++--++--++--++--++--++ *** -5 --++--++----++--++--++--++--++--++--++ *** -6 --++--++----++--++--++--++--++--++--++ *** -7 --++--++----++--++--++--++--++--++--++ *** -8 --++--++----++--++--++--++--++--++--++ *** -9 --++--++----++--++--++--++--++--++--++ *** -== BC11 == -0 ||--++----++-- *** -1 ||--++----++--++-- -2 ||--++----++--++--++--++--++--++--++--++ *** -3 ||--++----++--++--++--++--++--++--++--++ *** -4 ||--++----++--++--++--++--++--++--++--++ *** -5 ||--++----++--++--++--++--++--++--++--++ *** -6 ||--++----++--++--++--++--++--++--++--++ *** -7 ||--++----++--++--++--++--++--++--++--++ *** -8 ||--++----++--++--++--++--++--++--++--++ *** -9 ||--++----++--++--++--++--++--++--++--++ *** -true true true 15 -all good - -Dafny program verifier did not attempt verification 0 0 0 0 -2 -2 -2 -2 0 0 0 0 diff --git a/Test/comp/ForallNewSyntax.dfy b/Test/comp/ForallNewSyntax.dfy index c17bf86830e..85e609b37b3 100644 --- a/Test/comp/ForallNewSyntax.dfy +++ b/Test/comp/ForallNewSyntax.dfy @@ -1,10 +1,4 @@ -// RUN: %baredafny verify %args --relax-definite-assignment --function-syntax:3 --quantifier-syntax:4 "%s" > "%t" -// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:cs "%s" >> "%t" -// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:js "%s" >> "%t" -// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:go "%s" >> "%t" -// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:java "%s" >> "%t" -// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --function-syntax:3 --quantifier-syntax:4 --relax-definite-assignment method Main() { var arrayTests := new ArrayTests(); diff --git a/Test/comp/ForallNewSyntax.dfy.expect b/Test/comp/ForallNewSyntax.dfy.expect index 241ea9ea521..5b33d939607 100644 --- a/Test/comp/ForallNewSyntax.dfy.expect +++ b/Test/comp/ForallNewSyntax.dfy.expect @@ -1,183 +1,3 @@ - -Dafny program verifier finished with 25 verified, 0 errors - -Dafny program verifier did not attempt verification -Arrays: Basic cases -[0, 1, 2, 3, 4] -[0, 1, 2, 3, 4] -[0, 1, 4, 3, 8] - -Arrays: Wrong index -[0, 0, 1, 2, 3] -[0, 0, 1, 2, 3] -[1, 2, 3, 4, 5] - -Arrays: Sequence conversion -[2, 1, 4, 5, 6] -[0, 3, 3, 3, 4] - -Arrays: Index collection -[1, 1, 2, 3, 4] -[1, 1, 2, 3, 4] - -Arrays: Functions -[1, 1, 3, 4, 5] -[1, 1, 3, 4, 5] -[1, 2, 3, 3, 5] -[1, 2, 3, 4, 5] - -Multi-dimensional arrays -[[0, 2, 4], [1, 3, 5], [2, 4, 6]] -[[0, 1, 2], [2, 3, 4], [4, 5, 6]] - -Objects: Basic cases -[(0, 1.0), (0, 2.0), (0, 3.0)] -[(2, 1.0), (2, 2.0), (4, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] - -Objects: Bad field accesses -[(2, 1.0), (3, 2.0), (4, 3.0)] -[(2, 1.0), (2, 2.0), (2, 3.0)] -[(2, 1.0), (3, 2.0), (1, 3.0)] - -Objects: Functions -[(2, 1.0), (4, 2.0), (6, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] -[(3, 1.0), (4, 2.0), (5, 3.0)] - -Dafny program verifier did not attempt verification -Arrays: Basic cases -[0, 1, 2, 3, 4] -[0, 1, 2, 3, 4] -[0, 1, 4, 3, 8] - -Arrays: Wrong index -[0, 0, 1, 2, 3] -[0, 0, 1, 2, 3] -[1, 2, 3, 4, 5] - -Arrays: Sequence conversion -[2, 1, 4, 5, 6] -[0, 3, 3, 3, 4] - -Arrays: Index collection -[1, 1, 2, 3, 4] -[1, 1, 2, 3, 4] - -Arrays: Functions -[1, 1, 3, 4, 5] -[1, 1, 3, 4, 5] -[1, 2, 3, 3, 5] -[1, 2, 3, 4, 5] - -Multi-dimensional arrays -[[0, 2, 4], [1, 3, 5], [2, 4, 6]] -[[0, 1, 2], [2, 3, 4], [4, 5, 6]] - -Objects: Basic cases -[(0, 1.0), (0, 2.0), (0, 3.0)] -[(2, 1.0), (2, 2.0), (4, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] - -Objects: Bad field accesses -[(2, 1.0), (3, 2.0), (4, 3.0)] -[(2, 1.0), (2, 2.0), (2, 3.0)] -[(2, 1.0), (3, 2.0), (1, 3.0)] - -Objects: Functions -[(2, 1.0), (4, 2.0), (6, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] -[(3, 1.0), (4, 2.0), (5, 3.0)] - -Dafny program verifier did not attempt verification -Arrays: Basic cases -[0, 1, 2, 3, 4] -[0, 1, 2, 3, 4] -[0, 1, 4, 3, 8] - -Arrays: Wrong index -[0, 0, 1, 2, 3] -[0, 0, 1, 2, 3] -[1, 2, 3, 4, 5] - -Arrays: Sequence conversion -[2, 1, 4, 5, 6] -[0, 3, 3, 3, 4] - -Arrays: Index collection -[1, 1, 2, 3, 4] -[1, 1, 2, 3, 4] - -Arrays: Functions -[1, 1, 3, 4, 5] -[1, 1, 3, 4, 5] -[1, 2, 3, 3, 5] -[1, 2, 3, 4, 5] - -Multi-dimensional arrays -[[0, 2, 4], [1, 3, 5], [2, 4, 6]] -[[0, 1, 2], [2, 3, 4], [4, 5, 6]] - -Objects: Basic cases -[(0, 1.0), (0, 2.0), (0, 3.0)] -[(2, 1.0), (2, 2.0), (4, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] - -Objects: Bad field accesses -[(2, 1.0), (3, 2.0), (4, 3.0)] -[(2, 1.0), (2, 2.0), (2, 3.0)] -[(2, 1.0), (3, 2.0), (1, 3.0)] - -Objects: Functions -[(2, 1.0), (4, 2.0), (6, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] -[(3, 1.0), (4, 2.0), (5, 3.0)] - -Dafny program verifier did not attempt verification -Arrays: Basic cases -[0, 1, 2, 3, 4] -[0, 1, 2, 3, 4] -[0, 1, 4, 3, 8] - -Arrays: Wrong index -[0, 0, 1, 2, 3] -[0, 0, 1, 2, 3] -[1, 2, 3, 4, 5] - -Arrays: Sequence conversion -[2, 1, 4, 5, 6] -[0, 3, 3, 3, 4] - -Arrays: Index collection -[1, 1, 2, 3, 4] -[1, 1, 2, 3, 4] - -Arrays: Functions -[1, 1, 3, 4, 5] -[1, 1, 3, 4, 5] -[1, 2, 3, 3, 5] -[1, 2, 3, 4, 5] - -Multi-dimensional arrays -[[0, 2, 4], [1, 3, 5], [2, 4, 6]] -[[0, 1, 2], [2, 3, 4], [4, 5, 6]] - -Objects: Basic cases -[(0, 1.0), (0, 2.0), (0, 3.0)] -[(2, 1.0), (2, 2.0), (4, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] - -Objects: Bad field accesses -[(2, 1.0), (3, 2.0), (4, 3.0)] -[(2, 1.0), (2, 2.0), (2, 3.0)] -[(2, 1.0), (3, 2.0), (1, 3.0)] - -Objects: Functions -[(2, 1.0), (4, 2.0), (6, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] -[(3, 1.0), (4, 2.0), (5, 3.0)] - -Dafny program verifier did not attempt verification Arrays: Basic cases [0, 1, 2, 3, 4] [0, 1, 2, 3, 4] diff --git a/Test/comp/Ghosts.dfy b/Test/comp/Ghosts.dfy index 506fe0facb1..8afe8a36d3f 100644 --- a/Test/comp/Ghosts.dfy +++ b/Test/comp/Ghosts.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method M1() returns (x: int) { diff --git a/Test/comp/Ghosts.dfy.expect b/Test/comp/Ghosts.dfy.expect index 430a9c18fc0..d075ea048c1 100644 --- a/Test/comp/Ghosts.dfy.expect +++ b/Test/comp/Ghosts.dfy.expect @@ -1,55 +1,3 @@ - -Dafny program verifier finished with 8 verified, 0 errors - -Dafny program verifier did not attempt verification -hello, M2 -hello, M2 -hello, M3 -hello, M1 -hello, M1 -hello, M1 -hello, M2 -hello, M3 -hello, N0 -hello, N1 - -Dafny program verifier did not attempt verification -hello, M2 -hello, M2 -hello, M3 -hello, M1 -hello, M1 -hello, M1 -hello, M2 -hello, M3 -hello, N0 -hello, N1 - -Dafny program verifier did not attempt verification -hello, M2 -hello, M2 -hello, M3 -hello, M1 -hello, M1 -hello, M1 -hello, M2 -hello, M3 -hello, N0 -hello, N1 - -Dafny program verifier did not attempt verification -hello, M2 -hello, M2 -hello, M3 -hello, M1 -hello, M1 -hello, M1 -hello, M2 -hello, M3 -hello, N0 -hello, N1 - -Dafny program verifier did not attempt verification hello, M2 hello, M2 hello, M3 diff --git a/Test/comp/Let.dfy b/Test/comp/Let.dfy index 64dce8b90e6..2a639009c78 100644 --- a/Test/comp/Let.dfy +++ b/Test/comp/Let.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cs "%s" > "%t" -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method M() returns (x: int) { x := var y := 50; y; // non-top-level let diff --git a/Test/comp/Let.dfy.expect b/Test/comp/Let.dfy.expect index 667abc32458..f05dfc414c1 100644 --- a/Test/comp/Let.dfy.expect +++ b/Test/comp/Let.dfy.expect @@ -1,37 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors -50 58 -Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) -5 7 9 10 12 30 -5 7 -5 7 -12.0 15.0 15.0 15.0 - -Dafny program verifier finished with 5 verified, 0 errors -50 58 -Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) -5 7 9 10 12 30 -5 7 -5 7 -12.0 15.0 15.0 15.0 - -Dafny program verifier finished with 5 verified, 0 errors -50 58 -Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) -5 7 9 10 12 30 -5 7 -5 7 -12.0 15.0 15.0 15.0 - -Dafny program verifier finished with 5 verified, 0 errors -50 58 -Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) -5 7 9 10 12 30 -5 7 -5 7 -12.0 15.0 15.0 15.0 - -Dafny program verifier finished with 5 verified, 0 errors 50 58 Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) 5 7 9 10 12 30 diff --git a/Test/comp/MoreAutoInit.dfy b/Test/comp/MoreAutoInit.dfy index 46bdf7148f1..c72083f1be5 100644 --- a/Test/comp/MoreAutoInit.dfy +++ b/Test/comp/MoreAutoInit.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { Methods.TestStart(); diff --git a/Test/comp/MoreAutoInit.dfy.expect b/Test/comp/MoreAutoInit.dfy.expect index e707d9ea27a..a077ee0daa9 100644 --- a/Test/comp/MoreAutoInit.dfy.expect +++ b/Test/comp/MoreAutoInit.dfy.expect @@ -1,575 +1,3 @@ - -Dafny program verifier finished with 38 verified, 0 errors - -Dafny program verifier did not attempt verification -Methods.Uni.Uni - ++ Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -{} - ++ {} -[] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -Functions.Uni.Uni - ++ Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -{2} - ++ {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni -[] ++ [] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] - ** [] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] - ** [] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] - ++ [Consts.Uni.Uni] ++ [] - ** [] ++ [] ++ [] -15 -0-0 0.0-0.0 false-false 'D'-'D' 0 -0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 -0-0 0-0 0-0 0-0 1 1 -0.0-0.0 68.0 -null-null null-null null-null null-null -0 -0:0:0 -0-0 -{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] -DefaultValuedExpressions.Color.Red-DefaultValuedExpressions.Color.Red DefaultValuedExpressions.PossibleCell.Nothing-DefaultValuedExpressions.PossibleCell.Nothing DefaultValuedExpressions.Cell.LittleCell(0)-DefaultValuedExpressions.Cell.LittleCell(0) -()-() (0, 0.0)-(0, 0.0) -(DefaultValuedExpressions.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions.Color.Red, (0, 0.0), ()) -null-null null-null -0-0 0-0 0-0 3 4 5 -0-0 11 0-0 8 - -Dafny program verifier did not attempt verification -Methods.Uni.Uni - ++ Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -{} - ++ {} -[] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -Functions.Uni.Uni - ++ Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -{2} - ++ {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni -[] ++ [] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] - ** [] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] - ** [] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] - ++ [Consts.Uni.Uni] ++ [] - ** [] ++ [] ++ [] -15 -0-0 0.0-0.0 false-false 'D'-'D' 0 -0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 -0-0 0-0 0-0 0-0 1 1 -0.0-0.0 68.0 -null-null null-null null-null null-null -0 -0:0:0 -0-0 -{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] -DefaultValuedExpressions.Color.Red-DefaultValuedExpressions.Color.Red DefaultValuedExpressions.PossibleCell.Nothing-DefaultValuedExpressions.PossibleCell.Nothing DefaultValuedExpressions.Cell.LittleCell(0)-DefaultValuedExpressions.Cell.LittleCell(0) -()-() (0, 0.0)-(0, 0.0) -(DefaultValuedExpressions.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions.Color.Red, (0, 0.0), ()) -null-null null-null -0-0 0-0 0-0 3 4 5 -0-0 11 0-0 8 - -Dafny program verifier did not attempt verification -Methods.Uni.Uni - ++ Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -{} - ++ {} -[] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -Functions.Uni.Uni - ++ Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -{2} - ++ {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni -[] ++ [] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] - ** [] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] - ** [] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] - ++ [Consts.Uni.Uni] ++ [] - ** [] ++ [] ++ [] -15 -0-0 0.0-0.0 false-false 'D'-'D' 0 -0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 -0-0 0-0 0-0 0-0 1 1 -0.0-0.0 68.0 -null-null null-null null-null null-null -0 -0:0:0 -0-0 -{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] -DefaultValuedExpressions.Color.Red-DefaultValuedExpressions.Color.Red DefaultValuedExpressions.PossibleCell.Nothing-DefaultValuedExpressions.PossibleCell.Nothing DefaultValuedExpressions.Cell.LittleCell(0)-DefaultValuedExpressions.Cell.LittleCell(0) -()-() (0, 0.0)-(0, 0.0) -(DefaultValuedExpressions.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions.Color.Red, (0, 0.0), ()) -null-null null-null -0-0 0-0 0-0 3 4 5 -0-0 11 0-0 8 - -Dafny program verifier did not attempt verification -Methods.Uni.Uni - ++ Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -{} - ++ {} -[] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -Functions.Uni.Uni - ++ Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -{2} - ++ {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni -[] ++ [] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] - ** [] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] - ** [] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] - ++ [Consts.Uni.Uni] ++ [] - ** [] ++ [] ++ [] -15 -0-0 0.0-0.0 false-false 'D'-'D' 0 -0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 -0-0 0-0 0-0 0-0 1 1 -0.0-0.0 68.0 -null-null null-null null-null null-null -0 -0:0:0 -0-0 -{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] -DefaultValuedExpressions.Color.Red-DefaultValuedExpressions.Color.Red DefaultValuedExpressions.PossibleCell.Nothing-DefaultValuedExpressions.PossibleCell.Nothing DefaultValuedExpressions.Cell.LittleCell(0)-DefaultValuedExpressions.Cell.LittleCell(0) -()-() (0, 0.0)-(0, 0.0) -(DefaultValuedExpressions.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions.Color.Red, (0, 0.0), ()) -null-null null-null -0-0 0-0 0-0 3 4 5 -0-0 11 0-0 8 - -Dafny program verifier did not attempt verification Methods.Uni.Uni ++ Methods.Uni.Uni Methods.Uni.Uni Methods.Uni.Uni diff --git a/Test/comp/NativeNumbers.dfy b/Test/comp/NativeNumbers.dfy index c63d02cf643..e1fadb1c406 100644 --- a/Test/comp/NativeNumbers.dfy +++ b/Test/comp/NativeNumbers.dfy @@ -1,11 +1,6 @@ +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false // Skip JavaScript because JavaScript doesn't have the same native types -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" method Main() { CastTests(); diff --git a/Test/comp/NativeNumbers.dfy.expect b/Test/comp/NativeNumbers.dfy.expect index 2be030252cf..6a9d263fc73 100644 --- a/Test/comp/NativeNumbers.dfy.expect +++ b/Test/comp/NativeNumbers.dfy.expect @@ -1,259 +1,3 @@ - -Dafny program verifier finished with 25 verified, 0 errors - -Dafny program verifier did not attempt verification -Casting: - -Small numbers: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 -5 5 5 5 5 5 5 5 5 -6 6 6 6 6 6 6 6 6 -7 7 7 7 7 7 7 7 7 -8 8 8 8 8 8 8 8 8 - -Large unsigned numbers: -255 255 255 255 255 255 255 255 -65535 65535 65535 65535 65535 65535 -4294967295 4294967295 4294967295 4294967295 -18446744073709551615 18446744073709551615 - -Int to large unsigned: -255 65535 4294967295 18446744073709551615 - -Cast from cardinality operator: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 - -Characters: -C 67 67 67 67 67 67 67 67 67 -0 127 32767 65535 65535 255 65535 65535 65535 - -Defaults: - -0 0 0 0 0 0 0 0 0 - -Byte arithmetic: - -20 30 -10 10 18 - -Short arithmetic: - -20 30 -10 10 18 - -Bitvectors: - -0 3 4 1 - -Comparison to zero: - -int8: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int16: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int32: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int64: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint8: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint16: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint32: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint64: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N - - -Dafny program verifier did not attempt verification -Casting: - -Small numbers: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 -5 5 5 5 5 5 5 5 5 -6 6 6 6 6 6 6 6 6 -7 7 7 7 7 7 7 7 7 -8 8 8 8 8 8 8 8 8 - -Large unsigned numbers: -255 255 255 255 255 255 255 255 -65535 65535 65535 65535 65535 65535 -4294967295 4294967295 4294967295 4294967295 -18446744073709551615 18446744073709551615 - -Int to large unsigned: -255 65535 4294967295 18446744073709551615 - -Cast from cardinality operator: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 - -Characters: -C 67 67 67 67 67 67 67 67 67 -0 127 32767 65535 65535 255 65535 65535 65535 - -Defaults: - -0 0 0 0 0 0 0 0 0 - -Byte arithmetic: - -20 30 -10 10 18 - -Short arithmetic: - -20 30 -10 10 18 - -Bitvectors: - -0 3 4 1 - -Comparison to zero: - -int8: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int16: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int32: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int64: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint8: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint16: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint32: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint64: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N - - -Dafny program verifier did not attempt verification -Casting: - -Small numbers: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 -5 5 5 5 5 5 5 5 5 -6 6 6 6 6 6 6 6 6 -7 7 7 7 7 7 7 7 7 -8 8 8 8 8 8 8 8 8 - -Large unsigned numbers: -255 255 255 255 255 255 255 255 -65535 65535 65535 65535 65535 65535 -4294967295 4294967295 4294967295 4294967295 -18446744073709551615 18446744073709551615 - -Int to large unsigned: -255 65535 4294967295 18446744073709551615 - -Cast from cardinality operator: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 - -Characters: -C 67 67 67 67 67 67 67 67 67 -0 127 32767 65535 65535 255 65535 65535 65535 - -Defaults: - -0 0 0 0 0 0 0 0 0 - -Byte arithmetic: - -20 30 -10 10 18 - -Short arithmetic: - -20 30 -10 10 18 - -Bitvectors: - -0 3 4 1 - -Comparison to zero: - -int8: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int16: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int32: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int64: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint8: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint16: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint32: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint64: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N - - -Dafny program verifier did not attempt verification Casting: Small numbers: diff --git a/Test/comp/NestedArrays.dfy b/Test/comp/NestedArrays.dfy index 0c2b313a32c..39d256f4936 100644 --- a/Test/comp/NestedArrays.dfy +++ b/Test/comp/NestedArrays.dfy @@ -1,9 +1,4 @@ -// RUN: %baredafny verify --relax-definite-assignment %args "%s" > "%t" -// RUN: %baredafny run --no-verify --target=cs %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=js %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=go %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=py %args "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /* Note, compiling to arrays in Java is difficult. In fact, this is currently * broken, see https://github.com/dafny-lang/dafny/issues/3055. Until this gets diff --git a/Test/comp/NestedArrays.dfy.expect b/Test/comp/NestedArrays.dfy.expect index a24d140b9d4..aa47d0d46d4 100644 --- a/Test/comp/NestedArrays.dfy.expect +++ b/Test/comp/NestedArrays.dfy.expect @@ -1,18 +1,2 @@ - -Dafny program verifier finished with 4 verified, 0 errors - -Dafny program verifier did not attempt verification -0 -0 - -Dafny program verifier did not attempt verification -0 -0 - -Dafny program verifier did not attempt verification -0 -0 - -Dafny program verifier did not attempt verification 0 0 diff --git a/Test/comp/Numbers.dfy b/Test/comp/Numbers.dfy index 36bf24dcdb4..c76bc87fdc0 100644 --- a/Test/comp/Numbers.dfy +++ b/Test/comp/Numbers.dfy @@ -1,10 +1,5 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false method Main() { Literals(); diff --git a/Test/comp/Numbers.dfy.expect b/Test/comp/Numbers.dfy.expect index 8d994e1c7c6..7eacf4e709d 100644 --- a/Test/comp/Numbers.dfy.expect +++ b/Test/comp/Numbers.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 59 verified, 0 errors - -Dafny program verifier did not attempt verification 0 0 3 @@ -113,455 +109,3 @@ true false true false false true false true true false true false 20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -g Q 2 -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -(312.0 / 40.0) (1248.0 / 40.0) -(-312.0 / 40.0) (-1248.0 / 40.0) -(-312.0 / 40.0) (1248.0 / 40.0) -(312.0 / 40.0) (-1248.0 / 40.0) -0.0 0.0 0.0 -120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) -123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 (8100.0 / 8100.0) -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -g Q 2 -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -g Q 2 -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -(312.0 / 40.0) (1248.0 / 40.0) -(-312.0 / 40.0) (-1248.0 / 40.0) -(-312.0 / 40.0) (1248.0 / 40.0) -(312.0 / 40.0) (-1248.0 / 40.0) -0.0 0.0 0.0 -120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) -123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 (8100.0 / 8100.0) -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -g Q 2 -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 diff --git a/Test/comp/Numbers.dfy.go.expect b/Test/comp/Numbers.dfy.go.expect new file mode 100644 index 00000000000..ce109553619 --- /dev/null +++ b/Test/comp/Numbers.dfy.go.expect @@ -0,0 +1,111 @@ +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +g Q 2 +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 diff --git a/Test/comp/Numbers.dfy.py.expect b/Test/comp/Numbers.dfy.py.expect new file mode 100644 index 00000000000..ce109553619 --- /dev/null +++ b/Test/comp/Numbers.dfy.py.expect @@ -0,0 +1,111 @@ +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +g Q 2 +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 diff --git a/Test/comp/Poly.dfy b/Test/comp/Poly.dfy index f3c3aa58599..5af5e8134e9 100644 --- a/Test/comp/Poly.dfy +++ b/Test/comp/Poly.dfy @@ -1,10 +1,5 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation trait Shape { function Center(): (real, real) reads this diff --git a/Test/comp/Poly.dfy.expect b/Test/comp/Poly.dfy.expect index 4ffff82d5ab..7dc24821586 100644 --- a/Test/comp/Poly.dfy.expect +++ b/Test/comp/Poly.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 15 verified, 0 errors - -Dafny program verifier did not attempt verification Center of square: ((1.0 / 2.0), (1.0 / 2.0)) Center of circle: (1.0, 1.0) Center: ((1.0 / 2.0), (1.0 / 2.0)) @@ -14,59 +10,3 @@ Center: ((1.0 / 2.0), (1.0 / 2.0)) Center: (1.0, 1.0) Center: ((1.0 / 2.0), (1.0 / 2.0)) Center: (1.0, 1.0) - -Dafny program verifier did not attempt verification -Center of square: ((1.0 / 2.0), (1.0 / 2.0)) -Center of circle: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) - -Dafny program verifier did not attempt verification -Center of square: ((1.0 / 2.0), (1.0 / 2.0)) -Center of circle: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) - -Dafny program verifier did not attempt verification -Center of square: (0.5, 0.5) -Center of circle: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) - -Dafny program verifier did not attempt verification -Center of square: (0.5, 0.5) -Center of circle: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) diff --git a/Test/comp/Poly.dfy.go.expect b/Test/comp/Poly.dfy.go.expect new file mode 100644 index 00000000000..88e09c5e6ff --- /dev/null +++ b/Test/comp/Poly.dfy.go.expect @@ -0,0 +1,12 @@ +Center of square: (0.5, 0.5) +Center of circle: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) diff --git a/Test/comp/Poly.dfy.py.expect b/Test/comp/Poly.dfy.py.expect new file mode 100644 index 00000000000..88e09c5e6ff --- /dev/null +++ b/Test/comp/Poly.dfy.py.expect @@ -0,0 +1,12 @@ +Center of square: (0.5, 0.5) +Center of circle: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) diff --git a/Test/comp/StaticMembersOfGenericTypes.dfy b/Test/comp/StaticMembersOfGenericTypes.dfy index 8c402dab951..8a8614d21a5 100644 --- a/Test/comp/StaticMembersOfGenericTypes.dfy +++ b/Test/comp/StaticMembersOfGenericTypes.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { GenericClass(); diff --git a/Test/comp/StaticMembersOfGenericTypes.dfy.expect b/Test/comp/StaticMembersOfGenericTypes.dfy.expect index 54e32b42ee5..196f1295e12 100644 --- a/Test/comp/StaticMembersOfGenericTypes.dfy.expect +++ b/Test/comp/StaticMembersOfGenericTypes.dfy.expect @@ -1,79 +1,3 @@ - -Dafny program verifier finished with 9 verified, 0 errors - -Dafny program verifier did not attempt verification -(0, 1) (true, 2, 3) -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -(2.0, true) (3.0, false) -(2.0, true) (3.0, false) -true false -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -50 3 4 -149 - -Dafny program verifier did not attempt verification -(0, 1) (true, 2, 3) -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -(2.0, true) (3.0, false) -(2.0, true) (3.0, false) -true false -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -50 3 4 -149 - -Dafny program verifier did not attempt verification -(0, 1) (true, 2, 3) -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -(2.0, true) (3.0, false) -(2.0, true) (3.0, false) -true false -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -50 3 4 -149 - -Dafny program verifier did not attempt verification -(0, 1) (true, 2, 3) -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -(2.0, true) (3.0, false) -(2.0, true) (3.0, false) -true false -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -50 3 4 -149 - -Dafny program verifier did not attempt verification (0, 1) (true, 2, 3) 0 25 (20, 21) (20, 21) 23 22 0 25 (20, 21) (20, 21) 23 22 diff --git a/Test/comp/TailRecursion.dfy b/Test/comp/TailRecursion.dfy index 68ba6ee4669..b3631d5eccc 100644 --- a/Test/comp/TailRecursion.dfy +++ b/Test/comp/TailRecursion.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { // In the following, 2_000_000 is too large an argument without tail-calls diff --git a/Test/comp/TailRecursion.dfy.expect b/Test/comp/TailRecursion.dfy.expect index 23c852a41fe..4b9da7e5093 100644 --- a/Test/comp/TailRecursion.dfy.expect +++ b/Test/comp/TailRecursion.dfy.expect @@ -1,79 +1,3 @@ - -Dafny program verifier finished with 28 verified, 0 errors - -Dafny program verifier did not attempt verification -2000000 2000000 -2000000 2000000 -1000000 1000000 -10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 -TriangleNumber(10) = 55 -TriangleNumber_Real(10) = 55.0 -TriangleNumber_ORDINAL(10) = 55 -Factorial(5) = 120 -Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] -UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] -Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 -TheBigSubtract(100) = -12 -TailNat(10) = 50 -17 17 17 -2000000 - -Dafny program verifier did not attempt verification -2000000 2000000 -2000000 2000000 -1000000 1000000 -10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 -TriangleNumber(10) = 55 -TriangleNumber_Real(10) = 55.0 -TriangleNumber_ORDINAL(10) = 55 -Factorial(5) = 120 -Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] -UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] -Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 -TheBigSubtract(100) = -12 -TailNat(10) = 50 -17 17 17 -2000000 - -Dafny program verifier did not attempt verification -2000000 2000000 -2000000 2000000 -1000000 1000000 -10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 -TriangleNumber(10) = 55 -TriangleNumber_Real(10) = 55.0 -TriangleNumber_ORDINAL(10) = 55 -Factorial(5) = 120 -Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] -UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] -Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 -TheBigSubtract(100) = -12 -TailNat(10) = 50 -17 17 17 -2000000 - -Dafny program verifier did not attempt verification -2000000 2000000 -2000000 2000000 -1000000 1000000 -10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 -TriangleNumber(10) = 55 -TriangleNumber_Real(10) = 55.0 -TriangleNumber_ORDINAL(10) = 55 -Factorial(5) = 120 -Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] -UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] -Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 -TheBigSubtract(100) = -12 -TailNat(10) = 50 -17 17 17 -2000000 - -Dafny program verifier did not attempt verification 2000000 2000000 2000000 2000000 1000000 1000000 diff --git a/Test/comp/TypeDescriptors.dfy b/Test/comp/TypeDescriptors.dfy index 636cb3db583..5bedbb900e4 100644 --- a/Test/comp/TypeDescriptors.dfy +++ b/Test/comp/TypeDescriptors.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Method(s: string, g: G) { var zero: G; diff --git a/Test/comp/TypeDescriptors.dfy.expect b/Test/comp/TypeDescriptors.dfy.expect index 9b1e8487bdc..1b09338c83d 100644 --- a/Test/comp/TypeDescriptors.dfy.expect +++ b/Test/comp/TypeDescriptors.dfy.expect @@ -1,155 +1,3 @@ - -Dafny program verifier finished with 11 verified, 0 errors - -Dafny program verifier did not attempt verification -int: 8 0 -bool: true false -char: 'r' 'D' -real: 1.618 0.0 -ORDINAL: 0 -bv0: 0 0 -bv21: 121 0 -bv32: 132 0 -bv191: 191 0 -set: {7} {} -multiset: multiset{7, 7} multiset{} -seq: [7] [] -map: map[2 := 7] map[] -pos: 3 1 -Hundred: 6 0 -HundredOdd: 13 19 -JustOdd: 131 5 -(): () () -(int, real): (2, 3.2) (0, 0.0) -(int, pos): (2, 3) (0, 1) -AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) -Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) -Stream: Stream.More -A=int: 15 0 -B=int: 16 0 -datatype.B=: {14} {} -object?: null -Class?>: null -Trait?>: null -array?: null -array2?: null -int --> bool: null -array? ~> bool: null - -Dafny program verifier did not attempt verification -int: 8 0 -bool: true false -char: 'r' 'D' -real: 1.618 0.0 -ORDINAL: 0 -bv0: 0 0 -bv21: 121 0 -bv32: 132 0 -bv191: 191 0 -set: {7} {} -multiset: multiset{7, 7} multiset{} -seq: [7] [] -map: map[2 := 7] map[] -pos: 3 1 -Hundred: 6 0 -HundredOdd: 13 19 -JustOdd: 131 5 -(): () () -(int, real): (2, 3.2) (0, 0.0) -(int, pos): (2, 3) (0, 1) -AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) -Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) -Stream: Stream.More -A=int: 15 0 -B=int: 16 0 -datatype.B=: {14} {} -object?: null -Class?>: null -Trait?>: null -array?: null -array2?: null -int --> bool: null -array? ~> bool: null - -Dafny program verifier did not attempt verification -int: 8 0 -bool: true false -char: 'r' 'D' -real: 1.618 0.0 -ORDINAL: 0 -bv0: 0 0 -bv21: 121 0 -bv32: 132 0 -bv191: 191 0 -set: {7} {} -multiset: multiset{7, 7} multiset{} -seq: [7] [] -map: map[2 := 7] map[] -pos: 3 1 -Hundred: 6 0 -HundredOdd: 13 19 -JustOdd: 131 5 -(): () () -(int, real): (2, 3.2) (0, 0.0) -(int, pos): (2, 3) (0, 1) -AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) -Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) -Stream: Stream.More -A=int: 15 0 -B=int: 16 0 -datatype.B=: {14} {} -object?: null -Class?>: null -Trait?>: null -array?: null -array2?: null -int --> bool: null -array? ~> bool: null - -Dafny program verifier did not attempt verification -int: 8 0 -bool: true false -char: 'r' 'D' -real: 1.618 0.0 -ORDINAL: 0 -bv0: 0 0 -bv21: 121 0 -bv32: 132 0 -bv191: 191 0 -set: {7} {} -multiset: multiset{7, 7} multiset{} -seq: [7] [] -map: map[2 := 7] map[] -pos: 3 1 -Hundred: 6 0 -HundredOdd: 13 19 -JustOdd: 131 5 -(): () () -(int, real): (2, 3.2) (0, 0.0) -(int, pos): (2, 3) (0, 1) -AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) -Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) -Stream: Stream.More -A=int: 15 0 -B=int: 16 0 -datatype.B=: {14} {} -object?: null -Class?>: null -Trait?>: null -array?: null -array2?: null -int --> bool: null -array? ~> bool: null - -Dafny program verifier did not attempt verification int: 8 0 bool: true false char: 'r' 'D' diff --git a/Test/comp/TypeParams.dfy b/Test/comp/TypeParams.dfy index 11d1b3bac6a..c595881e028 100644 --- a/Test/comp/TypeParams.dfy +++ b/Test/comp/TypeParams.dfy @@ -1,11 +1,6 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" - -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation + datatype Color = Orange | Pink | Teal type Six = x | x <= 6 diff --git a/Test/comp/TypeParams.dfy.expect b/Test/comp/TypeParams.dfy.expect index ac8ef1c58e5..1381a030f65 100644 --- a/Test/comp/TypeParams.dfy.expect +++ b/Test/comp/TypeParams.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 17 verified, 0 errors - -Dafny program verifier did not attempt verification 0 0 0 false Color.Orange 0.0 {} Color.Orange null null null null null {} multiset{} [] map[] {} map[] @@ -21,87 +17,3 @@ System.Func`2[Dafny.BigRational,System.Boolean] System.Func`1[System.Numerics.BigInteger] System.Func`3[_module._IColor,Dafny.ISet`1[System.UInt16],System.UInt32] 0 0 - -Dafny program verifier did not attempt verification -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -function () { return false; } -function () { return _dafny.ZERO; } -function () { return _dafny.ZERO; } -0 0 - -Dafny program verifier did not attempt verification -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -func(dafny.Real) bool -func() dafny.Int -func(main.Color, dafny.Set) uint32 -0 0 - -Dafny program verifier did not attempt verification -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -Function -Function -Function -0 0 - -Dafny program verifier did not attempt verification -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -Function -Function -Function -0 0 diff --git a/Test/comp/TypeParams.dfy.go.expect b/Test/comp/TypeParams.dfy.go.expect new file mode 100644 index 00000000000..e3a8e67d066 --- /dev/null +++ b/Test/comp/TypeParams.dfy.go.expect @@ -0,0 +1,19 @@ +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +func(dafny.Real) bool +func() dafny.Int +func(main.Color, dafny.Set) uint32 +0 0 diff --git a/Test/comp/TypeParams.dfy.java.expect b/Test/comp/TypeParams.dfy.java.expect new file mode 100644 index 00000000000..5f843ba06d1 --- /dev/null +++ b/Test/comp/TypeParams.dfy.java.expect @@ -0,0 +1,19 @@ +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +Function +Function +Function +0 0 diff --git a/Test/comp/TypeParams.dfy.js.expect b/Test/comp/TypeParams.dfy.js.expect new file mode 100644 index 00000000000..865c33ea48b --- /dev/null +++ b/Test/comp/TypeParams.dfy.js.expect @@ -0,0 +1,19 @@ +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +function () { return false; } +function () { return _dafny.ZERO; } +function () { return _dafny.ZERO; } +0 0 diff --git a/Test/comp/TypeParams.dfy.py.expect b/Test/comp/TypeParams.dfy.py.expect new file mode 100644 index 00000000000..5f843ba06d1 --- /dev/null +++ b/Test/comp/TypeParams.dfy.py.expect @@ -0,0 +1,19 @@ +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +Function +Function +Function +0 0 diff --git a/Test/comp/UnoptimizedErasableTypeWrappers.dfy b/Test/comp/UnoptimizedErasableTypeWrappers.dfy index 58f0682ed41..b7911aed9db 100644 --- a/Test/comp/UnoptimizedErasableTypeWrappers.dfy +++ b/Test/comp/UnoptimizedErasableTypeWrappers.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --optimize-erasable-datatype-wrapper:false --relax-definite-assignment --spill-translation datatype SingletonRecord = SingletonRecord(u: int) datatype WithGhost = WithGhost(u: int, ghost v: int) diff --git a/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect b/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect index be1d7190b0f..3371376a52b 100644 --- a/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect +++ b/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect @@ -1,31 +1,3 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification -SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) -() (30) (31) (30, 32) -15 20 -30 31 30 32 - -Dafny program verifier did not attempt verification -SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) -() (30) (31) (30, 32) -15 20 -30 31 30 32 - -Dafny program verifier did not attempt verification -SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) -() (30) (31) (30, 32) -15 20 -30 31 30 32 - -Dafny program verifier did not attempt verification -SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) -() (30) (31) (30, 32) -15 20 -30 31 30 32 - -Dafny program verifier did not attempt verification SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) () (30) (31) (30, 32) 15 20 diff --git a/Test/comp/Variance.dfy b/Test/comp/Variance.dfy index 6c198495209..ddcde6cd7d7 100644 --- a/Test/comp/Variance.dfy +++ b/Test/comp/Variance.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 /deprecation:0 "%s" > "%t" -// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --warn-deprecation:false datatype Co<+T> = Co(z: T) { const x: int; diff --git a/Test/comp/Variance.dfy.expect b/Test/comp/Variance.dfy.expect index cf08d82ac07..5bb565b6bb4 100644 --- a/Test/comp/Variance.dfy.expect +++ b/Test/comp/Variance.dfy.expect @@ -1,67 +1,3 @@ - -Dafny program verifier finished with 13 verified, 0 errors - -Dafny program verifier did not attempt verification -Co.Co(_module.Int) and Co.Co(_module.Int) -true0[]0000 -Non.Non(_module.Int) and Non.Non(_module.Int) -true0[]0000 -0 and 0 -_module.Int0[]0000 -CCo.CCo and CCo.CCo -true0[]0000 -CNon.CNon and CNon.CNon -true0[]0000 -CCon.CCon and CCon.CCon -_module.Int0[]0000 -Done - -Dafny program verifier did not attempt verification -Co.Co(_module.Int) and Co.Co(_module.Int) -true0[]0000 -Non.Non(_module.Int) and Non.Non(_module.Int) -true0[]0000 -0 and 0 -_module.Int0[]0000 -CCo.CCo and CCo.CCo -true0[]0000 -CNon.CNon and CNon.CNon -true0[]0000 -CCon.CCon and CCon.CCon -_module.Int0[]0000 -Done - -Dafny program verifier did not attempt verification -Co.Co(_module.Int) and Co.Co(_module.Int) -true0[]0000 -Non.Non(_module.Int) and Non.Non(_module.Int) -true0[]0000 -0 and 0 -_module.Int0[]0000 -CCo.CCo and CCo.CCo -true0[]0000 -CNon.CNon and CNon.CNon -true0[]0000 -CCon.CCon and CCon.CCon -_module.Int0[]0000 -Done - -Dafny program verifier did not attempt verification -Co.Co(_module.Int) and Co.Co(_module.Int) -true0[]0000 -Non.Non(_module.Int) and Non.Non(_module.Int) -true0[]0000 -0 and 0 -_module.Int0[]0000 -CCo.CCo and CCo.CCo -true0[]0000 -CNon.CNon and CNon.CNon -true0[]0000 -CCon.CCon and CCon.CCon -_module.Int0[]0000 -Done - -Dafny program verifier did not attempt verification Co.Co(_module.Int) and Co.Co(_module.Int) true0[]0000 Non.Non(_module.Int) and Non.Non(_module.Int) diff --git a/Test/comp/Various.dfy b/Test/comp/Various.dfy index 1f29c511a83..502801e4c2a 100644 --- a/Test/comp/Various.dfy +++ b/Test/comp/Various.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Match(tp: (nat, nat)) { match tp diff --git a/Test/comp/Various.dfy.expect b/Test/comp/Various.dfy.expect index 502e2d04792..66f013c00f7 100644 --- a/Test/comp/Various.dfy.expect +++ b/Test/comp/Various.dfy.expect @@ -1,43 +1,3 @@ - -Dafny program verifier finished with 4 verified, 0 errors - -Dafny program verifier did not attempt verification -match -1 -Kablammo!! -0 -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] - -Dafny program verifier did not attempt verification -match -1 -Kablammo!! -0 -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] - -Dafny program verifier did not attempt verification -match -1 -Kablammo!! -0 -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] - -Dafny program verifier did not attempt verification -match -1 -Kablammo!! -0 -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] - -Dafny program verifier did not attempt verification match 1 Kablammo!! diff --git a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy index 10fe57dec8f..2cf77360cab 100644 --- a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy +++ b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // An extremely small program intended to be the first target input for // brand new Dafny compilers. Avoids any use of strings (and therefore sequences) diff --git a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect index e1dcaef650b..f32a5804e29 100644 --- a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect +++ b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect @@ -1,5 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification true \ No newline at end of file diff --git a/Test/comp/firstSteps/1_Calls-F.dfy b/Test/comp/firstSteps/1_Calls-F.dfy index 32566f59f3b..4fe5b83e551 100644 --- a/Test/comp/firstSteps/1_Calls-F.dfy +++ b/Test/comp/firstSteps/1_Calls-F.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/1_Calls-F.dfy.expect b/Test/comp/firstSteps/1_Calls-F.dfy.expect index 58e0a68ec1c..7ed6ff82de6 100644 --- a/Test/comp/firstSteps/1_Calls-F.dfy.expect +++ b/Test/comp/firstSteps/1_Calls-F.dfy.expect @@ -1,5 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification 5 diff --git a/Test/comp/firstSteps/2_Modules.dfy b/Test/comp/firstSteps/2_Modules.dfy index 750b8d60c21..d0effcb5a71 100644 --- a/Test/comp/firstSteps/2_Modules.dfy +++ b/Test/comp/firstSteps/2_Modules.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module A { const i: nat := 1 diff --git a/Test/comp/firstSteps/2_Modules.dfy.expect b/Test/comp/firstSteps/2_Modules.dfy.expect index 9a4b57459c7..b85905ec0b9 100644 --- a/Test/comp/firstSteps/2_Modules.dfy.expect +++ b/Test/comp/firstSteps/2_Modules.dfy.expect @@ -1,5 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification 1 2 3 diff --git a/Test/comp/firstSteps/3_Calls-As.dfy b/Test/comp/firstSteps/3_Calls-As.dfy index f22bbdbd3f6..38889421865 100644 --- a/Test/comp/firstSteps/3_Calls-As.dfy +++ b/Test/comp/firstSteps/3_Calls-As.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/3_Calls-As.dfy.expect b/Test/comp/firstSteps/3_Calls-As.dfy.expect index eea6c52592c..a1c59bb761f 100644 --- a/Test/comp/firstSteps/3_Calls-As.dfy.expect +++ b/Test/comp/firstSteps/3_Calls-As.dfy.expect @@ -1,5 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification 0 0 false 0 false 0 diff --git a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy index 89fb669dca0..6a66781ff0d 100644 --- a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy +++ b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect index e7498a27e3e..a8d09f0a6f5 100644 --- a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect +++ b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect @@ -1,6 +1,2 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification 5 3 5 3 5 3 5 3 diff --git a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy index 096523f8956..1175b1eca8f 100644 --- a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy +++ b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect index 8954da2b386..ef3de96e567 100644 --- a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect +++ b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect @@ -1,6 +1,2 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification 5 3 5 3 diff --git a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy index 1fbaebdf4e9..5d970ac4de5 100644 --- a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy +++ b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect index b6ffe78bcbb..4ff62e33956 100644 --- a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect +++ b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 4 verified, 0 errors - -Dafny program verifier did not attempt verification 15 [0, 1, 2, 4] [0, 2, 4] diff --git a/Test/comp/firstSteps/7_Arrays.dfy b/Test/comp/firstSteps/7_Arrays.dfy index 07ddf89594b..d02c942c9bb 100644 --- a/Test/comp/firstSteps/7_Arrays.dfy +++ b/Test/comp/firstSteps/7_Arrays.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Arrays.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/7_Arrays.dfy.expect b/Test/comp/firstSteps/7_Arrays.dfy.expect index 75e824c80bb..fa00285c692 100644 --- a/Test/comp/firstSteps/7_Arrays.dfy.expect +++ b/Test/comp/firstSteps/7_Arrays.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 7 verified, 0 errors - -Dafny program verifier did not attempt verification 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/comp/firstSteps/7_Dt_Algebraic.dfy b/Test/comp/firstSteps/7_Dt_Algebraic.dfy index 991462d8bdf..46a2995b37f 100644 --- a/Test/comp/firstSteps/7_Dt_Algebraic.dfy +++ b/Test/comp/firstSteps/7_Dt_Algebraic.dfy @@ -1,7 +1,5 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Dt.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect new file mode 100644 index 00000000000..ba1b72ea6f7 --- /dev/null +++ b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect @@ -0,0 +1,11 @@ +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} +42 'q' hello +1701 diff --git a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect index ec9b49fe420..e3ff7faba6e 100644 --- a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect +++ b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 7 verified, 0 errors - -Dafny program verifier did not attempt verification List.Nil List.Cons(5, List.Nil) (List.Nil, List.Cons(5, List.Nil)) @@ -13,16 +9,3 @@ List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, Li {Berry.Hallon, Berry.Smultron, Berry.Jordgubb} 42 'q' hello 1701 - -Dafny program verifier did not attempt verification -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} -42 'q' hello -1701 diff --git a/Test/dafny0/ArrayElementInitCompile.dfy b/Test/dafny0/ArrayElementInitCompile.dfy index 7d652486b9e..3714cf0fe8e 100644 --- a/Test/dafny0/ArrayElementInitCompile.dfy +++ b/Test/dafny0/ArrayElementInitCompile.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 /print:"%t.print" /rprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false method Main() { diff --git a/Test/dafny0/ArrayElementInitCompile.dfy.expect b/Test/dafny0/ArrayElementInitCompile.dfy.expect index a5241c75f19..eaa3e759999 100644 --- a/Test/dafny0/ArrayElementInitCompile.dfy.expect +++ b/Test/dafny0/ArrayElementInitCompile.dfy.expect @@ -1,79 +1,3 @@ - -Dafny program verifier finished with 18 verified, 0 errors - -Dafny program verifier did not attempt verification -67 67 67 67 67 67 67 67 -0 1 2 3 -1 2 3 4 -2 3 4 5 -3 4 5 6 -4 5 6 7 -O . O . O . O . O . O . -12 12 12 12 12 12 12 12 12 12 12 12 -D E -y z -4 3 -7 -100 75 98 25 - -looks like this rocks --2 -1 0 1 2 3 4 - -Dafny program verifier did not attempt verification -67 67 67 67 67 67 67 67 -0 1 2 3 -1 2 3 4 -2 3 4 5 -3 4 5 6 -4 5 6 7 -O . O . O . O . O . O . -12 12 12 12 12 12 12 12 12 12 12 12 -D E -y z -4 3 -7 -100 75 98 25 - -looks like this rocks --2 -1 0 1 2 3 4 - -Dafny program verifier did not attempt verification -67 67 67 67 67 67 67 67 -0 1 2 3 -1 2 3 4 -2 3 4 5 -3 4 5 6 -4 5 6 7 -O . O . O . O . O . O . -12 12 12 12 12 12 12 12 12 12 12 12 -D E -y z -4 3 -7 -100 75 98 25 - -looks like this rocks --2 -1 0 1 2 3 4 - -Dafny program verifier did not attempt verification -67 67 67 67 67 67 67 67 -0 1 2 3 -1 2 3 4 -2 3 4 5 -3 4 5 6 -4 5 6 7 -O . O . O . O . O . O . -12 12 12 12 12 12 12 12 12 12 12 12 -D E -y z -4 3 -7 -100 75 98 25 - -looks like this rocks --2 -1 0 1 2 3 4 - -Dafny program verifier did not attempt verification 67 67 67 67 67 67 67 67 0 1 2 3 1 2 3 4 diff --git a/Test/dafny0/Bitvectors.dfy b/Test/dafny0/Bitvectors.dfy index 6e0c9270b99..4c8e1094455 100644 --- a/Test/dafny0/Bitvectors.dfy +++ b/Test/dafny0/Bitvectors.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /print:"%t.print" /env:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Note the difference in Java output is due to // https://github.com/dafny-lang/dafny/issues/4152 diff --git a/Test/dafny0/Bitvectors.dfy.expect b/Test/dafny0/Bitvectors.dfy.expect index 51fda88f97b..ed1c7328e83 100644 --- a/Test/dafny0/Bitvectors.dfy.expect +++ b/Test/dafny0/Bitvectors.dfy.expect @@ -1,52 +1,3 @@ - -Dafny program verifier finished with 11 verified, 0 errors - -Dafny program verifier did not attempt verification -4000 4000 4000 0 -1 2053 1099 -185 55 -2 4 -Comparisons: true true false false -bv16: 5 - 2 == 3 -bv16: 1 - 2 == 65535 -3 2 -0 0 -false true true false -bv67: 147573952589676412927 + 3 == 2 - 3 == 147573952589676412925 !! 3 == ! 147573952589676412924 == 3 -bv64: 18446744073709551615 + 3 == 2 - 3 == 18446744073709551613 !! 3 == ! 18446744073709551612 == 3 -bv53: 9007199254740991 + 3 == 2 - 3 == 9007199254740989 !! 3 == ! 9007199254740988 == 3 -bv33: 8589934591 + 3 == 2 - 3 == 8589934589 !! 3 == ! 8589934588 == 3 -bv32: 4294967295 + 3 == 2 - 3 == 4294967293 !! 3 == ! 4294967292 == 3 -bv31: 2147483647 + 3 == 2 - 3 == 2147483645 !! 3 == ! 2147483644 == 3 -bv16: 65535 + 3 == 2 - 3 == 65533 !! 3 == ! 65532 == 3 -bv15: 32767 + 3 == 2 - 3 == 32765 !! 3 == ! 32764 == 3 -bv8: 255 + 3 == 2 - 3 == 253 !! 3 == ! 252 == 3 -bv6: 63 + 3 == 2 - 3 == 61 !! 3 == ! 60 == 3 -bv1: 1 + 1 == 0 - 1 == 1 !! 1 == ! 0 == 1 -bv0: 0 + 0 == 0 - 0 == 0 !! 0 == ! 0 == 0 -bv2: - 3 + 2 == 1 - 3 - 2 == 1 - 3 * 2 == 2 - 3 / 2 == 1 - 3 % 2 == 1 -PrintShifts: bv67: 5 40 40 40 -PrintShifts: bv32: 5 40 40 40 -PrintShifts: bv7: 5 40 40 40 -PrintShifts: bv2: 1 2 2 2 -PrintShifts: bv0: 0 0 0 0 -PrintShifts: bv67 again: 2 2 2 73786976294838206465 -PrintShifts: bv32 again: 8000 8000 2147487648 3221227472 -PrintShifts: bv7 again: 124 124 124 127 -PrintShifts: bv0 again: 0 0 0 0 -PrintRotates: bv12: 5 5 -PrintRotates: bv7: 5 5 -PrintRotates: bv2: 1 1 -PrintRotates: bv0: 0 0 -PrintRotates: bv12 again: 976 976 -PrintRotates: bv7 again: 127 127 - -Dafny program verifier did not attempt verification 4000 4000 4000 0 1 2053 1099 185 55 diff --git a/Test/dafny0/Constant.dfy b/Test/dafny0/Constant.dfy index f021e7d4482..1fdeedc3335 100644 --- a/Test/dafny0/Constant.dfy +++ b/Test/dafny0/Constant.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment const one:int := 1 const two:int := one * 2 diff --git a/Test/dafny0/Constant.dfy.expect b/Test/dafny0/Constant.dfy.expect index 6099b08c38c..1a7b981715f 100644 --- a/Test/dafny0/Constant.dfy.expect +++ b/Test/dafny0/Constant.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 17 verified, 0 errors one := 1 two := 2 three := 3 diff --git a/Test/dafny0/Deprecation.dfy b/Test/dafny0/Deprecation.dfy index 8c9c688d463..86521043d43 100644 --- a/Test/dafny0/Deprecation.dfy +++ b/Test/dafny0/Deprecation.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This file contains tests for messags about various deprecated features. // As those features go away completely, so can the corresponding tests. diff --git a/Test/dafny0/Deprecation.dfy.expect b/Test/dafny0/Deprecation.dfy.expect index 4ff88d31ade..0dffd975ac7 100644 --- a/Test/dafny0/Deprecation.dfy.expect +++ b/Test/dafny0/Deprecation.dfy.expect @@ -1,8 +1 @@ -Deprecation.dfy(16,13): Warning: constructors no longer need 'this' to be listed in modifies clauses -Deprecation.dfy(23,0): Warning: the old keyword phrase 'inductive predicate' has been renamed to 'least predicate' -Deprecation.dfy(26,0): Warning: the old keyword 'copredicate' has been renamed to the keyword phrase 'greatest predicate' -Deprecation.dfy(29,0): Warning: the old keyword phrase 'inductive lemma' has been renamed to 'least lemma' -Deprecation.dfy(32,0): Warning: the old keyword 'colemma' has been renamed to the keyword phrase 'greatest lemma' - -Dafny program verifier finished with 0 verified, 0 errors yet here we are diff --git a/Test/dafny0/Deprecation.dfy.verifier.expect b/Test/dafny0/Deprecation.dfy.verifier.expect new file mode 100644 index 00000000000..c0851e9888c --- /dev/null +++ b/Test/dafny0/Deprecation.dfy.verifier.expect @@ -0,0 +1,5 @@ +Deprecation.dfy(15,13): Warning: constructors no longer need 'this' to be listed in modifies clauses +Deprecation.dfy(22,0): Warning: the old keyword phrase 'inductive predicate' has been renamed to 'least predicate' +Deprecation.dfy(25,0): Warning: the old keyword 'copredicate' has been renamed to the keyword phrase 'greatest predicate' +Deprecation.dfy(28,0): Warning: the old keyword phrase 'inductive lemma' has been renamed to 'least lemma' +Deprecation.dfy(31,0): Warning: the old keyword 'colemma' has been renamed to the keyword phrase 'greatest lemma' diff --git a/Test/dafny0/DiscoverBounds.dfy b/Test/dafny0/DiscoverBounds.dfy index 31f9717ee79..18e56158613 100644 --- a/Test/dafny0/DiscoverBounds.dfy +++ b/Test/dafny0/DiscoverBounds.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /print:"%t.print" /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment newtype NT = x | 0 <= x < 100 newtype UT = NT diff --git a/Test/dafny0/DiscoverBounds.dfy.expect b/Test/dafny0/DiscoverBounds.dfy.expect index e43954c7be1..909a58326d0 100644 --- a/Test/dafny0/DiscoverBounds.dfy.expect +++ b/Test/dafny0/DiscoverBounds.dfy.expect @@ -1,10 +1,3 @@ -DiscoverBounds.dfy(32,7): Warning: /!\ No terms found to trigger on. -DiscoverBounds.dfy(33,7): Warning: /!\ No terms found to trigger on. -DiscoverBounds.dfy(34,7): Warning: /!\ No terms found to trigger on. -DiscoverBounds.dfy(35,7): Warning: /!\ No terms found to trigger on. -DiscoverBounds.dfy(36,7): Warning: /!\ No terms found to trigger on. - -Dafny program verifier finished with 7 verified, 0 errors 0 0 -2 diff --git a/Test/dafny0/DiscoverBounds.dfy.verifier.expect b/Test/dafny0/DiscoverBounds.dfy.verifier.expect new file mode 100644 index 00000000000..7c4de01ee0e --- /dev/null +++ b/Test/dafny0/DiscoverBounds.dfy.verifier.expect @@ -0,0 +1,5 @@ +DiscoverBounds.dfy(31,7): Warning: /!\ No terms found to trigger on. +DiscoverBounds.dfy(32,7): Warning: /!\ No terms found to trigger on. +DiscoverBounds.dfy(33,7): Warning: /!\ No terms found to trigger on. +DiscoverBounds.dfy(34,7): Warning: /!\ No terms found to trigger on. +DiscoverBounds.dfy(35,7): Warning: /!\ No terms found to trigger on. diff --git a/Test/dafny0/DividedConstructors.dfy b/Test/dafny0/DividedConstructors.dfy index 169bf4ee7df..e6f63a35f11 100644 --- a/Test/dafny0/DividedConstructors.dfy +++ b/Test/dafny0/DividedConstructors.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /env:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var m := new M0.MyClass.Init(20); diff --git a/Test/dafny0/DividedConstructors.dfy.expect b/Test/dafny0/DividedConstructors.dfy.expect index eaa3ed7d379..2dcc1ba6402 100644 --- a/Test/dafny0/DividedConstructors.dfy.expect +++ b/Test/dafny0/DividedConstructors.dfy.expect @@ -1,5 +1,2 @@ -DividedConstructors.dfy(62,9): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier finished with 17 verified, 0 errors 37, 17, 3.14 false, true diff --git a/Test/dafny0/DividedConstructors.dfy.verifier.expect b/Test/dafny0/DividedConstructors.dfy.verifier.expect new file mode 100644 index 00000000000..f3fdfadddbf --- /dev/null +++ b/Test/dafny0/DividedConstructors.dfy.verifier.expect @@ -0,0 +1 @@ +DividedConstructors.dfy(61,9): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny0/EqualityTypesCompile.dfy b/Test/dafny0/EqualityTypesCompile.dfy index de7954710e9..a36d1818c1d 100644 --- a/Test/dafny0/EqualityTypesCompile.dfy +++ b/Test/dafny0/EqualityTypesCompile.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype List = Nil | Cons(A, List) | ICons(int, List) datatype TwoLists = Two(List, List) diff --git a/Test/dafny0/EqualityTypesCompile.dfy.expect b/Test/dafny0/EqualityTypesCompile.dfy.expect index d2f1950e7f7..0246dc39633 100644 --- a/Test/dafny0/EqualityTypesCompile.dfy.expect +++ b/Test/dafny0/EqualityTypesCompile.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors from M: false from N: false from H: false diff --git a/Test/dafny0/ForallCompilationNewSyntax.dfy b/Test/dafny0/ForallCompilationNewSyntax.dfy index b7132df78ae..ac354d6338c 100644 --- a/Test/dafny0/ForallCompilationNewSyntax.dfy +++ b/Test/dafny0/ForallCompilationNewSyntax.dfy @@ -1,5 +1,4 @@ -// RUN: %baredafny run %args --relax-definite-assignment --quantifier-syntax:4 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --quantifier-syntax:4 --relax-definite-assignment method Main() { var c := new MyClass; diff --git a/Test/dafny0/ForallCompilationNewSyntax.dfy.expect b/Test/dafny0/ForallCompilationNewSyntax.dfy.expect index 5b7ec4613bb..e69de29bb2d 100644 --- a/Test/dafny0/ForallCompilationNewSyntax.dfy.expect +++ b/Test/dafny0/ForallCompilationNewSyntax.dfy.expect @@ -1,6 +0,0 @@ -ForallCompilationNewSyntax.dfy(26,4): Warning: /!\ No terms found to trigger on. -ForallCompilationNewSyntax.dfy(35,4): Warning: /!\ No terms found to trigger on. -ForallCompilationNewSyntax.dfy(44,4): Warning: /!\ No terms found to trigger on. -ForallCompilationNewSyntax.dfy(64,4): Warning: /!\ No trigger covering all quantified variables found. - -Dafny program verifier finished with 14 verified, 0 errors diff --git a/Test/dafny0/ForallCompilationNewSyntax.dfy.verifier.expect b/Test/dafny0/ForallCompilationNewSyntax.dfy.verifier.expect new file mode 100644 index 00000000000..a94cd5ea608 --- /dev/null +++ b/Test/dafny0/ForallCompilationNewSyntax.dfy.verifier.expect @@ -0,0 +1,4 @@ +ForallCompilationNewSyntax.dfy(25,4): Warning: /!\ No terms found to trigger on. +ForallCompilationNewSyntax.dfy(34,4): Warning: /!\ No terms found to trigger on. +ForallCompilationNewSyntax.dfy(43,4): Warning: /!\ No terms found to trigger on. +ForallCompilationNewSyntax.dfy(63,4): Warning: /!\ No trigger covering all quantified variables found. diff --git a/Test/dafny0/GhostITECompilation.dfy b/Test/dafny0/GhostITECompilation.dfy index d761ddbc6ea..bd7cfa28a95 100644 --- a/Test/dafny0/GhostITECompilation.dfy +++ b/Test/dafny0/GhostITECompilation.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 /functionSyntax:4 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --function-syntax:4 --relax-definite-assignment function F(x: nat, ghost y: nat): nat { diff --git a/Test/dafny0/GhostITECompilation.dfy.expect b/Test/dafny0/GhostITECompilation.dfy.expect index 1ec406bf52c..b4988e5cf11 100644 --- a/Test/dafny0/GhostITECompilation.dfy.expect +++ b/Test/dafny0/GhostITECompilation.dfy.expect @@ -1,31 +1,3 @@ - -Dafny program verifier finished with 6 verified, 0 errors - -Dafny program verifier did not attempt verification -65 -65 -65 -65 - -Dafny program verifier did not attempt verification -65 -65 -65 -65 - -Dafny program verifier did not attempt verification -65 -65 -65 -65 - -Dafny program verifier did not attempt verification -65 -65 -65 -65 - -Dafny program verifier did not attempt verification 65 65 65 diff --git a/Test/dafny0/InitialValues.dfy b/Test/dafny0/InitialValues.dfy index 7dcb05cc9c9..0848d244d71 100644 --- a/Test/dafny0/InitialValues.dfy +++ b/Test/dafny0/InitialValues.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/dafny0/InitialValues.dfy.expect b/Test/dafny0/InitialValues.dfy.expect index ada1b783c16..18903dcc3dd 100644 --- a/Test/dafny0/InitialValues.dfy.expect +++ b/Test/dafny0/InitialValues.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 2 verified, 0 errors r= 0.0 s= 3.4 a= 0.0 b= 3.4 z= 0.0 a==z = true diff --git a/Test/dafny0/MatchBraces.dfy b/Test/dafny0/MatchBraces.dfy index ddd1924774b..4ac380f2739 100644 --- a/Test/dafny0/MatchBraces.dfy +++ b/Test/dafny0/MatchBraces.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /print:"%t.print" /env:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Color = Red | Green | Blue diff --git a/Test/dafny0/MatchBraces.dfy.expect b/Test/dafny0/MatchBraces.dfy.expect index 88f6cf4f56e..4f89bff47e5 100644 --- a/Test/dafny0/MatchBraces.dfy.expect +++ b/Test/dafny0/MatchBraces.dfy.expect @@ -1,10 +1,2 @@ - -Dafny program verifier finished with 5 verified, 0 errors - -Dafny program verifier did not attempt verification -7 0.18 Color.Red 13 12 -11 98.0 Color.Green 14 115 - -Dafny program verifier did not attempt verification 7 0.18 Color.Red 13 12 11 98.0 Color.Green 14 115 diff --git a/Test/dafny0/MoForallCompilation.dfy b/Test/dafny0/MoForallCompilation.dfy index 835712edbce..af080853463 100644 --- a/Test/dafny0/MoForallCompilation.dfy +++ b/Test/dafny0/MoForallCompilation.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { TestAggregateArrayUpdate(); diff --git a/Test/dafny0/MoForallCompilation.dfy.expect b/Test/dafny0/MoForallCompilation.dfy.expect index c431c74c6aa..7bb606c1528 100644 --- a/Test/dafny0/MoForallCompilation.dfy.expect +++ b/Test/dafny0/MoForallCompilation.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 18 verified, 0 errors -4.0 -3.0 -2.0 -1.0 0.0 1.0 2.0 3.0 7.0 6.0 5.0 4.0 3.0 2.0 1.0 0.0 true true true true true true false false diff --git a/Test/dafny0/NameclashesCompile.dfy b/Test/dafny0/NameclashesCompile.dfy index 4d06065c675..46cae4b2338 100644 --- a/Test/dafny0/NameclashesCompile.dfy +++ b/Test/dafny0/NameclashesCompile.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var r0, r1; diff --git a/Test/dafny0/NameclashesCompile.dfy.expect b/Test/dafny0/NameclashesCompile.dfy.expect index 1434bb632f6..f001bdaeb1e 100644 --- a/Test/dafny0/NameclashesCompile.dfy.expect +++ b/Test/dafny0/NameclashesCompile.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 2 verified, 0 errors 15.0 15.1 94 99 0.8 14.3 14.4 18.9 18.92 diff --git a/Test/dafny0/NonZeroInitializationCompile.dfy b/Test/dafny0/NonZeroInitializationCompile.dfy index 48b61a39369..2fedae6d60d 100644 --- a/Test/dafny0/NonZeroInitializationCompile.dfy +++ b/Test/dafny0/NonZeroInitializationCompile.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment type MyInt = x | 6 <= x witness 6 newtype MyNewInt = x | 6 <= x witness 12 diff --git a/Test/dafny0/NonZeroInitializationCompile.dfy.expect b/Test/dafny0/NonZeroInitializationCompile.dfy.expect index 72b333efb85..c682dccf3fc 100644 --- a/Test/dafny0/NonZeroInitializationCompile.dfy.expect +++ b/Test/dafny0/NonZeroInitializationCompile.dfy.expect @@ -1,76 +1,3 @@ - -Dafny program verifier finished with 15 verified, 0 errors - -Dafny program verifier did not attempt verification -These are the arbitrary values chosen by the compiler: 6, 12 -short, short': 0, -35 -nes: {57} -f0, f1: (0, false), (29, true) -dt: Dt.Atom(-35) -cl { u: 12, x: 0, r: 3.14, nes: {57} } -cl' { u: 12, x: 0, ': 3.14, nes: {20, 57} } - -x: real :: 0.0 versus 0.0 -ch: char :: 'D' versus 'D' -s: set :: {} versus {} -d: Xt :: AdvancedZeroInitialization.Xt.MakeXt(0, []) versus AdvancedZeroInitialization.Xt.MakeXt(0, []) -y: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, []) versus AdvancedZeroInitialization.Yt.MakeYt(0, []) -z: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization.Yt.MakeYt(0, 0) - -x: real :: 0.0 versus 0.0 -ch: char :: 'D' versus 'D' -s: set :: {} versus {} -d: Xt :: AdvancedZeroInitialization.Xt.MakeXt(0, []) versus AdvancedZeroInitialization.Xt.MakeXt(0, []) -y: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, []) versus AdvancedZeroInitialization.Yt.MakeYt(0, []) -z: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization.Yt.MakeYt(0, 0) - -Dafny program verifier did not attempt verification -These are the arbitrary values chosen by the compiler: 6, 12 -short, short': 0, -35 -nes: {57} -f0, f1: (0, false), (29, true) -dt: Dt.Atom(-35) -cl { u: 12, x: 0, r: 3.14, nes: {57} } -cl' { u: 12, x: 0, ': 3.14, nes: {20, 57} } - -x: real :: 0.0 versus 0.0 -ch: char :: 'D' versus 'D' -s: set :: {} versus {} -d: Xt :: AdvancedZeroInitialization.Xt.MakeXt(0, []) versus AdvancedZeroInitialization.Xt.MakeXt(0, []) -y: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, []) versus AdvancedZeroInitialization.Yt.MakeYt(0, []) -z: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization.Yt.MakeYt(0, 0) - -x: real :: 0.0 versus 0.0 -ch: char :: 'D' versus 'D' -s: set :: {} versus {} -d: Xt :: AdvancedZeroInitialization.Xt.MakeXt(0, []) versus AdvancedZeroInitialization.Xt.MakeXt(0, []) -y: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, []) versus AdvancedZeroInitialization.Yt.MakeYt(0, []) -z: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization.Yt.MakeYt(0, 0) - -Dafny program verifier did not attempt verification -These are the arbitrary values chosen by the compiler: 6, 12 -short, short': 0, -35 -nes: {57} -f0, f1: (0, false), (29, true) -dt: Dt.Atom(-35) -cl { u: 12, x: 0, r: 3.14, nes: {57} } -cl' { u: 12, x: 0, ': 3.14, nes: {20, 57} } - -x: real :: 0.0 versus 0.0 -ch: char :: 'D' versus 'D' -s: set :: {} versus {} -d: Xt :: AdvancedZeroInitialization.Xt.MakeXt(0, []) versus AdvancedZeroInitialization.Xt.MakeXt(0, []) -y: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, []) versus AdvancedZeroInitialization.Yt.MakeYt(0, []) -z: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization.Yt.MakeYt(0, 0) - -x: real :: 0.0 versus 0.0 -ch: char :: 'D' versus 'D' -s: set :: {} versus {} -d: Xt :: AdvancedZeroInitialization.Xt.MakeXt(0, []) versus AdvancedZeroInitialization.Xt.MakeXt(0, []) -y: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, []) versus AdvancedZeroInitialization.Yt.MakeYt(0, []) -z: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization.Yt.MakeYt(0, 0) - -Dafny program verifier did not attempt verification These are the arbitrary values chosen by the compiler: 6, 12 short, short': 0, -35 nes: {57} diff --git a/Test/dafny0/NullComparisonWarnings.dfy b/Test/dafny0/NullComparisonWarnings.dfy index eb9183040bc..35fd5ffb3f4 100644 --- a/Test/dafny0/NullComparisonWarnings.dfy +++ b/Test/dafny0/NullComparisonWarnings.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { print "despite the warnings, the program still compiles\n"; diff --git a/Test/dafny0/NullComparisonWarnings.dfy.expect b/Test/dafny0/NullComparisonWarnings.dfy.expect index d8cf4a9960c..f2b4545fac7 100644 --- a/Test/dafny0/NullComparisonWarnings.dfy.expect +++ b/Test/dafny0/NullComparisonWarnings.dfy.expect @@ -1,14 +1 @@ -NullComparisonWarnings.dfy(27,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(28,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'y' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(29,14): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for field 'next' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(30,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(31,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'y' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(32,14): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for field 'next' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(34,12): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(37,12): Warning: the type of the other operand is a set of non-null elements, so the inclusion test of 'null' will always return 'false' -NullComparisonWarnings.dfy(38,12): Warning: the type of the other operand is a set of non-null elements, so the non-inclusion test of 'null' will always return 'true' -NullComparisonWarnings.dfy(40,41): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'u' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(45,12): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' - -Dafny program verifier finished with 4 verified, 0 errors despite the warnings, the program still compiles diff --git a/Test/dafny0/NullComparisonWarnings.dfy.verifier.expect b/Test/dafny0/NullComparisonWarnings.dfy.verifier.expect new file mode 100644 index 00000000000..24f9074ecc9 --- /dev/null +++ b/Test/dafny0/NullComparisonWarnings.dfy.verifier.expect @@ -0,0 +1,11 @@ +NullComparisonWarnings.dfy(26,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(27,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'y' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(28,14): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for field 'next' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(29,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(30,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'y' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(31,14): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for field 'next' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(33,12): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(36,12): Warning: the type of the other operand is a set of non-null elements, so the inclusion test of 'null' will always return 'false' +NullComparisonWarnings.dfy(37,12): Warning: the type of the other operand is a set of non-null elements, so the non-inclusion test of 'null' will always return 'true' +NullComparisonWarnings.dfy(39,41): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'u' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(44,12): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' diff --git a/Test/dafny0/PrintUTF8.dfy b/Test/dafny0/PrintUTF8.dfy index 5d4e376b19d..eff7baa32a9 100644 --- a/Test/dafny0/PrintUTF8.dfy +++ b/Test/dafny0/PrintUTF8.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { print "Mikaël fixed UTF8\n"; diff --git a/Test/dafny0/PrintUTF8.dfy.expect b/Test/dafny0/PrintUTF8.dfy.expect index 52a23e906cc..818549280d3 100644 --- a/Test/dafny0/PrintUTF8.dfy.expect +++ b/Test/dafny0/PrintUTF8.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors Mikaël fixed UTF8 diff --git a/Test/dafny0/RangeCompilation.dfy b/Test/dafny0/RangeCompilation.dfy index 53a8d6e33e5..3f3e6aed0f8 100644 --- a/Test/dafny0/RangeCompilation.dfy +++ b/Test/dafny0/RangeCompilation.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment newtype Byte = x | 0 <= x < 256 predicate GoodByte(b: Byte) { diff --git a/Test/dafny0/RangeCompilation.dfy.expect b/Test/dafny0/RangeCompilation.dfy.expect index 82fbbb9b698..9e0f9e5f028 100644 --- a/Test/dafny0/RangeCompilation.dfy.expect +++ b/Test/dafny0/RangeCompilation.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 4 verified, 0 errors b=2 i=4 diff --git a/Test/dafny0/SeqFromArray.dfy b/Test/dafny0/SeqFromArray.dfy index 6bab732c906..39f72303d18 100644 --- a/Test/dafny0/SeqFromArray.dfy +++ b/Test/dafny0/SeqFromArray.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // /autoTriggers:1 added to suppress instabilities diff --git a/Test/dafny0/SeqFromArray.dfy.expect b/Test/dafny0/SeqFromArray.dfy.expect index 1981561ca00..e69de29bb2d 100644 --- a/Test/dafny0/SeqFromArray.dfy.expect +++ b/Test/dafny0/SeqFromArray.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 10 verified, 0 errors diff --git a/Test/dafny0/SharedDestructorsCompile.dfy b/Test/dafny0/SharedDestructorsCompile.dfy index 8171cf72404..64d8b245b58 100644 --- a/Test/dafny0/SharedDestructorsCompile.dfy +++ b/Test/dafny0/SharedDestructorsCompile.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Dt = | A(x: int, y: real) diff --git a/Test/dafny0/SharedDestructorsCompile.dfy.expect b/Test/dafny0/SharedDestructorsCompile.dfy.expect index e037db03c40..060d152d77b 100644 --- a/Test/dafny0/SharedDestructorsCompile.dfy.expect +++ b/Test/dafny0/SharedDestructorsCompile.dfy.expect @@ -1,20 +1,3 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification -Dt.A(10, 12.0): x=10 y=12.0 -Dt.B(_module.MyClass, 6): h=_module.MyClass x=6 -Dt.C(3.14): y=3.14 -Dt.C(3.14) -Dt.A(71, 0.1) -Klef.C3(44, 100, 66, 200) -Datte.AA(10, 2) Datte.AA(10, 5) -Datte.BB(false, 12) Datte.BB(false, 6) -Datte.CC(3.2) Datte.CC(3.4) -Datte.DD(100, {7}, 5, 9.0) Datte.DD(30, {7}, 5, 9.0) -Datte.DD(100, {7}, 5, 9.0) Datte.DD(30, {7}, 5, 2.0) - -Dafny program verifier did not attempt verification Dt.A(10, 12.0): x=10 y=12.0 Dt.B(_module.MyClass, 6): h=_module.MyClass x=6 Dt.C(3.14): y=3.14 diff --git a/Test/dafny0/SiblingImports.dfy b/Test/dafny0/SiblingImports.dfy index 3fb01d9d1b8..756e4b253f3 100644 --- a/Test/dafny0/SiblingImports.dfy +++ b/Test/dafny0/SiblingImports.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { ClientA.Test(); diff --git a/Test/dafny0/SiblingImports.dfy.expect b/Test/dafny0/SiblingImports.dfy.expect index ba4df82a925..fb6171563ac 100644 --- a/Test/dafny0/SiblingImports.dfy.expect +++ b/Test/dafny0/SiblingImports.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors ClientA.Inner.Five: 5 ClientB.Inner.Five: 5 ClientC.Inner.Five: 5 diff --git a/Test/dafny0/TypeConversionsCompile.dfy b/Test/dafny0/TypeConversionsCompile.dfy index 90075fb74a8..5b1e32b9258 100644 --- a/Test/dafny0/TypeConversionsCompile.dfy +++ b/Test/dafny0/TypeConversionsCompile.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /env:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Note the difference in output in Java's case is due to // https://github.com/dafny-lang/dafny/issues/4152 diff --git a/Test/dafny0/TypeConversionsCompile.dfy.expect b/Test/dafny0/TypeConversionsCompile.dfy.expect index 893938a0226..78990cf4a30 100644 --- a/Test/dafny0/TypeConversionsCompile.dfy.expect +++ b/Test/dafny0/TypeConversionsCompile.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 8 verified, 0 errors 3 4 5.0 5 6 -1.0 147573952589676412927 4294967295 127 0 got 3, expected 3 got 0, expected 0 diff --git a/Test/dafny0/TypeMembers.dfy b/Test/dafny0/TypeMembers.dfy index 2ab57767ad5..f2bea4039c9 100644 --- a/Test/dafny0/TypeMembers.dfy +++ b/Test/dafny0/TypeMembers.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { BasicTests(); diff --git a/Test/dafny0/TypeMembers.dfy.expect b/Test/dafny0/TypeMembers.dfy.expect index 1d406ca85dc..923cb07e841 100644 --- a/Test/dafny0/TypeMembers.dfy.expect +++ b/Test/dafny0/TypeMembers.dfy.expect @@ -1,32 +1,3 @@ -TypeMembers.dfy(117,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect - -Dafny program verifier finished with 29 verified, 0 errors -TypeMembers.dfy(117,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect - -Dafny program verifier did not attempt verification -DaTy.Yes 10 26 -8 11 10 11 10 -35 10 14 -22 22 -9 Dt.Business(false, 5) -76 77 -19 -0 0 -19 82 83 -93 Co.Cobalt -27 27 -18 -11 18 18 22 -15 30 29 -95 11 -162 165 -11 18 18 3 -15 30 29 -95 11 -162 165 -TypeMembers.dfy(117,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect - -Dafny program verifier did not attempt verification DaTy.Yes 10 26 8 11 10 11 10 35 10 14 diff --git a/Test/dafny0/TypeMembers.dfy.verifier.expect b/Test/dafny0/TypeMembers.dfy.verifier.expect new file mode 100644 index 00000000000..62f55c943d2 --- /dev/null +++ b/Test/dafny0/TypeMembers.dfy.verifier.expect @@ -0,0 +1 @@ +TypeMembers.dfy(114,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect diff --git a/Test/dafny0/Wellfounded.dfy b/Test/dafny0/Wellfounded.dfy index 2ed488974c6..7ec2be06b38 100644 --- a/Test/dafny0/Wellfounded.dfy +++ b/Test/dafny0/Wellfounded.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var d := Int(10); diff --git a/Test/dafny0/Wellfounded.dfy.expect b/Test/dafny0/Wellfounded.dfy.expect index 73d7a1e7ca2..52742a67098 100644 --- a/Test/dafny0/Wellfounded.dfy.expect +++ b/Test/dafny0/Wellfounded.dfy.expect @@ -1,7 +1,3 @@ -Wellfounded.dfy(49,14): Warning: /!\ No terms found to trigger on. -Wellfounded.dfy(77,5): Warning: /!\ No terms found to trigger on. - -Dafny program verifier finished with 3 verified, 0 errors M(d, d) = 10 M(a1, d) = 10 M(a2, d) = 10 diff --git a/Test/dafny0/Wellfounded.dfy.verifier.expect b/Test/dafny0/Wellfounded.dfy.verifier.expect new file mode 100644 index 00000000000..e61f12f01b2 --- /dev/null +++ b/Test/dafny0/Wellfounded.dfy.verifier.expect @@ -0,0 +1,2 @@ +Wellfounded.dfy(48,14): Warning: /!\ No terms found to trigger on. +Wellfounded.dfy(76,5): Warning: /!\ No terms found to trigger on. diff --git a/Test/dafny2/MinWindowMax.dfy b/Test/dafny2/MinWindowMax.dfy index 71ccb539d7d..32342cdd8b9 100644 --- a/Test/dafny2/MinWindowMax.dfy +++ b/Test/dafny2/MinWindowMax.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Minimum window-max problem. // Rustan Leino diff --git a/Test/dafny2/MinWindowMax.dfy.expect b/Test/dafny2/MinWindowMax.dfy.expect index f6f6e52d9bc..1bb5609994e 100644 --- a/Test/dafny2/MinWindowMax.dfy.expect +++ b/Test/dafny2/MinWindowMax.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 12 verified, 0 errors Window size 1: min window-max is -5 Window size 2: min window-max is 2 Window size 3: min window-max is 3 diff --git a/Test/dafny2/SmallestMissingNumber-functional.dfy b/Test/dafny2/SmallestMissingNumber-functional.dfy index 047475c2680..a1544efab5f 100644 --- a/Test/dafny2/SmallestMissingNumber-functional.dfy +++ b/Test/dafny2/SmallestMissingNumber-functional.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Smallest missing number problem, functional version without duplicates. // A purely functional solution to the programming problem in Richard Bird's diff --git a/Test/dafny2/SmallestMissingNumber-functional.dfy.expect b/Test/dafny2/SmallestMissingNumber-functional.dfy.expect index 208b183ee3e..5d75da8ddd3 100644 --- a/Test/dafny2/SmallestMissingNumber-functional.dfy.expect +++ b/Test/dafny2/SmallestMissingNumber-functional.dfy.expect @@ -1,4 +1 @@ -SmallestMissingNumber-functional.dfy(213,11): Warning: /!\ No terms found to trigger on. - -Dafny program verifier finished with 21 verified, 0 errors 0 1 4 5 diff --git a/Test/dafny2/SmallestMissingNumber-functional.dfy.verifier.expect b/Test/dafny2/SmallestMissingNumber-functional.dfy.verifier.expect new file mode 100644 index 00000000000..cf10280f376 --- /dev/null +++ b/Test/dafny2/SmallestMissingNumber-functional.dfy.verifier.expect @@ -0,0 +1 @@ +SmallestMissingNumber-functional.dfy(212,11): Warning: /!\ No terms found to trigger on. diff --git a/Test/dafny2/SmallestMissingNumber-imperative.dfy b/Test/dafny2/SmallestMissingNumber-imperative.dfy index b8539481a54..314bf4e464c 100644 --- a/Test/dafny2/SmallestMissingNumber-imperative.dfy +++ b/Test/dafny2/SmallestMissingNumber-imperative.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Smallest missing number. // An imperative solution to the programming problem in Richard Bird's diff --git a/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect b/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect index bc4a868fdff..cfb25913041 100644 --- a/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect +++ b/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 8 verified, 0 errors 0 1 5 diff --git a/Test/dafny2/StoreAndRetrieve.dfy b/Test/dafny2/StoreAndRetrieve.dfy index 99a72697a71..f19239e234a 100644 --- a/Test/dafny2/StoreAndRetrieve.dfy +++ b/Test/dafny2/StoreAndRetrieve.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This file shows an example program that uses both refinement and :autocontracts // specify a class that stores a set of things that can be retrieved using a query. diff --git a/Test/dafny2/StoreAndRetrieve.dfy.expect b/Test/dafny2/StoreAndRetrieve.dfy.expect index 1d7d71d5202..030f5bfab39 100644 --- a/Test/dafny2/StoreAndRetrieve.dfy.expect +++ b/Test/dafny2/StoreAndRetrieve.dfy.expect @@ -1,39 +1 @@ -StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier finished with 19 verified, 0 errors -StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -20.3 -StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -20.3 -StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -20.3 -StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification 20.3 diff --git a/Test/dafny2/StoreAndRetrieve.dfy.verifier.expect b/Test/dafny2/StoreAndRetrieve.dfy.verifier.expect new file mode 100644 index 00000000000..0c3d269cdc1 --- /dev/null +++ b/Test/dafny2/StoreAndRetrieve.dfy.verifier.expect @@ -0,0 +1,5 @@ +StoreAndRetrieve.dfy(60,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(65,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(66,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(81,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(92,9): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny2/pq-intrinsic-extrinsic.dfy b/Test/dafny2/pq-intrinsic-extrinsic.dfy index c797c92445d..588c2f9e2b1 100644 --- a/Test/dafny2/pq-intrinsic-extrinsic.dfy +++ b/Test/dafny2/pq-intrinsic-extrinsic.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This file contains several versions of a priority queue implemented by Braun trees: // diff --git a/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect b/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect index bc2608f44b7..5c90c26e0eb 100644 --- a/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect +++ b/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect @@ -1,14 +1,3 @@ - -Dafny program verifier finished with 32 verified, 0 errors - -Dafny program verifier did not attempt verification -PriorityQueue_extrinsic: 3 -PriorityQueue_layered: 3 -PriorityQueue_intrinsic: 3 -PriorityQueue_on_intrinsic: 3 -PriorityQueue_direct: 3 - -Dafny program verifier did not attempt verification PriorityQueue_extrinsic: 3 PriorityQueue_layered: 3 PriorityQueue_intrinsic: 3 diff --git a/Test/dafny3/Abstemious.dfy b/Test/dafny3/Abstemious.dfy index 263c1f1fb00..62d891f950f 100644 --- a/Test/dafny3/Abstemious.dfy +++ b/Test/dafny3/Abstemious.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Examples from https://www.haskell.org/tutorial/functions.html diff --git a/Test/dafny3/Abstemious.dfy.expect b/Test/dafny3/Abstemious.dfy.expect index 96f109b0b58..3511a04a840 100644 --- a/Test/dafny3/Abstemious.dfy.expect +++ b/Test/dafny3/Abstemious.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 19 verified, 0 errors ones(): 1 1 1 1 1 1 1 ... from(3): 3 4 5 6 7 8 9 ... Map(plus1, ones()): 2 2 2 2 2 2 2 ... diff --git a/Test/dafny3/CachedContainer.dfy b/Test/dafny3/CachedContainer.dfy index 77c3e45897f..e36e76d6851 100644 --- a/Test/dafny3/CachedContainer.dfy +++ b/Test/dafny3/CachedContainer.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This file contains an example chain of module refinements, starting from a // simple interface M0 to an implementation M3. Module Client.Test() is diff --git a/Test/dafny3/CachedContainer.dfy.expect b/Test/dafny3/CachedContainer.dfy.expect index 08f4fb30b0a..ed2a587c3f1 100644 --- a/Test/dafny3/CachedContainer.dfy.expect +++ b/Test/dafny3/CachedContainer.dfy.expect @@ -1,79 +1 @@ -CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier finished with 29 verified, 0 errors -CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -false true false true -CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -false true false true -CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -false true false true -CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification false true false true diff --git a/Test/dafny3/CachedContainer.dfy.verifier.expect b/Test/dafny3/CachedContainer.dfy.verifier.expect new file mode 100644 index 00000000000..a037bc94ff6 --- /dev/null +++ b/Test/dafny3/CachedContainer.dfy.verifier.expect @@ -0,0 +1,13 @@ +CachedContainer.dfy(112,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(119,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(122,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(129,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(132,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(153,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(154,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(162,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(163,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(166,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(178,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(179,13): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny3/Iter.dfy b/Test/dafny3/Iter.dfy index 81431f2c64b..46befa24dd8 100644 --- a/Test/dafny3/Iter.dfy +++ b/Test/dafny3/Iter.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class List { ghost var Contents: seq diff --git a/Test/dafny3/Iter.dfy.expect b/Test/dafny3/Iter.dfy.expect index 69d7373d5d5..0ed11070541 100644 --- a/Test/dafny3/Iter.dfy.expect +++ b/Test/dafny3/Iter.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 12 verified, 0 errors 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 98 0 2 4 6 8 10 12 14 diff --git a/Test/dafny4/Ackermann.dfy b/Test/dafny4/Ackermann.dfy index 27968070e9b..a4ef351c96b 100644 --- a/Test/dafny4/Ackermann.dfy +++ b/Test/dafny4/Ackermann.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Rustan Leino, 8 Sep 2015. // This file proves that the Ackermann function is monotonic in each argument diff --git a/Test/dafny4/Ackermann.dfy.expect b/Test/dafny4/Ackermann.dfy.expect index c995dac9c9a..43d9513ef4b 100644 --- a/Test/dafny4/Ackermann.dfy.expect +++ b/Test/dafny4/Ackermann.dfy.expect @@ -1,5 +1 @@ -Ackermann.dfy(163,4): Warning: /!\ No terms found to trigger on. -Ackermann.dfy(181,4): Warning: /!\ No terms found to trigger on. - -Dafny program verifier finished with 14 verified, 0 errors Ack(3, 4) = 125 diff --git a/Test/dafny4/Ackermann.dfy.verifier.expect b/Test/dafny4/Ackermann.dfy.verifier.expect new file mode 100644 index 00000000000..b302e2b4daf --- /dev/null +++ b/Test/dafny4/Ackermann.dfy.verifier.expect @@ -0,0 +1,2 @@ +Ackermann.dfy(162,4): Warning: /!\ No terms found to trigger on. +Ackermann.dfy(180,4): Warning: /!\ No terms found to trigger on. diff --git a/Test/dafny4/Bug107.dfy b/Test/dafny4/Bug107.dfy index e417fc90a53..b7ab69c9a8d 100644 --- a/Test/dafny4/Bug107.dfy +++ b/Test/dafny4/Bug107.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/dafny4/Bug107.dfy.expect b/Test/dafny4/Bug107.dfy.expect index ad79213a18c..62f9457511f 100644 --- a/Test/dafny4/Bug107.dfy.expect +++ b/Test/dafny4/Bug107.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors 6 \ No newline at end of file diff --git a/Test/dafny4/Bug108.dfy b/Test/dafny4/Bug108.dfy index c64ec32a340..8228fe44f87 100644 --- a/Test/dafny4/Bug108.dfy +++ b/Test/dafny4/Bug108.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var A := map[0 := 1]; diff --git a/Test/dafny4/Bug108.dfy.expect b/Test/dafny4/Bug108.dfy.expect index c1c63f6c5c1..0777a01b26d 100644 --- a/Test/dafny4/Bug108.dfy.expect +++ b/Test/dafny4/Bug108.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 1 verified, 0 errors map[0 := 1] map[0 := 1] diff --git a/Test/dafny4/Bug113.dfy b/Test/dafny4/Bug113.dfy index 23c759540cd..0bec0c1ce31 100644 --- a/Test/dafny4/Bug113.dfy +++ b/Test/dafny4/Bug113.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype D = D(q:int, r:int, s:int, t:int) @@ -7,4 +6,4 @@ method Main() { print D(10, 20, 30, 40); print "\n"; -} \ No newline at end of file +} diff --git a/Test/dafny4/Bug113.dfy.expect b/Test/dafny4/Bug113.dfy.expect index 3ea1396ad00..e2eeff32e9a 100644 --- a/Test/dafny4/Bug113.dfy.expect +++ b/Test/dafny4/Bug113.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors D.D(10, 20, 30, 40) diff --git a/Test/dafny4/Bug140.dfy b/Test/dafny4/Bug140.dfy index edde966c149..8280db8f665 100644 --- a/Test/dafny4/Bug140.dfy +++ b/Test/dafny4/Bug140.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class Node { ghost var List: seq diff --git a/Test/dafny4/Bug140.dfy.expect b/Test/dafny4/Bug140.dfy.expect index bad48de4d6b..a40ee1166fb 100644 --- a/Test/dafny4/Bug140.dfy.expect +++ b/Test/dafny4/Bug140.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 8 verified, 0 errors 1 2 diff --git a/Test/dafny4/Bug148.dfy b/Test/dafny4/Bug148.dfy index da1ebf99447..f31cef2cdc8 100644 --- a/Test/dafny4/Bug148.dfy +++ b/Test/dafny4/Bug148.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/dafny4/Bug148.dfy.expect b/Test/dafny4/Bug148.dfy.expect index 79d02517ceb..9ed6ca4768b 100644 --- a/Test/dafny4/Bug148.dfy.expect +++ b/Test/dafny4/Bug148.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 0 verified, 0 errors true false true diff --git a/Test/dafny4/Bug49.dfy b/Test/dafny4/Bug49.dfy index 68722830422..868f4a3964b 100644 --- a/Test/dafny4/Bug49.dfy +++ b/Test/dafny4/Bug49.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/dafny4/Bug49.dfy.expect b/Test/dafny4/Bug49.dfy.expect index 4e02a08bbee..800c2bd15ba 100644 --- a/Test/dafny4/Bug49.dfy.expect +++ b/Test/dafny4/Bug49.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 13 verified, 0 errors 6 6 5 diff --git a/Test/dafny4/Bug60.dfy b/Test/dafny4/Bug60.dfy index 0aa9209269d..f4585753f5f 100644 --- a/Test/dafny4/Bug60.dfy +++ b/Test/dafny4/Bug60.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This method can be used to test compilation. method Main() diff --git a/Test/dafny4/Bug60.dfy.expect b/Test/dafny4/Bug60.dfy.expect index 49740e95682..fd56dc3fcbc 100644 --- a/Test/dafny4/Bug60.dfy.expect +++ b/Test/dafny4/Bug60.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 0 verified, 0 errors ({2, 3}, map[2 := 20, 3 := 30]) (2, 2) {2, 3} diff --git a/Test/dafny4/Bug67.dfy b/Test/dafny4/Bug67.dfy index 731018a293b..f01d4239a75 100644 --- a/Test/dafny4/Bug67.dfy +++ b/Test/dafny4/Bug67.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype d = D(m:seq) @@ -8,4 +7,4 @@ method Main() assert D([10, 20]) == D([10, 20]); // succeeds print [10, 20] == [10, 20], "\n"; // prints True print D([10, 20]) == D([10, 20]); // prints False -} \ No newline at end of file +} diff --git a/Test/dafny4/Bug67.dfy.expect b/Test/dafny4/Bug67.dfy.expect index c716cab3144..0be5d980da4 100644 --- a/Test/dafny4/Bug67.dfy.expect +++ b/Test/dafny4/Bug67.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 1 verified, 0 errors true true \ No newline at end of file diff --git a/Test/dafny4/Bug68.dfy b/Test/dafny4/Bug68.dfy index a211206acba..bf50015f90c 100644 --- a/Test/dafny4/Bug68.dfy +++ b/Test/dafny4/Bug68.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method M1() { @@ -62,4 +61,4 @@ method Main() M3(); M3'(); M4(); -} \ No newline at end of file +} diff --git a/Test/dafny4/Bug68.dfy.expect b/Test/dafny4/Bug68.dfy.expect index f4ef534187d..814ccfee2df 100644 --- a/Test/dafny4/Bug68.dfy.expect +++ b/Test/dafny4/Bug68.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 8 verified, 0 errors true true true diff --git a/Test/dafny4/Bug89.dfy b/Test/dafny4/Bug89.dfy index 4aec1acb8b7..c7b77b44f99 100644 --- a/Test/dafny4/Bug89.dfy +++ b/Test/dafny4/Bug89.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method F() returns(x:int) ensures x == 6 diff --git a/Test/dafny4/Bug89.dfy.expect b/Test/dafny4/Bug89.dfy.expect index ed41c274352..62f9457511f 100644 --- a/Test/dafny4/Bug89.dfy.expect +++ b/Test/dafny4/Bug89.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors 6 \ No newline at end of file diff --git a/Test/dafny4/Bug94.dfy b/Test/dafny4/Bug94.dfy index be931445654..c41458539fc 100644 --- a/Test/dafny4/Bug94.dfy +++ b/Test/dafny4/Bug94.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment ghost function foo() : (int, int) { diff --git a/Test/dafny4/Bug94.dfy.expect b/Test/dafny4/Bug94.dfy.expect index ab0cfbb2d9e..3f10ffe7a4c 100644 --- a/Test/dafny4/Bug94.dfy.expect +++ b/Test/dafny4/Bug94.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors 15 \ No newline at end of file diff --git a/Test/dafny4/ClassRefinement.dfy b/Test/dafny4/ClassRefinement.dfy index 320749ec197..3d5fd1006eb 100644 --- a/Test/dafny4/ClassRefinement.dfy +++ b/Test/dafny4/ClassRefinement.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment abstract module M0 { class Counter { diff --git a/Test/dafny4/ClassRefinement.dfy.expect b/Test/dafny4/ClassRefinement.dfy.expect index f456b6777f3..cba3471eb57 100644 --- a/Test/dafny4/ClassRefinement.dfy.expect +++ b/Test/dafny4/ClassRefinement.dfy.expect @@ -1,44 +1 @@ -ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated -ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier finished with 11 verified, 0 errors -ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated -ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -2 1 -ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated -ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -2 1 -ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated -ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -2 1 -ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated -ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification 2 1 diff --git a/Test/dafny4/ClassRefinement.dfy.verifier.expect b/Test/dafny4/ClassRefinement.dfy.verifier.expect new file mode 100644 index 00000000000..543e77303b5 --- /dev/null +++ b/Test/dafny4/ClassRefinement.dfy.verifier.expect @@ -0,0 +1,6 @@ +ClassRefinement.dfy(68,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(69,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(74,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(75,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(77,6): Warning: the modify statement with a block statement is deprecated +ClassRefinement.dfy(78,13): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny4/ExpandedGuardedness.dfy b/Test/dafny4/ExpandedGuardedness.dfy index 5cd7828f932..af620ec40e8 100644 --- a/Test/dafny4/ExpandedGuardedness.dfy +++ b/Test/dafny4/ExpandedGuardedness.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/dafny4/ExpandedGuardedness.dfy.expect b/Test/dafny4/ExpandedGuardedness.dfy.expect index d05670701e0..e0f3b041a66 100644 --- a/Test/dafny4/ExpandedGuardedness.dfy.expect +++ b/Test/dafny4/ExpandedGuardedness.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 12 verified, 0 errors Up 19 20 21 22 23 Up2 19 20 21 22 23 UpIf 19 20 22 24 26 diff --git a/Test/dafny4/FlyingRobots.dfy b/Test/dafny4/FlyingRobots.dfy index 41223cca1aa..f14a2a467cd 100644 --- a/Test/dafny4/FlyingRobots.dfy +++ b/Test/dafny4/FlyingRobots.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // The flying robots examples from an F* tutorial. It demonstrates how to specify // mutable data structures in the heap. diff --git a/Test/dafny4/FlyingRobots.dfy.expect b/Test/dafny4/FlyingRobots.dfy.expect index 5ed0d97333e..e69de29bb2d 100644 --- a/Test/dafny4/FlyingRobots.dfy.expect +++ b/Test/dafny4/FlyingRobots.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 31 verified, 0 errors diff --git a/Test/dafny4/Leq.dfy b/Test/dafny4/Leq.dfy index fac12757ba0..fdbc1078ca3 100644 --- a/Test/dafny4/Leq.dfy +++ b/Test/dafny4/Leq.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Rustan Leino, 22 Sep 2015. // This file considers two definitions of Leq on naturals+infinity. One diff --git a/Test/dafny4/Leq.dfy.expect b/Test/dafny4/Leq.dfy.expect index 15301952c57..e69de29bb2d 100644 --- a/Test/dafny4/Leq.dfy.expect +++ b/Test/dafny4/Leq.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 16 verified, 0 errors diff --git a/Test/dafny4/McCarthy91.dfy b/Test/dafny4/McCarthy91.dfy index 466d30328cc..428f11eb269 100644 --- a/Test/dafny4/McCarthy91.dfy +++ b/Test/dafny4/McCarthy91.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // The usual recursive method for computing McCarthy's 91 function method Main() { diff --git a/Test/dafny4/McCarthy91.dfy.expect b/Test/dafny4/McCarthy91.dfy.expect index b63f7a0b03b..1511cff2c81 100644 --- a/Test/dafny4/McCarthy91.dfy.expect +++ b/Test/dafny4/McCarthy91.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors M(3) = 91 M(99) = 91 M(100) = 91 diff --git a/Test/dafny4/NatList.dfy b/Test/dafny4/NatList.dfy index 567fd461259..5a1b0358eaf 100644 --- a/Test/dafny4/NatList.dfy +++ b/Test/dafny4/NatList.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This file tests some programs where "nat" is a type parameter to // a datatype. diff --git a/Test/dafny4/NatList.dfy.expect b/Test/dafny4/NatList.dfy.expect index 2ceb3169787..5382a29cb9f 100644 --- a/Test/dafny4/NatList.dfy.expect +++ b/Test/dafny4/NatList.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 11 verified, 0 errors ns = List.Cons(4, List.Cons(10, List.Nil)) Sum(ns) = 14 ns' = List.Cons(20, List.Nil) diff --git a/Test/dafny4/Regression2.dfy b/Test/dafny4/Regression2.dfy index 213bf265401..0d28285e74c 100644 --- a/Test/dafny4/Regression2.dfy +++ b/Test/dafny4/Regression2.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module NativeTypes { newtype uint64 = int diff --git a/Test/dafny4/Regression2.dfy.expect b/Test/dafny4/Regression2.dfy.expect index 3f8ac383f86..8a739fb435a 100644 --- a/Test/dafny4/Regression2.dfy.expect +++ b/Test/dafny4/Regression2.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors true true true diff --git a/Test/dafny4/Regression3.dfy b/Test/dafny4/Regression3.dfy index adaa0d2763d..fc60fad3cb1 100644 --- a/Test/dafny4/Regression3.dfy +++ b/Test/dafny4/Regression3.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/dafny4/Regression3.dfy.expect b/Test/dafny4/Regression3.dfy.expect index 841338987c7..1223bf9ffaf 100644 --- a/Test/dafny4/Regression3.dfy.expect +++ b/Test/dafny4/Regression3.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 3 verified, 0 errors 55 Trunc( -3.0 ) = -3 (expected -3) Trunc( -2.8 ) = -3 (expected -3) diff --git a/Test/dafny4/Regression4.dfy b/Test/dafny4/Regression4.dfy index 5f881a5083f..e4bc4cbef85 100644 --- a/Test/dafny4/Regression4.dfy +++ b/Test/dafny4/Regression4.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { } diff --git a/Test/dafny4/Regression4.dfy.expect b/Test/dafny4/Regression4.dfy.expect index ba00363fc08..e69de29bb2d 100644 --- a/Test/dafny4/Regression4.dfy.expect +++ b/Test/dafny4/Regression4.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 4 verified, 0 errors diff --git a/Test/dafny4/Regression6.dfy b/Test/dafny4/Regression6.dfy index f1551d3ef2d..b589ec0ce7d 100644 --- a/Test/dafny4/Regression6.dfy +++ b/Test/dafny4/Regression6.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function Sum(a: array, lo: int, hi: int): int requires 0 <= lo <= hi <= a.Length diff --git a/Test/dafny4/Regression6.dfy.expect b/Test/dafny4/Regression6.dfy.expect index 17464f29e0b..54573bead10 100644 --- a/Test/dafny4/Regression6.dfy.expect +++ b/Test/dafny4/Regression6.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors 0 1028 0 diff --git a/Test/dafny4/Regression7.dfy b/Test/dafny4/Regression7.dfy index 8ce421a62f3..ef3ca5eea44 100644 --- a/Test/dafny4/Regression7.dfy +++ b/Test/dafny4/Regression7.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /rprint:"%t.rprint" /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module ListLibrary { datatype List = Nil | Cons(head: B, tail: List) diff --git a/Test/dafny4/Regression7.dfy.expect b/Test/dafny4/Regression7.dfy.expect index b7b2766a340..4d38be23500 100644 --- a/Test/dafny4/Regression7.dfy.expect +++ b/Test/dafny4/Regression7.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors ListLibrary.List.Cons(28.0, ListLibrary.List.Nil) diff --git a/Test/dafny4/Regression9.dfy b/Test/dafny4/Regression9.dfy index d9e44547252..086007a3ef8 100644 --- a/Test/dafny4/Regression9.dfy +++ b/Test/dafny4/Regression9.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Some tests for the type inference that was revamped // to better support subset types. diff --git a/Test/dafny4/Regression9.dfy.expect b/Test/dafny4/Regression9.dfy.expect index 5a26eaeabfb..2183b22cfa9 100644 --- a/Test/dafny4/Regression9.dfy.expect +++ b/Test/dafny4/Regression9.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors 'D''D''D' diff --git a/Test/dafny4/UnionFind.dfy b/Test/dafny4/UnionFind.dfy index b97b6ef5d61..354f28accb7 100644 --- a/Test/dafny4/UnionFind.dfy +++ b/Test/dafny4/UnionFind.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Rustan Leino, Nov 2015 // Module M0 gives the high-level specification of the UnionFind data structure diff --git a/Test/dafny4/UnionFind.dfy.expect b/Test/dafny4/UnionFind.dfy.expect index 961b161b8dc..1cb72129e49 100644 --- a/Test/dafny4/UnionFind.dfy.expect +++ b/Test/dafny4/UnionFind.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 63 verified, 0 errors false true true false true true diff --git a/Test/dafny4/gcd.dfy b/Test/dafny4/gcd.dfy index 384e338435f..fa92223fa49 100644 --- a/Test/dafny4/gcd.dfy +++ b/Test/dafny4/gcd.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation // A text describing this file is found in a Dafny Power User note: http://leino.science/papers/krml279.html diff --git a/Test/dafny4/gcd.dfy.expect b/Test/dafny4/gcd.dfy.expect index ecbe2b6f64a..c17551a37a4 100644 --- a/Test/dafny4/gcd.dfy.expect +++ b/Test/dafny4/gcd.dfy.expect @@ -1,34 +1,3 @@ - -Dafny program verifier finished with 19 verified, 0 errors - -Dafny program verifier did not attempt verification -15 gcd 9 = 3 -14 gcd 22 = 2 -371 gcd 1 = 1 -1 gcd 2 = 1 -1 gcd 1 = 1 -13 gcd 13 = 13 -60 gcd 60 = 60 - -Dafny program verifier did not attempt verification -15 gcd 9 = 3 -14 gcd 22 = 2 -371 gcd 1 = 1 -1 gcd 2 = 1 -1 gcd 1 = 1 -13 gcd 13 = 13 -60 gcd 60 = 60 - -Dafny program verifier did not attempt verification -15 gcd 9 = 3 -14 gcd 22 = 2 -371 gcd 1 = 1 -1 gcd 2 = 1 -1 gcd 1 = 1 -13 gcd 13 = 13 -60 gcd 60 = 60 - -Dafny program verifier did not attempt verification 15 gcd 9 = 3 14 gcd 22 = 2 371 gcd 1 = 1 diff --git a/Test/dafny4/git-issue104.dfy b/Test/dafny4/git-issue104.dfy index 86683a2ed88..b05ec4de1cc 100644 --- a/Test/dafny4/git-issue104.dfy +++ b/Test/dafny4/git-issue104.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment predicate bug(a: array) reads a diff --git a/Test/dafny4/git-issue104.dfy.expect b/Test/dafny4/git-issue104.dfy.expect index f572edb2471..836a5934c8f 100644 --- a/Test/dafny4/git-issue104.dfy.expect +++ b/Test/dafny4/git-issue104.dfy.expect @@ -1,17 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification -true false - -Dafny program verifier did not attempt verification -true false - -Dafny program verifier did not attempt verification -true false - -Dafny program verifier did not attempt verification -true false - -Dafny program verifier did not attempt verification true false diff --git a/Test/dafny4/git-issue105.dfy b/Test/dafny4/git-issue105.dfy index 09cfce29a6e..4cff2330cba 100644 --- a/Test/dafny4/git-issue105.dfy +++ b/Test/dafny4/git-issue105.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method lol() returns (c: int) { diff --git a/Test/dafny4/git-issue105.dfy.expect b/Test/dafny4/git-issue105.dfy.expect index 012f5b99379..e69de29bb2d 100644 --- a/Test/dafny4/git-issue105.dfy.expect +++ b/Test/dafny4/git-issue105.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/dafny4/git-issue15.dfy b/Test/dafny4/git-issue15.dfy index 96905286209..7c77a67ccf9 100755 --- a/Test/dafny4/git-issue15.dfy +++ b/Test/dafny4/git-issue15.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype obj = Obj(fooBar:map) datatype foo = Foo diff --git a/Test/dafny4/git-issue15.dfy.expect b/Test/dafny4/git-issue15.dfy.expect index e52de78d0b1..00750edc07d 100755 --- a/Test/dafny4/git-issue15.dfy.expect +++ b/Test/dafny4/git-issue15.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors 3 diff --git a/Test/dafny4/git-issue195.dfy b/Test/dafny4/git-issue195.dfy index ac4b1306ac6..fccdc5461c8 100644 --- a/Test/dafny4/git-issue195.dfy +++ b/Test/dafny4/git-issue195.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Block = Block(prevBlockHash:Hash, txs:seq, proof:VProof) diff --git a/Test/dafny4/git-issue195.dfy.expect b/Test/dafny4/git-issue195.dfy.expect index 30692fdef2a..638bfb50b2d 100644 --- a/Test/dafny4/git-issue195.dfy.expect +++ b/Test/dafny4/git-issue195.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 4 verified, 0 errors true true true true true diff --git a/Test/dafny4/git-issue196.dfy b/Test/dafny4/git-issue196.dfy index 64eb0e9123f..056687ab1a5 100644 --- a/Test/dafny4/git-issue196.dfy +++ b/Test/dafny4/git-issue196.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class A { var a: array> diff --git a/Test/dafny4/git-issue196.dfy.expect b/Test/dafny4/git-issue196.dfy.expect index a333f982b8f..ee25a2c5027 100644 --- a/Test/dafny4/git-issue196.dfy.expect +++ b/Test/dafny4/git-issue196.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 9 verified, 0 errors 42 42 42 5000 5000 5000 5000 5000 diff --git a/Test/dafny4/git-issue4.dfy b/Test/dafny4/git-issue4.dfy index b19cf3ce6df..b17a545e219 100644 --- a/Test/dafny4/git-issue4.dfy +++ b/Test/dafny4/git-issue4.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function IntToChar(i:int):char requires 0 <= i < 10 diff --git a/Test/dafny4/git-issue4.dfy.expect b/Test/dafny4/git-issue4.dfy.expect index 33af1e040b7..24e24eb63cc 100644 --- a/Test/dafny4/git-issue4.dfy.expect +++ b/Test/dafny4/git-issue4.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors '8' 8 '8' 56 56 diff --git a/Test/dafny4/git-issue43.dfy b/Test/dafny4/git-issue43.dfy index edf056a1a91..d320d7761bc 100644 --- a/Test/dafny4/git-issue43.dfy +++ b/Test/dafny4/git-issue43.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class System { } diff --git a/Test/dafny4/git-issue43.dfy.expect b/Test/dafny4/git-issue43.dfy.expect index 012f5b99379..e69de29bb2d 100644 --- a/Test/dafny4/git-issue43.dfy.expect +++ b/Test/dafny4/git-issue43.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/dafny4/git-issue76.dfy b/Test/dafny4/git-issue76.dfy index 708ee911b24..85613dba2f2 100644 --- a/Test/dafny4/git-issue76.dfy +++ b/Test/dafny4/git-issue76.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { M0(); diff --git a/Test/dafny4/git-issue76.dfy.expect b/Test/dafny4/git-issue76.dfy.expect index 546da03a267..0cfbf08886f 100644 --- a/Test/dafny4/git-issue76.dfy.expect +++ b/Test/dafny4/git-issue76.dfy.expect @@ -1,8 +1 @@ - -Dafny program verifier finished with 7 verified, 0 errors - -Dafny program verifier did not attempt verification -2 - -Dafny program verifier did not attempt verification 2 diff --git a/Test/dafny4/git-issue79.dfy b/Test/dafny4/git-issue79.dfy index 046a7c5e375..f3fb17b8531 100644 --- a/Test/dafny4/git-issue79.dfy +++ b/Test/dafny4/git-issue79.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype EInt = Int(val: int) | Unknown type Pair = (string, EInt) diff --git a/Test/dafny4/git-issue79.dfy.expect b/Test/dafny4/git-issue79.dfy.expect index 012f5b99379..e69de29bb2d 100644 --- a/Test/dafny4/git-issue79.dfy.expect +++ b/Test/dafny4/git-issue79.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/dafny4/git-issue88.dfy b/Test/dafny4/git-issue88.dfy index 1c188333783..83c0b4a8ef9 100644 --- a/Test/dafny4/git-issue88.dfy +++ b/Test/dafny4/git-issue88.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment type Grid = array2 diff --git a/Test/dafny4/git-issue88.dfy.expect b/Test/dafny4/git-issue88.dfy.expect index 00a51f822da..e69de29bb2d 100644 --- a/Test/dafny4/git-issue88.dfy.expect +++ b/Test/dafny4/git-issue88.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 3 verified, 0 errors diff --git a/Test/exceptions/Exceptions1.dfy b/Test/exceptions/Exceptions1.dfy index 11bb2f7923d..4ffd3291f2f 100644 --- a/Test/exceptions/Exceptions1.dfy +++ b/Test/exceptions/Exceptions1.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" /rprint:"%t.rprint" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "./NatOutcome.dfy" include "./VoidOutcome.dfy" diff --git a/Test/exceptions/Exceptions1.dfy.expect b/Test/exceptions/Exceptions1.dfy.expect index e61be2a11ad..c87eb938c55 100644 --- a/Test/exceptions/Exceptions1.dfy.expect +++ b/Test/exceptions/Exceptions1.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 7 verified, 0 errors true_true_true_88_42_33_Success=100 ___VoidSuccess true_true_false_88_42_Failure diff --git a/Test/exceptions/Exceptions1Expressions.dfy b/Test/exceptions/Exceptions1Expressions.dfy index c0f3c67cd39..a57e5b78c7e 100644 --- a/Test/exceptions/Exceptions1Expressions.dfy +++ b/Test/exceptions/Exceptions1Expressions.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" /rprint:"%t.rprint" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "./NatOutcomeDt.dfy" include "./VoidOutcomeDt.dfy" diff --git a/Test/exceptions/Exceptions1Expressions.dfy.expect b/Test/exceptions/Exceptions1Expressions.dfy.expect index 3da30f30d36..3f1b38ab150 100644 --- a/Test/exceptions/Exceptions1Expressions.dfy.expect +++ b/Test/exceptions/Exceptions1Expressions.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors true_true_true_Success=100 VoidSuccess true_true_false_Failure diff --git a/Test/exports/FIFO.dfy b/Test/exports/FIFO.dfy index 173e412eaa9..95a8d25510c 100644 --- a/Test/exports/FIFO.dfy +++ b/Test/exports/FIFO.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "Queue.dfyi" diff --git a/Test/exports/FIFO.dfy.expect b/Test/exports/FIFO.dfy.expect index 8350309cc2a..4539bbf2d22 100644 --- a/Test/exports/FIFO.dfy.expect +++ b/Test/exports/FIFO.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors 0 1 2 diff --git a/Test/exports/LIFO.dfy b/Test/exports/LIFO.dfy index ea691935620..513dd457c3f 100644 --- a/Test/exports/LIFO.dfy +++ b/Test/exports/LIFO.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "Queue.dfyi" diff --git a/Test/exports/LIFO.dfy.expect b/Test/exports/LIFO.dfy.expect index 48aa7787d09..ae136939b64 100644 --- a/Test/exports/LIFO.dfy.expect +++ b/Test/exports/LIFO.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors 2 1 0 diff --git a/Test/exports/xrefine2.dfy b/Test/exports/xrefine2.dfy index 0b25240916c..2409cc0509a 100644 --- a/Test/exports/xrefine2.dfy +++ b/Test/exports/xrefine2.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module ProtocolImpl { diff --git a/Test/exports/xrefine2.dfy.expect b/Test/exports/xrefine2.dfy.expect index 34e1b357779..858dbd09862 100644 --- a/Test/exports/xrefine2.dfy.expect +++ b/Test/exports/xrefine2.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 4 verified, 0 errors HI.foo(h1) => true HI.foo(h2) => true PI.orange(1) => 2 diff --git a/Test/exports/xrefine3.dfy b/Test/exports/xrefine3.dfy index 24d6fa062f0..bb2480bfed7 100644 --- a/Test/exports/xrefine3.dfy +++ b/Test/exports/xrefine3.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module AlphaImpl { diff --git a/Test/exports/xrefine3.dfy.expect b/Test/exports/xrefine3.dfy.expect index 488ab11c36a..ae50cef0985 100644 --- a/Test/exports/xrefine3.dfy.expect +++ b/Test/exports/xrefine3.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors o hai! diff --git a/Test/git-issues/git-issue-032.dfy b/Test/git-issues/git-issue-032.dfy index bde5b2f2a69..d7dd61440a7 100644 --- a/Test/git-issues/git-issue-032.dfy +++ b/Test/git-issues/git-issue-032.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/git-issues/git-issue-032.dfy.expect b/Test/git-issues/git-issue-032.dfy.expect index 91c285009c1..2a64997c6f7 100644 --- a/Test/git-issues/git-issue-032.dfy.expect +++ b/Test/git-issues/git-issue-032.dfy.expect @@ -1,40 +1,3 @@ -git-issue-032.dfy(18,35): Warning: this branch is redundant -git-issue-032.dfy(27,34): Warning: this branch is redundant -git-issue-032.dfy(28,35): Warning: this branch is redundant - -Dafny program verifier finished with 1 verified, 0 errors -git-issue-032.dfy(18,35): Warning: this branch is redundant -git-issue-032.dfy(27,34): Warning: this branch is redundant -git-issue-032.dfy(28,35): Warning: this branch is redundant - -Dafny program verifier did not attempt verification -OK3 -OK -OKOK -00 -git-issue-032.dfy(18,35): Warning: this branch is redundant -git-issue-032.dfy(27,34): Warning: this branch is redundant -git-issue-032.dfy(28,35): Warning: this branch is redundant - -Dafny program verifier did not attempt verification -OK3 -OK -OKOK -00 -git-issue-032.dfy(18,35): Warning: this branch is redundant -git-issue-032.dfy(27,34): Warning: this branch is redundant -git-issue-032.dfy(28,35): Warning: this branch is redundant - -Dafny program verifier did not attempt verification -OK3 -OK -OKOK -00 -git-issue-032.dfy(18,35): Warning: this branch is redundant -git-issue-032.dfy(27,34): Warning: this branch is redundant -git-issue-032.dfy(28,35): Warning: this branch is redundant - -Dafny program verifier did not attempt verification OK3 OK OKOK diff --git a/Test/git-issues/git-issue-032.dfy.verifier.expect b/Test/git-issues/git-issue-032.dfy.verifier.expect new file mode 100644 index 00000000000..1878351db97 --- /dev/null +++ b/Test/git-issues/git-issue-032.dfy.verifier.expect @@ -0,0 +1,3 @@ +git-issue-032.dfy(13,35): Warning: this branch is redundant +git-issue-032.dfy(22,34): Warning: this branch is redundant +git-issue-032.dfy(23,35): Warning: this branch is redundant diff --git a/Test/git-issues/git-issue-1029.dfy b/Test/git-issues/git-issue-1029.dfy index a310a99c169..7e1e7a31cf2 100644 --- a/Test/git-issues/git-issue-1029.dfy +++ b/Test/git-issues/git-issue-1029.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module ValueType { export S diff --git a/Test/git-issues/git-issue-1029.dfy.expect b/Test/git-issues/git-issue-1029.dfy.expect index 7108c86b0b5..116f2acb4ee 100644 --- a/Test/git-issues/git-issue-1029.dfy.expect +++ b/Test/git-issues/git-issue-1029.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors [true, true, false] UI.Op2.GetOps([true, true, false], [true, true, false]) diff --git a/Test/git-issues/git-issue-1093.dfy b/Test/git-issues/git-issue-1093.dfy index 9365397496f..97797296680 100644 --- a/Test/git-issues/git-issue-1093.dfy +++ b/Test/git-issues/git-issue-1093.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { UnusedLabel(); diff --git a/Test/git-issues/git-issue-1093.dfy.expect b/Test/git-issues/git-issue-1093.dfy.expect index 0cadf5e4199..f599e28b8ab 100644 --- a/Test/git-issues/git-issue-1093.dfy.expect +++ b/Test/git-issues/git-issue-1093.dfy.expect @@ -1,17 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification -10 - -Dafny program verifier did not attempt verification -10 - -Dafny program verifier did not attempt verification -10 - -Dafny program verifier did not attempt verification -10 - -Dafny program verifier did not attempt verification 10 diff --git a/Test/git-issues/git-issue-1130.dfy b/Test/git-issues/git-issue-1130.dfy index 5b7fc5068e2..f1f5ad5a54b 100644 --- a/Test/git-issues/git-issue-1130.dfy +++ b/Test/git-issues/git-issue-1130.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var a := new Issue.Foo(); diff --git a/Test/git-issues/git-issue-1130.dfy.expect b/Test/git-issues/git-issue-1130.dfy.expect index 6c3dd07b1f1..de97a6dc4ca 100644 --- a/Test/git-issues/git-issue-1130.dfy.expect +++ b/Test/git-issues/git-issue-1130.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 13 verified, 0 errors 012 diff --git a/Test/git-issues/git-issue-1150.dfy b/Test/git-issues/git-issue-1150.dfy index d4cee3c3ef2..d3416a53813 100644 --- a/Test/git-issues/git-issue-1150.dfy +++ b/Test/git-issues/git-issue-1150.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Foo = Foo(x: nat) { diff --git a/Test/git-issues/git-issue-1150.dfy.expect b/Test/git-issues/git-issue-1150.dfy.expect index fb4be1897cf..f34d8df4a11 100644 --- a/Test/git-issues/git-issue-1150.dfy.expect +++ b/Test/git-issues/git-issue-1150.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 1 verified, 0 errors Foo.Foo(2) true Foo.Foo(5) false diff --git a/Test/git-issues/git-issue-1185.dfy b/Test/git-issues/git-issue-1185.dfy index 32c340b0736..c7ad72134d1 100644 --- a/Test/git-issues/git-issue-1185.dfy +++ b/Test/git-issues/git-issue-1185.dfy @@ -1,9 +1,5 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment predicate P(s: set) requires s != {} diff --git a/Test/git-issues/git-issue-1185.dfy.expect b/Test/git-issues/git-issue-1185.dfy.expect index 90ab58a1f5a..525ce875525 100644 --- a/Test/git-issues/git-issue-1185.dfy.expect +++ b/Test/git-issues/git-issue-1185.dfy.expect @@ -1,14 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification -{12, 20} true 6 - -Dafny program verifier did not attempt verification -{20, 12} true 6 - -Dafny program verifier did not attempt verification -{12, 20} true 6 - -Dafny program verifier did not attempt verification {12, 20} true 6 diff --git a/Test/git-issues/git-issue-1185.dfy.java.expect b/Test/git-issues/git-issue-1185.dfy.java.expect new file mode 100644 index 00000000000..8ba669ad273 --- /dev/null +++ b/Test/git-issues/git-issue-1185.dfy.java.expect @@ -0,0 +1 @@ +{20, 12} true 6 diff --git a/Test/git-issues/git-issue-1514.dfy b/Test/git-issues/git-issue-1514.dfy index 74b75478609..816eadce69b 100644 --- a/Test/git-issues/git-issue-1514.dfy +++ b/Test/git-issues/git-issue-1514.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "Wrappers.dfy" import opened Wrappers diff --git a/Test/git-issues/git-issue-1514.dfy.expect b/Test/git-issues/git-issue-1514.dfy.expect index 2f22d47cee8..b5754e20373 100644 --- a/Test/git-issues/git-issue-1514.dfy.expect +++ b/Test/git-issues/git-issue-1514.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-1514b.dfy b/Test/git-issues/git-issue-1514b.dfy index 1d8cd122d28..050a4a71760 100644 --- a/Test/git-issues/git-issue-1514b.dfy +++ b/Test/git-issues/git-issue-1514b.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "Wrappers.dfy" import opened Wrappers diff --git a/Test/git-issues/git-issue-1514b.dfy.expect b/Test/git-issues/git-issue-1514b.dfy.expect index 2f22d47cee8..b5754e20373 100644 --- a/Test/git-issues/git-issue-1514b.dfy.expect +++ b/Test/git-issues/git-issue-1514b.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-1514c.dfy b/Test/git-issues/git-issue-1514c.dfy index d9df7d108c1..578316f217c 100644 --- a/Test/git-issues/git-issue-1514c.dfy +++ b/Test/git-issues/git-issue-1514c.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "Wrappers.dfy" import opened Wrappers diff --git a/Test/git-issues/git-issue-1514c.dfy.expect b/Test/git-issues/git-issue-1514c.dfy.expect index 694254c28aa..9766475a418 100644 --- a/Test/git-issues/git-issue-1514c.dfy.expect +++ b/Test/git-issues/git-issue-1514c.dfy.expect @@ -1,8 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification -ok - -Dafny program verifier did not attempt verification ok diff --git a/Test/git-issues/git-issue-1553.dfy b/Test/git-issues/git-issue-1553.dfy index 6267018c92d..81cbef7aa7e 100644 --- a/Test/git-issues/git-issue-1553.dfy +++ b/Test/git-issues/git-issue-1553.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { } method Test() { diff --git a/Test/git-issues/git-issue-1553.dfy.expect b/Test/git-issues/git-issue-1553.dfy.expect index 65d3b5d6635..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-1553.dfy.expect +++ b/Test/git-issues/git-issue-1553.dfy.expect @@ -1,10 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-1604b.dfy b/Test/git-issues/git-issue-1604b.dfy index 497ee5017d5..d7c4169ec60 100644 --- a/Test/git-issues/git-issue-1604b.dfy +++ b/Test/git-issues/git-issue-1604b.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /errorLimit:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --error-limit:0 --relax-definite-assignment // Double constraints. Will this still work? diff --git a/Test/git-issues/git-issue-1604b.dfy.expect b/Test/git-issues/git-issue-1604b.dfy.expect index 93d7203e654..b5754e20373 100644 --- a/Test/git-issues/git-issue-1604b.dfy.expect +++ b/Test/git-issues/git-issue-1604b.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 5 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-1714.dfy b/Test/git-issues/git-issue-1714.dfy index 6ce8915a7af..540a41c39cb 100644 --- a/Test/git-issues/git-issue-1714.dfy +++ b/Test/git-issues/git-issue-1714.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait Base {} class Derived extends Base { var n: int constructor() { n := 0; } } diff --git a/Test/git-issues/git-issue-1714.dfy.expect b/Test/git-issues/git-issue-1714.dfy.expect index 67dd7d95642..88039063d09 100644 --- a/Test/git-issues/git-issue-1714.dfy.expect +++ b/Test/git-issues/git-issue-1714.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors (b as Derived).n == 0 diff --git a/Test/git-issues/git-issue-1815a.dfy b/Test/git-issues/git-issue-1815a.dfy index 91fb7a32aa6..72d55a1cb4f 100644 --- a/Test/git-issues/git-issue-1815a.dfy +++ b/Test/git-issues/git-issue-1815a.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Dt<+U> = Dt(x: U, i: int) diff --git a/Test/git-issues/git-issue-1815a.dfy.expect b/Test/git-issues/git-issue-1815a.dfy.expect index 7b2651302d9..19f86f493ab 100644 --- a/Test/git-issues/git-issue-1815a.dfy.expect +++ b/Test/git-issues/git-issue-1815a.dfy.expect @@ -1,17 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification -done - -Dafny program verifier did not attempt verification -done - -Dafny program verifier did not attempt verification -done - -Dafny program verifier did not attempt verification -done - -Dafny program verifier did not attempt verification done diff --git a/Test/git-issues/git-issue-1852.dfy b/Test/git-issues/git-issue-1852.dfy index 516835e8ea8..046f3fca1fc 100644 --- a/Test/git-issues/git-issue-1852.dfy +++ b/Test/git-issues/git-issue-1852.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module A { export diff --git a/Test/git-issues/git-issue-1852.dfy.expect b/Test/git-issues/git-issue-1852.dfy.expect index e9cd0ea2e07..299a71f3fe4 100644 --- a/Test/git-issues/git-issue-1852.dfy.expect +++ b/Test/git-issues/git-issue-1852.dfy.expect @@ -1,8 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification -5 5 - -Dafny program verifier did not attempt verification 5 5 diff --git a/Test/git-issues/git-issue-1903.dfy b/Test/git-issues/git-issue-1903.dfy index 7edb2a46c61..60ee1c121ab 100644 --- a/Test/git-issues/git-issue-1903.dfy +++ b/Test/git-issues/git-issue-1903.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method g(x : seq := []) { diff --git a/Test/git-issues/git-issue-1903.dfy.expect b/Test/git-issues/git-issue-1903.dfy.expect index 3170fb0c7f2..84cc8d360f9 100644 --- a/Test/git-issues/git-issue-1903.dfy.expect +++ b/Test/git-issues/git-issue-1903.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors worked! diff --git a/Test/git-issues/git-issue-1909.dfy b/Test/git-issues/git-issue-1909.dfy index 7fb5b3b8c48..83d9ec1d785 100644 --- a/Test/git-issues/git-issue-1909.dfy +++ b/Test/git-issues/git-issue-1909.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype ABC = ABC(nameonly a: int, nameonly b: int, nameonly c: int) diff --git a/Test/git-issues/git-issue-1909.dfy.expect b/Test/git-issues/git-issue-1909.dfy.expect index b4eb7e7774e..ab6f7d69d36 100644 --- a/Test/git-issues/git-issue-1909.dfy.expect +++ b/Test/git-issues/git-issue-1909.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors ABC.ABC(19, 21, 23) ABC.ABC(19, 42, 23) ABC.ABC(100, 42, 90) diff --git a/Test/git-issues/git-issue-2013.dfy b/Test/git-issues/git-issue-2013.dfy index d1d3e15880e..1f3962988ee 100644 --- a/Test/git-issues/git-issue-2013.dfy +++ b/Test/git-issues/git-issue-2013.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/git-issues/git-issue-2013.dfy.expect b/Test/git-issues/git-issue-2013.dfy.expect index 7ff6ce957cf..22e56ce7263 100644 --- a/Test/git-issues/git-issue-2013.dfy.expect +++ b/Test/git-issues/git-issue-2013.dfy.expect @@ -1,55 +1,3 @@ - -Dafny program verifier finished with 12 verified, 0 errors - -Dafny program verifier did not attempt verification -16 -16 -12 30 30 -Result.Success(8) Result.Failure(_module.MyClassException) -{100} {100} {100} -{MoreTests.C} {MoreTests.C} {MoreTests.C} -100 100 100 -MoreTests.C MoreTests.C MoreTests.C -Conveyance.NonVariantResult.NVSuccess(Conveyance.Car) Conveyance.CovariantResult.CVSuccess(Conveyance.Car) -M.Stream.Next - -Dafny program verifier did not attempt verification -16 -16 -12 30 30 -Result.Success(8) Result.Failure(_module.MyClassException) -{100} {100} {100} -{MoreTests.C} {MoreTests.C} {MoreTests.C} -100 100 100 -MoreTests.C MoreTests.C MoreTests.C -Conveyance.NonVariantResult.NVSuccess(Conveyance.Car) Conveyance.CovariantResult.CVSuccess(Conveyance.Car) -M.Stream.Next - -Dafny program verifier did not attempt verification -16 -16 -12 30 30 -Result.Success(8) Result.Failure(_module.MyClassException) -{100} {100} {100} -{MoreTests.C} {MoreTests.C} {MoreTests.C} -100 100 100 -MoreTests.C MoreTests.C MoreTests.C -Conveyance.NonVariantResult.NVSuccess(Conveyance.Car) Conveyance.CovariantResult.CVSuccess(Conveyance.Car) -M.Stream.Next - -Dafny program verifier did not attempt verification -16 -16 -12 30 30 -Result.Success(8) Result.Failure(_module.MyClassException) -{100} {100} {100} -{MoreTests.C} {MoreTests.C} {MoreTests.C} -100 100 100 -MoreTests.C MoreTests.C MoreTests.C -Conveyance.NonVariantResult.NVSuccess(Conveyance.Car) Conveyance.CovariantResult.CVSuccess(Conveyance.Car) -M.Stream.Next - -Dafny program verifier did not attempt verification 16 16 12 30 30 diff --git a/Test/git-issues/git-issue-2441.dfy b/Test/git-issues/git-issue-2441.dfy index bc9c8721ee2..4179ecc87bc 100644 --- a/Test/git-issues/git-issue-2441.dfy +++ b/Test/git-issues/git-issue-2441.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype A = A(B: B) datatype B = X diff --git a/Test/git-issues/git-issue-2441.dfy.expect b/Test/git-issues/git-issue-2441.dfy.expect index 0c3f603d584..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-2441.dfy.expect +++ b/Test/git-issues/git-issue-2441.dfy.expect @@ -1,6 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-2510.dfy b/Test/git-issues/git-issue-2510.dfy index 22ef8e47058..11ee2877bb3 100644 --- a/Test/git-issues/git-issue-2510.dfy +++ b/Test/git-issues/git-issue-2510.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:4 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /// Check that the compiler accepts `:- assume {:axiom} …`. diff --git a/Test/git-issues/git-issue-2510.dfy.expect b/Test/git-issues/git-issue-2510.dfy.expect index b341a39a78d..56a6051ca2b 100644 --- a/Test/git-issues/git-issue-2510.dfy.expect +++ b/Test/git-issues/git-issue-2510.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors 1 \ No newline at end of file diff --git a/Test/git-issues/git-issue-2608.dfy b/Test/git-issues/git-issue-2608.dfy index 459c9ffbf94..c606177f94f 100644 --- a/Test/git-issues/git-issue-2608.dfy +++ b/Test/git-issues/git-issue-2608.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /compileTarget:js "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method GetNext(i: int) returns (j: int, possible: bool) { if i == 1 { diff --git a/Test/git-issues/git-issue-2608.dfy.expect b/Test/git-issues/git-issue-2608.dfy.expect index dce7ba1814a..d9ed583f710 100644 --- a/Test/git-issues/git-issue-2608.dfy.expect +++ b/Test/git-issues/git-issue-2608.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors 82411246231944714271214 \ No newline at end of file diff --git a/Test/git-issues/git-issue-262.dfy b/Test/git-issues/git-issue-262.dfy index 2c00ad94a39..22d9a31b2fe 100644 --- a/Test/git-issues/git-issue-262.dfy +++ b/Test/git-issues/git-issue-262.dfy @@ -1,8 +1,5 @@ -// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" -// RUN: %dafny /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function tst(x: nat): nat { x + 1 diff --git a/Test/git-issues/git-issue-262.dfy.expect b/Test/git-issues/git-issue-262.dfy.expect index 76af42cd4a3..41d8cd55158 100644 --- a/Test/git-issues/git-issue-262.dfy.expect +++ b/Test/git-issues/git-issue-262.dfy.expect @@ -1,20 +1,2 @@ - -Dafny program verifier finished with 2 verified, 0 errors System.Func`2[System.Numerics.BigInteger,System.Numerics.BigInteger] System.Func`2[System.Numerics.BigInteger,System.Numerics.BigInteger] - -Dafny program verifier finished with 2 verified, 0 errors -tst(x) { - return (x).plus(_dafny.ONE); - } -tst(x) { - return (x).plus(_dafny.ONE); - } - -Dafny program verifier finished with 2 verified, 0 errors -func(dafny.Int) dafny.Int -func(dafny.Int) dafny.Int - -Dafny program verifier finished with 2 verified, 0 errors -Function -Function diff --git a/Test/git-issues/git-issue-262.dfy.go.expect b/Test/git-issues/git-issue-262.dfy.go.expect new file mode 100644 index 00000000000..578754c176c --- /dev/null +++ b/Test/git-issues/git-issue-262.dfy.go.expect @@ -0,0 +1,2 @@ +func(dafny.Int) dafny.Int +func(dafny.Int) dafny.Int diff --git a/Test/git-issues/git-issue-262.dfy.java.expect b/Test/git-issues/git-issue-262.dfy.java.expect new file mode 100644 index 00000000000..aa5478ef8c9 --- /dev/null +++ b/Test/git-issues/git-issue-262.dfy.java.expect @@ -0,0 +1,2 @@ +Function +Function diff --git a/Test/git-issues/git-issue-262.dfy.js.expect b/Test/git-issues/git-issue-262.dfy.js.expect new file mode 100644 index 00000000000..e181ef2fef8 --- /dev/null +++ b/Test/git-issues/git-issue-262.dfy.js.expect @@ -0,0 +1,6 @@ +tst(x) { + return (x).plus(_dafny.ONE); + } +tst(x) { + return (x).plus(_dafny.ONE); + } diff --git a/Test/git-issues/git-issue-267.dfy b/Test/git-issues/git-issue-267.dfy index cef2fcc6c17..2b0b3281589 100644 --- a/Test/git-issues/git-issue-267.dfy +++ b/Test/git-issues/git-issue-267.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var c := 1; diff --git a/Test/git-issues/git-issue-267.dfy.expect b/Test/git-issues/git-issue-267.dfy.expect index d71aef2f440..cd7da05e3d2 100644 --- a/Test/git-issues/git-issue-267.dfy.expect +++ b/Test/git-issues/git-issue-267.dfy.expect @@ -1,14 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification -210 - -Dafny program verifier did not attempt verification -210 - -Dafny program verifier did not attempt verification -210 - -Dafny program verifier did not attempt verification 210 diff --git a/Test/git-issues/git-issue-2672.dfy b/Test/git-issues/git-issue-2672.dfy index 338299ee8b7..52c5b9c638c 100644 --- a/Test/git-issues/git-issue-2672.dfy +++ b/Test/git-issues/git-issue-2672.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment newtype sreal = r: real | r > -4 as real newtype sint = r: int | r > -4 as int diff --git a/Test/git-issues/git-issue-2672.dfy.expect b/Test/git-issues/git-issue-2672.dfy.expect index c9c3244b6f4..43440a83d53 100644 --- a/Test/git-issues/git-issue-2672.dfy.expect +++ b/Test/git-issues/git-issue-2672.dfy.expect @@ -1,47 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors - -Dafny program verifier did not attempt verification -true true true true true true true true true true -false false false false false false false false false false -false false false false false false false false false false -true true true true true true true true true true -true true true true true true true true true true -false false false false false false false false false false -true true true -false false false - -Dafny program verifier did not attempt verification -true true true true true true true true true true -false false false false false false false false false false -false false false false false false false false false false -true true true true true true true true true true -true true true true true true true true true true -false false false false false false false false false false -true true true -false false false - -Dafny program verifier did not attempt verification -true true true true true true true true true true -false false false false false false false false false false -false false false false false false false false false false -true true true true true true true true true true -true true true true true true true true true true -false false false false false false false false false false -true true true -false false false - -Dafny program verifier did not attempt verification -true true true true true true true true true true -false false false false false false false false false false -false false false false false false false false false false -true true true true true true true true true true -true true true true true true true true true true -false false false false false false false false false false -true true true -false false false - -Dafny program verifier did not attempt verification true true true true true true true true true true false false false false false false false false false false false false false false false false false false false false diff --git a/Test/git-issues/git-issue-2726a.dfy b/Test/git-issues/git-issue-2726a.dfy index 641fefbbdc4..a43d5dd0107 100644 --- a/Test/git-issues/git-issue-2726a.dfy +++ b/Test/git-issues/git-issue-2726a.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /compileTarget:cs "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment const digits := ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"] diff --git a/Test/git-issues/git-issue-2726a.dfy.expect b/Test/git-issues/git-issue-2726a.dfy.expect index 6985935c88c..8e1bedb2a64 100644 --- a/Test/git-issues/git-issue-2726a.dfy.expect +++ b/Test/git-issues/git-issue-2726a.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors 4 42 422 diff --git a/Test/git-issues/git-issue-2733.dfy b/Test/git-issues/git-issue-2733.dfy index 232eab3cc74..65bc2b991fd 100644 --- a/Test/git-issues/git-issue-2733.dfy +++ b/Test/git-issues/git-issue-2733.dfy @@ -1,11 +1,4 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cpp "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false method Main() { print "XYZ"; // Checks that no extra newline is added to the output diff --git a/Test/git-issues/git-issue-2733.dfy.expect b/Test/git-issues/git-issue-2733.dfy.expect index b139e2f3d58..77bf25132db 100644 --- a/Test/git-issues/git-issue-2733.dfy.expect +++ b/Test/git-issues/git-issue-2733.dfy.expect @@ -1,15 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification -XYZ -Dafny program verifier did not attempt verification -XYZ -Dafny program verifier did not attempt verification -XYZ -Dafny program verifier did not attempt verification -XYZ -Dafny program verifier did not attempt verification -XYZ -Dafny program verifier did not attempt verification XYZ \ No newline at end of file diff --git a/Test/git-issues/git-issue-2792.dfy b/Test/git-issues/git-issue-2792.dfy index 89e736667c0..d2fb9db2055 100644 --- a/Test/git-issues/git-issue-2792.dfy +++ b/Test/git-issues/git-issue-2792.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /compileTarget:java "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Wrapper = Wrapper(s: seq) { diff --git a/Test/git-issues/git-issue-2792.dfy.expect b/Test/git-issues/git-issue-2792.dfy.expect index c1e603c58fe..ca1683c3020 100644 --- a/Test/git-issues/git-issue-2792.dfy.expect +++ b/Test/git-issues/git-issue-2792.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors [] Wrapper2.Wrapper2([], 2792) diff --git a/Test/git-issues/git-issue-283.dfy b/Test/git-issues/git-issue-283.dfy index c7c10f4aea3..1ca6d48d32c 100644 --- a/Test/git-issues/git-issue-283.dfy +++ b/Test/git-issues/git-issue-283.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Result = | Success(value: T) diff --git a/Test/git-issues/git-issue-283.dfy.expect b/Test/git-issues/git-issue-283.dfy.expect index 2adb114b8a0..a965a70ed4e 100644 --- a/Test/git-issues/git-issue-283.dfy.expect +++ b/Test/git-issues/git-issue-283.dfy.expect @@ -1,14 +1 @@ - -Dafny program verifier finished with 9 verified, 0 errors - -Dafny program verifier did not attempt verification -Done - -Dafny program verifier did not attempt verification -Done - -Dafny program verifier did not attempt verification -Done - -Dafny program verifier did not attempt verification Done diff --git a/Test/git-issues/git-issue-283d.dfy b/Test/git-issues/git-issue-283d.dfy index 54ee58fb456..46c1056d5e1 100644 --- a/Test/git-issues/git-issue-283d.dfy +++ b/Test/git-issues/git-issue-283d.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Foo = R(v: int) diff --git a/Test/git-issues/git-issue-283d.dfy.expect b/Test/git-issues/git-issue-283d.dfy.expect index 8da23be5c8c..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-283d.dfy.expect +++ b/Test/git-issues/git-issue-283d.dfy.expect @@ -1,10 +0,0 @@ - -Dafny program verifier finished with 4 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-314.dfy b/Test/git-issues/git-issue-314.dfy index 5e3e93ca654..a7fc06564a5 100644 --- a/Test/git-issues/git-issue-314.dfy +++ b/Test/git-issues/git-issue-314.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype S = S(G: array) datatype T = T(F: array, ghost Repr: set) diff --git a/Test/git-issues/git-issue-314.dfy.expect b/Test/git-issues/git-issue-314.dfy.expect index f02fc57989a..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-314.dfy.expect +++ b/Test/git-issues/git-issue-314.dfy.expect @@ -1,10 +0,0 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-332.dfy b/Test/git-issues/git-issue-332.dfy index ca2b08f3e8d..5166441405d 100644 --- a/Test/git-issues/git-issue-332.dfy +++ b/Test/git-issues/git-issue-332.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var foo := new B.Foo(15); diff --git a/Test/git-issues/git-issue-332.dfy.expect b/Test/git-issues/git-issue-332.dfy.expect index 57cad39addf..209e3ef4b62 100644 --- a/Test/git-issues/git-issue-332.dfy.expect +++ b/Test/git-issues/git-issue-332.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 6 verified, 0 errors 20 diff --git a/Test/git-issues/git-issue-354.dfy b/Test/git-issues/git-issue-354.dfy index 5938c2f71ae..c3d63021209 100644 --- a/Test/git-issues/git-issue-354.dfy +++ b/Test/git-issues/git-issue-354.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class C { static const u: X diff --git a/Test/git-issues/git-issue-354.dfy.expect b/Test/git-issues/git-issue-354.dfy.expect index cb5ae21dc46..4368562357f 100644 --- a/Test/git-issues/git-issue-354.dfy.expect +++ b/Test/git-issues/git-issue-354.dfy.expect @@ -1,25 +1,3 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification -0 -0 -0.0 -false - -Dafny program verifier did not attempt verification -0 -0 -0.0 -false - -Dafny program verifier did not attempt verification -0 -0 -0.0 -false - -Dafny program verifier did not attempt verification 0 0 0.0 diff --git a/Test/git-issues/git-issue-356.dfy b/Test/git-issues/git-issue-356.dfy index f5c34b0803b..2d497c0531c 100644 --- a/Test/git-issues/git-issue-356.dfy +++ b/Test/git-issues/git-issue-356.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false module M { type Tx = i: int | 0 <= i <= 100 diff --git a/Test/git-issues/git-issue-356.dfy.expect b/Test/git-issues/git-issue-356.dfy.expect index cff4ed233e1..9d984ec4ef4 100644 --- a/Test/git-issues/git-issue-356.dfy.expect +++ b/Test/git-issues/git-issue-356.dfy.expect @@ -1,39 +1,3 @@ - -Dafny program verifier finished with 25 verified, 0 errors - -Dafny program verifier did not attempt verification -a d 57005 * * -Z 90 90.0 90 90 -* 42 42.0 42 42 -F 70 70.0 70 70 -# 35 35.0 35 35 -END - -Dafny program verifier did not attempt verification -a d 57005 * * -Z 90 90.0 90 90 -* 42 42.0 42 42 -F 70 70.0 70 70 -# 35 35.0 35 35 -END - -Dafny program verifier did not attempt verification -a d 57005 * * -Z 90 90.0 90 90 -* 42 42.0 42 42 -F 70 70.0 70 70 -# 35 35.0 35 35 -END - -Dafny program verifier did not attempt verification -a d 57005 * * -Z 90 90.0 90 90 -* 42 42.0 42 42 -F 70 70.0 70 70 -# 35 35.0 35 35 -END - -Dafny program verifier did not attempt verification a d 57005 * * Z 90 90.0 90 90 * 42 42.0 42 42 diff --git a/Test/git-issues/git-issue-364.dfy b/Test/git-issues/git-issue-364.dfy index 0fdedc7d9c0..68c75931746 100644 --- a/Test/git-issues/git-issue-364.dfy +++ b/Test/git-issues/git-issue-364.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype NatOutcome = | Success(value: nat) diff --git a/Test/git-issues/git-issue-364.dfy.expect b/Test/git-issues/git-issue-364.dfy.expect index 1368349d437..38478c6c688 100644 --- a/Test/git-issues/git-issue-364.dfy.expect +++ b/Test/git-issues/git-issue-364.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 4 verified, 0 errors NatOutcome.Success(55) false 55 12 0 NatOutcome.Failure("it could be worse") true NatOutcome.Failure("it could be worse") diff --git a/Test/git-issues/git-issue-374.dfy b/Test/git-issues/git-issue-374.dfy index 4c031b7d3ff..15b56ec6396 100644 --- a/Test/git-issues/git-issue-374.dfy +++ b/Test/git-issues/git-issue-374.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class C { constructor(ghost x: int) diff --git a/Test/git-issues/git-issue-374.dfy.expect b/Test/git-issues/git-issue-374.dfy.expect index f02fc57989a..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-374.dfy.expect +++ b/Test/git-issues/git-issue-374.dfy.expect @@ -1,10 +0,0 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-396.dfy b/Test/git-issues/git-issue-396.dfy index 2ab68e51e12..7866d3d0498 100644 --- a/Test/git-issues/git-issue-396.dfy +++ b/Test/git-issues/git-issue-396.dfy @@ -1,8 +1,4 @@ -// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" -// RUN: %dafny /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Foo = Bar(value: int) diff --git a/Test/git-issues/git-issue-396.dfy.expect b/Test/git-issues/git-issue-396.dfy.expect index 3dd340d3178..dee79f10940 100644 --- a/Test/git-issues/git-issue-396.dfy.expect +++ b/Test/git-issues/git-issue-396.dfy.expect @@ -1,12 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors -114 - -Dafny program verifier finished with 1 verified, 0 errors -114 - -Dafny program verifier finished with 1 verified, 0 errors -114 - -Dafny program verifier finished with 1 verified, 0 errors 114 diff --git a/Test/git-issues/git-issue-4007.dfy b/Test/git-issues/git-issue-4007.dfy index e4c25b82bb8..5a279e7b8e6 100644 --- a/Test/git-issues/git-issue-4007.dfy +++ b/Test/git-issues/git-issue-4007.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:4 /compileTarget:py "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var a := 0; @@ -7,4 +6,4 @@ method Main() { a := a + 1; } print a, "\n"; -} \ No newline at end of file +} diff --git a/Test/git-issues/git-issue-4007.dfy.expect b/Test/git-issues/git-issue-4007.dfy.expect index 3ce6919d35b..00750edc07d 100644 --- a/Test/git-issues/git-issue-4007.dfy.expect +++ b/Test/git-issues/git-issue-4007.dfy.expect @@ -1,4 +1 @@ -git-issue-4007.dfy(6,20): Warning: /!\ No terms found to trigger on. - -Dafny program verifier finished with 1 verified, 0 errors 3 diff --git a/Test/git-issues/git-issue-4007.dfy.verifier.expect b/Test/git-issues/git-issue-4007.dfy.verifier.expect new file mode 100644 index 00000000000..1d4310d09b5 --- /dev/null +++ b/Test/git-issues/git-issue-4007.dfy.verifier.expect @@ -0,0 +1 @@ +git-issue-4007.dfy(5,20): Warning: /!\ No terms found to trigger on. diff --git a/Test/git-issues/git-issue-4012.dfy b/Test/git-issues/git-issue-4012.dfy index e065393a211..5360c0e935b 100644 --- a/Test/git-issues/git-issue-4012.dfy +++ b/Test/git-issues/git-issue-4012.dfy @@ -1,8 +1,7 @@ -// RUN: %dafny /compile:4 /compileTarget:py "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var x: multiset := multiset{}; x := x[1 := 18446744073709551616]; print |x|, "\n"; -} \ No newline at end of file +} diff --git a/Test/git-issues/git-issue-4012.dfy.expect b/Test/git-issues/git-issue-4012.dfy.expect index 230fbdbd384..ab69b99fab4 100644 --- a/Test/git-issues/git-issue-4012.dfy.expect +++ b/Test/git-issues/git-issue-4012.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors 18446744073709551616 diff --git a/Test/git-issues/git-issue-425.dfy b/Test/git-issues/git-issue-425.dfy index 4e555daaed0..122a10e4fbb 100644 --- a/Test/git-issues/git-issue-425.dfy +++ b/Test/git-issues/git-issue-425.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method M() returns (x: int, ghost y: int) { return 42, 43; diff --git a/Test/git-issues/git-issue-425.dfy.expect b/Test/git-issues/git-issue-425.dfy.expect index c2284013d9e..daaac9e3030 100644 --- a/Test/git-issues/git-issue-425.dfy.expect +++ b/Test/git-issues/git-issue-425.dfy.expect @@ -1,18 +1,2 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification -42 -42 - -Dafny program verifier did not attempt verification -42 -42 - -Dafny program verifier did not attempt verification -42 -42 - -Dafny program verifier did not attempt verification 42 42 diff --git a/Test/git-issues/git-issue-443.dfy b/Test/git-issues/git-issue-443.dfy index e8745b5ddda..6702e37484f 100644 --- a/Test/git-issues/git-issue-443.dfy +++ b/Test/git-issues/git-issue-443.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { print F(), " ", G(802.11), "\n"; // 12 15 diff --git a/Test/git-issues/git-issue-443.dfy.expect b/Test/git-issues/git-issue-443.dfy.expect index 10af01216da..0b64712fdcf 100644 --- a/Test/git-issues/git-issue-443.dfy.expect +++ b/Test/git-issues/git-issue-443.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors 12 15 diff --git a/Test/git-issues/git-issue-446.dfy b/Test/git-issues/git-issue-446.dfy index 0656587fd03..a66a9272d18 100644 --- a/Test/git-issues/git-issue-446.dfy +++ b/Test/git-issues/git-issue-446.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Result = Success(value: T) | Failure(error: string) { diff --git a/Test/git-issues/git-issue-446.dfy.expect b/Test/git-issues/git-issue-446.dfy.expect index 18195d22344..8165c2056d0 100644 --- a/Test/git-issues/git-issue-446.dfy.expect +++ b/Test/git-issues/git-issue-446.dfy.expect @@ -1,22 +1,3 @@ - -Dafny program verifier finished with 9 verified, 0 errors - -Dafny program verifier did not attempt verification -true -2 -true 42 -End - -Dafny program verifier did not attempt verification -true -2 -true 42 -End - -Dafny program verifier did not attempt verification -true -2 -true 42 -End - -Dafny program verifier did not attempt verification true -2 true 42 End diff --git a/Test/git-issues/git-issue-446a.dfy b/Test/git-issues/git-issue-446a.dfy index 41917680fee..2c559cea76d 100644 --- a/Test/git-issues/git-issue-446a.dfy +++ b/Test/git-issues/git-issue-446a.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Result = Success(value: T) | Failure(error: string) { diff --git a/Test/git-issues/git-issue-446a.dfy.expect b/Test/git-issues/git-issue-446a.dfy.expect index fbf9ee6f31d..9897e1c3f56 100644 --- a/Test/git-issues/git-issue-446a.dfy.expect +++ b/Test/git-issues/git-issue-446a.dfy.expect @@ -1,22 +1,3 @@ - -Dafny program verifier finished with 9 verified, 0 errors - -Dafny program verifier did not attempt verification -OK -true OK -true -2 End - -Dafny program verifier did not attempt verification -OK -true OK -true -2 End - -Dafny program verifier did not attempt verification -OK -true OK -true -2 End - -Dafny program verifier did not attempt verification OK true OK true -2 End diff --git a/Test/git-issues/git-issue-446b.dfy b/Test/git-issues/git-issue-446b.dfy index aa7ac30d9a7..79e55d9a1f8 100644 --- a/Test/git-issues/git-issue-446b.dfy +++ b/Test/git-issues/git-issue-446b.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Result = Success(value: T) | Failure(error: string) { diff --git a/Test/git-issues/git-issue-446b.dfy.expect b/Test/git-issues/git-issue-446b.dfy.expect index 0e99363fdb9..36fdd8ba47b 100644 --- a/Test/git-issues/git-issue-446b.dfy.expect +++ b/Test/git-issues/git-issue-446b.dfy.expect @@ -1,28 +1,3 @@ - -Dafny program verifier finished with 10 verified, 0 errors - -Dafny program verifier did not attempt verification -OK -true OK -true -2 -true 100 -End - -Dafny program verifier did not attempt verification -OK -true OK -true -2 -true 100 -End - -Dafny program verifier did not attempt verification -OK -true OK -true -2 -true 100 -End - -Dafny program verifier did not attempt verification OK true OK true -2 diff --git a/Test/git-issues/git-issue-478-good.dfy b/Test/git-issues/git-issue-478-good.dfy index b3fab26a312..9abce41e97c 100644 --- a/Test/git-issues/git-issue-478-good.dfy +++ b/Test/git-issues/git-issue-478-good.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // By first defining import LibA and then defining a module LibA, // the latter used to generate: diff --git a/Test/git-issues/git-issue-478-good.dfy.expect b/Test/git-issues/git-issue-478-good.dfy.expect index 17aea610943..6807b84eba5 100644 --- a/Test/git-issues/git-issue-478-good.dfy.expect +++ b/Test/git-issues/git-issue-478-good.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors hello hello hi diff --git a/Test/git-issues/git-issue-506.dfy b/Test/git-issues/git-issue-506.dfy index d25596621de..b2a409951a1 100644 --- a/Test/git-issues/git-issue-506.dfy +++ b/Test/git-issues/git-issue-506.dfy @@ -1,8 +1,4 @@ -// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" -// RUN: %dafny /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/git-issues/git-issue-506.dfy.expect b/Test/git-issues/git-issue-506.dfy.expect index e2bb6d644d9..ef2606ec5dc 100644 --- a/Test/git-issues/git-issue-506.dfy.expect +++ b/Test/git-issues/git-issue-506.dfy.expect @@ -1,29 +1,3 @@ - -Dafny program verifier finished with 2 verified, 0 errors -7 301 -8 391 -2 2 -4 5 -6 7 -2 3 7 0 - -Dafny program verifier finished with 2 verified, 0 errors -7 301 -8 391 -2 2 -4 5 -6 7 -2 3 7 0 - -Dafny program verifier finished with 2 verified, 0 errors -7 301 -8 391 -2 2 -4 5 -6 7 -2 3 7 0 - -Dafny program verifier finished with 2 verified, 0 errors 7 301 8 391 2 2 diff --git a/Test/git-issues/git-issue-532.dfy b/Test/git-issues/git-issue-532.dfy index 3d511dbb4c8..2a2b5aaaf2e 100644 --- a/Test/git-issues/git-issue-532.dfy +++ b/Test/git-issues/git-issue-532.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment predicate SuppressNoTriggerWarning(x: X) { true } diff --git a/Test/git-issues/git-issue-532.dfy.expect b/Test/git-issues/git-issue-532.dfy.expect index 1bd9e82cc5a..0f3ef3de427 100644 --- a/Test/git-issues/git-issue-532.dfy.expect +++ b/Test/git-issues/git-issue-532.dfy.expect @@ -1,22 +1,3 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification -t.x=5 The given Tr is a C, and c.y=6 -t.x=100 The given Tr is not a C -t.x=5 The given Tr is a C, and c.y=16 - -Dafny program verifier did not attempt verification -t.x=5 The given Tr is a C, and c.y=6 -t.x=100 The given Tr is not a C -t.x=5 The given Tr is a C, and c.y=16 - -Dafny program verifier did not attempt verification -t.x=5 The given Tr is a C, and c.y=6 -t.x=100 The given Tr is not a C -t.x=5 The given Tr is a C, and c.y=16 - -Dafny program verifier did not attempt verification t.x=5 The given Tr is a C, and c.y=6 t.x=100 The given Tr is not a C t.x=5 The given Tr is a C, and c.y=16 diff --git a/Test/git-issues/git-issue-549.dfy b/Test/git-issues/git-issue-549.dfy index 2e5ab322f23..d362a0bd039 100644 --- a/Test/git-issues/git-issue-549.dfy +++ b/Test/git-issues/git-issue-549.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait T { function bar(): bv8 diff --git a/Test/git-issues/git-issue-549.dfy.expect b/Test/git-issues/git-issue-549.dfy.expect index 3ae509fee5e..6e0790e778e 100644 --- a/Test/git-issues/git-issue-549.dfy.expect +++ b/Test/git-issues/git-issue-549.dfy.expect @@ -1,10 +1,2 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification -bar() = 1 -bar() = 1 - -Dafny program verifier did not attempt verification bar() = 1 bar() = 1 diff --git a/Test/git-issues/git-issue-622$f.dfy b/Test/git-issues/git-issue-622$f.dfy index fe4fdf38e03..2a7003e0f4e 100644 --- a/Test/git-issues/git-issue-622$f.dfy +++ b/Test/git-issues/git-issue-622$f.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /compileTarget:java /spillTargetCode:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method Main() { } diff --git a/Test/git-issues/git-issue-622$f.dfy.expect b/Test/git-issues/git-issue-622$f.dfy.expect index 012f5b99379..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-622$f.dfy.expect +++ b/Test/git-issues/git-issue-622$f.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/git-issues/git-issue-684.dfy b/Test/git-issues/git-issue-684.dfy index b1fbd7ab036..4c2b0a8fa02 100644 --- a/Test/git-issues/git-issue-684.dfy +++ b/Test/git-issues/git-issue-684.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Level1 = Level1(u:int) datatype Level2 = Level2(u:int, l:Level1) diff --git a/Test/git-issues/git-issue-684.dfy.expect b/Test/git-issues/git-issue-684.dfy.expect index 65d3b5d6635..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-684.dfy.expect +++ b/Test/git-issues/git-issue-684.dfy.expect @@ -1,10 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-686.dfy b/Test/git-issues/git-issue-686.dfy index bbc975200c8..9845ce2b027 100644 --- a/Test/git-issues/git-issue-686.dfy +++ b/Test/git-issues/git-issue-686.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Color = Blue | Red diff --git a/Test/git-issues/git-issue-686.dfy.expect b/Test/git-issues/git-issue-686.dfy.expect index f30b0581688..c12f8e66df2 100644 --- a/Test/git-issues/git-issue-686.dfy.expect +++ b/Test/git-issues/git-issue-686.dfy.expect @@ -1,24 +1 @@ -git-issue-686.dfy(13,2): Warning: this branch is redundant -git-issue-686.dfy(21,2): Warning: this branch is redundant - -Dafny program verifier finished with 1 verified, 0 errors -git-issue-686.dfy(13,2): Warning: this branch is redundant -git-issue-686.dfy(21,2): Warning: this branch is redundant - -Dafny program verifier did not attempt verification -6 0 -git-issue-686.dfy(13,2): Warning: this branch is redundant -git-issue-686.dfy(21,2): Warning: this branch is redundant - -Dafny program verifier did not attempt verification -6 0 -git-issue-686.dfy(13,2): Warning: this branch is redundant -git-issue-686.dfy(21,2): Warning: this branch is redundant - -Dafny program verifier did not attempt verification -6 0 -git-issue-686.dfy(13,2): Warning: this branch is redundant -git-issue-686.dfy(21,2): Warning: this branch is redundant - -Dafny program verifier did not attempt verification 6 0 diff --git a/Test/git-issues/git-issue-686.dfy.verifier.expect b/Test/git-issues/git-issue-686.dfy.verifier.expect new file mode 100644 index 00000000000..805bd55730c --- /dev/null +++ b/Test/git-issues/git-issue-686.dfy.verifier.expect @@ -0,0 +1,2 @@ +git-issue-686.dfy(8,2): Warning: this branch is redundant +git-issue-686.dfy(16,2): Warning: this branch is redundant diff --git a/Test/git-issues/git-issue-697.dfy b/Test/git-issues/git-issue-697.dfy index 095c1a02399..23cce66dee7 100644 --- a/Test/git-issues/git-issue-697.dfy +++ b/Test/git-issues/git-issue-697.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Cell = Cell(x: int) type EvenCell = c: Cell | c.x % 2 == 0 witness Cell(0) diff --git a/Test/git-issues/git-issue-697.dfy.expect b/Test/git-issues/git-issue-697.dfy.expect index 188a72ebc36..f32a5804e29 100644 --- a/Test/git-issues/git-issue-697.dfy.expect +++ b/Test/git-issues/git-issue-697.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-697b.dfy b/Test/git-issues/git-issue-697b.dfy index cfdd3fd0821..cdb054d8d78 100644 --- a/Test/git-issues/git-issue-697b.dfy +++ b/Test/git-issues/git-issue-697b.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Cell = Cell(x: int) type EvenCell = c: Cell | c.x % 2 == 0 witness Cell(0) diff --git a/Test/git-issues/git-issue-697b.dfy.expect b/Test/git-issues/git-issue-697b.dfy.expect index b355409912b..9c777ac6a0f 100644 --- a/Test/git-issues/git-issue-697b.dfy.expect +++ b/Test/git-issues/git-issue-697b.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors false 2 diff --git a/Test/git-issues/git-issue-697d.dfy b/Test/git-issues/git-issue-697d.dfy index 71a262fc985..8b65c2da4f7 100644 --- a/Test/git-issues/git-issue-697d.dfy +++ b/Test/git-issues/git-issue-697d.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function nonGhostPredicate(x: int): bool { x % 2 == 0 diff --git a/Test/git-issues/git-issue-697d.dfy.expect b/Test/git-issues/git-issue-697d.dfy.expect index 48fb59aeae5..f32a5804e29 100644 --- a/Test/git-issues/git-issue-697d.dfy.expect +++ b/Test/git-issues/git-issue-697d.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 4 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-697e.dfy b/Test/git-issues/git-issue-697e.dfy index e4500bfab28..310851abf9a 100644 --- a/Test/git-issues/git-issue-697e.dfy +++ b/Test/git-issues/git-issue-697e.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Cell = Cell(x: int) type EvenCell = c: Cell | c.x % 2 == 0 witness Cell(0) diff --git a/Test/git-issues/git-issue-697e.dfy.expect b/Test/git-issues/git-issue-697e.dfy.expect index 00a51f822da..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-697e.dfy.expect +++ b/Test/git-issues/git-issue-697e.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 3 verified, 0 errors diff --git a/Test/git-issues/git-issue-697f.dfy b/Test/git-issues/git-issue-697f.dfy index 92d1cec2ed8..acb8810dfbf 100644 --- a/Test/git-issues/git-issue-697f.dfy +++ b/Test/git-issues/git-issue-697f.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment ghost function ghostPredicate(x: int): bool { x % 2 == 0 diff --git a/Test/git-issues/git-issue-697f.dfy.expect b/Test/git-issues/git-issue-697f.dfy.expect index 3e2cf8d0f69..b5754e20373 100644 --- a/Test/git-issues/git-issue-697f.dfy.expect +++ b/Test/git-issues/git-issue-697f.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 4 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-697g.dfy b/Test/git-issues/git-issue-697g.dfy index c3b7581ff61..7b30de7f3a0 100644 --- a/Test/git-issues/git-issue-697g.dfy +++ b/Test/git-issues/git-issue-697g.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function returnNat(c: nat): int { diff --git a/Test/git-issues/git-issue-697g.dfy.expect b/Test/git-issues/git-issue-697g.dfy.expect index d9157fa820a..f32a5804e29 100644 --- a/Test/git-issues/git-issue-697g.dfy.expect +++ b/Test/git-issues/git-issue-697g.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-698.dfy b/Test/git-issues/git-issue-698.dfy index b15295c9b46..7b7a9ca15b8 100644 --- a/Test/git-issues/git-issue-698.dfy +++ b/Test/git-issues/git-issue-698.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment type Small = x: int | 0 <= x < 100 && x != 3 diff --git a/Test/git-issues/git-issue-698.dfy.expect b/Test/git-issues/git-issue-698.dfy.expect index 7f965a65d2e..27ba77ddaf6 100644 --- a/Test/git-issues/git-issue-698.dfy.expect +++ b/Test/git-issues/git-issue-698.dfy.expect @@ -1,8 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification -true - -Dafny program verifier did not attempt verification true diff --git a/Test/git-issues/git-issue-698b.dfy b/Test/git-issues/git-issue-698b.dfy index 1d4a92456e6..dbdbc3b36d3 100644 --- a/Test/git-issues/git-issue-698b.dfy +++ b/Test/git-issues/git-issue-698b.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment type Small = x: int | 0 <= x < 100 && x != 3 @@ -13,4 +12,4 @@ method Main() { var b := !exists n: Small :: F(n) != 100; assert b; print b; -} \ No newline at end of file +} diff --git a/Test/git-issues/git-issue-698b.dfy.expect b/Test/git-issues/git-issue-698b.dfy.expect index 188a72ebc36..f32a5804e29 100644 --- a/Test/git-issues/git-issue-698b.dfy.expect +++ b/Test/git-issues/git-issue-698b.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-701.dfy b/Test/git-issues/git-issue-701.dfy index af19f0d89e2..38984df4ecf 100644 --- a/Test/git-issues/git-issue-701.dfy +++ b/Test/git-issues/git-issue-701.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var ca := new ClassA; diff --git a/Test/git-issues/git-issue-701.dfy.expect b/Test/git-issues/git-issue-701.dfy.expect index 4d20966e641..5198c09cbb1 100644 --- a/Test/git-issues/git-issue-701.dfy.expect +++ b/Test/git-issues/git-issue-701.dfy.expect @@ -1,22 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification -0 0 0 -[] [] [] -C.Nothing C.Nothing C.Nothing - -Dafny program verifier did not attempt verification -0 0 0 -[] [] [] -C.Nothing C.Nothing C.Nothing - -Dafny program verifier did not attempt verification -0 0 0 -[] [] [] -C.Nothing C.Nothing C.Nothing - -Dafny program verifier did not attempt verification 0 0 0 [] [] [] C.Nothing C.Nothing C.Nothing diff --git a/Test/git-issues/git-issue-705.dfy b/Test/git-issues/git-issue-705.dfy index d4b806800c2..9c36a336e8e 100644 --- a/Test/git-issues/git-issue-705.dfy +++ b/Test/git-issues/git-issue-705.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs /spillTargetCode:3 "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js /spillTargetCode:3 "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go /spillTargetCode:3 "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java /spillTargetCode:3 "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation datatype MyDataType = AAA { function toString(): int { 222 } diff --git a/Test/git-issues/git-issue-705.dfy.expect b/Test/git-issues/git-issue-705.dfy.expect index 02cf409667a..79a1eee7c74 100644 --- a/Test/git-issues/git-issue-705.dfy.expect +++ b/Test/git-issues/git-issue-705.dfy.expect @@ -1,14 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification -MyDataType.AAA 222 - -Dafny program verifier did not attempt verification -MyDataType.AAA 222 - -Dafny program verifier did not attempt verification -MyDataType.AAA 222 - -Dafny program verifier did not attempt verification MyDataType.AAA 222 diff --git a/Test/git-issues/git-issue-731.dfy b/Test/git-issues/git-issue-731.dfy index 05d02fea1af..348d40fecea 100644 --- a/Test/git-issues/git-issue-731.dfy +++ b/Test/git-issues/git-issue-731.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait Trait { const y: Y diff --git a/Test/git-issues/git-issue-731.dfy.expect b/Test/git-issues/git-issue-731.dfy.expect index 69b2e6af648..7554a44901e 100644 --- a/Test/git-issues/git-issue-731.dfy.expect +++ b/Test/git-issues/git-issue-731.dfy.expect @@ -1,18 +1,2 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification -0 0 0 42 -0 0 0 9 - -Dafny program verifier did not attempt verification -0 0 0 42 -0 0 0 9 - -Dafny program verifier did not attempt verification -0 0 0 42 -0 0 0 9 - -Dafny program verifier did not attempt verification 0 0 0 42 0 0 0 9 diff --git a/Test/git-issues/git-issue-731b.dfy b/Test/git-issues/git-issue-731b.dfy index a77dbd6323b..2a0507839a2 100644 --- a/Test/git-issues/git-issue-731b.dfy +++ b/Test/git-issues/git-issue-731b.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Testing issue#731 when the class in question has type parameters diff --git a/Test/git-issues/git-issue-731b.dfy.expect b/Test/git-issues/git-issue-731b.dfy.expect index 97e6c041920..dd3226d2b73 100644 --- a/Test/git-issues/git-issue-731b.dfy.expect +++ b/Test/git-issues/git-issue-731b.dfy.expect @@ -1,14 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification -0 42 - -Dafny program verifier did not attempt verification -0 42 - -Dafny program verifier did not attempt verification -0 42 - -Dafny program verifier did not attempt verification 0 42 diff --git a/Test/git-issues/git-issue-784.dfy b/Test/git-issues/git-issue-784.dfy index 78b83f01064..5f6cf59465c 100644 --- a/Test/git-issues/git-issue-784.dfy +++ b/Test/git-issues/git-issue-784.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype List = Nil | Cons(T, List) { function App(ys: List): List { diff --git a/Test/git-issues/git-issue-784.dfy.expect b/Test/git-issues/git-issue-784.dfy.expect index 8da23be5c8c..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-784.dfy.expect +++ b/Test/git-issues/git-issue-784.dfy.expect @@ -1,10 +0,0 @@ - -Dafny program verifier finished with 4 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-953.dfy b/Test/git-issues/git-issue-953.dfy index adebc946c35..9c14e6e4e98 100644 --- a/Test/git-issues/git-issue-953.dfy +++ b/Test/git-issues/git-issue-953.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module P { datatype T_ = T() // the underscore in this name once caused a problem in Java compilation diff --git a/Test/git-issues/git-issue-953.dfy.expect b/Test/git-issues/git-issue-953.dfy.expect index 8466ea62f3f..8eec6126a08 100644 --- a/Test/git-issues/git-issue-953.dfy.expect +++ b/Test/git-issues/git-issue-953.dfy.expect @@ -1,39 +1,3 @@ - -Dafny program verifier finished with 6 verified, 0 errors - -Dafny program verifier did not attempt verification -C1.T_.T -P.T_.T -OtherNamesWithSpecialCharacters?_.A?_.A?_ OtherNamesWithSpecialCharacters?_.B?_.B?_ -17 17 0 0 -C2.C.C(10, 11) -9 - -Dafny program verifier did not attempt verification -C1.T_.T -P.T_.T -OtherNamesWithSpecialCharacters?_.A?_.A?_ OtherNamesWithSpecialCharacters?_.B?_.B?_ -17 17 0 0 -C2.C.C(10, 11) -9 - -Dafny program verifier did not attempt verification -C1.T_.T -P.T_.T -OtherNamesWithSpecialCharacters?_.A?_.A?_ OtherNamesWithSpecialCharacters?_.B?_.B?_ -17 17 0 0 -C2.C.C(10, 11) -9 - -Dafny program verifier did not attempt verification -C1.T_.T -P.T_.T -OtherNamesWithSpecialCharacters?_.A?_.A?_ OtherNamesWithSpecialCharacters?_.B?_.B?_ -17 17 0 0 -C2.C.C(10, 11) -9 - -Dafny program verifier did not attempt verification C1.T_.T P.T_.T OtherNamesWithSpecialCharacters?_.A?_.A?_ OtherNamesWithSpecialCharacters?_.B?_.B?_ diff --git a/Test/git-issues/github-issue-3343.dfy b/Test/git-issues/github-issue-3343.dfy index 517a11d7fc1..d518b2a1a41 100644 --- a/Test/git-issues/github-issue-3343.dfy +++ b/Test/git-issues/github-issue-3343.dfy @@ -1,5 +1,4 @@ -// RUN: %baredafny run "%s" -t:java > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" method Bug() { var zero := 0; var a := new int[zero] []; diff --git a/Test/git-issues/github-issue-3343.dfy.expect b/Test/git-issues/github-issue-3343.dfy.expect index 823a60a105c..e69de29bb2d 100644 --- a/Test/git-issues/github-issue-3343.dfy.expect +++ b/Test/git-issues/github-issue-3343.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 1 verified, 0 errors diff --git a/Test/hofs/Compilation.dfy b/Test/hofs/Compilation.dfy index 99fd0a36506..7e9c674b495 100644 --- a/Test/hofs/Compilation.dfy +++ b/Test/hofs/Compilation.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class Ref { var val : A diff --git a/Test/hofs/Compilation.dfy.expect b/Test/hofs/Compilation.dfy.expect index 760fafc6189..6b7187d2557 100644 --- a/Test/hofs/Compilation.dfy.expect +++ b/Test/hofs/Compilation.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 2 verified, 0 errors 1 = 1 3 = 3 3 = 3 diff --git a/Test/hofs/Examples.dfy b/Test/hofs/Examples.dfy index cdf177c001f..bebda559221 100644 --- a/Test/hofs/Examples.dfy +++ b/Test/hofs/Examples.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function Apply(f: A ~> B, x: A): B reads f.reads(x) diff --git a/Test/hofs/Examples.dfy.expect b/Test/hofs/Examples.dfy.expect index 851aaf58286..e69de29bb2d 100644 --- a/Test/hofs/Examples.dfy.expect +++ b/Test/hofs/Examples.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 7 verified, 0 errors diff --git a/Test/hofs/Fold.dfy b/Test/hofs/Fold.dfy index 336f9121b52..96ddb01591f 100644 --- a/Test/hofs/Fold.dfy +++ b/Test/hofs/Fold.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype List = Nil | Cons(A,List) diff --git a/Test/hofs/Fold.dfy.expect b/Test/hofs/Fold.dfy.expect index 144ffab92db..3abcc310618 100644 --- a/Test/hofs/Fold.dfy.expect +++ b/Test/hofs/Fold.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors 3 = 3 diff --git a/Test/hofs/Renaming.dfy b/Test/hofs/Renaming.dfy index cf21fdba2f8..391c0e79ef6 100644 --- a/Test/hofs/Renaming.dfy +++ b/Test/hofs/Renaming.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function OnId(f : (bool -> bool) -> int) : int reads f.reads(x => x) diff --git a/Test/hofs/Renaming.dfy.expect b/Test/hofs/Renaming.dfy.expect index e2b6636dbe4..13a954d9043 100644 --- a/Test/hofs/Renaming.dfy.expect +++ b/Test/hofs/Renaming.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 4 verified, 0 errors 10 11 diff --git a/Test/hofs/Requires.dfy b/Test/hofs/Requires.dfy index de5944b6744..f5e51244184 100644 --- a/Test/hofs/Requires.dfy +++ b/Test/hofs/Requires.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/hofs/Requires.dfy.expect b/Test/hofs/Requires.dfy.expect index 1981561ca00..e69de29bb2d 100644 --- a/Test/hofs/Requires.dfy.expect +++ b/Test/hofs/Requires.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 10 verified, 0 errors diff --git a/Test/hofs/TreeMapSimple.dfy b/Test/hofs/TreeMapSimple.dfy index d93aea46403..b7baf6eb8d7 100644 --- a/Test/hofs/TreeMapSimple.dfy +++ b/Test/hofs/TreeMapSimple.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { TestY(); diff --git a/Test/hofs/TreeMapSimple.dfy.expect b/Test/hofs/TreeMapSimple.dfy.expect index 9224d605f7e..be0317f1016 100644 --- a/Test/hofs/TreeMapSimple.dfy.expect +++ b/Test/hofs/TreeMapSimple.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 11 verified, 0 errors Tree.Branch(100, List.Cons(Tree.Branch(50, List.Nil), List.Nil)) Tree.Branch(100, List.Cons(Tree.Branch(50, List.Nil), List.Nil)) diff --git a/Test/hofs/VectorUpdate.dfy b/Test/hofs/VectorUpdate.dfy index 848ed585ca6..70c0de3084e 100644 --- a/Test/hofs/VectorUpdate.dfy +++ b/Test/hofs/VectorUpdate.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // this is a rather verbose version of the VectorUpdate method method VectorUpdate(N: int, a : array, f : (int,A) ~> A) diff --git a/Test/hofs/VectorUpdate.dfy.expect b/Test/hofs/VectorUpdate.dfy.expect index b8fae39eab8..7645f125857 100644 --- a/Test/hofs/VectorUpdate.dfy.expect +++ b/Test/hofs/VectorUpdate.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 8 verified, 0 errors 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 100, 50, 33, 25, 20, 16, 14, 12, 11, 10 diff --git a/Test/hofs/WhileLoop.dfy b/Test/hofs/WhileLoop.dfy index 4af9fbd841b..914f47f4522 100644 --- a/Test/hofs/WhileLoop.dfy +++ b/Test/hofs/WhileLoop.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class Ref { var val: A diff --git a/Test/hofs/WhileLoop.dfy.expect b/Test/hofs/WhileLoop.dfy.expect index 234ac298c9b..83083b451e1 100644 --- a/Test/hofs/WhileLoop.dfy.expect +++ b/Test/hofs/WhileLoop.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 4 verified, 0 errors 22 22 22 diff --git a/Test/metatests/OutputEncoding.dfy b/Test/metatests/OutputEncoding.dfy index 68c390ac811..59fa53bf298 100644 --- a/Test/metatests/OutputEncoding.dfy +++ b/Test/metatests/OutputEncoding.dfy @@ -1,10 +1,4 @@ -// RUN: %baredafny verify %args "%s" > "%t" -// RUN: %baredafny run --no-verify --target=cs %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=js %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=go %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=py %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=java %args "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" method Main() { // This works fine in all languages because € is a single UTF-16 code unit. diff --git a/Test/metatests/OutputEncoding.dfy.expect b/Test/metatests/OutputEncoding.dfy.expect index a37241376f3..b25a57298f1 100644 --- a/Test/metatests/OutputEncoding.dfy.expect +++ b/Test/metatests/OutputEncoding.dfy.expect @@ -1,17 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification -Euro sign: € - -Dafny program verifier did not attempt verification -Euro sign: € - -Dafny program verifier did not attempt verification -Euro sign: € - -Dafny program verifier did not attempt verification -Euro sign: € - -Dafny program verifier did not attempt verification Euro sign: € diff --git a/Test/patterns/OrPatterns.dfy b/Test/patterns/OrPatterns.dfy index 4f2610c9379..6385bd55c93 100644 --- a/Test/patterns/OrPatterns.dfy +++ b/Test/patterns/OrPatterns.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /rprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Enum = One | Two | Three { predicate Even() { diff --git a/Test/patterns/OrPatterns.dfy.expect b/Test/patterns/OrPatterns.dfy.expect index a6fce7c4a13..d86bac9de59 100644 --- a/Test/patterns/OrPatterns.dfy.expect +++ b/Test/patterns/OrPatterns.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 11 verified, 0 errors OK diff --git a/Test/patterns/PatternMatching.dfy b/Test/patterns/PatternMatching.dfy index 477126c066a..e8a73b856e4 100644 --- a/Test/patterns/PatternMatching.dfy +++ b/Test/patterns/PatternMatching.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /* * This file contains a collection of tests for features modified or introduced in PR 458 @@ -222,4 +221,4 @@ method Main() { var r5 := MultipleNestedMatch(A(0), t4, bb); print "Testing MultipleNestedMatch: ", r0, r1, r2, r3, r4, r5, ", should return 012345\n"; -} \ No newline at end of file +} diff --git a/Test/patterns/PatternMatching.dfy.expect b/Test/patterns/PatternMatching.dfy.expect index 2970273cbfc..b4415971ca5 100644 --- a/Test/patterns/PatternMatching.dfy.expect +++ b/Test/patterns/PatternMatching.dfy.expect @@ -1,6 +1,3 @@ -PatternMatching.dfy(102,4): Warning: this branch is redundant - -Dafny program verifier finished with 9 verified, 0 errors NestingTest([6]) = 6, should return 6 NestedVariableTest([2::3::4::5::6]) = 0, should return 0 ConstantTest([3::4::5::6]) = 2, should return 2 diff --git a/Test/patterns/PatternMatching.dfy.verifier.expect b/Test/patterns/PatternMatching.dfy.verifier.expect new file mode 100644 index 00000000000..b486aadfb80 --- /dev/null +++ b/Test/patterns/PatternMatching.dfy.verifier.expect @@ -0,0 +1 @@ +PatternMatching.dfy(101,4): Warning: this branch is redundant diff --git a/Test/traits/TraitCompile.dfy b/Test/traits/TraitCompile.dfy index 03cf3746c6f..6e9b925fbc5 100644 --- a/Test/traits/TraitCompile.dfy +++ b/Test/traits/TraitCompile.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait TT { @@ -820,4 +814,4 @@ module RedeclaringMembers { true } } -} \ No newline at end of file +} diff --git a/Test/traits/TraitCompile.dfy.expect b/Test/traits/TraitCompile.dfy.expect index 8257b754de2..b70a9b09d2e 100644 --- a/Test/traits/TraitCompile.dfy.expect +++ b/Test/traits/TraitCompile.dfy.expect @@ -1,259 +1,3 @@ - -Dafny program verifier finished with 75 verified, 0 errors - -Dafny program verifier did not attempt verification -y=120 -x=12 -d=800 -a5=407 -t=1212 -z=30 -z'=30 -w=30 -d=1000 -a5=507 -t=1512 -t=1512 -t=1515 -This is OtherModule.P(7.0) -From OtherModule.Y: 7 and true -This is OtherModule.P(7.0) -From OtherModule.X: 7 and true -c.f= 15 j.f= 15 -c.f= 18 j.f= 18 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -x=126 -5.2 9 false -true true true true -false false false false -true true true true -false false false false -5.2 5.2 -1.2 1.2 -1.2 1.2 -15 30 -15 30 -15 30 -0 (0, 0) 0 -8 -0 0 0 0 0 0 0 0 0 0 0 0 -13 13 13 13 13 13 13 13 13 13 13 13 -14 14 14 14 14 14 14 14 14 14 14 14 -15 15 15 15 15 15 15 15 15 15 15 15 -16 16 16 16 16 16 16 16 16 16 16 16 -17 17 17 17 17 17 17 17 17 17 17 17 -18 18 18 18 18 18 18 18 18 18 18 18 -19 19 19 19 19 19 19 19 19 19 19 19 -20 20 20 20 20 20 20 20 20 20 20 20 -21 21 21 21 21 21 21 21 21 21 21 21 -22 22 22 22 22 22 22 22 22 22 22 22 -23 23 23 23 23 23 23 23 23 23 23 23 -24 24 24 24 24 24 24 24 24 24 24 24 -f(4) = 7 -f(4) = 7 -g(4) = 7 -g(4) = 7 -41 15 26 -true true -true true -true true -true true -true true true -true true true - -Dafny program verifier did not attempt verification -y=120 -x=12 -d=800 -a5=407 -t=1212 -z=30 -z'=30 -w=30 -d=1000 -a5=507 -t=1512 -t=1512 -t=1515 -This is OtherModule.P(7.0) -From OtherModule.Y: 7 and true -This is OtherModule.P(7.0) -From OtherModule.X: 7 and true -c.f= 15 j.f= 15 -c.f= 18 j.f= 18 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -x=126 -5.2 9 false -true true true true -false false false false -true true true true -false false false false -5.2 5.2 -1.2 1.2 -1.2 1.2 -15 30 -15 30 -15 30 -0 (0, 0) 0 -8 -0 0 0 0 0 0 0 0 0 0 0 0 -13 13 13 13 13 13 13 13 13 13 13 13 -14 14 14 14 14 14 14 14 14 14 14 14 -15 15 15 15 15 15 15 15 15 15 15 15 -16 16 16 16 16 16 16 16 16 16 16 16 -17 17 17 17 17 17 17 17 17 17 17 17 -18 18 18 18 18 18 18 18 18 18 18 18 -19 19 19 19 19 19 19 19 19 19 19 19 -20 20 20 20 20 20 20 20 20 20 20 20 -21 21 21 21 21 21 21 21 21 21 21 21 -22 22 22 22 22 22 22 22 22 22 22 22 -23 23 23 23 23 23 23 23 23 23 23 23 -24 24 24 24 24 24 24 24 24 24 24 24 -f(4) = 7 -f(4) = 7 -g(4) = 7 -g(4) = 7 -41 15 26 -true true -true true -true true -true true -true true true -true true true - -Dafny program verifier did not attempt verification -y=120 -x=12 -d=800 -a5=407 -t=1212 -z=30 -z'=30 -w=30 -d=1000 -a5=507 -t=1512 -t=1512 -t=1515 -This is OtherModule.P(7.0) -From OtherModule.Y: 7 and true -This is OtherModule.P(7.0) -From OtherModule.X: 7 and true -c.f= 15 j.f= 15 -c.f= 18 j.f= 18 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -x=126 -5.2 9 false -true true true true -false false false false -true true true true -false false false false -5.2 5.2 -1.2 1.2 -1.2 1.2 -15 30 -15 30 -15 30 -0 (0, 0) 0 -8 -0 0 0 0 0 0 0 0 0 0 0 0 -13 13 13 13 13 13 13 13 13 13 13 13 -14 14 14 14 14 14 14 14 14 14 14 14 -15 15 15 15 15 15 15 15 15 15 15 15 -16 16 16 16 16 16 16 16 16 16 16 16 -17 17 17 17 17 17 17 17 17 17 17 17 -18 18 18 18 18 18 18 18 18 18 18 18 -19 19 19 19 19 19 19 19 19 19 19 19 -20 20 20 20 20 20 20 20 20 20 20 20 -21 21 21 21 21 21 21 21 21 21 21 21 -22 22 22 22 22 22 22 22 22 22 22 22 -23 23 23 23 23 23 23 23 23 23 23 23 -24 24 24 24 24 24 24 24 24 24 24 24 -f(4) = 7 -f(4) = 7 -g(4) = 7 -g(4) = 7 -41 15 26 -true true -true true -true true -true true -true true true -true true true - -Dafny program verifier did not attempt verification -y=120 -x=12 -d=800 -a5=407 -t=1212 -z=30 -z'=30 -w=30 -d=1000 -a5=507 -t=1512 -t=1512 -t=1515 -This is OtherModule.P(7.0) -From OtherModule.Y: 7 and true -This is OtherModule.P(7.0) -From OtherModule.X: 7 and true -c.f= 15 j.f= 15 -c.f= 18 j.f= 18 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -x=126 -5.2 9 false -true true true true -false false false false -true true true true -false false false false -5.2 5.2 -1.2 1.2 -1.2 1.2 -15 30 -15 30 -15 30 -0 (0, 0) 0 -8 -0 0 0 0 0 0 0 0 0 0 0 0 -13 13 13 13 13 13 13 13 13 13 13 13 -14 14 14 14 14 14 14 14 14 14 14 14 -15 15 15 15 15 15 15 15 15 15 15 15 -16 16 16 16 16 16 16 16 16 16 16 16 -17 17 17 17 17 17 17 17 17 17 17 17 -18 18 18 18 18 18 18 18 18 18 18 18 -19 19 19 19 19 19 19 19 19 19 19 19 -20 20 20 20 20 20 20 20 20 20 20 20 -21 21 21 21 21 21 21 21 21 21 21 21 -22 22 22 22 22 22 22 22 22 22 22 22 -23 23 23 23 23 23 23 23 23 23 23 23 -24 24 24 24 24 24 24 24 24 24 24 24 -f(4) = 7 -f(4) = 7 -g(4) = 7 -g(4) = 7 -41 15 26 -true true -true true -true true -true true -true true true -true true true - -Dafny program verifier did not attempt verification y=120 x=12 d=800 diff --git a/Test/traits/TraitExample.dfy b/Test/traits/TraitExample.dfy index d6afb4ce70b..54c5cbbec6f 100644 --- a/Test/traits/TraitExample.dfy +++ b/Test/traits/TraitExample.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait Automobile { ghost var Repr: set diff --git a/Test/traits/TraitExample.dfy.expect b/Test/traits/TraitExample.dfy.expect index c1b4ac93962..b9783e62141 100644 --- a/Test/traits/TraitExample.dfy.expect +++ b/Test/traits/TraitExample.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 29 verified, 0 errors Fiat: 6 Volvo: 20 Catacar: 26 diff --git a/Test/traits/Traits-Fields.dfy b/Test/traits/Traits-Fields.dfy index 2da609c33c8..6ae1aaab6d9 100644 --- a/Test/traits/Traits-Fields.dfy +++ b/Test/traits/Traits-Fields.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait J { diff --git a/Test/traits/Traits-Fields.dfy.expect b/Test/traits/Traits-Fields.dfy.expect index cc460fc52f4..c39bd8b5d5d 100644 --- a/Test/traits/Traits-Fields.dfy.expect +++ b/Test/traits/Traits-Fields.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 2 verified, 0 errors j.x = 9 c.x = 9 diff --git a/Test/traits/TraitsMultipleInheritance.dfy b/Test/traits/TraitsMultipleInheritance.dfy index 12590e47828..67fd8673488 100644 --- a/Test/traits/TraitsMultipleInheritance.dfy +++ b/Test/traits/TraitsMultipleInheritance.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait J1{ var x: int diff --git a/Test/traits/TraitsMultipleInheritance.dfy.expect b/Test/traits/TraitsMultipleInheritance.dfy.expect index ad1a1011a25..b116b2d070d 100644 --- a/Test/traits/TraitsMultipleInheritance.dfy.expect +++ b/Test/traits/TraitsMultipleInheritance.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 1 verified, 0 errors c.x + c.y = 30 j1.x + j2.y = 30 diff --git a/Test/unicodechars/comp/Collections.dfy b/Test/unicodechars/comp/Collections.dfy index fb3e451eb83..14d241ed5ab 100644 --- a/Test/unicodechars/comp/Collections.dfy +++ b/Test/unicodechars/comp/Collections.dfy @@ -1,8 +1,3 @@ -// RUN: %dafny /compile:0 /verifyAllModules /unicodeChar:1 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:true --verify-included-files include "../../comp/Collections.dfy" diff --git a/Test/unicodechars/comp/Collections.dfy.expect b/Test/unicodechars/comp/Collections.dfy.expect index 70586502b0d..89f08b08d75 100644 --- a/Test/unicodechars/comp/Collections.dfy.expect +++ b/Test/unicodechars/comp/Collections.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 40 verified, 0 errors - -Dafny program verifier did not attempt verification Sets: {} {17, 82} {12, 17} cardinality: 0 2 2 union: {17, 82} {12, 17, 82} @@ -127,511 +123,3 @@ Multiset=== 1 3 |s|=2 |u|=4 1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Yellow := 21, Color.Blue := 30] -keys: {Color.Yellow, Color.Blue} -values: {21, 30} -items: {(Color.Yellow, 21), (Color.Blue, 30)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {21, 30} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.go.expect b/Test/unicodechars/comp/Collections.dfy.go.expect new file mode 100644 index 00000000000..2fc0f3b7093 --- /dev/null +++ b/Test/unicodechars/comp/Collections.dfy.go.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.java.expect b/Test/unicodechars/comp/Collections.dfy.java.expect new file mode 100644 index 00000000000..39975cadfc4 --- /dev/null +++ b/Test/unicodechars/comp/Collections.dfy.java.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Yellow := 21, Color.Blue := 30] +keys: {Color.Yellow, Color.Blue} +values: {21, 30} +items: {(Color.Yellow, 21), (Color.Blue, 30)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.js.expect b/Test/unicodechars/comp/Collections.dfy.js.expect new file mode 100644 index 00000000000..2fc0f3b7093 --- /dev/null +++ b/Test/unicodechars/comp/Collections.dfy.js.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.py.expect b/Test/unicodechars/comp/Collections.dfy.py.expect new file mode 100644 index 00000000000..e4e346dede0 --- /dev/null +++ b/Test/unicodechars/comp/Collections.dfy.py.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {21, 30} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/unicodechars/comp/Comprehensions.dfy b/Test/unicodechars/comp/Comprehensions.dfy index 274f8d3a150..8bd5f67525e 100644 --- a/Test/unicodechars/comp/Comprehensions.dfy +++ b/Test/unicodechars/comp/Comprehensions.dfy @@ -1,8 +1,3 @@ -// RUN: %dafny /compile:0 /unicodeChar:1 /verifyAllModules "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" -include "../../comp/Comprehensions.dfy" \ No newline at end of file +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:true --verify-included-files +include "../../comp/Comprehensions.dfy" diff --git a/Test/unicodechars/comp/Comprehensions.dfy.expect b/Test/unicodechars/comp/Comprehensions.dfy.expect index 18159ddde0a..c9703fc9397 100644 --- a/Test/unicodechars/comp/Comprehensions.dfy.expect +++ b/Test/unicodechars/comp/Comprehensions.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 32 verified, 0 errors - -Dafny program verifier did not attempt verification x=13 y=14 x=13 y=14 b=yes true false @@ -64,259 +60,3 @@ true true [137438953474, 137438953475, 137438953476, 137438953477, 137438953479] cdefh cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[14 := 7, 12 := 6, 13 := 6] -map[18 := 14, 17 := 13, 16 := 12] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh diff --git a/Test/unicodechars/comp/Comprehensions.dfy.py.expect b/Test/unicodechars/comp/Comprehensions.dfy.py.expect new file mode 100644 index 00000000000..aeaa31fc0f3 --- /dev/null +++ b/Test/unicodechars/comp/Comprehensions.dfy.py.expect @@ -0,0 +1,62 @@ +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[14 := 7, 12 := 6, 13 := 6] +map[18 := 14, 17 := 13, 16 := 12] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh diff --git a/Test/unicodechars/comp/NativeNumbers.dfy b/Test/unicodechars/comp/NativeNumbers.dfy index 764b4b3b384..20cdb1e214f 100644 --- a/Test/unicodechars/comp/NativeNumbers.dfy +++ b/Test/unicodechars/comp/NativeNumbers.dfy @@ -1,9 +1,4 @@ +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:true --verify-included-files // Skip JavaScript because JavaScript doesn't have the same native types -// RUN: %dafny /compile:0 /verifyAllModules /unicodeChar:1 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" -include "../../comp/NativeNumbers.dfy" \ No newline at end of file +include "../../comp/NativeNumbers.dfy" diff --git a/Test/unicodechars/comp/NativeNumbers.dfy.expect b/Test/unicodechars/comp/NativeNumbers.dfy.expect index b0fc6754f84..354d931a151 100644 --- a/Test/unicodechars/comp/NativeNumbers.dfy.expect +++ b/Test/unicodechars/comp/NativeNumbers.dfy.expect @@ -1,259 +1,3 @@ - -Dafny program verifier finished with 25 verified, 0 errors - -Dafny program verifier did not attempt verification -Casting: - -Small numbers: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 -5 5 5 5 5 5 5 5 5 -6 6 6 6 6 6 6 6 6 -7 7 7 7 7 7 7 7 7 -8 8 8 8 8 8 8 8 8 - -Large unsigned numbers: -255 255 255 255 255 255 255 255 -65535 65535 65535 65535 65535 65535 -4294967295 4294967295 4294967295 4294967295 -18446744073709551615 18446744073709551615 - -Int to large unsigned: -255 65535 4294967295 18446744073709551615 - -Cast from cardinality operator: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 - -Characters: -'C' 67 67 67 67 67 67 67 67 67 -0 127 32767 65535 65535 255 65535 65535 65535 - -Defaults: - -0 0 0 0 0 0 0 0 0 - -Byte arithmetic: - -20 30 -10 10 18 - -Short arithmetic: - -20 30 -10 10 18 - -Bitvectors: - -0 3 4 1 - -Comparison to zero: - -int8: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int16: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int32: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int64: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint8: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint16: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint32: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint64: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N - - -Dafny program verifier did not attempt verification -Casting: - -Small numbers: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 -5 5 5 5 5 5 5 5 5 -6 6 6 6 6 6 6 6 6 -7 7 7 7 7 7 7 7 7 -8 8 8 8 8 8 8 8 8 - -Large unsigned numbers: -255 255 255 255 255 255 255 255 -65535 65535 65535 65535 65535 65535 -4294967295 4294967295 4294967295 4294967295 -18446744073709551615 18446744073709551615 - -Int to large unsigned: -255 65535 4294967295 18446744073709551615 - -Cast from cardinality operator: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 - -Characters: -'C' 67 67 67 67 67 67 67 67 67 -0 127 32767 65535 65535 255 65535 65535 65535 - -Defaults: - -0 0 0 0 0 0 0 0 0 - -Byte arithmetic: - -20 30 -10 10 18 - -Short arithmetic: - -20 30 -10 10 18 - -Bitvectors: - -0 3 4 1 - -Comparison to zero: - -int8: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int16: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int32: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int64: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint8: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint16: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint32: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint64: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N - - -Dafny program verifier did not attempt verification -Casting: - -Small numbers: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 -5 5 5 5 5 5 5 5 5 -6 6 6 6 6 6 6 6 6 -7 7 7 7 7 7 7 7 7 -8 8 8 8 8 8 8 8 8 - -Large unsigned numbers: -255 255 255 255 255 255 255 255 -65535 65535 65535 65535 65535 65535 -4294967295 4294967295 4294967295 4294967295 -18446744073709551615 18446744073709551615 - -Int to large unsigned: -255 65535 4294967295 18446744073709551615 - -Cast from cardinality operator: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 - -Characters: -'C' 67 67 67 67 67 67 67 67 67 -0 127 32767 65535 65535 255 65535 65535 65535 - -Defaults: - -0 0 0 0 0 0 0 0 0 - -Byte arithmetic: - -20 30 -10 10 18 - -Short arithmetic: - -20 30 -10 10 18 - -Bitvectors: - -0 3 4 1 - -Comparison to zero: - -int8: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int16: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int32: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int64: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint8: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint16: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint32: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint64: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N - - -Dafny program verifier did not attempt verification Casting: Small numbers: diff --git a/Test/unicodechars/comp/Numbers.dfy b/Test/unicodechars/comp/Numbers.dfy index 2c9170fe4d7..e5e36180234 100644 --- a/Test/unicodechars/comp/Numbers.dfy +++ b/Test/unicodechars/comp/Numbers.dfy @@ -1,8 +1,3 @@ -// RUN: %dafny /compile:0 /verifyAllModules /unicodeChar:1 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" -include "../../comp/Numbers.dfy" \ No newline at end of file +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:true --verify-included-files +include "../../comp/Numbers.dfy" diff --git a/Test/unicodechars/comp/Numbers.dfy.expect b/Test/unicodechars/comp/Numbers.dfy.expect index 6fa2f59f340..cce193e1cce 100644 --- a/Test/unicodechars/comp/Numbers.dfy.expect +++ b/Test/unicodechars/comp/Numbers.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 59 verified, 0 errors - -Dafny program verifier did not attempt verification 0 0 3 @@ -113,455 +109,3 @@ true false true false false true false true true false true false 20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -'g' 'Q' '2' -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -(312.0 / 40.0) (1248.0 / 40.0) -(-312.0 / 40.0) (-1248.0 / 40.0) -(-312.0 / 40.0) (1248.0 / 40.0) -(312.0 / 40.0) (-1248.0 / 40.0) -0.0 0.0 0.0 -120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) -123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 (8100.0 / 8100.0) -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -'g' 'Q' '2' -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -'g' 'Q' '2' -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -(312.0 / 40.0) (1248.0 / 40.0) -(-312.0 / 40.0) (-1248.0 / 40.0) -(-312.0 / 40.0) (1248.0 / 40.0) -(312.0 / 40.0) (-1248.0 / 40.0) -0.0 0.0 0.0 -120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) -123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 (8100.0 / 8100.0) -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -'g' 'Q' '2' -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 diff --git a/Test/unicodechars/comp/Numbers.dfy.go.expect b/Test/unicodechars/comp/Numbers.dfy.go.expect new file mode 100644 index 00000000000..95d8ac259c7 --- /dev/null +++ b/Test/unicodechars/comp/Numbers.dfy.go.expect @@ -0,0 +1,111 @@ +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +'g' 'Q' '2' +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 diff --git a/Test/unicodechars/comp/Numbers.dfy.py.expect b/Test/unicodechars/comp/Numbers.dfy.py.expect new file mode 100644 index 00000000000..95d8ac259c7 --- /dev/null +++ b/Test/unicodechars/comp/Numbers.dfy.py.expect @@ -0,0 +1,111 @@ +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +'g' 'Q' '2' +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 From 59ffa2664817dad11abf0efc61d0a85bdc3b1743 Mon Sep 17 00:00:00 2001 From: Robin Salkeld Date: Fri, 9 Jun 2023 18:20:05 -0700 Subject: [PATCH 49/68] Revert "Convert all tests" This reverts commit 788783a1da016e577f635125e44f2010421ad37e. --- Test/VerifyThis2015/Problem1.dfy | 3 +- Test/VerifyThis2015/Problem1.dfy.expect | 2 + Test/VerifyThis2015/Problem2.dfy | 3 +- Test/VerifyThis2015/Problem2.dfy.expect | 2 + Test/VerifyThis2015/Problem3.dfy | 3 +- Test/VerifyThis2015/Problem3.dfy.expect | 2 + Test/c++/arrays.dfy | 3 +- Test/c++/arrays.dfy.expect | 2 + Test/c++/bit-vectors.dfy | 3 +- Test/c++/bit-vectors.dfy.expect | 2 + Test/c++/class.dfy | 3 +- Test/c++/class.dfy.expect | 2 + Test/c++/const.dfy | 3 +- Test/c++/const.dfy.expect | 2 + Test/c++/datatypes.dfy | 3 +- Test/c++/datatypes.dfy.expect | 2 + Test/c++/generic.dfy | 3 +- Test/c++/generic.dfy.expect | 2 + Test/c++/hello.dfy | 3 +- Test/c++/hello.dfy.expect | 2 + Test/c++/ints.dfy | 3 +- Test/c++/ints.dfy.expect | 2 + Test/c++/recursion.dfy | 3 +- Test/c++/recursion.dfy.expect | 2 + Test/c++/returns.dfy | 3 +- Test/c++/returns.dfy.expect | 2 + Test/c++/seqs.dfy | 3 +- Test/c++/seqs.dfy.expect | 2 + Test/c++/sets.dfy | 3 +- Test/c++/sets.dfy.expect | 2 + Test/c++/while.dfy | 3 +- Test/c++/while.dfy.expect | 2 + Test/comp/Arrays.dfy | 9 +- Test/comp/Arrays.dfy.expect | 396 ++++++++++++ Test/comp/Arrays.dfy.go.expect | 96 --- Test/comp/AsIs-Compile.dfy | 8 +- Test/comp/AsIs-Compile.dfy.expect | 160 +++++ Test/comp/AutoInit.dfy | 8 +- Test/comp/AutoInit.dfy.expect | 160 +++++ Test/comp/ByMethodCompilation.dfy | 8 +- Test/comp/ByMethodCompilation.dfy.expect | 32 + Test/comp/Calls.dfy | 8 +- Test/comp/Calls.dfy.expect | 40 ++ Test/comp/Class.dfy | 8 +- Test/comp/Class.dfy.expect | 72 +++ Test/comp/Collections.dfy | 9 +- Test/comp/Collections.dfy.expect | 512 ++++++++++++++++ Test/comp/Collections.dfy.go.expect | 125 ---- Test/comp/Collections.dfy.java.expect | 125 ---- Test/comp/Collections.dfy.js.expect | 125 ---- Test/comp/Collections.dfy.py.expect | 125 ---- Test/comp/Comprehensions.dfy | 9 +- Test/comp/Comprehensions.dfy.expect | 260 ++++++++ Test/comp/Comprehensions.dfy.py.expect | 62 -- Test/comp/ComprehensionsNewSyntax.dfy | 9 +- Test/comp/ComprehensionsNewSyntax.dfy.expect | 148 +++++ .../ComprehensionsNewSyntax.dfy.py.expect | 34 -- Test/comp/CovariantCollections.dfy | 8 +- Test/comp/CovariantCollections.dfy.expect | 220 +++++++ Test/comp/Datatype.dfy | 9 +- Test/comp/Datatype.dfy.expect | 100 +++ Test/comp/Datatype.dfy.java.expect | 22 - Test/comp/Datatype.dfy.py.expect | 22 - Test/comp/DefaultParameters-Compile.dfy | 8 +- .../comp/DefaultParameters-Compile.dfy.expect | 48 ++ Test/comp/DowncastClone.dfy | 8 +- Test/comp/DowncastClone.dfy.expect | 40 ++ Test/comp/ErasableTypeWrappers.dfy | 8 +- Test/comp/ErasableTypeWrappers.dfy.expect | 84 +++ Test/comp/EuclideanDivision.dfy | 8 +- Test/comp/EuclideanDivision.dfy.expect | 36 ++ Test/comp/ForLoops-Compilation.dfy | 8 +- Test/comp/ForLoops-Compilation.dfy.expect | 200 ++++++ Test/comp/ForallNewSyntax.dfy | 8 +- Test/comp/ForallNewSyntax.dfy.expect | 180 ++++++ Test/comp/Ghosts.dfy | 8 +- Test/comp/Ghosts.dfy.expect | 52 ++ Test/comp/Let.dfy | 7 +- Test/comp/Let.dfy.expect | 34 ++ Test/comp/MoreAutoInit.dfy | 8 +- Test/comp/MoreAutoInit.dfy.expect | 572 ++++++++++++++++++ Test/comp/NativeNumbers.dfy | 7 +- Test/comp/NativeNumbers.dfy.expect | 256 ++++++++ Test/comp/NestedArrays.dfy | 7 +- Test/comp/NestedArrays.dfy.expect | 16 + Test/comp/Numbers.dfy | 9 +- Test/comp/Numbers.dfy.expect | 456 ++++++++++++++ Test/comp/Numbers.dfy.go.expect | 111 ---- Test/comp/Numbers.dfy.py.expect | 111 ---- Test/comp/Poly.dfy | 9 +- Test/comp/Poly.dfy.expect | 60 ++ Test/comp/Poly.dfy.go.expect | 12 - Test/comp/Poly.dfy.py.expect | 12 - Test/comp/StaticMembersOfGenericTypes.dfy | 8 +- .../StaticMembersOfGenericTypes.dfy.expect | 76 +++ Test/comp/TailRecursion.dfy | 8 +- Test/comp/TailRecursion.dfy.expect | 76 +++ Test/comp/TypeDescriptors.dfy | 8 +- Test/comp/TypeDescriptors.dfy.expect | 152 +++++ Test/comp/TypeParams.dfy | 11 +- Test/comp/TypeParams.dfy.expect | 88 +++ Test/comp/TypeParams.dfy.go.expect | 19 - Test/comp/TypeParams.dfy.java.expect | 19 - Test/comp/TypeParams.dfy.js.expect | 19 - Test/comp/TypeParams.dfy.py.expect | 19 - Test/comp/UnoptimizedErasableTypeWrappers.dfy | 8 +- ...UnoptimizedErasableTypeWrappers.dfy.expect | 28 + Test/comp/Variance.dfy | 8 +- Test/comp/Variance.dfy.expect | 64 ++ Test/comp/Various.dfy | 8 +- Test/comp/Various.dfy.expect | 40 ++ Test/comp/firstSteps/0_IKnowThisMuchIs.dfy | 4 +- .../firstSteps/0_IKnowThisMuchIs.dfy.expect | 4 + Test/comp/firstSteps/1_Calls-F.dfy | 4 +- Test/comp/firstSteps/1_Calls-F.dfy.expect | 4 + Test/comp/firstSteps/2_Modules.dfy | 4 +- Test/comp/firstSteps/2_Modules.dfy.expect | 4 + Test/comp/firstSteps/3_Calls-As.dfy | 4 +- Test/comp/firstSteps/3_Calls-As.dfy.expect | 4 + .../4_Calls-FunctionsValues-Class+NT.dfy | 4 +- ..._Calls-FunctionsValues-Class+NT.dfy.expect | 4 + .../firstSteps/5_Calls-FunctionsValues-Dt.dfy | 4 +- .../5_Calls-FunctionsValues-Dt.dfy.expect | 4 + .../firstSteps/6_Calls-VariableCapture.dfy | 4 +- .../6_Calls-VariableCapture.dfy.expect | 4 + Test/comp/firstSteps/7_Arrays.dfy | 4 +- Test/comp/firstSteps/7_Arrays.dfy.expect | 4 + Test/comp/firstSteps/7_Dt_Algebraic.dfy | 6 +- .../firstSteps/7_Dt_Algebraic.dfy.cs.expect | 11 - .../comp/firstSteps/7_Dt_Algebraic.dfy.expect | 17 + Test/dafny0/ArrayElementInitCompile.dfy | 8 +- .../dafny0/ArrayElementInitCompile.dfy.expect | 76 +++ Test/dafny0/Bitvectors.dfy | 5 +- Test/dafny0/Bitvectors.dfy.expect | 49 ++ Test/dafny0/Constant.dfy | 3 +- Test/dafny0/Constant.dfy.expect | 2 + Test/dafny0/Deprecation.dfy | 3 +- Test/dafny0/Deprecation.dfy.expect | 7 + Test/dafny0/Deprecation.dfy.verifier.expect | 5 - Test/dafny0/DiscoverBounds.dfy | 3 +- Test/dafny0/DiscoverBounds.dfy.expect | 7 + .../dafny0/DiscoverBounds.dfy.verifier.expect | 5 - Test/dafny0/DividedConstructors.dfy | 3 +- Test/dafny0/DividedConstructors.dfy.expect | 3 + .../DividedConstructors.dfy.verifier.expect | 1 - Test/dafny0/EqualityTypesCompile.dfy | 3 +- Test/dafny0/EqualityTypesCompile.dfy.expect | 2 + Test/dafny0/ForallCompilationNewSyntax.dfy | 3 +- .../ForallCompilationNewSyntax.dfy.expect | 6 + ...llCompilationNewSyntax.dfy.verifier.expect | 4 - Test/dafny0/GhostITECompilation.dfy | 8 +- Test/dafny0/GhostITECompilation.dfy.expect | 28 + Test/dafny0/InitialValues.dfy | 3 +- Test/dafny0/InitialValues.dfy.expect | 2 + Test/dafny0/MatchBraces.dfy | 5 +- Test/dafny0/MatchBraces.dfy.expect | 8 + Test/dafny0/MoForallCompilation.dfy | 3 +- Test/dafny0/MoForallCompilation.dfy.expect | 2 + Test/dafny0/NameclashesCompile.dfy | 3 +- Test/dafny0/NameclashesCompile.dfy.expect | 2 + Test/dafny0/NonZeroInitializationCompile.dfy | 7 +- .../NonZeroInitializationCompile.dfy.expect | 73 +++ Test/dafny0/NullComparisonWarnings.dfy | 3 +- Test/dafny0/NullComparisonWarnings.dfy.expect | 13 + ...NullComparisonWarnings.dfy.verifier.expect | 11 - Test/dafny0/PrintUTF8.dfy | 3 +- Test/dafny0/PrintUTF8.dfy.expect | 2 + Test/dafny0/RangeCompilation.dfy | 3 +- Test/dafny0/RangeCompilation.dfy.expect | 2 + Test/dafny0/SeqFromArray.dfy | 3 +- Test/dafny0/SeqFromArray.dfy.expect | 2 + Test/dafny0/SharedDestructorsCompile.dfy | 5 +- .../SharedDestructorsCompile.dfy.expect | 17 + Test/dafny0/SiblingImports.dfy | 3 +- Test/dafny0/SiblingImports.dfy.expect | 2 + Test/dafny0/TypeConversionsCompile.dfy | 3 +- Test/dafny0/TypeConversionsCompile.dfy.expect | 2 + Test/dafny0/TypeMembers.dfy | 5 +- Test/dafny0/TypeMembers.dfy.expect | 29 + Test/dafny0/TypeMembers.dfy.verifier.expect | 1 - Test/dafny0/Wellfounded.dfy | 3 +- Test/dafny0/Wellfounded.dfy.expect | 4 + Test/dafny0/Wellfounded.dfy.verifier.expect | 2 - Test/dafny2/MinWindowMax.dfy | 3 +- Test/dafny2/MinWindowMax.dfy.expect | 2 + .../SmallestMissingNumber-functional.dfy | 3 +- ...mallestMissingNumber-functional.dfy.expect | 3 + ...ssingNumber-functional.dfy.verifier.expect | 1 - .../SmallestMissingNumber-imperative.dfy | 3 +- ...mallestMissingNumber-imperative.dfy.expect | 2 + Test/dafny2/StoreAndRetrieve.dfy | 7 +- Test/dafny2/StoreAndRetrieve.dfy.expect | 38 ++ .../StoreAndRetrieve.dfy.verifier.expect | 5 - Test/dafny2/pq-intrinsic-extrinsic.dfy | 5 +- Test/dafny2/pq-intrinsic-extrinsic.dfy.expect | 11 + Test/dafny3/Abstemious.dfy | 3 +- Test/dafny3/Abstemious.dfy.expect | 2 + Test/dafny3/CachedContainer.dfy | 7 +- Test/dafny3/CachedContainer.dfy.expect | 78 +++ .../CachedContainer.dfy.verifier.expect | 13 - Test/dafny3/Iter.dfy | 3 +- Test/dafny3/Iter.dfy.expect | 2 + Test/dafny4/Ackermann.dfy | 3 +- Test/dafny4/Ackermann.dfy.expect | 4 + Test/dafny4/Ackermann.dfy.verifier.expect | 2 - Test/dafny4/Bug107.dfy | 3 +- Test/dafny4/Bug107.dfy.expect | 2 + Test/dafny4/Bug108.dfy | 3 +- Test/dafny4/Bug108.dfy.expect | 2 + Test/dafny4/Bug113.dfy | 5 +- Test/dafny4/Bug113.dfy.expect | 2 + Test/dafny4/Bug140.dfy | 3 +- Test/dafny4/Bug140.dfy.expect | 2 + Test/dafny4/Bug148.dfy | 3 +- Test/dafny4/Bug148.dfy.expect | 2 + Test/dafny4/Bug49.dfy | 3 +- Test/dafny4/Bug49.dfy.expect | 2 + Test/dafny4/Bug60.dfy | 3 +- Test/dafny4/Bug60.dfy.expect | 2 + Test/dafny4/Bug67.dfy | 5 +- Test/dafny4/Bug67.dfy.expect | 2 + Test/dafny4/Bug68.dfy | 5 +- Test/dafny4/Bug68.dfy.expect | 2 + Test/dafny4/Bug89.dfy | 3 +- Test/dafny4/Bug89.dfy.expect | 2 + Test/dafny4/Bug94.dfy | 3 +- Test/dafny4/Bug94.dfy.expect | 2 + Test/dafny4/ClassRefinement.dfy | 7 +- Test/dafny4/ClassRefinement.dfy.expect | 43 ++ .../ClassRefinement.dfy.verifier.expect | 6 - Test/dafny4/ExpandedGuardedness.dfy | 3 +- Test/dafny4/ExpandedGuardedness.dfy.expect | 2 + Test/dafny4/FlyingRobots.dfy | 3 +- Test/dafny4/FlyingRobots.dfy.expect | 2 + Test/dafny4/Leq.dfy | 3 +- Test/dafny4/Leq.dfy.expect | 2 + Test/dafny4/McCarthy91.dfy | 3 +- Test/dafny4/McCarthy91.dfy.expect | 2 + Test/dafny4/NatList.dfy | 3 +- Test/dafny4/NatList.dfy.expect | 2 + Test/dafny4/Regression2.dfy | 3 +- Test/dafny4/Regression2.dfy.expect | 2 + Test/dafny4/Regression3.dfy | 3 +- Test/dafny4/Regression3.dfy.expect | 2 + Test/dafny4/Regression4.dfy | 3 +- Test/dafny4/Regression4.dfy.expect | 2 + Test/dafny4/Regression6.dfy | 3 +- Test/dafny4/Regression6.dfy.expect | 2 + Test/dafny4/Regression7.dfy | 3 +- Test/dafny4/Regression7.dfy.expect | 2 + Test/dafny4/Regression9.dfy | 3 +- Test/dafny4/Regression9.dfy.expect | 2 + Test/dafny4/UnionFind.dfy | 3 +- Test/dafny4/UnionFind.dfy.expect | 2 + Test/dafny4/gcd.dfy | 7 +- Test/dafny4/gcd.dfy.expect | 31 + Test/dafny4/git-issue104.dfy | 8 +- Test/dafny4/git-issue104.dfy.expect | 16 + Test/dafny4/git-issue105.dfy | 3 +- Test/dafny4/git-issue105.dfy.expect | 2 + Test/dafny4/git-issue15.dfy | 3 +- Test/dafny4/git-issue15.dfy.expect | 2 + Test/dafny4/git-issue195.dfy | 3 +- Test/dafny4/git-issue195.dfy.expect | 2 + Test/dafny4/git-issue196.dfy | 3 +- Test/dafny4/git-issue196.dfy.expect | 2 + Test/dafny4/git-issue4.dfy | 3 +- Test/dafny4/git-issue4.dfy.expect | 2 + Test/dafny4/git-issue43.dfy | 3 +- Test/dafny4/git-issue43.dfy.expect | 2 + Test/dafny4/git-issue76.dfy | 5 +- Test/dafny4/git-issue76.dfy.expect | 7 + Test/dafny4/git-issue79.dfy | 3 +- Test/dafny4/git-issue79.dfy.expect | 2 + Test/dafny4/git-issue88.dfy | 3 +- Test/dafny4/git-issue88.dfy.expect | 2 + Test/exceptions/Exceptions1.dfy | 3 +- Test/exceptions/Exceptions1.dfy.expect | 2 + Test/exceptions/Exceptions1Expressions.dfy | 3 +- .../Exceptions1Expressions.dfy.expect | 2 + Test/exports/FIFO.dfy | 3 +- Test/exports/FIFO.dfy.expect | 2 + Test/exports/LIFO.dfy | 3 +- Test/exports/LIFO.dfy.expect | 2 + Test/exports/xrefine2.dfy | 3 +- Test/exports/xrefine2.dfy.expect | 2 + Test/exports/xrefine3.dfy | 3 +- Test/exports/xrefine3.dfy.expect | 2 + Test/git-issues/git-issue-032.dfy | 7 +- Test/git-issues/git-issue-032.dfy.expect | 37 ++ .../git-issue-032.dfy.verifier.expect | 3 - Test/git-issues/git-issue-1029.dfy | 3 +- Test/git-issues/git-issue-1029.dfy.expect | 2 + Test/git-issues/git-issue-1093.dfy | 8 +- Test/git-issues/git-issue-1093.dfy.expect | 16 + Test/git-issues/git-issue-1130.dfy | 3 +- Test/git-issues/git-issue-1130.dfy.expect | 2 + Test/git-issues/git-issue-1150.dfy | 3 +- Test/git-issues/git-issue-1150.dfy.expect | 2 + Test/git-issues/git-issue-1185.dfy | 8 +- Test/git-issues/git-issue-1185.dfy.expect | 13 + .../git-issues/git-issue-1185.dfy.java.expect | 1 - Test/git-issues/git-issue-1514.dfy | 3 +- Test/git-issues/git-issue-1514.dfy.expect | 2 + Test/git-issues/git-issue-1514b.dfy | 3 +- Test/git-issues/git-issue-1514b.dfy.expect | 2 + Test/git-issues/git-issue-1514c.dfy | 5 +- Test/git-issues/git-issue-1514c.dfy.expect | 7 + Test/git-issues/git-issue-1553.dfy | 7 +- Test/git-issues/git-issue-1553.dfy.expect | 10 + Test/git-issues/git-issue-1604b.dfy | 3 +- Test/git-issues/git-issue-1604b.dfy.expect | 2 + Test/git-issues/git-issue-1714.dfy | 3 +- Test/git-issues/git-issue-1714.dfy.expect | 2 + Test/git-issues/git-issue-1815a.dfy | 8 +- Test/git-issues/git-issue-1815a.dfy.expect | 16 + Test/git-issues/git-issue-1852.dfy | 5 +- Test/git-issues/git-issue-1852.dfy.expect | 7 + Test/git-issues/git-issue-1903.dfy | 3 +- Test/git-issues/git-issue-1903.dfy.expect | 2 + Test/git-issues/git-issue-1909.dfy | 3 +- Test/git-issues/git-issue-1909.dfy.expect | 2 + Test/git-issues/git-issue-2013.dfy | 8 +- Test/git-issues/git-issue-2013.dfy.expect | 52 ++ Test/git-issues/git-issue-2441.dfy | 5 +- Test/git-issues/git-issue-2441.dfy.expect | 6 + Test/git-issues/git-issue-2510.dfy | 3 +- Test/git-issues/git-issue-2510.dfy.expect | 2 + Test/git-issues/git-issue-2608.dfy | 3 +- Test/git-issues/git-issue-2608.dfy.expect | 2 + Test/git-issues/git-issue-262.dfy | 7 +- Test/git-issues/git-issue-262.dfy.expect | 18 + Test/git-issues/git-issue-262.dfy.go.expect | 2 - Test/git-issues/git-issue-262.dfy.java.expect | 2 - Test/git-issues/git-issue-262.dfy.js.expect | 6 - Test/git-issues/git-issue-267.dfy | 7 +- Test/git-issues/git-issue-267.dfy.expect | 13 + Test/git-issues/git-issue-2672.dfy | 8 +- Test/git-issues/git-issue-2672.dfy.expect | 44 ++ Test/git-issues/git-issue-2726a.dfy | 3 +- Test/git-issues/git-issue-2726a.dfy.expect | 2 + Test/git-issues/git-issue-2733.dfy | 9 +- Test/git-issues/git-issue-2733.dfy.expect | 14 + Test/git-issues/git-issue-2792.dfy | 3 +- Test/git-issues/git-issue-2792.dfy.expect | 2 + Test/git-issues/git-issue-283.dfy | 7 +- Test/git-issues/git-issue-283.dfy.expect | 13 + Test/git-issues/git-issue-283d.dfy | 7 +- Test/git-issues/git-issue-283d.dfy.expect | 10 + Test/git-issues/git-issue-314.dfy | 7 +- Test/git-issues/git-issue-314.dfy.expect | 10 + Test/git-issues/git-issue-332.dfy | 3 +- Test/git-issues/git-issue-332.dfy.expect | 2 + Test/git-issues/git-issue-354.dfy | 7 +- Test/git-issues/git-issue-354.dfy.expect | 22 + Test/git-issues/git-issue-356.dfy | 8 +- Test/git-issues/git-issue-356.dfy.expect | 36 ++ Test/git-issues/git-issue-364.dfy | 3 +- Test/git-issues/git-issue-364.dfy.expect | 2 + Test/git-issues/git-issue-374.dfy | 7 +- Test/git-issues/git-issue-374.dfy.expect | 10 + Test/git-issues/git-issue-396.dfy | 6 +- Test/git-issues/git-issue-396.dfy.expect | 11 + Test/git-issues/git-issue-4007.dfy | 5 +- Test/git-issues/git-issue-4007.dfy.expect | 3 + .../git-issue-4007.dfy.verifier.expect | 1 - Test/git-issues/git-issue-4012.dfy | 5 +- Test/git-issues/git-issue-4012.dfy.expect | 2 + Test/git-issues/git-issue-425.dfy | 7 +- Test/git-issues/git-issue-425.dfy.expect | 16 + Test/git-issues/git-issue-443.dfy | 3 +- Test/git-issues/git-issue-443.dfy.expect | 2 + Test/git-issues/git-issue-446.dfy | 7 +- Test/git-issues/git-issue-446.dfy.expect | 19 + Test/git-issues/git-issue-446a.dfy | 7 +- Test/git-issues/git-issue-446a.dfy.expect | 19 + Test/git-issues/git-issue-446b.dfy | 7 +- Test/git-issues/git-issue-446b.dfy.expect | 25 + Test/git-issues/git-issue-478-good.dfy | 3 +- Test/git-issues/git-issue-478-good.dfy.expect | 2 + Test/git-issues/git-issue-506.dfy | 6 +- Test/git-issues/git-issue-506.dfy.expect | 26 + Test/git-issues/git-issue-532.dfy | 7 +- Test/git-issues/git-issue-532.dfy.expect | 19 + Test/git-issues/git-issue-549.dfy | 5 +- Test/git-issues/git-issue-549.dfy.expect | 8 + Test/git-issues/git-issue-622$f.dfy | 3 +- Test/git-issues/git-issue-622$f.dfy.expect | 2 + Test/git-issues/git-issue-684.dfy | 7 +- Test/git-issues/git-issue-684.dfy.expect | 10 + Test/git-issues/git-issue-686.dfy | 7 +- Test/git-issues/git-issue-686.dfy.expect | 23 + .../git-issue-686.dfy.verifier.expect | 2 - Test/git-issues/git-issue-697.dfy | 3 +- Test/git-issues/git-issue-697.dfy.expect | 2 + Test/git-issues/git-issue-697b.dfy | 3 +- Test/git-issues/git-issue-697b.dfy.expect | 2 + Test/git-issues/git-issue-697d.dfy | 3 +- Test/git-issues/git-issue-697d.dfy.expect | 2 + Test/git-issues/git-issue-697e.dfy | 3 +- Test/git-issues/git-issue-697e.dfy.expect | 2 + Test/git-issues/git-issue-697f.dfy | 3 +- Test/git-issues/git-issue-697f.dfy.expect | 2 + Test/git-issues/git-issue-697g.dfy | 3 +- Test/git-issues/git-issue-697g.dfy.expect | 2 + Test/git-issues/git-issue-698.dfy | 5 +- Test/git-issues/git-issue-698.dfy.expect | 7 + Test/git-issues/git-issue-698b.dfy | 5 +- Test/git-issues/git-issue-698b.dfy.expect | 2 + Test/git-issues/git-issue-701.dfy | 7 +- Test/git-issues/git-issue-701.dfy.expect | 19 + Test/git-issues/git-issue-705.dfy | 7 +- Test/git-issues/git-issue-705.dfy.expect | 13 + Test/git-issues/git-issue-731.dfy | 7 +- Test/git-issues/git-issue-731.dfy.expect | 16 + Test/git-issues/git-issue-731b.dfy | 7 +- Test/git-issues/git-issue-731b.dfy.expect | 13 + Test/git-issues/git-issue-784.dfy | 7 +- Test/git-issues/git-issue-784.dfy.expect | 10 + Test/git-issues/git-issue-953.dfy | 8 +- Test/git-issues/git-issue-953.dfy.expect | 36 ++ Test/git-issues/github-issue-3343.dfy | 3 +- Test/git-issues/github-issue-3343.dfy.expect | 2 + Test/hofs/Compilation.dfy | 3 +- Test/hofs/Compilation.dfy.expect | 2 + Test/hofs/Examples.dfy | 3 +- Test/hofs/Examples.dfy.expect | 2 + Test/hofs/Fold.dfy | 3 +- Test/hofs/Fold.dfy.expect | 2 + Test/hofs/Renaming.dfy | 3 +- Test/hofs/Renaming.dfy.expect | 2 + Test/hofs/Requires.dfy | 3 +- Test/hofs/Requires.dfy.expect | 2 + Test/hofs/TreeMapSimple.dfy | 3 +- Test/hofs/TreeMapSimple.dfy.expect | 2 + Test/hofs/VectorUpdate.dfy | 3 +- Test/hofs/VectorUpdate.dfy.expect | 2 + Test/hofs/WhileLoop.dfy | 3 +- Test/hofs/WhileLoop.dfy.expect | 2 + Test/metatests/OutputEncoding.dfy | 8 +- Test/metatests/OutputEncoding.dfy.expect | 16 + Test/patterns/OrPatterns.dfy | 3 +- Test/patterns/OrPatterns.dfy.expect | 2 + Test/patterns/PatternMatching.dfy | 5 +- Test/patterns/PatternMatching.dfy.expect | 3 + .../PatternMatching.dfy.verifier.expect | 1 - Test/traits/TraitCompile.dfy | 10 +- Test/traits/TraitCompile.dfy.expect | 256 ++++++++ Test/traits/TraitExample.dfy | 3 +- Test/traits/TraitExample.dfy.expect | 2 + Test/traits/Traits-Fields.dfy | 3 +- Test/traits/Traits-Fields.dfy.expect | 2 + Test/traits/TraitsMultipleInheritance.dfy | 3 +- .../TraitsMultipleInheritance.dfy.expect | 2 + Test/unicodechars/comp/Collections.dfy | 9 +- Test/unicodechars/comp/Collections.dfy.expect | 512 ++++++++++++++++ .../comp/Collections.dfy.go.expect | 125 ---- .../comp/Collections.dfy.java.expect | 125 ---- .../comp/Collections.dfy.js.expect | 125 ---- .../comp/Collections.dfy.py.expect | 125 ---- Test/unicodechars/comp/Comprehensions.dfy | 11 +- .../comp/Comprehensions.dfy.expect | 260 ++++++++ .../comp/Comprehensions.dfy.py.expect | 62 -- Test/unicodechars/comp/NativeNumbers.dfy | 9 +- .../comp/NativeNumbers.dfy.expect | 256 ++++++++ Test/unicodechars/comp/Numbers.dfy | 11 +- Test/unicodechars/comp/Numbers.dfy.expect | 456 ++++++++++++++ Test/unicodechars/comp/Numbers.dfy.go.expect | 111 ---- Test/unicodechars/comp/Numbers.dfy.py.expect | 111 ---- 469 files changed, 8689 insertions(+), 2165 deletions(-) delete mode 100644 Test/comp/Arrays.dfy.go.expect delete mode 100644 Test/comp/Collections.dfy.go.expect delete mode 100644 Test/comp/Collections.dfy.java.expect delete mode 100644 Test/comp/Collections.dfy.js.expect delete mode 100644 Test/comp/Collections.dfy.py.expect delete mode 100644 Test/comp/Comprehensions.dfy.py.expect delete mode 100644 Test/comp/ComprehensionsNewSyntax.dfy.py.expect delete mode 100644 Test/comp/Datatype.dfy.java.expect delete mode 100644 Test/comp/Datatype.dfy.py.expect delete mode 100644 Test/comp/Numbers.dfy.go.expect delete mode 100644 Test/comp/Numbers.dfy.py.expect delete mode 100644 Test/comp/Poly.dfy.go.expect delete mode 100644 Test/comp/Poly.dfy.py.expect delete mode 100644 Test/comp/TypeParams.dfy.go.expect delete mode 100644 Test/comp/TypeParams.dfy.java.expect delete mode 100644 Test/comp/TypeParams.dfy.js.expect delete mode 100644 Test/comp/TypeParams.dfy.py.expect delete mode 100644 Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect delete mode 100644 Test/dafny0/Deprecation.dfy.verifier.expect delete mode 100644 Test/dafny0/DiscoverBounds.dfy.verifier.expect delete mode 100644 Test/dafny0/DividedConstructors.dfy.verifier.expect delete mode 100644 Test/dafny0/ForallCompilationNewSyntax.dfy.verifier.expect delete mode 100644 Test/dafny0/NullComparisonWarnings.dfy.verifier.expect delete mode 100644 Test/dafny0/TypeMembers.dfy.verifier.expect delete mode 100644 Test/dafny0/Wellfounded.dfy.verifier.expect delete mode 100644 Test/dafny2/SmallestMissingNumber-functional.dfy.verifier.expect delete mode 100644 Test/dafny2/StoreAndRetrieve.dfy.verifier.expect delete mode 100644 Test/dafny3/CachedContainer.dfy.verifier.expect delete mode 100644 Test/dafny4/Ackermann.dfy.verifier.expect delete mode 100644 Test/dafny4/ClassRefinement.dfy.verifier.expect delete mode 100644 Test/git-issues/git-issue-032.dfy.verifier.expect delete mode 100644 Test/git-issues/git-issue-1185.dfy.java.expect delete mode 100644 Test/git-issues/git-issue-262.dfy.go.expect delete mode 100644 Test/git-issues/git-issue-262.dfy.java.expect delete mode 100644 Test/git-issues/git-issue-262.dfy.js.expect delete mode 100644 Test/git-issues/git-issue-4007.dfy.verifier.expect delete mode 100644 Test/git-issues/git-issue-686.dfy.verifier.expect delete mode 100644 Test/patterns/PatternMatching.dfy.verifier.expect delete mode 100644 Test/unicodechars/comp/Collections.dfy.go.expect delete mode 100644 Test/unicodechars/comp/Collections.dfy.java.expect delete mode 100644 Test/unicodechars/comp/Collections.dfy.js.expect delete mode 100644 Test/unicodechars/comp/Collections.dfy.py.expect delete mode 100644 Test/unicodechars/comp/Comprehensions.dfy.py.expect delete mode 100644 Test/unicodechars/comp/Numbers.dfy.go.expect delete mode 100644 Test/unicodechars/comp/Numbers.dfy.py.expect diff --git a/Test/VerifyThis2015/Problem1.dfy b/Test/VerifyThis2015/Problem1.dfy index ab227e1ab85..20bd154ab8d 100644 --- a/Test/VerifyThis2015/Problem1.dfy +++ b/Test/VerifyThis2015/Problem1.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Rustan Leino // 12 April 2015 diff --git a/Test/VerifyThis2015/Problem1.dfy.expect b/Test/VerifyThis2015/Problem1.dfy.expect index 9e8a46acf90..110dd45761d 100644 --- a/Test/VerifyThis2015/Problem1.dfy.expect +++ b/Test/VerifyThis2015/Problem1.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 18 verified, 0 errors true true false diff --git a/Test/VerifyThis2015/Problem2.dfy b/Test/VerifyThis2015/Problem2.dfy index 9b57395e68b..7466df6d410 100644 --- a/Test/VerifyThis2015/Problem2.dfy +++ b/Test/VerifyThis2015/Problem2.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Rustan Leino // 13 April 2015, and many subsequent enhancements and revisions diff --git a/Test/VerifyThis2015/Problem2.dfy.expect b/Test/VerifyThis2015/Problem2.dfy.expect index e69de29bb2d..b49c1470365 100644 --- a/Test/VerifyThis2015/Problem2.dfy.expect +++ b/Test/VerifyThis2015/Problem2.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 32 verified, 0 errors diff --git a/Test/VerifyThis2015/Problem3.dfy b/Test/VerifyThis2015/Problem3.dfy index 1348acf0f4d..3be60b5d81a 100644 --- a/Test/VerifyThis2015/Problem3.dfy +++ b/Test/VerifyThis2015/Problem3.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Rustan Leino // 12 April 2015 // VerifyThis 2015 diff --git a/Test/VerifyThis2015/Problem3.dfy.expect b/Test/VerifyThis2015/Problem3.dfy.expect index e69de29bb2d..4bb1c2c7251 100644 --- a/Test/VerifyThis2015/Problem3.dfy.expect +++ b/Test/VerifyThis2015/Problem3.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 18 verified, 0 errors diff --git a/Test/c++/arrays.dfy b/Test/c++/arrays.dfy index a02b57e5ff8..47140146468 100644 --- a/Test/c++/arrays.dfy +++ b/Test/c++/arrays.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/arrays.dfy.expect b/Test/c++/arrays.dfy.expect index 2ce9320d8c2..552f9355593 100644 --- a/Test/c++/arrays.dfy.expect +++ b/Test/c++/arrays.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 9 verified, 0 errors 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/c++/bit-vectors.dfy b/Test/c++/bit-vectors.dfy index d27469e4ca5..b7f5d35df07 100644 --- a/Test/c++/bit-vectors.dfy +++ b/Test/c++/bit-vectors.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint64 = i:int | 0 <= i < 0x10000000000000000 diff --git a/Test/c++/bit-vectors.dfy.expect b/Test/c++/bit-vectors.dfy.expect index c491236b12b..e327aa2f73b 100644 --- a/Test/c++/bit-vectors.dfy.expect +++ b/Test/c++/bit-vectors.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 6 verified, 0 errors 084841024 diff --git a/Test/c++/class.dfy b/Test/c++/class.dfy index b10d703c981..3039bd0466b 100644 --- a/Test/c++/class.dfy +++ b/Test/c++/class.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/class.dfy.expect b/Test/c++/class.dfy.expect index 80f1587d0a2..93717ecfa9e 100644 --- a/Test/c++/class.dfy.expect +++ b/Test/c++/class.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 16 verified, 0 errors true true false 103 102 102 106 105 105 203 17 0 18 8 9 69 70 diff --git a/Test/c++/const.dfy b/Test/c++/const.dfy index 1bfb79f0361..5ab9a62e0e9 100644 --- a/Test/c++/const.dfy +++ b/Test/c++/const.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" module Holder { const x:bool := false diff --git a/Test/c++/const.dfy.expect b/Test/c++/const.dfy.expect index e69de29bb2d..823a60a105c 100644 --- a/Test/c++/const.dfy.expect +++ b/Test/c++/const.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 1 verified, 0 errors diff --git a/Test/c++/datatypes.dfy b/Test/c++/datatypes.dfy index f56b7907cc3..9d077b97575 100644 --- a/Test/c++/datatypes.dfy +++ b/Test/c++/datatypes.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/datatypes.dfy.expect b/Test/c++/datatypes.dfy.expect index c122f5af791..efa71b43546 100644 --- a/Test/c++/datatypes.dfy.expect +++ b/Test/c++/datatypes.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 12 verified, 0 errors Case A: 42 Case B: true This is expected diff --git a/Test/c++/generic.dfy b/Test/c++/generic.dfy index 374c545b9c1..7995928f93f 100644 --- a/Test/c++/generic.dfy +++ b/Test/c++/generic.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" class Test { var t:T diff --git a/Test/c++/generic.dfy.expect b/Test/c++/generic.dfy.expect index e69de29bb2d..00a51f822da 100644 --- a/Test/c++/generic.dfy.expect +++ b/Test/c++/generic.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 3 verified, 0 errors diff --git a/Test/c++/hello.dfy b/Test/c++/hello.dfy index 523d3152209..c887337c7e1 100644 --- a/Test/c++/hello.dfy +++ b/Test/c++/hello.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { print "Hello world\n"; diff --git a/Test/c++/hello.dfy.expect b/Test/c++/hello.dfy.expect index 802992c4220..87101fec036 100644 --- a/Test/c++/hello.dfy.expect +++ b/Test/c++/hello.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 0 verified, 0 errors Hello world diff --git a/Test/c++/ints.dfy b/Test/c++/ints.dfy index 4490a54817a..cf7ae63e0da 100644 --- a/Test/c++/ints.dfy +++ b/Test/c++/ints.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype sbyte = i:int | -0x80 <= i < 0x80 newtype byte = i:int | 0 <= i < 0x100 diff --git a/Test/c++/ints.dfy.expect b/Test/c++/ints.dfy.expect index 5fcb7b811cb..aeabccf73b0 100644 --- a/Test/c++/ints.dfy.expect +++ b/Test/c++/ints.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 15 verified, 0 errors Result is z = 42 diff --git a/Test/c++/recursion.dfy b/Test/c++/recursion.dfy index 36048aab527..e255b8e6b08 100644 --- a/Test/c++/recursion.dfy +++ b/Test/c++/recursion.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/recursion.dfy.expect b/Test/c++/recursion.dfy.expect index 1ea14926e89..15dbfe2bcd1 100644 --- a/Test/c++/recursion.dfy.expect +++ b/Test/c++/recursion.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 5 verified, 0 errors x !y 3 diff --git a/Test/c++/returns.dfy b/Test/c++/returns.dfy index 9e23121d26a..1ad19a8ce83 100644 --- a/Test/c++/returns.dfy +++ b/Test/c++/returns.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint64 = i:int | 0 <= i < 0x10000000000000000 diff --git a/Test/c++/returns.dfy.expect b/Test/c++/returns.dfy.expect index 48082f72f08..8db105eaba8 100644 --- a/Test/c++/returns.dfy.expect +++ b/Test/c++/returns.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors 12 diff --git a/Test/c++/seqs.dfy b/Test/c++/seqs.dfy index 903208b07f8..f97a42b2851 100644 --- a/Test/c++/seqs.dfy +++ b/Test/c++/seqs.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint8 = i:int | 0 <= i < 0x100 newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/seqs.dfy.expect b/Test/c++/seqs.dfy.expect index 16f5f9d22ea..23f01695bc9 100644 --- a/Test/c++/seqs.dfy.expect +++ b/Test/c++/seqs.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 11 verified, 0 errors Head second:2 Trunc first:2 Head trunc: This is expected diff --git a/Test/c++/sets.dfy b/Test/c++/sets.dfy index 10e2fe0501d..5bfb6f80f1e 100644 --- a/Test/c++/sets.dfy +++ b/Test/c++/sets.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/sets.dfy.expect b/Test/c++/sets.dfy.expect index 52a1e67717e..1c8ede8765e 100644 --- a/Test/c++/sets.dfy.expect +++ b/Test/c++/sets.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 8 verified, 0 errors Identity: This is expected ValuesIdentity: This is expected DiffIdentity: This is expected diff --git a/Test/c++/while.dfy b/Test/c++/while.dfy index 0c0d7ee98df..40dc4699d11 100644 --- a/Test/c++/while.dfy +++ b/Test/c++/while.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/while.dfy.expect b/Test/c++/while.dfy.expect index 9a44de1e2a3..8dfe872ca51 100644 --- a/Test/c++/while.dfy.expect +++ b/Test/c++/while.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 2 verified, 0 errors 0 1 2 diff --git a/Test/comp/Arrays.dfy b/Test/comp/Arrays.dfy index acb4225b358..566f052e0a6 100644 --- a/Test/comp/Arrays.dfy +++ b/Test/comp/Arrays.dfy @@ -1,5 +1,10 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false +// RUN: %baredafny verify %args --relax-definite-assignment "%s" > "%t" +// RUN: %baredafny run --unicode-char:false --no-verify --target=cs %args "%s" >> "%t" +// RUN: %baredafny run --unicode-char:false --no-verify --target=js %args "%s" >> "%t" +// RUN: %baredafny run --unicode-char:false --no-verify --target=go %args "%s" >> "%t" +// RUN: %baredafny run --unicode-char:false --no-verify --target=java %args "%s" >> "%t" +// RUN: %baredafny run --unicode-char:false --no-verify --target=py %args "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method LinearSearch(a: array, key: int) returns (n: nat) ensures 0 <= n <= a.Length diff --git a/Test/comp/Arrays.dfy.expect b/Test/comp/Arrays.dfy.expect index ef3b884f98a..8559e2f3c5c 100644 --- a/Test/comp/Arrays.dfy.expect +++ b/Test/comp/Arrays.dfy.expect @@ -1,3 +1,399 @@ + +Dafny program verifier finished with 89 verified, 0 errors + +Dafny program verifier did not attempt verification +0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 +17 +[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] +[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] +[20, 21, 22] +[0, 1, 2, 3, 4, 5, 6, 7] +[0, 1, 2, 3, 4, 5, 6, 7] +d d d +h e l l o +0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 +1 0 0 0 0 +0 1 0 0 0 +0 0 1 0 0 +cube dims: 3 0 4 +[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] +It's null +hi hello tjena hej hola +hi hello tjena hej hola +hi hello tjena hej hola +d d d +h e l l o +8 8 8 8 +true true true +1 1 1 1 1 +2 2 2 2 2 +3 3 3 3 3 +4 4 4 4 4 +(d, 8, true, 1, 2, 3, 4) +D D D +0 0 0 0 +false false false +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +(D, 0, false, 0, 0, 0, 0) +8 0 +false 0 null null +8 8 +8 8 +8 8 +8 8 +D D D +D D D +D D D +D D r (D, D, r) +D D r +[19, 18, 9, 8] + true + false + true + false + false + false + true + true + false + true + false + true + true + false +hello there +false false +true true +false false +false false +uninitialized bytes: array[0, 0, 0] +bytes from display: array[7, 8, 9] +bytes from lambda: array[20, 21, 22] +uninitialized 1bytes: array[1, 1, 1] +1bytes from display: array[7, 8, 9] +1bytes from lambda: array[20, 21, 22] +17 19 18 20 +100 200 300 120 38 +hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +DDDDDabcdeabcdeggggg +DDDDDabcdeabcdeggggg +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] +DDDDDDDDDDagggggaggg +0 69 50 +0 69 50 +D k n +false false +true true +false false +false false +true true + +Dafny program verifier did not attempt verification +0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 +17 +[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] +[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] +[20, 21, 22] +[0, 1, 2, 3, 4, 5, 6, 7] +[0, 1, 2, 3, 4, 5, 6, 7] +d d d +h e l l o +0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 +1 0 0 0 0 +0 1 0 0 0 +0 0 1 0 0 +cube dims: 3 0 4 +[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] +It's null +hi hello tjena hej hola +hi hello tjena hej hola +hi hello tjena hej hola +d d d +h e l l o +8 8 8 8 +true true true +1 1 1 1 1 +2 2 2 2 2 +3 3 3 3 3 +4 4 4 4 4 +(d, 8, true, 1, 2, 3, 4) +D D D +0 0 0 0 +false false false +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +(D, 0, false, 0, 0, 0, 0) +8 0 +false 0 null null +8 8 +8 8 +8 8 +8 8 +D D D +D D D +D D D +D D r (D, D, r) +D D r +[19, 18, 9, 8] + true + false + true + false + false + false + true + true + false + true + false + true + true + false +hello there +false false +true true +false false +false false +uninitialized bytes: array[0, 0, 0] +bytes from display: array[7, 8, 9] +bytes from lambda: array[20, 21, 22] +uninitialized 1bytes: array[1, 1, 1] +1bytes from display: array[7, 8, 9] +1bytes from lambda: array[20, 21, 22] +17 19 18 20 +100 200 300 120 38 +hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +DDDDDabcdeabcdeggggg +DDDDDabcdeabcdeggggg +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] +DDDDDDDDDDagggggaggg +0 69 50 +0 69 50 +D k n +false false +true true +false false +false false +true true + +Dafny program verifier did not attempt verification +0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 +17 +[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] +[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] +[20, 21, 22] +[0, 1, 2, 3, 4, 5, 6, 7] +[0, 1, 2, 3, 4, 5, 6, 7] +d d d +h e l l o +0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 +1 0 0 0 0 +0 1 0 0 0 +0 0 1 0 0 +cube dims: 3 0 4 +[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] +It's null +hi hello tjena hej hola +hi hello tjena hej hola +hi hello tjena hej hola +d d d +h e l l o +8 8 8 8 +true true true +1 1 1 1 1 +2 2 2 2 2 +3 3 3 3 3 +4 4 4 4 4 +(d, 8, true, 1, 2, 3, 4) +D D D +0 0 0 0 +false false false +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +(D, 0, false, 0, 0, 0, 0) +8 0 +false 0 null null +8 8 +8 8 +8 8 +8 8 +D D D +D D D +D D D +D D r (D, D, r) +D D r +[19, 18, 9, 8] + true + false + true + false + false + false + true + true + false + true + false + true + true + false +hello there +false false +true true +false false +false false +uninitialized bytes: array[0, 0, 0] +bytes from display: array[7, 8, 9] +bytes from lambda: array[20, 21, 22] +uninitialized 1bytes: array[1, 1, 1] +1bytes from display: array[7, 8, 9] +1bytes from lambda: array[20, 21, 22] +17 19 18 20 +100 200 300 120 38 +hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +DDDDDabcdeabcdeggggg +DDDDDabcdeabcdeggggg +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] +[D, D, D, D, D, D, D, D, D, D, a, g, g, g, g, g, a, g, g, g] +0 69 50 +0 69 50 +D k n +false false +true true +false false +false false +true true + +Dafny program verifier did not attempt verification +0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 +17 +[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] +[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] +[20, 21, 22] +[0, 1, 2, 3, 4, 5, 6, 7] +[0, 1, 2, 3, 4, 5, 6, 7] +d d d +h e l l o +0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 +1 0 0 0 0 +0 1 0 0 0 +0 0 1 0 0 +cube dims: 3 0 4 +[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] +It's null +hi hello tjena hej hola +hi hello tjena hej hola +hi hello tjena hej hola +d d d +h e l l o +8 8 8 8 +true true true +1 1 1 1 1 +2 2 2 2 2 +3 3 3 3 3 +4 4 4 4 4 +(d, 8, true, 1, 2, 3, 4) +D D D +0 0 0 0 +false false false +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +(D, 0, false, 0, 0, 0, 0) +8 0 +false 0 null null +8 8 +8 8 +8 8 +8 8 +D D D +D D D +D D D +D D r (D, D, r) +D D r +[19, 18, 9, 8] + true + false + true + false + false + false + true + true + false + true + false + true + true + false +hello there +false false +true true +false false +false false +uninitialized bytes: array[0, 0, 0] +bytes from display: array[7, 8, 9] +bytes from lambda: array[20, 21, 22] +uninitialized 1bytes: array[1, 1, 1] +1bytes from display: array[7, 8, 9] +1bytes from lambda: array[20, 21, 22] +17 19 18 20 +100 200 300 120 38 +hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +DDDDDabcdeabcdeggggg +DDDDDabcdeabcdeggggg +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] +DDDDDDDDDDagggggaggg +0 69 50 +0 69 50 +D k n +false false +true true +false false +false false +true true + +Dafny program verifier did not attempt verification 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/comp/Arrays.dfy.go.expect b/Test/comp/Arrays.dfy.go.expect deleted file mode 100644 index 1217623d90c..00000000000 --- a/Test/comp/Arrays.dfy.go.expect +++ /dev/null @@ -1,96 +0,0 @@ -0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 -17 -[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] -[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] -[20, 21, 22] -[0, 1, 2, 3, 4, 5, 6, 7] -[0, 1, 2, 3, 4, 5, 6, 7] -d d d -h e l l o -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -1 0 0 0 0 -0 1 0 0 0 -0 0 1 0 0 -cube dims: 3 0 4 -[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] -It's null -hi hello tjena hej hola -hi hello tjena hej hola -hi hello tjena hej hola -d d d -h e l l o -8 8 8 8 -true true true -1 1 1 1 1 -2 2 2 2 2 -3 3 3 3 3 -4 4 4 4 4 -(d, 8, true, 1, 2, 3, 4) -D D D -0 0 0 0 -false false false -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -(D, 0, false, 0, 0, 0, 0) -8 0 -false 0 null null -8 8 -8 8 -8 8 -8 8 -D D D -D D D -D D D -D D r (D, D, r) -D D r -[19, 18, 9, 8] - true - false - true - false - false - false - true - true - false - true - false - true - true - false -hello there -false false -true true -false false -false false -uninitialized bytes: array[0, 0, 0] -bytes from display: array[7, 8, 9] -bytes from lambda: array[20, 21, 22] -uninitialized 1bytes: array[1, 1, 1] -1bytes from display: array[7, 8, 9] -1bytes from lambda: array[20, 21, 22] -17 19 18 20 -100 200 300 120 38 -hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -DDDDDabcdeabcdeggggg -DDDDDabcdeabcdeggggg -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] -[D, D, D, D, D, D, D, D, D, D, a, g, g, g, g, g, a, g, g, g] -0 69 50 -0 69 50 -D k n -false false -true true -false false -false false -true true diff --git a/Test/comp/AsIs-Compile.dfy b/Test/comp/AsIs-Compile.dfy index 319847564e2..47084ed7633 100644 --- a/Test/comp/AsIs-Compile.dfy +++ b/Test/comp/AsIs-Compile.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" +// RUN: %baredafny verify %args "%s" > "%t" +// RUN: %baredafny run --no-verify -t=cs %args "%s" >> "%t" +// RUN: %baredafny run --no-verify -t=js %args "%s" >> "%t" +// RUN: %baredafny run --no-verify -t=go %args "%s" >> "%t" +// RUN: %baredafny run --no-verify -t=java %args "%s" >> "%t" +// RUN: %baredafny run --no-verify -t=py %args "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var a: A, b: B, c: C, k: K, l: L := new M, new M, new M, new K, new L; diff --git a/Test/comp/AsIs-Compile.dfy.expect b/Test/comp/AsIs-Compile.dfy.expect index acc78c6e155..36dfe46e91d 100644 --- a/Test/comp/AsIs-Compile.dfy.expect +++ b/Test/comp/AsIs-Compile.dfy.expect @@ -1,3 +1,163 @@ + +Dafny program verifier finished with 6 verified, 0 errors + +Dafny program verifier did not attempt verification +true true true true true +true true true true true +IsComparisons ---- +false true false false + true false false + true false +false false true false + false true false + false false +false false false true + false false true + false true +false true false false + false true false + false false +true true +false true +TestNullIs ---- +true true +true true +true true true true true true +true true true true true true +true true true true true true +true true true true true true +true true +false true +true true true true true true +false true false true false true +true true true true true true +false true false true false true +TestFromTraits ---- +5 +0 +4 +4 +4 +4 + +Dafny program verifier did not attempt verification +true true true true true +true true true true true +IsComparisons ---- +false true false false + true false false + true false +false false true false + false true false + false false +false false false true + false false true + false true +false true false false + false true false + false false +true true +false true +TestNullIs ---- +true true +true true +true true true true true true +true true true true true true +true true true true true true +true true true true true true +true true +false true +true true true true true true +false true false true false true +true true true true true true +false true false true false true +TestFromTraits ---- +5 +0 +4 +4 +4 +4 + +Dafny program verifier did not attempt verification +true true true true true +true true true true true +IsComparisons ---- +false true false false + true false false + true false +false false true false + false true false + false false +false false false true + false false true + false true +false true false false + false true false + false false +true true +false true +TestNullIs ---- +true true +true true +true true true true true true +true true true true true true +true true true true true true +true true true true true true +true true +false true +true true true true true true +false true false true false true +true true true true true true +false true false true false true +TestFromTraits ---- +5 +0 +4 +4 +4 +4 + +Dafny program verifier did not attempt verification +true true true true true +true true true true true +IsComparisons ---- +false true false false + true false false + true false +false false true false + false true false + false false +false false false true + false false true + false true +false true false false + false true false + false false +true true +false true +TestNullIs ---- +true true +true true +true true true true true true +true true true true true true +true true true true true true +true true true true true true +true true +false true +true true true true true true +false true false true false true +true true true true true true +false true false true false true +TestFromTraits ---- +5 +0 +4 +4 +4 +4 + +Dafny program verifier did not attempt verification true true true true true true true true true true IsComparisons ---- diff --git a/Test/comp/AutoInit.dfy b/Test/comp/AutoInit.dfy index c0e752efa36..b284619a80c 100644 --- a/Test/comp/AutoInit.dfy +++ b/Test/comp/AutoInit.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // This file tests the compilation of some default values. It also includes some // regression tests for equality, printing, and tuples. diff --git a/Test/comp/AutoInit.dfy.expect b/Test/comp/AutoInit.dfy.expect index e68e2e43764..51533cc6d5e 100644 --- a/Test/comp/AutoInit.dfy.expect +++ b/Test/comp/AutoInit.dfy.expect @@ -1,3 +1,163 @@ + +Dafny program verifier finished with 21 verified, 0 errors + +Dafny program verifier did not attempt verification +3 false 0 +false false true +() (0, false, false, []) +(null, 0) (null, 0) true +(null, null, null, 0) (null, null, null, 0) true +true false false true +true false false true +17 +1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or +(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) +1 +ww == null -- yes, as expected +true true true true +true true true +true true true +null null +null null +null null null +null null null +null null null +null null null +null null +null null null +null null null +DatatypeDefaultValues.EnumDatatype.MakeZero + DatatypeDefaultValues.IntList.Nil + 0 +DatatypeDefaultValues.GenericTree.Leaf + DatatypeDefaultValues.Complicated.ComplA(0, false) + DatatypeDefaultValues.CellCell.MakeCellCell(0) +null + null +Library.Color.Red(0) and Library.Color.Red(0) +Library.CoColor.Yellow and Library.CoColor.Yellow +Library.MoColor.MoYellow and Library.MoColor.MoYellow +0.0 and 0.0 +13 + +Dafny program verifier did not attempt verification +3 false 0 +false false true +() (0, false, false, []) +(null, 0) (null, 0) true +(null, null, null, 0) (null, null, null, 0) true +true false false true +true false false true +17 +1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or +(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) +1 +ww == null -- yes, as expected +true true true true +true true true +true true true +null null +null null +null null null +null null null +null null null +null null null +null null +null null null +null null null +DatatypeDefaultValues.EnumDatatype.MakeZero + DatatypeDefaultValues.IntList.Nil + 0 +DatatypeDefaultValues.GenericTree.Leaf + DatatypeDefaultValues.Complicated.ComplA(0, false) + DatatypeDefaultValues.CellCell.MakeCellCell(0) +null + null +Library.Color.Red(0) and Library.Color.Red(0) +Library.CoColor.Yellow and Library.CoColor.Yellow +Library.MoColor.MoYellow and Library.MoColor.MoYellow +0.0 and 0.0 +13 + +Dafny program verifier did not attempt verification +3 false 0 +false false true +() (0, false, false, []) +(null, 0) (null, 0) true +(null, null, null, 0) (null, null, null, 0) true +true false false true +true false false true +17 +1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or +(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) +1 +ww == null -- yes, as expected +true true true true +true true true +true true true +null null +null null +null null null +null null null +null null null +null null null +null null +null null null +null null null +DatatypeDefaultValues.EnumDatatype.MakeZero + DatatypeDefaultValues.IntList.Nil + 0 +DatatypeDefaultValues.GenericTree.Leaf + DatatypeDefaultValues.Complicated.ComplA(0, false) + DatatypeDefaultValues.CellCell.MakeCellCell(0) +null + null +Library.Color.Red(0) and Library.Color.Red(0) +Library.CoColor.Yellow and Library.CoColor.Yellow +Library.MoColor.MoYellow and Library.MoColor.MoYellow +0.0 and 0.0 +13 + +Dafny program verifier did not attempt verification +3 false 0 +false false true +() (0, false, false, []) +(null, 0) (null, 0) true +(null, null, null, 0) (null, null, null, 0) true +true false false true +true false false true +17 +1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or +(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) +1 +ww == null -- yes, as expected +true true true true +true true true +true true true +null null +null null +null null null +null null null +null null null +null null null +null null +null null null +null null null +DatatypeDefaultValues.EnumDatatype.MakeZero + DatatypeDefaultValues.IntList.Nil + 0 +DatatypeDefaultValues.GenericTree.Leaf + DatatypeDefaultValues.Complicated.ComplA(0, false) + DatatypeDefaultValues.CellCell.MakeCellCell(0) +null + null +Library.Color.Red(0) and Library.Color.Red(0) +Library.CoColor.Yellow and Library.CoColor.Yellow +Library.MoColor.MoYellow and Library.MoColor.MoYellow +0.0 and 0.0 +13 + +Dafny program verifier did not attempt verification 3 false 0 false false true () (0, false, false, []) diff --git a/Test/comp/ByMethodCompilation.dfy b/Test/comp/ByMethodCompilation.dfy index 7432f72f7d4..ea62d84b21e 100644 --- a/Test/comp/ByMethodCompilation.dfy +++ b/Test/comp/ByMethodCompilation.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var four := Four(); diff --git a/Test/comp/ByMethodCompilation.dfy.expect b/Test/comp/ByMethodCompilation.dfy.expect index d61780e3fb8..1519a955b0c 100644 --- a/Test/comp/ByMethodCompilation.dfy.expect +++ b/Test/comp/ByMethodCompilation.dfy.expect @@ -1,3 +1,35 @@ + +Dafny program verifier finished with 13 verified, 0 errors + +Dafny program verifier did not attempt verification +hello +four is 4 +Recursive(7) = 14 +NonCompilableFunction: 4 7 +Sums: 14 3 + +Dafny program verifier did not attempt verification +hello +four is 4 +Recursive(7) = 14 +NonCompilableFunction: 4 7 +Sums: 14 3 + +Dafny program verifier did not attempt verification +hello +four is 4 +Recursive(7) = 14 +NonCompilableFunction: 4 7 +Sums: 14 3 + +Dafny program verifier did not attempt verification +hello +four is 4 +Recursive(7) = 14 +NonCompilableFunction: 4 7 +Sums: 14 3 + +Dafny program verifier did not attempt verification hello four is 4 Recursive(7) = 14 diff --git a/Test/comp/Calls.dfy b/Test/comp/Calls.dfy index c56bc3e5286..4a4916aea0c 100644 --- a/Test/comp/Calls.dfy +++ b/Test/comp/Calls.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" function F(x: int, y: bool): int { x + if y then 2 else 3 diff --git a/Test/comp/Calls.dfy.expect b/Test/comp/Calls.dfy.expect index cf4e1bc155b..3317b8be164 100644 --- a/Test/comp/Calls.dfy.expect +++ b/Test/comp/Calls.dfy.expect @@ -1,3 +1,43 @@ + +Dafny program verifier finished with 6 verified, 0 errors + +Dafny program verifier did not attempt verification +5 0 0 false 0 false 0 +5 3 5 3 5 3 +5 3 5 3 5 3 +15 +[0, 1, 2, 4] +[0, 2, 4] +--> 5 <-- + +Dafny program verifier did not attempt verification +5 0 0 false 0 false 0 +5 3 5 3 5 3 +5 3 5 3 5 3 +15 +[0, 1, 2, 4] +[0, 2, 4] +--> 5 <-- + +Dafny program verifier did not attempt verification +5 0 0 false 0 false 0 +5 3 5 3 5 3 +5 3 5 3 5 3 +15 +[0, 1, 2, 4] +[0, 2, 4] +--> 5 <-- + +Dafny program verifier did not attempt verification +5 0 0 false 0 false 0 +5 3 5 3 5 3 +5 3 5 3 5 3 +15 +[0, 1, 2, 4] +[0, 2, 4] +--> 5 <-- + +Dafny program verifier did not attempt verification 5 0 0 false 0 false 0 5 3 5 3 5 3 5 3 5 3 5 3 diff --git a/Test/comp/Class.dfy b/Test/comp/Class.dfy index 23591e43450..fb994f008e7 100644 --- a/Test/comp/Class.dfy +++ b/Test/comp/Class.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" class MyClass { var a: int diff --git a/Test/comp/Class.dfy.expect b/Test/comp/Class.dfy.expect index 47e49966664..ba1482a164b 100644 --- a/Test/comp/Class.dfy.expect +++ b/Test/comp/Class.dfy.expect @@ -1,3 +1,75 @@ + +Dafny program verifier finished with 16 verified, 0 errors + +Dafny program verifier did not attempt verification +true true false +103 103 103 106 106 106 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +0 18 9 70 +0 18 9 70 +0 18 9 70 +70 +hi later +21 4 42 5 1 +TestGhostables +15 +Init called with x=15 +16 + +Dafny program verifier did not attempt verification +true true false +103 103 103 106 106 106 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +0 18 9 70 +0 18 9 70 +0 18 9 70 +70 +hi later +21 4 42 5 1 +TestGhostables +15 +Init called with x=15 +16 + +Dafny program verifier did not attempt verification +true true false +103 103 103 106 106 106 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +0 18 9 70 +0 18 9 70 +0 18 9 70 +70 +hi later +21 4 42 5 1 +TestGhostables +15 +Init called with x=15 +16 + +Dafny program verifier did not attempt verification +true true false +103 103 103 106 106 106 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +0 18 9 70 +0 18 9 70 +0 18 9 70 +70 +hi later +21 4 42 5 1 +TestGhostables +15 +Init called with x=15 +16 + +Dafny program verifier did not attempt verification true true false 103 103 103 106 106 106 203 17 0 18 8 9 69 70 diff --git a/Test/comp/Collections.dfy b/Test/comp/Collections.dfy index 9457e44b170..104eb9f90ac 100644 --- a/Test/comp/Collections.dfy +++ b/Test/comp/Collections.dfy @@ -1,5 +1,10 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { Sets(); diff --git a/Test/comp/Collections.dfy.expect b/Test/comp/Collections.dfy.expect index e705d887a7d..2361c1a88db 100644 --- a/Test/comp/Collections.dfy.expect +++ b/Test/comp/Collections.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 40 verified, 0 errors + +Dafny program verifier did not attempt verification Sets: {} {17, 82} {12, 17} cardinality: 0 2 2 union: {17, 82} {12, 17, 82} @@ -123,3 +127,511 @@ Multiset=== 1 3 |s|=2 |u|=4 1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Yellow := 21, Color.Blue := 30] +keys: {Color.Yellow, Color.Blue} +values: {21, 30} +items: {(Color.Yellow, 21), (Color.Blue, 30)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {21, 30} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/comp/Collections.dfy.go.expect b/Test/comp/Collections.dfy.go.expect deleted file mode 100644 index 309d0c550c4..00000000000 --- a/Test/comp/Collections.dfy.go.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/comp/Collections.dfy.java.expect b/Test/comp/Collections.dfy.java.expect deleted file mode 100644 index ed929a4d34c..00000000000 --- a/Test/comp/Collections.dfy.java.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Yellow := 21, Color.Blue := 30] -keys: {Color.Yellow, Color.Blue} -values: {21, 30} -items: {(Color.Yellow, 21), (Color.Blue, 30)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/comp/Collections.dfy.js.expect b/Test/comp/Collections.dfy.js.expect deleted file mode 100644 index 309d0c550c4..00000000000 --- a/Test/comp/Collections.dfy.js.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/comp/Collections.dfy.py.expect b/Test/comp/Collections.dfy.py.expect deleted file mode 100644 index 61b4217bbaf..00000000000 --- a/Test/comp/Collections.dfy.py.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {21, 30} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/comp/Comprehensions.dfy b/Test/comp/Comprehensions.dfy index 73c43b22bfa..29ac368f2c3 100644 --- a/Test/comp/Comprehensions.dfy +++ b/Test/comp/Comprehensions.dfy @@ -1,5 +1,10 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { AssignSuchThat(); diff --git a/Test/comp/Comprehensions.dfy.expect b/Test/comp/Comprehensions.dfy.expect index c9703fc9397..18159ddde0a 100644 --- a/Test/comp/Comprehensions.dfy.expect +++ b/Test/comp/Comprehensions.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 32 verified, 0 errors + +Dafny program verifier did not attempt verification x=13 y=14 x=13 y=14 b=yes true false @@ -60,3 +64,259 @@ true true [137438953474, 137438953475, 137438953476, 137438953477, 137438953479] cdefh cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[14 := 7, 12 := 6, 13 := 6] +map[18 := 14, 17 := 13, 16 := 12] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh diff --git a/Test/comp/Comprehensions.dfy.py.expect b/Test/comp/Comprehensions.dfy.py.expect deleted file mode 100644 index aeaa31fc0f3..00000000000 --- a/Test/comp/Comprehensions.dfy.py.expect +++ /dev/null @@ -1,62 +0,0 @@ -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[14 := 7, 12 := 6, 13 := 6] -map[18 := 14, 17 := 13, 16 := 12] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh diff --git a/Test/comp/ComprehensionsNewSyntax.dfy b/Test/comp/ComprehensionsNewSyntax.dfy index 6cd88aeb4f7..a324b622e8a 100644 --- a/Test/comp/ComprehensionsNewSyntax.dfy +++ b/Test/comp/ComprehensionsNewSyntax.dfy @@ -1,5 +1,10 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { Quantifier(); diff --git a/Test/comp/ComprehensionsNewSyntax.dfy.expect b/Test/comp/ComprehensionsNewSyntax.dfy.expect index b70314ff87b..408769f4b67 100644 --- a/Test/comp/ComprehensionsNewSyntax.dfy.expect +++ b/Test/comp/ComprehensionsNewSyntax.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 10 verified, 0 errors + +Dafny program verifier did not attempt verification true false true false map[12 := 6, 13 := 6, 14 := 7] @@ -32,3 +36,147 @@ false false false false true true true true false false false false true true true true + +Dafny program verifier did not attempt verification +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true + +Dafny program verifier did not attempt verification +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true + +Dafny program verifier did not attempt verification +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true + +Dafny program verifier did not attempt verification +true false +true false +map[14 := 7, 12 := 6, 13 := 6] +map[18 := 14, 17 := 13, 16 := 12] +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true diff --git a/Test/comp/ComprehensionsNewSyntax.dfy.py.expect b/Test/comp/ComprehensionsNewSyntax.dfy.py.expect deleted file mode 100644 index b19cef0ba0e..00000000000 --- a/Test/comp/ComprehensionsNewSyntax.dfy.py.expect +++ /dev/null @@ -1,34 +0,0 @@ -true false -true false -map[14 := 7, 12 := 6, 13 := 6] -map[18 := 14, 17 := 13, 16 := 12] -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true diff --git a/Test/comp/CovariantCollections.dfy b/Test/comp/CovariantCollections.dfy index 6dd73ee7fea..12301df3b09 100644 --- a/Test/comp/CovariantCollections.dfy +++ b/Test/comp/CovariantCollections.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { Sequences(); diff --git a/Test/comp/CovariantCollections.dfy.expect b/Test/comp/CovariantCollections.dfy.expect index a9d00f4a65d..e029d3abc3b 100644 --- a/Test/comp/CovariantCollections.dfy.expect +++ b/Test/comp/CovariantCollections.dfy.expect @@ -1,3 +1,223 @@ + +Dafny program verifier finished with 25 verified, 0 errors + +Dafny program verifier did not attempt verification +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17] [12, 17] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + comprehension: {82} + union: {17, 82} {12, 17, 82} + intersection: {} {17} + difference: {} {82} + subset: true false true + proper subset: true false false + membership: false true true +Multisets: {} {17, 17, 82, 82} {12, 17} + cardinality: 0 4 2 + update: {17, 17, 42, 42, 42} {12, 17, 42} + multiplicity: 2 0 20 + union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} + intersection: {} {17, 82, 82} + difference: {} {17, 82, 82} + subset: true false true + proper subset: true false false + membership: false true true +Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} + cardinality: 0 3 2 + update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} + comprehension: {17 := 12, 82 := 12} + Keys: {12, 17, 82} + Values: {17, 82} + eq: false true true + eq: true true true true true true + eq: true true true true true true + eq: true false true false true false + eq: true false true false true false + eq: true true true true true true + eq: true true true true true true +set: {20, 30} +multiset: {20, 30} +seq: [20, 30] +map: {20 := 30, 30 := 20} +true +true +1 1 +1 1 + +Dafny program verifier did not attempt verification +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17] [12, 17] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + comprehension: {82} + union: {17, 82} {12, 17, 82} + intersection: {} {17} + difference: {} {82} + subset: true false true + proper subset: true false false + membership: false true true +Multisets: {} {17, 17, 82, 82} {12, 17} + cardinality: 0 4 2 + update: {17, 17, 42, 42, 42} {12, 17, 42} + multiplicity: 2 0 20 + union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} + intersection: {} {17, 82, 82} + difference: {} {17, 82, 82} + subset: true false true + proper subset: true false false + membership: false true true +Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} + cardinality: 0 3 2 + update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} + comprehension: {17 := 12, 82 := 12} + Keys: {12, 17, 82} + Values: {17, 82} + eq: false true true + eq: true true true true true true + eq: true true true true true true + eq: true false true false true false + eq: true false true false true false + eq: true true true true true true + eq: true true true true true true +set: {20, 30} +multiset: {20, 30} +seq: [20, 30] +map: {20 := 30, 30 := 20} +true +true +1 1 +1 1 + +Dafny program verifier did not attempt verification +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17] [12, 17] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + comprehension: {82} + union: {17, 82} {12, 17, 82} + intersection: {} {17} + difference: {} {82} + subset: true false true + proper subset: true false false + membership: false true true +Multisets: {} {17, 17, 82, 82} {12, 17} + cardinality: 0 4 2 + update: {17, 17, 42, 42, 42} {12, 17, 42} + multiplicity: 2 0 20 + union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} + intersection: {} {17, 82, 82} + difference: {} {17, 82, 82} + subset: true false true + proper subset: true false false + membership: false true true +Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} + cardinality: 0 3 2 + update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} + comprehension: {17 := 12, 82 := 12} + Keys: {12, 17, 82} + Values: {17, 82} + eq: false true true + eq: true true true true true true + eq: true true true true true true + eq: true false true false true false + eq: true false true false true false + eq: true true true true true true + eq: true true true true true true +set: {20, 30} +multiset: {20, 30} +seq: [20, 30] +map: {20 := 30, 30 := 20} +true +true +1 1 +1 1 + +Dafny program verifier did not attempt verification +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17] [12, 17] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + comprehension: {82} + union: {17, 82} {12, 17, 82} + intersection: {} {17} + difference: {} {82} + subset: true false true + proper subset: true false false + membership: false true true +Multisets: {} {17, 17, 82, 82} {12, 17} + cardinality: 0 4 2 + update: {17, 17, 42, 42, 42} {12, 17, 42} + multiplicity: 2 0 20 + union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} + intersection: {} {17, 82, 82} + difference: {} {17, 82, 82} + subset: true false true + proper subset: true false false + membership: false true true +Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} + cardinality: 0 3 2 + update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} + comprehension: {17 := 12, 82 := 12} + Keys: {12, 17, 82} + Values: {17, 82} + eq: false true true + eq: true true true true true true + eq: true true true true true true + eq: true false true false true false + eq: true false true false true false + eq: true true true true true true + eq: true true true true true true +set: {20, 30} +multiset: {20, 30} +seq: [20, 30] +map: {20 := 30, 30 := 20} +true +true +1 1 +1 1 + +Dafny program verifier did not attempt verification Sequences: [] [17, 82, 17, 82] [12, 17] cardinality: 0 4 2 update: [42, 82, 17, 82] [42, 17] diff --git a/Test/comp/Datatype.dfy b/Test/comp/Datatype.dfy index 44579383e5c..2599907a94c 100644 --- a/Test/comp/Datatype.dfy +++ b/Test/comp/Datatype.dfy @@ -1,5 +1,10 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype List = Nil | Cons(head: int, tail: List) diff --git a/Test/comp/Datatype.dfy.expect b/Test/comp/Datatype.dfy.expect index 93e37a9562a..84dceeb16e6 100644 --- a/Test/comp/Datatype.dfy.expect +++ b/Test/comp/Datatype.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 12 verified, 0 errors + +Dafny program verifier did not attempt verification List.Nil List.Cons(5, List.Nil) (List.Nil, List.Cons(5, List.Nil)) @@ -20,3 +24,99 @@ Record.Record(58, true) 199 800 801 802 800 801 802 + +Dafny program verifier did not attempt verification +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) +0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) +Stream.Next +Stream.Next +{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} +CoBerry.Hjortron true true false +false +42 'q' hello +1701 +Record.Record(58, true) +199 +800 801 802 +800 801 802 + +Dafny program verifier did not attempt verification +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) +0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) +Stream.Next +Stream.Next +{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} +CoBerry.Hjortron true true false +false +42 'q' hello +1701 +Record.Record(58, true) +199 +800 801 802 +800 801 802 + +Dafny program verifier did not attempt verification +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) +0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) +Stream.Next +Stream.Next +{Berry.Jordgubb, Berry.Smultron, Berry.Hallon} +CoBerry.Hjortron true true false +false +42 'q' hello +1701 +Record.Record(58, true) +199 +800 801 802 +800 801 802 + +Dafny program verifier did not attempt verification +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) +0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) +Stream.Next +Stream.Next +{Berry.Hallon, Berry.Smultron, Berry.Jordgubb} +CoBerry.Hjortron true true false +false +42 'q' hello +1701 +Record.Record(58, true) +199 +800 801 802 +800 801 802 diff --git a/Test/comp/Datatype.dfy.java.expect b/Test/comp/Datatype.dfy.java.expect deleted file mode 100644 index e5a32fd58bc..00000000000 --- a/Test/comp/Datatype.dfy.java.expect +++ /dev/null @@ -1,22 +0,0 @@ -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) -0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) -Stream.Next -Stream.Next -{Berry.Jordgubb, Berry.Smultron, Berry.Hallon} -CoBerry.Hjortron true true false -false -42 'q' hello -1701 -Record.Record(58, true) -199 -800 801 802 -800 801 802 diff --git a/Test/comp/Datatype.dfy.py.expect b/Test/comp/Datatype.dfy.py.expect deleted file mode 100644 index 0f64b73ba2d..00000000000 --- a/Test/comp/Datatype.dfy.py.expect +++ /dev/null @@ -1,22 +0,0 @@ -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) -0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) -Stream.Next -Stream.Next -{Berry.Hallon, Berry.Smultron, Berry.Jordgubb} -CoBerry.Hjortron true true false -false -42 'q' hello -1701 -Record.Record(58, true) -199 -800 801 802 -800 801 802 diff --git a/Test/comp/DefaultParameters-Compile.dfy b/Test/comp/DefaultParameters-Compile.dfy index cd6ba1163b1..145b8670647 100644 --- a/Test/comp/DefaultParameters-Compile.dfy +++ b/Test/comp/DefaultParameters-Compile.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method M(x: int := 16) { print x, "\n"; diff --git a/Test/comp/DefaultParameters-Compile.dfy.expect b/Test/comp/DefaultParameters-Compile.dfy.expect index b4b87321eb5..b94739d5be1 100644 --- a/Test/comp/DefaultParameters-Compile.dfy.expect +++ b/Test/comp/DefaultParameters-Compile.dfy.expect @@ -1,3 +1,51 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification +12 +16 +1 2 +1 3 +10 20 +11 13 +Color.Blue(2, 1) Color.Red(3, 4) +5 5 6 +6 6 7 + +Dafny program verifier did not attempt verification +12 +16 +1 2 +1 3 +10 20 +11 13 +Color.Blue(2, 1) Color.Red(3, 4) +5 5 6 +6 6 7 + +Dafny program verifier did not attempt verification +12 +16 +1 2 +1 3 +10 20 +11 13 +Color.Blue(2, 1) Color.Red(3, 4) +5 5 6 +6 6 7 + +Dafny program verifier did not attempt verification +12 +16 +1 2 +1 3 +10 20 +11 13 +Color.Blue(2, 1) Color.Red(3, 4) +5 5 6 +6 6 7 + +Dafny program verifier did not attempt verification 12 16 1 2 diff --git a/Test/comp/DowncastClone.dfy b/Test/comp/DowncastClone.dfy index cb1f095b3f4..b90066da781 100644 --- a/Test/comp/DowncastClone.dfy +++ b/Test/comp/DowncastClone.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Co<+T> = Co(T) | C datatype ReCo<+T> = ReCo(T) diff --git a/Test/comp/DowncastClone.dfy.expect b/Test/comp/DowncastClone.dfy.expect index b0613294f3c..982b36b396c 100644 --- a/Test/comp/DowncastClone.dfy.expect +++ b/Test/comp/DowncastClone.dfy.expect @@ -1,3 +1,43 @@ + +Dafny program verifier finished with 7 verified, 0 errors + +Dafny program verifier did not attempt verification +Co.Co(_module.Y) and Co.Co(_module.Y) +_module.Y and _module.Y +_module.Y _module.Y +false and false +false and false +_module.Y and _module.Y +Done + +Dafny program verifier did not attempt verification +Co.Co(_module.Y) and Co.Co(_module.Y) +_module.Y and _module.Y +_module.Y _module.Y +false and false +false and false +_module.Y and _module.Y +Done + +Dafny program verifier did not attempt verification +Co.Co(_module.Y) and Co.Co(_module.Y) +_module.Y and _module.Y +_module.Y _module.Y +false and false +false and false +_module.Y and _module.Y +Done + +Dafny program verifier did not attempt verification +Co.Co(_module.Y) and Co.Co(_module.Y) +_module.Y and _module.Y +_module.Y _module.Y +false and false +false and false +_module.Y and _module.Y +Done + +Dafny program verifier did not attempt verification Co.Co(_module.Y) and Co.Co(_module.Y) _module.Y and _module.Y _module.Y _module.Y diff --git a/Test/comp/ErasableTypeWrappers.dfy b/Test/comp/ErasableTypeWrappers.dfy index a280099699f..d62d3736622 100644 --- a/Test/comp/ErasableTypeWrappers.dfy +++ b/Test/comp/ErasableTypeWrappers.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype SingletonRecord = SingletonRecord(u: int) datatype GhostOrNot = ghost Ghost(a: int, b: int) | Compiled(x: int) diff --git a/Test/comp/ErasableTypeWrappers.dfy.expect b/Test/comp/ErasableTypeWrappers.dfy.expect index 2a82d776c64..5013d9fc327 100644 --- a/Test/comp/ErasableTypeWrappers.dfy.expect +++ b/Test/comp/ErasableTypeWrappers.dfy.expect @@ -1,3 +1,87 @@ + +Dafny program verifier finished with 10 verified, 0 errors + +Dafny program verifier did not attempt verification +62 63 (2, 5) (2, 5) 3 +62 63 5 5 3 +5 5 3 +1062 1063 1005 1005 1003 +true true true +20 20 *20 21 20 +20 20 *20 21 20 +true false +true false true false +true false +0 (0, 0) 0 Color.Pink +13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false + 3.14 2.7 +18.0 18.0 3.0 false +18.0 4.0 true +HasConst.MakeC(4) (4, 4) +4 (4, 4) +OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.AnotherIntsWrapper(OptimizationChecks.Ints.Ints(5, 7)) + +Dafny program verifier did not attempt verification +62 63 (2, 5) (2, 5) 3 +62 63 5 5 3 +5 5 3 +1062 1063 1005 1005 1003 +true true true +20 20 *20 21 20 +20 20 *20 21 20 +true false +true false true false +true false +0 (0, 0) 0 Color.Pink +13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false + 3.14 2.7 +18.0 18.0 3.0 false +18.0 4.0 true +HasConst.MakeC(4) (4, 4) +4 (4, 4) +OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.AnotherIntsWrapper(OptimizationChecks.Ints.Ints(5, 7)) + +Dafny program verifier did not attempt verification +62 63 (2, 5) (2, 5) 3 +62 63 5 5 3 +5 5 3 +1062 1063 1005 1005 1003 +true true true +20 20 *20 21 20 +20 20 *20 21 20 +true false +true false true false +true false +0 (0, 0) 0 Color.Pink +13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false + 3.14 2.7 +18.0 18.0 3.0 false +18.0 4.0 true +HasConst.MakeC(4) (4, 4) +4 (4, 4) +OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.AnotherIntsWrapper(OptimizationChecks.Ints.Ints(5, 7)) + +Dafny program verifier did not attempt verification +62 63 (2, 5) (2, 5) 3 +62 63 5 5 3 +5 5 3 +1062 1063 1005 1005 1003 +true true true +20 20 *20 21 20 +20 20 *20 21 20 +true false +true false true false +true false +0 (0, 0) 0 Color.Pink +13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false + 3.14 2.7 +18.0 18.0 3.0 false +18.0 4.0 true +HasConst.MakeC(4) (4, 4) +4 (4, 4) +OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.AnotherIntsWrapper(OptimizationChecks.Ints.Ints(5, 7)) + +Dafny program verifier did not attempt verification 62 63 (2, 5) (2, 5) 3 62 63 5 5 3 5 5 3 diff --git a/Test/comp/EuclideanDivision.dfy b/Test/comp/EuclideanDivision.dfy index 1286dcd125b..7ae1803cad8 100644 --- a/Test/comp/EuclideanDivision.dfy +++ b/Test/comp/EuclideanDivision.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // Some runtimes (like the one for C#) have three implementations // of Euclidean div/mod: one for `int`, one for `long`, and one diff --git a/Test/comp/EuclideanDivision.dfy.expect b/Test/comp/EuclideanDivision.dfy.expect index e2585ff8c70..b538c9494de 100644 --- a/Test/comp/EuclideanDivision.dfy.expect +++ b/Test/comp/EuclideanDivision.dfy.expect @@ -1,3 +1,39 @@ + +Dafny program verifier finished with 11 verified, 0 errors + +Dafny program verifier did not attempt verification +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 + +Dafny program verifier did not attempt verification +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 + +Dafny program verifier did not attempt verification +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 + +Dafny program verifier did not attempt verification +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 + +Dafny program verifier did not attempt verification 2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 diff --git a/Test/comp/ForLoops-Compilation.dfy b/Test/comp/ForLoops-Compilation.dfy index b468d21f69f..97101b82961 100644 --- a/Test/comp/ForLoops-Compilation.dfy +++ b/Test/comp/ForLoops-Compilation.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { TestM(0, 0); diff --git a/Test/comp/ForLoops-Compilation.dfy.expect b/Test/comp/ForLoops-Compilation.dfy.expect index 97724a714bc..d67a5429fed 100644 --- a/Test/comp/ForLoops-Compilation.dfy.expect +++ b/Test/comp/ForLoops-Compilation.dfy.expect @@ -1,3 +1,203 @@ + +Dafny program verifier finished with 23 verified, 0 errors + +Dafny program verifier did not attempt verification +0 0 0 0 +-2 -2 -2 -2 +0 0 0 0 +145 145 145 145 +0 0 +0 0 +57 57 +0 0 +32385 32385 +0 0 +-128 -128 +126 126 +0 0 +0 * 2 == 0 +2 * 0 == 0 +1 * 1 == 1 +6 * 5 == 30 +0 + 3 == 3 +3 + 0 == 3 +4 + 0 == 4 +0 + 0 == 0 +19 + 14 == 33 +4 4 4 +== BC10 == +0 --++--++---- *** +1 --++--++----++-- +2 --++--++----++--++--++--++--++--++--++ *** +3 --++--++----++--++--++--++--++--++--++ *** +4 --++--++----++--++--++--++--++--++--++ *** +5 --++--++----++--++--++--++--++--++--++ *** +6 --++--++----++--++--++--++--++--++--++ *** +7 --++--++----++--++--++--++--++--++--++ *** +8 --++--++----++--++--++--++--++--++--++ *** +9 --++--++----++--++--++--++--++--++--++ *** +== BC11 == +0 ||--++----++-- *** +1 ||--++----++--++-- +2 ||--++----++--++--++--++--++--++--++--++ *** +3 ||--++----++--++--++--++--++--++--++--++ *** +4 ||--++----++--++--++--++--++--++--++--++ *** +5 ||--++----++--++--++--++--++--++--++--++ *** +6 ||--++----++--++--++--++--++--++--++--++ *** +7 ||--++----++--++--++--++--++--++--++--++ *** +8 ||--++----++--++--++--++--++--++--++--++ *** +9 ||--++----++--++--++--++--++--++--++--++ *** +true true true 15 +all good + +Dafny program verifier did not attempt verification +0 0 0 0 +-2 -2 -2 -2 +0 0 0 0 +145 145 145 145 +0 0 +0 0 +57 57 +0 0 +32385 32385 +0 0 +-128 -128 +126 126 +0 0 +0 * 2 == 0 +2 * 0 == 0 +1 * 1 == 1 +6 * 5 == 30 +0 + 3 == 3 +3 + 0 == 3 +4 + 0 == 4 +0 + 0 == 0 +19 + 14 == 33 +4 4 4 +== BC10 == +0 --++--++---- *** +1 --++--++----++-- +2 --++--++----++--++--++--++--++--++--++ *** +3 --++--++----++--++--++--++--++--++--++ *** +4 --++--++----++--++--++--++--++--++--++ *** +5 --++--++----++--++--++--++--++--++--++ *** +6 --++--++----++--++--++--++--++--++--++ *** +7 --++--++----++--++--++--++--++--++--++ *** +8 --++--++----++--++--++--++--++--++--++ *** +9 --++--++----++--++--++--++--++--++--++ *** +== BC11 == +0 ||--++----++-- *** +1 ||--++----++--++-- +2 ||--++----++--++--++--++--++--++--++--++ *** +3 ||--++----++--++--++--++--++--++--++--++ *** +4 ||--++----++--++--++--++--++--++--++--++ *** +5 ||--++----++--++--++--++--++--++--++--++ *** +6 ||--++----++--++--++--++--++--++--++--++ *** +7 ||--++----++--++--++--++--++--++--++--++ *** +8 ||--++----++--++--++--++--++--++--++--++ *** +9 ||--++----++--++--++--++--++--++--++--++ *** +true true true 15 +all good + +Dafny program verifier did not attempt verification +0 0 0 0 +-2 -2 -2 -2 +0 0 0 0 +145 145 145 145 +0 0 +0 0 +57 57 +0 0 +32385 32385 +0 0 +-128 -128 +126 126 +0 0 +0 * 2 == 0 +2 * 0 == 0 +1 * 1 == 1 +6 * 5 == 30 +0 + 3 == 3 +3 + 0 == 3 +4 + 0 == 4 +0 + 0 == 0 +19 + 14 == 33 +4 4 4 +== BC10 == +0 --++--++---- *** +1 --++--++----++-- +2 --++--++----++--++--++--++--++--++--++ *** +3 --++--++----++--++--++--++--++--++--++ *** +4 --++--++----++--++--++--++--++--++--++ *** +5 --++--++----++--++--++--++--++--++--++ *** +6 --++--++----++--++--++--++--++--++--++ *** +7 --++--++----++--++--++--++--++--++--++ *** +8 --++--++----++--++--++--++--++--++--++ *** +9 --++--++----++--++--++--++--++--++--++ *** +== BC11 == +0 ||--++----++-- *** +1 ||--++----++--++-- +2 ||--++----++--++--++--++--++--++--++--++ *** +3 ||--++----++--++--++--++--++--++--++--++ *** +4 ||--++----++--++--++--++--++--++--++--++ *** +5 ||--++----++--++--++--++--++--++--++--++ *** +6 ||--++----++--++--++--++--++--++--++--++ *** +7 ||--++----++--++--++--++--++--++--++--++ *** +8 ||--++----++--++--++--++--++--++--++--++ *** +9 ||--++----++--++--++--++--++--++--++--++ *** +true true true 15 +all good + +Dafny program verifier did not attempt verification +0 0 0 0 +-2 -2 -2 -2 +0 0 0 0 +145 145 145 145 +0 0 +0 0 +57 57 +0 0 +32385 32385 +0 0 +-128 -128 +126 126 +0 0 +0 * 2 == 0 +2 * 0 == 0 +1 * 1 == 1 +6 * 5 == 30 +0 + 3 == 3 +3 + 0 == 3 +4 + 0 == 4 +0 + 0 == 0 +19 + 14 == 33 +4 4 4 +== BC10 == +0 --++--++---- *** +1 --++--++----++-- +2 --++--++----++--++--++--++--++--++--++ *** +3 --++--++----++--++--++--++--++--++--++ *** +4 --++--++----++--++--++--++--++--++--++ *** +5 --++--++----++--++--++--++--++--++--++ *** +6 --++--++----++--++--++--++--++--++--++ *** +7 --++--++----++--++--++--++--++--++--++ *** +8 --++--++----++--++--++--++--++--++--++ *** +9 --++--++----++--++--++--++--++--++--++ *** +== BC11 == +0 ||--++----++-- *** +1 ||--++----++--++-- +2 ||--++----++--++--++--++--++--++--++--++ *** +3 ||--++----++--++--++--++--++--++--++--++ *** +4 ||--++----++--++--++--++--++--++--++--++ *** +5 ||--++----++--++--++--++--++--++--++--++ *** +6 ||--++----++--++--++--++--++--++--++--++ *** +7 ||--++----++--++--++--++--++--++--++--++ *** +8 ||--++----++--++--++--++--++--++--++--++ *** +9 ||--++----++--++--++--++--++--++--++--++ *** +true true true 15 +all good + +Dafny program verifier did not attempt verification 0 0 0 0 -2 -2 -2 -2 0 0 0 0 diff --git a/Test/comp/ForallNewSyntax.dfy b/Test/comp/ForallNewSyntax.dfy index 85e609b37b3..c17bf86830e 100644 --- a/Test/comp/ForallNewSyntax.dfy +++ b/Test/comp/ForallNewSyntax.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --function-syntax:3 --quantifier-syntax:4 --relax-definite-assignment +// RUN: %baredafny verify %args --relax-definite-assignment --function-syntax:3 --quantifier-syntax:4 "%s" > "%t" +// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:cs "%s" >> "%t" +// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:js "%s" >> "%t" +// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:go "%s" >> "%t" +// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:java "%s" >> "%t" +// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var arrayTests := new ArrayTests(); diff --git a/Test/comp/ForallNewSyntax.dfy.expect b/Test/comp/ForallNewSyntax.dfy.expect index 5b33d939607..241ea9ea521 100644 --- a/Test/comp/ForallNewSyntax.dfy.expect +++ b/Test/comp/ForallNewSyntax.dfy.expect @@ -1,3 +1,183 @@ + +Dafny program verifier finished with 25 verified, 0 errors + +Dafny program verifier did not attempt verification +Arrays: Basic cases +[0, 1, 2, 3, 4] +[0, 1, 2, 3, 4] +[0, 1, 4, 3, 8] + +Arrays: Wrong index +[0, 0, 1, 2, 3] +[0, 0, 1, 2, 3] +[1, 2, 3, 4, 5] + +Arrays: Sequence conversion +[2, 1, 4, 5, 6] +[0, 3, 3, 3, 4] + +Arrays: Index collection +[1, 1, 2, 3, 4] +[1, 1, 2, 3, 4] + +Arrays: Functions +[1, 1, 3, 4, 5] +[1, 1, 3, 4, 5] +[1, 2, 3, 3, 5] +[1, 2, 3, 4, 5] + +Multi-dimensional arrays +[[0, 2, 4], [1, 3, 5], [2, 4, 6]] +[[0, 1, 2], [2, 3, 4], [4, 5, 6]] + +Objects: Basic cases +[(0, 1.0), (0, 2.0), (0, 3.0)] +[(2, 1.0), (2, 2.0), (4, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] + +Objects: Bad field accesses +[(2, 1.0), (3, 2.0), (4, 3.0)] +[(2, 1.0), (2, 2.0), (2, 3.0)] +[(2, 1.0), (3, 2.0), (1, 3.0)] + +Objects: Functions +[(2, 1.0), (4, 2.0), (6, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] +[(3, 1.0), (4, 2.0), (5, 3.0)] + +Dafny program verifier did not attempt verification +Arrays: Basic cases +[0, 1, 2, 3, 4] +[0, 1, 2, 3, 4] +[0, 1, 4, 3, 8] + +Arrays: Wrong index +[0, 0, 1, 2, 3] +[0, 0, 1, 2, 3] +[1, 2, 3, 4, 5] + +Arrays: Sequence conversion +[2, 1, 4, 5, 6] +[0, 3, 3, 3, 4] + +Arrays: Index collection +[1, 1, 2, 3, 4] +[1, 1, 2, 3, 4] + +Arrays: Functions +[1, 1, 3, 4, 5] +[1, 1, 3, 4, 5] +[1, 2, 3, 3, 5] +[1, 2, 3, 4, 5] + +Multi-dimensional arrays +[[0, 2, 4], [1, 3, 5], [2, 4, 6]] +[[0, 1, 2], [2, 3, 4], [4, 5, 6]] + +Objects: Basic cases +[(0, 1.0), (0, 2.0), (0, 3.0)] +[(2, 1.0), (2, 2.0), (4, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] + +Objects: Bad field accesses +[(2, 1.0), (3, 2.0), (4, 3.0)] +[(2, 1.0), (2, 2.0), (2, 3.0)] +[(2, 1.0), (3, 2.0), (1, 3.0)] + +Objects: Functions +[(2, 1.0), (4, 2.0), (6, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] +[(3, 1.0), (4, 2.0), (5, 3.0)] + +Dafny program verifier did not attempt verification +Arrays: Basic cases +[0, 1, 2, 3, 4] +[0, 1, 2, 3, 4] +[0, 1, 4, 3, 8] + +Arrays: Wrong index +[0, 0, 1, 2, 3] +[0, 0, 1, 2, 3] +[1, 2, 3, 4, 5] + +Arrays: Sequence conversion +[2, 1, 4, 5, 6] +[0, 3, 3, 3, 4] + +Arrays: Index collection +[1, 1, 2, 3, 4] +[1, 1, 2, 3, 4] + +Arrays: Functions +[1, 1, 3, 4, 5] +[1, 1, 3, 4, 5] +[1, 2, 3, 3, 5] +[1, 2, 3, 4, 5] + +Multi-dimensional arrays +[[0, 2, 4], [1, 3, 5], [2, 4, 6]] +[[0, 1, 2], [2, 3, 4], [4, 5, 6]] + +Objects: Basic cases +[(0, 1.0), (0, 2.0), (0, 3.0)] +[(2, 1.0), (2, 2.0), (4, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] + +Objects: Bad field accesses +[(2, 1.0), (3, 2.0), (4, 3.0)] +[(2, 1.0), (2, 2.0), (2, 3.0)] +[(2, 1.0), (3, 2.0), (1, 3.0)] + +Objects: Functions +[(2, 1.0), (4, 2.0), (6, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] +[(3, 1.0), (4, 2.0), (5, 3.0)] + +Dafny program verifier did not attempt verification +Arrays: Basic cases +[0, 1, 2, 3, 4] +[0, 1, 2, 3, 4] +[0, 1, 4, 3, 8] + +Arrays: Wrong index +[0, 0, 1, 2, 3] +[0, 0, 1, 2, 3] +[1, 2, 3, 4, 5] + +Arrays: Sequence conversion +[2, 1, 4, 5, 6] +[0, 3, 3, 3, 4] + +Arrays: Index collection +[1, 1, 2, 3, 4] +[1, 1, 2, 3, 4] + +Arrays: Functions +[1, 1, 3, 4, 5] +[1, 1, 3, 4, 5] +[1, 2, 3, 3, 5] +[1, 2, 3, 4, 5] + +Multi-dimensional arrays +[[0, 2, 4], [1, 3, 5], [2, 4, 6]] +[[0, 1, 2], [2, 3, 4], [4, 5, 6]] + +Objects: Basic cases +[(0, 1.0), (0, 2.0), (0, 3.0)] +[(2, 1.0), (2, 2.0), (4, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] + +Objects: Bad field accesses +[(2, 1.0), (3, 2.0), (4, 3.0)] +[(2, 1.0), (2, 2.0), (2, 3.0)] +[(2, 1.0), (3, 2.0), (1, 3.0)] + +Objects: Functions +[(2, 1.0), (4, 2.0), (6, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] +[(3, 1.0), (4, 2.0), (5, 3.0)] + +Dafny program verifier did not attempt verification Arrays: Basic cases [0, 1, 2, 3, 4] [0, 1, 2, 3, 4] diff --git a/Test/comp/Ghosts.dfy b/Test/comp/Ghosts.dfy index 8afe8a36d3f..506fe0facb1 100644 --- a/Test/comp/Ghosts.dfy +++ b/Test/comp/Ghosts.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method M1() returns (x: int) { diff --git a/Test/comp/Ghosts.dfy.expect b/Test/comp/Ghosts.dfy.expect index d075ea048c1..430a9c18fc0 100644 --- a/Test/comp/Ghosts.dfy.expect +++ b/Test/comp/Ghosts.dfy.expect @@ -1,3 +1,55 @@ + +Dafny program verifier finished with 8 verified, 0 errors + +Dafny program verifier did not attempt verification +hello, M2 +hello, M2 +hello, M3 +hello, M1 +hello, M1 +hello, M1 +hello, M2 +hello, M3 +hello, N0 +hello, N1 + +Dafny program verifier did not attempt verification +hello, M2 +hello, M2 +hello, M3 +hello, M1 +hello, M1 +hello, M1 +hello, M2 +hello, M3 +hello, N0 +hello, N1 + +Dafny program verifier did not attempt verification +hello, M2 +hello, M2 +hello, M3 +hello, M1 +hello, M1 +hello, M1 +hello, M2 +hello, M3 +hello, N0 +hello, N1 + +Dafny program verifier did not attempt verification +hello, M2 +hello, M2 +hello, M3 +hello, M1 +hello, M1 +hello, M1 +hello, M2 +hello, M3 +hello, N0 +hello, N1 + +Dafny program verifier did not attempt verification hello, M2 hello, M2 hello, M3 diff --git a/Test/comp/Let.dfy b/Test/comp/Let.dfy index 2a639009c78..64dce8b90e6 100644 --- a/Test/comp/Let.dfy +++ b/Test/comp/Let.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cs "%s" > "%t" +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method M() returns (x: int) { x := var y := 50; y; // non-top-level let diff --git a/Test/comp/Let.dfy.expect b/Test/comp/Let.dfy.expect index f05dfc414c1..667abc32458 100644 --- a/Test/comp/Let.dfy.expect +++ b/Test/comp/Let.dfy.expect @@ -1,3 +1,37 @@ + +Dafny program verifier finished with 5 verified, 0 errors +50 58 +Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) +5 7 9 10 12 30 +5 7 +5 7 +12.0 15.0 15.0 15.0 + +Dafny program verifier finished with 5 verified, 0 errors +50 58 +Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) +5 7 9 10 12 30 +5 7 +5 7 +12.0 15.0 15.0 15.0 + +Dafny program verifier finished with 5 verified, 0 errors +50 58 +Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) +5 7 9 10 12 30 +5 7 +5 7 +12.0 15.0 15.0 15.0 + +Dafny program verifier finished with 5 verified, 0 errors +50 58 +Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) +5 7 9 10 12 30 +5 7 +5 7 +12.0 15.0 15.0 15.0 + +Dafny program verifier finished with 5 verified, 0 errors 50 58 Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) 5 7 9 10 12 30 diff --git a/Test/comp/MoreAutoInit.dfy b/Test/comp/MoreAutoInit.dfy index c72083f1be5..46bdf7148f1 100644 --- a/Test/comp/MoreAutoInit.dfy +++ b/Test/comp/MoreAutoInit.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { Methods.TestStart(); diff --git a/Test/comp/MoreAutoInit.dfy.expect b/Test/comp/MoreAutoInit.dfy.expect index a077ee0daa9..e707d9ea27a 100644 --- a/Test/comp/MoreAutoInit.dfy.expect +++ b/Test/comp/MoreAutoInit.dfy.expect @@ -1,3 +1,575 @@ + +Dafny program verifier finished with 38 verified, 0 errors + +Dafny program verifier did not attempt verification +Methods.Uni.Uni + ++ Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +{} + ++ {} +[] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +Functions.Uni.Uni + ++ Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +{2} + ++ {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ** Consts.Uni.Uni ++ Consts.Uni.Uni +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ** Consts.Uni.Uni ++ Consts.Uni.Uni +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ** Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni +[] ++ [] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] + ** [] ++ [] +[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] + ** [] ++ [] +[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] +[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] + ++ [Consts.Uni.Uni] ++ [] + ** [] ++ [] ++ [] +15 +0-0 0.0-0.0 false-false 'D'-'D' 0 +0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 +0-0 0-0 0-0 0-0 1 1 +0.0-0.0 68.0 +null-null null-null null-null null-null +0 +0:0:0 +0-0 +{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] +DefaultValuedExpressions.Color.Red-DefaultValuedExpressions.Color.Red DefaultValuedExpressions.PossibleCell.Nothing-DefaultValuedExpressions.PossibleCell.Nothing DefaultValuedExpressions.Cell.LittleCell(0)-DefaultValuedExpressions.Cell.LittleCell(0) +()-() (0, 0.0)-(0, 0.0) +(DefaultValuedExpressions.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions.Color.Red, (0, 0.0), ()) +null-null null-null +0-0 0-0 0-0 3 4 5 +0-0 11 0-0 8 + +Dafny program verifier did not attempt verification +Methods.Uni.Uni + ++ Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +{} + ++ {} +[] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +Functions.Uni.Uni + ++ Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +{2} + ++ {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ** Consts.Uni.Uni ++ Consts.Uni.Uni +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ** Consts.Uni.Uni ++ Consts.Uni.Uni +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ** Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni +[] ++ [] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] + ** [] ++ [] +[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] + ** [] ++ [] +[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] +[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] + ++ [Consts.Uni.Uni] ++ [] + ** [] ++ [] ++ [] +15 +0-0 0.0-0.0 false-false 'D'-'D' 0 +0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 +0-0 0-0 0-0 0-0 1 1 +0.0-0.0 68.0 +null-null null-null null-null null-null +0 +0:0:0 +0-0 +{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] +DefaultValuedExpressions.Color.Red-DefaultValuedExpressions.Color.Red DefaultValuedExpressions.PossibleCell.Nothing-DefaultValuedExpressions.PossibleCell.Nothing DefaultValuedExpressions.Cell.LittleCell(0)-DefaultValuedExpressions.Cell.LittleCell(0) +()-() (0, 0.0)-(0, 0.0) +(DefaultValuedExpressions.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions.Color.Red, (0, 0.0), ()) +null-null null-null +0-0 0-0 0-0 3 4 5 +0-0 11 0-0 8 + +Dafny program verifier did not attempt verification +Methods.Uni.Uni + ++ Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +{} + ++ {} +[] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +Functions.Uni.Uni + ++ Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +{2} + ++ {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ** Consts.Uni.Uni ++ Consts.Uni.Uni +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ** Consts.Uni.Uni ++ Consts.Uni.Uni +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ** Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni +[] ++ [] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] + ** [] ++ [] +[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] + ** [] ++ [] +[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] +[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] + ++ [Consts.Uni.Uni] ++ [] + ** [] ++ [] ++ [] +15 +0-0 0.0-0.0 false-false 'D'-'D' 0 +0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 +0-0 0-0 0-0 0-0 1 1 +0.0-0.0 68.0 +null-null null-null null-null null-null +0 +0:0:0 +0-0 +{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] +DefaultValuedExpressions.Color.Red-DefaultValuedExpressions.Color.Red DefaultValuedExpressions.PossibleCell.Nothing-DefaultValuedExpressions.PossibleCell.Nothing DefaultValuedExpressions.Cell.LittleCell(0)-DefaultValuedExpressions.Cell.LittleCell(0) +()-() (0, 0.0)-(0, 0.0) +(DefaultValuedExpressions.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions.Color.Red, (0, 0.0), ()) +null-null null-null +0-0 0-0 0-0 3 4 5 +0-0 11 0-0 8 + +Dafny program verifier did not attempt verification +Methods.Uni.Uni + ++ Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +{} + ++ {} +[] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +Functions.Uni.Uni + ++ Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +{2} + ++ {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ** Consts.Uni.Uni ++ Consts.Uni.Uni +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ** Consts.Uni.Uni ++ Consts.Uni.Uni +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ** Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni +[] ++ [] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] + ** [] ++ [] +[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] + ** [] ++ [] +[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] +[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] + ++ [Consts.Uni.Uni] ++ [] + ** [] ++ [] ++ [] +15 +0-0 0.0-0.0 false-false 'D'-'D' 0 +0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 +0-0 0-0 0-0 0-0 1 1 +0.0-0.0 68.0 +null-null null-null null-null null-null +0 +0:0:0 +0-0 +{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] +DefaultValuedExpressions.Color.Red-DefaultValuedExpressions.Color.Red DefaultValuedExpressions.PossibleCell.Nothing-DefaultValuedExpressions.PossibleCell.Nothing DefaultValuedExpressions.Cell.LittleCell(0)-DefaultValuedExpressions.Cell.LittleCell(0) +()-() (0, 0.0)-(0, 0.0) +(DefaultValuedExpressions.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions.Color.Red, (0, 0.0), ()) +null-null null-null +0-0 0-0 0-0 3 4 5 +0-0 11 0-0 8 + +Dafny program verifier did not attempt verification Methods.Uni.Uni ++ Methods.Uni.Uni Methods.Uni.Uni Methods.Uni.Uni diff --git a/Test/comp/NativeNumbers.dfy b/Test/comp/NativeNumbers.dfy index e1fadb1c406..c63d02cf643 100644 --- a/Test/comp/NativeNumbers.dfy +++ b/Test/comp/NativeNumbers.dfy @@ -1,6 +1,11 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false // Skip JavaScript because JavaScript doesn't have the same native types +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { CastTests(); diff --git a/Test/comp/NativeNumbers.dfy.expect b/Test/comp/NativeNumbers.dfy.expect index 6a9d263fc73..2be030252cf 100644 --- a/Test/comp/NativeNumbers.dfy.expect +++ b/Test/comp/NativeNumbers.dfy.expect @@ -1,3 +1,259 @@ + +Dafny program verifier finished with 25 verified, 0 errors + +Dafny program verifier did not attempt verification +Casting: + +Small numbers: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 +5 5 5 5 5 5 5 5 5 +6 6 6 6 6 6 6 6 6 +7 7 7 7 7 7 7 7 7 +8 8 8 8 8 8 8 8 8 + +Large unsigned numbers: +255 255 255 255 255 255 255 255 +65535 65535 65535 65535 65535 65535 +4294967295 4294967295 4294967295 4294967295 +18446744073709551615 18446744073709551615 + +Int to large unsigned: +255 65535 4294967295 18446744073709551615 + +Cast from cardinality operator: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 + +Characters: +C 67 67 67 67 67 67 67 67 67 +0 127 32767 65535 65535 255 65535 65535 65535 + +Defaults: + +0 0 0 0 0 0 0 0 0 + +Byte arithmetic: + +20 30 +10 10 18 + +Short arithmetic: + +20 30 +10 10 18 + +Bitvectors: + +0 3 4 1 + +Comparison to zero: + +int8: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int16: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int32: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int64: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint8: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint16: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint32: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint64: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N + + +Dafny program verifier did not attempt verification +Casting: + +Small numbers: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 +5 5 5 5 5 5 5 5 5 +6 6 6 6 6 6 6 6 6 +7 7 7 7 7 7 7 7 7 +8 8 8 8 8 8 8 8 8 + +Large unsigned numbers: +255 255 255 255 255 255 255 255 +65535 65535 65535 65535 65535 65535 +4294967295 4294967295 4294967295 4294967295 +18446744073709551615 18446744073709551615 + +Int to large unsigned: +255 65535 4294967295 18446744073709551615 + +Cast from cardinality operator: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 + +Characters: +C 67 67 67 67 67 67 67 67 67 +0 127 32767 65535 65535 255 65535 65535 65535 + +Defaults: + +0 0 0 0 0 0 0 0 0 + +Byte arithmetic: + +20 30 +10 10 18 + +Short arithmetic: + +20 30 +10 10 18 + +Bitvectors: + +0 3 4 1 + +Comparison to zero: + +int8: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int16: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int32: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int64: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint8: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint16: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint32: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint64: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N + + +Dafny program verifier did not attempt verification +Casting: + +Small numbers: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 +5 5 5 5 5 5 5 5 5 +6 6 6 6 6 6 6 6 6 +7 7 7 7 7 7 7 7 7 +8 8 8 8 8 8 8 8 8 + +Large unsigned numbers: +255 255 255 255 255 255 255 255 +65535 65535 65535 65535 65535 65535 +4294967295 4294967295 4294967295 4294967295 +18446744073709551615 18446744073709551615 + +Int to large unsigned: +255 65535 4294967295 18446744073709551615 + +Cast from cardinality operator: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 + +Characters: +C 67 67 67 67 67 67 67 67 67 +0 127 32767 65535 65535 255 65535 65535 65535 + +Defaults: + +0 0 0 0 0 0 0 0 0 + +Byte arithmetic: + +20 30 +10 10 18 + +Short arithmetic: + +20 30 +10 10 18 + +Bitvectors: + +0 3 4 1 + +Comparison to zero: + +int8: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int16: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int32: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int64: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint8: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint16: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint32: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint64: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N + + +Dafny program verifier did not attempt verification Casting: Small numbers: diff --git a/Test/comp/NestedArrays.dfy b/Test/comp/NestedArrays.dfy index 39d256f4936..0c2b313a32c 100644 --- a/Test/comp/NestedArrays.dfy +++ b/Test/comp/NestedArrays.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %baredafny verify --relax-definite-assignment %args "%s" > "%t" +// RUN: %baredafny run --no-verify --target=cs %args "%s" >> "%t" +// RUN: %baredafny run --no-verify --target=js %args "%s" >> "%t" +// RUN: %baredafny run --no-verify --target=go %args "%s" >> "%t" +// RUN: %baredafny run --no-verify --target=py %args "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" /* Note, compiling to arrays in Java is difficult. In fact, this is currently * broken, see https://github.com/dafny-lang/dafny/issues/3055. Until this gets diff --git a/Test/comp/NestedArrays.dfy.expect b/Test/comp/NestedArrays.dfy.expect index aa47d0d46d4..a24d140b9d4 100644 --- a/Test/comp/NestedArrays.dfy.expect +++ b/Test/comp/NestedArrays.dfy.expect @@ -1,2 +1,18 @@ + +Dafny program verifier finished with 4 verified, 0 errors + +Dafny program verifier did not attempt verification +0 +0 + +Dafny program verifier did not attempt verification +0 +0 + +Dafny program verifier did not attempt verification +0 +0 + +Dafny program verifier did not attempt verification 0 0 diff --git a/Test/comp/Numbers.dfy b/Test/comp/Numbers.dfy index c76bc87fdc0..36bf24dcdb4 100644 --- a/Test/comp/Numbers.dfy +++ b/Test/comp/Numbers.dfy @@ -1,5 +1,10 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { Literals(); diff --git a/Test/comp/Numbers.dfy.expect b/Test/comp/Numbers.dfy.expect index 7eacf4e709d..8d994e1c7c6 100644 --- a/Test/comp/Numbers.dfy.expect +++ b/Test/comp/Numbers.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 59 verified, 0 errors + +Dafny program verifier did not attempt verification 0 0 3 @@ -109,3 +113,455 @@ true false true false false true false true true false true false 20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +g Q 2 +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +(312.0 / 40.0) (1248.0 / 40.0) +(-312.0 / 40.0) (-1248.0 / 40.0) +(-312.0 / 40.0) (1248.0 / 40.0) +(312.0 / 40.0) (-1248.0 / 40.0) +0.0 0.0 0.0 +120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) +123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 (8100.0 / 8100.0) +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +g Q 2 +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +g Q 2 +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +(312.0 / 40.0) (1248.0 / 40.0) +(-312.0 / 40.0) (-1248.0 / 40.0) +(-312.0 / 40.0) (1248.0 / 40.0) +(312.0 / 40.0) (-1248.0 / 40.0) +0.0 0.0 0.0 +120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) +123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 (8100.0 / 8100.0) +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +g Q 2 +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 diff --git a/Test/comp/Numbers.dfy.go.expect b/Test/comp/Numbers.dfy.go.expect deleted file mode 100644 index ce109553619..00000000000 --- a/Test/comp/Numbers.dfy.go.expect +++ /dev/null @@ -1,111 +0,0 @@ -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -g Q 2 -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 diff --git a/Test/comp/Numbers.dfy.py.expect b/Test/comp/Numbers.dfy.py.expect deleted file mode 100644 index ce109553619..00000000000 --- a/Test/comp/Numbers.dfy.py.expect +++ /dev/null @@ -1,111 +0,0 @@ -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -g Q 2 -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 diff --git a/Test/comp/Poly.dfy b/Test/comp/Poly.dfy index 5af5e8134e9..f3c3aa58599 100644 --- a/Test/comp/Poly.dfy +++ b/Test/comp/Poly.dfy @@ -1,5 +1,10 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" trait Shape { function Center(): (real, real) reads this diff --git a/Test/comp/Poly.dfy.expect b/Test/comp/Poly.dfy.expect index 7dc24821586..4ffff82d5ab 100644 --- a/Test/comp/Poly.dfy.expect +++ b/Test/comp/Poly.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 15 verified, 0 errors + +Dafny program verifier did not attempt verification Center of square: ((1.0 / 2.0), (1.0 / 2.0)) Center of circle: (1.0, 1.0) Center: ((1.0 / 2.0), (1.0 / 2.0)) @@ -10,3 +14,59 @@ Center: ((1.0 / 2.0), (1.0 / 2.0)) Center: (1.0, 1.0) Center: ((1.0 / 2.0), (1.0 / 2.0)) Center: (1.0, 1.0) + +Dafny program verifier did not attempt verification +Center of square: ((1.0 / 2.0), (1.0 / 2.0)) +Center of circle: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) + +Dafny program verifier did not attempt verification +Center of square: ((1.0 / 2.0), (1.0 / 2.0)) +Center of circle: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) + +Dafny program verifier did not attempt verification +Center of square: (0.5, 0.5) +Center of circle: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) + +Dafny program verifier did not attempt verification +Center of square: (0.5, 0.5) +Center of circle: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) diff --git a/Test/comp/Poly.dfy.go.expect b/Test/comp/Poly.dfy.go.expect deleted file mode 100644 index 88e09c5e6ff..00000000000 --- a/Test/comp/Poly.dfy.go.expect +++ /dev/null @@ -1,12 +0,0 @@ -Center of square: (0.5, 0.5) -Center of circle: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) diff --git a/Test/comp/Poly.dfy.py.expect b/Test/comp/Poly.dfy.py.expect deleted file mode 100644 index 88e09c5e6ff..00000000000 --- a/Test/comp/Poly.dfy.py.expect +++ /dev/null @@ -1,12 +0,0 @@ -Center of square: (0.5, 0.5) -Center of circle: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) diff --git a/Test/comp/StaticMembersOfGenericTypes.dfy b/Test/comp/StaticMembersOfGenericTypes.dfy index 8a8614d21a5..8c402dab951 100644 --- a/Test/comp/StaticMembersOfGenericTypes.dfy +++ b/Test/comp/StaticMembersOfGenericTypes.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { GenericClass(); diff --git a/Test/comp/StaticMembersOfGenericTypes.dfy.expect b/Test/comp/StaticMembersOfGenericTypes.dfy.expect index 196f1295e12..54e32b42ee5 100644 --- a/Test/comp/StaticMembersOfGenericTypes.dfy.expect +++ b/Test/comp/StaticMembersOfGenericTypes.dfy.expect @@ -1,3 +1,79 @@ + +Dafny program verifier finished with 9 verified, 0 errors + +Dafny program verifier did not attempt verification +(0, 1) (true, 2, 3) +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +(2.0, true) (3.0, false) +(2.0, true) (3.0, false) +true false +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +50 3 4 +149 + +Dafny program verifier did not attempt verification +(0, 1) (true, 2, 3) +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +(2.0, true) (3.0, false) +(2.0, true) (3.0, false) +true false +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +50 3 4 +149 + +Dafny program verifier did not attempt verification +(0, 1) (true, 2, 3) +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +(2.0, true) (3.0, false) +(2.0, true) (3.0, false) +true false +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +50 3 4 +149 + +Dafny program verifier did not attempt verification +(0, 1) (true, 2, 3) +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +(2.0, true) (3.0, false) +(2.0, true) (3.0, false) +true false +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +50 3 4 +149 + +Dafny program verifier did not attempt verification (0, 1) (true, 2, 3) 0 25 (20, 21) (20, 21) 23 22 0 25 (20, 21) (20, 21) 23 22 diff --git a/Test/comp/TailRecursion.dfy b/Test/comp/TailRecursion.dfy index b3631d5eccc..68ba6ee4669 100644 --- a/Test/comp/TailRecursion.dfy +++ b/Test/comp/TailRecursion.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { // In the following, 2_000_000 is too large an argument without tail-calls diff --git a/Test/comp/TailRecursion.dfy.expect b/Test/comp/TailRecursion.dfy.expect index 4b9da7e5093..23c852a41fe 100644 --- a/Test/comp/TailRecursion.dfy.expect +++ b/Test/comp/TailRecursion.dfy.expect @@ -1,3 +1,79 @@ + +Dafny program verifier finished with 28 verified, 0 errors + +Dafny program verifier did not attempt verification +2000000 2000000 +2000000 2000000 +1000000 1000000 +10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 +TriangleNumber(10) = 55 +TriangleNumber_Real(10) = 55.0 +TriangleNumber_ORDINAL(10) = 55 +Factorial(5) = 120 +Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] +UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] +Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 +TheBigSubtract(100) = -12 +TailNat(10) = 50 +17 17 17 +2000000 + +Dafny program verifier did not attempt verification +2000000 2000000 +2000000 2000000 +1000000 1000000 +10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 +TriangleNumber(10) = 55 +TriangleNumber_Real(10) = 55.0 +TriangleNumber_ORDINAL(10) = 55 +Factorial(5) = 120 +Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] +UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] +Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 +TheBigSubtract(100) = -12 +TailNat(10) = 50 +17 17 17 +2000000 + +Dafny program verifier did not attempt verification +2000000 2000000 +2000000 2000000 +1000000 1000000 +10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 +TriangleNumber(10) = 55 +TriangleNumber_Real(10) = 55.0 +TriangleNumber_ORDINAL(10) = 55 +Factorial(5) = 120 +Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] +UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] +Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 +TheBigSubtract(100) = -12 +TailNat(10) = 50 +17 17 17 +2000000 + +Dafny program verifier did not attempt verification +2000000 2000000 +2000000 2000000 +1000000 1000000 +10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 +TriangleNumber(10) = 55 +TriangleNumber_Real(10) = 55.0 +TriangleNumber_ORDINAL(10) = 55 +Factorial(5) = 120 +Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] +UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] +Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 +TheBigSubtract(100) = -12 +TailNat(10) = 50 +17 17 17 +2000000 + +Dafny program verifier did not attempt verification 2000000 2000000 2000000 2000000 1000000 1000000 diff --git a/Test/comp/TypeDescriptors.dfy b/Test/comp/TypeDescriptors.dfy index 5bedbb900e4..636cb3db583 100644 --- a/Test/comp/TypeDescriptors.dfy +++ b/Test/comp/TypeDescriptors.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Method(s: string, g: G) { var zero: G; diff --git a/Test/comp/TypeDescriptors.dfy.expect b/Test/comp/TypeDescriptors.dfy.expect index 1b09338c83d..9b1e8487bdc 100644 --- a/Test/comp/TypeDescriptors.dfy.expect +++ b/Test/comp/TypeDescriptors.dfy.expect @@ -1,3 +1,155 @@ + +Dafny program verifier finished with 11 verified, 0 errors + +Dafny program verifier did not attempt verification +int: 8 0 +bool: true false +char: 'r' 'D' +real: 1.618 0.0 +ORDINAL: 0 +bv0: 0 0 +bv21: 121 0 +bv32: 132 0 +bv191: 191 0 +set: {7} {} +multiset: multiset{7, 7} multiset{} +seq: [7] [] +map: map[2 := 7] map[] +pos: 3 1 +Hundred: 6 0 +HundredOdd: 13 19 +JustOdd: 131 5 +(): () () +(int, real): (2, 3.2) (0, 0.0) +(int, pos): (2, 3) (0, 1) +AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) +Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) +Stream: Stream.More +A=int: 15 0 +B=int: 16 0 +datatype.B=: {14} {} +object?: null +Class?>: null +Trait?>: null +array?: null +array2?: null +int --> bool: null +array? ~> bool: null + +Dafny program verifier did not attempt verification +int: 8 0 +bool: true false +char: 'r' 'D' +real: 1.618 0.0 +ORDINAL: 0 +bv0: 0 0 +bv21: 121 0 +bv32: 132 0 +bv191: 191 0 +set: {7} {} +multiset: multiset{7, 7} multiset{} +seq: [7] [] +map: map[2 := 7] map[] +pos: 3 1 +Hundred: 6 0 +HundredOdd: 13 19 +JustOdd: 131 5 +(): () () +(int, real): (2, 3.2) (0, 0.0) +(int, pos): (2, 3) (0, 1) +AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) +Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) +Stream: Stream.More +A=int: 15 0 +B=int: 16 0 +datatype.B=: {14} {} +object?: null +Class?>: null +Trait?>: null +array?: null +array2?: null +int --> bool: null +array? ~> bool: null + +Dafny program verifier did not attempt verification +int: 8 0 +bool: true false +char: 'r' 'D' +real: 1.618 0.0 +ORDINAL: 0 +bv0: 0 0 +bv21: 121 0 +bv32: 132 0 +bv191: 191 0 +set: {7} {} +multiset: multiset{7, 7} multiset{} +seq: [7] [] +map: map[2 := 7] map[] +pos: 3 1 +Hundred: 6 0 +HundredOdd: 13 19 +JustOdd: 131 5 +(): () () +(int, real): (2, 3.2) (0, 0.0) +(int, pos): (2, 3) (0, 1) +AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) +Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) +Stream: Stream.More +A=int: 15 0 +B=int: 16 0 +datatype.B=: {14} {} +object?: null +Class?>: null +Trait?>: null +array?: null +array2?: null +int --> bool: null +array? ~> bool: null + +Dafny program verifier did not attempt verification +int: 8 0 +bool: true false +char: 'r' 'D' +real: 1.618 0.0 +ORDINAL: 0 +bv0: 0 0 +bv21: 121 0 +bv32: 132 0 +bv191: 191 0 +set: {7} {} +multiset: multiset{7, 7} multiset{} +seq: [7] [] +map: map[2 := 7] map[] +pos: 3 1 +Hundred: 6 0 +HundredOdd: 13 19 +JustOdd: 131 5 +(): () () +(int, real): (2, 3.2) (0, 0.0) +(int, pos): (2, 3) (0, 1) +AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) +Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) +Stream: Stream.More +A=int: 15 0 +B=int: 16 0 +datatype.B=: {14} {} +object?: null +Class?>: null +Trait?>: null +array?: null +array2?: null +int --> bool: null +array? ~> bool: null + +Dafny program verifier did not attempt verification int: 8 0 bool: true false char: 'r' 'D' diff --git a/Test/comp/TypeParams.dfy b/Test/comp/TypeParams.dfy index c595881e028..11d1b3bac6a 100644 --- a/Test/comp/TypeParams.dfy +++ b/Test/comp/TypeParams.dfy @@ -1,6 +1,11 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation - +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" + +// RUN: %diff "%s.expect" "%t" datatype Color = Orange | Pink | Teal type Six = x | x <= 6 diff --git a/Test/comp/TypeParams.dfy.expect b/Test/comp/TypeParams.dfy.expect index 1381a030f65..ac8ef1c58e5 100644 --- a/Test/comp/TypeParams.dfy.expect +++ b/Test/comp/TypeParams.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 17 verified, 0 errors + +Dafny program verifier did not attempt verification 0 0 0 false Color.Orange 0.0 {} Color.Orange null null null null null {} multiset{} [] map[] {} map[] @@ -17,3 +21,87 @@ System.Func`2[Dafny.BigRational,System.Boolean] System.Func`1[System.Numerics.BigInteger] System.Func`3[_module._IColor,Dafny.ISet`1[System.UInt16],System.UInt32] 0 0 + +Dafny program verifier did not attempt verification +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +function () { return false; } +function () { return _dafny.ZERO; } +function () { return _dafny.ZERO; } +0 0 + +Dafny program verifier did not attempt verification +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +func(dafny.Real) bool +func() dafny.Int +func(main.Color, dafny.Set) uint32 +0 0 + +Dafny program verifier did not attempt verification +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +Function +Function +Function +0 0 + +Dafny program verifier did not attempt verification +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +Function +Function +Function +0 0 diff --git a/Test/comp/TypeParams.dfy.go.expect b/Test/comp/TypeParams.dfy.go.expect deleted file mode 100644 index e3a8e67d066..00000000000 --- a/Test/comp/TypeParams.dfy.go.expect +++ /dev/null @@ -1,19 +0,0 @@ -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -func(dafny.Real) bool -func() dafny.Int -func(main.Color, dafny.Set) uint32 -0 0 diff --git a/Test/comp/TypeParams.dfy.java.expect b/Test/comp/TypeParams.dfy.java.expect deleted file mode 100644 index 5f843ba06d1..00000000000 --- a/Test/comp/TypeParams.dfy.java.expect +++ /dev/null @@ -1,19 +0,0 @@ -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -Function -Function -Function -0 0 diff --git a/Test/comp/TypeParams.dfy.js.expect b/Test/comp/TypeParams.dfy.js.expect deleted file mode 100644 index 865c33ea48b..00000000000 --- a/Test/comp/TypeParams.dfy.js.expect +++ /dev/null @@ -1,19 +0,0 @@ -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -function () { return false; } -function () { return _dafny.ZERO; } -function () { return _dafny.ZERO; } -0 0 diff --git a/Test/comp/TypeParams.dfy.py.expect b/Test/comp/TypeParams.dfy.py.expect deleted file mode 100644 index 5f843ba06d1..00000000000 --- a/Test/comp/TypeParams.dfy.py.expect +++ /dev/null @@ -1,19 +0,0 @@ -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -Function -Function -Function -0 0 diff --git a/Test/comp/UnoptimizedErasableTypeWrappers.dfy b/Test/comp/UnoptimizedErasableTypeWrappers.dfy index b7911aed9db..58f0682ed41 100644 --- a/Test/comp/UnoptimizedErasableTypeWrappers.dfy +++ b/Test/comp/UnoptimizedErasableTypeWrappers.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --optimize-erasable-datatype-wrapper:false --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype SingletonRecord = SingletonRecord(u: int) datatype WithGhost = WithGhost(u: int, ghost v: int) diff --git a/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect b/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect index 3371376a52b..be1d7190b0f 100644 --- a/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect +++ b/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect @@ -1,3 +1,31 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification +SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) +() (30) (31) (30, 32) +15 20 +30 31 30 32 + +Dafny program verifier did not attempt verification +SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) +() (30) (31) (30, 32) +15 20 +30 31 30 32 + +Dafny program verifier did not attempt verification +SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) +() (30) (31) (30, 32) +15 20 +30 31 30 32 + +Dafny program verifier did not attempt verification +SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) +() (30) (31) (30, 32) +15 20 +30 31 30 32 + +Dafny program verifier did not attempt verification SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) () (30) (31) (30, 32) 15 20 diff --git a/Test/comp/Variance.dfy b/Test/comp/Variance.dfy index ddcde6cd7d7..6c198495209 100644 --- a/Test/comp/Variance.dfy +++ b/Test/comp/Variance.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --warn-deprecation:false +// RUN: %dafny /compile:0 /deprecation:0 "%s" > "%t" +// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Co<+T> = Co(z: T) { const x: int; diff --git a/Test/comp/Variance.dfy.expect b/Test/comp/Variance.dfy.expect index 5bb565b6bb4..cf08d82ac07 100644 --- a/Test/comp/Variance.dfy.expect +++ b/Test/comp/Variance.dfy.expect @@ -1,3 +1,67 @@ + +Dafny program verifier finished with 13 verified, 0 errors + +Dafny program verifier did not attempt verification +Co.Co(_module.Int) and Co.Co(_module.Int) +true0[]0000 +Non.Non(_module.Int) and Non.Non(_module.Int) +true0[]0000 +0 and 0 +_module.Int0[]0000 +CCo.CCo and CCo.CCo +true0[]0000 +CNon.CNon and CNon.CNon +true0[]0000 +CCon.CCon and CCon.CCon +_module.Int0[]0000 +Done + +Dafny program verifier did not attempt verification +Co.Co(_module.Int) and Co.Co(_module.Int) +true0[]0000 +Non.Non(_module.Int) and Non.Non(_module.Int) +true0[]0000 +0 and 0 +_module.Int0[]0000 +CCo.CCo and CCo.CCo +true0[]0000 +CNon.CNon and CNon.CNon +true0[]0000 +CCon.CCon and CCon.CCon +_module.Int0[]0000 +Done + +Dafny program verifier did not attempt verification +Co.Co(_module.Int) and Co.Co(_module.Int) +true0[]0000 +Non.Non(_module.Int) and Non.Non(_module.Int) +true0[]0000 +0 and 0 +_module.Int0[]0000 +CCo.CCo and CCo.CCo +true0[]0000 +CNon.CNon and CNon.CNon +true0[]0000 +CCon.CCon and CCon.CCon +_module.Int0[]0000 +Done + +Dafny program verifier did not attempt verification +Co.Co(_module.Int) and Co.Co(_module.Int) +true0[]0000 +Non.Non(_module.Int) and Non.Non(_module.Int) +true0[]0000 +0 and 0 +_module.Int0[]0000 +CCo.CCo and CCo.CCo +true0[]0000 +CNon.CNon and CNon.CNon +true0[]0000 +CCon.CCon and CCon.CCon +_module.Int0[]0000 +Done + +Dafny program verifier did not attempt verification Co.Co(_module.Int) and Co.Co(_module.Int) true0[]0000 Non.Non(_module.Int) and Non.Non(_module.Int) diff --git a/Test/comp/Various.dfy b/Test/comp/Various.dfy index 502801e4c2a..1f29c511a83 100644 --- a/Test/comp/Various.dfy +++ b/Test/comp/Various.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Match(tp: (nat, nat)) { match tp diff --git a/Test/comp/Various.dfy.expect b/Test/comp/Various.dfy.expect index 66f013c00f7..502e2d04792 100644 --- a/Test/comp/Various.dfy.expect +++ b/Test/comp/Various.dfy.expect @@ -1,3 +1,43 @@ + +Dafny program verifier finished with 4 verified, 0 errors + +Dafny program verifier did not attempt verification +match +1 +Kablammo!! +0 +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] + +Dafny program verifier did not attempt verification +match +1 +Kablammo!! +0 +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] + +Dafny program verifier did not attempt verification +match +1 +Kablammo!! +0 +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] + +Dafny program verifier did not attempt verification +match +1 +Kablammo!! +0 +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] + +Dafny program verifier did not attempt verification match 1 Kablammo!! diff --git a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy index 2cf77360cab..10fe57dec8f 100644 --- a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy +++ b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // An extremely small program intended to be the first target input for // brand new Dafny compilers. Avoids any use of strings (and therefore sequences) diff --git a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect index f32a5804e29..e1dcaef650b 100644 --- a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect +++ b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect @@ -1 +1,5 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification true \ No newline at end of file diff --git a/Test/comp/firstSteps/1_Calls-F.dfy b/Test/comp/firstSteps/1_Calls-F.dfy index 4fe5b83e551..32566f59f3b 100644 --- a/Test/comp/firstSteps/1_Calls-F.dfy +++ b/Test/comp/firstSteps/1_Calls-F.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/1_Calls-F.dfy.expect b/Test/comp/firstSteps/1_Calls-F.dfy.expect index 7ed6ff82de6..58e0a68ec1c 100644 --- a/Test/comp/firstSteps/1_Calls-F.dfy.expect +++ b/Test/comp/firstSteps/1_Calls-F.dfy.expect @@ -1 +1,5 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification 5 diff --git a/Test/comp/firstSteps/2_Modules.dfy b/Test/comp/firstSteps/2_Modules.dfy index d0effcb5a71..750b8d60c21 100644 --- a/Test/comp/firstSteps/2_Modules.dfy +++ b/Test/comp/firstSteps/2_Modules.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" module A { const i: nat := 1 diff --git a/Test/comp/firstSteps/2_Modules.dfy.expect b/Test/comp/firstSteps/2_Modules.dfy.expect index b85905ec0b9..9a4b57459c7 100644 --- a/Test/comp/firstSteps/2_Modules.dfy.expect +++ b/Test/comp/firstSteps/2_Modules.dfy.expect @@ -1 +1,5 @@ + +Dafny program verifier finished with 3 verified, 0 errors + +Dafny program verifier did not attempt verification 1 2 3 diff --git a/Test/comp/firstSteps/3_Calls-As.dfy b/Test/comp/firstSteps/3_Calls-As.dfy index 38889421865..f22bbdbd3f6 100644 --- a/Test/comp/firstSteps/3_Calls-As.dfy +++ b/Test/comp/firstSteps/3_Calls-As.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/3_Calls-As.dfy.expect b/Test/comp/firstSteps/3_Calls-As.dfy.expect index a1c59bb761f..eea6c52592c 100644 --- a/Test/comp/firstSteps/3_Calls-As.dfy.expect +++ b/Test/comp/firstSteps/3_Calls-As.dfy.expect @@ -1 +1,5 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification 0 0 false 0 false 0 diff --git a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy index 6a66781ff0d..89fb669dca0 100644 --- a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy +++ b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect index a8d09f0a6f5..e7498a27e3e 100644 --- a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect +++ b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect @@ -1,2 +1,6 @@ + +Dafny program verifier finished with 3 verified, 0 errors + +Dafny program verifier did not attempt verification 5 3 5 3 5 3 5 3 diff --git a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy index 1175b1eca8f..096523f8956 100644 --- a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy +++ b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect index ef3de96e567..8954da2b386 100644 --- a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect +++ b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect @@ -1,2 +1,6 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification 5 3 5 3 diff --git a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy index 5d970ac4de5..1fbaebdf4e9 100644 --- a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy +++ b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect index 4ff62e33956..b6ffe78bcbb 100644 --- a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect +++ b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 4 verified, 0 errors + +Dafny program verifier did not attempt verification 15 [0, 1, 2, 4] [0, 2, 4] diff --git a/Test/comp/firstSteps/7_Arrays.dfy b/Test/comp/firstSteps/7_Arrays.dfy index d02c942c9bb..07ddf89594b 100644 --- a/Test/comp/firstSteps/7_Arrays.dfy +++ b/Test/comp/firstSteps/7_Arrays.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // This fragment of comp/Arrays.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/7_Arrays.dfy.expect b/Test/comp/firstSteps/7_Arrays.dfy.expect index fa00285c692..75e824c80bb 100644 --- a/Test/comp/firstSteps/7_Arrays.dfy.expect +++ b/Test/comp/firstSteps/7_Arrays.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 7 verified, 0 errors + +Dafny program verifier did not attempt verification 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/comp/firstSteps/7_Dt_Algebraic.dfy b/Test/comp/firstSteps/7_Dt_Algebraic.dfy index 46a2995b37f..991462d8bdf 100644 --- a/Test/comp/firstSteps/7_Dt_Algebraic.dfy +++ b/Test/comp/firstSteps/7_Dt_Algebraic.dfy @@ -1,5 +1,7 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // This fragment of comp/Dt.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect deleted file mode 100644 index ba1b72ea6f7..00000000000 --- a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect +++ /dev/null @@ -1,11 +0,0 @@ -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} -42 'q' hello -1701 diff --git a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect index e3ff7faba6e..ec9b49fe420 100644 --- a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect +++ b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 7 verified, 0 errors + +Dafny program verifier did not attempt verification List.Nil List.Cons(5, List.Nil) (List.Nil, List.Cons(5, List.Nil)) @@ -9,3 +13,16 @@ List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, Li {Berry.Hallon, Berry.Smultron, Berry.Jordgubb} 42 'q' hello 1701 + +Dafny program verifier did not attempt verification +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} +42 'q' hello +1701 diff --git a/Test/dafny0/ArrayElementInitCompile.dfy b/Test/dafny0/ArrayElementInitCompile.dfy index 3714cf0fe8e..7d652486b9e 100644 --- a/Test/dafny0/ArrayElementInitCompile.dfy +++ b/Test/dafny0/ArrayElementInitCompile.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 /print:"%t.print" /rprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny0/ArrayElementInitCompile.dfy.expect b/Test/dafny0/ArrayElementInitCompile.dfy.expect index eaa3e759999..a5241c75f19 100644 --- a/Test/dafny0/ArrayElementInitCompile.dfy.expect +++ b/Test/dafny0/ArrayElementInitCompile.dfy.expect @@ -1,3 +1,79 @@ + +Dafny program verifier finished with 18 verified, 0 errors + +Dafny program verifier did not attempt verification +67 67 67 67 67 67 67 67 +0 1 2 3 +1 2 3 4 +2 3 4 5 +3 4 5 6 +4 5 6 7 +O . O . O . O . O . O . +12 12 12 12 12 12 12 12 12 12 12 12 +D E +y z +4 3 +7 +100 75 98 25 + +looks like this rocks +-2 -1 0 1 2 3 4 + +Dafny program verifier did not attempt verification +67 67 67 67 67 67 67 67 +0 1 2 3 +1 2 3 4 +2 3 4 5 +3 4 5 6 +4 5 6 7 +O . O . O . O . O . O . +12 12 12 12 12 12 12 12 12 12 12 12 +D E +y z +4 3 +7 +100 75 98 25 + +looks like this rocks +-2 -1 0 1 2 3 4 + +Dafny program verifier did not attempt verification +67 67 67 67 67 67 67 67 +0 1 2 3 +1 2 3 4 +2 3 4 5 +3 4 5 6 +4 5 6 7 +O . O . O . O . O . O . +12 12 12 12 12 12 12 12 12 12 12 12 +D E +y z +4 3 +7 +100 75 98 25 + +looks like this rocks +-2 -1 0 1 2 3 4 + +Dafny program verifier did not attempt verification +67 67 67 67 67 67 67 67 +0 1 2 3 +1 2 3 4 +2 3 4 5 +3 4 5 6 +4 5 6 7 +O . O . O . O . O . O . +12 12 12 12 12 12 12 12 12 12 12 12 +D E +y z +4 3 +7 +100 75 98 25 + +looks like this rocks +-2 -1 0 1 2 3 4 + +Dafny program verifier did not attempt verification 67 67 67 67 67 67 67 67 0 1 2 3 1 2 3 4 diff --git a/Test/dafny0/Bitvectors.dfy b/Test/dafny0/Bitvectors.dfy index 4c8e1094455..6e0c9270b99 100644 --- a/Test/dafny0/Bitvectors.dfy +++ b/Test/dafny0/Bitvectors.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /print:"%t.print" /env:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // Note the difference in Java output is due to // https://github.com/dafny-lang/dafny/issues/4152 diff --git a/Test/dafny0/Bitvectors.dfy.expect b/Test/dafny0/Bitvectors.dfy.expect index ed1c7328e83..51fda88f97b 100644 --- a/Test/dafny0/Bitvectors.dfy.expect +++ b/Test/dafny0/Bitvectors.dfy.expect @@ -1,3 +1,52 @@ + +Dafny program verifier finished with 11 verified, 0 errors + +Dafny program verifier did not attempt verification +4000 4000 4000 0 +1 2053 1099 +185 55 +2 4 +Comparisons: true true false false +bv16: 5 - 2 == 3 +bv16: 1 - 2 == 65535 +3 2 +0 0 +false true true false +bv67: 147573952589676412927 + 3 == 2 - 3 == 147573952589676412925 !! 3 == ! 147573952589676412924 == 3 +bv64: 18446744073709551615 + 3 == 2 - 3 == 18446744073709551613 !! 3 == ! 18446744073709551612 == 3 +bv53: 9007199254740991 + 3 == 2 - 3 == 9007199254740989 !! 3 == ! 9007199254740988 == 3 +bv33: 8589934591 + 3 == 2 - 3 == 8589934589 !! 3 == ! 8589934588 == 3 +bv32: 4294967295 + 3 == 2 - 3 == 4294967293 !! 3 == ! 4294967292 == 3 +bv31: 2147483647 + 3 == 2 - 3 == 2147483645 !! 3 == ! 2147483644 == 3 +bv16: 65535 + 3 == 2 - 3 == 65533 !! 3 == ! 65532 == 3 +bv15: 32767 + 3 == 2 - 3 == 32765 !! 3 == ! 32764 == 3 +bv8: 255 + 3 == 2 - 3 == 253 !! 3 == ! 252 == 3 +bv6: 63 + 3 == 2 - 3 == 61 !! 3 == ! 60 == 3 +bv1: 1 + 1 == 0 - 1 == 1 !! 1 == ! 0 == 1 +bv0: 0 + 0 == 0 - 0 == 0 !! 0 == ! 0 == 0 +bv2: + 3 + 2 == 1 + 3 - 2 == 1 + 3 * 2 == 2 + 3 / 2 == 1 + 3 % 2 == 1 +PrintShifts: bv67: 5 40 40 40 +PrintShifts: bv32: 5 40 40 40 +PrintShifts: bv7: 5 40 40 40 +PrintShifts: bv2: 1 2 2 2 +PrintShifts: bv0: 0 0 0 0 +PrintShifts: bv67 again: 2 2 2 73786976294838206465 +PrintShifts: bv32 again: 8000 8000 2147487648 3221227472 +PrintShifts: bv7 again: 124 124 124 127 +PrintShifts: bv0 again: 0 0 0 0 +PrintRotates: bv12: 5 5 +PrintRotates: bv7: 5 5 +PrintRotates: bv2: 1 1 +PrintRotates: bv0: 0 0 +PrintRotates: bv12 again: 976 976 +PrintRotates: bv7 again: 127 127 + +Dafny program verifier did not attempt verification 4000 4000 4000 0 1 2053 1099 185 55 diff --git a/Test/dafny0/Constant.dfy b/Test/dafny0/Constant.dfy index 1fdeedc3335..f021e7d4482 100644 --- a/Test/dafny0/Constant.dfy +++ b/Test/dafny0/Constant.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" const one:int := 1 const two:int := one * 2 diff --git a/Test/dafny0/Constant.dfy.expect b/Test/dafny0/Constant.dfy.expect index 1a7b981715f..6099b08c38c 100644 --- a/Test/dafny0/Constant.dfy.expect +++ b/Test/dafny0/Constant.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 17 verified, 0 errors one := 1 two := 2 three := 3 diff --git a/Test/dafny0/Deprecation.dfy b/Test/dafny0/Deprecation.dfy index 86521043d43..8c9c688d463 100644 --- a/Test/dafny0/Deprecation.dfy +++ b/Test/dafny0/Deprecation.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // This file contains tests for messags about various deprecated features. // As those features go away completely, so can the corresponding tests. diff --git a/Test/dafny0/Deprecation.dfy.expect b/Test/dafny0/Deprecation.dfy.expect index 0dffd975ac7..4ff88d31ade 100644 --- a/Test/dafny0/Deprecation.dfy.expect +++ b/Test/dafny0/Deprecation.dfy.expect @@ -1 +1,8 @@ +Deprecation.dfy(16,13): Warning: constructors no longer need 'this' to be listed in modifies clauses +Deprecation.dfy(23,0): Warning: the old keyword phrase 'inductive predicate' has been renamed to 'least predicate' +Deprecation.dfy(26,0): Warning: the old keyword 'copredicate' has been renamed to the keyword phrase 'greatest predicate' +Deprecation.dfy(29,0): Warning: the old keyword phrase 'inductive lemma' has been renamed to 'least lemma' +Deprecation.dfy(32,0): Warning: the old keyword 'colemma' has been renamed to the keyword phrase 'greatest lemma' + +Dafny program verifier finished with 0 verified, 0 errors yet here we are diff --git a/Test/dafny0/Deprecation.dfy.verifier.expect b/Test/dafny0/Deprecation.dfy.verifier.expect deleted file mode 100644 index c0851e9888c..00000000000 --- a/Test/dafny0/Deprecation.dfy.verifier.expect +++ /dev/null @@ -1,5 +0,0 @@ -Deprecation.dfy(15,13): Warning: constructors no longer need 'this' to be listed in modifies clauses -Deprecation.dfy(22,0): Warning: the old keyword phrase 'inductive predicate' has been renamed to 'least predicate' -Deprecation.dfy(25,0): Warning: the old keyword 'copredicate' has been renamed to the keyword phrase 'greatest predicate' -Deprecation.dfy(28,0): Warning: the old keyword phrase 'inductive lemma' has been renamed to 'least lemma' -Deprecation.dfy(31,0): Warning: the old keyword 'colemma' has been renamed to the keyword phrase 'greatest lemma' diff --git a/Test/dafny0/DiscoverBounds.dfy b/Test/dafny0/DiscoverBounds.dfy index 18e56158613..31f9717ee79 100644 --- a/Test/dafny0/DiscoverBounds.dfy +++ b/Test/dafny0/DiscoverBounds.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /print:"%t.print" /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype NT = x | 0 <= x < 100 newtype UT = NT diff --git a/Test/dafny0/DiscoverBounds.dfy.expect b/Test/dafny0/DiscoverBounds.dfy.expect index 909a58326d0..e43954c7be1 100644 --- a/Test/dafny0/DiscoverBounds.dfy.expect +++ b/Test/dafny0/DiscoverBounds.dfy.expect @@ -1,3 +1,10 @@ +DiscoverBounds.dfy(32,7): Warning: /!\ No terms found to trigger on. +DiscoverBounds.dfy(33,7): Warning: /!\ No terms found to trigger on. +DiscoverBounds.dfy(34,7): Warning: /!\ No terms found to trigger on. +DiscoverBounds.dfy(35,7): Warning: /!\ No terms found to trigger on. +DiscoverBounds.dfy(36,7): Warning: /!\ No terms found to trigger on. + +Dafny program verifier finished with 7 verified, 0 errors 0 0 -2 diff --git a/Test/dafny0/DiscoverBounds.dfy.verifier.expect b/Test/dafny0/DiscoverBounds.dfy.verifier.expect deleted file mode 100644 index 7c4de01ee0e..00000000000 --- a/Test/dafny0/DiscoverBounds.dfy.verifier.expect +++ /dev/null @@ -1,5 +0,0 @@ -DiscoverBounds.dfy(31,7): Warning: /!\ No terms found to trigger on. -DiscoverBounds.dfy(32,7): Warning: /!\ No terms found to trigger on. -DiscoverBounds.dfy(33,7): Warning: /!\ No terms found to trigger on. -DiscoverBounds.dfy(34,7): Warning: /!\ No terms found to trigger on. -DiscoverBounds.dfy(35,7): Warning: /!\ No terms found to trigger on. diff --git a/Test/dafny0/DividedConstructors.dfy b/Test/dafny0/DividedConstructors.dfy index e6f63a35f11..169bf4ee7df 100644 --- a/Test/dafny0/DividedConstructors.dfy +++ b/Test/dafny0/DividedConstructors.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /env:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var m := new M0.MyClass.Init(20); diff --git a/Test/dafny0/DividedConstructors.dfy.expect b/Test/dafny0/DividedConstructors.dfy.expect index 2dcc1ba6402..eaa3ed7d379 100644 --- a/Test/dafny0/DividedConstructors.dfy.expect +++ b/Test/dafny0/DividedConstructors.dfy.expect @@ -1,2 +1,5 @@ +DividedConstructors.dfy(62,9): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier finished with 17 verified, 0 errors 37, 17, 3.14 false, true diff --git a/Test/dafny0/DividedConstructors.dfy.verifier.expect b/Test/dafny0/DividedConstructors.dfy.verifier.expect deleted file mode 100644 index f3fdfadddbf..00000000000 --- a/Test/dafny0/DividedConstructors.dfy.verifier.expect +++ /dev/null @@ -1 +0,0 @@ -DividedConstructors.dfy(61,9): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny0/EqualityTypesCompile.dfy b/Test/dafny0/EqualityTypesCompile.dfy index a36d1818c1d..de7954710e9 100644 --- a/Test/dafny0/EqualityTypesCompile.dfy +++ b/Test/dafny0/EqualityTypesCompile.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype List = Nil | Cons(A, List) | ICons(int, List) datatype TwoLists = Two(List, List) diff --git a/Test/dafny0/EqualityTypesCompile.dfy.expect b/Test/dafny0/EqualityTypesCompile.dfy.expect index 0246dc39633..d2f1950e7f7 100644 --- a/Test/dafny0/EqualityTypesCompile.dfy.expect +++ b/Test/dafny0/EqualityTypesCompile.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 1 verified, 0 errors from M: false from N: false from H: false diff --git a/Test/dafny0/ForallCompilationNewSyntax.dfy b/Test/dafny0/ForallCompilationNewSyntax.dfy index ac354d6338c..b7132df78ae 100644 --- a/Test/dafny0/ForallCompilationNewSyntax.dfy +++ b/Test/dafny0/ForallCompilationNewSyntax.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --quantifier-syntax:4 --relax-definite-assignment +// RUN: %baredafny run %args --relax-definite-assignment --quantifier-syntax:4 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var c := new MyClass; diff --git a/Test/dafny0/ForallCompilationNewSyntax.dfy.expect b/Test/dafny0/ForallCompilationNewSyntax.dfy.expect index e69de29bb2d..5b7ec4613bb 100644 --- a/Test/dafny0/ForallCompilationNewSyntax.dfy.expect +++ b/Test/dafny0/ForallCompilationNewSyntax.dfy.expect @@ -0,0 +1,6 @@ +ForallCompilationNewSyntax.dfy(26,4): Warning: /!\ No terms found to trigger on. +ForallCompilationNewSyntax.dfy(35,4): Warning: /!\ No terms found to trigger on. +ForallCompilationNewSyntax.dfy(44,4): Warning: /!\ No terms found to trigger on. +ForallCompilationNewSyntax.dfy(64,4): Warning: /!\ No trigger covering all quantified variables found. + +Dafny program verifier finished with 14 verified, 0 errors diff --git a/Test/dafny0/ForallCompilationNewSyntax.dfy.verifier.expect b/Test/dafny0/ForallCompilationNewSyntax.dfy.verifier.expect deleted file mode 100644 index a94cd5ea608..00000000000 --- a/Test/dafny0/ForallCompilationNewSyntax.dfy.verifier.expect +++ /dev/null @@ -1,4 +0,0 @@ -ForallCompilationNewSyntax.dfy(25,4): Warning: /!\ No terms found to trigger on. -ForallCompilationNewSyntax.dfy(34,4): Warning: /!\ No terms found to trigger on. -ForallCompilationNewSyntax.dfy(43,4): Warning: /!\ No terms found to trigger on. -ForallCompilationNewSyntax.dfy(63,4): Warning: /!\ No trigger covering all quantified variables found. diff --git a/Test/dafny0/GhostITECompilation.dfy b/Test/dafny0/GhostITECompilation.dfy index bd7cfa28a95..d761ddbc6ea 100644 --- a/Test/dafny0/GhostITECompilation.dfy +++ b/Test/dafny0/GhostITECompilation.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --function-syntax:4 --relax-definite-assignment +// RUN: %dafny /compile:0 /functionSyntax:4 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" function F(x: nat, ghost y: nat): nat { diff --git a/Test/dafny0/GhostITECompilation.dfy.expect b/Test/dafny0/GhostITECompilation.dfy.expect index b4988e5cf11..1ec406bf52c 100644 --- a/Test/dafny0/GhostITECompilation.dfy.expect +++ b/Test/dafny0/GhostITECompilation.dfy.expect @@ -1,3 +1,31 @@ + +Dafny program verifier finished with 6 verified, 0 errors + +Dafny program verifier did not attempt verification +65 +65 +65 +65 + +Dafny program verifier did not attempt verification +65 +65 +65 +65 + +Dafny program verifier did not attempt verification +65 +65 +65 +65 + +Dafny program verifier did not attempt verification +65 +65 +65 +65 + +Dafny program verifier did not attempt verification 65 65 65 diff --git a/Test/dafny0/InitialValues.dfy b/Test/dafny0/InitialValues.dfy index 0848d244d71..7dcb05cc9c9 100644 --- a/Test/dafny0/InitialValues.dfy +++ b/Test/dafny0/InitialValues.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny0/InitialValues.dfy.expect b/Test/dafny0/InitialValues.dfy.expect index 18903dcc3dd..ada1b783c16 100644 --- a/Test/dafny0/InitialValues.dfy.expect +++ b/Test/dafny0/InitialValues.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 2 verified, 0 errors r= 0.0 s= 3.4 a= 0.0 b= 3.4 z= 0.0 a==z = true diff --git a/Test/dafny0/MatchBraces.dfy b/Test/dafny0/MatchBraces.dfy index 4ac380f2739..ddd1924774b 100644 --- a/Test/dafny0/MatchBraces.dfy +++ b/Test/dafny0/MatchBraces.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /print:"%t.print" /env:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Color = Red | Green | Blue diff --git a/Test/dafny0/MatchBraces.dfy.expect b/Test/dafny0/MatchBraces.dfy.expect index 4f89bff47e5..88f6cf4f56e 100644 --- a/Test/dafny0/MatchBraces.dfy.expect +++ b/Test/dafny0/MatchBraces.dfy.expect @@ -1,2 +1,10 @@ + +Dafny program verifier finished with 5 verified, 0 errors + +Dafny program verifier did not attempt verification +7 0.18 Color.Red 13 12 +11 98.0 Color.Green 14 115 + +Dafny program verifier did not attempt verification 7 0.18 Color.Red 13 12 11 98.0 Color.Green 14 115 diff --git a/Test/dafny0/MoForallCompilation.dfy b/Test/dafny0/MoForallCompilation.dfy index af080853463..835712edbce 100644 --- a/Test/dafny0/MoForallCompilation.dfy +++ b/Test/dafny0/MoForallCompilation.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { TestAggregateArrayUpdate(); diff --git a/Test/dafny0/MoForallCompilation.dfy.expect b/Test/dafny0/MoForallCompilation.dfy.expect index 7bb606c1528..c431c74c6aa 100644 --- a/Test/dafny0/MoForallCompilation.dfy.expect +++ b/Test/dafny0/MoForallCompilation.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 18 verified, 0 errors -4.0 -3.0 -2.0 -1.0 0.0 1.0 2.0 3.0 7.0 6.0 5.0 4.0 3.0 2.0 1.0 0.0 true true true true true true false false diff --git a/Test/dafny0/NameclashesCompile.dfy b/Test/dafny0/NameclashesCompile.dfy index 46cae4b2338..4d06065c675 100644 --- a/Test/dafny0/NameclashesCompile.dfy +++ b/Test/dafny0/NameclashesCompile.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var r0, r1; diff --git a/Test/dafny0/NameclashesCompile.dfy.expect b/Test/dafny0/NameclashesCompile.dfy.expect index f001bdaeb1e..1434bb632f6 100644 --- a/Test/dafny0/NameclashesCompile.dfy.expect +++ b/Test/dafny0/NameclashesCompile.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 2 verified, 0 errors 15.0 15.1 94 99 0.8 14.3 14.4 18.9 18.92 diff --git a/Test/dafny0/NonZeroInitializationCompile.dfy b/Test/dafny0/NonZeroInitializationCompile.dfy index 2fedae6d60d..48b61a39369 100644 --- a/Test/dafny0/NonZeroInitializationCompile.dfy +++ b/Test/dafny0/NonZeroInitializationCompile.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" type MyInt = x | 6 <= x witness 6 newtype MyNewInt = x | 6 <= x witness 12 diff --git a/Test/dafny0/NonZeroInitializationCompile.dfy.expect b/Test/dafny0/NonZeroInitializationCompile.dfy.expect index c682dccf3fc..72b333efb85 100644 --- a/Test/dafny0/NonZeroInitializationCompile.dfy.expect +++ b/Test/dafny0/NonZeroInitializationCompile.dfy.expect @@ -1,3 +1,76 @@ + +Dafny program verifier finished with 15 verified, 0 errors + +Dafny program verifier did not attempt verification +These are the arbitrary values chosen by the compiler: 6, 12 +short, short': 0, -35 +nes: {57} +f0, f1: (0, false), (29, true) +dt: Dt.Atom(-35) +cl { u: 12, x: 0, r: 3.14, nes: {57} } +cl' { u: 12, x: 0, ': 3.14, nes: {20, 57} } + +x: real :: 0.0 versus 0.0 +ch: char :: 'D' versus 'D' +s: set :: {} versus {} +d: Xt :: AdvancedZeroInitialization.Xt.MakeXt(0, []) versus AdvancedZeroInitialization.Xt.MakeXt(0, []) +y: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, []) versus AdvancedZeroInitialization.Yt.MakeYt(0, []) +z: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization.Yt.MakeYt(0, 0) + +x: real :: 0.0 versus 0.0 +ch: char :: 'D' versus 'D' +s: set :: {} versus {} +d: Xt :: AdvancedZeroInitialization.Xt.MakeXt(0, []) versus AdvancedZeroInitialization.Xt.MakeXt(0, []) +y: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, []) versus AdvancedZeroInitialization.Yt.MakeYt(0, []) +z: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization.Yt.MakeYt(0, 0) + +Dafny program verifier did not attempt verification +These are the arbitrary values chosen by the compiler: 6, 12 +short, short': 0, -35 +nes: {57} +f0, f1: (0, false), (29, true) +dt: Dt.Atom(-35) +cl { u: 12, x: 0, r: 3.14, nes: {57} } +cl' { u: 12, x: 0, ': 3.14, nes: {20, 57} } + +x: real :: 0.0 versus 0.0 +ch: char :: 'D' versus 'D' +s: set :: {} versus {} +d: Xt :: AdvancedZeroInitialization.Xt.MakeXt(0, []) versus AdvancedZeroInitialization.Xt.MakeXt(0, []) +y: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, []) versus AdvancedZeroInitialization.Yt.MakeYt(0, []) +z: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization.Yt.MakeYt(0, 0) + +x: real :: 0.0 versus 0.0 +ch: char :: 'D' versus 'D' +s: set :: {} versus {} +d: Xt :: AdvancedZeroInitialization.Xt.MakeXt(0, []) versus AdvancedZeroInitialization.Xt.MakeXt(0, []) +y: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, []) versus AdvancedZeroInitialization.Yt.MakeYt(0, []) +z: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization.Yt.MakeYt(0, 0) + +Dafny program verifier did not attempt verification +These are the arbitrary values chosen by the compiler: 6, 12 +short, short': 0, -35 +nes: {57} +f0, f1: (0, false), (29, true) +dt: Dt.Atom(-35) +cl { u: 12, x: 0, r: 3.14, nes: {57} } +cl' { u: 12, x: 0, ': 3.14, nes: {20, 57} } + +x: real :: 0.0 versus 0.0 +ch: char :: 'D' versus 'D' +s: set :: {} versus {} +d: Xt :: AdvancedZeroInitialization.Xt.MakeXt(0, []) versus AdvancedZeroInitialization.Xt.MakeXt(0, []) +y: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, []) versus AdvancedZeroInitialization.Yt.MakeYt(0, []) +z: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization.Yt.MakeYt(0, 0) + +x: real :: 0.0 versus 0.0 +ch: char :: 'D' versus 'D' +s: set :: {} versus {} +d: Xt :: AdvancedZeroInitialization.Xt.MakeXt(0, []) versus AdvancedZeroInitialization.Xt.MakeXt(0, []) +y: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, []) versus AdvancedZeroInitialization.Yt.MakeYt(0, []) +z: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization.Yt.MakeYt(0, 0) + +Dafny program verifier did not attempt verification These are the arbitrary values chosen by the compiler: 6, 12 short, short': 0, -35 nes: {57} diff --git a/Test/dafny0/NullComparisonWarnings.dfy b/Test/dafny0/NullComparisonWarnings.dfy index 35fd5ffb3f4..eb9183040bc 100644 --- a/Test/dafny0/NullComparisonWarnings.dfy +++ b/Test/dafny0/NullComparisonWarnings.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { print "despite the warnings, the program still compiles\n"; diff --git a/Test/dafny0/NullComparisonWarnings.dfy.expect b/Test/dafny0/NullComparisonWarnings.dfy.expect index f2b4545fac7..d8cf4a9960c 100644 --- a/Test/dafny0/NullComparisonWarnings.dfy.expect +++ b/Test/dafny0/NullComparisonWarnings.dfy.expect @@ -1 +1,14 @@ +NullComparisonWarnings.dfy(27,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(28,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'y' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(29,14): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for field 'next' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(30,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(31,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'y' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(32,14): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for field 'next' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(34,12): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(37,12): Warning: the type of the other operand is a set of non-null elements, so the inclusion test of 'null' will always return 'false' +NullComparisonWarnings.dfy(38,12): Warning: the type of the other operand is a set of non-null elements, so the non-inclusion test of 'null' will always return 'true' +NullComparisonWarnings.dfy(40,41): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'u' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(45,12): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' + +Dafny program verifier finished with 4 verified, 0 errors despite the warnings, the program still compiles diff --git a/Test/dafny0/NullComparisonWarnings.dfy.verifier.expect b/Test/dafny0/NullComparisonWarnings.dfy.verifier.expect deleted file mode 100644 index 24f9074ecc9..00000000000 --- a/Test/dafny0/NullComparisonWarnings.dfy.verifier.expect +++ /dev/null @@ -1,11 +0,0 @@ -NullComparisonWarnings.dfy(26,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(27,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'y' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(28,14): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for field 'next' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(29,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(30,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'y' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(31,14): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for field 'next' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(33,12): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(36,12): Warning: the type of the other operand is a set of non-null elements, so the inclusion test of 'null' will always return 'false' -NullComparisonWarnings.dfy(37,12): Warning: the type of the other operand is a set of non-null elements, so the non-inclusion test of 'null' will always return 'true' -NullComparisonWarnings.dfy(39,41): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'u' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(44,12): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' diff --git a/Test/dafny0/PrintUTF8.dfy b/Test/dafny0/PrintUTF8.dfy index eff7baa32a9..5d4e376b19d 100644 --- a/Test/dafny0/PrintUTF8.dfy +++ b/Test/dafny0/PrintUTF8.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { print "Mikaël fixed UTF8\n"; diff --git a/Test/dafny0/PrintUTF8.dfy.expect b/Test/dafny0/PrintUTF8.dfy.expect index 818549280d3..52a23e906cc 100644 --- a/Test/dafny0/PrintUTF8.dfy.expect +++ b/Test/dafny0/PrintUTF8.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 0 verified, 0 errors Mikaël fixed UTF8 diff --git a/Test/dafny0/RangeCompilation.dfy b/Test/dafny0/RangeCompilation.dfy index 3f3e6aed0f8..53a8d6e33e5 100644 --- a/Test/dafny0/RangeCompilation.dfy +++ b/Test/dafny0/RangeCompilation.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype Byte = x | 0 <= x < 256 predicate GoodByte(b: Byte) { diff --git a/Test/dafny0/RangeCompilation.dfy.expect b/Test/dafny0/RangeCompilation.dfy.expect index 9e0f9e5f028..82fbbb9b698 100644 --- a/Test/dafny0/RangeCompilation.dfy.expect +++ b/Test/dafny0/RangeCompilation.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 4 verified, 0 errors b=2 i=4 diff --git a/Test/dafny0/SeqFromArray.dfy b/Test/dafny0/SeqFromArray.dfy index 39f72303d18..6bab732c906 100644 --- a/Test/dafny0/SeqFromArray.dfy +++ b/Test/dafny0/SeqFromArray.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // /autoTriggers:1 added to suppress instabilities diff --git a/Test/dafny0/SeqFromArray.dfy.expect b/Test/dafny0/SeqFromArray.dfy.expect index e69de29bb2d..1981561ca00 100644 --- a/Test/dafny0/SeqFromArray.dfy.expect +++ b/Test/dafny0/SeqFromArray.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 10 verified, 0 errors diff --git a/Test/dafny0/SharedDestructorsCompile.dfy b/Test/dafny0/SharedDestructorsCompile.dfy index 64d8b245b58..8171cf72404 100644 --- a/Test/dafny0/SharedDestructorsCompile.dfy +++ b/Test/dafny0/SharedDestructorsCompile.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Dt = | A(x: int, y: real) diff --git a/Test/dafny0/SharedDestructorsCompile.dfy.expect b/Test/dafny0/SharedDestructorsCompile.dfy.expect index 060d152d77b..e037db03c40 100644 --- a/Test/dafny0/SharedDestructorsCompile.dfy.expect +++ b/Test/dafny0/SharedDestructorsCompile.dfy.expect @@ -1,3 +1,20 @@ + +Dafny program verifier finished with 3 verified, 0 errors + +Dafny program verifier did not attempt verification +Dt.A(10, 12.0): x=10 y=12.0 +Dt.B(_module.MyClass, 6): h=_module.MyClass x=6 +Dt.C(3.14): y=3.14 +Dt.C(3.14) +Dt.A(71, 0.1) +Klef.C3(44, 100, 66, 200) +Datte.AA(10, 2) Datte.AA(10, 5) +Datte.BB(false, 12) Datte.BB(false, 6) +Datte.CC(3.2) Datte.CC(3.4) +Datte.DD(100, {7}, 5, 9.0) Datte.DD(30, {7}, 5, 9.0) +Datte.DD(100, {7}, 5, 9.0) Datte.DD(30, {7}, 5, 2.0) + +Dafny program verifier did not attempt verification Dt.A(10, 12.0): x=10 y=12.0 Dt.B(_module.MyClass, 6): h=_module.MyClass x=6 Dt.C(3.14): y=3.14 diff --git a/Test/dafny0/SiblingImports.dfy b/Test/dafny0/SiblingImports.dfy index 756e4b253f3..3fb01d9d1b8 100644 --- a/Test/dafny0/SiblingImports.dfy +++ b/Test/dafny0/SiblingImports.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { ClientA.Test(); diff --git a/Test/dafny0/SiblingImports.dfy.expect b/Test/dafny0/SiblingImports.dfy.expect index fb6171563ac..ba4df82a925 100644 --- a/Test/dafny0/SiblingImports.dfy.expect +++ b/Test/dafny0/SiblingImports.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 1 verified, 0 errors ClientA.Inner.Five: 5 ClientB.Inner.Five: 5 ClientC.Inner.Five: 5 diff --git a/Test/dafny0/TypeConversionsCompile.dfy b/Test/dafny0/TypeConversionsCompile.dfy index 5b1e32b9258..90075fb74a8 100644 --- a/Test/dafny0/TypeConversionsCompile.dfy +++ b/Test/dafny0/TypeConversionsCompile.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /env:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Note the difference in output in Java's case is due to // https://github.com/dafny-lang/dafny/issues/4152 diff --git a/Test/dafny0/TypeConversionsCompile.dfy.expect b/Test/dafny0/TypeConversionsCompile.dfy.expect index 78990cf4a30..893938a0226 100644 --- a/Test/dafny0/TypeConversionsCompile.dfy.expect +++ b/Test/dafny0/TypeConversionsCompile.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 8 verified, 0 errors 3 4 5.0 5 6 -1.0 147573952589676412927 4294967295 127 0 got 3, expected 3 got 0, expected 0 diff --git a/Test/dafny0/TypeMembers.dfy b/Test/dafny0/TypeMembers.dfy index f2bea4039c9..2ab57767ad5 100644 --- a/Test/dafny0/TypeMembers.dfy +++ b/Test/dafny0/TypeMembers.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { BasicTests(); diff --git a/Test/dafny0/TypeMembers.dfy.expect b/Test/dafny0/TypeMembers.dfy.expect index 923cb07e841..1d406ca85dc 100644 --- a/Test/dafny0/TypeMembers.dfy.expect +++ b/Test/dafny0/TypeMembers.dfy.expect @@ -1,3 +1,32 @@ +TypeMembers.dfy(117,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect + +Dafny program verifier finished with 29 verified, 0 errors +TypeMembers.dfy(117,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect + +Dafny program verifier did not attempt verification +DaTy.Yes 10 26 +8 11 10 11 10 +35 10 14 +22 22 +9 Dt.Business(false, 5) +76 77 +19 +0 0 +19 82 83 +93 Co.Cobalt +27 27 +18 +11 18 18 22 +15 30 29 +95 11 +162 165 +11 18 18 3 +15 30 29 +95 11 +162 165 +TypeMembers.dfy(117,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect + +Dafny program verifier did not attempt verification DaTy.Yes 10 26 8 11 10 11 10 35 10 14 diff --git a/Test/dafny0/TypeMembers.dfy.verifier.expect b/Test/dafny0/TypeMembers.dfy.verifier.expect deleted file mode 100644 index 62f55c943d2..00000000000 --- a/Test/dafny0/TypeMembers.dfy.verifier.expect +++ /dev/null @@ -1 +0,0 @@ -TypeMembers.dfy(114,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect diff --git a/Test/dafny0/Wellfounded.dfy b/Test/dafny0/Wellfounded.dfy index 7ec2be06b38..2ed488974c6 100644 --- a/Test/dafny0/Wellfounded.dfy +++ b/Test/dafny0/Wellfounded.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var d := Int(10); diff --git a/Test/dafny0/Wellfounded.dfy.expect b/Test/dafny0/Wellfounded.dfy.expect index 52742a67098..73d7a1e7ca2 100644 --- a/Test/dafny0/Wellfounded.dfy.expect +++ b/Test/dafny0/Wellfounded.dfy.expect @@ -1,3 +1,7 @@ +Wellfounded.dfy(49,14): Warning: /!\ No terms found to trigger on. +Wellfounded.dfy(77,5): Warning: /!\ No terms found to trigger on. + +Dafny program verifier finished with 3 verified, 0 errors M(d, d) = 10 M(a1, d) = 10 M(a2, d) = 10 diff --git a/Test/dafny0/Wellfounded.dfy.verifier.expect b/Test/dafny0/Wellfounded.dfy.verifier.expect deleted file mode 100644 index e61f12f01b2..00000000000 --- a/Test/dafny0/Wellfounded.dfy.verifier.expect +++ /dev/null @@ -1,2 +0,0 @@ -Wellfounded.dfy(48,14): Warning: /!\ No terms found to trigger on. -Wellfounded.dfy(76,5): Warning: /!\ No terms found to trigger on. diff --git a/Test/dafny2/MinWindowMax.dfy b/Test/dafny2/MinWindowMax.dfy index 32342cdd8b9..71ccb539d7d 100644 --- a/Test/dafny2/MinWindowMax.dfy +++ b/Test/dafny2/MinWindowMax.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Minimum window-max problem. // Rustan Leino diff --git a/Test/dafny2/MinWindowMax.dfy.expect b/Test/dafny2/MinWindowMax.dfy.expect index 1bb5609994e..f6f6e52d9bc 100644 --- a/Test/dafny2/MinWindowMax.dfy.expect +++ b/Test/dafny2/MinWindowMax.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 12 verified, 0 errors Window size 1: min window-max is -5 Window size 2: min window-max is 2 Window size 3: min window-max is 3 diff --git a/Test/dafny2/SmallestMissingNumber-functional.dfy b/Test/dafny2/SmallestMissingNumber-functional.dfy index a1544efab5f..047475c2680 100644 --- a/Test/dafny2/SmallestMissingNumber-functional.dfy +++ b/Test/dafny2/SmallestMissingNumber-functional.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Smallest missing number problem, functional version without duplicates. // A purely functional solution to the programming problem in Richard Bird's diff --git a/Test/dafny2/SmallestMissingNumber-functional.dfy.expect b/Test/dafny2/SmallestMissingNumber-functional.dfy.expect index 5d75da8ddd3..208b183ee3e 100644 --- a/Test/dafny2/SmallestMissingNumber-functional.dfy.expect +++ b/Test/dafny2/SmallestMissingNumber-functional.dfy.expect @@ -1 +1,4 @@ +SmallestMissingNumber-functional.dfy(213,11): Warning: /!\ No terms found to trigger on. + +Dafny program verifier finished with 21 verified, 0 errors 0 1 4 5 diff --git a/Test/dafny2/SmallestMissingNumber-functional.dfy.verifier.expect b/Test/dafny2/SmallestMissingNumber-functional.dfy.verifier.expect deleted file mode 100644 index cf10280f376..00000000000 --- a/Test/dafny2/SmallestMissingNumber-functional.dfy.verifier.expect +++ /dev/null @@ -1 +0,0 @@ -SmallestMissingNumber-functional.dfy(212,11): Warning: /!\ No terms found to trigger on. diff --git a/Test/dafny2/SmallestMissingNumber-imperative.dfy b/Test/dafny2/SmallestMissingNumber-imperative.dfy index 314bf4e464c..b8539481a54 100644 --- a/Test/dafny2/SmallestMissingNumber-imperative.dfy +++ b/Test/dafny2/SmallestMissingNumber-imperative.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Smallest missing number. // An imperative solution to the programming problem in Richard Bird's diff --git a/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect b/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect index cfb25913041..bc4a868fdff 100644 --- a/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect +++ b/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 8 verified, 0 errors 0 1 5 diff --git a/Test/dafny2/StoreAndRetrieve.dfy b/Test/dafny2/StoreAndRetrieve.dfy index f19239e234a..99a72697a71 100644 --- a/Test/dafny2/StoreAndRetrieve.dfy +++ b/Test/dafny2/StoreAndRetrieve.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // This file shows an example program that uses both refinement and :autocontracts // specify a class that stores a set of things that can be retrieved using a query. diff --git a/Test/dafny2/StoreAndRetrieve.dfy.expect b/Test/dafny2/StoreAndRetrieve.dfy.expect index 030f5bfab39..1d7d71d5202 100644 --- a/Test/dafny2/StoreAndRetrieve.dfy.expect +++ b/Test/dafny2/StoreAndRetrieve.dfy.expect @@ -1 +1,39 @@ +StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier finished with 19 verified, 0 errors +StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +20.3 +StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +20.3 +StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +20.3 +StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification 20.3 diff --git a/Test/dafny2/StoreAndRetrieve.dfy.verifier.expect b/Test/dafny2/StoreAndRetrieve.dfy.verifier.expect deleted file mode 100644 index 0c3d269cdc1..00000000000 --- a/Test/dafny2/StoreAndRetrieve.dfy.verifier.expect +++ /dev/null @@ -1,5 +0,0 @@ -StoreAndRetrieve.dfy(60,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(65,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(66,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(81,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(92,9): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny2/pq-intrinsic-extrinsic.dfy b/Test/dafny2/pq-intrinsic-extrinsic.dfy index 588c2f9e2b1..c797c92445d 100644 --- a/Test/dafny2/pq-intrinsic-extrinsic.dfy +++ b/Test/dafny2/pq-intrinsic-extrinsic.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // This file contains several versions of a priority queue implemented by Braun trees: // diff --git a/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect b/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect index 5c90c26e0eb..bc2608f44b7 100644 --- a/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect +++ b/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect @@ -1,3 +1,14 @@ + +Dafny program verifier finished with 32 verified, 0 errors + +Dafny program verifier did not attempt verification +PriorityQueue_extrinsic: 3 +PriorityQueue_layered: 3 +PriorityQueue_intrinsic: 3 +PriorityQueue_on_intrinsic: 3 +PriorityQueue_direct: 3 + +Dafny program verifier did not attempt verification PriorityQueue_extrinsic: 3 PriorityQueue_layered: 3 PriorityQueue_intrinsic: 3 diff --git a/Test/dafny3/Abstemious.dfy b/Test/dafny3/Abstemious.dfy index 62d891f950f..263c1f1fb00 100644 --- a/Test/dafny3/Abstemious.dfy +++ b/Test/dafny3/Abstemious.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Examples from https://www.haskell.org/tutorial/functions.html diff --git a/Test/dafny3/Abstemious.dfy.expect b/Test/dafny3/Abstemious.dfy.expect index 3511a04a840..96f109b0b58 100644 --- a/Test/dafny3/Abstemious.dfy.expect +++ b/Test/dafny3/Abstemious.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 19 verified, 0 errors ones(): 1 1 1 1 1 1 1 ... from(3): 3 4 5 6 7 8 9 ... Map(plus1, ones()): 2 2 2 2 2 2 2 ... diff --git a/Test/dafny3/CachedContainer.dfy b/Test/dafny3/CachedContainer.dfy index e36e76d6851..77c3e45897f 100644 --- a/Test/dafny3/CachedContainer.dfy +++ b/Test/dafny3/CachedContainer.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // This file contains an example chain of module refinements, starting from a // simple interface M0 to an implementation M3. Module Client.Test() is diff --git a/Test/dafny3/CachedContainer.dfy.expect b/Test/dafny3/CachedContainer.dfy.expect index ed2a587c3f1..08f4fb30b0a 100644 --- a/Test/dafny3/CachedContainer.dfy.expect +++ b/Test/dafny3/CachedContainer.dfy.expect @@ -1 +1,79 @@ +CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier finished with 29 verified, 0 errors +CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +false true false true +CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +false true false true +CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +false true false true +CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification false true false true diff --git a/Test/dafny3/CachedContainer.dfy.verifier.expect b/Test/dafny3/CachedContainer.dfy.verifier.expect deleted file mode 100644 index a037bc94ff6..00000000000 --- a/Test/dafny3/CachedContainer.dfy.verifier.expect +++ /dev/null @@ -1,13 +0,0 @@ -CachedContainer.dfy(112,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(119,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(122,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(129,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(132,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(153,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(154,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(162,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(163,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(166,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(178,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(179,13): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny3/Iter.dfy b/Test/dafny3/Iter.dfy index 46befa24dd8..81431f2c64b 100644 --- a/Test/dafny3/Iter.dfy +++ b/Test/dafny3/Iter.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" class List { ghost var Contents: seq diff --git a/Test/dafny3/Iter.dfy.expect b/Test/dafny3/Iter.dfy.expect index 0ed11070541..69d7373d5d5 100644 --- a/Test/dafny3/Iter.dfy.expect +++ b/Test/dafny3/Iter.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 12 verified, 0 errors 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 98 0 2 4 6 8 10 12 14 diff --git a/Test/dafny4/Ackermann.dfy b/Test/dafny4/Ackermann.dfy index a4ef351c96b..27968070e9b 100644 --- a/Test/dafny4/Ackermann.dfy +++ b/Test/dafny4/Ackermann.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Rustan Leino, 8 Sep 2015. // This file proves that the Ackermann function is monotonic in each argument diff --git a/Test/dafny4/Ackermann.dfy.expect b/Test/dafny4/Ackermann.dfy.expect index 43d9513ef4b..c995dac9c9a 100644 --- a/Test/dafny4/Ackermann.dfy.expect +++ b/Test/dafny4/Ackermann.dfy.expect @@ -1 +1,5 @@ +Ackermann.dfy(163,4): Warning: /!\ No terms found to trigger on. +Ackermann.dfy(181,4): Warning: /!\ No terms found to trigger on. + +Dafny program verifier finished with 14 verified, 0 errors Ack(3, 4) = 125 diff --git a/Test/dafny4/Ackermann.dfy.verifier.expect b/Test/dafny4/Ackermann.dfy.verifier.expect deleted file mode 100644 index b302e2b4daf..00000000000 --- a/Test/dafny4/Ackermann.dfy.verifier.expect +++ /dev/null @@ -1,2 +0,0 @@ -Ackermann.dfy(162,4): Warning: /!\ No terms found to trigger on. -Ackermann.dfy(180,4): Warning: /!\ No terms found to trigger on. diff --git a/Test/dafny4/Bug107.dfy b/Test/dafny4/Bug107.dfy index b7ab69c9a8d..e417fc90a53 100644 --- a/Test/dafny4/Bug107.dfy +++ b/Test/dafny4/Bug107.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny4/Bug107.dfy.expect b/Test/dafny4/Bug107.dfy.expect index 62f9457511f..ad79213a18c 100644 --- a/Test/dafny4/Bug107.dfy.expect +++ b/Test/dafny4/Bug107.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 1 verified, 0 errors 6 \ No newline at end of file diff --git a/Test/dafny4/Bug108.dfy b/Test/dafny4/Bug108.dfy index 8228fe44f87..c64ec32a340 100644 --- a/Test/dafny4/Bug108.dfy +++ b/Test/dafny4/Bug108.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var A := map[0 := 1]; diff --git a/Test/dafny4/Bug108.dfy.expect b/Test/dafny4/Bug108.dfy.expect index 0777a01b26d..c1c63f6c5c1 100644 --- a/Test/dafny4/Bug108.dfy.expect +++ b/Test/dafny4/Bug108.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 1 verified, 0 errors map[0 := 1] map[0 := 1] diff --git a/Test/dafny4/Bug113.dfy b/Test/dafny4/Bug113.dfy index 0bec0c1ce31..23c759540cd 100644 --- a/Test/dafny4/Bug113.dfy +++ b/Test/dafny4/Bug113.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype D = D(q:int, r:int, s:int, t:int) @@ -6,4 +7,4 @@ method Main() { print D(10, 20, 30, 40); print "\n"; -} +} \ No newline at end of file diff --git a/Test/dafny4/Bug113.dfy.expect b/Test/dafny4/Bug113.dfy.expect index e2eeff32e9a..3ea1396ad00 100644 --- a/Test/dafny4/Bug113.dfy.expect +++ b/Test/dafny4/Bug113.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 0 verified, 0 errors D.D(10, 20, 30, 40) diff --git a/Test/dafny4/Bug140.dfy b/Test/dafny4/Bug140.dfy index 8280db8f665..edde966c149 100644 --- a/Test/dafny4/Bug140.dfy +++ b/Test/dafny4/Bug140.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" class Node { ghost var List: seq diff --git a/Test/dafny4/Bug140.dfy.expect b/Test/dafny4/Bug140.dfy.expect index a40ee1166fb..bad48de4d6b 100644 --- a/Test/dafny4/Bug140.dfy.expect +++ b/Test/dafny4/Bug140.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 8 verified, 0 errors 1 2 diff --git a/Test/dafny4/Bug148.dfy b/Test/dafny4/Bug148.dfy index f31cef2cdc8..da1ebf99447 100644 --- a/Test/dafny4/Bug148.dfy +++ b/Test/dafny4/Bug148.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny4/Bug148.dfy.expect b/Test/dafny4/Bug148.dfy.expect index 9ed6ca4768b..79d02517ceb 100644 --- a/Test/dafny4/Bug148.dfy.expect +++ b/Test/dafny4/Bug148.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 0 verified, 0 errors true false true diff --git a/Test/dafny4/Bug49.dfy b/Test/dafny4/Bug49.dfy index 868f4a3964b..68722830422 100644 --- a/Test/dafny4/Bug49.dfy +++ b/Test/dafny4/Bug49.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny4/Bug49.dfy.expect b/Test/dafny4/Bug49.dfy.expect index 800c2bd15ba..4e02a08bbee 100644 --- a/Test/dafny4/Bug49.dfy.expect +++ b/Test/dafny4/Bug49.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 13 verified, 0 errors 6 6 5 diff --git a/Test/dafny4/Bug60.dfy b/Test/dafny4/Bug60.dfy index f4585753f5f..0aa9209269d 100644 --- a/Test/dafny4/Bug60.dfy +++ b/Test/dafny4/Bug60.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // This method can be used to test compilation. method Main() diff --git a/Test/dafny4/Bug60.dfy.expect b/Test/dafny4/Bug60.dfy.expect index fd56dc3fcbc..49740e95682 100644 --- a/Test/dafny4/Bug60.dfy.expect +++ b/Test/dafny4/Bug60.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 0 verified, 0 errors ({2, 3}, map[2 := 20, 3 := 30]) (2, 2) {2, 3} diff --git a/Test/dafny4/Bug67.dfy b/Test/dafny4/Bug67.dfy index f01d4239a75..731018a293b 100644 --- a/Test/dafny4/Bug67.dfy +++ b/Test/dafny4/Bug67.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype d = D(m:seq) @@ -7,4 +8,4 @@ method Main() assert D([10, 20]) == D([10, 20]); // succeeds print [10, 20] == [10, 20], "\n"; // prints True print D([10, 20]) == D([10, 20]); // prints False -} +} \ No newline at end of file diff --git a/Test/dafny4/Bug67.dfy.expect b/Test/dafny4/Bug67.dfy.expect index 0be5d980da4..c716cab3144 100644 --- a/Test/dafny4/Bug67.dfy.expect +++ b/Test/dafny4/Bug67.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 1 verified, 0 errors true true \ No newline at end of file diff --git a/Test/dafny4/Bug68.dfy b/Test/dafny4/Bug68.dfy index bf50015f90c..a211206acba 100644 --- a/Test/dafny4/Bug68.dfy +++ b/Test/dafny4/Bug68.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method M1() { @@ -61,4 +62,4 @@ method Main() M3(); M3'(); M4(); -} +} \ No newline at end of file diff --git a/Test/dafny4/Bug68.dfy.expect b/Test/dafny4/Bug68.dfy.expect index 814ccfee2df..f4ef534187d 100644 --- a/Test/dafny4/Bug68.dfy.expect +++ b/Test/dafny4/Bug68.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 8 verified, 0 errors true true true diff --git a/Test/dafny4/Bug89.dfy b/Test/dafny4/Bug89.dfy index c7b77b44f99..4aec1acb8b7 100644 --- a/Test/dafny4/Bug89.dfy +++ b/Test/dafny4/Bug89.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method F() returns(x:int) ensures x == 6 diff --git a/Test/dafny4/Bug89.dfy.expect b/Test/dafny4/Bug89.dfy.expect index 62f9457511f..ed41c274352 100644 --- a/Test/dafny4/Bug89.dfy.expect +++ b/Test/dafny4/Bug89.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors 6 \ No newline at end of file diff --git a/Test/dafny4/Bug94.dfy b/Test/dafny4/Bug94.dfy index c41458539fc..be931445654 100644 --- a/Test/dafny4/Bug94.dfy +++ b/Test/dafny4/Bug94.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" ghost function foo() : (int, int) { diff --git a/Test/dafny4/Bug94.dfy.expect b/Test/dafny4/Bug94.dfy.expect index 3f10ffe7a4c..ab0cfbb2d9e 100644 --- a/Test/dafny4/Bug94.dfy.expect +++ b/Test/dafny4/Bug94.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 1 verified, 0 errors 15 \ No newline at end of file diff --git a/Test/dafny4/ClassRefinement.dfy b/Test/dafny4/ClassRefinement.dfy index 3d5fd1006eb..320749ec197 100644 --- a/Test/dafny4/ClassRefinement.dfy +++ b/Test/dafny4/ClassRefinement.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" abstract module M0 { class Counter { diff --git a/Test/dafny4/ClassRefinement.dfy.expect b/Test/dafny4/ClassRefinement.dfy.expect index cba3471eb57..f456b6777f3 100644 --- a/Test/dafny4/ClassRefinement.dfy.expect +++ b/Test/dafny4/ClassRefinement.dfy.expect @@ -1 +1,44 @@ +ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated +ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier finished with 11 verified, 0 errors +ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated +ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +2 1 +ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated +ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +2 1 +ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated +ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +2 1 +ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated +ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification 2 1 diff --git a/Test/dafny4/ClassRefinement.dfy.verifier.expect b/Test/dafny4/ClassRefinement.dfy.verifier.expect deleted file mode 100644 index 543e77303b5..00000000000 --- a/Test/dafny4/ClassRefinement.dfy.verifier.expect +++ /dev/null @@ -1,6 +0,0 @@ -ClassRefinement.dfy(68,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(69,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(74,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(75,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(77,6): Warning: the modify statement with a block statement is deprecated -ClassRefinement.dfy(78,13): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny4/ExpandedGuardedness.dfy b/Test/dafny4/ExpandedGuardedness.dfy index af620ec40e8..5cd7828f932 100644 --- a/Test/dafny4/ExpandedGuardedness.dfy +++ b/Test/dafny4/ExpandedGuardedness.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny4/ExpandedGuardedness.dfy.expect b/Test/dafny4/ExpandedGuardedness.dfy.expect index e0f3b041a66..d05670701e0 100644 --- a/Test/dafny4/ExpandedGuardedness.dfy.expect +++ b/Test/dafny4/ExpandedGuardedness.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 12 verified, 0 errors Up 19 20 21 22 23 Up2 19 20 21 22 23 UpIf 19 20 22 24 26 diff --git a/Test/dafny4/FlyingRobots.dfy b/Test/dafny4/FlyingRobots.dfy index f14a2a467cd..41223cca1aa 100644 --- a/Test/dafny4/FlyingRobots.dfy +++ b/Test/dafny4/FlyingRobots.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // The flying robots examples from an F* tutorial. It demonstrates how to specify // mutable data structures in the heap. diff --git a/Test/dafny4/FlyingRobots.dfy.expect b/Test/dafny4/FlyingRobots.dfy.expect index e69de29bb2d..5ed0d97333e 100644 --- a/Test/dafny4/FlyingRobots.dfy.expect +++ b/Test/dafny4/FlyingRobots.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 31 verified, 0 errors diff --git a/Test/dafny4/Leq.dfy b/Test/dafny4/Leq.dfy index fdbc1078ca3..fac12757ba0 100644 --- a/Test/dafny4/Leq.dfy +++ b/Test/dafny4/Leq.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Rustan Leino, 22 Sep 2015. // This file considers two definitions of Leq on naturals+infinity. One diff --git a/Test/dafny4/Leq.dfy.expect b/Test/dafny4/Leq.dfy.expect index e69de29bb2d..15301952c57 100644 --- a/Test/dafny4/Leq.dfy.expect +++ b/Test/dafny4/Leq.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 16 verified, 0 errors diff --git a/Test/dafny4/McCarthy91.dfy b/Test/dafny4/McCarthy91.dfy index 428f11eb269..466d30328cc 100644 --- a/Test/dafny4/McCarthy91.dfy +++ b/Test/dafny4/McCarthy91.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // The usual recursive method for computing McCarthy's 91 function method Main() { diff --git a/Test/dafny4/McCarthy91.dfy.expect b/Test/dafny4/McCarthy91.dfy.expect index 1511cff2c81..b63f7a0b03b 100644 --- a/Test/dafny4/McCarthy91.dfy.expect +++ b/Test/dafny4/McCarthy91.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 5 verified, 0 errors M(3) = 91 M(99) = 91 M(100) = 91 diff --git a/Test/dafny4/NatList.dfy b/Test/dafny4/NatList.dfy index 5a1b0358eaf..567fd461259 100644 --- a/Test/dafny4/NatList.dfy +++ b/Test/dafny4/NatList.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // This file tests some programs where "nat" is a type parameter to // a datatype. diff --git a/Test/dafny4/NatList.dfy.expect b/Test/dafny4/NatList.dfy.expect index 5382a29cb9f..2ceb3169787 100644 --- a/Test/dafny4/NatList.dfy.expect +++ b/Test/dafny4/NatList.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 11 verified, 0 errors ns = List.Cons(4, List.Cons(10, List.Nil)) Sum(ns) = 14 ns' = List.Cons(20, List.Nil) diff --git a/Test/dafny4/Regression2.dfy b/Test/dafny4/Regression2.dfy index 0d28285e74c..213bf265401 100644 --- a/Test/dafny4/Regression2.dfy +++ b/Test/dafny4/Regression2.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" module NativeTypes { newtype uint64 = int diff --git a/Test/dafny4/Regression2.dfy.expect b/Test/dafny4/Regression2.dfy.expect index 8a739fb435a..3f8ac383f86 100644 --- a/Test/dafny4/Regression2.dfy.expect +++ b/Test/dafny4/Regression2.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 0 verified, 0 errors true true true diff --git a/Test/dafny4/Regression3.dfy b/Test/dafny4/Regression3.dfy index fc60fad3cb1..adaa0d2763d 100644 --- a/Test/dafny4/Regression3.dfy +++ b/Test/dafny4/Regression3.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny4/Regression3.dfy.expect b/Test/dafny4/Regression3.dfy.expect index 1223bf9ffaf..841338987c7 100644 --- a/Test/dafny4/Regression3.dfy.expect +++ b/Test/dafny4/Regression3.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 3 verified, 0 errors 55 Trunc( -3.0 ) = -3 (expected -3) Trunc( -2.8 ) = -3 (expected -3) diff --git a/Test/dafny4/Regression4.dfy b/Test/dafny4/Regression4.dfy index e4bc4cbef85..5f881a5083f 100644 --- a/Test/dafny4/Regression4.dfy +++ b/Test/dafny4/Regression4.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { } diff --git a/Test/dafny4/Regression4.dfy.expect b/Test/dafny4/Regression4.dfy.expect index e69de29bb2d..ba00363fc08 100644 --- a/Test/dafny4/Regression4.dfy.expect +++ b/Test/dafny4/Regression4.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 4 verified, 0 errors diff --git a/Test/dafny4/Regression6.dfy b/Test/dafny4/Regression6.dfy index b589ec0ce7d..f1551d3ef2d 100644 --- a/Test/dafny4/Regression6.dfy +++ b/Test/dafny4/Regression6.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" function Sum(a: array, lo: int, hi: int): int requires 0 <= lo <= hi <= a.Length diff --git a/Test/dafny4/Regression6.dfy.expect b/Test/dafny4/Regression6.dfy.expect index 54573bead10..17464f29e0b 100644 --- a/Test/dafny4/Regression6.dfy.expect +++ b/Test/dafny4/Regression6.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors 0 1028 0 diff --git a/Test/dafny4/Regression7.dfy b/Test/dafny4/Regression7.dfy index ef3ca5eea44..8ce421a62f3 100644 --- a/Test/dafny4/Regression7.dfy +++ b/Test/dafny4/Regression7.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /rprint:"%t.rprint" /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" module ListLibrary { datatype List = Nil | Cons(head: B, tail: List) diff --git a/Test/dafny4/Regression7.dfy.expect b/Test/dafny4/Regression7.dfy.expect index 4d38be23500..b7b2766a340 100644 --- a/Test/dafny4/Regression7.dfy.expect +++ b/Test/dafny4/Regression7.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors ListLibrary.List.Cons(28.0, ListLibrary.List.Nil) diff --git a/Test/dafny4/Regression9.dfy b/Test/dafny4/Regression9.dfy index 086007a3ef8..d9e44547252 100644 --- a/Test/dafny4/Regression9.dfy +++ b/Test/dafny4/Regression9.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Some tests for the type inference that was revamped // to better support subset types. diff --git a/Test/dafny4/Regression9.dfy.expect b/Test/dafny4/Regression9.dfy.expect index 2183b22cfa9..5a26eaeabfb 100644 --- a/Test/dafny4/Regression9.dfy.expect +++ b/Test/dafny4/Regression9.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors 'D''D''D' diff --git a/Test/dafny4/UnionFind.dfy b/Test/dafny4/UnionFind.dfy index 354f28accb7..b97b6ef5d61 100644 --- a/Test/dafny4/UnionFind.dfy +++ b/Test/dafny4/UnionFind.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Rustan Leino, Nov 2015 // Module M0 gives the high-level specification of the UnionFind data structure diff --git a/Test/dafny4/UnionFind.dfy.expect b/Test/dafny4/UnionFind.dfy.expect index 1cb72129e49..961b161b8dc 100644 --- a/Test/dafny4/UnionFind.dfy.expect +++ b/Test/dafny4/UnionFind.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 63 verified, 0 errors false true true false true true diff --git a/Test/dafny4/gcd.dfy b/Test/dafny4/gcd.dfy index fa92223fa49..384e338435f 100644 --- a/Test/dafny4/gcd.dfy +++ b/Test/dafny4/gcd.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // A text describing this file is found in a Dafny Power User note: http://leino.science/papers/krml279.html diff --git a/Test/dafny4/gcd.dfy.expect b/Test/dafny4/gcd.dfy.expect index c17551a37a4..ecbe2b6f64a 100644 --- a/Test/dafny4/gcd.dfy.expect +++ b/Test/dafny4/gcd.dfy.expect @@ -1,3 +1,34 @@ + +Dafny program verifier finished with 19 verified, 0 errors + +Dafny program verifier did not attempt verification +15 gcd 9 = 3 +14 gcd 22 = 2 +371 gcd 1 = 1 +1 gcd 2 = 1 +1 gcd 1 = 1 +13 gcd 13 = 13 +60 gcd 60 = 60 + +Dafny program verifier did not attempt verification +15 gcd 9 = 3 +14 gcd 22 = 2 +371 gcd 1 = 1 +1 gcd 2 = 1 +1 gcd 1 = 1 +13 gcd 13 = 13 +60 gcd 60 = 60 + +Dafny program verifier did not attempt verification +15 gcd 9 = 3 +14 gcd 22 = 2 +371 gcd 1 = 1 +1 gcd 2 = 1 +1 gcd 1 = 1 +13 gcd 13 = 13 +60 gcd 60 = 60 + +Dafny program verifier did not attempt verification 15 gcd 9 = 3 14 gcd 22 = 2 371 gcd 1 = 1 diff --git a/Test/dafny4/git-issue104.dfy b/Test/dafny4/git-issue104.dfy index b05ec4de1cc..86683a2ed88 100644 --- a/Test/dafny4/git-issue104.dfy +++ b/Test/dafny4/git-issue104.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" predicate bug(a: array) reads a diff --git a/Test/dafny4/git-issue104.dfy.expect b/Test/dafny4/git-issue104.dfy.expect index 836a5934c8f..f572edb2471 100644 --- a/Test/dafny4/git-issue104.dfy.expect +++ b/Test/dafny4/git-issue104.dfy.expect @@ -1 +1,17 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification +true false + +Dafny program verifier did not attempt verification +true false + +Dafny program verifier did not attempt verification +true false + +Dafny program verifier did not attempt verification +true false + +Dafny program verifier did not attempt verification true false diff --git a/Test/dafny4/git-issue105.dfy b/Test/dafny4/git-issue105.dfy index 4cff2330cba..09cfce29a6e 100644 --- a/Test/dafny4/git-issue105.dfy +++ b/Test/dafny4/git-issue105.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method lol() returns (c: int) { diff --git a/Test/dafny4/git-issue105.dfy.expect b/Test/dafny4/git-issue105.dfy.expect index e69de29bb2d..012f5b99379 100644 --- a/Test/dafny4/git-issue105.dfy.expect +++ b/Test/dafny4/git-issue105.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/dafny4/git-issue15.dfy b/Test/dafny4/git-issue15.dfy index 7c77a67ccf9..96905286209 100755 --- a/Test/dafny4/git-issue15.dfy +++ b/Test/dafny4/git-issue15.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype obj = Obj(fooBar:map) datatype foo = Foo diff --git a/Test/dafny4/git-issue15.dfy.expect b/Test/dafny4/git-issue15.dfy.expect index 00750edc07d..e52de78d0b1 100755 --- a/Test/dafny4/git-issue15.dfy.expect +++ b/Test/dafny4/git-issue15.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 1 verified, 0 errors 3 diff --git a/Test/dafny4/git-issue195.dfy b/Test/dafny4/git-issue195.dfy index fccdc5461c8..ac4b1306ac6 100644 --- a/Test/dafny4/git-issue195.dfy +++ b/Test/dafny4/git-issue195.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Block = Block(prevBlockHash:Hash, txs:seq, proof:VProof) diff --git a/Test/dafny4/git-issue195.dfy.expect b/Test/dafny4/git-issue195.dfy.expect index 638bfb50b2d..30692fdef2a 100644 --- a/Test/dafny4/git-issue195.dfy.expect +++ b/Test/dafny4/git-issue195.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 4 verified, 0 errors true true true true true diff --git a/Test/dafny4/git-issue196.dfy b/Test/dafny4/git-issue196.dfy index 056687ab1a5..64eb0e9123f 100644 --- a/Test/dafny4/git-issue196.dfy +++ b/Test/dafny4/git-issue196.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" class A { var a: array> diff --git a/Test/dafny4/git-issue196.dfy.expect b/Test/dafny4/git-issue196.dfy.expect index ee25a2c5027..a333f982b8f 100644 --- a/Test/dafny4/git-issue196.dfy.expect +++ b/Test/dafny4/git-issue196.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 9 verified, 0 errors 42 42 42 5000 5000 5000 5000 5000 diff --git a/Test/dafny4/git-issue4.dfy b/Test/dafny4/git-issue4.dfy index b17a545e219..b19cf3ce6df 100644 --- a/Test/dafny4/git-issue4.dfy +++ b/Test/dafny4/git-issue4.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" function IntToChar(i:int):char requires 0 <= i < 10 diff --git a/Test/dafny4/git-issue4.dfy.expect b/Test/dafny4/git-issue4.dfy.expect index 24e24eb63cc..33af1e040b7 100644 --- a/Test/dafny4/git-issue4.dfy.expect +++ b/Test/dafny4/git-issue4.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 5 verified, 0 errors '8' 8 '8' 56 56 diff --git a/Test/dafny4/git-issue43.dfy b/Test/dafny4/git-issue43.dfy index d320d7761bc..edf056a1a91 100644 --- a/Test/dafny4/git-issue43.dfy +++ b/Test/dafny4/git-issue43.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" class System { } diff --git a/Test/dafny4/git-issue43.dfy.expect b/Test/dafny4/git-issue43.dfy.expect index e69de29bb2d..012f5b99379 100644 --- a/Test/dafny4/git-issue43.dfy.expect +++ b/Test/dafny4/git-issue43.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/dafny4/git-issue76.dfy b/Test/dafny4/git-issue76.dfy index 85613dba2f2..708ee911b24 100644 --- a/Test/dafny4/git-issue76.dfy +++ b/Test/dafny4/git-issue76.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { M0(); diff --git a/Test/dafny4/git-issue76.dfy.expect b/Test/dafny4/git-issue76.dfy.expect index 0cfbf08886f..546da03a267 100644 --- a/Test/dafny4/git-issue76.dfy.expect +++ b/Test/dafny4/git-issue76.dfy.expect @@ -1 +1,8 @@ + +Dafny program verifier finished with 7 verified, 0 errors + +Dafny program verifier did not attempt verification +2 + +Dafny program verifier did not attempt verification 2 diff --git a/Test/dafny4/git-issue79.dfy b/Test/dafny4/git-issue79.dfy index f3fb17b8531..046a7c5e375 100644 --- a/Test/dafny4/git-issue79.dfy +++ b/Test/dafny4/git-issue79.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype EInt = Int(val: int) | Unknown type Pair = (string, EInt) diff --git a/Test/dafny4/git-issue79.dfy.expect b/Test/dafny4/git-issue79.dfy.expect index e69de29bb2d..012f5b99379 100644 --- a/Test/dafny4/git-issue79.dfy.expect +++ b/Test/dafny4/git-issue79.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/dafny4/git-issue88.dfy b/Test/dafny4/git-issue88.dfy index 83c0b4a8ef9..1c188333783 100644 --- a/Test/dafny4/git-issue88.dfy +++ b/Test/dafny4/git-issue88.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" type Grid = array2 diff --git a/Test/dafny4/git-issue88.dfy.expect b/Test/dafny4/git-issue88.dfy.expect index e69de29bb2d..00a51f822da 100644 --- a/Test/dafny4/git-issue88.dfy.expect +++ b/Test/dafny4/git-issue88.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 3 verified, 0 errors diff --git a/Test/exceptions/Exceptions1.dfy b/Test/exceptions/Exceptions1.dfy index 4ffd3291f2f..11bb2f7923d 100644 --- a/Test/exceptions/Exceptions1.dfy +++ b/Test/exceptions/Exceptions1.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" /rprint:"%t.rprint" > "%t" +// RUN: %diff "%s.expect" "%t" include "./NatOutcome.dfy" include "./VoidOutcome.dfy" diff --git a/Test/exceptions/Exceptions1.dfy.expect b/Test/exceptions/Exceptions1.dfy.expect index c87eb938c55..e61be2a11ad 100644 --- a/Test/exceptions/Exceptions1.dfy.expect +++ b/Test/exceptions/Exceptions1.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 7 verified, 0 errors true_true_true_88_42_33_Success=100 ___VoidSuccess true_true_false_88_42_Failure diff --git a/Test/exceptions/Exceptions1Expressions.dfy b/Test/exceptions/Exceptions1Expressions.dfy index a57e5b78c7e..c0f3c67cd39 100644 --- a/Test/exceptions/Exceptions1Expressions.dfy +++ b/Test/exceptions/Exceptions1Expressions.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" /rprint:"%t.rprint" > "%t" +// RUN: %diff "%s.expect" "%t" include "./NatOutcomeDt.dfy" include "./VoidOutcomeDt.dfy" diff --git a/Test/exceptions/Exceptions1Expressions.dfy.expect b/Test/exceptions/Exceptions1Expressions.dfy.expect index 3f1b38ab150..3da30f30d36 100644 --- a/Test/exceptions/Exceptions1Expressions.dfy.expect +++ b/Test/exceptions/Exceptions1Expressions.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 5 verified, 0 errors true_true_true_Success=100 VoidSuccess true_true_false_Failure diff --git a/Test/exports/FIFO.dfy b/Test/exports/FIFO.dfy index 95a8d25510c..173e412eaa9 100644 --- a/Test/exports/FIFO.dfy +++ b/Test/exports/FIFO.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" include "Queue.dfyi" diff --git a/Test/exports/FIFO.dfy.expect b/Test/exports/FIFO.dfy.expect index 4539bbf2d22..8350309cc2a 100644 --- a/Test/exports/FIFO.dfy.expect +++ b/Test/exports/FIFO.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 5 verified, 0 errors 0 1 2 diff --git a/Test/exports/LIFO.dfy b/Test/exports/LIFO.dfy index 513dd457c3f..ea691935620 100644 --- a/Test/exports/LIFO.dfy +++ b/Test/exports/LIFO.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" include "Queue.dfyi" diff --git a/Test/exports/LIFO.dfy.expect b/Test/exports/LIFO.dfy.expect index ae136939b64..48aa7787d09 100644 --- a/Test/exports/LIFO.dfy.expect +++ b/Test/exports/LIFO.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 5 verified, 0 errors 2 1 0 diff --git a/Test/exports/xrefine2.dfy b/Test/exports/xrefine2.dfy index 2409cc0509a..0b25240916c 100644 --- a/Test/exports/xrefine2.dfy +++ b/Test/exports/xrefine2.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" module ProtocolImpl { diff --git a/Test/exports/xrefine2.dfy.expect b/Test/exports/xrefine2.dfy.expect index 858dbd09862..34e1b357779 100644 --- a/Test/exports/xrefine2.dfy.expect +++ b/Test/exports/xrefine2.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 4 verified, 0 errors HI.foo(h1) => true HI.foo(h2) => true PI.orange(1) => 2 diff --git a/Test/exports/xrefine3.dfy b/Test/exports/xrefine3.dfy index bb2480bfed7..24d6fa062f0 100644 --- a/Test/exports/xrefine3.dfy +++ b/Test/exports/xrefine3.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" module AlphaImpl { diff --git a/Test/exports/xrefine3.dfy.expect b/Test/exports/xrefine3.dfy.expect index ae50cef0985..488ab11c36a 100644 --- a/Test/exports/xrefine3.dfy.expect +++ b/Test/exports/xrefine3.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors o hai! diff --git a/Test/git-issues/git-issue-032.dfy b/Test/git-issues/git-issue-032.dfy index d7dd61440a7..bde5b2f2a69 100644 --- a/Test/git-issues/git-issue-032.dfy +++ b/Test/git-issues/git-issue-032.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/git-issues/git-issue-032.dfy.expect b/Test/git-issues/git-issue-032.dfy.expect index 2a64997c6f7..91c285009c1 100644 --- a/Test/git-issues/git-issue-032.dfy.expect +++ b/Test/git-issues/git-issue-032.dfy.expect @@ -1,3 +1,40 @@ +git-issue-032.dfy(18,35): Warning: this branch is redundant +git-issue-032.dfy(27,34): Warning: this branch is redundant +git-issue-032.dfy(28,35): Warning: this branch is redundant + +Dafny program verifier finished with 1 verified, 0 errors +git-issue-032.dfy(18,35): Warning: this branch is redundant +git-issue-032.dfy(27,34): Warning: this branch is redundant +git-issue-032.dfy(28,35): Warning: this branch is redundant + +Dafny program verifier did not attempt verification +OK3 +OK +OKOK +00 +git-issue-032.dfy(18,35): Warning: this branch is redundant +git-issue-032.dfy(27,34): Warning: this branch is redundant +git-issue-032.dfy(28,35): Warning: this branch is redundant + +Dafny program verifier did not attempt verification +OK3 +OK +OKOK +00 +git-issue-032.dfy(18,35): Warning: this branch is redundant +git-issue-032.dfy(27,34): Warning: this branch is redundant +git-issue-032.dfy(28,35): Warning: this branch is redundant + +Dafny program verifier did not attempt verification +OK3 +OK +OKOK +00 +git-issue-032.dfy(18,35): Warning: this branch is redundant +git-issue-032.dfy(27,34): Warning: this branch is redundant +git-issue-032.dfy(28,35): Warning: this branch is redundant + +Dafny program verifier did not attempt verification OK3 OK OKOK diff --git a/Test/git-issues/git-issue-032.dfy.verifier.expect b/Test/git-issues/git-issue-032.dfy.verifier.expect deleted file mode 100644 index 1878351db97..00000000000 --- a/Test/git-issues/git-issue-032.dfy.verifier.expect +++ /dev/null @@ -1,3 +0,0 @@ -git-issue-032.dfy(13,35): Warning: this branch is redundant -git-issue-032.dfy(22,34): Warning: this branch is redundant -git-issue-032.dfy(23,35): Warning: this branch is redundant diff --git a/Test/git-issues/git-issue-1029.dfy b/Test/git-issues/git-issue-1029.dfy index 7e1e7a31cf2..a310a99c169 100644 --- a/Test/git-issues/git-issue-1029.dfy +++ b/Test/git-issues/git-issue-1029.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" module ValueType { export S diff --git a/Test/git-issues/git-issue-1029.dfy.expect b/Test/git-issues/git-issue-1029.dfy.expect index 116f2acb4ee..7108c86b0b5 100644 --- a/Test/git-issues/git-issue-1029.dfy.expect +++ b/Test/git-issues/git-issue-1029.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors [true, true, false] UI.Op2.GetOps([true, true, false], [true, true, false]) diff --git a/Test/git-issues/git-issue-1093.dfy b/Test/git-issues/git-issue-1093.dfy index 97797296680..9365397496f 100644 --- a/Test/git-issues/git-issue-1093.dfy +++ b/Test/git-issues/git-issue-1093.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { UnusedLabel(); diff --git a/Test/git-issues/git-issue-1093.dfy.expect b/Test/git-issues/git-issue-1093.dfy.expect index f599e28b8ab..0cadf5e4199 100644 --- a/Test/git-issues/git-issue-1093.dfy.expect +++ b/Test/git-issues/git-issue-1093.dfy.expect @@ -1 +1,17 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification +10 + +Dafny program verifier did not attempt verification +10 + +Dafny program verifier did not attempt verification +10 + +Dafny program verifier did not attempt verification +10 + +Dafny program verifier did not attempt verification 10 diff --git a/Test/git-issues/git-issue-1130.dfy b/Test/git-issues/git-issue-1130.dfy index f1f5ad5a54b..5b7fc5068e2 100644 --- a/Test/git-issues/git-issue-1130.dfy +++ b/Test/git-issues/git-issue-1130.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var a := new Issue.Foo(); diff --git a/Test/git-issues/git-issue-1130.dfy.expect b/Test/git-issues/git-issue-1130.dfy.expect index de97a6dc4ca..6c3dd07b1f1 100644 --- a/Test/git-issues/git-issue-1130.dfy.expect +++ b/Test/git-issues/git-issue-1130.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 13 verified, 0 errors 012 diff --git a/Test/git-issues/git-issue-1150.dfy b/Test/git-issues/git-issue-1150.dfy index d3416a53813..d4cee3c3ef2 100644 --- a/Test/git-issues/git-issue-1150.dfy +++ b/Test/git-issues/git-issue-1150.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Foo = Foo(x: nat) { diff --git a/Test/git-issues/git-issue-1150.dfy.expect b/Test/git-issues/git-issue-1150.dfy.expect index f34d8df4a11..fb4be1897cf 100644 --- a/Test/git-issues/git-issue-1150.dfy.expect +++ b/Test/git-issues/git-issue-1150.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 1 verified, 0 errors Foo.Foo(2) true Foo.Foo(5) false diff --git a/Test/git-issues/git-issue-1185.dfy b/Test/git-issues/git-issue-1185.dfy index c7ad72134d1..32c340b0736 100644 --- a/Test/git-issues/git-issue-1185.dfy +++ b/Test/git-issues/git-issue-1185.dfy @@ -1,5 +1,9 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" predicate P(s: set) requires s != {} diff --git a/Test/git-issues/git-issue-1185.dfy.expect b/Test/git-issues/git-issue-1185.dfy.expect index 525ce875525..90ab58a1f5a 100644 --- a/Test/git-issues/git-issue-1185.dfy.expect +++ b/Test/git-issues/git-issue-1185.dfy.expect @@ -1 +1,14 @@ + +Dafny program verifier finished with 3 verified, 0 errors + +Dafny program verifier did not attempt verification +{12, 20} true 6 + +Dafny program verifier did not attempt verification +{20, 12} true 6 + +Dafny program verifier did not attempt verification +{12, 20} true 6 + +Dafny program verifier did not attempt verification {12, 20} true 6 diff --git a/Test/git-issues/git-issue-1185.dfy.java.expect b/Test/git-issues/git-issue-1185.dfy.java.expect deleted file mode 100644 index 8ba669ad273..00000000000 --- a/Test/git-issues/git-issue-1185.dfy.java.expect +++ /dev/null @@ -1 +0,0 @@ -{20, 12} true 6 diff --git a/Test/git-issues/git-issue-1514.dfy b/Test/git-issues/git-issue-1514.dfy index 816eadce69b..74b75478609 100644 --- a/Test/git-issues/git-issue-1514.dfy +++ b/Test/git-issues/git-issue-1514.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" include "Wrappers.dfy" import opened Wrappers diff --git a/Test/git-issues/git-issue-1514.dfy.expect b/Test/git-issues/git-issue-1514.dfy.expect index b5754e20373..2f22d47cee8 100644 --- a/Test/git-issues/git-issue-1514.dfy.expect +++ b/Test/git-issues/git-issue-1514.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-1514b.dfy b/Test/git-issues/git-issue-1514b.dfy index 050a4a71760..1d8cd122d28 100644 --- a/Test/git-issues/git-issue-1514b.dfy +++ b/Test/git-issues/git-issue-1514b.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" include "Wrappers.dfy" import opened Wrappers diff --git a/Test/git-issues/git-issue-1514b.dfy.expect b/Test/git-issues/git-issue-1514b.dfy.expect index b5754e20373..2f22d47cee8 100644 --- a/Test/git-issues/git-issue-1514b.dfy.expect +++ b/Test/git-issues/git-issue-1514b.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-1514c.dfy b/Test/git-issues/git-issue-1514c.dfy index 578316f217c..d9df7d108c1 100644 --- a/Test/git-issues/git-issue-1514c.dfy +++ b/Test/git-issues/git-issue-1514c.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" include "Wrappers.dfy" import opened Wrappers diff --git a/Test/git-issues/git-issue-1514c.dfy.expect b/Test/git-issues/git-issue-1514c.dfy.expect index 9766475a418..694254c28aa 100644 --- a/Test/git-issues/git-issue-1514c.dfy.expect +++ b/Test/git-issues/git-issue-1514c.dfy.expect @@ -1 +1,8 @@ + +Dafny program verifier finished with 3 verified, 0 errors + +Dafny program verifier did not attempt verification +ok + +Dafny program verifier did not attempt verification ok diff --git a/Test/git-issues/git-issue-1553.dfy b/Test/git-issues/git-issue-1553.dfy index 81cbef7aa7e..6267018c92d 100644 --- a/Test/git-issues/git-issue-1553.dfy +++ b/Test/git-issues/git-issue-1553.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { } method Test() { diff --git a/Test/git-issues/git-issue-1553.dfy.expect b/Test/git-issues/git-issue-1553.dfy.expect index e69de29bb2d..65d3b5d6635 100644 --- a/Test/git-issues/git-issue-1553.dfy.expect +++ b/Test/git-issues/git-issue-1553.dfy.expect @@ -0,0 +1,10 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-1604b.dfy b/Test/git-issues/git-issue-1604b.dfy index d7c4169ec60..497ee5017d5 100644 --- a/Test/git-issues/git-issue-1604b.dfy +++ b/Test/git-issues/git-issue-1604b.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --error-limit:0 --relax-definite-assignment +// RUN: %dafny /compile:3 /errorLimit:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Double constraints. Will this still work? diff --git a/Test/git-issues/git-issue-1604b.dfy.expect b/Test/git-issues/git-issue-1604b.dfy.expect index b5754e20373..93d7203e654 100644 --- a/Test/git-issues/git-issue-1604b.dfy.expect +++ b/Test/git-issues/git-issue-1604b.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 5 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-1714.dfy b/Test/git-issues/git-issue-1714.dfy index 540a41c39cb..6ce8915a7af 100644 --- a/Test/git-issues/git-issue-1714.dfy +++ b/Test/git-issues/git-issue-1714.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" +// RUN: %diff "%s.expect" "%t" trait Base {} class Derived extends Base { var n: int constructor() { n := 0; } } diff --git a/Test/git-issues/git-issue-1714.dfy.expect b/Test/git-issues/git-issue-1714.dfy.expect index 88039063d09..67dd7d95642 100644 --- a/Test/git-issues/git-issue-1714.dfy.expect +++ b/Test/git-issues/git-issue-1714.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors (b as Derived).n == 0 diff --git a/Test/git-issues/git-issue-1815a.dfy b/Test/git-issues/git-issue-1815a.dfy index 72d55a1cb4f..91fb7a32aa6 100644 --- a/Test/git-issues/git-issue-1815a.dfy +++ b/Test/git-issues/git-issue-1815a.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Dt<+U> = Dt(x: U, i: int) diff --git a/Test/git-issues/git-issue-1815a.dfy.expect b/Test/git-issues/git-issue-1815a.dfy.expect index 19f86f493ab..7b2651302d9 100644 --- a/Test/git-issues/git-issue-1815a.dfy.expect +++ b/Test/git-issues/git-issue-1815a.dfy.expect @@ -1 +1,17 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification +done + +Dafny program verifier did not attempt verification +done + +Dafny program verifier did not attempt verification +done + +Dafny program verifier did not attempt verification +done + +Dafny program verifier did not attempt verification done diff --git a/Test/git-issues/git-issue-1852.dfy b/Test/git-issues/git-issue-1852.dfy index 046f3fca1fc..516835e8ea8 100644 --- a/Test/git-issues/git-issue-1852.dfy +++ b/Test/git-issues/git-issue-1852.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" module A { export diff --git a/Test/git-issues/git-issue-1852.dfy.expect b/Test/git-issues/git-issue-1852.dfy.expect index 299a71f3fe4..e9cd0ea2e07 100644 --- a/Test/git-issues/git-issue-1852.dfy.expect +++ b/Test/git-issues/git-issue-1852.dfy.expect @@ -1 +1,8 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification +5 5 + +Dafny program verifier did not attempt verification 5 5 diff --git a/Test/git-issues/git-issue-1903.dfy b/Test/git-issues/git-issue-1903.dfy index 60ee1c121ab..7edb2a46c61 100644 --- a/Test/git-issues/git-issue-1903.dfy +++ b/Test/git-issues/git-issue-1903.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method g(x : seq := []) { diff --git a/Test/git-issues/git-issue-1903.dfy.expect b/Test/git-issues/git-issue-1903.dfy.expect index 84cc8d360f9..3170fb0c7f2 100644 --- a/Test/git-issues/git-issue-1903.dfy.expect +++ b/Test/git-issues/git-issue-1903.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 1 verified, 0 errors worked! diff --git a/Test/git-issues/git-issue-1909.dfy b/Test/git-issues/git-issue-1909.dfy index 83d9ec1d785..7fb5b3b8c48 100644 --- a/Test/git-issues/git-issue-1909.dfy +++ b/Test/git-issues/git-issue-1909.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype ABC = ABC(nameonly a: int, nameonly b: int, nameonly c: int) diff --git a/Test/git-issues/git-issue-1909.dfy.expect b/Test/git-issues/git-issue-1909.dfy.expect index ab6f7d69d36..b4eb7e7774e 100644 --- a/Test/git-issues/git-issue-1909.dfy.expect +++ b/Test/git-issues/git-issue-1909.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 1 verified, 0 errors ABC.ABC(19, 21, 23) ABC.ABC(19, 42, 23) ABC.ABC(100, 42, 90) diff --git a/Test/git-issues/git-issue-2013.dfy b/Test/git-issues/git-issue-2013.dfy index 1f3962988ee..d1d3e15880e 100644 --- a/Test/git-issues/git-issue-2013.dfy +++ b/Test/git-issues/git-issue-2013.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/git-issues/git-issue-2013.dfy.expect b/Test/git-issues/git-issue-2013.dfy.expect index 22e56ce7263..7ff6ce957cf 100644 --- a/Test/git-issues/git-issue-2013.dfy.expect +++ b/Test/git-issues/git-issue-2013.dfy.expect @@ -1,3 +1,55 @@ + +Dafny program verifier finished with 12 verified, 0 errors + +Dafny program verifier did not attempt verification +16 +16 +12 30 30 +Result.Success(8) Result.Failure(_module.MyClassException) +{100} {100} {100} +{MoreTests.C} {MoreTests.C} {MoreTests.C} +100 100 100 +MoreTests.C MoreTests.C MoreTests.C +Conveyance.NonVariantResult.NVSuccess(Conveyance.Car) Conveyance.CovariantResult.CVSuccess(Conveyance.Car) +M.Stream.Next + +Dafny program verifier did not attempt verification +16 +16 +12 30 30 +Result.Success(8) Result.Failure(_module.MyClassException) +{100} {100} {100} +{MoreTests.C} {MoreTests.C} {MoreTests.C} +100 100 100 +MoreTests.C MoreTests.C MoreTests.C +Conveyance.NonVariantResult.NVSuccess(Conveyance.Car) Conveyance.CovariantResult.CVSuccess(Conveyance.Car) +M.Stream.Next + +Dafny program verifier did not attempt verification +16 +16 +12 30 30 +Result.Success(8) Result.Failure(_module.MyClassException) +{100} {100} {100} +{MoreTests.C} {MoreTests.C} {MoreTests.C} +100 100 100 +MoreTests.C MoreTests.C MoreTests.C +Conveyance.NonVariantResult.NVSuccess(Conveyance.Car) Conveyance.CovariantResult.CVSuccess(Conveyance.Car) +M.Stream.Next + +Dafny program verifier did not attempt verification +16 +16 +12 30 30 +Result.Success(8) Result.Failure(_module.MyClassException) +{100} {100} {100} +{MoreTests.C} {MoreTests.C} {MoreTests.C} +100 100 100 +MoreTests.C MoreTests.C MoreTests.C +Conveyance.NonVariantResult.NVSuccess(Conveyance.Car) Conveyance.CovariantResult.CVSuccess(Conveyance.Car) +M.Stream.Next + +Dafny program verifier did not attempt verification 16 16 12 30 30 diff --git a/Test/git-issues/git-issue-2441.dfy b/Test/git-issues/git-issue-2441.dfy index 4179ecc87bc..bc9c8721ee2 100644 --- a/Test/git-issues/git-issue-2441.dfy +++ b/Test/git-issues/git-issue-2441.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype A = A(B: B) datatype B = X diff --git a/Test/git-issues/git-issue-2441.dfy.expect b/Test/git-issues/git-issue-2441.dfy.expect index e69de29bb2d..0c3f603d584 100644 --- a/Test/git-issues/git-issue-2441.dfy.expect +++ b/Test/git-issues/git-issue-2441.dfy.expect @@ -0,0 +1,6 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-2510.dfy b/Test/git-issues/git-issue-2510.dfy index 11ee2877bb3..22ef8e47058 100644 --- a/Test/git-issues/git-issue-2510.dfy +++ b/Test/git-issues/git-issue-2510.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:4 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" /// Check that the compiler accepts `:- assume {:axiom} …`. diff --git a/Test/git-issues/git-issue-2510.dfy.expect b/Test/git-issues/git-issue-2510.dfy.expect index 56a6051ca2b..b341a39a78d 100644 --- a/Test/git-issues/git-issue-2510.dfy.expect +++ b/Test/git-issues/git-issue-2510.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors 1 \ No newline at end of file diff --git a/Test/git-issues/git-issue-2608.dfy b/Test/git-issues/git-issue-2608.dfy index c606177f94f..459c9ffbf94 100644 --- a/Test/git-issues/git-issue-2608.dfy +++ b/Test/git-issues/git-issue-2608.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /compileTarget:js "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method GetNext(i: int) returns (j: int, possible: bool) { if i == 1 { diff --git a/Test/git-issues/git-issue-2608.dfy.expect b/Test/git-issues/git-issue-2608.dfy.expect index d9ed583f710..dce7ba1814a 100644 --- a/Test/git-issues/git-issue-2608.dfy.expect +++ b/Test/git-issues/git-issue-2608.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors 82411246231944714271214 \ No newline at end of file diff --git a/Test/git-issues/git-issue-262.dfy b/Test/git-issues/git-issue-262.dfy index 22d9a31b2fe..2c00ad94a39 100644 --- a/Test/git-issues/git-issue-262.dfy +++ b/Test/git-issues/git-issue-262.dfy @@ -1,5 +1,8 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" +// RUN: %dafny /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" function tst(x: nat): nat { x + 1 diff --git a/Test/git-issues/git-issue-262.dfy.expect b/Test/git-issues/git-issue-262.dfy.expect index 41d8cd55158..76af42cd4a3 100644 --- a/Test/git-issues/git-issue-262.dfy.expect +++ b/Test/git-issues/git-issue-262.dfy.expect @@ -1,2 +1,20 @@ + +Dafny program verifier finished with 2 verified, 0 errors System.Func`2[System.Numerics.BigInteger,System.Numerics.BigInteger] System.Func`2[System.Numerics.BigInteger,System.Numerics.BigInteger] + +Dafny program verifier finished with 2 verified, 0 errors +tst(x) { + return (x).plus(_dafny.ONE); + } +tst(x) { + return (x).plus(_dafny.ONE); + } + +Dafny program verifier finished with 2 verified, 0 errors +func(dafny.Int) dafny.Int +func(dafny.Int) dafny.Int + +Dafny program verifier finished with 2 verified, 0 errors +Function +Function diff --git a/Test/git-issues/git-issue-262.dfy.go.expect b/Test/git-issues/git-issue-262.dfy.go.expect deleted file mode 100644 index 578754c176c..00000000000 --- a/Test/git-issues/git-issue-262.dfy.go.expect +++ /dev/null @@ -1,2 +0,0 @@ -func(dafny.Int) dafny.Int -func(dafny.Int) dafny.Int diff --git a/Test/git-issues/git-issue-262.dfy.java.expect b/Test/git-issues/git-issue-262.dfy.java.expect deleted file mode 100644 index aa5478ef8c9..00000000000 --- a/Test/git-issues/git-issue-262.dfy.java.expect +++ /dev/null @@ -1,2 +0,0 @@ -Function -Function diff --git a/Test/git-issues/git-issue-262.dfy.js.expect b/Test/git-issues/git-issue-262.dfy.js.expect deleted file mode 100644 index e181ef2fef8..00000000000 --- a/Test/git-issues/git-issue-262.dfy.js.expect +++ /dev/null @@ -1,6 +0,0 @@ -tst(x) { - return (x).plus(_dafny.ONE); - } -tst(x) { - return (x).plus(_dafny.ONE); - } diff --git a/Test/git-issues/git-issue-267.dfy b/Test/git-issues/git-issue-267.dfy index 2b0b3281589..cef2fcc6c17 100644 --- a/Test/git-issues/git-issue-267.dfy +++ b/Test/git-issues/git-issue-267.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var c := 1; diff --git a/Test/git-issues/git-issue-267.dfy.expect b/Test/git-issues/git-issue-267.dfy.expect index cd7da05e3d2..d71aef2f440 100644 --- a/Test/git-issues/git-issue-267.dfy.expect +++ b/Test/git-issues/git-issue-267.dfy.expect @@ -1 +1,14 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification +210 + +Dafny program verifier did not attempt verification +210 + +Dafny program verifier did not attempt verification +210 + +Dafny program verifier did not attempt verification 210 diff --git a/Test/git-issues/git-issue-2672.dfy b/Test/git-issues/git-issue-2672.dfy index 52c5b9c638c..338299ee8b7 100644 --- a/Test/git-issues/git-issue-2672.dfy +++ b/Test/git-issues/git-issue-2672.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" newtype sreal = r: real | r > -4 as real newtype sint = r: int | r > -4 as int diff --git a/Test/git-issues/git-issue-2672.dfy.expect b/Test/git-issues/git-issue-2672.dfy.expect index 43440a83d53..c9c3244b6f4 100644 --- a/Test/git-issues/git-issue-2672.dfy.expect +++ b/Test/git-issues/git-issue-2672.dfy.expect @@ -1,3 +1,47 @@ + +Dafny program verifier finished with 5 verified, 0 errors + +Dafny program verifier did not attempt verification +true true true true true true true true true true +false false false false false false false false false false +false false false false false false false false false false +true true true true true true true true true true +true true true true true true true true true true +false false false false false false false false false false +true true true +false false false + +Dafny program verifier did not attempt verification +true true true true true true true true true true +false false false false false false false false false false +false false false false false false false false false false +true true true true true true true true true true +true true true true true true true true true true +false false false false false false false false false false +true true true +false false false + +Dafny program verifier did not attempt verification +true true true true true true true true true true +false false false false false false false false false false +false false false false false false false false false false +true true true true true true true true true true +true true true true true true true true true true +false false false false false false false false false false +true true true +false false false + +Dafny program verifier did not attempt verification +true true true true true true true true true true +false false false false false false false false false false +false false false false false false false false false false +true true true true true true true true true true +true true true true true true true true true true +false false false false false false false false false false +true true true +false false false + +Dafny program verifier did not attempt verification true true true true true true true true true true false false false false false false false false false false false false false false false false false false false false diff --git a/Test/git-issues/git-issue-2726a.dfy b/Test/git-issues/git-issue-2726a.dfy index a43d5dd0107..641fefbbdc4 100644 --- a/Test/git-issues/git-issue-2726a.dfy +++ b/Test/git-issues/git-issue-2726a.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /compileTarget:cs "%s" > "%t" +// RUN: %diff "%s.expect" "%t" const digits := ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"] diff --git a/Test/git-issues/git-issue-2726a.dfy.expect b/Test/git-issues/git-issue-2726a.dfy.expect index 8e1bedb2a64..6985935c88c 100644 --- a/Test/git-issues/git-issue-2726a.dfy.expect +++ b/Test/git-issues/git-issue-2726a.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 1 verified, 0 errors 4 42 422 diff --git a/Test/git-issues/git-issue-2733.dfy b/Test/git-issues/git-issue-2733.dfy index 65bc2b991fd..232eab3cc74 100644 --- a/Test/git-issues/git-issue-2733.dfy +++ b/Test/git-issues/git-issue-2733.dfy @@ -1,4 +1,11 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cpp "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { print "XYZ"; // Checks that no extra newline is added to the output diff --git a/Test/git-issues/git-issue-2733.dfy.expect b/Test/git-issues/git-issue-2733.dfy.expect index 77bf25132db..b139e2f3d58 100644 --- a/Test/git-issues/git-issue-2733.dfy.expect +++ b/Test/git-issues/git-issue-2733.dfy.expect @@ -1 +1,15 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification +XYZ +Dafny program verifier did not attempt verification +XYZ +Dafny program verifier did not attempt verification +XYZ +Dafny program verifier did not attempt verification +XYZ +Dafny program verifier did not attempt verification +XYZ +Dafny program verifier did not attempt verification XYZ \ No newline at end of file diff --git a/Test/git-issues/git-issue-2792.dfy b/Test/git-issues/git-issue-2792.dfy index d2fb9db2055..89e736667c0 100644 --- a/Test/git-issues/git-issue-2792.dfy +++ b/Test/git-issues/git-issue-2792.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /compileTarget:java "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Wrapper = Wrapper(s: seq) { diff --git a/Test/git-issues/git-issue-2792.dfy.expect b/Test/git-issues/git-issue-2792.dfy.expect index ca1683c3020..c1e603c58fe 100644 --- a/Test/git-issues/git-issue-2792.dfy.expect +++ b/Test/git-issues/git-issue-2792.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 0 verified, 0 errors [] Wrapper2.Wrapper2([], 2792) diff --git a/Test/git-issues/git-issue-283.dfy b/Test/git-issues/git-issue-283.dfy index 1ca6d48d32c..c7c10f4aea3 100644 --- a/Test/git-issues/git-issue-283.dfy +++ b/Test/git-issues/git-issue-283.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Result = | Success(value: T) diff --git a/Test/git-issues/git-issue-283.dfy.expect b/Test/git-issues/git-issue-283.dfy.expect index a965a70ed4e..2adb114b8a0 100644 --- a/Test/git-issues/git-issue-283.dfy.expect +++ b/Test/git-issues/git-issue-283.dfy.expect @@ -1 +1,14 @@ + +Dafny program verifier finished with 9 verified, 0 errors + +Dafny program verifier did not attempt verification +Done + +Dafny program verifier did not attempt verification +Done + +Dafny program verifier did not attempt verification +Done + +Dafny program verifier did not attempt verification Done diff --git a/Test/git-issues/git-issue-283d.dfy b/Test/git-issues/git-issue-283d.dfy index 46c1056d5e1..54ee58fb456 100644 --- a/Test/git-issues/git-issue-283d.dfy +++ b/Test/git-issues/git-issue-283d.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Foo = R(v: int) diff --git a/Test/git-issues/git-issue-283d.dfy.expect b/Test/git-issues/git-issue-283d.dfy.expect index e69de29bb2d..8da23be5c8c 100644 --- a/Test/git-issues/git-issue-283d.dfy.expect +++ b/Test/git-issues/git-issue-283d.dfy.expect @@ -0,0 +1,10 @@ + +Dafny program verifier finished with 4 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-314.dfy b/Test/git-issues/git-issue-314.dfy index a7fc06564a5..5e3e93ca654 100644 --- a/Test/git-issues/git-issue-314.dfy +++ b/Test/git-issues/git-issue-314.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype S = S(G: array) datatype T = T(F: array, ghost Repr: set) diff --git a/Test/git-issues/git-issue-314.dfy.expect b/Test/git-issues/git-issue-314.dfy.expect index e69de29bb2d..f02fc57989a 100644 --- a/Test/git-issues/git-issue-314.dfy.expect +++ b/Test/git-issues/git-issue-314.dfy.expect @@ -0,0 +1,10 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-332.dfy b/Test/git-issues/git-issue-332.dfy index 5166441405d..ca2b08f3e8d 100644 --- a/Test/git-issues/git-issue-332.dfy +++ b/Test/git-issues/git-issue-332.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var foo := new B.Foo(15); diff --git a/Test/git-issues/git-issue-332.dfy.expect b/Test/git-issues/git-issue-332.dfy.expect index 209e3ef4b62..57cad39addf 100644 --- a/Test/git-issues/git-issue-332.dfy.expect +++ b/Test/git-issues/git-issue-332.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 6 verified, 0 errors 20 diff --git a/Test/git-issues/git-issue-354.dfy b/Test/git-issues/git-issue-354.dfy index c3d63021209..5938c2f71ae 100644 --- a/Test/git-issues/git-issue-354.dfy +++ b/Test/git-issues/git-issue-354.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" class C { static const u: X diff --git a/Test/git-issues/git-issue-354.dfy.expect b/Test/git-issues/git-issue-354.dfy.expect index 4368562357f..cb5ae21dc46 100644 --- a/Test/git-issues/git-issue-354.dfy.expect +++ b/Test/git-issues/git-issue-354.dfy.expect @@ -1,3 +1,25 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification +0 +0 +0.0 +false + +Dafny program verifier did not attempt verification +0 +0 +0.0 +false + +Dafny program verifier did not attempt verification +0 +0 +0.0 +false + +Dafny program verifier did not attempt verification 0 0 0.0 diff --git a/Test/git-issues/git-issue-356.dfy b/Test/git-issues/git-issue-356.dfy index 2d497c0531c..f5c34b0803b 100644 --- a/Test/git-issues/git-issue-356.dfy +++ b/Test/git-issues/git-issue-356.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" module M { type Tx = i: int | 0 <= i <= 100 diff --git a/Test/git-issues/git-issue-356.dfy.expect b/Test/git-issues/git-issue-356.dfy.expect index 9d984ec4ef4..cff4ed233e1 100644 --- a/Test/git-issues/git-issue-356.dfy.expect +++ b/Test/git-issues/git-issue-356.dfy.expect @@ -1,3 +1,39 @@ + +Dafny program verifier finished with 25 verified, 0 errors + +Dafny program verifier did not attempt verification +a d 57005 * * +Z 90 90.0 90 90 +* 42 42.0 42 42 +F 70 70.0 70 70 +# 35 35.0 35 35 +END + +Dafny program verifier did not attempt verification +a d 57005 * * +Z 90 90.0 90 90 +* 42 42.0 42 42 +F 70 70.0 70 70 +# 35 35.0 35 35 +END + +Dafny program verifier did not attempt verification +a d 57005 * * +Z 90 90.0 90 90 +* 42 42.0 42 42 +F 70 70.0 70 70 +# 35 35.0 35 35 +END + +Dafny program verifier did not attempt verification +a d 57005 * * +Z 90 90.0 90 90 +* 42 42.0 42 42 +F 70 70.0 70 70 +# 35 35.0 35 35 +END + +Dafny program verifier did not attempt verification a d 57005 * * Z 90 90.0 90 90 * 42 42.0 42 42 diff --git a/Test/git-issues/git-issue-364.dfy b/Test/git-issues/git-issue-364.dfy index 68c75931746..0fdedc7d9c0 100644 --- a/Test/git-issues/git-issue-364.dfy +++ b/Test/git-issues/git-issue-364.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype NatOutcome = | Success(value: nat) diff --git a/Test/git-issues/git-issue-364.dfy.expect b/Test/git-issues/git-issue-364.dfy.expect index 38478c6c688..1368349d437 100644 --- a/Test/git-issues/git-issue-364.dfy.expect +++ b/Test/git-issues/git-issue-364.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 4 verified, 0 errors NatOutcome.Success(55) false 55 12 0 NatOutcome.Failure("it could be worse") true NatOutcome.Failure("it could be worse") diff --git a/Test/git-issues/git-issue-374.dfy b/Test/git-issues/git-issue-374.dfy index 15b56ec6396..4c031b7d3ff 100644 --- a/Test/git-issues/git-issue-374.dfy +++ b/Test/git-issues/git-issue-374.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" class C { constructor(ghost x: int) diff --git a/Test/git-issues/git-issue-374.dfy.expect b/Test/git-issues/git-issue-374.dfy.expect index e69de29bb2d..f02fc57989a 100644 --- a/Test/git-issues/git-issue-374.dfy.expect +++ b/Test/git-issues/git-issue-374.dfy.expect @@ -0,0 +1,10 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-396.dfy b/Test/git-issues/git-issue-396.dfy index 7866d3d0498..2ab68e51e12 100644 --- a/Test/git-issues/git-issue-396.dfy +++ b/Test/git-issues/git-issue-396.dfy @@ -1,4 +1,8 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" +// RUN: %dafny /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Foo = Bar(value: int) diff --git a/Test/git-issues/git-issue-396.dfy.expect b/Test/git-issues/git-issue-396.dfy.expect index dee79f10940..3dd340d3178 100644 --- a/Test/git-issues/git-issue-396.dfy.expect +++ b/Test/git-issues/git-issue-396.dfy.expect @@ -1 +1,12 @@ + +Dafny program verifier finished with 1 verified, 0 errors +114 + +Dafny program verifier finished with 1 verified, 0 errors +114 + +Dafny program verifier finished with 1 verified, 0 errors +114 + +Dafny program verifier finished with 1 verified, 0 errors 114 diff --git a/Test/git-issues/git-issue-4007.dfy b/Test/git-issues/git-issue-4007.dfy index 5a279e7b8e6..e4c25b82bb8 100644 --- a/Test/git-issues/git-issue-4007.dfy +++ b/Test/git-issues/git-issue-4007.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:4 /compileTarget:py "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var a := 0; @@ -6,4 +7,4 @@ method Main() { a := a + 1; } print a, "\n"; -} +} \ No newline at end of file diff --git a/Test/git-issues/git-issue-4007.dfy.expect b/Test/git-issues/git-issue-4007.dfy.expect index 00750edc07d..3ce6919d35b 100644 --- a/Test/git-issues/git-issue-4007.dfy.expect +++ b/Test/git-issues/git-issue-4007.dfy.expect @@ -1 +1,4 @@ +git-issue-4007.dfy(6,20): Warning: /!\ No terms found to trigger on. + +Dafny program verifier finished with 1 verified, 0 errors 3 diff --git a/Test/git-issues/git-issue-4007.dfy.verifier.expect b/Test/git-issues/git-issue-4007.dfy.verifier.expect deleted file mode 100644 index 1d4310d09b5..00000000000 --- a/Test/git-issues/git-issue-4007.dfy.verifier.expect +++ /dev/null @@ -1 +0,0 @@ -git-issue-4007.dfy(5,20): Warning: /!\ No terms found to trigger on. diff --git a/Test/git-issues/git-issue-4012.dfy b/Test/git-issues/git-issue-4012.dfy index 5360c0e935b..e065393a211 100644 --- a/Test/git-issues/git-issue-4012.dfy +++ b/Test/git-issues/git-issue-4012.dfy @@ -1,7 +1,8 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:4 /compileTarget:py "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var x: multiset := multiset{}; x := x[1 := 18446744073709551616]; print |x|, "\n"; -} +} \ No newline at end of file diff --git a/Test/git-issues/git-issue-4012.dfy.expect b/Test/git-issues/git-issue-4012.dfy.expect index ab69b99fab4..230fbdbd384 100644 --- a/Test/git-issues/git-issue-4012.dfy.expect +++ b/Test/git-issues/git-issue-4012.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 1 verified, 0 errors 18446744073709551616 diff --git a/Test/git-issues/git-issue-425.dfy b/Test/git-issues/git-issue-425.dfy index 122a10e4fbb..4e555daaed0 100644 --- a/Test/git-issues/git-issue-425.dfy +++ b/Test/git-issues/git-issue-425.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method M() returns (x: int, ghost y: int) { return 42, 43; diff --git a/Test/git-issues/git-issue-425.dfy.expect b/Test/git-issues/git-issue-425.dfy.expect index daaac9e3030..c2284013d9e 100644 --- a/Test/git-issues/git-issue-425.dfy.expect +++ b/Test/git-issues/git-issue-425.dfy.expect @@ -1,2 +1,18 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification +42 +42 + +Dafny program verifier did not attempt verification +42 +42 + +Dafny program verifier did not attempt verification +42 +42 + +Dafny program verifier did not attempt verification 42 42 diff --git a/Test/git-issues/git-issue-443.dfy b/Test/git-issues/git-issue-443.dfy index 6702e37484f..e8745b5ddda 100644 --- a/Test/git-issues/git-issue-443.dfy +++ b/Test/git-issues/git-issue-443.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { print F(), " ", G(802.11), "\n"; // 12 15 diff --git a/Test/git-issues/git-issue-443.dfy.expect b/Test/git-issues/git-issue-443.dfy.expect index 0b64712fdcf..10af01216da 100644 --- a/Test/git-issues/git-issue-443.dfy.expect +++ b/Test/git-issues/git-issue-443.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors 12 15 diff --git a/Test/git-issues/git-issue-446.dfy b/Test/git-issues/git-issue-446.dfy index a66a9272d18..0656587fd03 100644 --- a/Test/git-issues/git-issue-446.dfy +++ b/Test/git-issues/git-issue-446.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Result = Success(value: T) | Failure(error: string) { diff --git a/Test/git-issues/git-issue-446.dfy.expect b/Test/git-issues/git-issue-446.dfy.expect index 8165c2056d0..18195d22344 100644 --- a/Test/git-issues/git-issue-446.dfy.expect +++ b/Test/git-issues/git-issue-446.dfy.expect @@ -1,3 +1,22 @@ + +Dafny program verifier finished with 9 verified, 0 errors + +Dafny program verifier did not attempt verification +true -2 +true 42 +End + +Dafny program verifier did not attempt verification +true -2 +true 42 +End + +Dafny program verifier did not attempt verification +true -2 +true 42 +End + +Dafny program verifier did not attempt verification true -2 true 42 End diff --git a/Test/git-issues/git-issue-446a.dfy b/Test/git-issues/git-issue-446a.dfy index 2c559cea76d..41917680fee 100644 --- a/Test/git-issues/git-issue-446a.dfy +++ b/Test/git-issues/git-issue-446a.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Result = Success(value: T) | Failure(error: string) { diff --git a/Test/git-issues/git-issue-446a.dfy.expect b/Test/git-issues/git-issue-446a.dfy.expect index 9897e1c3f56..fbf9ee6f31d 100644 --- a/Test/git-issues/git-issue-446a.dfy.expect +++ b/Test/git-issues/git-issue-446a.dfy.expect @@ -1,3 +1,22 @@ + +Dafny program verifier finished with 9 verified, 0 errors + +Dafny program verifier did not attempt verification +OK +true OK +true -2 End + +Dafny program verifier did not attempt verification +OK +true OK +true -2 End + +Dafny program verifier did not attempt verification +OK +true OK +true -2 End + +Dafny program verifier did not attempt verification OK true OK true -2 End diff --git a/Test/git-issues/git-issue-446b.dfy b/Test/git-issues/git-issue-446b.dfy index 79e55d9a1f8..aa7ac30d9a7 100644 --- a/Test/git-issues/git-issue-446b.dfy +++ b/Test/git-issues/git-issue-446b.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Result = Success(value: T) | Failure(error: string) { diff --git a/Test/git-issues/git-issue-446b.dfy.expect b/Test/git-issues/git-issue-446b.dfy.expect index 36fdd8ba47b..0e99363fdb9 100644 --- a/Test/git-issues/git-issue-446b.dfy.expect +++ b/Test/git-issues/git-issue-446b.dfy.expect @@ -1,3 +1,28 @@ + +Dafny program verifier finished with 10 verified, 0 errors + +Dafny program verifier did not attempt verification +OK +true OK +true -2 +true 100 +End + +Dafny program verifier did not attempt verification +OK +true OK +true -2 +true 100 +End + +Dafny program verifier did not attempt verification +OK +true OK +true -2 +true 100 +End + +Dafny program verifier did not attempt verification OK true OK true -2 diff --git a/Test/git-issues/git-issue-478-good.dfy b/Test/git-issues/git-issue-478-good.dfy index 9abce41e97c..b3fab26a312 100644 --- a/Test/git-issues/git-issue-478-good.dfy +++ b/Test/git-issues/git-issue-478-good.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // By first defining import LibA and then defining a module LibA, // the latter used to generate: diff --git a/Test/git-issues/git-issue-478-good.dfy.expect b/Test/git-issues/git-issue-478-good.dfy.expect index 6807b84eba5..17aea610943 100644 --- a/Test/git-issues/git-issue-478-good.dfy.expect +++ b/Test/git-issues/git-issue-478-good.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 1 verified, 0 errors hello hello hi diff --git a/Test/git-issues/git-issue-506.dfy b/Test/git-issues/git-issue-506.dfy index b2a409951a1..d25596621de 100644 --- a/Test/git-issues/git-issue-506.dfy +++ b/Test/git-issues/git-issue-506.dfy @@ -1,4 +1,8 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" +// RUN: %dafny /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/git-issues/git-issue-506.dfy.expect b/Test/git-issues/git-issue-506.dfy.expect index ef2606ec5dc..e2bb6d644d9 100644 --- a/Test/git-issues/git-issue-506.dfy.expect +++ b/Test/git-issues/git-issue-506.dfy.expect @@ -1,3 +1,29 @@ + +Dafny program verifier finished with 2 verified, 0 errors +7 301 +8 391 +2 2 +4 5 +6 7 +2 3 7 0 + +Dafny program verifier finished with 2 verified, 0 errors +7 301 +8 391 +2 2 +4 5 +6 7 +2 3 7 0 + +Dafny program verifier finished with 2 verified, 0 errors +7 301 +8 391 +2 2 +4 5 +6 7 +2 3 7 0 + +Dafny program verifier finished with 2 verified, 0 errors 7 301 8 391 2 2 diff --git a/Test/git-issues/git-issue-532.dfy b/Test/git-issues/git-issue-532.dfy index 2a2b5aaaf2e..3d511dbb4c8 100644 --- a/Test/git-issues/git-issue-532.dfy +++ b/Test/git-issues/git-issue-532.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" predicate SuppressNoTriggerWarning(x: X) { true } diff --git a/Test/git-issues/git-issue-532.dfy.expect b/Test/git-issues/git-issue-532.dfy.expect index 0f3ef3de427..1bd9e82cc5a 100644 --- a/Test/git-issues/git-issue-532.dfy.expect +++ b/Test/git-issues/git-issue-532.dfy.expect @@ -1,3 +1,22 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification +t.x=5 The given Tr is a C, and c.y=6 +t.x=100 The given Tr is not a C +t.x=5 The given Tr is a C, and c.y=16 + +Dafny program verifier did not attempt verification +t.x=5 The given Tr is a C, and c.y=6 +t.x=100 The given Tr is not a C +t.x=5 The given Tr is a C, and c.y=16 + +Dafny program verifier did not attempt verification +t.x=5 The given Tr is a C, and c.y=6 +t.x=100 The given Tr is not a C +t.x=5 The given Tr is a C, and c.y=16 + +Dafny program verifier did not attempt verification t.x=5 The given Tr is a C, and c.y=6 t.x=100 The given Tr is not a C t.x=5 The given Tr is a C, and c.y=16 diff --git a/Test/git-issues/git-issue-549.dfy b/Test/git-issues/git-issue-549.dfy index d362a0bd039..2e5ab322f23 100644 --- a/Test/git-issues/git-issue-549.dfy +++ b/Test/git-issues/git-issue-549.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" trait T { function bar(): bv8 diff --git a/Test/git-issues/git-issue-549.dfy.expect b/Test/git-issues/git-issue-549.dfy.expect index 6e0790e778e..3ae509fee5e 100644 --- a/Test/git-issues/git-issue-549.dfy.expect +++ b/Test/git-issues/git-issue-549.dfy.expect @@ -1,2 +1,10 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification +bar() = 1 +bar() = 1 + +Dafny program verifier did not attempt verification bar() = 1 bar() = 1 diff --git a/Test/git-issues/git-issue-622$f.dfy b/Test/git-issues/git-issue-622$f.dfy index 2a7003e0f4e..fe4fdf38e03 100644 --- a/Test/git-issues/git-issue-622$f.dfy +++ b/Test/git-issues/git-issue-622$f.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:3 /compileTarget:java /spillTargetCode:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { } diff --git a/Test/git-issues/git-issue-622$f.dfy.expect b/Test/git-issues/git-issue-622$f.dfy.expect index e69de29bb2d..012f5b99379 100644 --- a/Test/git-issues/git-issue-622$f.dfy.expect +++ b/Test/git-issues/git-issue-622$f.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/git-issues/git-issue-684.dfy b/Test/git-issues/git-issue-684.dfy index 4c2b0a8fa02..b1fbd7ab036 100644 --- a/Test/git-issues/git-issue-684.dfy +++ b/Test/git-issues/git-issue-684.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Level1 = Level1(u:int) datatype Level2 = Level2(u:int, l:Level1) diff --git a/Test/git-issues/git-issue-684.dfy.expect b/Test/git-issues/git-issue-684.dfy.expect index e69de29bb2d..65d3b5d6635 100644 --- a/Test/git-issues/git-issue-684.dfy.expect +++ b/Test/git-issues/git-issue-684.dfy.expect @@ -0,0 +1,10 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-686.dfy b/Test/git-issues/git-issue-686.dfy index 9845ce2b027..bbc975200c8 100644 --- a/Test/git-issues/git-issue-686.dfy +++ b/Test/git-issues/git-issue-686.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Color = Blue | Red diff --git a/Test/git-issues/git-issue-686.dfy.expect b/Test/git-issues/git-issue-686.dfy.expect index c12f8e66df2..f30b0581688 100644 --- a/Test/git-issues/git-issue-686.dfy.expect +++ b/Test/git-issues/git-issue-686.dfy.expect @@ -1 +1,24 @@ +git-issue-686.dfy(13,2): Warning: this branch is redundant +git-issue-686.dfy(21,2): Warning: this branch is redundant + +Dafny program verifier finished with 1 verified, 0 errors +git-issue-686.dfy(13,2): Warning: this branch is redundant +git-issue-686.dfy(21,2): Warning: this branch is redundant + +Dafny program verifier did not attempt verification +6 0 +git-issue-686.dfy(13,2): Warning: this branch is redundant +git-issue-686.dfy(21,2): Warning: this branch is redundant + +Dafny program verifier did not attempt verification +6 0 +git-issue-686.dfy(13,2): Warning: this branch is redundant +git-issue-686.dfy(21,2): Warning: this branch is redundant + +Dafny program verifier did not attempt verification +6 0 +git-issue-686.dfy(13,2): Warning: this branch is redundant +git-issue-686.dfy(21,2): Warning: this branch is redundant + +Dafny program verifier did not attempt verification 6 0 diff --git a/Test/git-issues/git-issue-686.dfy.verifier.expect b/Test/git-issues/git-issue-686.dfy.verifier.expect deleted file mode 100644 index 805bd55730c..00000000000 --- a/Test/git-issues/git-issue-686.dfy.verifier.expect +++ /dev/null @@ -1,2 +0,0 @@ -git-issue-686.dfy(8,2): Warning: this branch is redundant -git-issue-686.dfy(16,2): Warning: this branch is redundant diff --git a/Test/git-issues/git-issue-697.dfy b/Test/git-issues/git-issue-697.dfy index 23cce66dee7..095c1a02399 100644 --- a/Test/git-issues/git-issue-697.dfy +++ b/Test/git-issues/git-issue-697.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Cell = Cell(x: int) type EvenCell = c: Cell | c.x % 2 == 0 witness Cell(0) diff --git a/Test/git-issues/git-issue-697.dfy.expect b/Test/git-issues/git-issue-697.dfy.expect index f32a5804e29..188a72ebc36 100644 --- a/Test/git-issues/git-issue-697.dfy.expect +++ b/Test/git-issues/git-issue-697.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-697b.dfy b/Test/git-issues/git-issue-697b.dfy index cdb054d8d78..cfdd3fd0821 100644 --- a/Test/git-issues/git-issue-697b.dfy +++ b/Test/git-issues/git-issue-697b.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Cell = Cell(x: int) type EvenCell = c: Cell | c.x % 2 == 0 witness Cell(0) diff --git a/Test/git-issues/git-issue-697b.dfy.expect b/Test/git-issues/git-issue-697b.dfy.expect index 9c777ac6a0f..b355409912b 100644 --- a/Test/git-issues/git-issue-697b.dfy.expect +++ b/Test/git-issues/git-issue-697b.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors false 2 diff --git a/Test/git-issues/git-issue-697d.dfy b/Test/git-issues/git-issue-697d.dfy index 8b65c2da4f7..71a262fc985 100644 --- a/Test/git-issues/git-issue-697d.dfy +++ b/Test/git-issues/git-issue-697d.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" function nonGhostPredicate(x: int): bool { x % 2 == 0 diff --git a/Test/git-issues/git-issue-697d.dfy.expect b/Test/git-issues/git-issue-697d.dfy.expect index f32a5804e29..48fb59aeae5 100644 --- a/Test/git-issues/git-issue-697d.dfy.expect +++ b/Test/git-issues/git-issue-697d.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 4 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-697e.dfy b/Test/git-issues/git-issue-697e.dfy index 310851abf9a..e4500bfab28 100644 --- a/Test/git-issues/git-issue-697e.dfy +++ b/Test/git-issues/git-issue-697e.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Cell = Cell(x: int) type EvenCell = c: Cell | c.x % 2 == 0 witness Cell(0) diff --git a/Test/git-issues/git-issue-697e.dfy.expect b/Test/git-issues/git-issue-697e.dfy.expect index e69de29bb2d..00a51f822da 100644 --- a/Test/git-issues/git-issue-697e.dfy.expect +++ b/Test/git-issues/git-issue-697e.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 3 verified, 0 errors diff --git a/Test/git-issues/git-issue-697f.dfy b/Test/git-issues/git-issue-697f.dfy index acb8810dfbf..92d1cec2ed8 100644 --- a/Test/git-issues/git-issue-697f.dfy +++ b/Test/git-issues/git-issue-697f.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" ghost function ghostPredicate(x: int): bool { x % 2 == 0 diff --git a/Test/git-issues/git-issue-697f.dfy.expect b/Test/git-issues/git-issue-697f.dfy.expect index b5754e20373..3e2cf8d0f69 100644 --- a/Test/git-issues/git-issue-697f.dfy.expect +++ b/Test/git-issues/git-issue-697f.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 4 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-697g.dfy b/Test/git-issues/git-issue-697g.dfy index 7b30de7f3a0..c3b7581ff61 100644 --- a/Test/git-issues/git-issue-697g.dfy +++ b/Test/git-issues/git-issue-697g.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" function returnNat(c: nat): int { diff --git a/Test/git-issues/git-issue-697g.dfy.expect b/Test/git-issues/git-issue-697g.dfy.expect index f32a5804e29..d9157fa820a 100644 --- a/Test/git-issues/git-issue-697g.dfy.expect +++ b/Test/git-issues/git-issue-697g.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-698.dfy b/Test/git-issues/git-issue-698.dfy index 7b7a9ca15b8..b15295c9b46 100644 --- a/Test/git-issues/git-issue-698.dfy +++ b/Test/git-issues/git-issue-698.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" type Small = x: int | 0 <= x < 100 && x != 3 diff --git a/Test/git-issues/git-issue-698.dfy.expect b/Test/git-issues/git-issue-698.dfy.expect index 27ba77ddaf6..7f965a65d2e 100644 --- a/Test/git-issues/git-issue-698.dfy.expect +++ b/Test/git-issues/git-issue-698.dfy.expect @@ -1 +1,8 @@ + +Dafny program verifier finished with 3 verified, 0 errors + +Dafny program verifier did not attempt verification +true + +Dafny program verifier did not attempt verification true diff --git a/Test/git-issues/git-issue-698b.dfy b/Test/git-issues/git-issue-698b.dfy index dbdbc3b36d3..1d4a92456e6 100644 --- a/Test/git-issues/git-issue-698b.dfy +++ b/Test/git-issues/git-issue-698b.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" type Small = x: int | 0 <= x < 100 && x != 3 @@ -12,4 +13,4 @@ method Main() { var b := !exists n: Small :: F(n) != 100; assert b; print b; -} +} \ No newline at end of file diff --git a/Test/git-issues/git-issue-698b.dfy.expect b/Test/git-issues/git-issue-698b.dfy.expect index f32a5804e29..188a72ebc36 100644 --- a/Test/git-issues/git-issue-698b.dfy.expect +++ b/Test/git-issues/git-issue-698b.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-701.dfy b/Test/git-issues/git-issue-701.dfy index 38984df4ecf..af19f0d89e2 100644 --- a/Test/git-issues/git-issue-701.dfy +++ b/Test/git-issues/git-issue-701.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var ca := new ClassA; diff --git a/Test/git-issues/git-issue-701.dfy.expect b/Test/git-issues/git-issue-701.dfy.expect index 5198c09cbb1..4d20966e641 100644 --- a/Test/git-issues/git-issue-701.dfy.expect +++ b/Test/git-issues/git-issue-701.dfy.expect @@ -1,3 +1,22 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification +0 0 0 +[] [] [] +C.Nothing C.Nothing C.Nothing + +Dafny program verifier did not attempt verification +0 0 0 +[] [] [] +C.Nothing C.Nothing C.Nothing + +Dafny program verifier did not attempt verification +0 0 0 +[] [] [] +C.Nothing C.Nothing C.Nothing + +Dafny program verifier did not attempt verification 0 0 0 [] [] [] C.Nothing C.Nothing C.Nothing diff --git a/Test/git-issues/git-issue-705.dfy b/Test/git-issues/git-issue-705.dfy index 9c36a336e8e..d4b806800c2 100644 --- a/Test/git-issues/git-issue-705.dfy +++ b/Test/git-issues/git-issue-705.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs /spillTargetCode:3 "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js /spillTargetCode:3 "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go /spillTargetCode:3 "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java /spillTargetCode:3 "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype MyDataType = AAA { function toString(): int { 222 } diff --git a/Test/git-issues/git-issue-705.dfy.expect b/Test/git-issues/git-issue-705.dfy.expect index 79a1eee7c74..02cf409667a 100644 --- a/Test/git-issues/git-issue-705.dfy.expect +++ b/Test/git-issues/git-issue-705.dfy.expect @@ -1 +1,14 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification +MyDataType.AAA 222 + +Dafny program verifier did not attempt verification +MyDataType.AAA 222 + +Dafny program verifier did not attempt verification +MyDataType.AAA 222 + +Dafny program verifier did not attempt verification MyDataType.AAA 222 diff --git a/Test/git-issues/git-issue-731.dfy b/Test/git-issues/git-issue-731.dfy index 348d40fecea..05d02fea1af 100644 --- a/Test/git-issues/git-issue-731.dfy +++ b/Test/git-issues/git-issue-731.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" trait Trait { const y: Y diff --git a/Test/git-issues/git-issue-731.dfy.expect b/Test/git-issues/git-issue-731.dfy.expect index 7554a44901e..69b2e6af648 100644 --- a/Test/git-issues/git-issue-731.dfy.expect +++ b/Test/git-issues/git-issue-731.dfy.expect @@ -1,2 +1,18 @@ + +Dafny program verifier finished with 3 verified, 0 errors + +Dafny program verifier did not attempt verification +0 0 0 42 +0 0 0 9 + +Dafny program verifier did not attempt verification +0 0 0 42 +0 0 0 9 + +Dafny program verifier did not attempt verification +0 0 0 42 +0 0 0 9 + +Dafny program verifier did not attempt verification 0 0 0 42 0 0 0 9 diff --git a/Test/git-issues/git-issue-731b.dfy b/Test/git-issues/git-issue-731b.dfy index 2a0507839a2..a77dbd6323b 100644 --- a/Test/git-issues/git-issue-731b.dfy +++ b/Test/git-issues/git-issue-731b.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // Testing issue#731 when the class in question has type parameters diff --git a/Test/git-issues/git-issue-731b.dfy.expect b/Test/git-issues/git-issue-731b.dfy.expect index dd3226d2b73..97e6c041920 100644 --- a/Test/git-issues/git-issue-731b.dfy.expect +++ b/Test/git-issues/git-issue-731b.dfy.expect @@ -1 +1,14 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification +0 42 + +Dafny program verifier did not attempt verification +0 42 + +Dafny program verifier did not attempt verification +0 42 + +Dafny program verifier did not attempt verification 0 42 diff --git a/Test/git-issues/git-issue-784.dfy b/Test/git-issues/git-issue-784.dfy index 5f6cf59465c..78b83f01064 100644 --- a/Test/git-issues/git-issue-784.dfy +++ b/Test/git-issues/git-issue-784.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype List = Nil | Cons(T, List) { function App(ys: List): List { diff --git a/Test/git-issues/git-issue-784.dfy.expect b/Test/git-issues/git-issue-784.dfy.expect index e69de29bb2d..8da23be5c8c 100644 --- a/Test/git-issues/git-issue-784.dfy.expect +++ b/Test/git-issues/git-issue-784.dfy.expect @@ -0,0 +1,10 @@ + +Dafny program verifier finished with 4 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-953.dfy b/Test/git-issues/git-issue-953.dfy index 9c14e6e4e98..adebc946c35 100644 --- a/Test/git-issues/git-issue-953.dfy +++ b/Test/git-issues/git-issue-953.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" module P { datatype T_ = T() // the underscore in this name once caused a problem in Java compilation diff --git a/Test/git-issues/git-issue-953.dfy.expect b/Test/git-issues/git-issue-953.dfy.expect index 8eec6126a08..8466ea62f3f 100644 --- a/Test/git-issues/git-issue-953.dfy.expect +++ b/Test/git-issues/git-issue-953.dfy.expect @@ -1,3 +1,39 @@ + +Dafny program verifier finished with 6 verified, 0 errors + +Dafny program verifier did not attempt verification +C1.T_.T +P.T_.T +OtherNamesWithSpecialCharacters?_.A?_.A?_ OtherNamesWithSpecialCharacters?_.B?_.B?_ +17 17 0 0 +C2.C.C(10, 11) +9 + +Dafny program verifier did not attempt verification +C1.T_.T +P.T_.T +OtherNamesWithSpecialCharacters?_.A?_.A?_ OtherNamesWithSpecialCharacters?_.B?_.B?_ +17 17 0 0 +C2.C.C(10, 11) +9 + +Dafny program verifier did not attempt verification +C1.T_.T +P.T_.T +OtherNamesWithSpecialCharacters?_.A?_.A?_ OtherNamesWithSpecialCharacters?_.B?_.B?_ +17 17 0 0 +C2.C.C(10, 11) +9 + +Dafny program verifier did not attempt verification +C1.T_.T +P.T_.T +OtherNamesWithSpecialCharacters?_.A?_.A?_ OtherNamesWithSpecialCharacters?_.B?_.B?_ +17 17 0 0 +C2.C.C(10, 11) +9 + +Dafny program verifier did not attempt verification C1.T_.T P.T_.T OtherNamesWithSpecialCharacters?_.A?_.A?_ OtherNamesWithSpecialCharacters?_.B?_.B?_ diff --git a/Test/git-issues/github-issue-3343.dfy b/Test/git-issues/github-issue-3343.dfy index d518b2a1a41..517a11d7fc1 100644 --- a/Test/git-issues/github-issue-3343.dfy +++ b/Test/git-issues/github-issue-3343.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" +// RUN: %baredafny run "%s" -t:java > "%t" +// RUN: %diff "%s.expect" "%t" method Bug() { var zero := 0; var a := new int[zero] []; diff --git a/Test/git-issues/github-issue-3343.dfy.expect b/Test/git-issues/github-issue-3343.dfy.expect index e69de29bb2d..823a60a105c 100644 --- a/Test/git-issues/github-issue-3343.dfy.expect +++ b/Test/git-issues/github-issue-3343.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 1 verified, 0 errors diff --git a/Test/hofs/Compilation.dfy b/Test/hofs/Compilation.dfy index 7e9c674b495..99fd0a36506 100644 --- a/Test/hofs/Compilation.dfy +++ b/Test/hofs/Compilation.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" class Ref { var val : A diff --git a/Test/hofs/Compilation.dfy.expect b/Test/hofs/Compilation.dfy.expect index 6b7187d2557..760fafc6189 100644 --- a/Test/hofs/Compilation.dfy.expect +++ b/Test/hofs/Compilation.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 2 verified, 0 errors 1 = 1 3 = 3 3 = 3 diff --git a/Test/hofs/Examples.dfy b/Test/hofs/Examples.dfy index bebda559221..cdf177c001f 100644 --- a/Test/hofs/Examples.dfy +++ b/Test/hofs/Examples.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" function Apply(f: A ~> B, x: A): B reads f.reads(x) diff --git a/Test/hofs/Examples.dfy.expect b/Test/hofs/Examples.dfy.expect index e69de29bb2d..851aaf58286 100644 --- a/Test/hofs/Examples.dfy.expect +++ b/Test/hofs/Examples.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 7 verified, 0 errors diff --git a/Test/hofs/Fold.dfy b/Test/hofs/Fold.dfy index 96ddb01591f..336f9121b52 100644 --- a/Test/hofs/Fold.dfy +++ b/Test/hofs/Fold.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype List = Nil | Cons(A,List) diff --git a/Test/hofs/Fold.dfy.expect b/Test/hofs/Fold.dfy.expect index 3abcc310618..144ffab92db 100644 --- a/Test/hofs/Fold.dfy.expect +++ b/Test/hofs/Fold.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors 3 = 3 diff --git a/Test/hofs/Renaming.dfy b/Test/hofs/Renaming.dfy index 391c0e79ef6..cf21fdba2f8 100644 --- a/Test/hofs/Renaming.dfy +++ b/Test/hofs/Renaming.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" function OnId(f : (bool -> bool) -> int) : int reads f.reads(x => x) diff --git a/Test/hofs/Renaming.dfy.expect b/Test/hofs/Renaming.dfy.expect index 13a954d9043..e2b6636dbe4 100644 --- a/Test/hofs/Renaming.dfy.expect +++ b/Test/hofs/Renaming.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 4 verified, 0 errors 10 11 diff --git a/Test/hofs/Requires.dfy b/Test/hofs/Requires.dfy index f5e51244184..de5944b6744 100644 --- a/Test/hofs/Requires.dfy +++ b/Test/hofs/Requires.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/hofs/Requires.dfy.expect b/Test/hofs/Requires.dfy.expect index e69de29bb2d..1981561ca00 100644 --- a/Test/hofs/Requires.dfy.expect +++ b/Test/hofs/Requires.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 10 verified, 0 errors diff --git a/Test/hofs/TreeMapSimple.dfy b/Test/hofs/TreeMapSimple.dfy index b7baf6eb8d7..d93aea46403 100644 --- a/Test/hofs/TreeMapSimple.dfy +++ b/Test/hofs/TreeMapSimple.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { TestY(); diff --git a/Test/hofs/TreeMapSimple.dfy.expect b/Test/hofs/TreeMapSimple.dfy.expect index be0317f1016..9224d605f7e 100644 --- a/Test/hofs/TreeMapSimple.dfy.expect +++ b/Test/hofs/TreeMapSimple.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 11 verified, 0 errors Tree.Branch(100, List.Cons(Tree.Branch(50, List.Nil), List.Nil)) Tree.Branch(100, List.Cons(Tree.Branch(50, List.Nil), List.Nil)) diff --git a/Test/hofs/VectorUpdate.dfy b/Test/hofs/VectorUpdate.dfy index 70c0de3084e..848ed585ca6 100644 --- a/Test/hofs/VectorUpdate.dfy +++ b/Test/hofs/VectorUpdate.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // this is a rather verbose version of the VectorUpdate method method VectorUpdate(N: int, a : array, f : (int,A) ~> A) diff --git a/Test/hofs/VectorUpdate.dfy.expect b/Test/hofs/VectorUpdate.dfy.expect index 7645f125857..b8fae39eab8 100644 --- a/Test/hofs/VectorUpdate.dfy.expect +++ b/Test/hofs/VectorUpdate.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 8 verified, 0 errors 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 100, 50, 33, 25, 20, 16, 14, 12, 11, 10 diff --git a/Test/hofs/WhileLoop.dfy b/Test/hofs/WhileLoop.dfy index 914f47f4522..4af9fbd841b 100644 --- a/Test/hofs/WhileLoop.dfy +++ b/Test/hofs/WhileLoop.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" class Ref { var val: A diff --git a/Test/hofs/WhileLoop.dfy.expect b/Test/hofs/WhileLoop.dfy.expect index 83083b451e1..234ac298c9b 100644 --- a/Test/hofs/WhileLoop.dfy.expect +++ b/Test/hofs/WhileLoop.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 4 verified, 0 errors 22 22 22 diff --git a/Test/metatests/OutputEncoding.dfy b/Test/metatests/OutputEncoding.dfy index 59fa53bf298..68c390ac811 100644 --- a/Test/metatests/OutputEncoding.dfy +++ b/Test/metatests/OutputEncoding.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" +// RUN: %baredafny verify %args "%s" > "%t" +// RUN: %baredafny run --no-verify --target=cs %args "%s" >> "%t" +// RUN: %baredafny run --no-verify --target=js %args "%s" >> "%t" +// RUN: %baredafny run --no-verify --target=go %args "%s" >> "%t" +// RUN: %baredafny run --no-verify --target=py %args "%s" >> "%t" +// RUN: %baredafny run --no-verify --target=java %args "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { // This works fine in all languages because € is a single UTF-16 code unit. diff --git a/Test/metatests/OutputEncoding.dfy.expect b/Test/metatests/OutputEncoding.dfy.expect index b25a57298f1..a37241376f3 100644 --- a/Test/metatests/OutputEncoding.dfy.expect +++ b/Test/metatests/OutputEncoding.dfy.expect @@ -1 +1,17 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification +Euro sign: € + +Dafny program verifier did not attempt verification +Euro sign: € + +Dafny program verifier did not attempt verification +Euro sign: € + +Dafny program verifier did not attempt verification +Euro sign: € + +Dafny program verifier did not attempt verification Euro sign: € diff --git a/Test/patterns/OrPatterns.dfy b/Test/patterns/OrPatterns.dfy index 6385bd55c93..4f2610c9379 100644 --- a/Test/patterns/OrPatterns.dfy +++ b/Test/patterns/OrPatterns.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /rprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Enum = One | Two | Three { predicate Even() { diff --git a/Test/patterns/OrPatterns.dfy.expect b/Test/patterns/OrPatterns.dfy.expect index d86bac9de59..a6fce7c4a13 100644 --- a/Test/patterns/OrPatterns.dfy.expect +++ b/Test/patterns/OrPatterns.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 11 verified, 0 errors OK diff --git a/Test/patterns/PatternMatching.dfy b/Test/patterns/PatternMatching.dfy index e8a73b856e4..477126c066a 100644 --- a/Test/patterns/PatternMatching.dfy +++ b/Test/patterns/PatternMatching.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" /* * This file contains a collection of tests for features modified or introduced in PR 458 @@ -221,4 +222,4 @@ method Main() { var r5 := MultipleNestedMatch(A(0), t4, bb); print "Testing MultipleNestedMatch: ", r0, r1, r2, r3, r4, r5, ", should return 012345\n"; -} +} \ No newline at end of file diff --git a/Test/patterns/PatternMatching.dfy.expect b/Test/patterns/PatternMatching.dfy.expect index b4415971ca5..2970273cbfc 100644 --- a/Test/patterns/PatternMatching.dfy.expect +++ b/Test/patterns/PatternMatching.dfy.expect @@ -1,3 +1,6 @@ +PatternMatching.dfy(102,4): Warning: this branch is redundant + +Dafny program verifier finished with 9 verified, 0 errors NestingTest([6]) = 6, should return 6 NestedVariableTest([2::3::4::5::6]) = 0, should return 0 ConstantTest([3::4::5::6]) = 2, should return 2 diff --git a/Test/patterns/PatternMatching.dfy.verifier.expect b/Test/patterns/PatternMatching.dfy.verifier.expect deleted file mode 100644 index b486aadfb80..00000000000 --- a/Test/patterns/PatternMatching.dfy.verifier.expect +++ /dev/null @@ -1 +0,0 @@ -PatternMatching.dfy(101,4): Warning: this branch is redundant diff --git a/Test/traits/TraitCompile.dfy b/Test/traits/TraitCompile.dfy index 6e9b925fbc5..03cf3746c6f 100644 --- a/Test/traits/TraitCompile.dfy +++ b/Test/traits/TraitCompile.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" trait TT { @@ -814,4 +820,4 @@ module RedeclaringMembers { true } } -} +} \ No newline at end of file diff --git a/Test/traits/TraitCompile.dfy.expect b/Test/traits/TraitCompile.dfy.expect index b70a9b09d2e..8257b754de2 100644 --- a/Test/traits/TraitCompile.dfy.expect +++ b/Test/traits/TraitCompile.dfy.expect @@ -1,3 +1,259 @@ + +Dafny program verifier finished with 75 verified, 0 errors + +Dafny program verifier did not attempt verification +y=120 +x=12 +d=800 +a5=407 +t=1212 +z=30 +z'=30 +w=30 +d=1000 +a5=507 +t=1512 +t=1512 +t=1515 +This is OtherModule.P(7.0) +From OtherModule.Y: 7 and true +This is OtherModule.P(7.0) +From OtherModule.X: 7 and true +c.f= 15 j.f= 15 +c.f= 18 j.f= 18 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +x=126 +5.2 9 false +true true true true +false false false false +true true true true +false false false false +5.2 5.2 +1.2 1.2 +1.2 1.2 +15 30 +15 30 +15 30 +0 (0, 0) 0 +8 +0 0 0 0 0 0 0 0 0 0 0 0 +13 13 13 13 13 13 13 13 13 13 13 13 +14 14 14 14 14 14 14 14 14 14 14 14 +15 15 15 15 15 15 15 15 15 15 15 15 +16 16 16 16 16 16 16 16 16 16 16 16 +17 17 17 17 17 17 17 17 17 17 17 17 +18 18 18 18 18 18 18 18 18 18 18 18 +19 19 19 19 19 19 19 19 19 19 19 19 +20 20 20 20 20 20 20 20 20 20 20 20 +21 21 21 21 21 21 21 21 21 21 21 21 +22 22 22 22 22 22 22 22 22 22 22 22 +23 23 23 23 23 23 23 23 23 23 23 23 +24 24 24 24 24 24 24 24 24 24 24 24 +f(4) = 7 +f(4) = 7 +g(4) = 7 +g(4) = 7 +41 15 26 +true true +true true +true true +true true +true true true +true true true + +Dafny program verifier did not attempt verification +y=120 +x=12 +d=800 +a5=407 +t=1212 +z=30 +z'=30 +w=30 +d=1000 +a5=507 +t=1512 +t=1512 +t=1515 +This is OtherModule.P(7.0) +From OtherModule.Y: 7 and true +This is OtherModule.P(7.0) +From OtherModule.X: 7 and true +c.f= 15 j.f= 15 +c.f= 18 j.f= 18 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +x=126 +5.2 9 false +true true true true +false false false false +true true true true +false false false false +5.2 5.2 +1.2 1.2 +1.2 1.2 +15 30 +15 30 +15 30 +0 (0, 0) 0 +8 +0 0 0 0 0 0 0 0 0 0 0 0 +13 13 13 13 13 13 13 13 13 13 13 13 +14 14 14 14 14 14 14 14 14 14 14 14 +15 15 15 15 15 15 15 15 15 15 15 15 +16 16 16 16 16 16 16 16 16 16 16 16 +17 17 17 17 17 17 17 17 17 17 17 17 +18 18 18 18 18 18 18 18 18 18 18 18 +19 19 19 19 19 19 19 19 19 19 19 19 +20 20 20 20 20 20 20 20 20 20 20 20 +21 21 21 21 21 21 21 21 21 21 21 21 +22 22 22 22 22 22 22 22 22 22 22 22 +23 23 23 23 23 23 23 23 23 23 23 23 +24 24 24 24 24 24 24 24 24 24 24 24 +f(4) = 7 +f(4) = 7 +g(4) = 7 +g(4) = 7 +41 15 26 +true true +true true +true true +true true +true true true +true true true + +Dafny program verifier did not attempt verification +y=120 +x=12 +d=800 +a5=407 +t=1212 +z=30 +z'=30 +w=30 +d=1000 +a5=507 +t=1512 +t=1512 +t=1515 +This is OtherModule.P(7.0) +From OtherModule.Y: 7 and true +This is OtherModule.P(7.0) +From OtherModule.X: 7 and true +c.f= 15 j.f= 15 +c.f= 18 j.f= 18 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +x=126 +5.2 9 false +true true true true +false false false false +true true true true +false false false false +5.2 5.2 +1.2 1.2 +1.2 1.2 +15 30 +15 30 +15 30 +0 (0, 0) 0 +8 +0 0 0 0 0 0 0 0 0 0 0 0 +13 13 13 13 13 13 13 13 13 13 13 13 +14 14 14 14 14 14 14 14 14 14 14 14 +15 15 15 15 15 15 15 15 15 15 15 15 +16 16 16 16 16 16 16 16 16 16 16 16 +17 17 17 17 17 17 17 17 17 17 17 17 +18 18 18 18 18 18 18 18 18 18 18 18 +19 19 19 19 19 19 19 19 19 19 19 19 +20 20 20 20 20 20 20 20 20 20 20 20 +21 21 21 21 21 21 21 21 21 21 21 21 +22 22 22 22 22 22 22 22 22 22 22 22 +23 23 23 23 23 23 23 23 23 23 23 23 +24 24 24 24 24 24 24 24 24 24 24 24 +f(4) = 7 +f(4) = 7 +g(4) = 7 +g(4) = 7 +41 15 26 +true true +true true +true true +true true +true true true +true true true + +Dafny program verifier did not attempt verification +y=120 +x=12 +d=800 +a5=407 +t=1212 +z=30 +z'=30 +w=30 +d=1000 +a5=507 +t=1512 +t=1512 +t=1515 +This is OtherModule.P(7.0) +From OtherModule.Y: 7 and true +This is OtherModule.P(7.0) +From OtherModule.X: 7 and true +c.f= 15 j.f= 15 +c.f= 18 j.f= 18 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +x=126 +5.2 9 false +true true true true +false false false false +true true true true +false false false false +5.2 5.2 +1.2 1.2 +1.2 1.2 +15 30 +15 30 +15 30 +0 (0, 0) 0 +8 +0 0 0 0 0 0 0 0 0 0 0 0 +13 13 13 13 13 13 13 13 13 13 13 13 +14 14 14 14 14 14 14 14 14 14 14 14 +15 15 15 15 15 15 15 15 15 15 15 15 +16 16 16 16 16 16 16 16 16 16 16 16 +17 17 17 17 17 17 17 17 17 17 17 17 +18 18 18 18 18 18 18 18 18 18 18 18 +19 19 19 19 19 19 19 19 19 19 19 19 +20 20 20 20 20 20 20 20 20 20 20 20 +21 21 21 21 21 21 21 21 21 21 21 21 +22 22 22 22 22 22 22 22 22 22 22 22 +23 23 23 23 23 23 23 23 23 23 23 23 +24 24 24 24 24 24 24 24 24 24 24 24 +f(4) = 7 +f(4) = 7 +g(4) = 7 +g(4) = 7 +41 15 26 +true true +true true +true true +true true +true true true +true true true + +Dafny program verifier did not attempt verification y=120 x=12 d=800 diff --git a/Test/traits/TraitExample.dfy b/Test/traits/TraitExample.dfy index 54c5cbbec6f..d6afb4ce70b 100644 --- a/Test/traits/TraitExample.dfy +++ b/Test/traits/TraitExample.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" trait Automobile { ghost var Repr: set diff --git a/Test/traits/TraitExample.dfy.expect b/Test/traits/TraitExample.dfy.expect index b9783e62141..c1b4ac93962 100644 --- a/Test/traits/TraitExample.dfy.expect +++ b/Test/traits/TraitExample.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 29 verified, 0 errors Fiat: 6 Volvo: 20 Catacar: 26 diff --git a/Test/traits/Traits-Fields.dfy b/Test/traits/Traits-Fields.dfy index 6ae1aaab6d9..2da609c33c8 100644 --- a/Test/traits/Traits-Fields.dfy +++ b/Test/traits/Traits-Fields.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" trait J { diff --git a/Test/traits/Traits-Fields.dfy.expect b/Test/traits/Traits-Fields.dfy.expect index c39bd8b5d5d..cc460fc52f4 100644 --- a/Test/traits/Traits-Fields.dfy.expect +++ b/Test/traits/Traits-Fields.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 2 verified, 0 errors j.x = 9 c.x = 9 diff --git a/Test/traits/TraitsMultipleInheritance.dfy b/Test/traits/TraitsMultipleInheritance.dfy index 67fd8673488..12590e47828 100644 --- a/Test/traits/TraitsMultipleInheritance.dfy +++ b/Test/traits/TraitsMultipleInheritance.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" trait J1{ var x: int diff --git a/Test/traits/TraitsMultipleInheritance.dfy.expect b/Test/traits/TraitsMultipleInheritance.dfy.expect index b116b2d070d..ad1a1011a25 100644 --- a/Test/traits/TraitsMultipleInheritance.dfy.expect +++ b/Test/traits/TraitsMultipleInheritance.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 1 verified, 0 errors c.x + c.y = 30 j1.x + j2.y = 30 diff --git a/Test/unicodechars/comp/Collections.dfy b/Test/unicodechars/comp/Collections.dfy index 14d241ed5ab..fb3e451eb83 100644 --- a/Test/unicodechars/comp/Collections.dfy +++ b/Test/unicodechars/comp/Collections.dfy @@ -1,3 +1,8 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:true --verify-included-files +// RUN: %dafny /compile:0 /verifyAllModules /unicodeChar:1 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" include "../../comp/Collections.dfy" diff --git a/Test/unicodechars/comp/Collections.dfy.expect b/Test/unicodechars/comp/Collections.dfy.expect index 89f08b08d75..70586502b0d 100644 --- a/Test/unicodechars/comp/Collections.dfy.expect +++ b/Test/unicodechars/comp/Collections.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 40 verified, 0 errors + +Dafny program verifier did not attempt verification Sets: {} {17, 82} {12, 17} cardinality: 0 2 2 union: {17, 82} {12, 17, 82} @@ -123,3 +127,511 @@ Multiset=== 1 3 |s|=2 |u|=4 1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Yellow := 21, Color.Blue := 30] +keys: {Color.Yellow, Color.Blue} +values: {21, 30} +items: {(Color.Yellow, 21), (Color.Blue, 30)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {21, 30} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.go.expect b/Test/unicodechars/comp/Collections.dfy.go.expect deleted file mode 100644 index 2fc0f3b7093..00000000000 --- a/Test/unicodechars/comp/Collections.dfy.go.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.java.expect b/Test/unicodechars/comp/Collections.dfy.java.expect deleted file mode 100644 index 39975cadfc4..00000000000 --- a/Test/unicodechars/comp/Collections.dfy.java.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Yellow := 21, Color.Blue := 30] -keys: {Color.Yellow, Color.Blue} -values: {21, 30} -items: {(Color.Yellow, 21), (Color.Blue, 30)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.js.expect b/Test/unicodechars/comp/Collections.dfy.js.expect deleted file mode 100644 index 2fc0f3b7093..00000000000 --- a/Test/unicodechars/comp/Collections.dfy.js.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.py.expect b/Test/unicodechars/comp/Collections.dfy.py.expect deleted file mode 100644 index e4e346dede0..00000000000 --- a/Test/unicodechars/comp/Collections.dfy.py.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {21, 30} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/unicodechars/comp/Comprehensions.dfy b/Test/unicodechars/comp/Comprehensions.dfy index 8bd5f67525e..274f8d3a150 100644 --- a/Test/unicodechars/comp/Comprehensions.dfy +++ b/Test/unicodechars/comp/Comprehensions.dfy @@ -1,3 +1,8 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:true --verify-included-files -include "../../comp/Comprehensions.dfy" +// RUN: %dafny /compile:0 /unicodeChar:1 /verifyAllModules "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" +include "../../comp/Comprehensions.dfy" \ No newline at end of file diff --git a/Test/unicodechars/comp/Comprehensions.dfy.expect b/Test/unicodechars/comp/Comprehensions.dfy.expect index c9703fc9397..18159ddde0a 100644 --- a/Test/unicodechars/comp/Comprehensions.dfy.expect +++ b/Test/unicodechars/comp/Comprehensions.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 32 verified, 0 errors + +Dafny program verifier did not attempt verification x=13 y=14 x=13 y=14 b=yes true false @@ -60,3 +64,259 @@ true true [137438953474, 137438953475, 137438953476, 137438953477, 137438953479] cdefh cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[14 := 7, 12 := 6, 13 := 6] +map[18 := 14, 17 := 13, 16 := 12] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh diff --git a/Test/unicodechars/comp/Comprehensions.dfy.py.expect b/Test/unicodechars/comp/Comprehensions.dfy.py.expect deleted file mode 100644 index aeaa31fc0f3..00000000000 --- a/Test/unicodechars/comp/Comprehensions.dfy.py.expect +++ /dev/null @@ -1,62 +0,0 @@ -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[14 := 7, 12 := 6, 13 := 6] -map[18 := 14, 17 := 13, 16 := 12] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh diff --git a/Test/unicodechars/comp/NativeNumbers.dfy b/Test/unicodechars/comp/NativeNumbers.dfy index 20cdb1e214f..764b4b3b384 100644 --- a/Test/unicodechars/comp/NativeNumbers.dfy +++ b/Test/unicodechars/comp/NativeNumbers.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:true --verify-included-files // Skip JavaScript because JavaScript doesn't have the same native types -include "../../comp/NativeNumbers.dfy" +// RUN: %dafny /compile:0 /verifyAllModules /unicodeChar:1 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" +include "../../comp/NativeNumbers.dfy" \ No newline at end of file diff --git a/Test/unicodechars/comp/NativeNumbers.dfy.expect b/Test/unicodechars/comp/NativeNumbers.dfy.expect index 354d931a151..b0fc6754f84 100644 --- a/Test/unicodechars/comp/NativeNumbers.dfy.expect +++ b/Test/unicodechars/comp/NativeNumbers.dfy.expect @@ -1,3 +1,259 @@ + +Dafny program verifier finished with 25 verified, 0 errors + +Dafny program verifier did not attempt verification +Casting: + +Small numbers: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 +5 5 5 5 5 5 5 5 5 +6 6 6 6 6 6 6 6 6 +7 7 7 7 7 7 7 7 7 +8 8 8 8 8 8 8 8 8 + +Large unsigned numbers: +255 255 255 255 255 255 255 255 +65535 65535 65535 65535 65535 65535 +4294967295 4294967295 4294967295 4294967295 +18446744073709551615 18446744073709551615 + +Int to large unsigned: +255 65535 4294967295 18446744073709551615 + +Cast from cardinality operator: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 + +Characters: +'C' 67 67 67 67 67 67 67 67 67 +0 127 32767 65535 65535 255 65535 65535 65535 + +Defaults: + +0 0 0 0 0 0 0 0 0 + +Byte arithmetic: + +20 30 +10 10 18 + +Short arithmetic: + +20 30 +10 10 18 + +Bitvectors: + +0 3 4 1 + +Comparison to zero: + +int8: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int16: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int32: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int64: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint8: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint16: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint32: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint64: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N + + +Dafny program verifier did not attempt verification +Casting: + +Small numbers: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 +5 5 5 5 5 5 5 5 5 +6 6 6 6 6 6 6 6 6 +7 7 7 7 7 7 7 7 7 +8 8 8 8 8 8 8 8 8 + +Large unsigned numbers: +255 255 255 255 255 255 255 255 +65535 65535 65535 65535 65535 65535 +4294967295 4294967295 4294967295 4294967295 +18446744073709551615 18446744073709551615 + +Int to large unsigned: +255 65535 4294967295 18446744073709551615 + +Cast from cardinality operator: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 + +Characters: +'C' 67 67 67 67 67 67 67 67 67 +0 127 32767 65535 65535 255 65535 65535 65535 + +Defaults: + +0 0 0 0 0 0 0 0 0 + +Byte arithmetic: + +20 30 +10 10 18 + +Short arithmetic: + +20 30 +10 10 18 + +Bitvectors: + +0 3 4 1 + +Comparison to zero: + +int8: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int16: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int32: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int64: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint8: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint16: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint32: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint64: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N + + +Dafny program verifier did not attempt verification +Casting: + +Small numbers: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 +5 5 5 5 5 5 5 5 5 +6 6 6 6 6 6 6 6 6 +7 7 7 7 7 7 7 7 7 +8 8 8 8 8 8 8 8 8 + +Large unsigned numbers: +255 255 255 255 255 255 255 255 +65535 65535 65535 65535 65535 65535 +4294967295 4294967295 4294967295 4294967295 +18446744073709551615 18446744073709551615 + +Int to large unsigned: +255 65535 4294967295 18446744073709551615 + +Cast from cardinality operator: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 + +Characters: +'C' 67 67 67 67 67 67 67 67 67 +0 127 32767 65535 65535 255 65535 65535 65535 + +Defaults: + +0 0 0 0 0 0 0 0 0 + +Byte arithmetic: + +20 30 +10 10 18 + +Short arithmetic: + +20 30 +10 10 18 + +Bitvectors: + +0 3 4 1 + +Comparison to zero: + +int8: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int16: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int32: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int64: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint8: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint16: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint32: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint64: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N + + +Dafny program verifier did not attempt verification Casting: Small numbers: diff --git a/Test/unicodechars/comp/Numbers.dfy b/Test/unicodechars/comp/Numbers.dfy index e5e36180234..2c9170fe4d7 100644 --- a/Test/unicodechars/comp/Numbers.dfy +++ b/Test/unicodechars/comp/Numbers.dfy @@ -1,3 +1,8 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:true --verify-included-files -include "../../comp/Numbers.dfy" +// RUN: %dafny /compile:0 /verifyAllModules /unicodeChar:1 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" +include "../../comp/Numbers.dfy" \ No newline at end of file diff --git a/Test/unicodechars/comp/Numbers.dfy.expect b/Test/unicodechars/comp/Numbers.dfy.expect index cce193e1cce..6fa2f59f340 100644 --- a/Test/unicodechars/comp/Numbers.dfy.expect +++ b/Test/unicodechars/comp/Numbers.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 59 verified, 0 errors + +Dafny program verifier did not attempt verification 0 0 3 @@ -109,3 +113,455 @@ true false true false false true false true true false true false 20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +'g' 'Q' '2' +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +(312.0 / 40.0) (1248.0 / 40.0) +(-312.0 / 40.0) (-1248.0 / 40.0) +(-312.0 / 40.0) (1248.0 / 40.0) +(312.0 / 40.0) (-1248.0 / 40.0) +0.0 0.0 0.0 +120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) +123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 (8100.0 / 8100.0) +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +'g' 'Q' '2' +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +'g' 'Q' '2' +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +(312.0 / 40.0) (1248.0 / 40.0) +(-312.0 / 40.0) (-1248.0 / 40.0) +(-312.0 / 40.0) (1248.0 / 40.0) +(312.0 / 40.0) (-1248.0 / 40.0) +0.0 0.0 0.0 +120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) +123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 (8100.0 / 8100.0) +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +'g' 'Q' '2' +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 diff --git a/Test/unicodechars/comp/Numbers.dfy.go.expect b/Test/unicodechars/comp/Numbers.dfy.go.expect deleted file mode 100644 index 95d8ac259c7..00000000000 --- a/Test/unicodechars/comp/Numbers.dfy.go.expect +++ /dev/null @@ -1,111 +0,0 @@ -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -'g' 'Q' '2' -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 diff --git a/Test/unicodechars/comp/Numbers.dfy.py.expect b/Test/unicodechars/comp/Numbers.dfy.py.expect deleted file mode 100644 index 95d8ac259c7..00000000000 --- a/Test/unicodechars/comp/Numbers.dfy.py.expect +++ /dev/null @@ -1,111 +0,0 @@ -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -'g' 'Q' '2' -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 From 42255acc82c9de6cafb05965d209fa996c37c771 Mon Sep 17 00:00:00 2001 From: Robin Salkeld Date: Fri, 9 Jun 2023 18:20:32 -0700 Subject: [PATCH 50/68] LAST ONE --- Test/dafny0/GhostGuards.dfy.expect | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Test/dafny0/GhostGuards.dfy.expect b/Test/dafny0/GhostGuards.dfy.expect index 8bb8a71d69d..e21d6f3470a 100644 --- a/Test/dafny0/GhostGuards.dfy.expect +++ b/Test/dafny0/GhostGuards.dfy.expect @@ -1,7 +1,7 @@ -GhostGuards.dfy(12,9): Info: ghost if -GhostGuards.dfy(18,2): Info: ghost if -GhostGuards.dfy(28,2): Info: ghost while -GhostGuards.dfy(41,2): Info: ghost while -GhostGuards.dfy(54,2): Info: ghost match +GhostGuards.dfy(13,9): Info: ghost if +GhostGuards.dfy(19,2): Info: ghost if +GhostGuards.dfy(29,2): Info: ghost while +GhostGuards.dfy(42,2): Info: ghost while +GhostGuards.dfy(55,2): Info: ghost match Dafny program verifier finished with 1 verified, 0 errors From 3ab861bfdb5b20159b96a5aa9a01b6b97d4ec0bb Mon Sep 17 00:00:00 2001 From: Robin Salkeld Date: Fri, 9 Jun 2023 18:21:03 -0700 Subject: [PATCH 51/68] Convert all tests --- Test/VerifyThis2015/Problem1.dfy | 3 +- Test/VerifyThis2015/Problem1.dfy.expect | 2 - Test/VerifyThis2015/Problem2.dfy | 3 +- Test/VerifyThis2015/Problem2.dfy.expect | 2 - Test/VerifyThis2015/Problem3.dfy | 3 +- Test/VerifyThis2015/Problem3.dfy.expect | 2 - Test/c++/arrays.dfy | 3 +- Test/c++/arrays.dfy.expect | 2 - Test/c++/bit-vectors.dfy | 3 +- Test/c++/bit-vectors.dfy.expect | 2 - Test/c++/class.dfy | 3 +- Test/c++/class.dfy.expect | 2 - Test/c++/const.dfy | 3 +- Test/c++/const.dfy.expect | 2 - Test/c++/datatypes.dfy | 3 +- Test/c++/datatypes.dfy.expect | 2 - Test/c++/generic.dfy | 3 +- Test/c++/generic.dfy.expect | 2 - Test/c++/hello.dfy | 3 +- Test/c++/hello.dfy.expect | 2 - Test/c++/ints.dfy | 3 +- Test/c++/ints.dfy.expect | 2 - Test/c++/recursion.dfy | 3 +- Test/c++/recursion.dfy.expect | 2 - Test/c++/returns.dfy | 3 +- Test/c++/returns.dfy.expect | 2 - Test/c++/seqs.dfy | 3 +- Test/c++/seqs.dfy.expect | 2 - Test/c++/sets.dfy | 3 +- Test/c++/sets.dfy.expect | 2 - Test/c++/while.dfy | 3 +- Test/c++/while.dfy.expect | 2 - Test/comp/Arrays.dfy | 9 +- Test/comp/Arrays.dfy.expect | 396 ------------ Test/comp/Arrays.dfy.go.expect | 96 +++ Test/comp/AsIs-Compile.dfy | 8 +- Test/comp/AsIs-Compile.dfy.expect | 160 ----- Test/comp/AutoInit.dfy | 8 +- Test/comp/AutoInit.dfy.expect | 160 ----- Test/comp/ByMethodCompilation.dfy | 8 +- Test/comp/ByMethodCompilation.dfy.expect | 32 - Test/comp/Calls.dfy | 8 +- Test/comp/Calls.dfy.expect | 40 -- Test/comp/Class.dfy | 8 +- Test/comp/Class.dfy.expect | 72 --- Test/comp/Collections.dfy | 9 +- Test/comp/Collections.dfy.expect | 512 ---------------- Test/comp/Collections.dfy.go.expect | 125 ++++ Test/comp/Collections.dfy.java.expect | 125 ++++ Test/comp/Collections.dfy.js.expect | 125 ++++ Test/comp/Collections.dfy.py.expect | 125 ++++ Test/comp/Comprehensions.dfy | 9 +- Test/comp/Comprehensions.dfy.expect | 260 -------- Test/comp/Comprehensions.dfy.py.expect | 62 ++ Test/comp/ComprehensionsNewSyntax.dfy | 9 +- Test/comp/ComprehensionsNewSyntax.dfy.expect | 148 ----- .../ComprehensionsNewSyntax.dfy.py.expect | 34 ++ Test/comp/CovariantCollections.dfy | 8 +- Test/comp/CovariantCollections.dfy.expect | 220 ------- Test/comp/Datatype.dfy | 9 +- Test/comp/Datatype.dfy.expect | 100 --- Test/comp/Datatype.dfy.java.expect | 22 + Test/comp/Datatype.dfy.py.expect | 22 + Test/comp/DefaultParameters-Compile.dfy | 8 +- .../comp/DefaultParameters-Compile.dfy.expect | 48 -- Test/comp/DowncastClone.dfy | 8 +- Test/comp/DowncastClone.dfy.expect | 40 -- Test/comp/ErasableTypeWrappers.dfy | 8 +- Test/comp/ErasableTypeWrappers.dfy.expect | 84 --- Test/comp/EuclideanDivision.dfy | 8 +- Test/comp/EuclideanDivision.dfy.expect | 36 -- Test/comp/ForLoops-Compilation.dfy | 8 +- Test/comp/ForLoops-Compilation.dfy.expect | 200 ------ Test/comp/ForallNewSyntax.dfy | 8 +- Test/comp/ForallNewSyntax.dfy.expect | 180 ------ Test/comp/Ghosts.dfy | 8 +- Test/comp/Ghosts.dfy.expect | 52 -- Test/comp/Let.dfy | 7 +- Test/comp/Let.dfy.expect | 34 -- Test/comp/MoreAutoInit.dfy | 8 +- Test/comp/MoreAutoInit.dfy.expect | 572 ------------------ Test/comp/NativeNumbers.dfy | 7 +- Test/comp/NativeNumbers.dfy.expect | 256 -------- Test/comp/NestedArrays.dfy | 7 +- Test/comp/NestedArrays.dfy.expect | 16 - Test/comp/Numbers.dfy | 9 +- Test/comp/Numbers.dfy.expect | 456 -------------- Test/comp/Numbers.dfy.go.expect | 111 ++++ Test/comp/Numbers.dfy.py.expect | 111 ++++ Test/comp/Poly.dfy | 9 +- Test/comp/Poly.dfy.expect | 60 -- Test/comp/Poly.dfy.go.expect | 12 + Test/comp/Poly.dfy.py.expect | 12 + Test/comp/StaticMembersOfGenericTypes.dfy | 8 +- .../StaticMembersOfGenericTypes.dfy.expect | 76 --- Test/comp/TailRecursion.dfy | 8 +- Test/comp/TailRecursion.dfy.expect | 76 --- Test/comp/TypeDescriptors.dfy | 8 +- Test/comp/TypeDescriptors.dfy.expect | 152 ----- Test/comp/TypeParams.dfy | 11 +- Test/comp/TypeParams.dfy.expect | 88 --- Test/comp/TypeParams.dfy.go.expect | 19 + Test/comp/TypeParams.dfy.java.expect | 19 + Test/comp/TypeParams.dfy.js.expect | 19 + Test/comp/TypeParams.dfy.py.expect | 19 + Test/comp/UnoptimizedErasableTypeWrappers.dfy | 8 +- ...UnoptimizedErasableTypeWrappers.dfy.expect | 28 - Test/comp/Variance.dfy | 8 +- Test/comp/Variance.dfy.expect | 64 -- Test/comp/Various.dfy | 8 +- Test/comp/Various.dfy.expect | 40 -- Test/comp/firstSteps/0_IKnowThisMuchIs.dfy | 4 +- .../firstSteps/0_IKnowThisMuchIs.dfy.expect | 4 - Test/comp/firstSteps/1_Calls-F.dfy | 4 +- Test/comp/firstSteps/1_Calls-F.dfy.expect | 4 - Test/comp/firstSteps/2_Modules.dfy | 4 +- Test/comp/firstSteps/2_Modules.dfy.expect | 4 - Test/comp/firstSteps/3_Calls-As.dfy | 4 +- Test/comp/firstSteps/3_Calls-As.dfy.expect | 4 - .../4_Calls-FunctionsValues-Class+NT.dfy | 4 +- ..._Calls-FunctionsValues-Class+NT.dfy.expect | 4 - .../firstSteps/5_Calls-FunctionsValues-Dt.dfy | 4 +- .../5_Calls-FunctionsValues-Dt.dfy.expect | 4 - .../firstSteps/6_Calls-VariableCapture.dfy | 4 +- .../6_Calls-VariableCapture.dfy.expect | 4 - Test/comp/firstSteps/7_Arrays.dfy | 4 +- Test/comp/firstSteps/7_Arrays.dfy.expect | 4 - Test/comp/firstSteps/7_Dt_Algebraic.dfy | 6 +- .../firstSteps/7_Dt_Algebraic.dfy.cs.expect | 11 + .../comp/firstSteps/7_Dt_Algebraic.dfy.expect | 17 - Test/dafny0/ArrayElementInitCompile.dfy | 8 +- .../dafny0/ArrayElementInitCompile.dfy.expect | 76 --- Test/dafny0/Bitvectors.dfy | 5 +- Test/dafny0/Bitvectors.dfy.expect | 49 -- Test/dafny0/Constant.dfy | 3 +- Test/dafny0/Constant.dfy.expect | 2 - Test/dafny0/Deprecation.dfy | 3 +- Test/dafny0/Deprecation.dfy.expect | 7 - Test/dafny0/Deprecation.dfy.verifier.expect | 5 + Test/dafny0/DiscoverBounds.dfy | 3 +- Test/dafny0/DiscoverBounds.dfy.expect | 7 - .../dafny0/DiscoverBounds.dfy.verifier.expect | 5 + Test/dafny0/DividedConstructors.dfy | 3 +- Test/dafny0/DividedConstructors.dfy.expect | 3 - .../DividedConstructors.dfy.verifier.expect | 1 + Test/dafny0/EqualityTypesCompile.dfy | 3 +- Test/dafny0/EqualityTypesCompile.dfy.expect | 2 - Test/dafny0/ForallCompilationNewSyntax.dfy | 3 +- .../ForallCompilationNewSyntax.dfy.expect | 6 - ...llCompilationNewSyntax.dfy.verifier.expect | 4 + Test/dafny0/GhostITECompilation.dfy | 8 +- Test/dafny0/GhostITECompilation.dfy.expect | 28 - Test/dafny0/InitialValues.dfy | 3 +- Test/dafny0/InitialValues.dfy.expect | 2 - Test/dafny0/MatchBraces.dfy | 5 +- Test/dafny0/MatchBraces.dfy.expect | 8 - Test/dafny0/MoForallCompilation.dfy | 3 +- Test/dafny0/MoForallCompilation.dfy.expect | 2 - Test/dafny0/NameclashesCompile.dfy | 3 +- Test/dafny0/NameclashesCompile.dfy.expect | 2 - Test/dafny0/NonZeroInitializationCompile.dfy | 7 +- .../NonZeroInitializationCompile.dfy.expect | 73 --- Test/dafny0/NullComparisonWarnings.dfy | 3 +- Test/dafny0/NullComparisonWarnings.dfy.expect | 13 - ...NullComparisonWarnings.dfy.verifier.expect | 11 + Test/dafny0/PrintUTF8.dfy | 3 +- Test/dafny0/PrintUTF8.dfy.expect | 2 - Test/dafny0/RangeCompilation.dfy | 3 +- Test/dafny0/RangeCompilation.dfy.expect | 2 - Test/dafny0/SeqFromArray.dfy | 3 +- Test/dafny0/SeqFromArray.dfy.expect | 2 - Test/dafny0/SharedDestructorsCompile.dfy | 5 +- .../SharedDestructorsCompile.dfy.expect | 17 - Test/dafny0/SiblingImports.dfy | 3 +- Test/dafny0/SiblingImports.dfy.expect | 2 - Test/dafny0/TypeConversionsCompile.dfy | 3 +- Test/dafny0/TypeConversionsCompile.dfy.expect | 2 - Test/dafny0/TypeMembers.dfy | 5 +- Test/dafny0/TypeMembers.dfy.expect | 29 - Test/dafny0/TypeMembers.dfy.verifier.expect | 1 + Test/dafny0/Wellfounded.dfy | 3 +- Test/dafny0/Wellfounded.dfy.expect | 4 - Test/dafny0/Wellfounded.dfy.verifier.expect | 2 + Test/dafny2/MinWindowMax.dfy | 3 +- Test/dafny2/MinWindowMax.dfy.expect | 2 - .../SmallestMissingNumber-functional.dfy | 3 +- ...mallestMissingNumber-functional.dfy.expect | 3 - ...ssingNumber-functional.dfy.verifier.expect | 1 + .../SmallestMissingNumber-imperative.dfy | 3 +- ...mallestMissingNumber-imperative.dfy.expect | 2 - Test/dafny2/StoreAndRetrieve.dfy | 7 +- Test/dafny2/StoreAndRetrieve.dfy.expect | 38 -- .../StoreAndRetrieve.dfy.verifier.expect | 5 + Test/dafny2/pq-intrinsic-extrinsic.dfy | 5 +- Test/dafny2/pq-intrinsic-extrinsic.dfy.expect | 11 - Test/dafny3/Abstemious.dfy | 3 +- Test/dafny3/Abstemious.dfy.expect | 2 - Test/dafny3/CachedContainer.dfy | 7 +- Test/dafny3/CachedContainer.dfy.expect | 78 --- .../CachedContainer.dfy.verifier.expect | 13 + Test/dafny3/Iter.dfy | 3 +- Test/dafny3/Iter.dfy.expect | 2 - Test/dafny4/Ackermann.dfy | 3 +- Test/dafny4/Ackermann.dfy.expect | 4 - Test/dafny4/Ackermann.dfy.verifier.expect | 2 + Test/dafny4/Bug107.dfy | 3 +- Test/dafny4/Bug107.dfy.expect | 2 - Test/dafny4/Bug108.dfy | 3 +- Test/dafny4/Bug108.dfy.expect | 2 - Test/dafny4/Bug113.dfy | 5 +- Test/dafny4/Bug113.dfy.expect | 2 - Test/dafny4/Bug140.dfy | 3 +- Test/dafny4/Bug140.dfy.expect | 2 - Test/dafny4/Bug148.dfy | 3 +- Test/dafny4/Bug148.dfy.expect | 2 - Test/dafny4/Bug49.dfy | 3 +- Test/dafny4/Bug49.dfy.expect | 2 - Test/dafny4/Bug60.dfy | 3 +- Test/dafny4/Bug60.dfy.expect | 2 - Test/dafny4/Bug67.dfy | 5 +- Test/dafny4/Bug67.dfy.expect | 2 - Test/dafny4/Bug68.dfy | 5 +- Test/dafny4/Bug68.dfy.expect | 2 - Test/dafny4/Bug89.dfy | 3 +- Test/dafny4/Bug89.dfy.expect | 2 - Test/dafny4/Bug94.dfy | 3 +- Test/dafny4/Bug94.dfy.expect | 2 - Test/dafny4/ClassRefinement.dfy | 7 +- Test/dafny4/ClassRefinement.dfy.expect | 43 -- .../ClassRefinement.dfy.verifier.expect | 6 + Test/dafny4/ExpandedGuardedness.dfy | 3 +- Test/dafny4/ExpandedGuardedness.dfy.expect | 2 - Test/dafny4/FlyingRobots.dfy | 3 +- Test/dafny4/FlyingRobots.dfy.expect | 2 - Test/dafny4/Leq.dfy | 3 +- Test/dafny4/Leq.dfy.expect | 2 - Test/dafny4/McCarthy91.dfy | 3 +- Test/dafny4/McCarthy91.dfy.expect | 2 - Test/dafny4/NatList.dfy | 3 +- Test/dafny4/NatList.dfy.expect | 2 - Test/dafny4/Regression2.dfy | 3 +- Test/dafny4/Regression2.dfy.expect | 2 - Test/dafny4/Regression3.dfy | 3 +- Test/dafny4/Regression3.dfy.expect | 2 - Test/dafny4/Regression4.dfy | 3 +- Test/dafny4/Regression4.dfy.expect | 2 - Test/dafny4/Regression6.dfy | 3 +- Test/dafny4/Regression6.dfy.expect | 2 - Test/dafny4/Regression7.dfy | 3 +- Test/dafny4/Regression7.dfy.expect | 2 - Test/dafny4/Regression9.dfy | 3 +- Test/dafny4/Regression9.dfy.expect | 2 - Test/dafny4/UnionFind.dfy | 3 +- Test/dafny4/UnionFind.dfy.expect | 2 - Test/dafny4/gcd.dfy | 7 +- Test/dafny4/gcd.dfy.expect | 31 - Test/dafny4/git-issue104.dfy | 8 +- Test/dafny4/git-issue104.dfy.expect | 16 - Test/dafny4/git-issue105.dfy | 3 +- Test/dafny4/git-issue105.dfy.expect | 2 - Test/dafny4/git-issue15.dfy | 3 +- Test/dafny4/git-issue15.dfy.expect | 2 - Test/dafny4/git-issue195.dfy | 3 +- Test/dafny4/git-issue195.dfy.expect | 2 - Test/dafny4/git-issue196.dfy | 3 +- Test/dafny4/git-issue196.dfy.expect | 2 - Test/dafny4/git-issue4.dfy | 3 +- Test/dafny4/git-issue4.dfy.expect | 2 - Test/dafny4/git-issue43.dfy | 3 +- Test/dafny4/git-issue43.dfy.expect | 2 - Test/dafny4/git-issue76.dfy | 5 +- Test/dafny4/git-issue76.dfy.expect | 7 - Test/dafny4/git-issue79.dfy | 3 +- Test/dafny4/git-issue79.dfy.expect | 2 - Test/dafny4/git-issue88.dfy | 3 +- Test/dafny4/git-issue88.dfy.expect | 2 - Test/exceptions/Exceptions1.dfy | 3 +- Test/exceptions/Exceptions1.dfy.expect | 2 - Test/exceptions/Exceptions1Expressions.dfy | 3 +- .../Exceptions1Expressions.dfy.expect | 2 - Test/exports/FIFO.dfy | 3 +- Test/exports/FIFO.dfy.expect | 2 - Test/exports/LIFO.dfy | 3 +- Test/exports/LIFO.dfy.expect | 2 - Test/exports/xrefine2.dfy | 3 +- Test/exports/xrefine2.dfy.expect | 2 - Test/exports/xrefine3.dfy | 3 +- Test/exports/xrefine3.dfy.expect | 2 - Test/git-issues/git-issue-032.dfy | 7 +- Test/git-issues/git-issue-032.dfy.expect | 37 -- .../git-issue-032.dfy.verifier.expect | 3 + Test/git-issues/git-issue-1029.dfy | 3 +- Test/git-issues/git-issue-1029.dfy.expect | 2 - Test/git-issues/git-issue-1093.dfy | 8 +- Test/git-issues/git-issue-1093.dfy.expect | 16 - Test/git-issues/git-issue-1130.dfy | 3 +- Test/git-issues/git-issue-1130.dfy.expect | 2 - Test/git-issues/git-issue-1150.dfy | 3 +- Test/git-issues/git-issue-1150.dfy.expect | 2 - Test/git-issues/git-issue-1185.dfy | 8 +- Test/git-issues/git-issue-1185.dfy.expect | 13 - .../git-issues/git-issue-1185.dfy.java.expect | 1 + Test/git-issues/git-issue-1514.dfy | 3 +- Test/git-issues/git-issue-1514.dfy.expect | 2 - Test/git-issues/git-issue-1514b.dfy | 3 +- Test/git-issues/git-issue-1514b.dfy.expect | 2 - Test/git-issues/git-issue-1514c.dfy | 5 +- Test/git-issues/git-issue-1514c.dfy.expect | 7 - Test/git-issues/git-issue-1553.dfy | 7 +- Test/git-issues/git-issue-1553.dfy.expect | 10 - Test/git-issues/git-issue-1604b.dfy | 3 +- Test/git-issues/git-issue-1604b.dfy.expect | 2 - Test/git-issues/git-issue-1714.dfy | 3 +- Test/git-issues/git-issue-1714.dfy.expect | 2 - Test/git-issues/git-issue-1815a.dfy | 8 +- Test/git-issues/git-issue-1815a.dfy.expect | 16 - Test/git-issues/git-issue-1852.dfy | 5 +- Test/git-issues/git-issue-1852.dfy.expect | 7 - Test/git-issues/git-issue-1903.dfy | 3 +- Test/git-issues/git-issue-1903.dfy.expect | 2 - Test/git-issues/git-issue-1909.dfy | 3 +- Test/git-issues/git-issue-1909.dfy.expect | 2 - Test/git-issues/git-issue-2013.dfy | 8 +- Test/git-issues/git-issue-2013.dfy.expect | 52 -- Test/git-issues/git-issue-2441.dfy | 5 +- Test/git-issues/git-issue-2441.dfy.expect | 6 - Test/git-issues/git-issue-2510.dfy | 3 +- Test/git-issues/git-issue-2510.dfy.expect | 2 - Test/git-issues/git-issue-2608.dfy | 3 +- Test/git-issues/git-issue-2608.dfy.expect | 2 - Test/git-issues/git-issue-262.dfy | 7 +- Test/git-issues/git-issue-262.dfy.expect | 18 - Test/git-issues/git-issue-262.dfy.go.expect | 2 + Test/git-issues/git-issue-262.dfy.java.expect | 2 + Test/git-issues/git-issue-262.dfy.js.expect | 6 + Test/git-issues/git-issue-267.dfy | 7 +- Test/git-issues/git-issue-267.dfy.expect | 13 - Test/git-issues/git-issue-2672.dfy | 8 +- Test/git-issues/git-issue-2672.dfy.expect | 44 -- Test/git-issues/git-issue-2726a.dfy | 3 +- Test/git-issues/git-issue-2726a.dfy.expect | 2 - Test/git-issues/git-issue-2733.dfy | 9 +- Test/git-issues/git-issue-2733.dfy.expect | 14 - Test/git-issues/git-issue-2792.dfy | 3 +- Test/git-issues/git-issue-2792.dfy.expect | 2 - Test/git-issues/git-issue-283.dfy | 7 +- Test/git-issues/git-issue-283.dfy.expect | 13 - Test/git-issues/git-issue-283d.dfy | 7 +- Test/git-issues/git-issue-283d.dfy.expect | 10 - Test/git-issues/git-issue-314.dfy | 7 +- Test/git-issues/git-issue-314.dfy.expect | 10 - Test/git-issues/git-issue-332.dfy | 3 +- Test/git-issues/git-issue-332.dfy.expect | 2 - Test/git-issues/git-issue-354.dfy | 7 +- Test/git-issues/git-issue-354.dfy.expect | 22 - Test/git-issues/git-issue-356.dfy | 8 +- Test/git-issues/git-issue-356.dfy.expect | 36 -- Test/git-issues/git-issue-364.dfy | 3 +- Test/git-issues/git-issue-364.dfy.expect | 2 - Test/git-issues/git-issue-374.dfy | 7 +- Test/git-issues/git-issue-374.dfy.expect | 10 - Test/git-issues/git-issue-396.dfy | 6 +- Test/git-issues/git-issue-396.dfy.expect | 11 - Test/git-issues/git-issue-4007.dfy | 5 +- Test/git-issues/git-issue-4007.dfy.expect | 3 - .../git-issue-4007.dfy.verifier.expect | 1 + Test/git-issues/git-issue-4012.dfy | 5 +- Test/git-issues/git-issue-4012.dfy.expect | 2 - Test/git-issues/git-issue-425.dfy | 7 +- Test/git-issues/git-issue-425.dfy.expect | 16 - Test/git-issues/git-issue-443.dfy | 3 +- Test/git-issues/git-issue-443.dfy.expect | 2 - Test/git-issues/git-issue-446.dfy | 7 +- Test/git-issues/git-issue-446.dfy.expect | 19 - Test/git-issues/git-issue-446a.dfy | 7 +- Test/git-issues/git-issue-446a.dfy.expect | 19 - Test/git-issues/git-issue-446b.dfy | 7 +- Test/git-issues/git-issue-446b.dfy.expect | 25 - Test/git-issues/git-issue-478-good.dfy | 3 +- Test/git-issues/git-issue-478-good.dfy.expect | 2 - Test/git-issues/git-issue-506.dfy | 6 +- Test/git-issues/git-issue-506.dfy.expect | 26 - Test/git-issues/git-issue-532.dfy | 7 +- Test/git-issues/git-issue-532.dfy.expect | 19 - Test/git-issues/git-issue-549.dfy | 5 +- Test/git-issues/git-issue-549.dfy.expect | 8 - Test/git-issues/git-issue-622$f.dfy | 3 +- Test/git-issues/git-issue-622$f.dfy.expect | 2 - Test/git-issues/git-issue-684.dfy | 7 +- Test/git-issues/git-issue-684.dfy.expect | 10 - Test/git-issues/git-issue-686.dfy | 7 +- Test/git-issues/git-issue-686.dfy.expect | 23 - .../git-issue-686.dfy.verifier.expect | 2 + Test/git-issues/git-issue-697.dfy | 3 +- Test/git-issues/git-issue-697.dfy.expect | 2 - Test/git-issues/git-issue-697b.dfy | 3 +- Test/git-issues/git-issue-697b.dfy.expect | 2 - Test/git-issues/git-issue-697d.dfy | 3 +- Test/git-issues/git-issue-697d.dfy.expect | 2 - Test/git-issues/git-issue-697e.dfy | 3 +- Test/git-issues/git-issue-697e.dfy.expect | 2 - Test/git-issues/git-issue-697f.dfy | 3 +- Test/git-issues/git-issue-697f.dfy.expect | 2 - Test/git-issues/git-issue-697g.dfy | 3 +- Test/git-issues/git-issue-697g.dfy.expect | 2 - Test/git-issues/git-issue-698.dfy | 5 +- Test/git-issues/git-issue-698.dfy.expect | 7 - Test/git-issues/git-issue-698b.dfy | 5 +- Test/git-issues/git-issue-698b.dfy.expect | 2 - Test/git-issues/git-issue-701.dfy | 7 +- Test/git-issues/git-issue-701.dfy.expect | 19 - Test/git-issues/git-issue-705.dfy | 7 +- Test/git-issues/git-issue-705.dfy.expect | 13 - Test/git-issues/git-issue-731.dfy | 7 +- Test/git-issues/git-issue-731.dfy.expect | 16 - Test/git-issues/git-issue-731b.dfy | 7 +- Test/git-issues/git-issue-731b.dfy.expect | 13 - Test/git-issues/git-issue-784.dfy | 7 +- Test/git-issues/git-issue-784.dfy.expect | 10 - Test/git-issues/git-issue-953.dfy | 8 +- Test/git-issues/git-issue-953.dfy.expect | 36 -- Test/git-issues/github-issue-3343.dfy | 3 +- Test/git-issues/github-issue-3343.dfy.expect | 2 - Test/hofs/Compilation.dfy | 3 +- Test/hofs/Compilation.dfy.expect | 2 - Test/hofs/Examples.dfy | 3 +- Test/hofs/Examples.dfy.expect | 2 - Test/hofs/Fold.dfy | 3 +- Test/hofs/Fold.dfy.expect | 2 - Test/hofs/Renaming.dfy | 3 +- Test/hofs/Renaming.dfy.expect | 2 - Test/hofs/Requires.dfy | 3 +- Test/hofs/Requires.dfy.expect | 2 - Test/hofs/TreeMapSimple.dfy | 3 +- Test/hofs/TreeMapSimple.dfy.expect | 2 - Test/hofs/VectorUpdate.dfy | 3 +- Test/hofs/VectorUpdate.dfy.expect | 2 - Test/hofs/WhileLoop.dfy | 3 +- Test/hofs/WhileLoop.dfy.expect | 2 - Test/metatests/OutputEncoding.dfy | 8 +- Test/metatests/OutputEncoding.dfy.expect | 16 - Test/patterns/OrPatterns.dfy | 3 +- Test/patterns/OrPatterns.dfy.expect | 2 - Test/patterns/PatternMatching.dfy | 5 +- Test/patterns/PatternMatching.dfy.expect | 3 - .../PatternMatching.dfy.verifier.expect | 1 + Test/traits/TraitCompile.dfy | 10 +- Test/traits/TraitCompile.dfy.expect | 256 -------- Test/traits/TraitExample.dfy | 3 +- Test/traits/TraitExample.dfy.expect | 2 - Test/traits/Traits-Fields.dfy | 3 +- Test/traits/Traits-Fields.dfy.expect | 2 - Test/traits/TraitsMultipleInheritance.dfy | 3 +- .../TraitsMultipleInheritance.dfy.expect | 2 - Test/unicodechars/comp/Collections.dfy | 9 +- Test/unicodechars/comp/Collections.dfy.expect | 512 ---------------- .../comp/Collections.dfy.go.expect | 125 ++++ .../comp/Collections.dfy.java.expect | 125 ++++ .../comp/Collections.dfy.js.expect | 125 ++++ .../comp/Collections.dfy.py.expect | 125 ++++ Test/unicodechars/comp/Comprehensions.dfy | 11 +- .../comp/Comprehensions.dfy.expect | 260 -------- .../comp/Comprehensions.dfy.py.expect | 62 ++ Test/unicodechars/comp/NativeNumbers.dfy | 9 +- .../comp/NativeNumbers.dfy.expect | 256 -------- Test/unicodechars/comp/Numbers.dfy | 11 +- Test/unicodechars/comp/Numbers.dfy.expect | 456 -------------- Test/unicodechars/comp/Numbers.dfy.go.expect | 111 ++++ Test/unicodechars/comp/Numbers.dfy.py.expect | 111 ++++ 469 files changed, 2165 insertions(+), 8689 deletions(-) create mode 100644 Test/comp/Arrays.dfy.go.expect create mode 100644 Test/comp/Collections.dfy.go.expect create mode 100644 Test/comp/Collections.dfy.java.expect create mode 100644 Test/comp/Collections.dfy.js.expect create mode 100644 Test/comp/Collections.dfy.py.expect create mode 100644 Test/comp/Comprehensions.dfy.py.expect create mode 100644 Test/comp/ComprehensionsNewSyntax.dfy.py.expect create mode 100644 Test/comp/Datatype.dfy.java.expect create mode 100644 Test/comp/Datatype.dfy.py.expect create mode 100644 Test/comp/Numbers.dfy.go.expect create mode 100644 Test/comp/Numbers.dfy.py.expect create mode 100644 Test/comp/Poly.dfy.go.expect create mode 100644 Test/comp/Poly.dfy.py.expect create mode 100644 Test/comp/TypeParams.dfy.go.expect create mode 100644 Test/comp/TypeParams.dfy.java.expect create mode 100644 Test/comp/TypeParams.dfy.js.expect create mode 100644 Test/comp/TypeParams.dfy.py.expect create mode 100644 Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect create mode 100644 Test/dafny0/Deprecation.dfy.verifier.expect create mode 100644 Test/dafny0/DiscoverBounds.dfy.verifier.expect create mode 100644 Test/dafny0/DividedConstructors.dfy.verifier.expect create mode 100644 Test/dafny0/ForallCompilationNewSyntax.dfy.verifier.expect create mode 100644 Test/dafny0/NullComparisonWarnings.dfy.verifier.expect create mode 100644 Test/dafny0/TypeMembers.dfy.verifier.expect create mode 100644 Test/dafny0/Wellfounded.dfy.verifier.expect create mode 100644 Test/dafny2/SmallestMissingNumber-functional.dfy.verifier.expect create mode 100644 Test/dafny2/StoreAndRetrieve.dfy.verifier.expect create mode 100644 Test/dafny3/CachedContainer.dfy.verifier.expect create mode 100644 Test/dafny4/Ackermann.dfy.verifier.expect create mode 100644 Test/dafny4/ClassRefinement.dfy.verifier.expect create mode 100644 Test/git-issues/git-issue-032.dfy.verifier.expect create mode 100644 Test/git-issues/git-issue-1185.dfy.java.expect create mode 100644 Test/git-issues/git-issue-262.dfy.go.expect create mode 100644 Test/git-issues/git-issue-262.dfy.java.expect create mode 100644 Test/git-issues/git-issue-262.dfy.js.expect create mode 100644 Test/git-issues/git-issue-4007.dfy.verifier.expect create mode 100644 Test/git-issues/git-issue-686.dfy.verifier.expect create mode 100644 Test/patterns/PatternMatching.dfy.verifier.expect create mode 100644 Test/unicodechars/comp/Collections.dfy.go.expect create mode 100644 Test/unicodechars/comp/Collections.dfy.java.expect create mode 100644 Test/unicodechars/comp/Collections.dfy.js.expect create mode 100644 Test/unicodechars/comp/Collections.dfy.py.expect create mode 100644 Test/unicodechars/comp/Comprehensions.dfy.py.expect create mode 100644 Test/unicodechars/comp/Numbers.dfy.go.expect create mode 100644 Test/unicodechars/comp/Numbers.dfy.py.expect diff --git a/Test/VerifyThis2015/Problem1.dfy b/Test/VerifyThis2015/Problem1.dfy index 20bd154ab8d..ab227e1ab85 100644 --- a/Test/VerifyThis2015/Problem1.dfy +++ b/Test/VerifyThis2015/Problem1.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Rustan Leino // 12 April 2015 diff --git a/Test/VerifyThis2015/Problem1.dfy.expect b/Test/VerifyThis2015/Problem1.dfy.expect index 110dd45761d..9e8a46acf90 100644 --- a/Test/VerifyThis2015/Problem1.dfy.expect +++ b/Test/VerifyThis2015/Problem1.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 18 verified, 0 errors true true false diff --git a/Test/VerifyThis2015/Problem2.dfy b/Test/VerifyThis2015/Problem2.dfy index 7466df6d410..9b57395e68b 100644 --- a/Test/VerifyThis2015/Problem2.dfy +++ b/Test/VerifyThis2015/Problem2.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Rustan Leino // 13 April 2015, and many subsequent enhancements and revisions diff --git a/Test/VerifyThis2015/Problem2.dfy.expect b/Test/VerifyThis2015/Problem2.dfy.expect index b49c1470365..e69de29bb2d 100644 --- a/Test/VerifyThis2015/Problem2.dfy.expect +++ b/Test/VerifyThis2015/Problem2.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 32 verified, 0 errors diff --git a/Test/VerifyThis2015/Problem3.dfy b/Test/VerifyThis2015/Problem3.dfy index 3be60b5d81a..1348acf0f4d 100644 --- a/Test/VerifyThis2015/Problem3.dfy +++ b/Test/VerifyThis2015/Problem3.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Rustan Leino // 12 April 2015 // VerifyThis 2015 diff --git a/Test/VerifyThis2015/Problem3.dfy.expect b/Test/VerifyThis2015/Problem3.dfy.expect index 4bb1c2c7251..e69de29bb2d 100644 --- a/Test/VerifyThis2015/Problem3.dfy.expect +++ b/Test/VerifyThis2015/Problem3.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 18 verified, 0 errors diff --git a/Test/c++/arrays.dfy b/Test/c++/arrays.dfy index 47140146468..a02b57e5ff8 100644 --- a/Test/c++/arrays.dfy +++ b/Test/c++/arrays.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/arrays.dfy.expect b/Test/c++/arrays.dfy.expect index 552f9355593..2ce9320d8c2 100644 --- a/Test/c++/arrays.dfy.expect +++ b/Test/c++/arrays.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 9 verified, 0 errors 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/c++/bit-vectors.dfy b/Test/c++/bit-vectors.dfy index b7f5d35df07..d27469e4ca5 100644 --- a/Test/c++/bit-vectors.dfy +++ b/Test/c++/bit-vectors.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint64 = i:int | 0 <= i < 0x10000000000000000 diff --git a/Test/c++/bit-vectors.dfy.expect b/Test/c++/bit-vectors.dfy.expect index e327aa2f73b..c491236b12b 100644 --- a/Test/c++/bit-vectors.dfy.expect +++ b/Test/c++/bit-vectors.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 6 verified, 0 errors 084841024 diff --git a/Test/c++/class.dfy b/Test/c++/class.dfy index 3039bd0466b..b10d703c981 100644 --- a/Test/c++/class.dfy +++ b/Test/c++/class.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/class.dfy.expect b/Test/c++/class.dfy.expect index 93717ecfa9e..80f1587d0a2 100644 --- a/Test/c++/class.dfy.expect +++ b/Test/c++/class.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 16 verified, 0 errors true true false 103 102 102 106 105 105 203 17 0 18 8 9 69 70 diff --git a/Test/c++/const.dfy b/Test/c++/const.dfy index 5ab9a62e0e9..1bfb79f0361 100644 --- a/Test/c++/const.dfy +++ b/Test/c++/const.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false module Holder { const x:bool := false diff --git a/Test/c++/const.dfy.expect b/Test/c++/const.dfy.expect index 823a60a105c..e69de29bb2d 100644 --- a/Test/c++/const.dfy.expect +++ b/Test/c++/const.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 1 verified, 0 errors diff --git a/Test/c++/datatypes.dfy b/Test/c++/datatypes.dfy index 9d077b97575..f56b7907cc3 100644 --- a/Test/c++/datatypes.dfy +++ b/Test/c++/datatypes.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/datatypes.dfy.expect b/Test/c++/datatypes.dfy.expect index efa71b43546..c122f5af791 100644 --- a/Test/c++/datatypes.dfy.expect +++ b/Test/c++/datatypes.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 12 verified, 0 errors Case A: 42 Case B: true This is expected diff --git a/Test/c++/generic.dfy b/Test/c++/generic.dfy index 7995928f93f..374c545b9c1 100644 --- a/Test/c++/generic.dfy +++ b/Test/c++/generic.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false class Test { var t:T diff --git a/Test/c++/generic.dfy.expect b/Test/c++/generic.dfy.expect index 00a51f822da..e69de29bb2d 100644 --- a/Test/c++/generic.dfy.expect +++ b/Test/c++/generic.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 3 verified, 0 errors diff --git a/Test/c++/hello.dfy b/Test/c++/hello.dfy index c887337c7e1..523d3152209 100644 --- a/Test/c++/hello.dfy +++ b/Test/c++/hello.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false method Main() { print "Hello world\n"; diff --git a/Test/c++/hello.dfy.expect b/Test/c++/hello.dfy.expect index 87101fec036..802992c4220 100644 --- a/Test/c++/hello.dfy.expect +++ b/Test/c++/hello.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors Hello world diff --git a/Test/c++/ints.dfy b/Test/c++/ints.dfy index cf7ae63e0da..4490a54817a 100644 --- a/Test/c++/ints.dfy +++ b/Test/c++/ints.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype sbyte = i:int | -0x80 <= i < 0x80 newtype byte = i:int | 0 <= i < 0x100 diff --git a/Test/c++/ints.dfy.expect b/Test/c++/ints.dfy.expect index aeabccf73b0..5fcb7b811cb 100644 --- a/Test/c++/ints.dfy.expect +++ b/Test/c++/ints.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 15 verified, 0 errors Result is z = 42 diff --git a/Test/c++/recursion.dfy b/Test/c++/recursion.dfy index e255b8e6b08..36048aab527 100644 --- a/Test/c++/recursion.dfy +++ b/Test/c++/recursion.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/recursion.dfy.expect b/Test/c++/recursion.dfy.expect index 15dbfe2bcd1..1ea14926e89 100644 --- a/Test/c++/recursion.dfy.expect +++ b/Test/c++/recursion.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors x !y 3 diff --git a/Test/c++/returns.dfy b/Test/c++/returns.dfy index 1ad19a8ce83..9e23121d26a 100644 --- a/Test/c++/returns.dfy +++ b/Test/c++/returns.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint64 = i:int | 0 <= i < 0x10000000000000000 diff --git a/Test/c++/returns.dfy.expect b/Test/c++/returns.dfy.expect index 8db105eaba8..48082f72f08 100644 --- a/Test/c++/returns.dfy.expect +++ b/Test/c++/returns.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors 12 diff --git a/Test/c++/seqs.dfy b/Test/c++/seqs.dfy index f97a42b2851..903208b07f8 100644 --- a/Test/c++/seqs.dfy +++ b/Test/c++/seqs.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint8 = i:int | 0 <= i < 0x100 newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/seqs.dfy.expect b/Test/c++/seqs.dfy.expect index 23f01695bc9..16f5f9d22ea 100644 --- a/Test/c++/seqs.dfy.expect +++ b/Test/c++/seqs.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 11 verified, 0 errors Head second:2 Trunc first:2 Head trunc: This is expected diff --git a/Test/c++/sets.dfy b/Test/c++/sets.dfy index 5bfb6f80f1e..10e2fe0501d 100644 --- a/Test/c++/sets.dfy +++ b/Test/c++/sets.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/sets.dfy.expect b/Test/c++/sets.dfy.expect index 1c8ede8765e..52a1e67717e 100644 --- a/Test/c++/sets.dfy.expect +++ b/Test/c++/sets.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 8 verified, 0 errors Identity: This is expected ValuesIdentity: This is expected DiffIdentity: This is expected diff --git a/Test/c++/while.dfy b/Test/c++/while.dfy index 40dc4699d11..0c0d7ee98df 100644 --- a/Test/c++/while.dfy +++ b/Test/c++/while.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/while.dfy.expect b/Test/c++/while.dfy.expect index 8dfe872ca51..9a44de1e2a3 100644 --- a/Test/c++/while.dfy.expect +++ b/Test/c++/while.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 2 verified, 0 errors 0 1 2 diff --git a/Test/comp/Arrays.dfy b/Test/comp/Arrays.dfy index 566f052e0a6..acb4225b358 100644 --- a/Test/comp/Arrays.dfy +++ b/Test/comp/Arrays.dfy @@ -1,10 +1,5 @@ -// RUN: %baredafny verify %args --relax-definite-assignment "%s" > "%t" -// RUN: %baredafny run --unicode-char:false --no-verify --target=cs %args "%s" >> "%t" -// RUN: %baredafny run --unicode-char:false --no-verify --target=js %args "%s" >> "%t" -// RUN: %baredafny run --unicode-char:false --no-verify --target=go %args "%s" >> "%t" -// RUN: %baredafny run --unicode-char:false --no-verify --target=java %args "%s" >> "%t" -// RUN: %baredafny run --unicode-char:false --no-verify --target=py %args "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false method LinearSearch(a: array, key: int) returns (n: nat) ensures 0 <= n <= a.Length diff --git a/Test/comp/Arrays.dfy.expect b/Test/comp/Arrays.dfy.expect index 8559e2f3c5c..ef3b884f98a 100644 --- a/Test/comp/Arrays.dfy.expect +++ b/Test/comp/Arrays.dfy.expect @@ -1,399 +1,3 @@ - -Dafny program verifier finished with 89 verified, 0 errors - -Dafny program verifier did not attempt verification -0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 -17 -[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] -[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] -[20, 21, 22] -[0, 1, 2, 3, 4, 5, 6, 7] -[0, 1, 2, 3, 4, 5, 6, 7] -d d d -h e l l o -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -1 0 0 0 0 -0 1 0 0 0 -0 0 1 0 0 -cube dims: 3 0 4 -[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] -It's null -hi hello tjena hej hola -hi hello tjena hej hola -hi hello tjena hej hola -d d d -h e l l o -8 8 8 8 -true true true -1 1 1 1 1 -2 2 2 2 2 -3 3 3 3 3 -4 4 4 4 4 -(d, 8, true, 1, 2, 3, 4) -D D D -0 0 0 0 -false false false -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -(D, 0, false, 0, 0, 0, 0) -8 0 -false 0 null null -8 8 -8 8 -8 8 -8 8 -D D D -D D D -D D D -D D r (D, D, r) -D D r -[19, 18, 9, 8] - true - false - true - false - false - false - true - true - false - true - false - true - true - false -hello there -false false -true true -false false -false false -uninitialized bytes: array[0, 0, 0] -bytes from display: array[7, 8, 9] -bytes from lambda: array[20, 21, 22] -uninitialized 1bytes: array[1, 1, 1] -1bytes from display: array[7, 8, 9] -1bytes from lambda: array[20, 21, 22] -17 19 18 20 -100 200 300 120 38 -hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -DDDDDabcdeabcdeggggg -DDDDDabcdeabcdeggggg -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] -DDDDDDDDDDagggggaggg -0 69 50 -0 69 50 -D k n -false false -true true -false false -false false -true true - -Dafny program verifier did not attempt verification -0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 -17 -[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] -[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] -[20, 21, 22] -[0, 1, 2, 3, 4, 5, 6, 7] -[0, 1, 2, 3, 4, 5, 6, 7] -d d d -h e l l o -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -1 0 0 0 0 -0 1 0 0 0 -0 0 1 0 0 -cube dims: 3 0 4 -[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] -It's null -hi hello tjena hej hola -hi hello tjena hej hola -hi hello tjena hej hola -d d d -h e l l o -8 8 8 8 -true true true -1 1 1 1 1 -2 2 2 2 2 -3 3 3 3 3 -4 4 4 4 4 -(d, 8, true, 1, 2, 3, 4) -D D D -0 0 0 0 -false false false -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -(D, 0, false, 0, 0, 0, 0) -8 0 -false 0 null null -8 8 -8 8 -8 8 -8 8 -D D D -D D D -D D D -D D r (D, D, r) -D D r -[19, 18, 9, 8] - true - false - true - false - false - false - true - true - false - true - false - true - true - false -hello there -false false -true true -false false -false false -uninitialized bytes: array[0, 0, 0] -bytes from display: array[7, 8, 9] -bytes from lambda: array[20, 21, 22] -uninitialized 1bytes: array[1, 1, 1] -1bytes from display: array[7, 8, 9] -1bytes from lambda: array[20, 21, 22] -17 19 18 20 -100 200 300 120 38 -hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -DDDDDabcdeabcdeggggg -DDDDDabcdeabcdeggggg -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] -DDDDDDDDDDagggggaggg -0 69 50 -0 69 50 -D k n -false false -true true -false false -false false -true true - -Dafny program verifier did not attempt verification -0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 -17 -[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] -[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] -[20, 21, 22] -[0, 1, 2, 3, 4, 5, 6, 7] -[0, 1, 2, 3, 4, 5, 6, 7] -d d d -h e l l o -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -1 0 0 0 0 -0 1 0 0 0 -0 0 1 0 0 -cube dims: 3 0 4 -[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] -It's null -hi hello tjena hej hola -hi hello tjena hej hola -hi hello tjena hej hola -d d d -h e l l o -8 8 8 8 -true true true -1 1 1 1 1 -2 2 2 2 2 -3 3 3 3 3 -4 4 4 4 4 -(d, 8, true, 1, 2, 3, 4) -D D D -0 0 0 0 -false false false -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -(D, 0, false, 0, 0, 0, 0) -8 0 -false 0 null null -8 8 -8 8 -8 8 -8 8 -D D D -D D D -D D D -D D r (D, D, r) -D D r -[19, 18, 9, 8] - true - false - true - false - false - false - true - true - false - true - false - true - true - false -hello there -false false -true true -false false -false false -uninitialized bytes: array[0, 0, 0] -bytes from display: array[7, 8, 9] -bytes from lambda: array[20, 21, 22] -uninitialized 1bytes: array[1, 1, 1] -1bytes from display: array[7, 8, 9] -1bytes from lambda: array[20, 21, 22] -17 19 18 20 -100 200 300 120 38 -hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -DDDDDabcdeabcdeggggg -DDDDDabcdeabcdeggggg -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] -[D, D, D, D, D, D, D, D, D, D, a, g, g, g, g, g, a, g, g, g] -0 69 50 -0 69 50 -D k n -false false -true true -false false -false false -true true - -Dafny program verifier did not attempt verification -0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 -17 -[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] -[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] -[20, 21, 22] -[0, 1, 2, 3, 4, 5, 6, 7] -[0, 1, 2, 3, 4, 5, 6, 7] -d d d -h e l l o -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -1 0 0 0 0 -0 1 0 0 0 -0 0 1 0 0 -cube dims: 3 0 4 -[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] -It's null -hi hello tjena hej hola -hi hello tjena hej hola -hi hello tjena hej hola -d d d -h e l l o -8 8 8 8 -true true true -1 1 1 1 1 -2 2 2 2 2 -3 3 3 3 3 -4 4 4 4 4 -(d, 8, true, 1, 2, 3, 4) -D D D -0 0 0 0 -false false false -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -(D, 0, false, 0, 0, 0, 0) -8 0 -false 0 null null -8 8 -8 8 -8 8 -8 8 -D D D -D D D -D D D -D D r (D, D, r) -D D r -[19, 18, 9, 8] - true - false - true - false - false - false - true - true - false - true - false - true - true - false -hello there -false false -true true -false false -false false -uninitialized bytes: array[0, 0, 0] -bytes from display: array[7, 8, 9] -bytes from lambda: array[20, 21, 22] -uninitialized 1bytes: array[1, 1, 1] -1bytes from display: array[7, 8, 9] -1bytes from lambda: array[20, 21, 22] -17 19 18 20 -100 200 300 120 38 -hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -DDDDDabcdeabcdeggggg -DDDDDabcdeabcdeggggg -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] -DDDDDDDDDDagggggaggg -0 69 50 -0 69 50 -D k n -false false -true true -false false -false false -true true - -Dafny program verifier did not attempt verification 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/comp/Arrays.dfy.go.expect b/Test/comp/Arrays.dfy.go.expect new file mode 100644 index 00000000000..1217623d90c --- /dev/null +++ b/Test/comp/Arrays.dfy.go.expect @@ -0,0 +1,96 @@ +0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 +17 +[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] +[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] +[20, 21, 22] +[0, 1, 2, 3, 4, 5, 6, 7] +[0, 1, 2, 3, 4, 5, 6, 7] +d d d +h e l l o +0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 +1 0 0 0 0 +0 1 0 0 0 +0 0 1 0 0 +cube dims: 3 0 4 +[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] +It's null +hi hello tjena hej hola +hi hello tjena hej hola +hi hello tjena hej hola +d d d +h e l l o +8 8 8 8 +true true true +1 1 1 1 1 +2 2 2 2 2 +3 3 3 3 3 +4 4 4 4 4 +(d, 8, true, 1, 2, 3, 4) +D D D +0 0 0 0 +false false false +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +(D, 0, false, 0, 0, 0, 0) +8 0 +false 0 null null +8 8 +8 8 +8 8 +8 8 +D D D +D D D +D D D +D D r (D, D, r) +D D r +[19, 18, 9, 8] + true + false + true + false + false + false + true + true + false + true + false + true + true + false +hello there +false false +true true +false false +false false +uninitialized bytes: array[0, 0, 0] +bytes from display: array[7, 8, 9] +bytes from lambda: array[20, 21, 22] +uninitialized 1bytes: array[1, 1, 1] +1bytes from display: array[7, 8, 9] +1bytes from lambda: array[20, 21, 22] +17 19 18 20 +100 200 300 120 38 +hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +DDDDDabcdeabcdeggggg +DDDDDabcdeabcdeggggg +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] +[D, D, D, D, D, D, D, D, D, D, a, g, g, g, g, g, a, g, g, g] +0 69 50 +0 69 50 +D k n +false false +true true +false false +false false +true true diff --git a/Test/comp/AsIs-Compile.dfy b/Test/comp/AsIs-Compile.dfy index 47084ed7633..319847564e2 100644 --- a/Test/comp/AsIs-Compile.dfy +++ b/Test/comp/AsIs-Compile.dfy @@ -1,10 +1,4 @@ -// RUN: %baredafny verify %args "%s" > "%t" -// RUN: %baredafny run --no-verify -t=cs %args "%s" >> "%t" -// RUN: %baredafny run --no-verify -t=js %args "%s" >> "%t" -// RUN: %baredafny run --no-verify -t=go %args "%s" >> "%t" -// RUN: %baredafny run --no-verify -t=java %args "%s" >> "%t" -// RUN: %baredafny run --no-verify -t=py %args "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" method Main() { var a: A, b: B, c: C, k: K, l: L := new M, new M, new M, new K, new L; diff --git a/Test/comp/AsIs-Compile.dfy.expect b/Test/comp/AsIs-Compile.dfy.expect index 36dfe46e91d..acc78c6e155 100644 --- a/Test/comp/AsIs-Compile.dfy.expect +++ b/Test/comp/AsIs-Compile.dfy.expect @@ -1,163 +1,3 @@ - -Dafny program verifier finished with 6 verified, 0 errors - -Dafny program verifier did not attempt verification -true true true true true -true true true true true -IsComparisons ---- -false true false false - true false false - true false -false false true false - false true false - false false -false false false true - false false true - false true -false true false false - false true false - false false -true true -false true -TestNullIs ---- -true true -true true -true true true true true true -true true true true true true -true true true true true true -true true true true true true -true true -false true -true true true true true true -false true false true false true -true true true true true true -false true false true false true -TestFromTraits ---- -5 -0 -4 -4 -4 -4 - -Dafny program verifier did not attempt verification -true true true true true -true true true true true -IsComparisons ---- -false true false false - true false false - true false -false false true false - false true false - false false -false false false true - false false true - false true -false true false false - false true false - false false -true true -false true -TestNullIs ---- -true true -true true -true true true true true true -true true true true true true -true true true true true true -true true true true true true -true true -false true -true true true true true true -false true false true false true -true true true true true true -false true false true false true -TestFromTraits ---- -5 -0 -4 -4 -4 -4 - -Dafny program verifier did not attempt verification -true true true true true -true true true true true -IsComparisons ---- -false true false false - true false false - true false -false false true false - false true false - false false -false false false true - false false true - false true -false true false false - false true false - false false -true true -false true -TestNullIs ---- -true true -true true -true true true true true true -true true true true true true -true true true true true true -true true true true true true -true true -false true -true true true true true true -false true false true false true -true true true true true true -false true false true false true -TestFromTraits ---- -5 -0 -4 -4 -4 -4 - -Dafny program verifier did not attempt verification -true true true true true -true true true true true -IsComparisons ---- -false true false false - true false false - true false -false false true false - false true false - false false -false false false true - false false true - false true -false true false false - false true false - false false -true true -false true -TestNullIs ---- -true true -true true -true true true true true true -true true true true true true -true true true true true true -true true true true true true -true true -false true -true true true true true true -false true false true false true -true true true true true true -false true false true false true -TestFromTraits ---- -5 -0 -4 -4 -4 -4 - -Dafny program verifier did not attempt verification true true true true true true true true true true IsComparisons ---- diff --git a/Test/comp/AutoInit.dfy b/Test/comp/AutoInit.dfy index b284619a80c..c0e752efa36 100644 --- a/Test/comp/AutoInit.dfy +++ b/Test/comp/AutoInit.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This file tests the compilation of some default values. It also includes some // regression tests for equality, printing, and tuples. diff --git a/Test/comp/AutoInit.dfy.expect b/Test/comp/AutoInit.dfy.expect index 51533cc6d5e..e68e2e43764 100644 --- a/Test/comp/AutoInit.dfy.expect +++ b/Test/comp/AutoInit.dfy.expect @@ -1,163 +1,3 @@ - -Dafny program verifier finished with 21 verified, 0 errors - -Dafny program verifier did not attempt verification -3 false 0 -false false true -() (0, false, false, []) -(null, 0) (null, 0) true -(null, null, null, 0) (null, null, null, 0) true -true false false true -true false false true -17 -1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or -(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) -1 -ww == null -- yes, as expected -true true true true -true true true -true true true -null null -null null -null null null -null null null -null null null -null null null -null null -null null null -null null null -DatatypeDefaultValues.EnumDatatype.MakeZero - DatatypeDefaultValues.IntList.Nil - 0 -DatatypeDefaultValues.GenericTree.Leaf - DatatypeDefaultValues.Complicated.ComplA(0, false) - DatatypeDefaultValues.CellCell.MakeCellCell(0) -null - null -Library.Color.Red(0) and Library.Color.Red(0) -Library.CoColor.Yellow and Library.CoColor.Yellow -Library.MoColor.MoYellow and Library.MoColor.MoYellow -0.0 and 0.0 -13 - -Dafny program verifier did not attempt verification -3 false 0 -false false true -() (0, false, false, []) -(null, 0) (null, 0) true -(null, null, null, 0) (null, null, null, 0) true -true false false true -true false false true -17 -1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or -(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) -1 -ww == null -- yes, as expected -true true true true -true true true -true true true -null null -null null -null null null -null null null -null null null -null null null -null null -null null null -null null null -DatatypeDefaultValues.EnumDatatype.MakeZero - DatatypeDefaultValues.IntList.Nil - 0 -DatatypeDefaultValues.GenericTree.Leaf - DatatypeDefaultValues.Complicated.ComplA(0, false) - DatatypeDefaultValues.CellCell.MakeCellCell(0) -null - null -Library.Color.Red(0) and Library.Color.Red(0) -Library.CoColor.Yellow and Library.CoColor.Yellow -Library.MoColor.MoYellow and Library.MoColor.MoYellow -0.0 and 0.0 -13 - -Dafny program verifier did not attempt verification -3 false 0 -false false true -() (0, false, false, []) -(null, 0) (null, 0) true -(null, null, null, 0) (null, null, null, 0) true -true false false true -true false false true -17 -1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or -(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) -1 -ww == null -- yes, as expected -true true true true -true true true -true true true -null null -null null -null null null -null null null -null null null -null null null -null null -null null null -null null null -DatatypeDefaultValues.EnumDatatype.MakeZero - DatatypeDefaultValues.IntList.Nil - 0 -DatatypeDefaultValues.GenericTree.Leaf - DatatypeDefaultValues.Complicated.ComplA(0, false) - DatatypeDefaultValues.CellCell.MakeCellCell(0) -null - null -Library.Color.Red(0) and Library.Color.Red(0) -Library.CoColor.Yellow and Library.CoColor.Yellow -Library.MoColor.MoYellow and Library.MoColor.MoYellow -0.0 and 0.0 -13 - -Dafny program verifier did not attempt verification -3 false 0 -false false true -() (0, false, false, []) -(null, 0) (null, 0) true -(null, null, null, 0) (null, null, null, 0) true -true false false true -true false false true -17 -1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or -(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) -1 -ww == null -- yes, as expected -true true true true -true true true -true true true -null null -null null -null null null -null null null -null null null -null null null -null null -null null null -null null null -DatatypeDefaultValues.EnumDatatype.MakeZero - DatatypeDefaultValues.IntList.Nil - 0 -DatatypeDefaultValues.GenericTree.Leaf - DatatypeDefaultValues.Complicated.ComplA(0, false) - DatatypeDefaultValues.CellCell.MakeCellCell(0) -null - null -Library.Color.Red(0) and Library.Color.Red(0) -Library.CoColor.Yellow and Library.CoColor.Yellow -Library.MoColor.MoYellow and Library.MoColor.MoYellow -0.0 and 0.0 -13 - -Dafny program verifier did not attempt verification 3 false 0 false false true () (0, false, false, []) diff --git a/Test/comp/ByMethodCompilation.dfy b/Test/comp/ByMethodCompilation.dfy index ea62d84b21e..7432f72f7d4 100644 --- a/Test/comp/ByMethodCompilation.dfy +++ b/Test/comp/ByMethodCompilation.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method Main() { var four := Four(); diff --git a/Test/comp/ByMethodCompilation.dfy.expect b/Test/comp/ByMethodCompilation.dfy.expect index 1519a955b0c..d61780e3fb8 100644 --- a/Test/comp/ByMethodCompilation.dfy.expect +++ b/Test/comp/ByMethodCompilation.dfy.expect @@ -1,35 +1,3 @@ - -Dafny program verifier finished with 13 verified, 0 errors - -Dafny program verifier did not attempt verification -hello -four is 4 -Recursive(7) = 14 -NonCompilableFunction: 4 7 -Sums: 14 3 - -Dafny program verifier did not attempt verification -hello -four is 4 -Recursive(7) = 14 -NonCompilableFunction: 4 7 -Sums: 14 3 - -Dafny program verifier did not attempt verification -hello -four is 4 -Recursive(7) = 14 -NonCompilableFunction: 4 7 -Sums: 14 3 - -Dafny program verifier did not attempt verification -hello -four is 4 -Recursive(7) = 14 -NonCompilableFunction: 4 7 -Sums: 14 3 - -Dafny program verifier did not attempt verification hello four is 4 Recursive(7) = 14 diff --git a/Test/comp/Calls.dfy b/Test/comp/Calls.dfy index 4a4916aea0c..c56bc3e5286 100644 --- a/Test/comp/Calls.dfy +++ b/Test/comp/Calls.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function F(x: int, y: bool): int { x + if y then 2 else 3 diff --git a/Test/comp/Calls.dfy.expect b/Test/comp/Calls.dfy.expect index 3317b8be164..cf4e1bc155b 100644 --- a/Test/comp/Calls.dfy.expect +++ b/Test/comp/Calls.dfy.expect @@ -1,43 +1,3 @@ - -Dafny program verifier finished with 6 verified, 0 errors - -Dafny program verifier did not attempt verification -5 0 0 false 0 false 0 -5 3 5 3 5 3 -5 3 5 3 5 3 -15 -[0, 1, 2, 4] -[0, 2, 4] ---> 5 <-- - -Dafny program verifier did not attempt verification -5 0 0 false 0 false 0 -5 3 5 3 5 3 -5 3 5 3 5 3 -15 -[0, 1, 2, 4] -[0, 2, 4] ---> 5 <-- - -Dafny program verifier did not attempt verification -5 0 0 false 0 false 0 -5 3 5 3 5 3 -5 3 5 3 5 3 -15 -[0, 1, 2, 4] -[0, 2, 4] ---> 5 <-- - -Dafny program verifier did not attempt verification -5 0 0 false 0 false 0 -5 3 5 3 5 3 -5 3 5 3 5 3 -15 -[0, 1, 2, 4] -[0, 2, 4] ---> 5 <-- - -Dafny program verifier did not attempt verification 5 0 0 false 0 false 0 5 3 5 3 5 3 5 3 5 3 5 3 diff --git a/Test/comp/Class.dfy b/Test/comp/Class.dfy index fb994f008e7..23591e43450 100644 --- a/Test/comp/Class.dfy +++ b/Test/comp/Class.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation class MyClass { var a: int diff --git a/Test/comp/Class.dfy.expect b/Test/comp/Class.dfy.expect index ba1482a164b..47e49966664 100644 --- a/Test/comp/Class.dfy.expect +++ b/Test/comp/Class.dfy.expect @@ -1,75 +1,3 @@ - -Dafny program verifier finished with 16 verified, 0 errors - -Dafny program verifier did not attempt verification -true true false -103 103 103 106 106 106 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -0 18 9 70 -0 18 9 70 -0 18 9 70 -70 -hi later -21 4 42 5 1 -TestGhostables -15 -Init called with x=15 -16 - -Dafny program verifier did not attempt verification -true true false -103 103 103 106 106 106 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -0 18 9 70 -0 18 9 70 -0 18 9 70 -70 -hi later -21 4 42 5 1 -TestGhostables -15 -Init called with x=15 -16 - -Dafny program verifier did not attempt verification -true true false -103 103 103 106 106 106 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -0 18 9 70 -0 18 9 70 -0 18 9 70 -70 -hi later -21 4 42 5 1 -TestGhostables -15 -Init called with x=15 -16 - -Dafny program verifier did not attempt verification -true true false -103 103 103 106 106 106 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -0 18 9 70 -0 18 9 70 -0 18 9 70 -70 -hi later -21 4 42 5 1 -TestGhostables -15 -Init called with x=15 -16 - -Dafny program verifier did not attempt verification true true false 103 103 103 106 106 106 203 17 0 18 8 9 69 70 diff --git a/Test/comp/Collections.dfy b/Test/comp/Collections.dfy index 104eb9f90ac..9457e44b170 100644 --- a/Test/comp/Collections.dfy +++ b/Test/comp/Collections.dfy @@ -1,10 +1,5 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false method Main() { Sets(); diff --git a/Test/comp/Collections.dfy.expect b/Test/comp/Collections.dfy.expect index 2361c1a88db..e705d887a7d 100644 --- a/Test/comp/Collections.dfy.expect +++ b/Test/comp/Collections.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 40 verified, 0 errors - -Dafny program verifier did not attempt verification Sets: {} {17, 82} {12, 17} cardinality: 0 2 2 union: {17, 82} {12, 17, 82} @@ -127,511 +123,3 @@ Multiset=== 1 3 |s|=2 |u|=4 1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Yellow := 21, Color.Blue := 30] -keys: {Color.Yellow, Color.Blue} -values: {21, 30} -items: {(Color.Yellow, 21), (Color.Blue, 30)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {21, 30} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/comp/Collections.dfy.go.expect b/Test/comp/Collections.dfy.go.expect new file mode 100644 index 00000000000..309d0c550c4 --- /dev/null +++ b/Test/comp/Collections.dfy.go.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/comp/Collections.dfy.java.expect b/Test/comp/Collections.dfy.java.expect new file mode 100644 index 00000000000..ed929a4d34c --- /dev/null +++ b/Test/comp/Collections.dfy.java.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Yellow := 21, Color.Blue := 30] +keys: {Color.Yellow, Color.Blue} +values: {21, 30} +items: {(Color.Yellow, 21), (Color.Blue, 30)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/comp/Collections.dfy.js.expect b/Test/comp/Collections.dfy.js.expect new file mode 100644 index 00000000000..309d0c550c4 --- /dev/null +++ b/Test/comp/Collections.dfy.js.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/comp/Collections.dfy.py.expect b/Test/comp/Collections.dfy.py.expect new file mode 100644 index 00000000000..61b4217bbaf --- /dev/null +++ b/Test/comp/Collections.dfy.py.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {21, 30} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/comp/Comprehensions.dfy b/Test/comp/Comprehensions.dfy index 29ac368f2c3..73c43b22bfa 100644 --- a/Test/comp/Comprehensions.dfy +++ b/Test/comp/Comprehensions.dfy @@ -1,10 +1,5 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false method Main() { AssignSuchThat(); diff --git a/Test/comp/Comprehensions.dfy.expect b/Test/comp/Comprehensions.dfy.expect index 18159ddde0a..c9703fc9397 100644 --- a/Test/comp/Comprehensions.dfy.expect +++ b/Test/comp/Comprehensions.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 32 verified, 0 errors - -Dafny program verifier did not attempt verification x=13 y=14 x=13 y=14 b=yes true false @@ -64,259 +60,3 @@ true true [137438953474, 137438953475, 137438953476, 137438953477, 137438953479] cdefh cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[14 := 7, 12 := 6, 13 := 6] -map[18 := 14, 17 := 13, 16 := 12] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh diff --git a/Test/comp/Comprehensions.dfy.py.expect b/Test/comp/Comprehensions.dfy.py.expect new file mode 100644 index 00000000000..aeaa31fc0f3 --- /dev/null +++ b/Test/comp/Comprehensions.dfy.py.expect @@ -0,0 +1,62 @@ +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[14 := 7, 12 := 6, 13 := 6] +map[18 := 14, 17 := 13, 16 := 12] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh diff --git a/Test/comp/ComprehensionsNewSyntax.dfy b/Test/comp/ComprehensionsNewSyntax.dfy index a324b622e8a..6cd88aeb4f7 100644 --- a/Test/comp/ComprehensionsNewSyntax.dfy +++ b/Test/comp/ComprehensionsNewSyntax.dfy @@ -1,10 +1,5 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method Main() { Quantifier(); diff --git a/Test/comp/ComprehensionsNewSyntax.dfy.expect b/Test/comp/ComprehensionsNewSyntax.dfy.expect index 408769f4b67..b70314ff87b 100644 --- a/Test/comp/ComprehensionsNewSyntax.dfy.expect +++ b/Test/comp/ComprehensionsNewSyntax.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 10 verified, 0 errors - -Dafny program verifier did not attempt verification true false true false map[12 := 6, 13 := 6, 14 := 7] @@ -36,147 +32,3 @@ false false false false true true true true false false false false true true true true - -Dafny program verifier did not attempt verification -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true - -Dafny program verifier did not attempt verification -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true - -Dafny program verifier did not attempt verification -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true - -Dafny program verifier did not attempt verification -true false -true false -map[14 := 7, 12 := 6, 13 := 6] -map[18 := 14, 17 := 13, 16 := 12] -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true diff --git a/Test/comp/ComprehensionsNewSyntax.dfy.py.expect b/Test/comp/ComprehensionsNewSyntax.dfy.py.expect new file mode 100644 index 00000000000..b19cef0ba0e --- /dev/null +++ b/Test/comp/ComprehensionsNewSyntax.dfy.py.expect @@ -0,0 +1,34 @@ +true false +true false +map[14 := 7, 12 := 6, 13 := 6] +map[18 := 14, 17 := 13, 16 := 12] +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true diff --git a/Test/comp/CovariantCollections.dfy b/Test/comp/CovariantCollections.dfy index 12301df3b09..6dd73ee7fea 100644 --- a/Test/comp/CovariantCollections.dfy +++ b/Test/comp/CovariantCollections.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method Main() { Sequences(); diff --git a/Test/comp/CovariantCollections.dfy.expect b/Test/comp/CovariantCollections.dfy.expect index e029d3abc3b..a9d00f4a65d 100644 --- a/Test/comp/CovariantCollections.dfy.expect +++ b/Test/comp/CovariantCollections.dfy.expect @@ -1,223 +1,3 @@ - -Dafny program verifier finished with 25 verified, 0 errors - -Dafny program verifier did not attempt verification -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17] [12, 17] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - comprehension: {82} - union: {17, 82} {12, 17, 82} - intersection: {} {17} - difference: {} {82} - subset: true false true - proper subset: true false false - membership: false true true -Multisets: {} {17, 17, 82, 82} {12, 17} - cardinality: 0 4 2 - update: {17, 17, 42, 42, 42} {12, 17, 42} - multiplicity: 2 0 20 - union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} - intersection: {} {17, 82, 82} - difference: {} {17, 82, 82} - subset: true false true - proper subset: true false false - membership: false true true -Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} - cardinality: 0 3 2 - update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} - comprehension: {17 := 12, 82 := 12} - Keys: {12, 17, 82} - Values: {17, 82} - eq: false true true - eq: true true true true true true - eq: true true true true true true - eq: true false true false true false - eq: true false true false true false - eq: true true true true true true - eq: true true true true true true -set: {20, 30} -multiset: {20, 30} -seq: [20, 30] -map: {20 := 30, 30 := 20} -true -true -1 1 -1 1 - -Dafny program verifier did not attempt verification -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17] [12, 17] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - comprehension: {82} - union: {17, 82} {12, 17, 82} - intersection: {} {17} - difference: {} {82} - subset: true false true - proper subset: true false false - membership: false true true -Multisets: {} {17, 17, 82, 82} {12, 17} - cardinality: 0 4 2 - update: {17, 17, 42, 42, 42} {12, 17, 42} - multiplicity: 2 0 20 - union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} - intersection: {} {17, 82, 82} - difference: {} {17, 82, 82} - subset: true false true - proper subset: true false false - membership: false true true -Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} - cardinality: 0 3 2 - update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} - comprehension: {17 := 12, 82 := 12} - Keys: {12, 17, 82} - Values: {17, 82} - eq: false true true - eq: true true true true true true - eq: true true true true true true - eq: true false true false true false - eq: true false true false true false - eq: true true true true true true - eq: true true true true true true -set: {20, 30} -multiset: {20, 30} -seq: [20, 30] -map: {20 := 30, 30 := 20} -true -true -1 1 -1 1 - -Dafny program verifier did not attempt verification -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17] [12, 17] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - comprehension: {82} - union: {17, 82} {12, 17, 82} - intersection: {} {17} - difference: {} {82} - subset: true false true - proper subset: true false false - membership: false true true -Multisets: {} {17, 17, 82, 82} {12, 17} - cardinality: 0 4 2 - update: {17, 17, 42, 42, 42} {12, 17, 42} - multiplicity: 2 0 20 - union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} - intersection: {} {17, 82, 82} - difference: {} {17, 82, 82} - subset: true false true - proper subset: true false false - membership: false true true -Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} - cardinality: 0 3 2 - update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} - comprehension: {17 := 12, 82 := 12} - Keys: {12, 17, 82} - Values: {17, 82} - eq: false true true - eq: true true true true true true - eq: true true true true true true - eq: true false true false true false - eq: true false true false true false - eq: true true true true true true - eq: true true true true true true -set: {20, 30} -multiset: {20, 30} -seq: [20, 30] -map: {20 := 30, 30 := 20} -true -true -1 1 -1 1 - -Dafny program verifier did not attempt verification -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17] [12, 17] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - comprehension: {82} - union: {17, 82} {12, 17, 82} - intersection: {} {17} - difference: {} {82} - subset: true false true - proper subset: true false false - membership: false true true -Multisets: {} {17, 17, 82, 82} {12, 17} - cardinality: 0 4 2 - update: {17, 17, 42, 42, 42} {12, 17, 42} - multiplicity: 2 0 20 - union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} - intersection: {} {17, 82, 82} - difference: {} {17, 82, 82} - subset: true false true - proper subset: true false false - membership: false true true -Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} - cardinality: 0 3 2 - update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} - comprehension: {17 := 12, 82 := 12} - Keys: {12, 17, 82} - Values: {17, 82} - eq: false true true - eq: true true true true true true - eq: true true true true true true - eq: true false true false true false - eq: true false true false true false - eq: true true true true true true - eq: true true true true true true -set: {20, 30} -multiset: {20, 30} -seq: [20, 30] -map: {20 := 30, 30 := 20} -true -true -1 1 -1 1 - -Dafny program verifier did not attempt verification Sequences: [] [17, 82, 17, 82] [12, 17] cardinality: 0 4 2 update: [42, 82, 17, 82] [42, 17] diff --git a/Test/comp/Datatype.dfy b/Test/comp/Datatype.dfy index 2599907a94c..44579383e5c 100644 --- a/Test/comp/Datatype.dfy +++ b/Test/comp/Datatype.dfy @@ -1,10 +1,5 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation datatype List = Nil | Cons(head: int, tail: List) diff --git a/Test/comp/Datatype.dfy.expect b/Test/comp/Datatype.dfy.expect index 84dceeb16e6..93e37a9562a 100644 --- a/Test/comp/Datatype.dfy.expect +++ b/Test/comp/Datatype.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 12 verified, 0 errors - -Dafny program verifier did not attempt verification List.Nil List.Cons(5, List.Nil) (List.Nil, List.Cons(5, List.Nil)) @@ -24,99 +20,3 @@ Record.Record(58, true) 199 800 801 802 800 801 802 - -Dafny program verifier did not attempt verification -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) -0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) -Stream.Next -Stream.Next -{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} -CoBerry.Hjortron true true false -false -42 'q' hello -1701 -Record.Record(58, true) -199 -800 801 802 -800 801 802 - -Dafny program verifier did not attempt verification -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) -0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) -Stream.Next -Stream.Next -{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} -CoBerry.Hjortron true true false -false -42 'q' hello -1701 -Record.Record(58, true) -199 -800 801 802 -800 801 802 - -Dafny program verifier did not attempt verification -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) -0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) -Stream.Next -Stream.Next -{Berry.Jordgubb, Berry.Smultron, Berry.Hallon} -CoBerry.Hjortron true true false -false -42 'q' hello -1701 -Record.Record(58, true) -199 -800 801 802 -800 801 802 - -Dafny program verifier did not attempt verification -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) -0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) -Stream.Next -Stream.Next -{Berry.Hallon, Berry.Smultron, Berry.Jordgubb} -CoBerry.Hjortron true true false -false -42 'q' hello -1701 -Record.Record(58, true) -199 -800 801 802 -800 801 802 diff --git a/Test/comp/Datatype.dfy.java.expect b/Test/comp/Datatype.dfy.java.expect new file mode 100644 index 00000000000..e5a32fd58bc --- /dev/null +++ b/Test/comp/Datatype.dfy.java.expect @@ -0,0 +1,22 @@ +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) +0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) +Stream.Next +Stream.Next +{Berry.Jordgubb, Berry.Smultron, Berry.Hallon} +CoBerry.Hjortron true true false +false +42 'q' hello +1701 +Record.Record(58, true) +199 +800 801 802 +800 801 802 diff --git a/Test/comp/Datatype.dfy.py.expect b/Test/comp/Datatype.dfy.py.expect new file mode 100644 index 00000000000..0f64b73ba2d --- /dev/null +++ b/Test/comp/Datatype.dfy.py.expect @@ -0,0 +1,22 @@ +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) +0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) +Stream.Next +Stream.Next +{Berry.Hallon, Berry.Smultron, Berry.Jordgubb} +CoBerry.Hjortron true true false +false +42 'q' hello +1701 +Record.Record(58, true) +199 +800 801 802 +800 801 802 diff --git a/Test/comp/DefaultParameters-Compile.dfy b/Test/comp/DefaultParameters-Compile.dfy index 145b8670647..cd6ba1163b1 100644 --- a/Test/comp/DefaultParameters-Compile.dfy +++ b/Test/comp/DefaultParameters-Compile.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method M(x: int := 16) { print x, "\n"; diff --git a/Test/comp/DefaultParameters-Compile.dfy.expect b/Test/comp/DefaultParameters-Compile.dfy.expect index b94739d5be1..b4b87321eb5 100644 --- a/Test/comp/DefaultParameters-Compile.dfy.expect +++ b/Test/comp/DefaultParameters-Compile.dfy.expect @@ -1,51 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification -12 -16 -1 2 -1 3 -10 20 -11 13 -Color.Blue(2, 1) Color.Red(3, 4) -5 5 6 -6 6 7 - -Dafny program verifier did not attempt verification -12 -16 -1 2 -1 3 -10 20 -11 13 -Color.Blue(2, 1) Color.Red(3, 4) -5 5 6 -6 6 7 - -Dafny program verifier did not attempt verification -12 -16 -1 2 -1 3 -10 20 -11 13 -Color.Blue(2, 1) Color.Red(3, 4) -5 5 6 -6 6 7 - -Dafny program verifier did not attempt verification -12 -16 -1 2 -1 3 -10 20 -11 13 -Color.Blue(2, 1) Color.Red(3, 4) -5 5 6 -6 6 7 - -Dafny program verifier did not attempt verification 12 16 1 2 diff --git a/Test/comp/DowncastClone.dfy b/Test/comp/DowncastClone.dfy index b90066da781..cb1f095b3f4 100644 --- a/Test/comp/DowncastClone.dfy +++ b/Test/comp/DowncastClone.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Co<+T> = Co(T) | C datatype ReCo<+T> = ReCo(T) diff --git a/Test/comp/DowncastClone.dfy.expect b/Test/comp/DowncastClone.dfy.expect index 982b36b396c..b0613294f3c 100644 --- a/Test/comp/DowncastClone.dfy.expect +++ b/Test/comp/DowncastClone.dfy.expect @@ -1,43 +1,3 @@ - -Dafny program verifier finished with 7 verified, 0 errors - -Dafny program verifier did not attempt verification -Co.Co(_module.Y) and Co.Co(_module.Y) -_module.Y and _module.Y -_module.Y _module.Y -false and false -false and false -_module.Y and _module.Y -Done - -Dafny program verifier did not attempt verification -Co.Co(_module.Y) and Co.Co(_module.Y) -_module.Y and _module.Y -_module.Y _module.Y -false and false -false and false -_module.Y and _module.Y -Done - -Dafny program verifier did not attempt verification -Co.Co(_module.Y) and Co.Co(_module.Y) -_module.Y and _module.Y -_module.Y _module.Y -false and false -false and false -_module.Y and _module.Y -Done - -Dafny program verifier did not attempt verification -Co.Co(_module.Y) and Co.Co(_module.Y) -_module.Y and _module.Y -_module.Y _module.Y -false and false -false and false -_module.Y and _module.Y -Done - -Dafny program verifier did not attempt verification Co.Co(_module.Y) and Co.Co(_module.Y) _module.Y and _module.Y _module.Y _module.Y diff --git a/Test/comp/ErasableTypeWrappers.dfy b/Test/comp/ErasableTypeWrappers.dfy index d62d3736622..a280099699f 100644 --- a/Test/comp/ErasableTypeWrappers.dfy +++ b/Test/comp/ErasableTypeWrappers.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false datatype SingletonRecord = SingletonRecord(u: int) datatype GhostOrNot = ghost Ghost(a: int, b: int) | Compiled(x: int) diff --git a/Test/comp/ErasableTypeWrappers.dfy.expect b/Test/comp/ErasableTypeWrappers.dfy.expect index 5013d9fc327..2a82d776c64 100644 --- a/Test/comp/ErasableTypeWrappers.dfy.expect +++ b/Test/comp/ErasableTypeWrappers.dfy.expect @@ -1,87 +1,3 @@ - -Dafny program verifier finished with 10 verified, 0 errors - -Dafny program verifier did not attempt verification -62 63 (2, 5) (2, 5) 3 -62 63 5 5 3 -5 5 3 -1062 1063 1005 1005 1003 -true true true -20 20 *20 21 20 -20 20 *20 21 20 -true false -true false true false -true false -0 (0, 0) 0 Color.Pink -13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false - 3.14 2.7 -18.0 18.0 3.0 false -18.0 4.0 true -HasConst.MakeC(4) (4, 4) -4 (4, 4) -OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.AnotherIntsWrapper(OptimizationChecks.Ints.Ints(5, 7)) - -Dafny program verifier did not attempt verification -62 63 (2, 5) (2, 5) 3 -62 63 5 5 3 -5 5 3 -1062 1063 1005 1005 1003 -true true true -20 20 *20 21 20 -20 20 *20 21 20 -true false -true false true false -true false -0 (0, 0) 0 Color.Pink -13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false - 3.14 2.7 -18.0 18.0 3.0 false -18.0 4.0 true -HasConst.MakeC(4) (4, 4) -4 (4, 4) -OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.AnotherIntsWrapper(OptimizationChecks.Ints.Ints(5, 7)) - -Dafny program verifier did not attempt verification -62 63 (2, 5) (2, 5) 3 -62 63 5 5 3 -5 5 3 -1062 1063 1005 1005 1003 -true true true -20 20 *20 21 20 -20 20 *20 21 20 -true false -true false true false -true false -0 (0, 0) 0 Color.Pink -13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false - 3.14 2.7 -18.0 18.0 3.0 false -18.0 4.0 true -HasConst.MakeC(4) (4, 4) -4 (4, 4) -OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.AnotherIntsWrapper(OptimizationChecks.Ints.Ints(5, 7)) - -Dafny program verifier did not attempt verification -62 63 (2, 5) (2, 5) 3 -62 63 5 5 3 -5 5 3 -1062 1063 1005 1005 1003 -true true true -20 20 *20 21 20 -20 20 *20 21 20 -true false -true false true false -true false -0 (0, 0) 0 Color.Pink -13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false - 3.14 2.7 -18.0 18.0 3.0 false -18.0 4.0 true -HasConst.MakeC(4) (4, 4) -4 (4, 4) -OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.AnotherIntsWrapper(OptimizationChecks.Ints.Ints(5, 7)) - -Dafny program verifier did not attempt verification 62 63 (2, 5) (2, 5) 3 62 63 5 5 3 5 5 3 diff --git a/Test/comp/EuclideanDivision.dfy b/Test/comp/EuclideanDivision.dfy index 7ae1803cad8..1286dcd125b 100644 --- a/Test/comp/EuclideanDivision.dfy +++ b/Test/comp/EuclideanDivision.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Some runtimes (like the one for C#) have three implementations // of Euclidean div/mod: one for `int`, one for `long`, and one diff --git a/Test/comp/EuclideanDivision.dfy.expect b/Test/comp/EuclideanDivision.dfy.expect index b538c9494de..e2585ff8c70 100644 --- a/Test/comp/EuclideanDivision.dfy.expect +++ b/Test/comp/EuclideanDivision.dfy.expect @@ -1,39 +1,3 @@ - -Dafny program verifier finished with 11 verified, 0 errors - -Dafny program verifier did not attempt verification -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 - -Dafny program verifier did not attempt verification -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 - -Dafny program verifier did not attempt verification -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 - -Dafny program verifier did not attempt verification -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 - -Dafny program verifier did not attempt verification 2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 diff --git a/Test/comp/ForLoops-Compilation.dfy b/Test/comp/ForLoops-Compilation.dfy index 97101b82961..b468d21f69f 100644 --- a/Test/comp/ForLoops-Compilation.dfy +++ b/Test/comp/ForLoops-Compilation.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method Main() { TestM(0, 0); diff --git a/Test/comp/ForLoops-Compilation.dfy.expect b/Test/comp/ForLoops-Compilation.dfy.expect index d67a5429fed..97724a714bc 100644 --- a/Test/comp/ForLoops-Compilation.dfy.expect +++ b/Test/comp/ForLoops-Compilation.dfy.expect @@ -1,203 +1,3 @@ - -Dafny program verifier finished with 23 verified, 0 errors - -Dafny program verifier did not attempt verification -0 0 0 0 --2 -2 -2 -2 -0 0 0 0 -145 145 145 145 -0 0 -0 0 -57 57 -0 0 -32385 32385 -0 0 --128 -128 -126 126 -0 0 -0 * 2 == 0 -2 * 0 == 0 -1 * 1 == 1 -6 * 5 == 30 -0 + 3 == 3 -3 + 0 == 3 -4 + 0 == 4 -0 + 0 == 0 -19 + 14 == 33 -4 4 4 -== BC10 == -0 --++--++---- *** -1 --++--++----++-- -2 --++--++----++--++--++--++--++--++--++ *** -3 --++--++----++--++--++--++--++--++--++ *** -4 --++--++----++--++--++--++--++--++--++ *** -5 --++--++----++--++--++--++--++--++--++ *** -6 --++--++----++--++--++--++--++--++--++ *** -7 --++--++----++--++--++--++--++--++--++ *** -8 --++--++----++--++--++--++--++--++--++ *** -9 --++--++----++--++--++--++--++--++--++ *** -== BC11 == -0 ||--++----++-- *** -1 ||--++----++--++-- -2 ||--++----++--++--++--++--++--++--++--++ *** -3 ||--++----++--++--++--++--++--++--++--++ *** -4 ||--++----++--++--++--++--++--++--++--++ *** -5 ||--++----++--++--++--++--++--++--++--++ *** -6 ||--++----++--++--++--++--++--++--++--++ *** -7 ||--++----++--++--++--++--++--++--++--++ *** -8 ||--++----++--++--++--++--++--++--++--++ *** -9 ||--++----++--++--++--++--++--++--++--++ *** -true true true 15 -all good - -Dafny program verifier did not attempt verification -0 0 0 0 --2 -2 -2 -2 -0 0 0 0 -145 145 145 145 -0 0 -0 0 -57 57 -0 0 -32385 32385 -0 0 --128 -128 -126 126 -0 0 -0 * 2 == 0 -2 * 0 == 0 -1 * 1 == 1 -6 * 5 == 30 -0 + 3 == 3 -3 + 0 == 3 -4 + 0 == 4 -0 + 0 == 0 -19 + 14 == 33 -4 4 4 -== BC10 == -0 --++--++---- *** -1 --++--++----++-- -2 --++--++----++--++--++--++--++--++--++ *** -3 --++--++----++--++--++--++--++--++--++ *** -4 --++--++----++--++--++--++--++--++--++ *** -5 --++--++----++--++--++--++--++--++--++ *** -6 --++--++----++--++--++--++--++--++--++ *** -7 --++--++----++--++--++--++--++--++--++ *** -8 --++--++----++--++--++--++--++--++--++ *** -9 --++--++----++--++--++--++--++--++--++ *** -== BC11 == -0 ||--++----++-- *** -1 ||--++----++--++-- -2 ||--++----++--++--++--++--++--++--++--++ *** -3 ||--++----++--++--++--++--++--++--++--++ *** -4 ||--++----++--++--++--++--++--++--++--++ *** -5 ||--++----++--++--++--++--++--++--++--++ *** -6 ||--++----++--++--++--++--++--++--++--++ *** -7 ||--++----++--++--++--++--++--++--++--++ *** -8 ||--++----++--++--++--++--++--++--++--++ *** -9 ||--++----++--++--++--++--++--++--++--++ *** -true true true 15 -all good - -Dafny program verifier did not attempt verification -0 0 0 0 --2 -2 -2 -2 -0 0 0 0 -145 145 145 145 -0 0 -0 0 -57 57 -0 0 -32385 32385 -0 0 --128 -128 -126 126 -0 0 -0 * 2 == 0 -2 * 0 == 0 -1 * 1 == 1 -6 * 5 == 30 -0 + 3 == 3 -3 + 0 == 3 -4 + 0 == 4 -0 + 0 == 0 -19 + 14 == 33 -4 4 4 -== BC10 == -0 --++--++---- *** -1 --++--++----++-- -2 --++--++----++--++--++--++--++--++--++ *** -3 --++--++----++--++--++--++--++--++--++ *** -4 --++--++----++--++--++--++--++--++--++ *** -5 --++--++----++--++--++--++--++--++--++ *** -6 --++--++----++--++--++--++--++--++--++ *** -7 --++--++----++--++--++--++--++--++--++ *** -8 --++--++----++--++--++--++--++--++--++ *** -9 --++--++----++--++--++--++--++--++--++ *** -== BC11 == -0 ||--++----++-- *** -1 ||--++----++--++-- -2 ||--++----++--++--++--++--++--++--++--++ *** -3 ||--++----++--++--++--++--++--++--++--++ *** -4 ||--++----++--++--++--++--++--++--++--++ *** -5 ||--++----++--++--++--++--++--++--++--++ *** -6 ||--++----++--++--++--++--++--++--++--++ *** -7 ||--++----++--++--++--++--++--++--++--++ *** -8 ||--++----++--++--++--++--++--++--++--++ *** -9 ||--++----++--++--++--++--++--++--++--++ *** -true true true 15 -all good - -Dafny program verifier did not attempt verification -0 0 0 0 --2 -2 -2 -2 -0 0 0 0 -145 145 145 145 -0 0 -0 0 -57 57 -0 0 -32385 32385 -0 0 --128 -128 -126 126 -0 0 -0 * 2 == 0 -2 * 0 == 0 -1 * 1 == 1 -6 * 5 == 30 -0 + 3 == 3 -3 + 0 == 3 -4 + 0 == 4 -0 + 0 == 0 -19 + 14 == 33 -4 4 4 -== BC10 == -0 --++--++---- *** -1 --++--++----++-- -2 --++--++----++--++--++--++--++--++--++ *** -3 --++--++----++--++--++--++--++--++--++ *** -4 --++--++----++--++--++--++--++--++--++ *** -5 --++--++----++--++--++--++--++--++--++ *** -6 --++--++----++--++--++--++--++--++--++ *** -7 --++--++----++--++--++--++--++--++--++ *** -8 --++--++----++--++--++--++--++--++--++ *** -9 --++--++----++--++--++--++--++--++--++ *** -== BC11 == -0 ||--++----++-- *** -1 ||--++----++--++-- -2 ||--++----++--++--++--++--++--++--++--++ *** -3 ||--++----++--++--++--++--++--++--++--++ *** -4 ||--++----++--++--++--++--++--++--++--++ *** -5 ||--++----++--++--++--++--++--++--++--++ *** -6 ||--++----++--++--++--++--++--++--++--++ *** -7 ||--++----++--++--++--++--++--++--++--++ *** -8 ||--++----++--++--++--++--++--++--++--++ *** -9 ||--++----++--++--++--++--++--++--++--++ *** -true true true 15 -all good - -Dafny program verifier did not attempt verification 0 0 0 0 -2 -2 -2 -2 0 0 0 0 diff --git a/Test/comp/ForallNewSyntax.dfy b/Test/comp/ForallNewSyntax.dfy index c17bf86830e..85e609b37b3 100644 --- a/Test/comp/ForallNewSyntax.dfy +++ b/Test/comp/ForallNewSyntax.dfy @@ -1,10 +1,4 @@ -// RUN: %baredafny verify %args --relax-definite-assignment --function-syntax:3 --quantifier-syntax:4 "%s" > "%t" -// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:cs "%s" >> "%t" -// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:js "%s" >> "%t" -// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:go "%s" >> "%t" -// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:java "%s" >> "%t" -// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --function-syntax:3 --quantifier-syntax:4 --relax-definite-assignment method Main() { var arrayTests := new ArrayTests(); diff --git a/Test/comp/ForallNewSyntax.dfy.expect b/Test/comp/ForallNewSyntax.dfy.expect index 241ea9ea521..5b33d939607 100644 --- a/Test/comp/ForallNewSyntax.dfy.expect +++ b/Test/comp/ForallNewSyntax.dfy.expect @@ -1,183 +1,3 @@ - -Dafny program verifier finished with 25 verified, 0 errors - -Dafny program verifier did not attempt verification -Arrays: Basic cases -[0, 1, 2, 3, 4] -[0, 1, 2, 3, 4] -[0, 1, 4, 3, 8] - -Arrays: Wrong index -[0, 0, 1, 2, 3] -[0, 0, 1, 2, 3] -[1, 2, 3, 4, 5] - -Arrays: Sequence conversion -[2, 1, 4, 5, 6] -[0, 3, 3, 3, 4] - -Arrays: Index collection -[1, 1, 2, 3, 4] -[1, 1, 2, 3, 4] - -Arrays: Functions -[1, 1, 3, 4, 5] -[1, 1, 3, 4, 5] -[1, 2, 3, 3, 5] -[1, 2, 3, 4, 5] - -Multi-dimensional arrays -[[0, 2, 4], [1, 3, 5], [2, 4, 6]] -[[0, 1, 2], [2, 3, 4], [4, 5, 6]] - -Objects: Basic cases -[(0, 1.0), (0, 2.0), (0, 3.0)] -[(2, 1.0), (2, 2.0), (4, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] - -Objects: Bad field accesses -[(2, 1.0), (3, 2.0), (4, 3.0)] -[(2, 1.0), (2, 2.0), (2, 3.0)] -[(2, 1.0), (3, 2.0), (1, 3.0)] - -Objects: Functions -[(2, 1.0), (4, 2.0), (6, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] -[(3, 1.0), (4, 2.0), (5, 3.0)] - -Dafny program verifier did not attempt verification -Arrays: Basic cases -[0, 1, 2, 3, 4] -[0, 1, 2, 3, 4] -[0, 1, 4, 3, 8] - -Arrays: Wrong index -[0, 0, 1, 2, 3] -[0, 0, 1, 2, 3] -[1, 2, 3, 4, 5] - -Arrays: Sequence conversion -[2, 1, 4, 5, 6] -[0, 3, 3, 3, 4] - -Arrays: Index collection -[1, 1, 2, 3, 4] -[1, 1, 2, 3, 4] - -Arrays: Functions -[1, 1, 3, 4, 5] -[1, 1, 3, 4, 5] -[1, 2, 3, 3, 5] -[1, 2, 3, 4, 5] - -Multi-dimensional arrays -[[0, 2, 4], [1, 3, 5], [2, 4, 6]] -[[0, 1, 2], [2, 3, 4], [4, 5, 6]] - -Objects: Basic cases -[(0, 1.0), (0, 2.0), (0, 3.0)] -[(2, 1.0), (2, 2.0), (4, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] - -Objects: Bad field accesses -[(2, 1.0), (3, 2.0), (4, 3.0)] -[(2, 1.0), (2, 2.0), (2, 3.0)] -[(2, 1.0), (3, 2.0), (1, 3.0)] - -Objects: Functions -[(2, 1.0), (4, 2.0), (6, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] -[(3, 1.0), (4, 2.0), (5, 3.0)] - -Dafny program verifier did not attempt verification -Arrays: Basic cases -[0, 1, 2, 3, 4] -[0, 1, 2, 3, 4] -[0, 1, 4, 3, 8] - -Arrays: Wrong index -[0, 0, 1, 2, 3] -[0, 0, 1, 2, 3] -[1, 2, 3, 4, 5] - -Arrays: Sequence conversion -[2, 1, 4, 5, 6] -[0, 3, 3, 3, 4] - -Arrays: Index collection -[1, 1, 2, 3, 4] -[1, 1, 2, 3, 4] - -Arrays: Functions -[1, 1, 3, 4, 5] -[1, 1, 3, 4, 5] -[1, 2, 3, 3, 5] -[1, 2, 3, 4, 5] - -Multi-dimensional arrays -[[0, 2, 4], [1, 3, 5], [2, 4, 6]] -[[0, 1, 2], [2, 3, 4], [4, 5, 6]] - -Objects: Basic cases -[(0, 1.0), (0, 2.0), (0, 3.0)] -[(2, 1.0), (2, 2.0), (4, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] - -Objects: Bad field accesses -[(2, 1.0), (3, 2.0), (4, 3.0)] -[(2, 1.0), (2, 2.0), (2, 3.0)] -[(2, 1.0), (3, 2.0), (1, 3.0)] - -Objects: Functions -[(2, 1.0), (4, 2.0), (6, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] -[(3, 1.0), (4, 2.0), (5, 3.0)] - -Dafny program verifier did not attempt verification -Arrays: Basic cases -[0, 1, 2, 3, 4] -[0, 1, 2, 3, 4] -[0, 1, 4, 3, 8] - -Arrays: Wrong index -[0, 0, 1, 2, 3] -[0, 0, 1, 2, 3] -[1, 2, 3, 4, 5] - -Arrays: Sequence conversion -[2, 1, 4, 5, 6] -[0, 3, 3, 3, 4] - -Arrays: Index collection -[1, 1, 2, 3, 4] -[1, 1, 2, 3, 4] - -Arrays: Functions -[1, 1, 3, 4, 5] -[1, 1, 3, 4, 5] -[1, 2, 3, 3, 5] -[1, 2, 3, 4, 5] - -Multi-dimensional arrays -[[0, 2, 4], [1, 3, 5], [2, 4, 6]] -[[0, 1, 2], [2, 3, 4], [4, 5, 6]] - -Objects: Basic cases -[(0, 1.0), (0, 2.0), (0, 3.0)] -[(2, 1.0), (2, 2.0), (4, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] - -Objects: Bad field accesses -[(2, 1.0), (3, 2.0), (4, 3.0)] -[(2, 1.0), (2, 2.0), (2, 3.0)] -[(2, 1.0), (3, 2.0), (1, 3.0)] - -Objects: Functions -[(2, 1.0), (4, 2.0), (6, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] -[(3, 1.0), (4, 2.0), (5, 3.0)] - -Dafny program verifier did not attempt verification Arrays: Basic cases [0, 1, 2, 3, 4] [0, 1, 2, 3, 4] diff --git a/Test/comp/Ghosts.dfy b/Test/comp/Ghosts.dfy index 506fe0facb1..8afe8a36d3f 100644 --- a/Test/comp/Ghosts.dfy +++ b/Test/comp/Ghosts.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method M1() returns (x: int) { diff --git a/Test/comp/Ghosts.dfy.expect b/Test/comp/Ghosts.dfy.expect index 430a9c18fc0..d075ea048c1 100644 --- a/Test/comp/Ghosts.dfy.expect +++ b/Test/comp/Ghosts.dfy.expect @@ -1,55 +1,3 @@ - -Dafny program verifier finished with 8 verified, 0 errors - -Dafny program verifier did not attempt verification -hello, M2 -hello, M2 -hello, M3 -hello, M1 -hello, M1 -hello, M1 -hello, M2 -hello, M3 -hello, N0 -hello, N1 - -Dafny program verifier did not attempt verification -hello, M2 -hello, M2 -hello, M3 -hello, M1 -hello, M1 -hello, M1 -hello, M2 -hello, M3 -hello, N0 -hello, N1 - -Dafny program verifier did not attempt verification -hello, M2 -hello, M2 -hello, M3 -hello, M1 -hello, M1 -hello, M1 -hello, M2 -hello, M3 -hello, N0 -hello, N1 - -Dafny program verifier did not attempt verification -hello, M2 -hello, M2 -hello, M3 -hello, M1 -hello, M1 -hello, M1 -hello, M2 -hello, M3 -hello, N0 -hello, N1 - -Dafny program verifier did not attempt verification hello, M2 hello, M2 hello, M3 diff --git a/Test/comp/Let.dfy b/Test/comp/Let.dfy index 64dce8b90e6..2a639009c78 100644 --- a/Test/comp/Let.dfy +++ b/Test/comp/Let.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cs "%s" > "%t" -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method M() returns (x: int) { x := var y := 50; y; // non-top-level let diff --git a/Test/comp/Let.dfy.expect b/Test/comp/Let.dfy.expect index 667abc32458..f05dfc414c1 100644 --- a/Test/comp/Let.dfy.expect +++ b/Test/comp/Let.dfy.expect @@ -1,37 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors -50 58 -Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) -5 7 9 10 12 30 -5 7 -5 7 -12.0 15.0 15.0 15.0 - -Dafny program verifier finished with 5 verified, 0 errors -50 58 -Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) -5 7 9 10 12 30 -5 7 -5 7 -12.0 15.0 15.0 15.0 - -Dafny program verifier finished with 5 verified, 0 errors -50 58 -Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) -5 7 9 10 12 30 -5 7 -5 7 -12.0 15.0 15.0 15.0 - -Dafny program verifier finished with 5 verified, 0 errors -50 58 -Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) -5 7 9 10 12 30 -5 7 -5 7 -12.0 15.0 15.0 15.0 - -Dafny program verifier finished with 5 verified, 0 errors 50 58 Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) 5 7 9 10 12 30 diff --git a/Test/comp/MoreAutoInit.dfy b/Test/comp/MoreAutoInit.dfy index 46bdf7148f1..c72083f1be5 100644 --- a/Test/comp/MoreAutoInit.dfy +++ b/Test/comp/MoreAutoInit.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { Methods.TestStart(); diff --git a/Test/comp/MoreAutoInit.dfy.expect b/Test/comp/MoreAutoInit.dfy.expect index e707d9ea27a..a077ee0daa9 100644 --- a/Test/comp/MoreAutoInit.dfy.expect +++ b/Test/comp/MoreAutoInit.dfy.expect @@ -1,575 +1,3 @@ - -Dafny program verifier finished with 38 verified, 0 errors - -Dafny program verifier did not attempt verification -Methods.Uni.Uni - ++ Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -{} - ++ {} -[] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -Functions.Uni.Uni - ++ Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -{2} - ++ {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni -[] ++ [] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] - ** [] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] - ** [] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] - ++ [Consts.Uni.Uni] ++ [] - ** [] ++ [] ++ [] -15 -0-0 0.0-0.0 false-false 'D'-'D' 0 -0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 -0-0 0-0 0-0 0-0 1 1 -0.0-0.0 68.0 -null-null null-null null-null null-null -0 -0:0:0 -0-0 -{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] -DefaultValuedExpressions.Color.Red-DefaultValuedExpressions.Color.Red DefaultValuedExpressions.PossibleCell.Nothing-DefaultValuedExpressions.PossibleCell.Nothing DefaultValuedExpressions.Cell.LittleCell(0)-DefaultValuedExpressions.Cell.LittleCell(0) -()-() (0, 0.0)-(0, 0.0) -(DefaultValuedExpressions.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions.Color.Red, (0, 0.0), ()) -null-null null-null -0-0 0-0 0-0 3 4 5 -0-0 11 0-0 8 - -Dafny program verifier did not attempt verification -Methods.Uni.Uni - ++ Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -{} - ++ {} -[] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -Functions.Uni.Uni - ++ Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -{2} - ++ {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni -[] ++ [] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] - ** [] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] - ** [] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] - ++ [Consts.Uni.Uni] ++ [] - ** [] ++ [] ++ [] -15 -0-0 0.0-0.0 false-false 'D'-'D' 0 -0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 -0-0 0-0 0-0 0-0 1 1 -0.0-0.0 68.0 -null-null null-null null-null null-null -0 -0:0:0 -0-0 -{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] -DefaultValuedExpressions.Color.Red-DefaultValuedExpressions.Color.Red DefaultValuedExpressions.PossibleCell.Nothing-DefaultValuedExpressions.PossibleCell.Nothing DefaultValuedExpressions.Cell.LittleCell(0)-DefaultValuedExpressions.Cell.LittleCell(0) -()-() (0, 0.0)-(0, 0.0) -(DefaultValuedExpressions.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions.Color.Red, (0, 0.0), ()) -null-null null-null -0-0 0-0 0-0 3 4 5 -0-0 11 0-0 8 - -Dafny program verifier did not attempt verification -Methods.Uni.Uni - ++ Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -{} - ++ {} -[] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -Functions.Uni.Uni - ++ Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -{2} - ++ {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni -[] ++ [] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] - ** [] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] - ** [] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] - ++ [Consts.Uni.Uni] ++ [] - ** [] ++ [] ++ [] -15 -0-0 0.0-0.0 false-false 'D'-'D' 0 -0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 -0-0 0-0 0-0 0-0 1 1 -0.0-0.0 68.0 -null-null null-null null-null null-null -0 -0:0:0 -0-0 -{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] -DefaultValuedExpressions.Color.Red-DefaultValuedExpressions.Color.Red DefaultValuedExpressions.PossibleCell.Nothing-DefaultValuedExpressions.PossibleCell.Nothing DefaultValuedExpressions.Cell.LittleCell(0)-DefaultValuedExpressions.Cell.LittleCell(0) -()-() (0, 0.0)-(0, 0.0) -(DefaultValuedExpressions.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions.Color.Red, (0, 0.0), ()) -null-null null-null -0-0 0-0 0-0 3 4 5 -0-0 11 0-0 8 - -Dafny program verifier did not attempt verification -Methods.Uni.Uni - ++ Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -{} - ++ {} -[] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -Functions.Uni.Uni - ++ Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -{2} - ++ {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni -[] ++ [] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] - ** [] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] - ** [] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] - ++ [Consts.Uni.Uni] ++ [] - ** [] ++ [] ++ [] -15 -0-0 0.0-0.0 false-false 'D'-'D' 0 -0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 -0-0 0-0 0-0 0-0 1 1 -0.0-0.0 68.0 -null-null null-null null-null null-null -0 -0:0:0 -0-0 -{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] -DefaultValuedExpressions.Color.Red-DefaultValuedExpressions.Color.Red DefaultValuedExpressions.PossibleCell.Nothing-DefaultValuedExpressions.PossibleCell.Nothing DefaultValuedExpressions.Cell.LittleCell(0)-DefaultValuedExpressions.Cell.LittleCell(0) -()-() (0, 0.0)-(0, 0.0) -(DefaultValuedExpressions.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions.Color.Red, (0, 0.0), ()) -null-null null-null -0-0 0-0 0-0 3 4 5 -0-0 11 0-0 8 - -Dafny program verifier did not attempt verification Methods.Uni.Uni ++ Methods.Uni.Uni Methods.Uni.Uni Methods.Uni.Uni diff --git a/Test/comp/NativeNumbers.dfy b/Test/comp/NativeNumbers.dfy index c63d02cf643..e1fadb1c406 100644 --- a/Test/comp/NativeNumbers.dfy +++ b/Test/comp/NativeNumbers.dfy @@ -1,11 +1,6 @@ +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false // Skip JavaScript because JavaScript doesn't have the same native types -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" method Main() { CastTests(); diff --git a/Test/comp/NativeNumbers.dfy.expect b/Test/comp/NativeNumbers.dfy.expect index 2be030252cf..6a9d263fc73 100644 --- a/Test/comp/NativeNumbers.dfy.expect +++ b/Test/comp/NativeNumbers.dfy.expect @@ -1,259 +1,3 @@ - -Dafny program verifier finished with 25 verified, 0 errors - -Dafny program verifier did not attempt verification -Casting: - -Small numbers: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 -5 5 5 5 5 5 5 5 5 -6 6 6 6 6 6 6 6 6 -7 7 7 7 7 7 7 7 7 -8 8 8 8 8 8 8 8 8 - -Large unsigned numbers: -255 255 255 255 255 255 255 255 -65535 65535 65535 65535 65535 65535 -4294967295 4294967295 4294967295 4294967295 -18446744073709551615 18446744073709551615 - -Int to large unsigned: -255 65535 4294967295 18446744073709551615 - -Cast from cardinality operator: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 - -Characters: -C 67 67 67 67 67 67 67 67 67 -0 127 32767 65535 65535 255 65535 65535 65535 - -Defaults: - -0 0 0 0 0 0 0 0 0 - -Byte arithmetic: - -20 30 -10 10 18 - -Short arithmetic: - -20 30 -10 10 18 - -Bitvectors: - -0 3 4 1 - -Comparison to zero: - -int8: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int16: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int32: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int64: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint8: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint16: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint32: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint64: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N - - -Dafny program verifier did not attempt verification -Casting: - -Small numbers: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 -5 5 5 5 5 5 5 5 5 -6 6 6 6 6 6 6 6 6 -7 7 7 7 7 7 7 7 7 -8 8 8 8 8 8 8 8 8 - -Large unsigned numbers: -255 255 255 255 255 255 255 255 -65535 65535 65535 65535 65535 65535 -4294967295 4294967295 4294967295 4294967295 -18446744073709551615 18446744073709551615 - -Int to large unsigned: -255 65535 4294967295 18446744073709551615 - -Cast from cardinality operator: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 - -Characters: -C 67 67 67 67 67 67 67 67 67 -0 127 32767 65535 65535 255 65535 65535 65535 - -Defaults: - -0 0 0 0 0 0 0 0 0 - -Byte arithmetic: - -20 30 -10 10 18 - -Short arithmetic: - -20 30 -10 10 18 - -Bitvectors: - -0 3 4 1 - -Comparison to zero: - -int8: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int16: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int32: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int64: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint8: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint16: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint32: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint64: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N - - -Dafny program verifier did not attempt verification -Casting: - -Small numbers: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 -5 5 5 5 5 5 5 5 5 -6 6 6 6 6 6 6 6 6 -7 7 7 7 7 7 7 7 7 -8 8 8 8 8 8 8 8 8 - -Large unsigned numbers: -255 255 255 255 255 255 255 255 -65535 65535 65535 65535 65535 65535 -4294967295 4294967295 4294967295 4294967295 -18446744073709551615 18446744073709551615 - -Int to large unsigned: -255 65535 4294967295 18446744073709551615 - -Cast from cardinality operator: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 - -Characters: -C 67 67 67 67 67 67 67 67 67 -0 127 32767 65535 65535 255 65535 65535 65535 - -Defaults: - -0 0 0 0 0 0 0 0 0 - -Byte arithmetic: - -20 30 -10 10 18 - -Short arithmetic: - -20 30 -10 10 18 - -Bitvectors: - -0 3 4 1 - -Comparison to zero: - -int8: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int16: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int32: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int64: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint8: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint16: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint32: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint64: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N - - -Dafny program verifier did not attempt verification Casting: Small numbers: diff --git a/Test/comp/NestedArrays.dfy b/Test/comp/NestedArrays.dfy index 0c2b313a32c..39d256f4936 100644 --- a/Test/comp/NestedArrays.dfy +++ b/Test/comp/NestedArrays.dfy @@ -1,9 +1,4 @@ -// RUN: %baredafny verify --relax-definite-assignment %args "%s" > "%t" -// RUN: %baredafny run --no-verify --target=cs %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=js %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=go %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=py %args "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /* Note, compiling to arrays in Java is difficult. In fact, this is currently * broken, see https://github.com/dafny-lang/dafny/issues/3055. Until this gets diff --git a/Test/comp/NestedArrays.dfy.expect b/Test/comp/NestedArrays.dfy.expect index a24d140b9d4..aa47d0d46d4 100644 --- a/Test/comp/NestedArrays.dfy.expect +++ b/Test/comp/NestedArrays.dfy.expect @@ -1,18 +1,2 @@ - -Dafny program verifier finished with 4 verified, 0 errors - -Dafny program verifier did not attempt verification -0 -0 - -Dafny program verifier did not attempt verification -0 -0 - -Dafny program verifier did not attempt verification -0 -0 - -Dafny program verifier did not attempt verification 0 0 diff --git a/Test/comp/Numbers.dfy b/Test/comp/Numbers.dfy index 36bf24dcdb4..c76bc87fdc0 100644 --- a/Test/comp/Numbers.dfy +++ b/Test/comp/Numbers.dfy @@ -1,10 +1,5 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false method Main() { Literals(); diff --git a/Test/comp/Numbers.dfy.expect b/Test/comp/Numbers.dfy.expect index 8d994e1c7c6..7eacf4e709d 100644 --- a/Test/comp/Numbers.dfy.expect +++ b/Test/comp/Numbers.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 59 verified, 0 errors - -Dafny program verifier did not attempt verification 0 0 3 @@ -113,455 +109,3 @@ true false true false false true false true true false true false 20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -g Q 2 -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -(312.0 / 40.0) (1248.0 / 40.0) -(-312.0 / 40.0) (-1248.0 / 40.0) -(-312.0 / 40.0) (1248.0 / 40.0) -(312.0 / 40.0) (-1248.0 / 40.0) -0.0 0.0 0.0 -120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) -123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 (8100.0 / 8100.0) -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -g Q 2 -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -g Q 2 -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -(312.0 / 40.0) (1248.0 / 40.0) -(-312.0 / 40.0) (-1248.0 / 40.0) -(-312.0 / 40.0) (1248.0 / 40.0) -(312.0 / 40.0) (-1248.0 / 40.0) -0.0 0.0 0.0 -120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) -123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 (8100.0 / 8100.0) -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -g Q 2 -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 diff --git a/Test/comp/Numbers.dfy.go.expect b/Test/comp/Numbers.dfy.go.expect new file mode 100644 index 00000000000..ce109553619 --- /dev/null +++ b/Test/comp/Numbers.dfy.go.expect @@ -0,0 +1,111 @@ +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +g Q 2 +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 diff --git a/Test/comp/Numbers.dfy.py.expect b/Test/comp/Numbers.dfy.py.expect new file mode 100644 index 00000000000..ce109553619 --- /dev/null +++ b/Test/comp/Numbers.dfy.py.expect @@ -0,0 +1,111 @@ +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +g Q 2 +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 diff --git a/Test/comp/Poly.dfy b/Test/comp/Poly.dfy index f3c3aa58599..5af5e8134e9 100644 --- a/Test/comp/Poly.dfy +++ b/Test/comp/Poly.dfy @@ -1,10 +1,5 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation trait Shape { function Center(): (real, real) reads this diff --git a/Test/comp/Poly.dfy.expect b/Test/comp/Poly.dfy.expect index 4ffff82d5ab..7dc24821586 100644 --- a/Test/comp/Poly.dfy.expect +++ b/Test/comp/Poly.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 15 verified, 0 errors - -Dafny program verifier did not attempt verification Center of square: ((1.0 / 2.0), (1.0 / 2.0)) Center of circle: (1.0, 1.0) Center: ((1.0 / 2.0), (1.0 / 2.0)) @@ -14,59 +10,3 @@ Center: ((1.0 / 2.0), (1.0 / 2.0)) Center: (1.0, 1.0) Center: ((1.0 / 2.0), (1.0 / 2.0)) Center: (1.0, 1.0) - -Dafny program verifier did not attempt verification -Center of square: ((1.0 / 2.0), (1.0 / 2.0)) -Center of circle: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) - -Dafny program verifier did not attempt verification -Center of square: ((1.0 / 2.0), (1.0 / 2.0)) -Center of circle: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) - -Dafny program verifier did not attempt verification -Center of square: (0.5, 0.5) -Center of circle: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) - -Dafny program verifier did not attempt verification -Center of square: (0.5, 0.5) -Center of circle: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) diff --git a/Test/comp/Poly.dfy.go.expect b/Test/comp/Poly.dfy.go.expect new file mode 100644 index 00000000000..88e09c5e6ff --- /dev/null +++ b/Test/comp/Poly.dfy.go.expect @@ -0,0 +1,12 @@ +Center of square: (0.5, 0.5) +Center of circle: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) diff --git a/Test/comp/Poly.dfy.py.expect b/Test/comp/Poly.dfy.py.expect new file mode 100644 index 00000000000..88e09c5e6ff --- /dev/null +++ b/Test/comp/Poly.dfy.py.expect @@ -0,0 +1,12 @@ +Center of square: (0.5, 0.5) +Center of circle: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) diff --git a/Test/comp/StaticMembersOfGenericTypes.dfy b/Test/comp/StaticMembersOfGenericTypes.dfy index 8c402dab951..8a8614d21a5 100644 --- a/Test/comp/StaticMembersOfGenericTypes.dfy +++ b/Test/comp/StaticMembersOfGenericTypes.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { GenericClass(); diff --git a/Test/comp/StaticMembersOfGenericTypes.dfy.expect b/Test/comp/StaticMembersOfGenericTypes.dfy.expect index 54e32b42ee5..196f1295e12 100644 --- a/Test/comp/StaticMembersOfGenericTypes.dfy.expect +++ b/Test/comp/StaticMembersOfGenericTypes.dfy.expect @@ -1,79 +1,3 @@ - -Dafny program verifier finished with 9 verified, 0 errors - -Dafny program verifier did not attempt verification -(0, 1) (true, 2, 3) -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -(2.0, true) (3.0, false) -(2.0, true) (3.0, false) -true false -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -50 3 4 -149 - -Dafny program verifier did not attempt verification -(0, 1) (true, 2, 3) -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -(2.0, true) (3.0, false) -(2.0, true) (3.0, false) -true false -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -50 3 4 -149 - -Dafny program verifier did not attempt verification -(0, 1) (true, 2, 3) -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -(2.0, true) (3.0, false) -(2.0, true) (3.0, false) -true false -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -50 3 4 -149 - -Dafny program verifier did not attempt verification -(0, 1) (true, 2, 3) -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -(2.0, true) (3.0, false) -(2.0, true) (3.0, false) -true false -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -50 3 4 -149 - -Dafny program verifier did not attempt verification (0, 1) (true, 2, 3) 0 25 (20, 21) (20, 21) 23 22 0 25 (20, 21) (20, 21) 23 22 diff --git a/Test/comp/TailRecursion.dfy b/Test/comp/TailRecursion.dfy index 68ba6ee4669..b3631d5eccc 100644 --- a/Test/comp/TailRecursion.dfy +++ b/Test/comp/TailRecursion.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { // In the following, 2_000_000 is too large an argument without tail-calls diff --git a/Test/comp/TailRecursion.dfy.expect b/Test/comp/TailRecursion.dfy.expect index 23c852a41fe..4b9da7e5093 100644 --- a/Test/comp/TailRecursion.dfy.expect +++ b/Test/comp/TailRecursion.dfy.expect @@ -1,79 +1,3 @@ - -Dafny program verifier finished with 28 verified, 0 errors - -Dafny program verifier did not attempt verification -2000000 2000000 -2000000 2000000 -1000000 1000000 -10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 -TriangleNumber(10) = 55 -TriangleNumber_Real(10) = 55.0 -TriangleNumber_ORDINAL(10) = 55 -Factorial(5) = 120 -Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] -UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] -Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 -TheBigSubtract(100) = -12 -TailNat(10) = 50 -17 17 17 -2000000 - -Dafny program verifier did not attempt verification -2000000 2000000 -2000000 2000000 -1000000 1000000 -10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 -TriangleNumber(10) = 55 -TriangleNumber_Real(10) = 55.0 -TriangleNumber_ORDINAL(10) = 55 -Factorial(5) = 120 -Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] -UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] -Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 -TheBigSubtract(100) = -12 -TailNat(10) = 50 -17 17 17 -2000000 - -Dafny program verifier did not attempt verification -2000000 2000000 -2000000 2000000 -1000000 1000000 -10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 -TriangleNumber(10) = 55 -TriangleNumber_Real(10) = 55.0 -TriangleNumber_ORDINAL(10) = 55 -Factorial(5) = 120 -Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] -UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] -Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 -TheBigSubtract(100) = -12 -TailNat(10) = 50 -17 17 17 -2000000 - -Dafny program verifier did not attempt verification -2000000 2000000 -2000000 2000000 -1000000 1000000 -10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 -TriangleNumber(10) = 55 -TriangleNumber_Real(10) = 55.0 -TriangleNumber_ORDINAL(10) = 55 -Factorial(5) = 120 -Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] -UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] -Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 -TheBigSubtract(100) = -12 -TailNat(10) = 50 -17 17 17 -2000000 - -Dafny program verifier did not attempt verification 2000000 2000000 2000000 2000000 1000000 1000000 diff --git a/Test/comp/TypeDescriptors.dfy b/Test/comp/TypeDescriptors.dfy index 636cb3db583..5bedbb900e4 100644 --- a/Test/comp/TypeDescriptors.dfy +++ b/Test/comp/TypeDescriptors.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Method(s: string, g: G) { var zero: G; diff --git a/Test/comp/TypeDescriptors.dfy.expect b/Test/comp/TypeDescriptors.dfy.expect index 9b1e8487bdc..1b09338c83d 100644 --- a/Test/comp/TypeDescriptors.dfy.expect +++ b/Test/comp/TypeDescriptors.dfy.expect @@ -1,155 +1,3 @@ - -Dafny program verifier finished with 11 verified, 0 errors - -Dafny program verifier did not attempt verification -int: 8 0 -bool: true false -char: 'r' 'D' -real: 1.618 0.0 -ORDINAL: 0 -bv0: 0 0 -bv21: 121 0 -bv32: 132 0 -bv191: 191 0 -set: {7} {} -multiset: multiset{7, 7} multiset{} -seq: [7] [] -map: map[2 := 7] map[] -pos: 3 1 -Hundred: 6 0 -HundredOdd: 13 19 -JustOdd: 131 5 -(): () () -(int, real): (2, 3.2) (0, 0.0) -(int, pos): (2, 3) (0, 1) -AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) -Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) -Stream: Stream.More -A=int: 15 0 -B=int: 16 0 -datatype.B=: {14} {} -object?: null -Class?>: null -Trait?>: null -array?: null -array2?: null -int --> bool: null -array? ~> bool: null - -Dafny program verifier did not attempt verification -int: 8 0 -bool: true false -char: 'r' 'D' -real: 1.618 0.0 -ORDINAL: 0 -bv0: 0 0 -bv21: 121 0 -bv32: 132 0 -bv191: 191 0 -set: {7} {} -multiset: multiset{7, 7} multiset{} -seq: [7] [] -map: map[2 := 7] map[] -pos: 3 1 -Hundred: 6 0 -HundredOdd: 13 19 -JustOdd: 131 5 -(): () () -(int, real): (2, 3.2) (0, 0.0) -(int, pos): (2, 3) (0, 1) -AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) -Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) -Stream: Stream.More -A=int: 15 0 -B=int: 16 0 -datatype.B=: {14} {} -object?: null -Class?>: null -Trait?>: null -array?: null -array2?: null -int --> bool: null -array? ~> bool: null - -Dafny program verifier did not attempt verification -int: 8 0 -bool: true false -char: 'r' 'D' -real: 1.618 0.0 -ORDINAL: 0 -bv0: 0 0 -bv21: 121 0 -bv32: 132 0 -bv191: 191 0 -set: {7} {} -multiset: multiset{7, 7} multiset{} -seq: [7] [] -map: map[2 := 7] map[] -pos: 3 1 -Hundred: 6 0 -HundredOdd: 13 19 -JustOdd: 131 5 -(): () () -(int, real): (2, 3.2) (0, 0.0) -(int, pos): (2, 3) (0, 1) -AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) -Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) -Stream: Stream.More -A=int: 15 0 -B=int: 16 0 -datatype.B=: {14} {} -object?: null -Class?>: null -Trait?>: null -array?: null -array2?: null -int --> bool: null -array? ~> bool: null - -Dafny program verifier did not attempt verification -int: 8 0 -bool: true false -char: 'r' 'D' -real: 1.618 0.0 -ORDINAL: 0 -bv0: 0 0 -bv21: 121 0 -bv32: 132 0 -bv191: 191 0 -set: {7} {} -multiset: multiset{7, 7} multiset{} -seq: [7] [] -map: map[2 := 7] map[] -pos: 3 1 -Hundred: 6 0 -HundredOdd: 13 19 -JustOdd: 131 5 -(): () () -(int, real): (2, 3.2) (0, 0.0) -(int, pos): (2, 3) (0, 1) -AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) -Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) -Stream: Stream.More -A=int: 15 0 -B=int: 16 0 -datatype.B=: {14} {} -object?: null -Class?>: null -Trait?>: null -array?: null -array2?: null -int --> bool: null -array? ~> bool: null - -Dafny program verifier did not attempt verification int: 8 0 bool: true false char: 'r' 'D' diff --git a/Test/comp/TypeParams.dfy b/Test/comp/TypeParams.dfy index 11d1b3bac6a..c595881e028 100644 --- a/Test/comp/TypeParams.dfy +++ b/Test/comp/TypeParams.dfy @@ -1,11 +1,6 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" - -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation + datatype Color = Orange | Pink | Teal type Six = x | x <= 6 diff --git a/Test/comp/TypeParams.dfy.expect b/Test/comp/TypeParams.dfy.expect index ac8ef1c58e5..1381a030f65 100644 --- a/Test/comp/TypeParams.dfy.expect +++ b/Test/comp/TypeParams.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 17 verified, 0 errors - -Dafny program verifier did not attempt verification 0 0 0 false Color.Orange 0.0 {} Color.Orange null null null null null {} multiset{} [] map[] {} map[] @@ -21,87 +17,3 @@ System.Func`2[Dafny.BigRational,System.Boolean] System.Func`1[System.Numerics.BigInteger] System.Func`3[_module._IColor,Dafny.ISet`1[System.UInt16],System.UInt32] 0 0 - -Dafny program verifier did not attempt verification -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -function () { return false; } -function () { return _dafny.ZERO; } -function () { return _dafny.ZERO; } -0 0 - -Dafny program verifier did not attempt verification -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -func(dafny.Real) bool -func() dafny.Int -func(main.Color, dafny.Set) uint32 -0 0 - -Dafny program verifier did not attempt verification -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -Function -Function -Function -0 0 - -Dafny program verifier did not attempt verification -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -Function -Function -Function -0 0 diff --git a/Test/comp/TypeParams.dfy.go.expect b/Test/comp/TypeParams.dfy.go.expect new file mode 100644 index 00000000000..e3a8e67d066 --- /dev/null +++ b/Test/comp/TypeParams.dfy.go.expect @@ -0,0 +1,19 @@ +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +func(dafny.Real) bool +func() dafny.Int +func(main.Color, dafny.Set) uint32 +0 0 diff --git a/Test/comp/TypeParams.dfy.java.expect b/Test/comp/TypeParams.dfy.java.expect new file mode 100644 index 00000000000..5f843ba06d1 --- /dev/null +++ b/Test/comp/TypeParams.dfy.java.expect @@ -0,0 +1,19 @@ +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +Function +Function +Function +0 0 diff --git a/Test/comp/TypeParams.dfy.js.expect b/Test/comp/TypeParams.dfy.js.expect new file mode 100644 index 00000000000..865c33ea48b --- /dev/null +++ b/Test/comp/TypeParams.dfy.js.expect @@ -0,0 +1,19 @@ +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +function () { return false; } +function () { return _dafny.ZERO; } +function () { return _dafny.ZERO; } +0 0 diff --git a/Test/comp/TypeParams.dfy.py.expect b/Test/comp/TypeParams.dfy.py.expect new file mode 100644 index 00000000000..5f843ba06d1 --- /dev/null +++ b/Test/comp/TypeParams.dfy.py.expect @@ -0,0 +1,19 @@ +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +Function +Function +Function +0 0 diff --git a/Test/comp/UnoptimizedErasableTypeWrappers.dfy b/Test/comp/UnoptimizedErasableTypeWrappers.dfy index 58f0682ed41..b7911aed9db 100644 --- a/Test/comp/UnoptimizedErasableTypeWrappers.dfy +++ b/Test/comp/UnoptimizedErasableTypeWrappers.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --optimize-erasable-datatype-wrapper:false --relax-definite-assignment --spill-translation datatype SingletonRecord = SingletonRecord(u: int) datatype WithGhost = WithGhost(u: int, ghost v: int) diff --git a/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect b/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect index be1d7190b0f..3371376a52b 100644 --- a/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect +++ b/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect @@ -1,31 +1,3 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification -SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) -() (30) (31) (30, 32) -15 20 -30 31 30 32 - -Dafny program verifier did not attempt verification -SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) -() (30) (31) (30, 32) -15 20 -30 31 30 32 - -Dafny program verifier did not attempt verification -SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) -() (30) (31) (30, 32) -15 20 -30 31 30 32 - -Dafny program verifier did not attempt verification -SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) -() (30) (31) (30, 32) -15 20 -30 31 30 32 - -Dafny program verifier did not attempt verification SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) () (30) (31) (30, 32) 15 20 diff --git a/Test/comp/Variance.dfy b/Test/comp/Variance.dfy index 6c198495209..ddcde6cd7d7 100644 --- a/Test/comp/Variance.dfy +++ b/Test/comp/Variance.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 /deprecation:0 "%s" > "%t" -// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --warn-deprecation:false datatype Co<+T> = Co(z: T) { const x: int; diff --git a/Test/comp/Variance.dfy.expect b/Test/comp/Variance.dfy.expect index cf08d82ac07..5bb565b6bb4 100644 --- a/Test/comp/Variance.dfy.expect +++ b/Test/comp/Variance.dfy.expect @@ -1,67 +1,3 @@ - -Dafny program verifier finished with 13 verified, 0 errors - -Dafny program verifier did not attempt verification -Co.Co(_module.Int) and Co.Co(_module.Int) -true0[]0000 -Non.Non(_module.Int) and Non.Non(_module.Int) -true0[]0000 -0 and 0 -_module.Int0[]0000 -CCo.CCo and CCo.CCo -true0[]0000 -CNon.CNon and CNon.CNon -true0[]0000 -CCon.CCon and CCon.CCon -_module.Int0[]0000 -Done - -Dafny program verifier did not attempt verification -Co.Co(_module.Int) and Co.Co(_module.Int) -true0[]0000 -Non.Non(_module.Int) and Non.Non(_module.Int) -true0[]0000 -0 and 0 -_module.Int0[]0000 -CCo.CCo and CCo.CCo -true0[]0000 -CNon.CNon and CNon.CNon -true0[]0000 -CCon.CCon and CCon.CCon -_module.Int0[]0000 -Done - -Dafny program verifier did not attempt verification -Co.Co(_module.Int) and Co.Co(_module.Int) -true0[]0000 -Non.Non(_module.Int) and Non.Non(_module.Int) -true0[]0000 -0 and 0 -_module.Int0[]0000 -CCo.CCo and CCo.CCo -true0[]0000 -CNon.CNon and CNon.CNon -true0[]0000 -CCon.CCon and CCon.CCon -_module.Int0[]0000 -Done - -Dafny program verifier did not attempt verification -Co.Co(_module.Int) and Co.Co(_module.Int) -true0[]0000 -Non.Non(_module.Int) and Non.Non(_module.Int) -true0[]0000 -0 and 0 -_module.Int0[]0000 -CCo.CCo and CCo.CCo -true0[]0000 -CNon.CNon and CNon.CNon -true0[]0000 -CCon.CCon and CCon.CCon -_module.Int0[]0000 -Done - -Dafny program verifier did not attempt verification Co.Co(_module.Int) and Co.Co(_module.Int) true0[]0000 Non.Non(_module.Int) and Non.Non(_module.Int) diff --git a/Test/comp/Various.dfy b/Test/comp/Various.dfy index 1f29c511a83..502801e4c2a 100644 --- a/Test/comp/Various.dfy +++ b/Test/comp/Various.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Match(tp: (nat, nat)) { match tp diff --git a/Test/comp/Various.dfy.expect b/Test/comp/Various.dfy.expect index 502e2d04792..66f013c00f7 100644 --- a/Test/comp/Various.dfy.expect +++ b/Test/comp/Various.dfy.expect @@ -1,43 +1,3 @@ - -Dafny program verifier finished with 4 verified, 0 errors - -Dafny program verifier did not attempt verification -match -1 -Kablammo!! -0 -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] - -Dafny program verifier did not attempt verification -match -1 -Kablammo!! -0 -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] - -Dafny program verifier did not attempt verification -match -1 -Kablammo!! -0 -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] - -Dafny program verifier did not attempt verification -match -1 -Kablammo!! -0 -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] - -Dafny program verifier did not attempt verification match 1 Kablammo!! diff --git a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy index 10fe57dec8f..2cf77360cab 100644 --- a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy +++ b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // An extremely small program intended to be the first target input for // brand new Dafny compilers. Avoids any use of strings (and therefore sequences) diff --git a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect index e1dcaef650b..f32a5804e29 100644 --- a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect +++ b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect @@ -1,5 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification true \ No newline at end of file diff --git a/Test/comp/firstSteps/1_Calls-F.dfy b/Test/comp/firstSteps/1_Calls-F.dfy index 32566f59f3b..4fe5b83e551 100644 --- a/Test/comp/firstSteps/1_Calls-F.dfy +++ b/Test/comp/firstSteps/1_Calls-F.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/1_Calls-F.dfy.expect b/Test/comp/firstSteps/1_Calls-F.dfy.expect index 58e0a68ec1c..7ed6ff82de6 100644 --- a/Test/comp/firstSteps/1_Calls-F.dfy.expect +++ b/Test/comp/firstSteps/1_Calls-F.dfy.expect @@ -1,5 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification 5 diff --git a/Test/comp/firstSteps/2_Modules.dfy b/Test/comp/firstSteps/2_Modules.dfy index 750b8d60c21..d0effcb5a71 100644 --- a/Test/comp/firstSteps/2_Modules.dfy +++ b/Test/comp/firstSteps/2_Modules.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module A { const i: nat := 1 diff --git a/Test/comp/firstSteps/2_Modules.dfy.expect b/Test/comp/firstSteps/2_Modules.dfy.expect index 9a4b57459c7..b85905ec0b9 100644 --- a/Test/comp/firstSteps/2_Modules.dfy.expect +++ b/Test/comp/firstSteps/2_Modules.dfy.expect @@ -1,5 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification 1 2 3 diff --git a/Test/comp/firstSteps/3_Calls-As.dfy b/Test/comp/firstSteps/3_Calls-As.dfy index f22bbdbd3f6..38889421865 100644 --- a/Test/comp/firstSteps/3_Calls-As.dfy +++ b/Test/comp/firstSteps/3_Calls-As.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/3_Calls-As.dfy.expect b/Test/comp/firstSteps/3_Calls-As.dfy.expect index eea6c52592c..a1c59bb761f 100644 --- a/Test/comp/firstSteps/3_Calls-As.dfy.expect +++ b/Test/comp/firstSteps/3_Calls-As.dfy.expect @@ -1,5 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification 0 0 false 0 false 0 diff --git a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy index 89fb669dca0..6a66781ff0d 100644 --- a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy +++ b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect index e7498a27e3e..a8d09f0a6f5 100644 --- a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect +++ b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect @@ -1,6 +1,2 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification 5 3 5 3 5 3 5 3 diff --git a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy index 096523f8956..1175b1eca8f 100644 --- a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy +++ b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect index 8954da2b386..ef3de96e567 100644 --- a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect +++ b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect @@ -1,6 +1,2 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification 5 3 5 3 diff --git a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy index 1fbaebdf4e9..5d970ac4de5 100644 --- a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy +++ b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect index b6ffe78bcbb..4ff62e33956 100644 --- a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect +++ b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 4 verified, 0 errors - -Dafny program verifier did not attempt verification 15 [0, 1, 2, 4] [0, 2, 4] diff --git a/Test/comp/firstSteps/7_Arrays.dfy b/Test/comp/firstSteps/7_Arrays.dfy index 07ddf89594b..d02c942c9bb 100644 --- a/Test/comp/firstSteps/7_Arrays.dfy +++ b/Test/comp/firstSteps/7_Arrays.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Arrays.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/7_Arrays.dfy.expect b/Test/comp/firstSteps/7_Arrays.dfy.expect index 75e824c80bb..fa00285c692 100644 --- a/Test/comp/firstSteps/7_Arrays.dfy.expect +++ b/Test/comp/firstSteps/7_Arrays.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 7 verified, 0 errors - -Dafny program verifier did not attempt verification 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/comp/firstSteps/7_Dt_Algebraic.dfy b/Test/comp/firstSteps/7_Dt_Algebraic.dfy index 991462d8bdf..46a2995b37f 100644 --- a/Test/comp/firstSteps/7_Dt_Algebraic.dfy +++ b/Test/comp/firstSteps/7_Dt_Algebraic.dfy @@ -1,7 +1,5 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Dt.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect new file mode 100644 index 00000000000..ba1b72ea6f7 --- /dev/null +++ b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect @@ -0,0 +1,11 @@ +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} +42 'q' hello +1701 diff --git a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect index ec9b49fe420..e3ff7faba6e 100644 --- a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect +++ b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 7 verified, 0 errors - -Dafny program verifier did not attempt verification List.Nil List.Cons(5, List.Nil) (List.Nil, List.Cons(5, List.Nil)) @@ -13,16 +9,3 @@ List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, Li {Berry.Hallon, Berry.Smultron, Berry.Jordgubb} 42 'q' hello 1701 - -Dafny program verifier did not attempt verification -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} -42 'q' hello -1701 diff --git a/Test/dafny0/ArrayElementInitCompile.dfy b/Test/dafny0/ArrayElementInitCompile.dfy index 7d652486b9e..3714cf0fe8e 100644 --- a/Test/dafny0/ArrayElementInitCompile.dfy +++ b/Test/dafny0/ArrayElementInitCompile.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 /print:"%t.print" /rprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false method Main() { diff --git a/Test/dafny0/ArrayElementInitCompile.dfy.expect b/Test/dafny0/ArrayElementInitCompile.dfy.expect index a5241c75f19..eaa3e759999 100644 --- a/Test/dafny0/ArrayElementInitCompile.dfy.expect +++ b/Test/dafny0/ArrayElementInitCompile.dfy.expect @@ -1,79 +1,3 @@ - -Dafny program verifier finished with 18 verified, 0 errors - -Dafny program verifier did not attempt verification -67 67 67 67 67 67 67 67 -0 1 2 3 -1 2 3 4 -2 3 4 5 -3 4 5 6 -4 5 6 7 -O . O . O . O . O . O . -12 12 12 12 12 12 12 12 12 12 12 12 -D E -y z -4 3 -7 -100 75 98 25 - -looks like this rocks --2 -1 0 1 2 3 4 - -Dafny program verifier did not attempt verification -67 67 67 67 67 67 67 67 -0 1 2 3 -1 2 3 4 -2 3 4 5 -3 4 5 6 -4 5 6 7 -O . O . O . O . O . O . -12 12 12 12 12 12 12 12 12 12 12 12 -D E -y z -4 3 -7 -100 75 98 25 - -looks like this rocks --2 -1 0 1 2 3 4 - -Dafny program verifier did not attempt verification -67 67 67 67 67 67 67 67 -0 1 2 3 -1 2 3 4 -2 3 4 5 -3 4 5 6 -4 5 6 7 -O . O . O . O . O . O . -12 12 12 12 12 12 12 12 12 12 12 12 -D E -y z -4 3 -7 -100 75 98 25 - -looks like this rocks --2 -1 0 1 2 3 4 - -Dafny program verifier did not attempt verification -67 67 67 67 67 67 67 67 -0 1 2 3 -1 2 3 4 -2 3 4 5 -3 4 5 6 -4 5 6 7 -O . O . O . O . O . O . -12 12 12 12 12 12 12 12 12 12 12 12 -D E -y z -4 3 -7 -100 75 98 25 - -looks like this rocks --2 -1 0 1 2 3 4 - -Dafny program verifier did not attempt verification 67 67 67 67 67 67 67 67 0 1 2 3 1 2 3 4 diff --git a/Test/dafny0/Bitvectors.dfy b/Test/dafny0/Bitvectors.dfy index 6e0c9270b99..4c8e1094455 100644 --- a/Test/dafny0/Bitvectors.dfy +++ b/Test/dafny0/Bitvectors.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /print:"%t.print" /env:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Note the difference in Java output is due to // https://github.com/dafny-lang/dafny/issues/4152 diff --git a/Test/dafny0/Bitvectors.dfy.expect b/Test/dafny0/Bitvectors.dfy.expect index 51fda88f97b..ed1c7328e83 100644 --- a/Test/dafny0/Bitvectors.dfy.expect +++ b/Test/dafny0/Bitvectors.dfy.expect @@ -1,52 +1,3 @@ - -Dafny program verifier finished with 11 verified, 0 errors - -Dafny program verifier did not attempt verification -4000 4000 4000 0 -1 2053 1099 -185 55 -2 4 -Comparisons: true true false false -bv16: 5 - 2 == 3 -bv16: 1 - 2 == 65535 -3 2 -0 0 -false true true false -bv67: 147573952589676412927 + 3 == 2 - 3 == 147573952589676412925 !! 3 == ! 147573952589676412924 == 3 -bv64: 18446744073709551615 + 3 == 2 - 3 == 18446744073709551613 !! 3 == ! 18446744073709551612 == 3 -bv53: 9007199254740991 + 3 == 2 - 3 == 9007199254740989 !! 3 == ! 9007199254740988 == 3 -bv33: 8589934591 + 3 == 2 - 3 == 8589934589 !! 3 == ! 8589934588 == 3 -bv32: 4294967295 + 3 == 2 - 3 == 4294967293 !! 3 == ! 4294967292 == 3 -bv31: 2147483647 + 3 == 2 - 3 == 2147483645 !! 3 == ! 2147483644 == 3 -bv16: 65535 + 3 == 2 - 3 == 65533 !! 3 == ! 65532 == 3 -bv15: 32767 + 3 == 2 - 3 == 32765 !! 3 == ! 32764 == 3 -bv8: 255 + 3 == 2 - 3 == 253 !! 3 == ! 252 == 3 -bv6: 63 + 3 == 2 - 3 == 61 !! 3 == ! 60 == 3 -bv1: 1 + 1 == 0 - 1 == 1 !! 1 == ! 0 == 1 -bv0: 0 + 0 == 0 - 0 == 0 !! 0 == ! 0 == 0 -bv2: - 3 + 2 == 1 - 3 - 2 == 1 - 3 * 2 == 2 - 3 / 2 == 1 - 3 % 2 == 1 -PrintShifts: bv67: 5 40 40 40 -PrintShifts: bv32: 5 40 40 40 -PrintShifts: bv7: 5 40 40 40 -PrintShifts: bv2: 1 2 2 2 -PrintShifts: bv0: 0 0 0 0 -PrintShifts: bv67 again: 2 2 2 73786976294838206465 -PrintShifts: bv32 again: 8000 8000 2147487648 3221227472 -PrintShifts: bv7 again: 124 124 124 127 -PrintShifts: bv0 again: 0 0 0 0 -PrintRotates: bv12: 5 5 -PrintRotates: bv7: 5 5 -PrintRotates: bv2: 1 1 -PrintRotates: bv0: 0 0 -PrintRotates: bv12 again: 976 976 -PrintRotates: bv7 again: 127 127 - -Dafny program verifier did not attempt verification 4000 4000 4000 0 1 2053 1099 185 55 diff --git a/Test/dafny0/Constant.dfy b/Test/dafny0/Constant.dfy index f021e7d4482..1fdeedc3335 100644 --- a/Test/dafny0/Constant.dfy +++ b/Test/dafny0/Constant.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment const one:int := 1 const two:int := one * 2 diff --git a/Test/dafny0/Constant.dfy.expect b/Test/dafny0/Constant.dfy.expect index 6099b08c38c..1a7b981715f 100644 --- a/Test/dafny0/Constant.dfy.expect +++ b/Test/dafny0/Constant.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 17 verified, 0 errors one := 1 two := 2 three := 3 diff --git a/Test/dafny0/Deprecation.dfy b/Test/dafny0/Deprecation.dfy index 8c9c688d463..86521043d43 100644 --- a/Test/dafny0/Deprecation.dfy +++ b/Test/dafny0/Deprecation.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This file contains tests for messags about various deprecated features. // As those features go away completely, so can the corresponding tests. diff --git a/Test/dafny0/Deprecation.dfy.expect b/Test/dafny0/Deprecation.dfy.expect index 4ff88d31ade..0dffd975ac7 100644 --- a/Test/dafny0/Deprecation.dfy.expect +++ b/Test/dafny0/Deprecation.dfy.expect @@ -1,8 +1 @@ -Deprecation.dfy(16,13): Warning: constructors no longer need 'this' to be listed in modifies clauses -Deprecation.dfy(23,0): Warning: the old keyword phrase 'inductive predicate' has been renamed to 'least predicate' -Deprecation.dfy(26,0): Warning: the old keyword 'copredicate' has been renamed to the keyword phrase 'greatest predicate' -Deprecation.dfy(29,0): Warning: the old keyword phrase 'inductive lemma' has been renamed to 'least lemma' -Deprecation.dfy(32,0): Warning: the old keyword 'colemma' has been renamed to the keyword phrase 'greatest lemma' - -Dafny program verifier finished with 0 verified, 0 errors yet here we are diff --git a/Test/dafny0/Deprecation.dfy.verifier.expect b/Test/dafny0/Deprecation.dfy.verifier.expect new file mode 100644 index 00000000000..c0851e9888c --- /dev/null +++ b/Test/dafny0/Deprecation.dfy.verifier.expect @@ -0,0 +1,5 @@ +Deprecation.dfy(15,13): Warning: constructors no longer need 'this' to be listed in modifies clauses +Deprecation.dfy(22,0): Warning: the old keyword phrase 'inductive predicate' has been renamed to 'least predicate' +Deprecation.dfy(25,0): Warning: the old keyword 'copredicate' has been renamed to the keyword phrase 'greatest predicate' +Deprecation.dfy(28,0): Warning: the old keyword phrase 'inductive lemma' has been renamed to 'least lemma' +Deprecation.dfy(31,0): Warning: the old keyword 'colemma' has been renamed to the keyword phrase 'greatest lemma' diff --git a/Test/dafny0/DiscoverBounds.dfy b/Test/dafny0/DiscoverBounds.dfy index 31f9717ee79..18e56158613 100644 --- a/Test/dafny0/DiscoverBounds.dfy +++ b/Test/dafny0/DiscoverBounds.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /print:"%t.print" /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment newtype NT = x | 0 <= x < 100 newtype UT = NT diff --git a/Test/dafny0/DiscoverBounds.dfy.expect b/Test/dafny0/DiscoverBounds.dfy.expect index e43954c7be1..909a58326d0 100644 --- a/Test/dafny0/DiscoverBounds.dfy.expect +++ b/Test/dafny0/DiscoverBounds.dfy.expect @@ -1,10 +1,3 @@ -DiscoverBounds.dfy(32,7): Warning: /!\ No terms found to trigger on. -DiscoverBounds.dfy(33,7): Warning: /!\ No terms found to trigger on. -DiscoverBounds.dfy(34,7): Warning: /!\ No terms found to trigger on. -DiscoverBounds.dfy(35,7): Warning: /!\ No terms found to trigger on. -DiscoverBounds.dfy(36,7): Warning: /!\ No terms found to trigger on. - -Dafny program verifier finished with 7 verified, 0 errors 0 0 -2 diff --git a/Test/dafny0/DiscoverBounds.dfy.verifier.expect b/Test/dafny0/DiscoverBounds.dfy.verifier.expect new file mode 100644 index 00000000000..7c4de01ee0e --- /dev/null +++ b/Test/dafny0/DiscoverBounds.dfy.verifier.expect @@ -0,0 +1,5 @@ +DiscoverBounds.dfy(31,7): Warning: /!\ No terms found to trigger on. +DiscoverBounds.dfy(32,7): Warning: /!\ No terms found to trigger on. +DiscoverBounds.dfy(33,7): Warning: /!\ No terms found to trigger on. +DiscoverBounds.dfy(34,7): Warning: /!\ No terms found to trigger on. +DiscoverBounds.dfy(35,7): Warning: /!\ No terms found to trigger on. diff --git a/Test/dafny0/DividedConstructors.dfy b/Test/dafny0/DividedConstructors.dfy index 169bf4ee7df..e6f63a35f11 100644 --- a/Test/dafny0/DividedConstructors.dfy +++ b/Test/dafny0/DividedConstructors.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /env:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var m := new M0.MyClass.Init(20); diff --git a/Test/dafny0/DividedConstructors.dfy.expect b/Test/dafny0/DividedConstructors.dfy.expect index eaa3ed7d379..2dcc1ba6402 100644 --- a/Test/dafny0/DividedConstructors.dfy.expect +++ b/Test/dafny0/DividedConstructors.dfy.expect @@ -1,5 +1,2 @@ -DividedConstructors.dfy(62,9): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier finished with 17 verified, 0 errors 37, 17, 3.14 false, true diff --git a/Test/dafny0/DividedConstructors.dfy.verifier.expect b/Test/dafny0/DividedConstructors.dfy.verifier.expect new file mode 100644 index 00000000000..f3fdfadddbf --- /dev/null +++ b/Test/dafny0/DividedConstructors.dfy.verifier.expect @@ -0,0 +1 @@ +DividedConstructors.dfy(61,9): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny0/EqualityTypesCompile.dfy b/Test/dafny0/EqualityTypesCompile.dfy index de7954710e9..a36d1818c1d 100644 --- a/Test/dafny0/EqualityTypesCompile.dfy +++ b/Test/dafny0/EqualityTypesCompile.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype List = Nil | Cons(A, List) | ICons(int, List) datatype TwoLists = Two(List, List) diff --git a/Test/dafny0/EqualityTypesCompile.dfy.expect b/Test/dafny0/EqualityTypesCompile.dfy.expect index d2f1950e7f7..0246dc39633 100644 --- a/Test/dafny0/EqualityTypesCompile.dfy.expect +++ b/Test/dafny0/EqualityTypesCompile.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors from M: false from N: false from H: false diff --git a/Test/dafny0/ForallCompilationNewSyntax.dfy b/Test/dafny0/ForallCompilationNewSyntax.dfy index b7132df78ae..ac354d6338c 100644 --- a/Test/dafny0/ForallCompilationNewSyntax.dfy +++ b/Test/dafny0/ForallCompilationNewSyntax.dfy @@ -1,5 +1,4 @@ -// RUN: %baredafny run %args --relax-definite-assignment --quantifier-syntax:4 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --quantifier-syntax:4 --relax-definite-assignment method Main() { var c := new MyClass; diff --git a/Test/dafny0/ForallCompilationNewSyntax.dfy.expect b/Test/dafny0/ForallCompilationNewSyntax.dfy.expect index 5b7ec4613bb..e69de29bb2d 100644 --- a/Test/dafny0/ForallCompilationNewSyntax.dfy.expect +++ b/Test/dafny0/ForallCompilationNewSyntax.dfy.expect @@ -1,6 +0,0 @@ -ForallCompilationNewSyntax.dfy(26,4): Warning: /!\ No terms found to trigger on. -ForallCompilationNewSyntax.dfy(35,4): Warning: /!\ No terms found to trigger on. -ForallCompilationNewSyntax.dfy(44,4): Warning: /!\ No terms found to trigger on. -ForallCompilationNewSyntax.dfy(64,4): Warning: /!\ No trigger covering all quantified variables found. - -Dafny program verifier finished with 14 verified, 0 errors diff --git a/Test/dafny0/ForallCompilationNewSyntax.dfy.verifier.expect b/Test/dafny0/ForallCompilationNewSyntax.dfy.verifier.expect new file mode 100644 index 00000000000..a94cd5ea608 --- /dev/null +++ b/Test/dafny0/ForallCompilationNewSyntax.dfy.verifier.expect @@ -0,0 +1,4 @@ +ForallCompilationNewSyntax.dfy(25,4): Warning: /!\ No terms found to trigger on. +ForallCompilationNewSyntax.dfy(34,4): Warning: /!\ No terms found to trigger on. +ForallCompilationNewSyntax.dfy(43,4): Warning: /!\ No terms found to trigger on. +ForallCompilationNewSyntax.dfy(63,4): Warning: /!\ No trigger covering all quantified variables found. diff --git a/Test/dafny0/GhostITECompilation.dfy b/Test/dafny0/GhostITECompilation.dfy index d761ddbc6ea..bd7cfa28a95 100644 --- a/Test/dafny0/GhostITECompilation.dfy +++ b/Test/dafny0/GhostITECompilation.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 /functionSyntax:4 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --function-syntax:4 --relax-definite-assignment function F(x: nat, ghost y: nat): nat { diff --git a/Test/dafny0/GhostITECompilation.dfy.expect b/Test/dafny0/GhostITECompilation.dfy.expect index 1ec406bf52c..b4988e5cf11 100644 --- a/Test/dafny0/GhostITECompilation.dfy.expect +++ b/Test/dafny0/GhostITECompilation.dfy.expect @@ -1,31 +1,3 @@ - -Dafny program verifier finished with 6 verified, 0 errors - -Dafny program verifier did not attempt verification -65 -65 -65 -65 - -Dafny program verifier did not attempt verification -65 -65 -65 -65 - -Dafny program verifier did not attempt verification -65 -65 -65 -65 - -Dafny program verifier did not attempt verification -65 -65 -65 -65 - -Dafny program verifier did not attempt verification 65 65 65 diff --git a/Test/dafny0/InitialValues.dfy b/Test/dafny0/InitialValues.dfy index 7dcb05cc9c9..0848d244d71 100644 --- a/Test/dafny0/InitialValues.dfy +++ b/Test/dafny0/InitialValues.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/dafny0/InitialValues.dfy.expect b/Test/dafny0/InitialValues.dfy.expect index ada1b783c16..18903dcc3dd 100644 --- a/Test/dafny0/InitialValues.dfy.expect +++ b/Test/dafny0/InitialValues.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 2 verified, 0 errors r= 0.0 s= 3.4 a= 0.0 b= 3.4 z= 0.0 a==z = true diff --git a/Test/dafny0/MatchBraces.dfy b/Test/dafny0/MatchBraces.dfy index ddd1924774b..4ac380f2739 100644 --- a/Test/dafny0/MatchBraces.dfy +++ b/Test/dafny0/MatchBraces.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /print:"%t.print" /env:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Color = Red | Green | Blue diff --git a/Test/dafny0/MatchBraces.dfy.expect b/Test/dafny0/MatchBraces.dfy.expect index 88f6cf4f56e..4f89bff47e5 100644 --- a/Test/dafny0/MatchBraces.dfy.expect +++ b/Test/dafny0/MatchBraces.dfy.expect @@ -1,10 +1,2 @@ - -Dafny program verifier finished with 5 verified, 0 errors - -Dafny program verifier did not attempt verification -7 0.18 Color.Red 13 12 -11 98.0 Color.Green 14 115 - -Dafny program verifier did not attempt verification 7 0.18 Color.Red 13 12 11 98.0 Color.Green 14 115 diff --git a/Test/dafny0/MoForallCompilation.dfy b/Test/dafny0/MoForallCompilation.dfy index 835712edbce..af080853463 100644 --- a/Test/dafny0/MoForallCompilation.dfy +++ b/Test/dafny0/MoForallCompilation.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { TestAggregateArrayUpdate(); diff --git a/Test/dafny0/MoForallCompilation.dfy.expect b/Test/dafny0/MoForallCompilation.dfy.expect index c431c74c6aa..7bb606c1528 100644 --- a/Test/dafny0/MoForallCompilation.dfy.expect +++ b/Test/dafny0/MoForallCompilation.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 18 verified, 0 errors -4.0 -3.0 -2.0 -1.0 0.0 1.0 2.0 3.0 7.0 6.0 5.0 4.0 3.0 2.0 1.0 0.0 true true true true true true false false diff --git a/Test/dafny0/NameclashesCompile.dfy b/Test/dafny0/NameclashesCompile.dfy index 4d06065c675..46cae4b2338 100644 --- a/Test/dafny0/NameclashesCompile.dfy +++ b/Test/dafny0/NameclashesCompile.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var r0, r1; diff --git a/Test/dafny0/NameclashesCompile.dfy.expect b/Test/dafny0/NameclashesCompile.dfy.expect index 1434bb632f6..f001bdaeb1e 100644 --- a/Test/dafny0/NameclashesCompile.dfy.expect +++ b/Test/dafny0/NameclashesCompile.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 2 verified, 0 errors 15.0 15.1 94 99 0.8 14.3 14.4 18.9 18.92 diff --git a/Test/dafny0/NonZeroInitializationCompile.dfy b/Test/dafny0/NonZeroInitializationCompile.dfy index 48b61a39369..2fedae6d60d 100644 --- a/Test/dafny0/NonZeroInitializationCompile.dfy +++ b/Test/dafny0/NonZeroInitializationCompile.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment type MyInt = x | 6 <= x witness 6 newtype MyNewInt = x | 6 <= x witness 12 diff --git a/Test/dafny0/NonZeroInitializationCompile.dfy.expect b/Test/dafny0/NonZeroInitializationCompile.dfy.expect index 72b333efb85..c682dccf3fc 100644 --- a/Test/dafny0/NonZeroInitializationCompile.dfy.expect +++ b/Test/dafny0/NonZeroInitializationCompile.dfy.expect @@ -1,76 +1,3 @@ - -Dafny program verifier finished with 15 verified, 0 errors - -Dafny program verifier did not attempt verification -These are the arbitrary values chosen by the compiler: 6, 12 -short, short': 0, -35 -nes: {57} -f0, f1: (0, false), (29, true) -dt: Dt.Atom(-35) -cl { u: 12, x: 0, r: 3.14, nes: {57} } -cl' { u: 12, x: 0, ': 3.14, nes: {20, 57} } - -x: real :: 0.0 versus 0.0 -ch: char :: 'D' versus 'D' -s: set :: {} versus {} -d: Xt :: AdvancedZeroInitialization.Xt.MakeXt(0, []) versus AdvancedZeroInitialization.Xt.MakeXt(0, []) -y: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, []) versus AdvancedZeroInitialization.Yt.MakeYt(0, []) -z: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization.Yt.MakeYt(0, 0) - -x: real :: 0.0 versus 0.0 -ch: char :: 'D' versus 'D' -s: set :: {} versus {} -d: Xt :: AdvancedZeroInitialization.Xt.MakeXt(0, []) versus AdvancedZeroInitialization.Xt.MakeXt(0, []) -y: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, []) versus AdvancedZeroInitialization.Yt.MakeYt(0, []) -z: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization.Yt.MakeYt(0, 0) - -Dafny program verifier did not attempt verification -These are the arbitrary values chosen by the compiler: 6, 12 -short, short': 0, -35 -nes: {57} -f0, f1: (0, false), (29, true) -dt: Dt.Atom(-35) -cl { u: 12, x: 0, r: 3.14, nes: {57} } -cl' { u: 12, x: 0, ': 3.14, nes: {20, 57} } - -x: real :: 0.0 versus 0.0 -ch: char :: 'D' versus 'D' -s: set :: {} versus {} -d: Xt :: AdvancedZeroInitialization.Xt.MakeXt(0, []) versus AdvancedZeroInitialization.Xt.MakeXt(0, []) -y: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, []) versus AdvancedZeroInitialization.Yt.MakeYt(0, []) -z: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization.Yt.MakeYt(0, 0) - -x: real :: 0.0 versus 0.0 -ch: char :: 'D' versus 'D' -s: set :: {} versus {} -d: Xt :: AdvancedZeroInitialization.Xt.MakeXt(0, []) versus AdvancedZeroInitialization.Xt.MakeXt(0, []) -y: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, []) versus AdvancedZeroInitialization.Yt.MakeYt(0, []) -z: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization.Yt.MakeYt(0, 0) - -Dafny program verifier did not attempt verification -These are the arbitrary values chosen by the compiler: 6, 12 -short, short': 0, -35 -nes: {57} -f0, f1: (0, false), (29, true) -dt: Dt.Atom(-35) -cl { u: 12, x: 0, r: 3.14, nes: {57} } -cl' { u: 12, x: 0, ': 3.14, nes: {20, 57} } - -x: real :: 0.0 versus 0.0 -ch: char :: 'D' versus 'D' -s: set :: {} versus {} -d: Xt :: AdvancedZeroInitialization.Xt.MakeXt(0, []) versus AdvancedZeroInitialization.Xt.MakeXt(0, []) -y: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, []) versus AdvancedZeroInitialization.Yt.MakeYt(0, []) -z: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization.Yt.MakeYt(0, 0) - -x: real :: 0.0 versus 0.0 -ch: char :: 'D' versus 'D' -s: set :: {} versus {} -d: Xt :: AdvancedZeroInitialization.Xt.MakeXt(0, []) versus AdvancedZeroInitialization.Xt.MakeXt(0, []) -y: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, []) versus AdvancedZeroInitialization.Yt.MakeYt(0, []) -z: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization.Yt.MakeYt(0, 0) - -Dafny program verifier did not attempt verification These are the arbitrary values chosen by the compiler: 6, 12 short, short': 0, -35 nes: {57} diff --git a/Test/dafny0/NullComparisonWarnings.dfy b/Test/dafny0/NullComparisonWarnings.dfy index eb9183040bc..35fd5ffb3f4 100644 --- a/Test/dafny0/NullComparisonWarnings.dfy +++ b/Test/dafny0/NullComparisonWarnings.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { print "despite the warnings, the program still compiles\n"; diff --git a/Test/dafny0/NullComparisonWarnings.dfy.expect b/Test/dafny0/NullComparisonWarnings.dfy.expect index d8cf4a9960c..f2b4545fac7 100644 --- a/Test/dafny0/NullComparisonWarnings.dfy.expect +++ b/Test/dafny0/NullComparisonWarnings.dfy.expect @@ -1,14 +1 @@ -NullComparisonWarnings.dfy(27,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(28,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'y' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(29,14): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for field 'next' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(30,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(31,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'y' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(32,14): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for field 'next' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(34,12): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(37,12): Warning: the type of the other operand is a set of non-null elements, so the inclusion test of 'null' will always return 'false' -NullComparisonWarnings.dfy(38,12): Warning: the type of the other operand is a set of non-null elements, so the non-inclusion test of 'null' will always return 'true' -NullComparisonWarnings.dfy(40,41): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'u' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(45,12): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' - -Dafny program verifier finished with 4 verified, 0 errors despite the warnings, the program still compiles diff --git a/Test/dafny0/NullComparisonWarnings.dfy.verifier.expect b/Test/dafny0/NullComparisonWarnings.dfy.verifier.expect new file mode 100644 index 00000000000..24f9074ecc9 --- /dev/null +++ b/Test/dafny0/NullComparisonWarnings.dfy.verifier.expect @@ -0,0 +1,11 @@ +NullComparisonWarnings.dfy(26,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(27,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'y' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(28,14): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for field 'next' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(29,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(30,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'y' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(31,14): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for field 'next' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(33,12): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(36,12): Warning: the type of the other operand is a set of non-null elements, so the inclusion test of 'null' will always return 'false' +NullComparisonWarnings.dfy(37,12): Warning: the type of the other operand is a set of non-null elements, so the non-inclusion test of 'null' will always return 'true' +NullComparisonWarnings.dfy(39,41): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'u' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(44,12): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' diff --git a/Test/dafny0/PrintUTF8.dfy b/Test/dafny0/PrintUTF8.dfy index 5d4e376b19d..eff7baa32a9 100644 --- a/Test/dafny0/PrintUTF8.dfy +++ b/Test/dafny0/PrintUTF8.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { print "Mikaël fixed UTF8\n"; diff --git a/Test/dafny0/PrintUTF8.dfy.expect b/Test/dafny0/PrintUTF8.dfy.expect index 52a23e906cc..818549280d3 100644 --- a/Test/dafny0/PrintUTF8.dfy.expect +++ b/Test/dafny0/PrintUTF8.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors Mikaël fixed UTF8 diff --git a/Test/dafny0/RangeCompilation.dfy b/Test/dafny0/RangeCompilation.dfy index 53a8d6e33e5..3f3e6aed0f8 100644 --- a/Test/dafny0/RangeCompilation.dfy +++ b/Test/dafny0/RangeCompilation.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment newtype Byte = x | 0 <= x < 256 predicate GoodByte(b: Byte) { diff --git a/Test/dafny0/RangeCompilation.dfy.expect b/Test/dafny0/RangeCompilation.dfy.expect index 82fbbb9b698..9e0f9e5f028 100644 --- a/Test/dafny0/RangeCompilation.dfy.expect +++ b/Test/dafny0/RangeCompilation.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 4 verified, 0 errors b=2 i=4 diff --git a/Test/dafny0/SeqFromArray.dfy b/Test/dafny0/SeqFromArray.dfy index 6bab732c906..39f72303d18 100644 --- a/Test/dafny0/SeqFromArray.dfy +++ b/Test/dafny0/SeqFromArray.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // /autoTriggers:1 added to suppress instabilities diff --git a/Test/dafny0/SeqFromArray.dfy.expect b/Test/dafny0/SeqFromArray.dfy.expect index 1981561ca00..e69de29bb2d 100644 --- a/Test/dafny0/SeqFromArray.dfy.expect +++ b/Test/dafny0/SeqFromArray.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 10 verified, 0 errors diff --git a/Test/dafny0/SharedDestructorsCompile.dfy b/Test/dafny0/SharedDestructorsCompile.dfy index 8171cf72404..64d8b245b58 100644 --- a/Test/dafny0/SharedDestructorsCompile.dfy +++ b/Test/dafny0/SharedDestructorsCompile.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Dt = | A(x: int, y: real) diff --git a/Test/dafny0/SharedDestructorsCompile.dfy.expect b/Test/dafny0/SharedDestructorsCompile.dfy.expect index e037db03c40..060d152d77b 100644 --- a/Test/dafny0/SharedDestructorsCompile.dfy.expect +++ b/Test/dafny0/SharedDestructorsCompile.dfy.expect @@ -1,20 +1,3 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification -Dt.A(10, 12.0): x=10 y=12.0 -Dt.B(_module.MyClass, 6): h=_module.MyClass x=6 -Dt.C(3.14): y=3.14 -Dt.C(3.14) -Dt.A(71, 0.1) -Klef.C3(44, 100, 66, 200) -Datte.AA(10, 2) Datte.AA(10, 5) -Datte.BB(false, 12) Datte.BB(false, 6) -Datte.CC(3.2) Datte.CC(3.4) -Datte.DD(100, {7}, 5, 9.0) Datte.DD(30, {7}, 5, 9.0) -Datte.DD(100, {7}, 5, 9.0) Datte.DD(30, {7}, 5, 2.0) - -Dafny program verifier did not attempt verification Dt.A(10, 12.0): x=10 y=12.0 Dt.B(_module.MyClass, 6): h=_module.MyClass x=6 Dt.C(3.14): y=3.14 diff --git a/Test/dafny0/SiblingImports.dfy b/Test/dafny0/SiblingImports.dfy index 3fb01d9d1b8..756e4b253f3 100644 --- a/Test/dafny0/SiblingImports.dfy +++ b/Test/dafny0/SiblingImports.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { ClientA.Test(); diff --git a/Test/dafny0/SiblingImports.dfy.expect b/Test/dafny0/SiblingImports.dfy.expect index ba4df82a925..fb6171563ac 100644 --- a/Test/dafny0/SiblingImports.dfy.expect +++ b/Test/dafny0/SiblingImports.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors ClientA.Inner.Five: 5 ClientB.Inner.Five: 5 ClientC.Inner.Five: 5 diff --git a/Test/dafny0/TypeConversionsCompile.dfy b/Test/dafny0/TypeConversionsCompile.dfy index 90075fb74a8..5b1e32b9258 100644 --- a/Test/dafny0/TypeConversionsCompile.dfy +++ b/Test/dafny0/TypeConversionsCompile.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /env:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Note the difference in output in Java's case is due to // https://github.com/dafny-lang/dafny/issues/4152 diff --git a/Test/dafny0/TypeConversionsCompile.dfy.expect b/Test/dafny0/TypeConversionsCompile.dfy.expect index 893938a0226..78990cf4a30 100644 --- a/Test/dafny0/TypeConversionsCompile.dfy.expect +++ b/Test/dafny0/TypeConversionsCompile.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 8 verified, 0 errors 3 4 5.0 5 6 -1.0 147573952589676412927 4294967295 127 0 got 3, expected 3 got 0, expected 0 diff --git a/Test/dafny0/TypeMembers.dfy b/Test/dafny0/TypeMembers.dfy index 2ab57767ad5..f2bea4039c9 100644 --- a/Test/dafny0/TypeMembers.dfy +++ b/Test/dafny0/TypeMembers.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { BasicTests(); diff --git a/Test/dafny0/TypeMembers.dfy.expect b/Test/dafny0/TypeMembers.dfy.expect index 1d406ca85dc..923cb07e841 100644 --- a/Test/dafny0/TypeMembers.dfy.expect +++ b/Test/dafny0/TypeMembers.dfy.expect @@ -1,32 +1,3 @@ -TypeMembers.dfy(117,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect - -Dafny program verifier finished with 29 verified, 0 errors -TypeMembers.dfy(117,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect - -Dafny program verifier did not attempt verification -DaTy.Yes 10 26 -8 11 10 11 10 -35 10 14 -22 22 -9 Dt.Business(false, 5) -76 77 -19 -0 0 -19 82 83 -93 Co.Cobalt -27 27 -18 -11 18 18 22 -15 30 29 -95 11 -162 165 -11 18 18 3 -15 30 29 -95 11 -162 165 -TypeMembers.dfy(117,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect - -Dafny program verifier did not attempt verification DaTy.Yes 10 26 8 11 10 11 10 35 10 14 diff --git a/Test/dafny0/TypeMembers.dfy.verifier.expect b/Test/dafny0/TypeMembers.dfy.verifier.expect new file mode 100644 index 00000000000..62f55c943d2 --- /dev/null +++ b/Test/dafny0/TypeMembers.dfy.verifier.expect @@ -0,0 +1 @@ +TypeMembers.dfy(114,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect diff --git a/Test/dafny0/Wellfounded.dfy b/Test/dafny0/Wellfounded.dfy index 2ed488974c6..7ec2be06b38 100644 --- a/Test/dafny0/Wellfounded.dfy +++ b/Test/dafny0/Wellfounded.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var d := Int(10); diff --git a/Test/dafny0/Wellfounded.dfy.expect b/Test/dafny0/Wellfounded.dfy.expect index 73d7a1e7ca2..52742a67098 100644 --- a/Test/dafny0/Wellfounded.dfy.expect +++ b/Test/dafny0/Wellfounded.dfy.expect @@ -1,7 +1,3 @@ -Wellfounded.dfy(49,14): Warning: /!\ No terms found to trigger on. -Wellfounded.dfy(77,5): Warning: /!\ No terms found to trigger on. - -Dafny program verifier finished with 3 verified, 0 errors M(d, d) = 10 M(a1, d) = 10 M(a2, d) = 10 diff --git a/Test/dafny0/Wellfounded.dfy.verifier.expect b/Test/dafny0/Wellfounded.dfy.verifier.expect new file mode 100644 index 00000000000..e61f12f01b2 --- /dev/null +++ b/Test/dafny0/Wellfounded.dfy.verifier.expect @@ -0,0 +1,2 @@ +Wellfounded.dfy(48,14): Warning: /!\ No terms found to trigger on. +Wellfounded.dfy(76,5): Warning: /!\ No terms found to trigger on. diff --git a/Test/dafny2/MinWindowMax.dfy b/Test/dafny2/MinWindowMax.dfy index 71ccb539d7d..32342cdd8b9 100644 --- a/Test/dafny2/MinWindowMax.dfy +++ b/Test/dafny2/MinWindowMax.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Minimum window-max problem. // Rustan Leino diff --git a/Test/dafny2/MinWindowMax.dfy.expect b/Test/dafny2/MinWindowMax.dfy.expect index f6f6e52d9bc..1bb5609994e 100644 --- a/Test/dafny2/MinWindowMax.dfy.expect +++ b/Test/dafny2/MinWindowMax.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 12 verified, 0 errors Window size 1: min window-max is -5 Window size 2: min window-max is 2 Window size 3: min window-max is 3 diff --git a/Test/dafny2/SmallestMissingNumber-functional.dfy b/Test/dafny2/SmallestMissingNumber-functional.dfy index 047475c2680..a1544efab5f 100644 --- a/Test/dafny2/SmallestMissingNumber-functional.dfy +++ b/Test/dafny2/SmallestMissingNumber-functional.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Smallest missing number problem, functional version without duplicates. // A purely functional solution to the programming problem in Richard Bird's diff --git a/Test/dafny2/SmallestMissingNumber-functional.dfy.expect b/Test/dafny2/SmallestMissingNumber-functional.dfy.expect index 208b183ee3e..5d75da8ddd3 100644 --- a/Test/dafny2/SmallestMissingNumber-functional.dfy.expect +++ b/Test/dafny2/SmallestMissingNumber-functional.dfy.expect @@ -1,4 +1 @@ -SmallestMissingNumber-functional.dfy(213,11): Warning: /!\ No terms found to trigger on. - -Dafny program verifier finished with 21 verified, 0 errors 0 1 4 5 diff --git a/Test/dafny2/SmallestMissingNumber-functional.dfy.verifier.expect b/Test/dafny2/SmallestMissingNumber-functional.dfy.verifier.expect new file mode 100644 index 00000000000..cf10280f376 --- /dev/null +++ b/Test/dafny2/SmallestMissingNumber-functional.dfy.verifier.expect @@ -0,0 +1 @@ +SmallestMissingNumber-functional.dfy(212,11): Warning: /!\ No terms found to trigger on. diff --git a/Test/dafny2/SmallestMissingNumber-imperative.dfy b/Test/dafny2/SmallestMissingNumber-imperative.dfy index b8539481a54..314bf4e464c 100644 --- a/Test/dafny2/SmallestMissingNumber-imperative.dfy +++ b/Test/dafny2/SmallestMissingNumber-imperative.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Smallest missing number. // An imperative solution to the programming problem in Richard Bird's diff --git a/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect b/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect index bc4a868fdff..cfb25913041 100644 --- a/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect +++ b/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 8 verified, 0 errors 0 1 5 diff --git a/Test/dafny2/StoreAndRetrieve.dfy b/Test/dafny2/StoreAndRetrieve.dfy index 99a72697a71..f19239e234a 100644 --- a/Test/dafny2/StoreAndRetrieve.dfy +++ b/Test/dafny2/StoreAndRetrieve.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This file shows an example program that uses both refinement and :autocontracts // specify a class that stores a set of things that can be retrieved using a query. diff --git a/Test/dafny2/StoreAndRetrieve.dfy.expect b/Test/dafny2/StoreAndRetrieve.dfy.expect index 1d7d71d5202..030f5bfab39 100644 --- a/Test/dafny2/StoreAndRetrieve.dfy.expect +++ b/Test/dafny2/StoreAndRetrieve.dfy.expect @@ -1,39 +1 @@ -StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier finished with 19 verified, 0 errors -StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -20.3 -StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -20.3 -StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -20.3 -StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification 20.3 diff --git a/Test/dafny2/StoreAndRetrieve.dfy.verifier.expect b/Test/dafny2/StoreAndRetrieve.dfy.verifier.expect new file mode 100644 index 00000000000..0c3d269cdc1 --- /dev/null +++ b/Test/dafny2/StoreAndRetrieve.dfy.verifier.expect @@ -0,0 +1,5 @@ +StoreAndRetrieve.dfy(60,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(65,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(66,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(81,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(92,9): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny2/pq-intrinsic-extrinsic.dfy b/Test/dafny2/pq-intrinsic-extrinsic.dfy index c797c92445d..588c2f9e2b1 100644 --- a/Test/dafny2/pq-intrinsic-extrinsic.dfy +++ b/Test/dafny2/pq-intrinsic-extrinsic.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This file contains several versions of a priority queue implemented by Braun trees: // diff --git a/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect b/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect index bc2608f44b7..5c90c26e0eb 100644 --- a/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect +++ b/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect @@ -1,14 +1,3 @@ - -Dafny program verifier finished with 32 verified, 0 errors - -Dafny program verifier did not attempt verification -PriorityQueue_extrinsic: 3 -PriorityQueue_layered: 3 -PriorityQueue_intrinsic: 3 -PriorityQueue_on_intrinsic: 3 -PriorityQueue_direct: 3 - -Dafny program verifier did not attempt verification PriorityQueue_extrinsic: 3 PriorityQueue_layered: 3 PriorityQueue_intrinsic: 3 diff --git a/Test/dafny3/Abstemious.dfy b/Test/dafny3/Abstemious.dfy index 263c1f1fb00..62d891f950f 100644 --- a/Test/dafny3/Abstemious.dfy +++ b/Test/dafny3/Abstemious.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Examples from https://www.haskell.org/tutorial/functions.html diff --git a/Test/dafny3/Abstemious.dfy.expect b/Test/dafny3/Abstemious.dfy.expect index 96f109b0b58..3511a04a840 100644 --- a/Test/dafny3/Abstemious.dfy.expect +++ b/Test/dafny3/Abstemious.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 19 verified, 0 errors ones(): 1 1 1 1 1 1 1 ... from(3): 3 4 5 6 7 8 9 ... Map(plus1, ones()): 2 2 2 2 2 2 2 ... diff --git a/Test/dafny3/CachedContainer.dfy b/Test/dafny3/CachedContainer.dfy index 77c3e45897f..e36e76d6851 100644 --- a/Test/dafny3/CachedContainer.dfy +++ b/Test/dafny3/CachedContainer.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This file contains an example chain of module refinements, starting from a // simple interface M0 to an implementation M3. Module Client.Test() is diff --git a/Test/dafny3/CachedContainer.dfy.expect b/Test/dafny3/CachedContainer.dfy.expect index 08f4fb30b0a..ed2a587c3f1 100644 --- a/Test/dafny3/CachedContainer.dfy.expect +++ b/Test/dafny3/CachedContainer.dfy.expect @@ -1,79 +1 @@ -CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier finished with 29 verified, 0 errors -CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -false true false true -CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -false true false true -CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -false true false true -CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification false true false true diff --git a/Test/dafny3/CachedContainer.dfy.verifier.expect b/Test/dafny3/CachedContainer.dfy.verifier.expect new file mode 100644 index 00000000000..a037bc94ff6 --- /dev/null +++ b/Test/dafny3/CachedContainer.dfy.verifier.expect @@ -0,0 +1,13 @@ +CachedContainer.dfy(112,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(119,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(122,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(129,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(132,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(153,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(154,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(162,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(163,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(166,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(178,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(179,13): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny3/Iter.dfy b/Test/dafny3/Iter.dfy index 81431f2c64b..46befa24dd8 100644 --- a/Test/dafny3/Iter.dfy +++ b/Test/dafny3/Iter.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class List { ghost var Contents: seq diff --git a/Test/dafny3/Iter.dfy.expect b/Test/dafny3/Iter.dfy.expect index 69d7373d5d5..0ed11070541 100644 --- a/Test/dafny3/Iter.dfy.expect +++ b/Test/dafny3/Iter.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 12 verified, 0 errors 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 98 0 2 4 6 8 10 12 14 diff --git a/Test/dafny4/Ackermann.dfy b/Test/dafny4/Ackermann.dfy index 27968070e9b..a4ef351c96b 100644 --- a/Test/dafny4/Ackermann.dfy +++ b/Test/dafny4/Ackermann.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Rustan Leino, 8 Sep 2015. // This file proves that the Ackermann function is monotonic in each argument diff --git a/Test/dafny4/Ackermann.dfy.expect b/Test/dafny4/Ackermann.dfy.expect index c995dac9c9a..43d9513ef4b 100644 --- a/Test/dafny4/Ackermann.dfy.expect +++ b/Test/dafny4/Ackermann.dfy.expect @@ -1,5 +1 @@ -Ackermann.dfy(163,4): Warning: /!\ No terms found to trigger on. -Ackermann.dfy(181,4): Warning: /!\ No terms found to trigger on. - -Dafny program verifier finished with 14 verified, 0 errors Ack(3, 4) = 125 diff --git a/Test/dafny4/Ackermann.dfy.verifier.expect b/Test/dafny4/Ackermann.dfy.verifier.expect new file mode 100644 index 00000000000..b302e2b4daf --- /dev/null +++ b/Test/dafny4/Ackermann.dfy.verifier.expect @@ -0,0 +1,2 @@ +Ackermann.dfy(162,4): Warning: /!\ No terms found to trigger on. +Ackermann.dfy(180,4): Warning: /!\ No terms found to trigger on. diff --git a/Test/dafny4/Bug107.dfy b/Test/dafny4/Bug107.dfy index e417fc90a53..b7ab69c9a8d 100644 --- a/Test/dafny4/Bug107.dfy +++ b/Test/dafny4/Bug107.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/dafny4/Bug107.dfy.expect b/Test/dafny4/Bug107.dfy.expect index ad79213a18c..62f9457511f 100644 --- a/Test/dafny4/Bug107.dfy.expect +++ b/Test/dafny4/Bug107.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors 6 \ No newline at end of file diff --git a/Test/dafny4/Bug108.dfy b/Test/dafny4/Bug108.dfy index c64ec32a340..8228fe44f87 100644 --- a/Test/dafny4/Bug108.dfy +++ b/Test/dafny4/Bug108.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var A := map[0 := 1]; diff --git a/Test/dafny4/Bug108.dfy.expect b/Test/dafny4/Bug108.dfy.expect index c1c63f6c5c1..0777a01b26d 100644 --- a/Test/dafny4/Bug108.dfy.expect +++ b/Test/dafny4/Bug108.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 1 verified, 0 errors map[0 := 1] map[0 := 1] diff --git a/Test/dafny4/Bug113.dfy b/Test/dafny4/Bug113.dfy index 23c759540cd..0bec0c1ce31 100644 --- a/Test/dafny4/Bug113.dfy +++ b/Test/dafny4/Bug113.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype D = D(q:int, r:int, s:int, t:int) @@ -7,4 +6,4 @@ method Main() { print D(10, 20, 30, 40); print "\n"; -} \ No newline at end of file +} diff --git a/Test/dafny4/Bug113.dfy.expect b/Test/dafny4/Bug113.dfy.expect index 3ea1396ad00..e2eeff32e9a 100644 --- a/Test/dafny4/Bug113.dfy.expect +++ b/Test/dafny4/Bug113.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors D.D(10, 20, 30, 40) diff --git a/Test/dafny4/Bug140.dfy b/Test/dafny4/Bug140.dfy index edde966c149..8280db8f665 100644 --- a/Test/dafny4/Bug140.dfy +++ b/Test/dafny4/Bug140.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class Node { ghost var List: seq diff --git a/Test/dafny4/Bug140.dfy.expect b/Test/dafny4/Bug140.dfy.expect index bad48de4d6b..a40ee1166fb 100644 --- a/Test/dafny4/Bug140.dfy.expect +++ b/Test/dafny4/Bug140.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 8 verified, 0 errors 1 2 diff --git a/Test/dafny4/Bug148.dfy b/Test/dafny4/Bug148.dfy index da1ebf99447..f31cef2cdc8 100644 --- a/Test/dafny4/Bug148.dfy +++ b/Test/dafny4/Bug148.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/dafny4/Bug148.dfy.expect b/Test/dafny4/Bug148.dfy.expect index 79d02517ceb..9ed6ca4768b 100644 --- a/Test/dafny4/Bug148.dfy.expect +++ b/Test/dafny4/Bug148.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 0 verified, 0 errors true false true diff --git a/Test/dafny4/Bug49.dfy b/Test/dafny4/Bug49.dfy index 68722830422..868f4a3964b 100644 --- a/Test/dafny4/Bug49.dfy +++ b/Test/dafny4/Bug49.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/dafny4/Bug49.dfy.expect b/Test/dafny4/Bug49.dfy.expect index 4e02a08bbee..800c2bd15ba 100644 --- a/Test/dafny4/Bug49.dfy.expect +++ b/Test/dafny4/Bug49.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 13 verified, 0 errors 6 6 5 diff --git a/Test/dafny4/Bug60.dfy b/Test/dafny4/Bug60.dfy index 0aa9209269d..f4585753f5f 100644 --- a/Test/dafny4/Bug60.dfy +++ b/Test/dafny4/Bug60.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This method can be used to test compilation. method Main() diff --git a/Test/dafny4/Bug60.dfy.expect b/Test/dafny4/Bug60.dfy.expect index 49740e95682..fd56dc3fcbc 100644 --- a/Test/dafny4/Bug60.dfy.expect +++ b/Test/dafny4/Bug60.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 0 verified, 0 errors ({2, 3}, map[2 := 20, 3 := 30]) (2, 2) {2, 3} diff --git a/Test/dafny4/Bug67.dfy b/Test/dafny4/Bug67.dfy index 731018a293b..f01d4239a75 100644 --- a/Test/dafny4/Bug67.dfy +++ b/Test/dafny4/Bug67.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype d = D(m:seq) @@ -8,4 +7,4 @@ method Main() assert D([10, 20]) == D([10, 20]); // succeeds print [10, 20] == [10, 20], "\n"; // prints True print D([10, 20]) == D([10, 20]); // prints False -} \ No newline at end of file +} diff --git a/Test/dafny4/Bug67.dfy.expect b/Test/dafny4/Bug67.dfy.expect index c716cab3144..0be5d980da4 100644 --- a/Test/dafny4/Bug67.dfy.expect +++ b/Test/dafny4/Bug67.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 1 verified, 0 errors true true \ No newline at end of file diff --git a/Test/dafny4/Bug68.dfy b/Test/dafny4/Bug68.dfy index a211206acba..bf50015f90c 100644 --- a/Test/dafny4/Bug68.dfy +++ b/Test/dafny4/Bug68.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method M1() { @@ -62,4 +61,4 @@ method Main() M3(); M3'(); M4(); -} \ No newline at end of file +} diff --git a/Test/dafny4/Bug68.dfy.expect b/Test/dafny4/Bug68.dfy.expect index f4ef534187d..814ccfee2df 100644 --- a/Test/dafny4/Bug68.dfy.expect +++ b/Test/dafny4/Bug68.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 8 verified, 0 errors true true true diff --git a/Test/dafny4/Bug89.dfy b/Test/dafny4/Bug89.dfy index 4aec1acb8b7..c7b77b44f99 100644 --- a/Test/dafny4/Bug89.dfy +++ b/Test/dafny4/Bug89.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method F() returns(x:int) ensures x == 6 diff --git a/Test/dafny4/Bug89.dfy.expect b/Test/dafny4/Bug89.dfy.expect index ed41c274352..62f9457511f 100644 --- a/Test/dafny4/Bug89.dfy.expect +++ b/Test/dafny4/Bug89.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors 6 \ No newline at end of file diff --git a/Test/dafny4/Bug94.dfy b/Test/dafny4/Bug94.dfy index be931445654..c41458539fc 100644 --- a/Test/dafny4/Bug94.dfy +++ b/Test/dafny4/Bug94.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment ghost function foo() : (int, int) { diff --git a/Test/dafny4/Bug94.dfy.expect b/Test/dafny4/Bug94.dfy.expect index ab0cfbb2d9e..3f10ffe7a4c 100644 --- a/Test/dafny4/Bug94.dfy.expect +++ b/Test/dafny4/Bug94.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors 15 \ No newline at end of file diff --git a/Test/dafny4/ClassRefinement.dfy b/Test/dafny4/ClassRefinement.dfy index 320749ec197..3d5fd1006eb 100644 --- a/Test/dafny4/ClassRefinement.dfy +++ b/Test/dafny4/ClassRefinement.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment abstract module M0 { class Counter { diff --git a/Test/dafny4/ClassRefinement.dfy.expect b/Test/dafny4/ClassRefinement.dfy.expect index f456b6777f3..cba3471eb57 100644 --- a/Test/dafny4/ClassRefinement.dfy.expect +++ b/Test/dafny4/ClassRefinement.dfy.expect @@ -1,44 +1 @@ -ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated -ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier finished with 11 verified, 0 errors -ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated -ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -2 1 -ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated -ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -2 1 -ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated -ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -2 1 -ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated -ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification 2 1 diff --git a/Test/dafny4/ClassRefinement.dfy.verifier.expect b/Test/dafny4/ClassRefinement.dfy.verifier.expect new file mode 100644 index 00000000000..543e77303b5 --- /dev/null +++ b/Test/dafny4/ClassRefinement.dfy.verifier.expect @@ -0,0 +1,6 @@ +ClassRefinement.dfy(68,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(69,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(74,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(75,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(77,6): Warning: the modify statement with a block statement is deprecated +ClassRefinement.dfy(78,13): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny4/ExpandedGuardedness.dfy b/Test/dafny4/ExpandedGuardedness.dfy index 5cd7828f932..af620ec40e8 100644 --- a/Test/dafny4/ExpandedGuardedness.dfy +++ b/Test/dafny4/ExpandedGuardedness.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/dafny4/ExpandedGuardedness.dfy.expect b/Test/dafny4/ExpandedGuardedness.dfy.expect index d05670701e0..e0f3b041a66 100644 --- a/Test/dafny4/ExpandedGuardedness.dfy.expect +++ b/Test/dafny4/ExpandedGuardedness.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 12 verified, 0 errors Up 19 20 21 22 23 Up2 19 20 21 22 23 UpIf 19 20 22 24 26 diff --git a/Test/dafny4/FlyingRobots.dfy b/Test/dafny4/FlyingRobots.dfy index 41223cca1aa..f14a2a467cd 100644 --- a/Test/dafny4/FlyingRobots.dfy +++ b/Test/dafny4/FlyingRobots.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // The flying robots examples from an F* tutorial. It demonstrates how to specify // mutable data structures in the heap. diff --git a/Test/dafny4/FlyingRobots.dfy.expect b/Test/dafny4/FlyingRobots.dfy.expect index 5ed0d97333e..e69de29bb2d 100644 --- a/Test/dafny4/FlyingRobots.dfy.expect +++ b/Test/dafny4/FlyingRobots.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 31 verified, 0 errors diff --git a/Test/dafny4/Leq.dfy b/Test/dafny4/Leq.dfy index fac12757ba0..fdbc1078ca3 100644 --- a/Test/dafny4/Leq.dfy +++ b/Test/dafny4/Leq.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Rustan Leino, 22 Sep 2015. // This file considers two definitions of Leq on naturals+infinity. One diff --git a/Test/dafny4/Leq.dfy.expect b/Test/dafny4/Leq.dfy.expect index 15301952c57..e69de29bb2d 100644 --- a/Test/dafny4/Leq.dfy.expect +++ b/Test/dafny4/Leq.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 16 verified, 0 errors diff --git a/Test/dafny4/McCarthy91.dfy b/Test/dafny4/McCarthy91.dfy index 466d30328cc..428f11eb269 100644 --- a/Test/dafny4/McCarthy91.dfy +++ b/Test/dafny4/McCarthy91.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // The usual recursive method for computing McCarthy's 91 function method Main() { diff --git a/Test/dafny4/McCarthy91.dfy.expect b/Test/dafny4/McCarthy91.dfy.expect index b63f7a0b03b..1511cff2c81 100644 --- a/Test/dafny4/McCarthy91.dfy.expect +++ b/Test/dafny4/McCarthy91.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors M(3) = 91 M(99) = 91 M(100) = 91 diff --git a/Test/dafny4/NatList.dfy b/Test/dafny4/NatList.dfy index 567fd461259..5a1b0358eaf 100644 --- a/Test/dafny4/NatList.dfy +++ b/Test/dafny4/NatList.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This file tests some programs where "nat" is a type parameter to // a datatype. diff --git a/Test/dafny4/NatList.dfy.expect b/Test/dafny4/NatList.dfy.expect index 2ceb3169787..5382a29cb9f 100644 --- a/Test/dafny4/NatList.dfy.expect +++ b/Test/dafny4/NatList.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 11 verified, 0 errors ns = List.Cons(4, List.Cons(10, List.Nil)) Sum(ns) = 14 ns' = List.Cons(20, List.Nil) diff --git a/Test/dafny4/Regression2.dfy b/Test/dafny4/Regression2.dfy index 213bf265401..0d28285e74c 100644 --- a/Test/dafny4/Regression2.dfy +++ b/Test/dafny4/Regression2.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module NativeTypes { newtype uint64 = int diff --git a/Test/dafny4/Regression2.dfy.expect b/Test/dafny4/Regression2.dfy.expect index 3f8ac383f86..8a739fb435a 100644 --- a/Test/dafny4/Regression2.dfy.expect +++ b/Test/dafny4/Regression2.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors true true true diff --git a/Test/dafny4/Regression3.dfy b/Test/dafny4/Regression3.dfy index adaa0d2763d..fc60fad3cb1 100644 --- a/Test/dafny4/Regression3.dfy +++ b/Test/dafny4/Regression3.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/dafny4/Regression3.dfy.expect b/Test/dafny4/Regression3.dfy.expect index 841338987c7..1223bf9ffaf 100644 --- a/Test/dafny4/Regression3.dfy.expect +++ b/Test/dafny4/Regression3.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 3 verified, 0 errors 55 Trunc( -3.0 ) = -3 (expected -3) Trunc( -2.8 ) = -3 (expected -3) diff --git a/Test/dafny4/Regression4.dfy b/Test/dafny4/Regression4.dfy index 5f881a5083f..e4bc4cbef85 100644 --- a/Test/dafny4/Regression4.dfy +++ b/Test/dafny4/Regression4.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { } diff --git a/Test/dafny4/Regression4.dfy.expect b/Test/dafny4/Regression4.dfy.expect index ba00363fc08..e69de29bb2d 100644 --- a/Test/dafny4/Regression4.dfy.expect +++ b/Test/dafny4/Regression4.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 4 verified, 0 errors diff --git a/Test/dafny4/Regression6.dfy b/Test/dafny4/Regression6.dfy index f1551d3ef2d..b589ec0ce7d 100644 --- a/Test/dafny4/Regression6.dfy +++ b/Test/dafny4/Regression6.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function Sum(a: array, lo: int, hi: int): int requires 0 <= lo <= hi <= a.Length diff --git a/Test/dafny4/Regression6.dfy.expect b/Test/dafny4/Regression6.dfy.expect index 17464f29e0b..54573bead10 100644 --- a/Test/dafny4/Regression6.dfy.expect +++ b/Test/dafny4/Regression6.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors 0 1028 0 diff --git a/Test/dafny4/Regression7.dfy b/Test/dafny4/Regression7.dfy index 8ce421a62f3..ef3ca5eea44 100644 --- a/Test/dafny4/Regression7.dfy +++ b/Test/dafny4/Regression7.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /rprint:"%t.rprint" /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module ListLibrary { datatype List = Nil | Cons(head: B, tail: List) diff --git a/Test/dafny4/Regression7.dfy.expect b/Test/dafny4/Regression7.dfy.expect index b7b2766a340..4d38be23500 100644 --- a/Test/dafny4/Regression7.dfy.expect +++ b/Test/dafny4/Regression7.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors ListLibrary.List.Cons(28.0, ListLibrary.List.Nil) diff --git a/Test/dafny4/Regression9.dfy b/Test/dafny4/Regression9.dfy index d9e44547252..086007a3ef8 100644 --- a/Test/dafny4/Regression9.dfy +++ b/Test/dafny4/Regression9.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Some tests for the type inference that was revamped // to better support subset types. diff --git a/Test/dafny4/Regression9.dfy.expect b/Test/dafny4/Regression9.dfy.expect index 5a26eaeabfb..2183b22cfa9 100644 --- a/Test/dafny4/Regression9.dfy.expect +++ b/Test/dafny4/Regression9.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors 'D''D''D' diff --git a/Test/dafny4/UnionFind.dfy b/Test/dafny4/UnionFind.dfy index b97b6ef5d61..354f28accb7 100644 --- a/Test/dafny4/UnionFind.dfy +++ b/Test/dafny4/UnionFind.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Rustan Leino, Nov 2015 // Module M0 gives the high-level specification of the UnionFind data structure diff --git a/Test/dafny4/UnionFind.dfy.expect b/Test/dafny4/UnionFind.dfy.expect index 961b161b8dc..1cb72129e49 100644 --- a/Test/dafny4/UnionFind.dfy.expect +++ b/Test/dafny4/UnionFind.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 63 verified, 0 errors false true true false true true diff --git a/Test/dafny4/gcd.dfy b/Test/dafny4/gcd.dfy index 384e338435f..fa92223fa49 100644 --- a/Test/dafny4/gcd.dfy +++ b/Test/dafny4/gcd.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation // A text describing this file is found in a Dafny Power User note: http://leino.science/papers/krml279.html diff --git a/Test/dafny4/gcd.dfy.expect b/Test/dafny4/gcd.dfy.expect index ecbe2b6f64a..c17551a37a4 100644 --- a/Test/dafny4/gcd.dfy.expect +++ b/Test/dafny4/gcd.dfy.expect @@ -1,34 +1,3 @@ - -Dafny program verifier finished with 19 verified, 0 errors - -Dafny program verifier did not attempt verification -15 gcd 9 = 3 -14 gcd 22 = 2 -371 gcd 1 = 1 -1 gcd 2 = 1 -1 gcd 1 = 1 -13 gcd 13 = 13 -60 gcd 60 = 60 - -Dafny program verifier did not attempt verification -15 gcd 9 = 3 -14 gcd 22 = 2 -371 gcd 1 = 1 -1 gcd 2 = 1 -1 gcd 1 = 1 -13 gcd 13 = 13 -60 gcd 60 = 60 - -Dafny program verifier did not attempt verification -15 gcd 9 = 3 -14 gcd 22 = 2 -371 gcd 1 = 1 -1 gcd 2 = 1 -1 gcd 1 = 1 -13 gcd 13 = 13 -60 gcd 60 = 60 - -Dafny program verifier did not attempt verification 15 gcd 9 = 3 14 gcd 22 = 2 371 gcd 1 = 1 diff --git a/Test/dafny4/git-issue104.dfy b/Test/dafny4/git-issue104.dfy index 86683a2ed88..b05ec4de1cc 100644 --- a/Test/dafny4/git-issue104.dfy +++ b/Test/dafny4/git-issue104.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment predicate bug(a: array) reads a diff --git a/Test/dafny4/git-issue104.dfy.expect b/Test/dafny4/git-issue104.dfy.expect index f572edb2471..836a5934c8f 100644 --- a/Test/dafny4/git-issue104.dfy.expect +++ b/Test/dafny4/git-issue104.dfy.expect @@ -1,17 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification -true false - -Dafny program verifier did not attempt verification -true false - -Dafny program verifier did not attempt verification -true false - -Dafny program verifier did not attempt verification -true false - -Dafny program verifier did not attempt verification true false diff --git a/Test/dafny4/git-issue105.dfy b/Test/dafny4/git-issue105.dfy index 09cfce29a6e..4cff2330cba 100644 --- a/Test/dafny4/git-issue105.dfy +++ b/Test/dafny4/git-issue105.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method lol() returns (c: int) { diff --git a/Test/dafny4/git-issue105.dfy.expect b/Test/dafny4/git-issue105.dfy.expect index 012f5b99379..e69de29bb2d 100644 --- a/Test/dafny4/git-issue105.dfy.expect +++ b/Test/dafny4/git-issue105.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/dafny4/git-issue15.dfy b/Test/dafny4/git-issue15.dfy index 96905286209..7c77a67ccf9 100755 --- a/Test/dafny4/git-issue15.dfy +++ b/Test/dafny4/git-issue15.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype obj = Obj(fooBar:map) datatype foo = Foo diff --git a/Test/dafny4/git-issue15.dfy.expect b/Test/dafny4/git-issue15.dfy.expect index e52de78d0b1..00750edc07d 100755 --- a/Test/dafny4/git-issue15.dfy.expect +++ b/Test/dafny4/git-issue15.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors 3 diff --git a/Test/dafny4/git-issue195.dfy b/Test/dafny4/git-issue195.dfy index ac4b1306ac6..fccdc5461c8 100644 --- a/Test/dafny4/git-issue195.dfy +++ b/Test/dafny4/git-issue195.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Block = Block(prevBlockHash:Hash, txs:seq, proof:VProof) diff --git a/Test/dafny4/git-issue195.dfy.expect b/Test/dafny4/git-issue195.dfy.expect index 30692fdef2a..638bfb50b2d 100644 --- a/Test/dafny4/git-issue195.dfy.expect +++ b/Test/dafny4/git-issue195.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 4 verified, 0 errors true true true true true diff --git a/Test/dafny4/git-issue196.dfy b/Test/dafny4/git-issue196.dfy index 64eb0e9123f..056687ab1a5 100644 --- a/Test/dafny4/git-issue196.dfy +++ b/Test/dafny4/git-issue196.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class A { var a: array> diff --git a/Test/dafny4/git-issue196.dfy.expect b/Test/dafny4/git-issue196.dfy.expect index a333f982b8f..ee25a2c5027 100644 --- a/Test/dafny4/git-issue196.dfy.expect +++ b/Test/dafny4/git-issue196.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 9 verified, 0 errors 42 42 42 5000 5000 5000 5000 5000 diff --git a/Test/dafny4/git-issue4.dfy b/Test/dafny4/git-issue4.dfy index b19cf3ce6df..b17a545e219 100644 --- a/Test/dafny4/git-issue4.dfy +++ b/Test/dafny4/git-issue4.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function IntToChar(i:int):char requires 0 <= i < 10 diff --git a/Test/dafny4/git-issue4.dfy.expect b/Test/dafny4/git-issue4.dfy.expect index 33af1e040b7..24e24eb63cc 100644 --- a/Test/dafny4/git-issue4.dfy.expect +++ b/Test/dafny4/git-issue4.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors '8' 8 '8' 56 56 diff --git a/Test/dafny4/git-issue43.dfy b/Test/dafny4/git-issue43.dfy index edf056a1a91..d320d7761bc 100644 --- a/Test/dafny4/git-issue43.dfy +++ b/Test/dafny4/git-issue43.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class System { } diff --git a/Test/dafny4/git-issue43.dfy.expect b/Test/dafny4/git-issue43.dfy.expect index 012f5b99379..e69de29bb2d 100644 --- a/Test/dafny4/git-issue43.dfy.expect +++ b/Test/dafny4/git-issue43.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/dafny4/git-issue76.dfy b/Test/dafny4/git-issue76.dfy index 708ee911b24..85613dba2f2 100644 --- a/Test/dafny4/git-issue76.dfy +++ b/Test/dafny4/git-issue76.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { M0(); diff --git a/Test/dafny4/git-issue76.dfy.expect b/Test/dafny4/git-issue76.dfy.expect index 546da03a267..0cfbf08886f 100644 --- a/Test/dafny4/git-issue76.dfy.expect +++ b/Test/dafny4/git-issue76.dfy.expect @@ -1,8 +1 @@ - -Dafny program verifier finished with 7 verified, 0 errors - -Dafny program verifier did not attempt verification -2 - -Dafny program verifier did not attempt verification 2 diff --git a/Test/dafny4/git-issue79.dfy b/Test/dafny4/git-issue79.dfy index 046a7c5e375..f3fb17b8531 100644 --- a/Test/dafny4/git-issue79.dfy +++ b/Test/dafny4/git-issue79.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype EInt = Int(val: int) | Unknown type Pair = (string, EInt) diff --git a/Test/dafny4/git-issue79.dfy.expect b/Test/dafny4/git-issue79.dfy.expect index 012f5b99379..e69de29bb2d 100644 --- a/Test/dafny4/git-issue79.dfy.expect +++ b/Test/dafny4/git-issue79.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/dafny4/git-issue88.dfy b/Test/dafny4/git-issue88.dfy index 1c188333783..83c0b4a8ef9 100644 --- a/Test/dafny4/git-issue88.dfy +++ b/Test/dafny4/git-issue88.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment type Grid = array2 diff --git a/Test/dafny4/git-issue88.dfy.expect b/Test/dafny4/git-issue88.dfy.expect index 00a51f822da..e69de29bb2d 100644 --- a/Test/dafny4/git-issue88.dfy.expect +++ b/Test/dafny4/git-issue88.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 3 verified, 0 errors diff --git a/Test/exceptions/Exceptions1.dfy b/Test/exceptions/Exceptions1.dfy index 11bb2f7923d..4ffd3291f2f 100644 --- a/Test/exceptions/Exceptions1.dfy +++ b/Test/exceptions/Exceptions1.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" /rprint:"%t.rprint" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "./NatOutcome.dfy" include "./VoidOutcome.dfy" diff --git a/Test/exceptions/Exceptions1.dfy.expect b/Test/exceptions/Exceptions1.dfy.expect index e61be2a11ad..c87eb938c55 100644 --- a/Test/exceptions/Exceptions1.dfy.expect +++ b/Test/exceptions/Exceptions1.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 7 verified, 0 errors true_true_true_88_42_33_Success=100 ___VoidSuccess true_true_false_88_42_Failure diff --git a/Test/exceptions/Exceptions1Expressions.dfy b/Test/exceptions/Exceptions1Expressions.dfy index c0f3c67cd39..a57e5b78c7e 100644 --- a/Test/exceptions/Exceptions1Expressions.dfy +++ b/Test/exceptions/Exceptions1Expressions.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" /rprint:"%t.rprint" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "./NatOutcomeDt.dfy" include "./VoidOutcomeDt.dfy" diff --git a/Test/exceptions/Exceptions1Expressions.dfy.expect b/Test/exceptions/Exceptions1Expressions.dfy.expect index 3da30f30d36..3f1b38ab150 100644 --- a/Test/exceptions/Exceptions1Expressions.dfy.expect +++ b/Test/exceptions/Exceptions1Expressions.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors true_true_true_Success=100 VoidSuccess true_true_false_Failure diff --git a/Test/exports/FIFO.dfy b/Test/exports/FIFO.dfy index 173e412eaa9..95a8d25510c 100644 --- a/Test/exports/FIFO.dfy +++ b/Test/exports/FIFO.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "Queue.dfyi" diff --git a/Test/exports/FIFO.dfy.expect b/Test/exports/FIFO.dfy.expect index 8350309cc2a..4539bbf2d22 100644 --- a/Test/exports/FIFO.dfy.expect +++ b/Test/exports/FIFO.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors 0 1 2 diff --git a/Test/exports/LIFO.dfy b/Test/exports/LIFO.dfy index ea691935620..513dd457c3f 100644 --- a/Test/exports/LIFO.dfy +++ b/Test/exports/LIFO.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "Queue.dfyi" diff --git a/Test/exports/LIFO.dfy.expect b/Test/exports/LIFO.dfy.expect index 48aa7787d09..ae136939b64 100644 --- a/Test/exports/LIFO.dfy.expect +++ b/Test/exports/LIFO.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors 2 1 0 diff --git a/Test/exports/xrefine2.dfy b/Test/exports/xrefine2.dfy index 0b25240916c..2409cc0509a 100644 --- a/Test/exports/xrefine2.dfy +++ b/Test/exports/xrefine2.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module ProtocolImpl { diff --git a/Test/exports/xrefine2.dfy.expect b/Test/exports/xrefine2.dfy.expect index 34e1b357779..858dbd09862 100644 --- a/Test/exports/xrefine2.dfy.expect +++ b/Test/exports/xrefine2.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 4 verified, 0 errors HI.foo(h1) => true HI.foo(h2) => true PI.orange(1) => 2 diff --git a/Test/exports/xrefine3.dfy b/Test/exports/xrefine3.dfy index 24d6fa062f0..bb2480bfed7 100644 --- a/Test/exports/xrefine3.dfy +++ b/Test/exports/xrefine3.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module AlphaImpl { diff --git a/Test/exports/xrefine3.dfy.expect b/Test/exports/xrefine3.dfy.expect index 488ab11c36a..ae50cef0985 100644 --- a/Test/exports/xrefine3.dfy.expect +++ b/Test/exports/xrefine3.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors o hai! diff --git a/Test/git-issues/git-issue-032.dfy b/Test/git-issues/git-issue-032.dfy index bde5b2f2a69..d7dd61440a7 100644 --- a/Test/git-issues/git-issue-032.dfy +++ b/Test/git-issues/git-issue-032.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/git-issues/git-issue-032.dfy.expect b/Test/git-issues/git-issue-032.dfy.expect index 91c285009c1..2a64997c6f7 100644 --- a/Test/git-issues/git-issue-032.dfy.expect +++ b/Test/git-issues/git-issue-032.dfy.expect @@ -1,40 +1,3 @@ -git-issue-032.dfy(18,35): Warning: this branch is redundant -git-issue-032.dfy(27,34): Warning: this branch is redundant -git-issue-032.dfy(28,35): Warning: this branch is redundant - -Dafny program verifier finished with 1 verified, 0 errors -git-issue-032.dfy(18,35): Warning: this branch is redundant -git-issue-032.dfy(27,34): Warning: this branch is redundant -git-issue-032.dfy(28,35): Warning: this branch is redundant - -Dafny program verifier did not attempt verification -OK3 -OK -OKOK -00 -git-issue-032.dfy(18,35): Warning: this branch is redundant -git-issue-032.dfy(27,34): Warning: this branch is redundant -git-issue-032.dfy(28,35): Warning: this branch is redundant - -Dafny program verifier did not attempt verification -OK3 -OK -OKOK -00 -git-issue-032.dfy(18,35): Warning: this branch is redundant -git-issue-032.dfy(27,34): Warning: this branch is redundant -git-issue-032.dfy(28,35): Warning: this branch is redundant - -Dafny program verifier did not attempt verification -OK3 -OK -OKOK -00 -git-issue-032.dfy(18,35): Warning: this branch is redundant -git-issue-032.dfy(27,34): Warning: this branch is redundant -git-issue-032.dfy(28,35): Warning: this branch is redundant - -Dafny program verifier did not attempt verification OK3 OK OKOK diff --git a/Test/git-issues/git-issue-032.dfy.verifier.expect b/Test/git-issues/git-issue-032.dfy.verifier.expect new file mode 100644 index 00000000000..1878351db97 --- /dev/null +++ b/Test/git-issues/git-issue-032.dfy.verifier.expect @@ -0,0 +1,3 @@ +git-issue-032.dfy(13,35): Warning: this branch is redundant +git-issue-032.dfy(22,34): Warning: this branch is redundant +git-issue-032.dfy(23,35): Warning: this branch is redundant diff --git a/Test/git-issues/git-issue-1029.dfy b/Test/git-issues/git-issue-1029.dfy index a310a99c169..7e1e7a31cf2 100644 --- a/Test/git-issues/git-issue-1029.dfy +++ b/Test/git-issues/git-issue-1029.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module ValueType { export S diff --git a/Test/git-issues/git-issue-1029.dfy.expect b/Test/git-issues/git-issue-1029.dfy.expect index 7108c86b0b5..116f2acb4ee 100644 --- a/Test/git-issues/git-issue-1029.dfy.expect +++ b/Test/git-issues/git-issue-1029.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors [true, true, false] UI.Op2.GetOps([true, true, false], [true, true, false]) diff --git a/Test/git-issues/git-issue-1093.dfy b/Test/git-issues/git-issue-1093.dfy index 9365397496f..97797296680 100644 --- a/Test/git-issues/git-issue-1093.dfy +++ b/Test/git-issues/git-issue-1093.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { UnusedLabel(); diff --git a/Test/git-issues/git-issue-1093.dfy.expect b/Test/git-issues/git-issue-1093.dfy.expect index 0cadf5e4199..f599e28b8ab 100644 --- a/Test/git-issues/git-issue-1093.dfy.expect +++ b/Test/git-issues/git-issue-1093.dfy.expect @@ -1,17 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification -10 - -Dafny program verifier did not attempt verification -10 - -Dafny program verifier did not attempt verification -10 - -Dafny program verifier did not attempt verification -10 - -Dafny program verifier did not attempt verification 10 diff --git a/Test/git-issues/git-issue-1130.dfy b/Test/git-issues/git-issue-1130.dfy index 5b7fc5068e2..f1f5ad5a54b 100644 --- a/Test/git-issues/git-issue-1130.dfy +++ b/Test/git-issues/git-issue-1130.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var a := new Issue.Foo(); diff --git a/Test/git-issues/git-issue-1130.dfy.expect b/Test/git-issues/git-issue-1130.dfy.expect index 6c3dd07b1f1..de97a6dc4ca 100644 --- a/Test/git-issues/git-issue-1130.dfy.expect +++ b/Test/git-issues/git-issue-1130.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 13 verified, 0 errors 012 diff --git a/Test/git-issues/git-issue-1150.dfy b/Test/git-issues/git-issue-1150.dfy index d4cee3c3ef2..d3416a53813 100644 --- a/Test/git-issues/git-issue-1150.dfy +++ b/Test/git-issues/git-issue-1150.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Foo = Foo(x: nat) { diff --git a/Test/git-issues/git-issue-1150.dfy.expect b/Test/git-issues/git-issue-1150.dfy.expect index fb4be1897cf..f34d8df4a11 100644 --- a/Test/git-issues/git-issue-1150.dfy.expect +++ b/Test/git-issues/git-issue-1150.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 1 verified, 0 errors Foo.Foo(2) true Foo.Foo(5) false diff --git a/Test/git-issues/git-issue-1185.dfy b/Test/git-issues/git-issue-1185.dfy index 32c340b0736..c7ad72134d1 100644 --- a/Test/git-issues/git-issue-1185.dfy +++ b/Test/git-issues/git-issue-1185.dfy @@ -1,9 +1,5 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment predicate P(s: set) requires s != {} diff --git a/Test/git-issues/git-issue-1185.dfy.expect b/Test/git-issues/git-issue-1185.dfy.expect index 90ab58a1f5a..525ce875525 100644 --- a/Test/git-issues/git-issue-1185.dfy.expect +++ b/Test/git-issues/git-issue-1185.dfy.expect @@ -1,14 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification -{12, 20} true 6 - -Dafny program verifier did not attempt verification -{20, 12} true 6 - -Dafny program verifier did not attempt verification -{12, 20} true 6 - -Dafny program verifier did not attempt verification {12, 20} true 6 diff --git a/Test/git-issues/git-issue-1185.dfy.java.expect b/Test/git-issues/git-issue-1185.dfy.java.expect new file mode 100644 index 00000000000..8ba669ad273 --- /dev/null +++ b/Test/git-issues/git-issue-1185.dfy.java.expect @@ -0,0 +1 @@ +{20, 12} true 6 diff --git a/Test/git-issues/git-issue-1514.dfy b/Test/git-issues/git-issue-1514.dfy index 74b75478609..816eadce69b 100644 --- a/Test/git-issues/git-issue-1514.dfy +++ b/Test/git-issues/git-issue-1514.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "Wrappers.dfy" import opened Wrappers diff --git a/Test/git-issues/git-issue-1514.dfy.expect b/Test/git-issues/git-issue-1514.dfy.expect index 2f22d47cee8..b5754e20373 100644 --- a/Test/git-issues/git-issue-1514.dfy.expect +++ b/Test/git-issues/git-issue-1514.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-1514b.dfy b/Test/git-issues/git-issue-1514b.dfy index 1d8cd122d28..050a4a71760 100644 --- a/Test/git-issues/git-issue-1514b.dfy +++ b/Test/git-issues/git-issue-1514b.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "Wrappers.dfy" import opened Wrappers diff --git a/Test/git-issues/git-issue-1514b.dfy.expect b/Test/git-issues/git-issue-1514b.dfy.expect index 2f22d47cee8..b5754e20373 100644 --- a/Test/git-issues/git-issue-1514b.dfy.expect +++ b/Test/git-issues/git-issue-1514b.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-1514c.dfy b/Test/git-issues/git-issue-1514c.dfy index d9df7d108c1..578316f217c 100644 --- a/Test/git-issues/git-issue-1514c.dfy +++ b/Test/git-issues/git-issue-1514c.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "Wrappers.dfy" import opened Wrappers diff --git a/Test/git-issues/git-issue-1514c.dfy.expect b/Test/git-issues/git-issue-1514c.dfy.expect index 694254c28aa..9766475a418 100644 --- a/Test/git-issues/git-issue-1514c.dfy.expect +++ b/Test/git-issues/git-issue-1514c.dfy.expect @@ -1,8 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification -ok - -Dafny program verifier did not attempt verification ok diff --git a/Test/git-issues/git-issue-1553.dfy b/Test/git-issues/git-issue-1553.dfy index 6267018c92d..81cbef7aa7e 100644 --- a/Test/git-issues/git-issue-1553.dfy +++ b/Test/git-issues/git-issue-1553.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { } method Test() { diff --git a/Test/git-issues/git-issue-1553.dfy.expect b/Test/git-issues/git-issue-1553.dfy.expect index 65d3b5d6635..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-1553.dfy.expect +++ b/Test/git-issues/git-issue-1553.dfy.expect @@ -1,10 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-1604b.dfy b/Test/git-issues/git-issue-1604b.dfy index 497ee5017d5..d7c4169ec60 100644 --- a/Test/git-issues/git-issue-1604b.dfy +++ b/Test/git-issues/git-issue-1604b.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /errorLimit:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --error-limit:0 --relax-definite-assignment // Double constraints. Will this still work? diff --git a/Test/git-issues/git-issue-1604b.dfy.expect b/Test/git-issues/git-issue-1604b.dfy.expect index 93d7203e654..b5754e20373 100644 --- a/Test/git-issues/git-issue-1604b.dfy.expect +++ b/Test/git-issues/git-issue-1604b.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 5 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-1714.dfy b/Test/git-issues/git-issue-1714.dfy index 6ce8915a7af..540a41c39cb 100644 --- a/Test/git-issues/git-issue-1714.dfy +++ b/Test/git-issues/git-issue-1714.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait Base {} class Derived extends Base { var n: int constructor() { n := 0; } } diff --git a/Test/git-issues/git-issue-1714.dfy.expect b/Test/git-issues/git-issue-1714.dfy.expect index 67dd7d95642..88039063d09 100644 --- a/Test/git-issues/git-issue-1714.dfy.expect +++ b/Test/git-issues/git-issue-1714.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors (b as Derived).n == 0 diff --git a/Test/git-issues/git-issue-1815a.dfy b/Test/git-issues/git-issue-1815a.dfy index 91fb7a32aa6..72d55a1cb4f 100644 --- a/Test/git-issues/git-issue-1815a.dfy +++ b/Test/git-issues/git-issue-1815a.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Dt<+U> = Dt(x: U, i: int) diff --git a/Test/git-issues/git-issue-1815a.dfy.expect b/Test/git-issues/git-issue-1815a.dfy.expect index 7b2651302d9..19f86f493ab 100644 --- a/Test/git-issues/git-issue-1815a.dfy.expect +++ b/Test/git-issues/git-issue-1815a.dfy.expect @@ -1,17 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification -done - -Dafny program verifier did not attempt verification -done - -Dafny program verifier did not attempt verification -done - -Dafny program verifier did not attempt verification -done - -Dafny program verifier did not attempt verification done diff --git a/Test/git-issues/git-issue-1852.dfy b/Test/git-issues/git-issue-1852.dfy index 516835e8ea8..046f3fca1fc 100644 --- a/Test/git-issues/git-issue-1852.dfy +++ b/Test/git-issues/git-issue-1852.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module A { export diff --git a/Test/git-issues/git-issue-1852.dfy.expect b/Test/git-issues/git-issue-1852.dfy.expect index e9cd0ea2e07..299a71f3fe4 100644 --- a/Test/git-issues/git-issue-1852.dfy.expect +++ b/Test/git-issues/git-issue-1852.dfy.expect @@ -1,8 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification -5 5 - -Dafny program verifier did not attempt verification 5 5 diff --git a/Test/git-issues/git-issue-1903.dfy b/Test/git-issues/git-issue-1903.dfy index 7edb2a46c61..60ee1c121ab 100644 --- a/Test/git-issues/git-issue-1903.dfy +++ b/Test/git-issues/git-issue-1903.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method g(x : seq := []) { diff --git a/Test/git-issues/git-issue-1903.dfy.expect b/Test/git-issues/git-issue-1903.dfy.expect index 3170fb0c7f2..84cc8d360f9 100644 --- a/Test/git-issues/git-issue-1903.dfy.expect +++ b/Test/git-issues/git-issue-1903.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors worked! diff --git a/Test/git-issues/git-issue-1909.dfy b/Test/git-issues/git-issue-1909.dfy index 7fb5b3b8c48..83d9ec1d785 100644 --- a/Test/git-issues/git-issue-1909.dfy +++ b/Test/git-issues/git-issue-1909.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype ABC = ABC(nameonly a: int, nameonly b: int, nameonly c: int) diff --git a/Test/git-issues/git-issue-1909.dfy.expect b/Test/git-issues/git-issue-1909.dfy.expect index b4eb7e7774e..ab6f7d69d36 100644 --- a/Test/git-issues/git-issue-1909.dfy.expect +++ b/Test/git-issues/git-issue-1909.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors ABC.ABC(19, 21, 23) ABC.ABC(19, 42, 23) ABC.ABC(100, 42, 90) diff --git a/Test/git-issues/git-issue-2013.dfy b/Test/git-issues/git-issue-2013.dfy index d1d3e15880e..1f3962988ee 100644 --- a/Test/git-issues/git-issue-2013.dfy +++ b/Test/git-issues/git-issue-2013.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/git-issues/git-issue-2013.dfy.expect b/Test/git-issues/git-issue-2013.dfy.expect index 7ff6ce957cf..22e56ce7263 100644 --- a/Test/git-issues/git-issue-2013.dfy.expect +++ b/Test/git-issues/git-issue-2013.dfy.expect @@ -1,55 +1,3 @@ - -Dafny program verifier finished with 12 verified, 0 errors - -Dafny program verifier did not attempt verification -16 -16 -12 30 30 -Result.Success(8) Result.Failure(_module.MyClassException) -{100} {100} {100} -{MoreTests.C} {MoreTests.C} {MoreTests.C} -100 100 100 -MoreTests.C MoreTests.C MoreTests.C -Conveyance.NonVariantResult.NVSuccess(Conveyance.Car) Conveyance.CovariantResult.CVSuccess(Conveyance.Car) -M.Stream.Next - -Dafny program verifier did not attempt verification -16 -16 -12 30 30 -Result.Success(8) Result.Failure(_module.MyClassException) -{100} {100} {100} -{MoreTests.C} {MoreTests.C} {MoreTests.C} -100 100 100 -MoreTests.C MoreTests.C MoreTests.C -Conveyance.NonVariantResult.NVSuccess(Conveyance.Car) Conveyance.CovariantResult.CVSuccess(Conveyance.Car) -M.Stream.Next - -Dafny program verifier did not attempt verification -16 -16 -12 30 30 -Result.Success(8) Result.Failure(_module.MyClassException) -{100} {100} {100} -{MoreTests.C} {MoreTests.C} {MoreTests.C} -100 100 100 -MoreTests.C MoreTests.C MoreTests.C -Conveyance.NonVariantResult.NVSuccess(Conveyance.Car) Conveyance.CovariantResult.CVSuccess(Conveyance.Car) -M.Stream.Next - -Dafny program verifier did not attempt verification -16 -16 -12 30 30 -Result.Success(8) Result.Failure(_module.MyClassException) -{100} {100} {100} -{MoreTests.C} {MoreTests.C} {MoreTests.C} -100 100 100 -MoreTests.C MoreTests.C MoreTests.C -Conveyance.NonVariantResult.NVSuccess(Conveyance.Car) Conveyance.CovariantResult.CVSuccess(Conveyance.Car) -M.Stream.Next - -Dafny program verifier did not attempt verification 16 16 12 30 30 diff --git a/Test/git-issues/git-issue-2441.dfy b/Test/git-issues/git-issue-2441.dfy index bc9c8721ee2..4179ecc87bc 100644 --- a/Test/git-issues/git-issue-2441.dfy +++ b/Test/git-issues/git-issue-2441.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype A = A(B: B) datatype B = X diff --git a/Test/git-issues/git-issue-2441.dfy.expect b/Test/git-issues/git-issue-2441.dfy.expect index 0c3f603d584..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-2441.dfy.expect +++ b/Test/git-issues/git-issue-2441.dfy.expect @@ -1,6 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-2510.dfy b/Test/git-issues/git-issue-2510.dfy index 22ef8e47058..11ee2877bb3 100644 --- a/Test/git-issues/git-issue-2510.dfy +++ b/Test/git-issues/git-issue-2510.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:4 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /// Check that the compiler accepts `:- assume {:axiom} …`. diff --git a/Test/git-issues/git-issue-2510.dfy.expect b/Test/git-issues/git-issue-2510.dfy.expect index b341a39a78d..56a6051ca2b 100644 --- a/Test/git-issues/git-issue-2510.dfy.expect +++ b/Test/git-issues/git-issue-2510.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors 1 \ No newline at end of file diff --git a/Test/git-issues/git-issue-2608.dfy b/Test/git-issues/git-issue-2608.dfy index 459c9ffbf94..c606177f94f 100644 --- a/Test/git-issues/git-issue-2608.dfy +++ b/Test/git-issues/git-issue-2608.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /compileTarget:js "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method GetNext(i: int) returns (j: int, possible: bool) { if i == 1 { diff --git a/Test/git-issues/git-issue-2608.dfy.expect b/Test/git-issues/git-issue-2608.dfy.expect index dce7ba1814a..d9ed583f710 100644 --- a/Test/git-issues/git-issue-2608.dfy.expect +++ b/Test/git-issues/git-issue-2608.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors 82411246231944714271214 \ No newline at end of file diff --git a/Test/git-issues/git-issue-262.dfy b/Test/git-issues/git-issue-262.dfy index 2c00ad94a39..22d9a31b2fe 100644 --- a/Test/git-issues/git-issue-262.dfy +++ b/Test/git-issues/git-issue-262.dfy @@ -1,8 +1,5 @@ -// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" -// RUN: %dafny /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function tst(x: nat): nat { x + 1 diff --git a/Test/git-issues/git-issue-262.dfy.expect b/Test/git-issues/git-issue-262.dfy.expect index 76af42cd4a3..41d8cd55158 100644 --- a/Test/git-issues/git-issue-262.dfy.expect +++ b/Test/git-issues/git-issue-262.dfy.expect @@ -1,20 +1,2 @@ - -Dafny program verifier finished with 2 verified, 0 errors System.Func`2[System.Numerics.BigInteger,System.Numerics.BigInteger] System.Func`2[System.Numerics.BigInteger,System.Numerics.BigInteger] - -Dafny program verifier finished with 2 verified, 0 errors -tst(x) { - return (x).plus(_dafny.ONE); - } -tst(x) { - return (x).plus(_dafny.ONE); - } - -Dafny program verifier finished with 2 verified, 0 errors -func(dafny.Int) dafny.Int -func(dafny.Int) dafny.Int - -Dafny program verifier finished with 2 verified, 0 errors -Function -Function diff --git a/Test/git-issues/git-issue-262.dfy.go.expect b/Test/git-issues/git-issue-262.dfy.go.expect new file mode 100644 index 00000000000..578754c176c --- /dev/null +++ b/Test/git-issues/git-issue-262.dfy.go.expect @@ -0,0 +1,2 @@ +func(dafny.Int) dafny.Int +func(dafny.Int) dafny.Int diff --git a/Test/git-issues/git-issue-262.dfy.java.expect b/Test/git-issues/git-issue-262.dfy.java.expect new file mode 100644 index 00000000000..aa5478ef8c9 --- /dev/null +++ b/Test/git-issues/git-issue-262.dfy.java.expect @@ -0,0 +1,2 @@ +Function +Function diff --git a/Test/git-issues/git-issue-262.dfy.js.expect b/Test/git-issues/git-issue-262.dfy.js.expect new file mode 100644 index 00000000000..e181ef2fef8 --- /dev/null +++ b/Test/git-issues/git-issue-262.dfy.js.expect @@ -0,0 +1,6 @@ +tst(x) { + return (x).plus(_dafny.ONE); + } +tst(x) { + return (x).plus(_dafny.ONE); + } diff --git a/Test/git-issues/git-issue-267.dfy b/Test/git-issues/git-issue-267.dfy index cef2fcc6c17..2b0b3281589 100644 --- a/Test/git-issues/git-issue-267.dfy +++ b/Test/git-issues/git-issue-267.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var c := 1; diff --git a/Test/git-issues/git-issue-267.dfy.expect b/Test/git-issues/git-issue-267.dfy.expect index d71aef2f440..cd7da05e3d2 100644 --- a/Test/git-issues/git-issue-267.dfy.expect +++ b/Test/git-issues/git-issue-267.dfy.expect @@ -1,14 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification -210 - -Dafny program verifier did not attempt verification -210 - -Dafny program verifier did not attempt verification -210 - -Dafny program verifier did not attempt verification 210 diff --git a/Test/git-issues/git-issue-2672.dfy b/Test/git-issues/git-issue-2672.dfy index 338299ee8b7..52c5b9c638c 100644 --- a/Test/git-issues/git-issue-2672.dfy +++ b/Test/git-issues/git-issue-2672.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment newtype sreal = r: real | r > -4 as real newtype sint = r: int | r > -4 as int diff --git a/Test/git-issues/git-issue-2672.dfy.expect b/Test/git-issues/git-issue-2672.dfy.expect index c9c3244b6f4..43440a83d53 100644 --- a/Test/git-issues/git-issue-2672.dfy.expect +++ b/Test/git-issues/git-issue-2672.dfy.expect @@ -1,47 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors - -Dafny program verifier did not attempt verification -true true true true true true true true true true -false false false false false false false false false false -false false false false false false false false false false -true true true true true true true true true true -true true true true true true true true true true -false false false false false false false false false false -true true true -false false false - -Dafny program verifier did not attempt verification -true true true true true true true true true true -false false false false false false false false false false -false false false false false false false false false false -true true true true true true true true true true -true true true true true true true true true true -false false false false false false false false false false -true true true -false false false - -Dafny program verifier did not attempt verification -true true true true true true true true true true -false false false false false false false false false false -false false false false false false false false false false -true true true true true true true true true true -true true true true true true true true true true -false false false false false false false false false false -true true true -false false false - -Dafny program verifier did not attempt verification -true true true true true true true true true true -false false false false false false false false false false -false false false false false false false false false false -true true true true true true true true true true -true true true true true true true true true true -false false false false false false false false false false -true true true -false false false - -Dafny program verifier did not attempt verification true true true true true true true true true true false false false false false false false false false false false false false false false false false false false false diff --git a/Test/git-issues/git-issue-2726a.dfy b/Test/git-issues/git-issue-2726a.dfy index 641fefbbdc4..a43d5dd0107 100644 --- a/Test/git-issues/git-issue-2726a.dfy +++ b/Test/git-issues/git-issue-2726a.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /compileTarget:cs "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment const digits := ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"] diff --git a/Test/git-issues/git-issue-2726a.dfy.expect b/Test/git-issues/git-issue-2726a.dfy.expect index 6985935c88c..8e1bedb2a64 100644 --- a/Test/git-issues/git-issue-2726a.dfy.expect +++ b/Test/git-issues/git-issue-2726a.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors 4 42 422 diff --git a/Test/git-issues/git-issue-2733.dfy b/Test/git-issues/git-issue-2733.dfy index 232eab3cc74..65bc2b991fd 100644 --- a/Test/git-issues/git-issue-2733.dfy +++ b/Test/git-issues/git-issue-2733.dfy @@ -1,11 +1,4 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cpp "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false method Main() { print "XYZ"; // Checks that no extra newline is added to the output diff --git a/Test/git-issues/git-issue-2733.dfy.expect b/Test/git-issues/git-issue-2733.dfy.expect index b139e2f3d58..77bf25132db 100644 --- a/Test/git-issues/git-issue-2733.dfy.expect +++ b/Test/git-issues/git-issue-2733.dfy.expect @@ -1,15 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification -XYZ -Dafny program verifier did not attempt verification -XYZ -Dafny program verifier did not attempt verification -XYZ -Dafny program verifier did not attempt verification -XYZ -Dafny program verifier did not attempt verification -XYZ -Dafny program verifier did not attempt verification XYZ \ No newline at end of file diff --git a/Test/git-issues/git-issue-2792.dfy b/Test/git-issues/git-issue-2792.dfy index 89e736667c0..d2fb9db2055 100644 --- a/Test/git-issues/git-issue-2792.dfy +++ b/Test/git-issues/git-issue-2792.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /compileTarget:java "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Wrapper = Wrapper(s: seq) { diff --git a/Test/git-issues/git-issue-2792.dfy.expect b/Test/git-issues/git-issue-2792.dfy.expect index c1e603c58fe..ca1683c3020 100644 --- a/Test/git-issues/git-issue-2792.dfy.expect +++ b/Test/git-issues/git-issue-2792.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors [] Wrapper2.Wrapper2([], 2792) diff --git a/Test/git-issues/git-issue-283.dfy b/Test/git-issues/git-issue-283.dfy index c7c10f4aea3..1ca6d48d32c 100644 --- a/Test/git-issues/git-issue-283.dfy +++ b/Test/git-issues/git-issue-283.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Result = | Success(value: T) diff --git a/Test/git-issues/git-issue-283.dfy.expect b/Test/git-issues/git-issue-283.dfy.expect index 2adb114b8a0..a965a70ed4e 100644 --- a/Test/git-issues/git-issue-283.dfy.expect +++ b/Test/git-issues/git-issue-283.dfy.expect @@ -1,14 +1 @@ - -Dafny program verifier finished with 9 verified, 0 errors - -Dafny program verifier did not attempt verification -Done - -Dafny program verifier did not attempt verification -Done - -Dafny program verifier did not attempt verification -Done - -Dafny program verifier did not attempt verification Done diff --git a/Test/git-issues/git-issue-283d.dfy b/Test/git-issues/git-issue-283d.dfy index 54ee58fb456..46c1056d5e1 100644 --- a/Test/git-issues/git-issue-283d.dfy +++ b/Test/git-issues/git-issue-283d.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Foo = R(v: int) diff --git a/Test/git-issues/git-issue-283d.dfy.expect b/Test/git-issues/git-issue-283d.dfy.expect index 8da23be5c8c..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-283d.dfy.expect +++ b/Test/git-issues/git-issue-283d.dfy.expect @@ -1,10 +0,0 @@ - -Dafny program verifier finished with 4 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-314.dfy b/Test/git-issues/git-issue-314.dfy index 5e3e93ca654..a7fc06564a5 100644 --- a/Test/git-issues/git-issue-314.dfy +++ b/Test/git-issues/git-issue-314.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype S = S(G: array) datatype T = T(F: array, ghost Repr: set) diff --git a/Test/git-issues/git-issue-314.dfy.expect b/Test/git-issues/git-issue-314.dfy.expect index f02fc57989a..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-314.dfy.expect +++ b/Test/git-issues/git-issue-314.dfy.expect @@ -1,10 +0,0 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-332.dfy b/Test/git-issues/git-issue-332.dfy index ca2b08f3e8d..5166441405d 100644 --- a/Test/git-issues/git-issue-332.dfy +++ b/Test/git-issues/git-issue-332.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var foo := new B.Foo(15); diff --git a/Test/git-issues/git-issue-332.dfy.expect b/Test/git-issues/git-issue-332.dfy.expect index 57cad39addf..209e3ef4b62 100644 --- a/Test/git-issues/git-issue-332.dfy.expect +++ b/Test/git-issues/git-issue-332.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 6 verified, 0 errors 20 diff --git a/Test/git-issues/git-issue-354.dfy b/Test/git-issues/git-issue-354.dfy index 5938c2f71ae..c3d63021209 100644 --- a/Test/git-issues/git-issue-354.dfy +++ b/Test/git-issues/git-issue-354.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class C { static const u: X diff --git a/Test/git-issues/git-issue-354.dfy.expect b/Test/git-issues/git-issue-354.dfy.expect index cb5ae21dc46..4368562357f 100644 --- a/Test/git-issues/git-issue-354.dfy.expect +++ b/Test/git-issues/git-issue-354.dfy.expect @@ -1,25 +1,3 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification -0 -0 -0.0 -false - -Dafny program verifier did not attempt verification -0 -0 -0.0 -false - -Dafny program verifier did not attempt verification -0 -0 -0.0 -false - -Dafny program verifier did not attempt verification 0 0 0.0 diff --git a/Test/git-issues/git-issue-356.dfy b/Test/git-issues/git-issue-356.dfy index f5c34b0803b..2d497c0531c 100644 --- a/Test/git-issues/git-issue-356.dfy +++ b/Test/git-issues/git-issue-356.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false module M { type Tx = i: int | 0 <= i <= 100 diff --git a/Test/git-issues/git-issue-356.dfy.expect b/Test/git-issues/git-issue-356.dfy.expect index cff4ed233e1..9d984ec4ef4 100644 --- a/Test/git-issues/git-issue-356.dfy.expect +++ b/Test/git-issues/git-issue-356.dfy.expect @@ -1,39 +1,3 @@ - -Dafny program verifier finished with 25 verified, 0 errors - -Dafny program verifier did not attempt verification -a d 57005 * * -Z 90 90.0 90 90 -* 42 42.0 42 42 -F 70 70.0 70 70 -# 35 35.0 35 35 -END - -Dafny program verifier did not attempt verification -a d 57005 * * -Z 90 90.0 90 90 -* 42 42.0 42 42 -F 70 70.0 70 70 -# 35 35.0 35 35 -END - -Dafny program verifier did not attempt verification -a d 57005 * * -Z 90 90.0 90 90 -* 42 42.0 42 42 -F 70 70.0 70 70 -# 35 35.0 35 35 -END - -Dafny program verifier did not attempt verification -a d 57005 * * -Z 90 90.0 90 90 -* 42 42.0 42 42 -F 70 70.0 70 70 -# 35 35.0 35 35 -END - -Dafny program verifier did not attempt verification a d 57005 * * Z 90 90.0 90 90 * 42 42.0 42 42 diff --git a/Test/git-issues/git-issue-364.dfy b/Test/git-issues/git-issue-364.dfy index 0fdedc7d9c0..68c75931746 100644 --- a/Test/git-issues/git-issue-364.dfy +++ b/Test/git-issues/git-issue-364.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype NatOutcome = | Success(value: nat) diff --git a/Test/git-issues/git-issue-364.dfy.expect b/Test/git-issues/git-issue-364.dfy.expect index 1368349d437..38478c6c688 100644 --- a/Test/git-issues/git-issue-364.dfy.expect +++ b/Test/git-issues/git-issue-364.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 4 verified, 0 errors NatOutcome.Success(55) false 55 12 0 NatOutcome.Failure("it could be worse") true NatOutcome.Failure("it could be worse") diff --git a/Test/git-issues/git-issue-374.dfy b/Test/git-issues/git-issue-374.dfy index 4c031b7d3ff..15b56ec6396 100644 --- a/Test/git-issues/git-issue-374.dfy +++ b/Test/git-issues/git-issue-374.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class C { constructor(ghost x: int) diff --git a/Test/git-issues/git-issue-374.dfy.expect b/Test/git-issues/git-issue-374.dfy.expect index f02fc57989a..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-374.dfy.expect +++ b/Test/git-issues/git-issue-374.dfy.expect @@ -1,10 +0,0 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-396.dfy b/Test/git-issues/git-issue-396.dfy index 2ab68e51e12..7866d3d0498 100644 --- a/Test/git-issues/git-issue-396.dfy +++ b/Test/git-issues/git-issue-396.dfy @@ -1,8 +1,4 @@ -// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" -// RUN: %dafny /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Foo = Bar(value: int) diff --git a/Test/git-issues/git-issue-396.dfy.expect b/Test/git-issues/git-issue-396.dfy.expect index 3dd340d3178..dee79f10940 100644 --- a/Test/git-issues/git-issue-396.dfy.expect +++ b/Test/git-issues/git-issue-396.dfy.expect @@ -1,12 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors -114 - -Dafny program verifier finished with 1 verified, 0 errors -114 - -Dafny program verifier finished with 1 verified, 0 errors -114 - -Dafny program verifier finished with 1 verified, 0 errors 114 diff --git a/Test/git-issues/git-issue-4007.dfy b/Test/git-issues/git-issue-4007.dfy index e4c25b82bb8..5a279e7b8e6 100644 --- a/Test/git-issues/git-issue-4007.dfy +++ b/Test/git-issues/git-issue-4007.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:4 /compileTarget:py "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var a := 0; @@ -7,4 +6,4 @@ method Main() { a := a + 1; } print a, "\n"; -} \ No newline at end of file +} diff --git a/Test/git-issues/git-issue-4007.dfy.expect b/Test/git-issues/git-issue-4007.dfy.expect index 3ce6919d35b..00750edc07d 100644 --- a/Test/git-issues/git-issue-4007.dfy.expect +++ b/Test/git-issues/git-issue-4007.dfy.expect @@ -1,4 +1 @@ -git-issue-4007.dfy(6,20): Warning: /!\ No terms found to trigger on. - -Dafny program verifier finished with 1 verified, 0 errors 3 diff --git a/Test/git-issues/git-issue-4007.dfy.verifier.expect b/Test/git-issues/git-issue-4007.dfy.verifier.expect new file mode 100644 index 00000000000..1d4310d09b5 --- /dev/null +++ b/Test/git-issues/git-issue-4007.dfy.verifier.expect @@ -0,0 +1 @@ +git-issue-4007.dfy(5,20): Warning: /!\ No terms found to trigger on. diff --git a/Test/git-issues/git-issue-4012.dfy b/Test/git-issues/git-issue-4012.dfy index e065393a211..5360c0e935b 100644 --- a/Test/git-issues/git-issue-4012.dfy +++ b/Test/git-issues/git-issue-4012.dfy @@ -1,8 +1,7 @@ -// RUN: %dafny /compile:4 /compileTarget:py "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var x: multiset := multiset{}; x := x[1 := 18446744073709551616]; print |x|, "\n"; -} \ No newline at end of file +} diff --git a/Test/git-issues/git-issue-4012.dfy.expect b/Test/git-issues/git-issue-4012.dfy.expect index 230fbdbd384..ab69b99fab4 100644 --- a/Test/git-issues/git-issue-4012.dfy.expect +++ b/Test/git-issues/git-issue-4012.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors 18446744073709551616 diff --git a/Test/git-issues/git-issue-425.dfy b/Test/git-issues/git-issue-425.dfy index 4e555daaed0..122a10e4fbb 100644 --- a/Test/git-issues/git-issue-425.dfy +++ b/Test/git-issues/git-issue-425.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method M() returns (x: int, ghost y: int) { return 42, 43; diff --git a/Test/git-issues/git-issue-425.dfy.expect b/Test/git-issues/git-issue-425.dfy.expect index c2284013d9e..daaac9e3030 100644 --- a/Test/git-issues/git-issue-425.dfy.expect +++ b/Test/git-issues/git-issue-425.dfy.expect @@ -1,18 +1,2 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification -42 -42 - -Dafny program verifier did not attempt verification -42 -42 - -Dafny program verifier did not attempt verification -42 -42 - -Dafny program verifier did not attempt verification 42 42 diff --git a/Test/git-issues/git-issue-443.dfy b/Test/git-issues/git-issue-443.dfy index e8745b5ddda..6702e37484f 100644 --- a/Test/git-issues/git-issue-443.dfy +++ b/Test/git-issues/git-issue-443.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { print F(), " ", G(802.11), "\n"; // 12 15 diff --git a/Test/git-issues/git-issue-443.dfy.expect b/Test/git-issues/git-issue-443.dfy.expect index 10af01216da..0b64712fdcf 100644 --- a/Test/git-issues/git-issue-443.dfy.expect +++ b/Test/git-issues/git-issue-443.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors 12 15 diff --git a/Test/git-issues/git-issue-446.dfy b/Test/git-issues/git-issue-446.dfy index 0656587fd03..a66a9272d18 100644 --- a/Test/git-issues/git-issue-446.dfy +++ b/Test/git-issues/git-issue-446.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Result = Success(value: T) | Failure(error: string) { diff --git a/Test/git-issues/git-issue-446.dfy.expect b/Test/git-issues/git-issue-446.dfy.expect index 18195d22344..8165c2056d0 100644 --- a/Test/git-issues/git-issue-446.dfy.expect +++ b/Test/git-issues/git-issue-446.dfy.expect @@ -1,22 +1,3 @@ - -Dafny program verifier finished with 9 verified, 0 errors - -Dafny program verifier did not attempt verification -true -2 -true 42 -End - -Dafny program verifier did not attempt verification -true -2 -true 42 -End - -Dafny program verifier did not attempt verification -true -2 -true 42 -End - -Dafny program verifier did not attempt verification true -2 true 42 End diff --git a/Test/git-issues/git-issue-446a.dfy b/Test/git-issues/git-issue-446a.dfy index 41917680fee..2c559cea76d 100644 --- a/Test/git-issues/git-issue-446a.dfy +++ b/Test/git-issues/git-issue-446a.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Result = Success(value: T) | Failure(error: string) { diff --git a/Test/git-issues/git-issue-446a.dfy.expect b/Test/git-issues/git-issue-446a.dfy.expect index fbf9ee6f31d..9897e1c3f56 100644 --- a/Test/git-issues/git-issue-446a.dfy.expect +++ b/Test/git-issues/git-issue-446a.dfy.expect @@ -1,22 +1,3 @@ - -Dafny program verifier finished with 9 verified, 0 errors - -Dafny program verifier did not attempt verification -OK -true OK -true -2 End - -Dafny program verifier did not attempt verification -OK -true OK -true -2 End - -Dafny program verifier did not attempt verification -OK -true OK -true -2 End - -Dafny program verifier did not attempt verification OK true OK true -2 End diff --git a/Test/git-issues/git-issue-446b.dfy b/Test/git-issues/git-issue-446b.dfy index aa7ac30d9a7..79e55d9a1f8 100644 --- a/Test/git-issues/git-issue-446b.dfy +++ b/Test/git-issues/git-issue-446b.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Result = Success(value: T) | Failure(error: string) { diff --git a/Test/git-issues/git-issue-446b.dfy.expect b/Test/git-issues/git-issue-446b.dfy.expect index 0e99363fdb9..36fdd8ba47b 100644 --- a/Test/git-issues/git-issue-446b.dfy.expect +++ b/Test/git-issues/git-issue-446b.dfy.expect @@ -1,28 +1,3 @@ - -Dafny program verifier finished with 10 verified, 0 errors - -Dafny program verifier did not attempt verification -OK -true OK -true -2 -true 100 -End - -Dafny program verifier did not attempt verification -OK -true OK -true -2 -true 100 -End - -Dafny program verifier did not attempt verification -OK -true OK -true -2 -true 100 -End - -Dafny program verifier did not attempt verification OK true OK true -2 diff --git a/Test/git-issues/git-issue-478-good.dfy b/Test/git-issues/git-issue-478-good.dfy index b3fab26a312..9abce41e97c 100644 --- a/Test/git-issues/git-issue-478-good.dfy +++ b/Test/git-issues/git-issue-478-good.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // By first defining import LibA and then defining a module LibA, // the latter used to generate: diff --git a/Test/git-issues/git-issue-478-good.dfy.expect b/Test/git-issues/git-issue-478-good.dfy.expect index 17aea610943..6807b84eba5 100644 --- a/Test/git-issues/git-issue-478-good.dfy.expect +++ b/Test/git-issues/git-issue-478-good.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors hello hello hi diff --git a/Test/git-issues/git-issue-506.dfy b/Test/git-issues/git-issue-506.dfy index d25596621de..b2a409951a1 100644 --- a/Test/git-issues/git-issue-506.dfy +++ b/Test/git-issues/git-issue-506.dfy @@ -1,8 +1,4 @@ -// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" -// RUN: %dafny /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/git-issues/git-issue-506.dfy.expect b/Test/git-issues/git-issue-506.dfy.expect index e2bb6d644d9..ef2606ec5dc 100644 --- a/Test/git-issues/git-issue-506.dfy.expect +++ b/Test/git-issues/git-issue-506.dfy.expect @@ -1,29 +1,3 @@ - -Dafny program verifier finished with 2 verified, 0 errors -7 301 -8 391 -2 2 -4 5 -6 7 -2 3 7 0 - -Dafny program verifier finished with 2 verified, 0 errors -7 301 -8 391 -2 2 -4 5 -6 7 -2 3 7 0 - -Dafny program verifier finished with 2 verified, 0 errors -7 301 -8 391 -2 2 -4 5 -6 7 -2 3 7 0 - -Dafny program verifier finished with 2 verified, 0 errors 7 301 8 391 2 2 diff --git a/Test/git-issues/git-issue-532.dfy b/Test/git-issues/git-issue-532.dfy index 3d511dbb4c8..2a2b5aaaf2e 100644 --- a/Test/git-issues/git-issue-532.dfy +++ b/Test/git-issues/git-issue-532.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment predicate SuppressNoTriggerWarning(x: X) { true } diff --git a/Test/git-issues/git-issue-532.dfy.expect b/Test/git-issues/git-issue-532.dfy.expect index 1bd9e82cc5a..0f3ef3de427 100644 --- a/Test/git-issues/git-issue-532.dfy.expect +++ b/Test/git-issues/git-issue-532.dfy.expect @@ -1,22 +1,3 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification -t.x=5 The given Tr is a C, and c.y=6 -t.x=100 The given Tr is not a C -t.x=5 The given Tr is a C, and c.y=16 - -Dafny program verifier did not attempt verification -t.x=5 The given Tr is a C, and c.y=6 -t.x=100 The given Tr is not a C -t.x=5 The given Tr is a C, and c.y=16 - -Dafny program verifier did not attempt verification -t.x=5 The given Tr is a C, and c.y=6 -t.x=100 The given Tr is not a C -t.x=5 The given Tr is a C, and c.y=16 - -Dafny program verifier did not attempt verification t.x=5 The given Tr is a C, and c.y=6 t.x=100 The given Tr is not a C t.x=5 The given Tr is a C, and c.y=16 diff --git a/Test/git-issues/git-issue-549.dfy b/Test/git-issues/git-issue-549.dfy index 2e5ab322f23..d362a0bd039 100644 --- a/Test/git-issues/git-issue-549.dfy +++ b/Test/git-issues/git-issue-549.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait T { function bar(): bv8 diff --git a/Test/git-issues/git-issue-549.dfy.expect b/Test/git-issues/git-issue-549.dfy.expect index 3ae509fee5e..6e0790e778e 100644 --- a/Test/git-issues/git-issue-549.dfy.expect +++ b/Test/git-issues/git-issue-549.dfy.expect @@ -1,10 +1,2 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification -bar() = 1 -bar() = 1 - -Dafny program verifier did not attempt verification bar() = 1 bar() = 1 diff --git a/Test/git-issues/git-issue-622$f.dfy b/Test/git-issues/git-issue-622$f.dfy index fe4fdf38e03..2a7003e0f4e 100644 --- a/Test/git-issues/git-issue-622$f.dfy +++ b/Test/git-issues/git-issue-622$f.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /compileTarget:java /spillTargetCode:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method Main() { } diff --git a/Test/git-issues/git-issue-622$f.dfy.expect b/Test/git-issues/git-issue-622$f.dfy.expect index 012f5b99379..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-622$f.dfy.expect +++ b/Test/git-issues/git-issue-622$f.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/git-issues/git-issue-684.dfy b/Test/git-issues/git-issue-684.dfy index b1fbd7ab036..4c2b0a8fa02 100644 --- a/Test/git-issues/git-issue-684.dfy +++ b/Test/git-issues/git-issue-684.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Level1 = Level1(u:int) datatype Level2 = Level2(u:int, l:Level1) diff --git a/Test/git-issues/git-issue-684.dfy.expect b/Test/git-issues/git-issue-684.dfy.expect index 65d3b5d6635..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-684.dfy.expect +++ b/Test/git-issues/git-issue-684.dfy.expect @@ -1,10 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-686.dfy b/Test/git-issues/git-issue-686.dfy index bbc975200c8..9845ce2b027 100644 --- a/Test/git-issues/git-issue-686.dfy +++ b/Test/git-issues/git-issue-686.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Color = Blue | Red diff --git a/Test/git-issues/git-issue-686.dfy.expect b/Test/git-issues/git-issue-686.dfy.expect index f30b0581688..c12f8e66df2 100644 --- a/Test/git-issues/git-issue-686.dfy.expect +++ b/Test/git-issues/git-issue-686.dfy.expect @@ -1,24 +1 @@ -git-issue-686.dfy(13,2): Warning: this branch is redundant -git-issue-686.dfy(21,2): Warning: this branch is redundant - -Dafny program verifier finished with 1 verified, 0 errors -git-issue-686.dfy(13,2): Warning: this branch is redundant -git-issue-686.dfy(21,2): Warning: this branch is redundant - -Dafny program verifier did not attempt verification -6 0 -git-issue-686.dfy(13,2): Warning: this branch is redundant -git-issue-686.dfy(21,2): Warning: this branch is redundant - -Dafny program verifier did not attempt verification -6 0 -git-issue-686.dfy(13,2): Warning: this branch is redundant -git-issue-686.dfy(21,2): Warning: this branch is redundant - -Dafny program verifier did not attempt verification -6 0 -git-issue-686.dfy(13,2): Warning: this branch is redundant -git-issue-686.dfy(21,2): Warning: this branch is redundant - -Dafny program verifier did not attempt verification 6 0 diff --git a/Test/git-issues/git-issue-686.dfy.verifier.expect b/Test/git-issues/git-issue-686.dfy.verifier.expect new file mode 100644 index 00000000000..805bd55730c --- /dev/null +++ b/Test/git-issues/git-issue-686.dfy.verifier.expect @@ -0,0 +1,2 @@ +git-issue-686.dfy(8,2): Warning: this branch is redundant +git-issue-686.dfy(16,2): Warning: this branch is redundant diff --git a/Test/git-issues/git-issue-697.dfy b/Test/git-issues/git-issue-697.dfy index 095c1a02399..23cce66dee7 100644 --- a/Test/git-issues/git-issue-697.dfy +++ b/Test/git-issues/git-issue-697.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Cell = Cell(x: int) type EvenCell = c: Cell | c.x % 2 == 0 witness Cell(0) diff --git a/Test/git-issues/git-issue-697.dfy.expect b/Test/git-issues/git-issue-697.dfy.expect index 188a72ebc36..f32a5804e29 100644 --- a/Test/git-issues/git-issue-697.dfy.expect +++ b/Test/git-issues/git-issue-697.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-697b.dfy b/Test/git-issues/git-issue-697b.dfy index cfdd3fd0821..cdb054d8d78 100644 --- a/Test/git-issues/git-issue-697b.dfy +++ b/Test/git-issues/git-issue-697b.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Cell = Cell(x: int) type EvenCell = c: Cell | c.x % 2 == 0 witness Cell(0) diff --git a/Test/git-issues/git-issue-697b.dfy.expect b/Test/git-issues/git-issue-697b.dfy.expect index b355409912b..9c777ac6a0f 100644 --- a/Test/git-issues/git-issue-697b.dfy.expect +++ b/Test/git-issues/git-issue-697b.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors false 2 diff --git a/Test/git-issues/git-issue-697d.dfy b/Test/git-issues/git-issue-697d.dfy index 71a262fc985..8b65c2da4f7 100644 --- a/Test/git-issues/git-issue-697d.dfy +++ b/Test/git-issues/git-issue-697d.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function nonGhostPredicate(x: int): bool { x % 2 == 0 diff --git a/Test/git-issues/git-issue-697d.dfy.expect b/Test/git-issues/git-issue-697d.dfy.expect index 48fb59aeae5..f32a5804e29 100644 --- a/Test/git-issues/git-issue-697d.dfy.expect +++ b/Test/git-issues/git-issue-697d.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 4 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-697e.dfy b/Test/git-issues/git-issue-697e.dfy index e4500bfab28..310851abf9a 100644 --- a/Test/git-issues/git-issue-697e.dfy +++ b/Test/git-issues/git-issue-697e.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Cell = Cell(x: int) type EvenCell = c: Cell | c.x % 2 == 0 witness Cell(0) diff --git a/Test/git-issues/git-issue-697e.dfy.expect b/Test/git-issues/git-issue-697e.dfy.expect index 00a51f822da..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-697e.dfy.expect +++ b/Test/git-issues/git-issue-697e.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 3 verified, 0 errors diff --git a/Test/git-issues/git-issue-697f.dfy b/Test/git-issues/git-issue-697f.dfy index 92d1cec2ed8..acb8810dfbf 100644 --- a/Test/git-issues/git-issue-697f.dfy +++ b/Test/git-issues/git-issue-697f.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment ghost function ghostPredicate(x: int): bool { x % 2 == 0 diff --git a/Test/git-issues/git-issue-697f.dfy.expect b/Test/git-issues/git-issue-697f.dfy.expect index 3e2cf8d0f69..b5754e20373 100644 --- a/Test/git-issues/git-issue-697f.dfy.expect +++ b/Test/git-issues/git-issue-697f.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 4 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-697g.dfy b/Test/git-issues/git-issue-697g.dfy index c3b7581ff61..7b30de7f3a0 100644 --- a/Test/git-issues/git-issue-697g.dfy +++ b/Test/git-issues/git-issue-697g.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function returnNat(c: nat): int { diff --git a/Test/git-issues/git-issue-697g.dfy.expect b/Test/git-issues/git-issue-697g.dfy.expect index d9157fa820a..f32a5804e29 100644 --- a/Test/git-issues/git-issue-697g.dfy.expect +++ b/Test/git-issues/git-issue-697g.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-698.dfy b/Test/git-issues/git-issue-698.dfy index b15295c9b46..7b7a9ca15b8 100644 --- a/Test/git-issues/git-issue-698.dfy +++ b/Test/git-issues/git-issue-698.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment type Small = x: int | 0 <= x < 100 && x != 3 diff --git a/Test/git-issues/git-issue-698.dfy.expect b/Test/git-issues/git-issue-698.dfy.expect index 7f965a65d2e..27ba77ddaf6 100644 --- a/Test/git-issues/git-issue-698.dfy.expect +++ b/Test/git-issues/git-issue-698.dfy.expect @@ -1,8 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification -true - -Dafny program verifier did not attempt verification true diff --git a/Test/git-issues/git-issue-698b.dfy b/Test/git-issues/git-issue-698b.dfy index 1d4a92456e6..dbdbc3b36d3 100644 --- a/Test/git-issues/git-issue-698b.dfy +++ b/Test/git-issues/git-issue-698b.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment type Small = x: int | 0 <= x < 100 && x != 3 @@ -13,4 +12,4 @@ method Main() { var b := !exists n: Small :: F(n) != 100; assert b; print b; -} \ No newline at end of file +} diff --git a/Test/git-issues/git-issue-698b.dfy.expect b/Test/git-issues/git-issue-698b.dfy.expect index 188a72ebc36..f32a5804e29 100644 --- a/Test/git-issues/git-issue-698b.dfy.expect +++ b/Test/git-issues/git-issue-698b.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-701.dfy b/Test/git-issues/git-issue-701.dfy index af19f0d89e2..38984df4ecf 100644 --- a/Test/git-issues/git-issue-701.dfy +++ b/Test/git-issues/git-issue-701.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var ca := new ClassA; diff --git a/Test/git-issues/git-issue-701.dfy.expect b/Test/git-issues/git-issue-701.dfy.expect index 4d20966e641..5198c09cbb1 100644 --- a/Test/git-issues/git-issue-701.dfy.expect +++ b/Test/git-issues/git-issue-701.dfy.expect @@ -1,22 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification -0 0 0 -[] [] [] -C.Nothing C.Nothing C.Nothing - -Dafny program verifier did not attempt verification -0 0 0 -[] [] [] -C.Nothing C.Nothing C.Nothing - -Dafny program verifier did not attempt verification -0 0 0 -[] [] [] -C.Nothing C.Nothing C.Nothing - -Dafny program verifier did not attempt verification 0 0 0 [] [] [] C.Nothing C.Nothing C.Nothing diff --git a/Test/git-issues/git-issue-705.dfy b/Test/git-issues/git-issue-705.dfy index d4b806800c2..9c36a336e8e 100644 --- a/Test/git-issues/git-issue-705.dfy +++ b/Test/git-issues/git-issue-705.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs /spillTargetCode:3 "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js /spillTargetCode:3 "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go /spillTargetCode:3 "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java /spillTargetCode:3 "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation datatype MyDataType = AAA { function toString(): int { 222 } diff --git a/Test/git-issues/git-issue-705.dfy.expect b/Test/git-issues/git-issue-705.dfy.expect index 02cf409667a..79a1eee7c74 100644 --- a/Test/git-issues/git-issue-705.dfy.expect +++ b/Test/git-issues/git-issue-705.dfy.expect @@ -1,14 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification -MyDataType.AAA 222 - -Dafny program verifier did not attempt verification -MyDataType.AAA 222 - -Dafny program verifier did not attempt verification -MyDataType.AAA 222 - -Dafny program verifier did not attempt verification MyDataType.AAA 222 diff --git a/Test/git-issues/git-issue-731.dfy b/Test/git-issues/git-issue-731.dfy index 05d02fea1af..348d40fecea 100644 --- a/Test/git-issues/git-issue-731.dfy +++ b/Test/git-issues/git-issue-731.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait Trait { const y: Y diff --git a/Test/git-issues/git-issue-731.dfy.expect b/Test/git-issues/git-issue-731.dfy.expect index 69b2e6af648..7554a44901e 100644 --- a/Test/git-issues/git-issue-731.dfy.expect +++ b/Test/git-issues/git-issue-731.dfy.expect @@ -1,18 +1,2 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification -0 0 0 42 -0 0 0 9 - -Dafny program verifier did not attempt verification -0 0 0 42 -0 0 0 9 - -Dafny program verifier did not attempt verification -0 0 0 42 -0 0 0 9 - -Dafny program verifier did not attempt verification 0 0 0 42 0 0 0 9 diff --git a/Test/git-issues/git-issue-731b.dfy b/Test/git-issues/git-issue-731b.dfy index a77dbd6323b..2a0507839a2 100644 --- a/Test/git-issues/git-issue-731b.dfy +++ b/Test/git-issues/git-issue-731b.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Testing issue#731 when the class in question has type parameters diff --git a/Test/git-issues/git-issue-731b.dfy.expect b/Test/git-issues/git-issue-731b.dfy.expect index 97e6c041920..dd3226d2b73 100644 --- a/Test/git-issues/git-issue-731b.dfy.expect +++ b/Test/git-issues/git-issue-731b.dfy.expect @@ -1,14 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification -0 42 - -Dafny program verifier did not attempt verification -0 42 - -Dafny program verifier did not attempt verification -0 42 - -Dafny program verifier did not attempt verification 0 42 diff --git a/Test/git-issues/git-issue-784.dfy b/Test/git-issues/git-issue-784.dfy index 78b83f01064..5f6cf59465c 100644 --- a/Test/git-issues/git-issue-784.dfy +++ b/Test/git-issues/git-issue-784.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype List = Nil | Cons(T, List) { function App(ys: List): List { diff --git a/Test/git-issues/git-issue-784.dfy.expect b/Test/git-issues/git-issue-784.dfy.expect index 8da23be5c8c..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-784.dfy.expect +++ b/Test/git-issues/git-issue-784.dfy.expect @@ -1,10 +0,0 @@ - -Dafny program verifier finished with 4 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-953.dfy b/Test/git-issues/git-issue-953.dfy index adebc946c35..9c14e6e4e98 100644 --- a/Test/git-issues/git-issue-953.dfy +++ b/Test/git-issues/git-issue-953.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module P { datatype T_ = T() // the underscore in this name once caused a problem in Java compilation diff --git a/Test/git-issues/git-issue-953.dfy.expect b/Test/git-issues/git-issue-953.dfy.expect index 8466ea62f3f..8eec6126a08 100644 --- a/Test/git-issues/git-issue-953.dfy.expect +++ b/Test/git-issues/git-issue-953.dfy.expect @@ -1,39 +1,3 @@ - -Dafny program verifier finished with 6 verified, 0 errors - -Dafny program verifier did not attempt verification -C1.T_.T -P.T_.T -OtherNamesWithSpecialCharacters?_.A?_.A?_ OtherNamesWithSpecialCharacters?_.B?_.B?_ -17 17 0 0 -C2.C.C(10, 11) -9 - -Dafny program verifier did not attempt verification -C1.T_.T -P.T_.T -OtherNamesWithSpecialCharacters?_.A?_.A?_ OtherNamesWithSpecialCharacters?_.B?_.B?_ -17 17 0 0 -C2.C.C(10, 11) -9 - -Dafny program verifier did not attempt verification -C1.T_.T -P.T_.T -OtherNamesWithSpecialCharacters?_.A?_.A?_ OtherNamesWithSpecialCharacters?_.B?_.B?_ -17 17 0 0 -C2.C.C(10, 11) -9 - -Dafny program verifier did not attempt verification -C1.T_.T -P.T_.T -OtherNamesWithSpecialCharacters?_.A?_.A?_ OtherNamesWithSpecialCharacters?_.B?_.B?_ -17 17 0 0 -C2.C.C(10, 11) -9 - -Dafny program verifier did not attempt verification C1.T_.T P.T_.T OtherNamesWithSpecialCharacters?_.A?_.A?_ OtherNamesWithSpecialCharacters?_.B?_.B?_ diff --git a/Test/git-issues/github-issue-3343.dfy b/Test/git-issues/github-issue-3343.dfy index 517a11d7fc1..d518b2a1a41 100644 --- a/Test/git-issues/github-issue-3343.dfy +++ b/Test/git-issues/github-issue-3343.dfy @@ -1,5 +1,4 @@ -// RUN: %baredafny run "%s" -t:java > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" method Bug() { var zero := 0; var a := new int[zero] []; diff --git a/Test/git-issues/github-issue-3343.dfy.expect b/Test/git-issues/github-issue-3343.dfy.expect index 823a60a105c..e69de29bb2d 100644 --- a/Test/git-issues/github-issue-3343.dfy.expect +++ b/Test/git-issues/github-issue-3343.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 1 verified, 0 errors diff --git a/Test/hofs/Compilation.dfy b/Test/hofs/Compilation.dfy index 99fd0a36506..7e9c674b495 100644 --- a/Test/hofs/Compilation.dfy +++ b/Test/hofs/Compilation.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class Ref { var val : A diff --git a/Test/hofs/Compilation.dfy.expect b/Test/hofs/Compilation.dfy.expect index 760fafc6189..6b7187d2557 100644 --- a/Test/hofs/Compilation.dfy.expect +++ b/Test/hofs/Compilation.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 2 verified, 0 errors 1 = 1 3 = 3 3 = 3 diff --git a/Test/hofs/Examples.dfy b/Test/hofs/Examples.dfy index cdf177c001f..bebda559221 100644 --- a/Test/hofs/Examples.dfy +++ b/Test/hofs/Examples.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function Apply(f: A ~> B, x: A): B reads f.reads(x) diff --git a/Test/hofs/Examples.dfy.expect b/Test/hofs/Examples.dfy.expect index 851aaf58286..e69de29bb2d 100644 --- a/Test/hofs/Examples.dfy.expect +++ b/Test/hofs/Examples.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 7 verified, 0 errors diff --git a/Test/hofs/Fold.dfy b/Test/hofs/Fold.dfy index 336f9121b52..96ddb01591f 100644 --- a/Test/hofs/Fold.dfy +++ b/Test/hofs/Fold.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype List = Nil | Cons(A,List) diff --git a/Test/hofs/Fold.dfy.expect b/Test/hofs/Fold.dfy.expect index 144ffab92db..3abcc310618 100644 --- a/Test/hofs/Fold.dfy.expect +++ b/Test/hofs/Fold.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors 3 = 3 diff --git a/Test/hofs/Renaming.dfy b/Test/hofs/Renaming.dfy index cf21fdba2f8..391c0e79ef6 100644 --- a/Test/hofs/Renaming.dfy +++ b/Test/hofs/Renaming.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function OnId(f : (bool -> bool) -> int) : int reads f.reads(x => x) diff --git a/Test/hofs/Renaming.dfy.expect b/Test/hofs/Renaming.dfy.expect index e2b6636dbe4..13a954d9043 100644 --- a/Test/hofs/Renaming.dfy.expect +++ b/Test/hofs/Renaming.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 4 verified, 0 errors 10 11 diff --git a/Test/hofs/Requires.dfy b/Test/hofs/Requires.dfy index de5944b6744..f5e51244184 100644 --- a/Test/hofs/Requires.dfy +++ b/Test/hofs/Requires.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/hofs/Requires.dfy.expect b/Test/hofs/Requires.dfy.expect index 1981561ca00..e69de29bb2d 100644 --- a/Test/hofs/Requires.dfy.expect +++ b/Test/hofs/Requires.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 10 verified, 0 errors diff --git a/Test/hofs/TreeMapSimple.dfy b/Test/hofs/TreeMapSimple.dfy index d93aea46403..b7baf6eb8d7 100644 --- a/Test/hofs/TreeMapSimple.dfy +++ b/Test/hofs/TreeMapSimple.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { TestY(); diff --git a/Test/hofs/TreeMapSimple.dfy.expect b/Test/hofs/TreeMapSimple.dfy.expect index 9224d605f7e..be0317f1016 100644 --- a/Test/hofs/TreeMapSimple.dfy.expect +++ b/Test/hofs/TreeMapSimple.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 11 verified, 0 errors Tree.Branch(100, List.Cons(Tree.Branch(50, List.Nil), List.Nil)) Tree.Branch(100, List.Cons(Tree.Branch(50, List.Nil), List.Nil)) diff --git a/Test/hofs/VectorUpdate.dfy b/Test/hofs/VectorUpdate.dfy index 848ed585ca6..70c0de3084e 100644 --- a/Test/hofs/VectorUpdate.dfy +++ b/Test/hofs/VectorUpdate.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // this is a rather verbose version of the VectorUpdate method method VectorUpdate(N: int, a : array, f : (int,A) ~> A) diff --git a/Test/hofs/VectorUpdate.dfy.expect b/Test/hofs/VectorUpdate.dfy.expect index b8fae39eab8..7645f125857 100644 --- a/Test/hofs/VectorUpdate.dfy.expect +++ b/Test/hofs/VectorUpdate.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 8 verified, 0 errors 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 100, 50, 33, 25, 20, 16, 14, 12, 11, 10 diff --git a/Test/hofs/WhileLoop.dfy b/Test/hofs/WhileLoop.dfy index 4af9fbd841b..914f47f4522 100644 --- a/Test/hofs/WhileLoop.dfy +++ b/Test/hofs/WhileLoop.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class Ref { var val: A diff --git a/Test/hofs/WhileLoop.dfy.expect b/Test/hofs/WhileLoop.dfy.expect index 234ac298c9b..83083b451e1 100644 --- a/Test/hofs/WhileLoop.dfy.expect +++ b/Test/hofs/WhileLoop.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 4 verified, 0 errors 22 22 22 diff --git a/Test/metatests/OutputEncoding.dfy b/Test/metatests/OutputEncoding.dfy index 68c390ac811..59fa53bf298 100644 --- a/Test/metatests/OutputEncoding.dfy +++ b/Test/metatests/OutputEncoding.dfy @@ -1,10 +1,4 @@ -// RUN: %baredafny verify %args "%s" > "%t" -// RUN: %baredafny run --no-verify --target=cs %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=js %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=go %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=py %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=java %args "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" method Main() { // This works fine in all languages because € is a single UTF-16 code unit. diff --git a/Test/metatests/OutputEncoding.dfy.expect b/Test/metatests/OutputEncoding.dfy.expect index a37241376f3..b25a57298f1 100644 --- a/Test/metatests/OutputEncoding.dfy.expect +++ b/Test/metatests/OutputEncoding.dfy.expect @@ -1,17 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification -Euro sign: € - -Dafny program verifier did not attempt verification -Euro sign: € - -Dafny program verifier did not attempt verification -Euro sign: € - -Dafny program verifier did not attempt verification -Euro sign: € - -Dafny program verifier did not attempt verification Euro sign: € diff --git a/Test/patterns/OrPatterns.dfy b/Test/patterns/OrPatterns.dfy index 4f2610c9379..6385bd55c93 100644 --- a/Test/patterns/OrPatterns.dfy +++ b/Test/patterns/OrPatterns.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /rprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Enum = One | Two | Three { predicate Even() { diff --git a/Test/patterns/OrPatterns.dfy.expect b/Test/patterns/OrPatterns.dfy.expect index a6fce7c4a13..d86bac9de59 100644 --- a/Test/patterns/OrPatterns.dfy.expect +++ b/Test/patterns/OrPatterns.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 11 verified, 0 errors OK diff --git a/Test/patterns/PatternMatching.dfy b/Test/patterns/PatternMatching.dfy index 477126c066a..e8a73b856e4 100644 --- a/Test/patterns/PatternMatching.dfy +++ b/Test/patterns/PatternMatching.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /* * This file contains a collection of tests for features modified or introduced in PR 458 @@ -222,4 +221,4 @@ method Main() { var r5 := MultipleNestedMatch(A(0), t4, bb); print "Testing MultipleNestedMatch: ", r0, r1, r2, r3, r4, r5, ", should return 012345\n"; -} \ No newline at end of file +} diff --git a/Test/patterns/PatternMatching.dfy.expect b/Test/patterns/PatternMatching.dfy.expect index 2970273cbfc..b4415971ca5 100644 --- a/Test/patterns/PatternMatching.dfy.expect +++ b/Test/patterns/PatternMatching.dfy.expect @@ -1,6 +1,3 @@ -PatternMatching.dfy(102,4): Warning: this branch is redundant - -Dafny program verifier finished with 9 verified, 0 errors NestingTest([6]) = 6, should return 6 NestedVariableTest([2::3::4::5::6]) = 0, should return 0 ConstantTest([3::4::5::6]) = 2, should return 2 diff --git a/Test/patterns/PatternMatching.dfy.verifier.expect b/Test/patterns/PatternMatching.dfy.verifier.expect new file mode 100644 index 00000000000..b486aadfb80 --- /dev/null +++ b/Test/patterns/PatternMatching.dfy.verifier.expect @@ -0,0 +1 @@ +PatternMatching.dfy(101,4): Warning: this branch is redundant diff --git a/Test/traits/TraitCompile.dfy b/Test/traits/TraitCompile.dfy index 03cf3746c6f..6e9b925fbc5 100644 --- a/Test/traits/TraitCompile.dfy +++ b/Test/traits/TraitCompile.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait TT { @@ -820,4 +814,4 @@ module RedeclaringMembers { true } } -} \ No newline at end of file +} diff --git a/Test/traits/TraitCompile.dfy.expect b/Test/traits/TraitCompile.dfy.expect index 8257b754de2..b70a9b09d2e 100644 --- a/Test/traits/TraitCompile.dfy.expect +++ b/Test/traits/TraitCompile.dfy.expect @@ -1,259 +1,3 @@ - -Dafny program verifier finished with 75 verified, 0 errors - -Dafny program verifier did not attempt verification -y=120 -x=12 -d=800 -a5=407 -t=1212 -z=30 -z'=30 -w=30 -d=1000 -a5=507 -t=1512 -t=1512 -t=1515 -This is OtherModule.P(7.0) -From OtherModule.Y: 7 and true -This is OtherModule.P(7.0) -From OtherModule.X: 7 and true -c.f= 15 j.f= 15 -c.f= 18 j.f= 18 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -x=126 -5.2 9 false -true true true true -false false false false -true true true true -false false false false -5.2 5.2 -1.2 1.2 -1.2 1.2 -15 30 -15 30 -15 30 -0 (0, 0) 0 -8 -0 0 0 0 0 0 0 0 0 0 0 0 -13 13 13 13 13 13 13 13 13 13 13 13 -14 14 14 14 14 14 14 14 14 14 14 14 -15 15 15 15 15 15 15 15 15 15 15 15 -16 16 16 16 16 16 16 16 16 16 16 16 -17 17 17 17 17 17 17 17 17 17 17 17 -18 18 18 18 18 18 18 18 18 18 18 18 -19 19 19 19 19 19 19 19 19 19 19 19 -20 20 20 20 20 20 20 20 20 20 20 20 -21 21 21 21 21 21 21 21 21 21 21 21 -22 22 22 22 22 22 22 22 22 22 22 22 -23 23 23 23 23 23 23 23 23 23 23 23 -24 24 24 24 24 24 24 24 24 24 24 24 -f(4) = 7 -f(4) = 7 -g(4) = 7 -g(4) = 7 -41 15 26 -true true -true true -true true -true true -true true true -true true true - -Dafny program verifier did not attempt verification -y=120 -x=12 -d=800 -a5=407 -t=1212 -z=30 -z'=30 -w=30 -d=1000 -a5=507 -t=1512 -t=1512 -t=1515 -This is OtherModule.P(7.0) -From OtherModule.Y: 7 and true -This is OtherModule.P(7.0) -From OtherModule.X: 7 and true -c.f= 15 j.f= 15 -c.f= 18 j.f= 18 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -x=126 -5.2 9 false -true true true true -false false false false -true true true true -false false false false -5.2 5.2 -1.2 1.2 -1.2 1.2 -15 30 -15 30 -15 30 -0 (0, 0) 0 -8 -0 0 0 0 0 0 0 0 0 0 0 0 -13 13 13 13 13 13 13 13 13 13 13 13 -14 14 14 14 14 14 14 14 14 14 14 14 -15 15 15 15 15 15 15 15 15 15 15 15 -16 16 16 16 16 16 16 16 16 16 16 16 -17 17 17 17 17 17 17 17 17 17 17 17 -18 18 18 18 18 18 18 18 18 18 18 18 -19 19 19 19 19 19 19 19 19 19 19 19 -20 20 20 20 20 20 20 20 20 20 20 20 -21 21 21 21 21 21 21 21 21 21 21 21 -22 22 22 22 22 22 22 22 22 22 22 22 -23 23 23 23 23 23 23 23 23 23 23 23 -24 24 24 24 24 24 24 24 24 24 24 24 -f(4) = 7 -f(4) = 7 -g(4) = 7 -g(4) = 7 -41 15 26 -true true -true true -true true -true true -true true true -true true true - -Dafny program verifier did not attempt verification -y=120 -x=12 -d=800 -a5=407 -t=1212 -z=30 -z'=30 -w=30 -d=1000 -a5=507 -t=1512 -t=1512 -t=1515 -This is OtherModule.P(7.0) -From OtherModule.Y: 7 and true -This is OtherModule.P(7.0) -From OtherModule.X: 7 and true -c.f= 15 j.f= 15 -c.f= 18 j.f= 18 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -x=126 -5.2 9 false -true true true true -false false false false -true true true true -false false false false -5.2 5.2 -1.2 1.2 -1.2 1.2 -15 30 -15 30 -15 30 -0 (0, 0) 0 -8 -0 0 0 0 0 0 0 0 0 0 0 0 -13 13 13 13 13 13 13 13 13 13 13 13 -14 14 14 14 14 14 14 14 14 14 14 14 -15 15 15 15 15 15 15 15 15 15 15 15 -16 16 16 16 16 16 16 16 16 16 16 16 -17 17 17 17 17 17 17 17 17 17 17 17 -18 18 18 18 18 18 18 18 18 18 18 18 -19 19 19 19 19 19 19 19 19 19 19 19 -20 20 20 20 20 20 20 20 20 20 20 20 -21 21 21 21 21 21 21 21 21 21 21 21 -22 22 22 22 22 22 22 22 22 22 22 22 -23 23 23 23 23 23 23 23 23 23 23 23 -24 24 24 24 24 24 24 24 24 24 24 24 -f(4) = 7 -f(4) = 7 -g(4) = 7 -g(4) = 7 -41 15 26 -true true -true true -true true -true true -true true true -true true true - -Dafny program verifier did not attempt verification -y=120 -x=12 -d=800 -a5=407 -t=1212 -z=30 -z'=30 -w=30 -d=1000 -a5=507 -t=1512 -t=1512 -t=1515 -This is OtherModule.P(7.0) -From OtherModule.Y: 7 and true -This is OtherModule.P(7.0) -From OtherModule.X: 7 and true -c.f= 15 j.f= 15 -c.f= 18 j.f= 18 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -x=126 -5.2 9 false -true true true true -false false false false -true true true true -false false false false -5.2 5.2 -1.2 1.2 -1.2 1.2 -15 30 -15 30 -15 30 -0 (0, 0) 0 -8 -0 0 0 0 0 0 0 0 0 0 0 0 -13 13 13 13 13 13 13 13 13 13 13 13 -14 14 14 14 14 14 14 14 14 14 14 14 -15 15 15 15 15 15 15 15 15 15 15 15 -16 16 16 16 16 16 16 16 16 16 16 16 -17 17 17 17 17 17 17 17 17 17 17 17 -18 18 18 18 18 18 18 18 18 18 18 18 -19 19 19 19 19 19 19 19 19 19 19 19 -20 20 20 20 20 20 20 20 20 20 20 20 -21 21 21 21 21 21 21 21 21 21 21 21 -22 22 22 22 22 22 22 22 22 22 22 22 -23 23 23 23 23 23 23 23 23 23 23 23 -24 24 24 24 24 24 24 24 24 24 24 24 -f(4) = 7 -f(4) = 7 -g(4) = 7 -g(4) = 7 -41 15 26 -true true -true true -true true -true true -true true true -true true true - -Dafny program verifier did not attempt verification y=120 x=12 d=800 diff --git a/Test/traits/TraitExample.dfy b/Test/traits/TraitExample.dfy index d6afb4ce70b..54c5cbbec6f 100644 --- a/Test/traits/TraitExample.dfy +++ b/Test/traits/TraitExample.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait Automobile { ghost var Repr: set diff --git a/Test/traits/TraitExample.dfy.expect b/Test/traits/TraitExample.dfy.expect index c1b4ac93962..b9783e62141 100644 --- a/Test/traits/TraitExample.dfy.expect +++ b/Test/traits/TraitExample.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 29 verified, 0 errors Fiat: 6 Volvo: 20 Catacar: 26 diff --git a/Test/traits/Traits-Fields.dfy b/Test/traits/Traits-Fields.dfy index 2da609c33c8..6ae1aaab6d9 100644 --- a/Test/traits/Traits-Fields.dfy +++ b/Test/traits/Traits-Fields.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait J { diff --git a/Test/traits/Traits-Fields.dfy.expect b/Test/traits/Traits-Fields.dfy.expect index cc460fc52f4..c39bd8b5d5d 100644 --- a/Test/traits/Traits-Fields.dfy.expect +++ b/Test/traits/Traits-Fields.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 2 verified, 0 errors j.x = 9 c.x = 9 diff --git a/Test/traits/TraitsMultipleInheritance.dfy b/Test/traits/TraitsMultipleInheritance.dfy index 12590e47828..67fd8673488 100644 --- a/Test/traits/TraitsMultipleInheritance.dfy +++ b/Test/traits/TraitsMultipleInheritance.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait J1{ var x: int diff --git a/Test/traits/TraitsMultipleInheritance.dfy.expect b/Test/traits/TraitsMultipleInheritance.dfy.expect index ad1a1011a25..b116b2d070d 100644 --- a/Test/traits/TraitsMultipleInheritance.dfy.expect +++ b/Test/traits/TraitsMultipleInheritance.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 1 verified, 0 errors c.x + c.y = 30 j1.x + j2.y = 30 diff --git a/Test/unicodechars/comp/Collections.dfy b/Test/unicodechars/comp/Collections.dfy index fb3e451eb83..14d241ed5ab 100644 --- a/Test/unicodechars/comp/Collections.dfy +++ b/Test/unicodechars/comp/Collections.dfy @@ -1,8 +1,3 @@ -// RUN: %dafny /compile:0 /verifyAllModules /unicodeChar:1 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:true --verify-included-files include "../../comp/Collections.dfy" diff --git a/Test/unicodechars/comp/Collections.dfy.expect b/Test/unicodechars/comp/Collections.dfy.expect index 70586502b0d..89f08b08d75 100644 --- a/Test/unicodechars/comp/Collections.dfy.expect +++ b/Test/unicodechars/comp/Collections.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 40 verified, 0 errors - -Dafny program verifier did not attempt verification Sets: {} {17, 82} {12, 17} cardinality: 0 2 2 union: {17, 82} {12, 17, 82} @@ -127,511 +123,3 @@ Multiset=== 1 3 |s|=2 |u|=4 1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Yellow := 21, Color.Blue := 30] -keys: {Color.Yellow, Color.Blue} -values: {21, 30} -items: {(Color.Yellow, 21), (Color.Blue, 30)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {21, 30} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.go.expect b/Test/unicodechars/comp/Collections.dfy.go.expect new file mode 100644 index 00000000000..2fc0f3b7093 --- /dev/null +++ b/Test/unicodechars/comp/Collections.dfy.go.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.java.expect b/Test/unicodechars/comp/Collections.dfy.java.expect new file mode 100644 index 00000000000..39975cadfc4 --- /dev/null +++ b/Test/unicodechars/comp/Collections.dfy.java.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Yellow := 21, Color.Blue := 30] +keys: {Color.Yellow, Color.Blue} +values: {21, 30} +items: {(Color.Yellow, 21), (Color.Blue, 30)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.js.expect b/Test/unicodechars/comp/Collections.dfy.js.expect new file mode 100644 index 00000000000..2fc0f3b7093 --- /dev/null +++ b/Test/unicodechars/comp/Collections.dfy.js.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.py.expect b/Test/unicodechars/comp/Collections.dfy.py.expect new file mode 100644 index 00000000000..e4e346dede0 --- /dev/null +++ b/Test/unicodechars/comp/Collections.dfy.py.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {21, 30} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/unicodechars/comp/Comprehensions.dfy b/Test/unicodechars/comp/Comprehensions.dfy index 274f8d3a150..8bd5f67525e 100644 --- a/Test/unicodechars/comp/Comprehensions.dfy +++ b/Test/unicodechars/comp/Comprehensions.dfy @@ -1,8 +1,3 @@ -// RUN: %dafny /compile:0 /unicodeChar:1 /verifyAllModules "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" -include "../../comp/Comprehensions.dfy" \ No newline at end of file +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:true --verify-included-files +include "../../comp/Comprehensions.dfy" diff --git a/Test/unicodechars/comp/Comprehensions.dfy.expect b/Test/unicodechars/comp/Comprehensions.dfy.expect index 18159ddde0a..c9703fc9397 100644 --- a/Test/unicodechars/comp/Comprehensions.dfy.expect +++ b/Test/unicodechars/comp/Comprehensions.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 32 verified, 0 errors - -Dafny program verifier did not attempt verification x=13 y=14 x=13 y=14 b=yes true false @@ -64,259 +60,3 @@ true true [137438953474, 137438953475, 137438953476, 137438953477, 137438953479] cdefh cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[14 := 7, 12 := 6, 13 := 6] -map[18 := 14, 17 := 13, 16 := 12] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh diff --git a/Test/unicodechars/comp/Comprehensions.dfy.py.expect b/Test/unicodechars/comp/Comprehensions.dfy.py.expect new file mode 100644 index 00000000000..aeaa31fc0f3 --- /dev/null +++ b/Test/unicodechars/comp/Comprehensions.dfy.py.expect @@ -0,0 +1,62 @@ +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[14 := 7, 12 := 6, 13 := 6] +map[18 := 14, 17 := 13, 16 := 12] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh diff --git a/Test/unicodechars/comp/NativeNumbers.dfy b/Test/unicodechars/comp/NativeNumbers.dfy index 764b4b3b384..20cdb1e214f 100644 --- a/Test/unicodechars/comp/NativeNumbers.dfy +++ b/Test/unicodechars/comp/NativeNumbers.dfy @@ -1,9 +1,4 @@ +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:true --verify-included-files // Skip JavaScript because JavaScript doesn't have the same native types -// RUN: %dafny /compile:0 /verifyAllModules /unicodeChar:1 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" -include "../../comp/NativeNumbers.dfy" \ No newline at end of file +include "../../comp/NativeNumbers.dfy" diff --git a/Test/unicodechars/comp/NativeNumbers.dfy.expect b/Test/unicodechars/comp/NativeNumbers.dfy.expect index b0fc6754f84..354d931a151 100644 --- a/Test/unicodechars/comp/NativeNumbers.dfy.expect +++ b/Test/unicodechars/comp/NativeNumbers.dfy.expect @@ -1,259 +1,3 @@ - -Dafny program verifier finished with 25 verified, 0 errors - -Dafny program verifier did not attempt verification -Casting: - -Small numbers: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 -5 5 5 5 5 5 5 5 5 -6 6 6 6 6 6 6 6 6 -7 7 7 7 7 7 7 7 7 -8 8 8 8 8 8 8 8 8 - -Large unsigned numbers: -255 255 255 255 255 255 255 255 -65535 65535 65535 65535 65535 65535 -4294967295 4294967295 4294967295 4294967295 -18446744073709551615 18446744073709551615 - -Int to large unsigned: -255 65535 4294967295 18446744073709551615 - -Cast from cardinality operator: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 - -Characters: -'C' 67 67 67 67 67 67 67 67 67 -0 127 32767 65535 65535 255 65535 65535 65535 - -Defaults: - -0 0 0 0 0 0 0 0 0 - -Byte arithmetic: - -20 30 -10 10 18 - -Short arithmetic: - -20 30 -10 10 18 - -Bitvectors: - -0 3 4 1 - -Comparison to zero: - -int8: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int16: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int32: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int64: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint8: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint16: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint32: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint64: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N - - -Dafny program verifier did not attempt verification -Casting: - -Small numbers: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 -5 5 5 5 5 5 5 5 5 -6 6 6 6 6 6 6 6 6 -7 7 7 7 7 7 7 7 7 -8 8 8 8 8 8 8 8 8 - -Large unsigned numbers: -255 255 255 255 255 255 255 255 -65535 65535 65535 65535 65535 65535 -4294967295 4294967295 4294967295 4294967295 -18446744073709551615 18446744073709551615 - -Int to large unsigned: -255 65535 4294967295 18446744073709551615 - -Cast from cardinality operator: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 - -Characters: -'C' 67 67 67 67 67 67 67 67 67 -0 127 32767 65535 65535 255 65535 65535 65535 - -Defaults: - -0 0 0 0 0 0 0 0 0 - -Byte arithmetic: - -20 30 -10 10 18 - -Short arithmetic: - -20 30 -10 10 18 - -Bitvectors: - -0 3 4 1 - -Comparison to zero: - -int8: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int16: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int32: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int64: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint8: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint16: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint32: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint64: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N - - -Dafny program verifier did not attempt verification -Casting: - -Small numbers: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 -5 5 5 5 5 5 5 5 5 -6 6 6 6 6 6 6 6 6 -7 7 7 7 7 7 7 7 7 -8 8 8 8 8 8 8 8 8 - -Large unsigned numbers: -255 255 255 255 255 255 255 255 -65535 65535 65535 65535 65535 65535 -4294967295 4294967295 4294967295 4294967295 -18446744073709551615 18446744073709551615 - -Int to large unsigned: -255 65535 4294967295 18446744073709551615 - -Cast from cardinality operator: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 - -Characters: -'C' 67 67 67 67 67 67 67 67 67 -0 127 32767 65535 65535 255 65535 65535 65535 - -Defaults: - -0 0 0 0 0 0 0 0 0 - -Byte arithmetic: - -20 30 -10 10 18 - -Short arithmetic: - -20 30 -10 10 18 - -Bitvectors: - -0 3 4 1 - -Comparison to zero: - -int8: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int16: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int32: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int64: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint8: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint16: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint32: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint64: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N - - -Dafny program verifier did not attempt verification Casting: Small numbers: diff --git a/Test/unicodechars/comp/Numbers.dfy b/Test/unicodechars/comp/Numbers.dfy index 2c9170fe4d7..e5e36180234 100644 --- a/Test/unicodechars/comp/Numbers.dfy +++ b/Test/unicodechars/comp/Numbers.dfy @@ -1,8 +1,3 @@ -// RUN: %dafny /compile:0 /verifyAllModules /unicodeChar:1 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" -include "../../comp/Numbers.dfy" \ No newline at end of file +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:true --verify-included-files +include "../../comp/Numbers.dfy" diff --git a/Test/unicodechars/comp/Numbers.dfy.expect b/Test/unicodechars/comp/Numbers.dfy.expect index 6fa2f59f340..cce193e1cce 100644 --- a/Test/unicodechars/comp/Numbers.dfy.expect +++ b/Test/unicodechars/comp/Numbers.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 59 verified, 0 errors - -Dafny program verifier did not attempt verification 0 0 3 @@ -113,455 +109,3 @@ true false true false false true false true true false true false 20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -'g' 'Q' '2' -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -(312.0 / 40.0) (1248.0 / 40.0) -(-312.0 / 40.0) (-1248.0 / 40.0) -(-312.0 / 40.0) (1248.0 / 40.0) -(312.0 / 40.0) (-1248.0 / 40.0) -0.0 0.0 0.0 -120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) -123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 (8100.0 / 8100.0) -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -'g' 'Q' '2' -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -'g' 'Q' '2' -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -(312.0 / 40.0) (1248.0 / 40.0) -(-312.0 / 40.0) (-1248.0 / 40.0) -(-312.0 / 40.0) (1248.0 / 40.0) -(312.0 / 40.0) (-1248.0 / 40.0) -0.0 0.0 0.0 -120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) -123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 (8100.0 / 8100.0) -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -'g' 'Q' '2' -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 diff --git a/Test/unicodechars/comp/Numbers.dfy.go.expect b/Test/unicodechars/comp/Numbers.dfy.go.expect new file mode 100644 index 00000000000..95d8ac259c7 --- /dev/null +++ b/Test/unicodechars/comp/Numbers.dfy.go.expect @@ -0,0 +1,111 @@ +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +'g' 'Q' '2' +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 diff --git a/Test/unicodechars/comp/Numbers.dfy.py.expect b/Test/unicodechars/comp/Numbers.dfy.py.expect new file mode 100644 index 00000000000..95d8ac259c7 --- /dev/null +++ b/Test/unicodechars/comp/Numbers.dfy.py.expect @@ -0,0 +1,111 @@ +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +'g' 'Q' '2' +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 From e04a1b90461cafa76f7b8761dd6449b20f24b742 Mon Sep 17 00:00:00 2001 From: Robin Salkeld Date: Mon, 12 Jun 2023 10:54:30 -0700 Subject: [PATCH 52/68] Add CI to check uniformity, and make sure it can fail --- .github/workflows/msbuild.yml | 2 ++ Source/IntegrationTests/LitTests.cs | 6 +++--- Test/comp/CompileWithArguments.dfy | 1 - 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/msbuild.yml b/.github/workflows/msbuild.yml index da9bf59ca02..683e30cf36e 100644 --- a/.github/workflows/msbuild.yml +++ b/.github/workflows/msbuild.yml @@ -58,6 +58,8 @@ jobs: run: dotnet tool run dotnet-format -w -s error --check Source/Dafny.sln --exclude DafnyCore/Scanner.cs --exclude DafnyCore/Parser.cs - name: Create NuGet package (just to make sure it works) run: dotnet pack --no-build dafny/Source/Dafny.sln + - name: Check uniformity of integration tests that exercise backends + run: DAFNY_INTEGRATION_TESTS_MODE=uniformity-check dotnet test Source/IntegrationTests xunit-tests: needs: check-deep-tests diff --git a/Source/IntegrationTests/LitTests.cs b/Source/IntegrationTests/LitTests.cs index abb1f934fc7..ec902472778 100644 --- a/Source/IntegrationTests/LitTests.cs +++ b/Source/IntegrationTests/LitTests.cs @@ -202,7 +202,7 @@ public void LitTest(string path) { case "uniformity-check": var testCase = LitTestCase.Read(path, Config); if (NeedsConverting(testCase)) { - Assert.Fail($"Non-uniform test case: {testPath}\nConvert to using %testDafnyForEachCompiler or add a '// NONUNIFORM ' command"); + Assert.Fail($"Non-uniform test case that exercises backends: {testPath}\nConvert to using %testDafnyForEachCompiler or add a '// NONUNIFORM: ' command"); } break; case null or "": @@ -456,8 +456,8 @@ private static ILitCommand GetLeafCommand(ILitCommand command) { private static IList? GetDafnyArguments(ILitCommand command) { switch (command) { case ShellLitCommand slc: - if (slc.Arguments.Length >= 2 && slc.Arguments[0] == "dotnet" && slc.Arguments[1].EndsWith("Dafny.dll")) { - return slc.Arguments[2..]; + if (slc.Arguments.Length >= 1 && slc.Arguments[0].EndsWith("Dafny.dll")) { + return slc.Arguments[1..]; } else { return null; } diff --git a/Test/comp/CompileWithArguments.dfy b/Test/comp/CompileWithArguments.dfy index 49fa3666453..1f61822860b 100644 --- a/Test/comp/CompileWithArguments.dfy +++ b/Test/comp/CompileWithArguments.dfy @@ -1,4 +1,3 @@ -// NONUNIFORM: Multiple testing scenarios, highly backend sensitive, testing CLI // RUN: %dafny /compile:0 "%s" > "%t" // RUN: %run --no-verify --target:cs "%s" Csharp 1 >> "%t" // RUN: %run --no-verify --target:cpp --unicode-char:false "%s" Cpp Yipee >> "%t" From 38cd896a53f057abd76ea0109e4464d3e3e42221 Mon Sep 17 00:00:00 2001 From: Robin Salkeld Date: Mon, 12 Jun 2023 12:04:18 -0700 Subject: [PATCH 53/68] dotnet being picky --- .github/workflows/msbuild.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/msbuild.yml b/.github/workflows/msbuild.yml index 683e30cf36e..498a6a34720 100644 --- a/.github/workflows/msbuild.yml +++ b/.github/workflows/msbuild.yml @@ -59,7 +59,7 @@ jobs: - name: Create NuGet package (just to make sure it works) run: dotnet pack --no-build dafny/Source/Dafny.sln - name: Check uniformity of integration tests that exercise backends - run: DAFNY_INTEGRATION_TESTS_MODE=uniformity-check dotnet test Source/IntegrationTests + run: DAFNY_INTEGRATION_TESTS_MODE=uniformity-check dotnet test Source/IntegrationTests/IntegrationTests.csproj xunit-tests: needs: check-deep-tests From 8e9ea0e01c61ad36eef39c27053a06e9ec5efaec Mon Sep 17 00:00:00 2001 From: Robin Salkeld Date: Mon, 12 Jun 2023 12:20:09 -0700 Subject: [PATCH 54/68] Sorry dotnet, I should not have blamed you --- .github/workflows/msbuild.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/msbuild.yml b/.github/workflows/msbuild.yml index 498a6a34720..781d327cf34 100644 --- a/.github/workflows/msbuild.yml +++ b/.github/workflows/msbuild.yml @@ -59,7 +59,7 @@ jobs: - name: Create NuGet package (just to make sure it works) run: dotnet pack --no-build dafny/Source/Dafny.sln - name: Check uniformity of integration tests that exercise backends - run: DAFNY_INTEGRATION_TESTS_MODE=uniformity-check dotnet test Source/IntegrationTests/IntegrationTests.csproj + run: DAFNY_INTEGRATION_TESTS_MODE=uniformity-check dotnet test dafny/Source/IntegrationTests xunit-tests: needs: check-deep-tests From a3a6f5f745e5abd47e2fc3570e62cbda755aec29 Mon Sep 17 00:00:00 2001 From: Robin Salkeld Date: Mon, 12 Jun 2023 14:04:58 -0700 Subject: [PATCH 55/68] README updates --- Source/IntegrationTests/README.md | 4 ++++ Source/TestDafny/README.md | 24 +++++++++++++++++++----- Test/README.md | 29 +++++++++++++++++++++++++---- 3 files changed, 48 insertions(+), 9 deletions(-) create mode 100644 Source/IntegrationTests/README.md diff --git a/Source/IntegrationTests/README.md b/Source/IntegrationTests/README.md new file mode 100644 index 00000000000..65ac0de6e87 --- /dev/null +++ b/Source/IntegrationTests/README.md @@ -0,0 +1,4 @@ +# IntegrationTests + +This .NET test project executes all of the LIT integration tests under the [`Test`](../../Test/) directory +using the [xUnit-based LIT interpreter](../XUnitExtensions/). diff --git a/Source/TestDafny/README.md b/Source/TestDafny/README.md index af62bf88a66..9a3e0701ea2 100644 --- a/Source/TestDafny/README.md +++ b/Source/TestDafny/README.md @@ -34,9 +34,23 @@ For help on a specific verb (e.g. `for-each-compiler`): dotnet run --project Source/TestDafny/TestDafny.csproj -- for-each-compiler --help ``` -## Known limitations +## Known backend-specific inconsistencies/bugs -This tool does not yet have a way to account for non-deterministic output. In particular, it is common for existing test cases -to print `set` values, and the order that elements are printed in is not consistent across runtimes (nor do the language semantics -even guarantee that a given backend will pick a consistent ordering). I intend to add something similar to `OutputCheck` directives -to `*.expect` files to address this in the future. +This tool has a couple of mechanisms for testing uniformly across backends +even when one or more backends behaves differently or produces errors. +They can be used by providing additional files to specify the expected behavior +for individual backends: + +1. `..expect` + + These files provide the expected output for the identified backend, + when it is different from the common expected output in `.expect`. + For example, `Test/comp/Arrays.dfy.go.expect` provides the expected output for the Go backend, + which is different because the Go backend uses different heuristics for printing strings + when `--unicode-char` is `false`. + +2. `..check` + + Similarly, these files provide the output patterns to look for + when a backend is known to fail on a particular input program. + `TestDafny` only looks for these files when `dafny` produces a non-zero exit code. diff --git a/Test/README.md b/Test/README.md index f33df1b8133..5dc267083f0 100644 --- a/Test/README.md +++ b/Test/README.md @@ -34,7 +34,7 @@ and `2>` and `2>>` redirections (for respectively writing and appending both std To work cross-platform, use a number of macros: %verify, %resolve, %build, %run, %translate (with %trargs), %exits-with, %diff, %sed and others you can find defined in lit.site.cfg -`Any new macros defined here must also be defied in Source/IntegrationTetss/LitTests.cs` +`Any new macros defined here must also be defied in Source/IntegrationTests/LitTests.cs` A typical simple test for a single source file that has verification errors is ``` @@ -44,6 +44,26 @@ A typical simple test for a single source file that has verification errors is There are many examples in the .dfy files under this directory. +## Uniform backend testing + +In order to maximum testing coverage across all supported backends, +especially as additional backends are added in the future, +the default command for any test that compiles and/or executes a valid Dafny program should be: + +``` +// RUN: %testDafnyForEachCompiler "%s" +``` + +This command will run the program with each backend +and assert that the program output matches the content of `.expect`. +See [the TestDafny utility](../Source/TestDafny/) for more details. + +Any test that manually compiles and/or executes a program against one or more backends +will be flagged by CI, and should be fixed by either converting it to use +`%testDafnyForEachCompiler` or adding a `// NONUNIFORM: ` command +to flag it as intentionally inconsistent, +for tests of backend-specific externs for example. + ## Executing Tests from JetBrains Rider You will likely find it more convenient to run tests from an IDE such as @@ -71,9 +91,10 @@ a particular test much more convenient. By default this is disabled and the runn just as LIT does, however. This is because the main CLI implementation currently has shared static state, which causes errors when invoking the CLI in the same process on multiple inputs in sequence, much less in parallel. Future changes will address this so that the in-process Main invocation can be used instead, however, -which will likely improve performance but more importantly allow us to measure code coverage of the test suite. +which will likely improve performance. -To debug a single test, change the value of the `InvokeMainMethodsDirectly` boolean constant in the -[LitTests class](../Source/IntegrationTests/LitTests.cs) to `true`, and then right-click the test you wish to debug and select +To debug a single test, you change the value of the `DAFNY_INTEGRATION_TESTS_IN_PROCESS` environment variable +to `true` (See https://www.jetbrains.com/help/rider/Reference__Options__Tools__Unit_Testing__Test_Runner.html), +and then right-click the test you wish to debug and select `Debug Selected Unit Tests`. You will see exceptions if the test you are running makes multiple calls to commands like `%dafny`, so you may wish to remove the calls you are not interested in first, e.g. if you are debugging an issue with a specific compiler. From 0539b71e7f6537bf82e3766e85338568144ce0f8 Mon Sep 17 00:00:00 2001 From: Robin Salkeld Date: Mon, 12 Jun 2023 15:16:14 -0700 Subject: [PATCH 56/68] Comments and alignment --- Source/IntegrationTests/LitTests.cs | 90 +++++++++++++--------------- Source/TestDafny/MultiBackendTest.cs | 7 ++- 2 files changed, 45 insertions(+), 52 deletions(-) diff --git a/Source/IntegrationTests/LitTests.cs b/Source/IntegrationTests/LitTests.cs index ec902472778..3f39bfb4e91 100644 --- a/Source/IntegrationTests/LitTests.cs +++ b/Source/IntegrationTests/LitTests.cs @@ -27,8 +27,7 @@ public class LitTests { private static readonly Assembly TestDafnyAssembly = typeof(TestDafny.MultiBackendTest).Assembly; private static readonly Assembly DafnyServerAssembly = typeof(Server).Assembly; - private static readonly string - RepositoryRoot = Path.GetFullPath("../../../../../"); // Up from Source/IntegrationTests/bin/Debug/net6.0/ + private static readonly string RepositoryRoot = Path.GetFullPath("../../../../../"); // Up from Source/IntegrationTests/bin/Debug/net6.0/ private static readonly string[] DefaultBoogieArguments = new[] { "/infer:j", @@ -59,13 +58,10 @@ IEnumerable AddExtraArgs(IEnumerable args, IEnumerable l } string[] defaultResolveArgs = new[] { "resolve", "--use-basename-for-filename" }; - string[] defaultVerifyArgs = new[] - { "verify", "--use-basename-for-filename", "--cores:2", "--verification-time-limit:300" }; + string[] defaultVerifyArgs = new[] { "verify", "--use-basename-for-filename", "--cores:2", "--verification-time-limit:300" }; //string[] defaultTranslateArgs = new[] { "translate", "--use-basename-for-filename", "--cores:2", "--verification-time-limit:300" }; - string[] defaultBuildArgs = new[] - { "build", "--use-basename-for-filename", "--cores:2", "--verification-time-limit:300" }; - string[] defaultRunArgs = new[] - { "run", "--use-basename-for-filename", "--cores:2", "--verification-time-limit:300" }; + string[] defaultBuildArgs = new[] { "build", "--use-basename-for-filename", "--cores:2", "--verification-time-limit:300" }; + string[] defaultRunArgs = new[] { "run", "--use-basename-for-filename", "--cores:2", "--verification-time-limit:300" }; var substitutions = new Dictionary { { "%diff", "diff" }, @@ -102,11 +98,8 @@ IEnumerable AddExtraArgs(IEnumerable args, IEnumerable l MainMethodLitCommand.Parse(TestDafnyAssembly, new[] { "for-each-compiler" }.Concat(args), config, InvokeMainMethodsDirectly) }, { - "%server", (args, config) => // TODO - { - var shellArguments = new[] { DafnyServerAssembly.Location }.Concat(args); - return new ShellLitCommand("dotnet", shellArguments, config.PassthroughEnvironmentVariables); - } + "%server", (args, config) => + MainMethodLitCommand.Parse(DafnyServerAssembly, args, config, InvokeMainMethodsDirectly) }, { "%boogie", (args, config) => // TODO new DotnetToolCommand("boogie", @@ -169,8 +162,7 @@ IEnumerable AddExtraArgs(IEnumerable args, IEnumerable l Config = new LitTestConfiguration(substitutions, commands, features, DafnyDriver.ReferencedEnvironmentVariables); } - public static ILitCommand DafnyCommand(IEnumerable arguments, LitTestConfiguration config, - bool invokeDirectly) { + public static ILitCommand DafnyCommand(IEnumerable arguments, LitTestConfiguration config, bool invokeDirectly) { return invokeDirectly ? new DafnyDriverLitCommand(arguments, config) : new ShellLitCommand("dotnet", new[] { DafnyDriverAssembly.Location }.Concat(arguments), @@ -184,11 +176,9 @@ public LitTests(ITestOutputHelper output) { } [FileTheory] - [FileData( - Includes = new[] { "**/*.dfy", "**/*.transcript" }, - Excludes = new[] { - "**/Inputs/**/*", "**/Output/**/*", "libraries/**/*" - })] + [FileData(Includes = new[] { "**/*.dfy", "**/*.transcript" }, + Excludes = new[] { "**/Inputs/**/*", "**/Output/**/*", "libraries/**/*" + })] public void LitTest(string path) { var testPath = path.Replace("TestFiles/LitTests/LitTest", ""); var mode = Environment.GetEnvironmentVariable("DAFNY_INTEGRATION_TESTS_MODE"); @@ -294,40 +284,40 @@ bool IgnoreArgument(string arg, string testFilePath) { var leafCommand = GetLeafCommand(command); switch (leafCommand) { case ShellLitCommand or DafnyDriverLitCommand: { - var arguments = GetDafnyArguments(leafCommand); - if (arguments == null) { - throw new ArgumentException(); - } + var arguments = GetDafnyArguments(leafCommand); + if (arguments == null) { + throw new ArgumentException(); + } - if (arguments.Any(arg => arg.StartsWith("/compile"))) { - wasLegacyCli = true; - } + if (arguments.Any(arg => arg.StartsWith("/compile"))) { + wasLegacyCli = true; + } - var backend = GetBackendFromCommand(arguments); - if (backends.Contains(backend)) { - throw new ArgumentException($"More than one command for the same backend: {backend}"); - } - backends.Add(backend); - - // Filter out options we can ignore - var options = arguments.Where(arg => !IgnoreArgument(arg, testCase.FilePath)); - if (extraOptionsLocked) { - foreach (string arg in options) { - if (!commonExtraOptions.Contains(arg)) { - throw new ArgumentException($"Inconsistent option: {arg}"); - } - } - } else { - foreach (var arg in options) { - commonExtraOptions.Add(arg); - } - if (backend != null) { - extraOptionsLocked = true; + var backend = GetBackendFromCommand(arguments); + if (backends.Contains(backend)) { + throw new ArgumentException($"More than one command for the same backend: {backend}"); + } + backends.Add(backend); + + // Filter out options we can ignore + var options = arguments.Where(arg => !IgnoreArgument(arg, testCase.FilePath)); + if (extraOptionsLocked) { + foreach (string arg in options) { + if (!commonExtraOptions.Contains(arg)) { + throw new ArgumentException($"Inconsistent option: {arg}"); } } - - break; + } else { + foreach (var arg in options) { + commonExtraOptions.Add(arg); + } + if (backend != null) { + extraOptionsLocked = true; + } } + + break; + } case DiffCommand diffCommand: // The last line should be the standard '// RUN: %diff "%s.expect" "%t"' line expectFile = diffCommand.ExpectedPath; @@ -522,4 +512,4 @@ public MultiBackendLitCommand(IEnumerable arguments, LitTestConfiguratio return (exitCode, "", ""); } } -} +} \ No newline at end of file diff --git a/Source/TestDafny/MultiBackendTest.cs b/Source/TestDafny/MultiBackendTest.cs index b693dd20f56..2d9fdeeb72d 100644 --- a/Source/TestDafny/MultiBackendTest.cs +++ b/Source/TestDafny/MultiBackendTest.cs @@ -76,7 +76,7 @@ private int ForEachCompiler(ForEachCompilerOptions options) { // but this was never meaningful and only added maintenance burden. // Here we only ensure that the exit code is 0. - // We also use --print and --print-bpl to catch bugs with valid but unprintable programs. + // We also use --(r|b)print to catch bugs with valid but unprintable programs. string fileName = Path.GetFileName(options.TestFile!); var testDir = Path.GetDirectoryName(options.TestFile!); var tmpDPrint = Path.Join(testDir, "Output", $"{fileName}.dprint"); @@ -160,7 +160,10 @@ private int ForEachCompiler(ForEachCompilerOptions options) { } } - private bool OptionAppliesToVerifyCommand(string option) { + // Necessary to avoid passing invalid options to the first `dafny verify` command. + // Ideally we could hook into the general `dafny` options parsing logic + // and `ICommandSpec` commands instead. + private static bool OptionAppliesToVerifyCommand(string option) { if (option is "--spill-translation") { return false; } From a37f8c2af35c24d877b287a5c5afd41144e33cea Mon Sep 17 00:00:00 2001 From: Robin Salkeld Date: Mon, 12 Jun 2023 15:17:18 -0700 Subject: [PATCH 57/68] Whitespace --- Source/IntegrationTests/LitTests.cs | 58 ++++++++++++++--------------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/Source/IntegrationTests/LitTests.cs b/Source/IntegrationTests/LitTests.cs index 3f39bfb4e91..1d659c84105 100644 --- a/Source/IntegrationTests/LitTests.cs +++ b/Source/IntegrationTests/LitTests.cs @@ -284,40 +284,40 @@ bool IgnoreArgument(string arg, string testFilePath) { var leafCommand = GetLeafCommand(command); switch (leafCommand) { case ShellLitCommand or DafnyDriverLitCommand: { - var arguments = GetDafnyArguments(leafCommand); - if (arguments == null) { - throw new ArgumentException(); - } - - if (arguments.Any(arg => arg.StartsWith("/compile"))) { - wasLegacyCli = true; - } + var arguments = GetDafnyArguments(leafCommand); + if (arguments == null) { + throw new ArgumentException(); + } - var backend = GetBackendFromCommand(arguments); - if (backends.Contains(backend)) { - throw new ArgumentException($"More than one command for the same backend: {backend}"); - } - backends.Add(backend); - - // Filter out options we can ignore - var options = arguments.Where(arg => !IgnoreArgument(arg, testCase.FilePath)); - if (extraOptionsLocked) { - foreach (string arg in options) { - if (!commonExtraOptions.Contains(arg)) { - throw new ArgumentException($"Inconsistent option: {arg}"); - } + if (arguments.Any(arg => arg.StartsWith("/compile"))) { + wasLegacyCli = true; } - } else { - foreach (var arg in options) { - commonExtraOptions.Add(arg); + + var backend = GetBackendFromCommand(arguments); + if (backends.Contains(backend)) { + throw new ArgumentException($"More than one command for the same backend: {backend}"); } - if (backend != null) { - extraOptionsLocked = true; + backends.Add(backend); + + // Filter out options we can ignore + var options = arguments.Where(arg => !IgnoreArgument(arg, testCase.FilePath)); + if (extraOptionsLocked) { + foreach (string arg in options) { + if (!commonExtraOptions.Contains(arg)) { + throw new ArgumentException($"Inconsistent option: {arg}"); + } + } + } else { + foreach (var arg in options) { + commonExtraOptions.Add(arg); + } + if (backend != null) { + extraOptionsLocked = true; + } } - } - break; - } + break; + } case DiffCommand diffCommand: // The last line should be the standard '// RUN: %diff "%s.expect" "%t"' line expectFile = diffCommand.ExpectedPath; From 275d65131ba0dda42c1c74efc8e6b9229a594bde Mon Sep 17 00:00:00 2001 From: Robin Salkeld Date: Mon, 12 Jun 2023 15:17:27 -0700 Subject: [PATCH 58/68] Revert "Convert all tests" This reverts commit 3ab861bfdb5b20159b96a5aa9a01b6b97d4ec0bb. --- Test/VerifyThis2015/Problem1.dfy | 3 +- Test/VerifyThis2015/Problem1.dfy.expect | 2 + Test/VerifyThis2015/Problem2.dfy | 3 +- Test/VerifyThis2015/Problem2.dfy.expect | 2 + Test/VerifyThis2015/Problem3.dfy | 3 +- Test/VerifyThis2015/Problem3.dfy.expect | 2 + Test/c++/arrays.dfy | 3 +- Test/c++/arrays.dfy.expect | 2 + Test/c++/bit-vectors.dfy | 3 +- Test/c++/bit-vectors.dfy.expect | 2 + Test/c++/class.dfy | 3 +- Test/c++/class.dfy.expect | 2 + Test/c++/const.dfy | 3 +- Test/c++/const.dfy.expect | 2 + Test/c++/datatypes.dfy | 3 +- Test/c++/datatypes.dfy.expect | 2 + Test/c++/generic.dfy | 3 +- Test/c++/generic.dfy.expect | 2 + Test/c++/hello.dfy | 3 +- Test/c++/hello.dfy.expect | 2 + Test/c++/ints.dfy | 3 +- Test/c++/ints.dfy.expect | 2 + Test/c++/recursion.dfy | 3 +- Test/c++/recursion.dfy.expect | 2 + Test/c++/returns.dfy | 3 +- Test/c++/returns.dfy.expect | 2 + Test/c++/seqs.dfy | 3 +- Test/c++/seqs.dfy.expect | 2 + Test/c++/sets.dfy | 3 +- Test/c++/sets.dfy.expect | 2 + Test/c++/while.dfy | 3 +- Test/c++/while.dfy.expect | 2 + Test/comp/Arrays.dfy | 9 +- Test/comp/Arrays.dfy.expect | 396 ++++++++++++ Test/comp/Arrays.dfy.go.expect | 96 --- Test/comp/AsIs-Compile.dfy | 8 +- Test/comp/AsIs-Compile.dfy.expect | 160 +++++ Test/comp/AutoInit.dfy | 8 +- Test/comp/AutoInit.dfy.expect | 160 +++++ Test/comp/ByMethodCompilation.dfy | 8 +- Test/comp/ByMethodCompilation.dfy.expect | 32 + Test/comp/Calls.dfy | 8 +- Test/comp/Calls.dfy.expect | 40 ++ Test/comp/Class.dfy | 8 +- Test/comp/Class.dfy.expect | 72 +++ Test/comp/Collections.dfy | 9 +- Test/comp/Collections.dfy.expect | 512 ++++++++++++++++ Test/comp/Collections.dfy.go.expect | 125 ---- Test/comp/Collections.dfy.java.expect | 125 ---- Test/comp/Collections.dfy.js.expect | 125 ---- Test/comp/Collections.dfy.py.expect | 125 ---- Test/comp/Comprehensions.dfy | 9 +- Test/comp/Comprehensions.dfy.expect | 260 ++++++++ Test/comp/Comprehensions.dfy.py.expect | 62 -- Test/comp/ComprehensionsNewSyntax.dfy | 9 +- Test/comp/ComprehensionsNewSyntax.dfy.expect | 148 +++++ .../ComprehensionsNewSyntax.dfy.py.expect | 34 -- Test/comp/CovariantCollections.dfy | 8 +- Test/comp/CovariantCollections.dfy.expect | 220 +++++++ Test/comp/Datatype.dfy | 9 +- Test/comp/Datatype.dfy.expect | 100 +++ Test/comp/Datatype.dfy.java.expect | 22 - Test/comp/Datatype.dfy.py.expect | 22 - Test/comp/DefaultParameters-Compile.dfy | 8 +- .../comp/DefaultParameters-Compile.dfy.expect | 48 ++ Test/comp/DowncastClone.dfy | 8 +- Test/comp/DowncastClone.dfy.expect | 40 ++ Test/comp/ErasableTypeWrappers.dfy | 8 +- Test/comp/ErasableTypeWrappers.dfy.expect | 84 +++ Test/comp/EuclideanDivision.dfy | 8 +- Test/comp/EuclideanDivision.dfy.expect | 36 ++ Test/comp/ForLoops-Compilation.dfy | 8 +- Test/comp/ForLoops-Compilation.dfy.expect | 200 ++++++ Test/comp/ForallNewSyntax.dfy | 8 +- Test/comp/ForallNewSyntax.dfy.expect | 180 ++++++ Test/comp/Ghosts.dfy | 8 +- Test/comp/Ghosts.dfy.expect | 52 ++ Test/comp/Let.dfy | 7 +- Test/comp/Let.dfy.expect | 34 ++ Test/comp/MoreAutoInit.dfy | 8 +- Test/comp/MoreAutoInit.dfy.expect | 572 ++++++++++++++++++ Test/comp/NativeNumbers.dfy | 7 +- Test/comp/NativeNumbers.dfy.expect | 256 ++++++++ Test/comp/NestedArrays.dfy | 7 +- Test/comp/NestedArrays.dfy.expect | 16 + Test/comp/Numbers.dfy | 9 +- Test/comp/Numbers.dfy.expect | 456 ++++++++++++++ Test/comp/Numbers.dfy.go.expect | 111 ---- Test/comp/Numbers.dfy.py.expect | 111 ---- Test/comp/Poly.dfy | 9 +- Test/comp/Poly.dfy.expect | 60 ++ Test/comp/Poly.dfy.go.expect | 12 - Test/comp/Poly.dfy.py.expect | 12 - Test/comp/StaticMembersOfGenericTypes.dfy | 8 +- .../StaticMembersOfGenericTypes.dfy.expect | 76 +++ Test/comp/TailRecursion.dfy | 8 +- Test/comp/TailRecursion.dfy.expect | 76 +++ Test/comp/TypeDescriptors.dfy | 8 +- Test/comp/TypeDescriptors.dfy.expect | 152 +++++ Test/comp/TypeParams.dfy | 11 +- Test/comp/TypeParams.dfy.expect | 88 +++ Test/comp/TypeParams.dfy.go.expect | 19 - Test/comp/TypeParams.dfy.java.expect | 19 - Test/comp/TypeParams.dfy.js.expect | 19 - Test/comp/TypeParams.dfy.py.expect | 19 - Test/comp/UnoptimizedErasableTypeWrappers.dfy | 8 +- ...UnoptimizedErasableTypeWrappers.dfy.expect | 28 + Test/comp/Variance.dfy | 8 +- Test/comp/Variance.dfy.expect | 64 ++ Test/comp/Various.dfy | 8 +- Test/comp/Various.dfy.expect | 40 ++ Test/comp/firstSteps/0_IKnowThisMuchIs.dfy | 4 +- .../firstSteps/0_IKnowThisMuchIs.dfy.expect | 4 + Test/comp/firstSteps/1_Calls-F.dfy | 4 +- Test/comp/firstSteps/1_Calls-F.dfy.expect | 4 + Test/comp/firstSteps/2_Modules.dfy | 4 +- Test/comp/firstSteps/2_Modules.dfy.expect | 4 + Test/comp/firstSteps/3_Calls-As.dfy | 4 +- Test/comp/firstSteps/3_Calls-As.dfy.expect | 4 + .../4_Calls-FunctionsValues-Class+NT.dfy | 4 +- ..._Calls-FunctionsValues-Class+NT.dfy.expect | 4 + .../firstSteps/5_Calls-FunctionsValues-Dt.dfy | 4 +- .../5_Calls-FunctionsValues-Dt.dfy.expect | 4 + .../firstSteps/6_Calls-VariableCapture.dfy | 4 +- .../6_Calls-VariableCapture.dfy.expect | 4 + Test/comp/firstSteps/7_Arrays.dfy | 4 +- Test/comp/firstSteps/7_Arrays.dfy.expect | 4 + Test/comp/firstSteps/7_Dt_Algebraic.dfy | 6 +- .../firstSteps/7_Dt_Algebraic.dfy.cs.expect | 11 - .../comp/firstSteps/7_Dt_Algebraic.dfy.expect | 17 + Test/dafny0/ArrayElementInitCompile.dfy | 8 +- .../dafny0/ArrayElementInitCompile.dfy.expect | 76 +++ Test/dafny0/Bitvectors.dfy | 5 +- Test/dafny0/Bitvectors.dfy.expect | 49 ++ Test/dafny0/Constant.dfy | 3 +- Test/dafny0/Constant.dfy.expect | 2 + Test/dafny0/Deprecation.dfy | 3 +- Test/dafny0/Deprecation.dfy.expect | 7 + Test/dafny0/Deprecation.dfy.verifier.expect | 5 - Test/dafny0/DiscoverBounds.dfy | 3 +- Test/dafny0/DiscoverBounds.dfy.expect | 7 + .../dafny0/DiscoverBounds.dfy.verifier.expect | 5 - Test/dafny0/DividedConstructors.dfy | 3 +- Test/dafny0/DividedConstructors.dfy.expect | 3 + .../DividedConstructors.dfy.verifier.expect | 1 - Test/dafny0/EqualityTypesCompile.dfy | 3 +- Test/dafny0/EqualityTypesCompile.dfy.expect | 2 + Test/dafny0/ForallCompilationNewSyntax.dfy | 3 +- .../ForallCompilationNewSyntax.dfy.expect | 6 + ...llCompilationNewSyntax.dfy.verifier.expect | 4 - Test/dafny0/GhostITECompilation.dfy | 8 +- Test/dafny0/GhostITECompilation.dfy.expect | 28 + Test/dafny0/InitialValues.dfy | 3 +- Test/dafny0/InitialValues.dfy.expect | 2 + Test/dafny0/MatchBraces.dfy | 5 +- Test/dafny0/MatchBraces.dfy.expect | 8 + Test/dafny0/MoForallCompilation.dfy | 3 +- Test/dafny0/MoForallCompilation.dfy.expect | 2 + Test/dafny0/NameclashesCompile.dfy | 3 +- Test/dafny0/NameclashesCompile.dfy.expect | 2 + Test/dafny0/NonZeroInitializationCompile.dfy | 7 +- .../NonZeroInitializationCompile.dfy.expect | 73 +++ Test/dafny0/NullComparisonWarnings.dfy | 3 +- Test/dafny0/NullComparisonWarnings.dfy.expect | 13 + ...NullComparisonWarnings.dfy.verifier.expect | 11 - Test/dafny0/PrintUTF8.dfy | 3 +- Test/dafny0/PrintUTF8.dfy.expect | 2 + Test/dafny0/RangeCompilation.dfy | 3 +- Test/dafny0/RangeCompilation.dfy.expect | 2 + Test/dafny0/SeqFromArray.dfy | 3 +- Test/dafny0/SeqFromArray.dfy.expect | 2 + Test/dafny0/SharedDestructorsCompile.dfy | 5 +- .../SharedDestructorsCompile.dfy.expect | 17 + Test/dafny0/SiblingImports.dfy | 3 +- Test/dafny0/SiblingImports.dfy.expect | 2 + Test/dafny0/TypeConversionsCompile.dfy | 3 +- Test/dafny0/TypeConversionsCompile.dfy.expect | 2 + Test/dafny0/TypeMembers.dfy | 5 +- Test/dafny0/TypeMembers.dfy.expect | 29 + Test/dafny0/TypeMembers.dfy.verifier.expect | 1 - Test/dafny0/Wellfounded.dfy | 3 +- Test/dafny0/Wellfounded.dfy.expect | 4 + Test/dafny0/Wellfounded.dfy.verifier.expect | 2 - Test/dafny2/MinWindowMax.dfy | 3 +- Test/dafny2/MinWindowMax.dfy.expect | 2 + .../SmallestMissingNumber-functional.dfy | 3 +- ...mallestMissingNumber-functional.dfy.expect | 3 + ...ssingNumber-functional.dfy.verifier.expect | 1 - .../SmallestMissingNumber-imperative.dfy | 3 +- ...mallestMissingNumber-imperative.dfy.expect | 2 + Test/dafny2/StoreAndRetrieve.dfy | 7 +- Test/dafny2/StoreAndRetrieve.dfy.expect | 38 ++ .../StoreAndRetrieve.dfy.verifier.expect | 5 - Test/dafny2/pq-intrinsic-extrinsic.dfy | 5 +- Test/dafny2/pq-intrinsic-extrinsic.dfy.expect | 11 + Test/dafny3/Abstemious.dfy | 3 +- Test/dafny3/Abstemious.dfy.expect | 2 + Test/dafny3/CachedContainer.dfy | 7 +- Test/dafny3/CachedContainer.dfy.expect | 78 +++ .../CachedContainer.dfy.verifier.expect | 13 - Test/dafny3/Iter.dfy | 3 +- Test/dafny3/Iter.dfy.expect | 2 + Test/dafny4/Ackermann.dfy | 3 +- Test/dafny4/Ackermann.dfy.expect | 4 + Test/dafny4/Ackermann.dfy.verifier.expect | 2 - Test/dafny4/Bug107.dfy | 3 +- Test/dafny4/Bug107.dfy.expect | 2 + Test/dafny4/Bug108.dfy | 3 +- Test/dafny4/Bug108.dfy.expect | 2 + Test/dafny4/Bug113.dfy | 5 +- Test/dafny4/Bug113.dfy.expect | 2 + Test/dafny4/Bug140.dfy | 3 +- Test/dafny4/Bug140.dfy.expect | 2 + Test/dafny4/Bug148.dfy | 3 +- Test/dafny4/Bug148.dfy.expect | 2 + Test/dafny4/Bug49.dfy | 3 +- Test/dafny4/Bug49.dfy.expect | 2 + Test/dafny4/Bug60.dfy | 3 +- Test/dafny4/Bug60.dfy.expect | 2 + Test/dafny4/Bug67.dfy | 5 +- Test/dafny4/Bug67.dfy.expect | 2 + Test/dafny4/Bug68.dfy | 5 +- Test/dafny4/Bug68.dfy.expect | 2 + Test/dafny4/Bug89.dfy | 3 +- Test/dafny4/Bug89.dfy.expect | 2 + Test/dafny4/Bug94.dfy | 3 +- Test/dafny4/Bug94.dfy.expect | 2 + Test/dafny4/ClassRefinement.dfy | 7 +- Test/dafny4/ClassRefinement.dfy.expect | 43 ++ .../ClassRefinement.dfy.verifier.expect | 6 - Test/dafny4/ExpandedGuardedness.dfy | 3 +- Test/dafny4/ExpandedGuardedness.dfy.expect | 2 + Test/dafny4/FlyingRobots.dfy | 3 +- Test/dafny4/FlyingRobots.dfy.expect | 2 + Test/dafny4/Leq.dfy | 3 +- Test/dafny4/Leq.dfy.expect | 2 + Test/dafny4/McCarthy91.dfy | 3 +- Test/dafny4/McCarthy91.dfy.expect | 2 + Test/dafny4/NatList.dfy | 3 +- Test/dafny4/NatList.dfy.expect | 2 + Test/dafny4/Regression2.dfy | 3 +- Test/dafny4/Regression2.dfy.expect | 2 + Test/dafny4/Regression3.dfy | 3 +- Test/dafny4/Regression3.dfy.expect | 2 + Test/dafny4/Regression4.dfy | 3 +- Test/dafny4/Regression4.dfy.expect | 2 + Test/dafny4/Regression6.dfy | 3 +- Test/dafny4/Regression6.dfy.expect | 2 + Test/dafny4/Regression7.dfy | 3 +- Test/dafny4/Regression7.dfy.expect | 2 + Test/dafny4/Regression9.dfy | 3 +- Test/dafny4/Regression9.dfy.expect | 2 + Test/dafny4/UnionFind.dfy | 3 +- Test/dafny4/UnionFind.dfy.expect | 2 + Test/dafny4/gcd.dfy | 7 +- Test/dafny4/gcd.dfy.expect | 31 + Test/dafny4/git-issue104.dfy | 8 +- Test/dafny4/git-issue104.dfy.expect | 16 + Test/dafny4/git-issue105.dfy | 3 +- Test/dafny4/git-issue105.dfy.expect | 2 + Test/dafny4/git-issue15.dfy | 3 +- Test/dafny4/git-issue15.dfy.expect | 2 + Test/dafny4/git-issue195.dfy | 3 +- Test/dafny4/git-issue195.dfy.expect | 2 + Test/dafny4/git-issue196.dfy | 3 +- Test/dafny4/git-issue196.dfy.expect | 2 + Test/dafny4/git-issue4.dfy | 3 +- Test/dafny4/git-issue4.dfy.expect | 2 + Test/dafny4/git-issue43.dfy | 3 +- Test/dafny4/git-issue43.dfy.expect | 2 + Test/dafny4/git-issue76.dfy | 5 +- Test/dafny4/git-issue76.dfy.expect | 7 + Test/dafny4/git-issue79.dfy | 3 +- Test/dafny4/git-issue79.dfy.expect | 2 + Test/dafny4/git-issue88.dfy | 3 +- Test/dafny4/git-issue88.dfy.expect | 2 + Test/exceptions/Exceptions1.dfy | 3 +- Test/exceptions/Exceptions1.dfy.expect | 2 + Test/exceptions/Exceptions1Expressions.dfy | 3 +- .../Exceptions1Expressions.dfy.expect | 2 + Test/exports/FIFO.dfy | 3 +- Test/exports/FIFO.dfy.expect | 2 + Test/exports/LIFO.dfy | 3 +- Test/exports/LIFO.dfy.expect | 2 + Test/exports/xrefine2.dfy | 3 +- Test/exports/xrefine2.dfy.expect | 2 + Test/exports/xrefine3.dfy | 3 +- Test/exports/xrefine3.dfy.expect | 2 + Test/git-issues/git-issue-032.dfy | 7 +- Test/git-issues/git-issue-032.dfy.expect | 37 ++ .../git-issue-032.dfy.verifier.expect | 3 - Test/git-issues/git-issue-1029.dfy | 3 +- Test/git-issues/git-issue-1029.dfy.expect | 2 + Test/git-issues/git-issue-1093.dfy | 8 +- Test/git-issues/git-issue-1093.dfy.expect | 16 + Test/git-issues/git-issue-1130.dfy | 3 +- Test/git-issues/git-issue-1130.dfy.expect | 2 + Test/git-issues/git-issue-1150.dfy | 3 +- Test/git-issues/git-issue-1150.dfy.expect | 2 + Test/git-issues/git-issue-1185.dfy | 8 +- Test/git-issues/git-issue-1185.dfy.expect | 13 + .../git-issues/git-issue-1185.dfy.java.expect | 1 - Test/git-issues/git-issue-1514.dfy | 3 +- Test/git-issues/git-issue-1514.dfy.expect | 2 + Test/git-issues/git-issue-1514b.dfy | 3 +- Test/git-issues/git-issue-1514b.dfy.expect | 2 + Test/git-issues/git-issue-1514c.dfy | 5 +- Test/git-issues/git-issue-1514c.dfy.expect | 7 + Test/git-issues/git-issue-1553.dfy | 7 +- Test/git-issues/git-issue-1553.dfy.expect | 10 + Test/git-issues/git-issue-1604b.dfy | 3 +- Test/git-issues/git-issue-1604b.dfy.expect | 2 + Test/git-issues/git-issue-1714.dfy | 3 +- Test/git-issues/git-issue-1714.dfy.expect | 2 + Test/git-issues/git-issue-1815a.dfy | 8 +- Test/git-issues/git-issue-1815a.dfy.expect | 16 + Test/git-issues/git-issue-1852.dfy | 5 +- Test/git-issues/git-issue-1852.dfy.expect | 7 + Test/git-issues/git-issue-1903.dfy | 3 +- Test/git-issues/git-issue-1903.dfy.expect | 2 + Test/git-issues/git-issue-1909.dfy | 3 +- Test/git-issues/git-issue-1909.dfy.expect | 2 + Test/git-issues/git-issue-2013.dfy | 8 +- Test/git-issues/git-issue-2013.dfy.expect | 52 ++ Test/git-issues/git-issue-2441.dfy | 5 +- Test/git-issues/git-issue-2441.dfy.expect | 6 + Test/git-issues/git-issue-2510.dfy | 3 +- Test/git-issues/git-issue-2510.dfy.expect | 2 + Test/git-issues/git-issue-2608.dfy | 3 +- Test/git-issues/git-issue-2608.dfy.expect | 2 + Test/git-issues/git-issue-262.dfy | 7 +- Test/git-issues/git-issue-262.dfy.expect | 18 + Test/git-issues/git-issue-262.dfy.go.expect | 2 - Test/git-issues/git-issue-262.dfy.java.expect | 2 - Test/git-issues/git-issue-262.dfy.js.expect | 6 - Test/git-issues/git-issue-267.dfy | 7 +- Test/git-issues/git-issue-267.dfy.expect | 13 + Test/git-issues/git-issue-2672.dfy | 8 +- Test/git-issues/git-issue-2672.dfy.expect | 44 ++ Test/git-issues/git-issue-2726a.dfy | 3 +- Test/git-issues/git-issue-2726a.dfy.expect | 2 + Test/git-issues/git-issue-2733.dfy | 9 +- Test/git-issues/git-issue-2733.dfy.expect | 14 + Test/git-issues/git-issue-2792.dfy | 3 +- Test/git-issues/git-issue-2792.dfy.expect | 2 + Test/git-issues/git-issue-283.dfy | 7 +- Test/git-issues/git-issue-283.dfy.expect | 13 + Test/git-issues/git-issue-283d.dfy | 7 +- Test/git-issues/git-issue-283d.dfy.expect | 10 + Test/git-issues/git-issue-314.dfy | 7 +- Test/git-issues/git-issue-314.dfy.expect | 10 + Test/git-issues/git-issue-332.dfy | 3 +- Test/git-issues/git-issue-332.dfy.expect | 2 + Test/git-issues/git-issue-354.dfy | 7 +- Test/git-issues/git-issue-354.dfy.expect | 22 + Test/git-issues/git-issue-356.dfy | 8 +- Test/git-issues/git-issue-356.dfy.expect | 36 ++ Test/git-issues/git-issue-364.dfy | 3 +- Test/git-issues/git-issue-364.dfy.expect | 2 + Test/git-issues/git-issue-374.dfy | 7 +- Test/git-issues/git-issue-374.dfy.expect | 10 + Test/git-issues/git-issue-396.dfy | 6 +- Test/git-issues/git-issue-396.dfy.expect | 11 + Test/git-issues/git-issue-4007.dfy | 5 +- Test/git-issues/git-issue-4007.dfy.expect | 3 + .../git-issue-4007.dfy.verifier.expect | 1 - Test/git-issues/git-issue-4012.dfy | 5 +- Test/git-issues/git-issue-4012.dfy.expect | 2 + Test/git-issues/git-issue-425.dfy | 7 +- Test/git-issues/git-issue-425.dfy.expect | 16 + Test/git-issues/git-issue-443.dfy | 3 +- Test/git-issues/git-issue-443.dfy.expect | 2 + Test/git-issues/git-issue-446.dfy | 7 +- Test/git-issues/git-issue-446.dfy.expect | 19 + Test/git-issues/git-issue-446a.dfy | 7 +- Test/git-issues/git-issue-446a.dfy.expect | 19 + Test/git-issues/git-issue-446b.dfy | 7 +- Test/git-issues/git-issue-446b.dfy.expect | 25 + Test/git-issues/git-issue-478-good.dfy | 3 +- Test/git-issues/git-issue-478-good.dfy.expect | 2 + Test/git-issues/git-issue-506.dfy | 6 +- Test/git-issues/git-issue-506.dfy.expect | 26 + Test/git-issues/git-issue-532.dfy | 7 +- Test/git-issues/git-issue-532.dfy.expect | 19 + Test/git-issues/git-issue-549.dfy | 5 +- Test/git-issues/git-issue-549.dfy.expect | 8 + Test/git-issues/git-issue-622$f.dfy | 3 +- Test/git-issues/git-issue-622$f.dfy.expect | 2 + Test/git-issues/git-issue-684.dfy | 7 +- Test/git-issues/git-issue-684.dfy.expect | 10 + Test/git-issues/git-issue-686.dfy | 7 +- Test/git-issues/git-issue-686.dfy.expect | 23 + .../git-issue-686.dfy.verifier.expect | 2 - Test/git-issues/git-issue-697.dfy | 3 +- Test/git-issues/git-issue-697.dfy.expect | 2 + Test/git-issues/git-issue-697b.dfy | 3 +- Test/git-issues/git-issue-697b.dfy.expect | 2 + Test/git-issues/git-issue-697d.dfy | 3 +- Test/git-issues/git-issue-697d.dfy.expect | 2 + Test/git-issues/git-issue-697e.dfy | 3 +- Test/git-issues/git-issue-697e.dfy.expect | 2 + Test/git-issues/git-issue-697f.dfy | 3 +- Test/git-issues/git-issue-697f.dfy.expect | 2 + Test/git-issues/git-issue-697g.dfy | 3 +- Test/git-issues/git-issue-697g.dfy.expect | 2 + Test/git-issues/git-issue-698.dfy | 5 +- Test/git-issues/git-issue-698.dfy.expect | 7 + Test/git-issues/git-issue-698b.dfy | 5 +- Test/git-issues/git-issue-698b.dfy.expect | 2 + Test/git-issues/git-issue-701.dfy | 7 +- Test/git-issues/git-issue-701.dfy.expect | 19 + Test/git-issues/git-issue-705.dfy | 7 +- Test/git-issues/git-issue-705.dfy.expect | 13 + Test/git-issues/git-issue-731.dfy | 7 +- Test/git-issues/git-issue-731.dfy.expect | 16 + Test/git-issues/git-issue-731b.dfy | 7 +- Test/git-issues/git-issue-731b.dfy.expect | 13 + Test/git-issues/git-issue-784.dfy | 7 +- Test/git-issues/git-issue-784.dfy.expect | 10 + Test/git-issues/git-issue-953.dfy | 8 +- Test/git-issues/git-issue-953.dfy.expect | 36 ++ Test/git-issues/github-issue-3343.dfy | 3 +- Test/git-issues/github-issue-3343.dfy.expect | 2 + Test/hofs/Compilation.dfy | 3 +- Test/hofs/Compilation.dfy.expect | 2 + Test/hofs/Examples.dfy | 3 +- Test/hofs/Examples.dfy.expect | 2 + Test/hofs/Fold.dfy | 3 +- Test/hofs/Fold.dfy.expect | 2 + Test/hofs/Renaming.dfy | 3 +- Test/hofs/Renaming.dfy.expect | 2 + Test/hofs/Requires.dfy | 3 +- Test/hofs/Requires.dfy.expect | 2 + Test/hofs/TreeMapSimple.dfy | 3 +- Test/hofs/TreeMapSimple.dfy.expect | 2 + Test/hofs/VectorUpdate.dfy | 3 +- Test/hofs/VectorUpdate.dfy.expect | 2 + Test/hofs/WhileLoop.dfy | 3 +- Test/hofs/WhileLoop.dfy.expect | 2 + Test/metatests/OutputEncoding.dfy | 8 +- Test/metatests/OutputEncoding.dfy.expect | 16 + Test/patterns/OrPatterns.dfy | 3 +- Test/patterns/OrPatterns.dfy.expect | 2 + Test/patterns/PatternMatching.dfy | 5 +- Test/patterns/PatternMatching.dfy.expect | 3 + .../PatternMatching.dfy.verifier.expect | 1 - Test/traits/TraitCompile.dfy | 10 +- Test/traits/TraitCompile.dfy.expect | 256 ++++++++ Test/traits/TraitExample.dfy | 3 +- Test/traits/TraitExample.dfy.expect | 2 + Test/traits/Traits-Fields.dfy | 3 +- Test/traits/Traits-Fields.dfy.expect | 2 + Test/traits/TraitsMultipleInheritance.dfy | 3 +- .../TraitsMultipleInheritance.dfy.expect | 2 + Test/unicodechars/comp/Collections.dfy | 9 +- Test/unicodechars/comp/Collections.dfy.expect | 512 ++++++++++++++++ .../comp/Collections.dfy.go.expect | 125 ---- .../comp/Collections.dfy.java.expect | 125 ---- .../comp/Collections.dfy.js.expect | 125 ---- .../comp/Collections.dfy.py.expect | 125 ---- Test/unicodechars/comp/Comprehensions.dfy | 11 +- .../comp/Comprehensions.dfy.expect | 260 ++++++++ .../comp/Comprehensions.dfy.py.expect | 62 -- Test/unicodechars/comp/NativeNumbers.dfy | 9 +- .../comp/NativeNumbers.dfy.expect | 256 ++++++++ Test/unicodechars/comp/Numbers.dfy | 11 +- Test/unicodechars/comp/Numbers.dfy.expect | 456 ++++++++++++++ Test/unicodechars/comp/Numbers.dfy.go.expect | 111 ---- Test/unicodechars/comp/Numbers.dfy.py.expect | 111 ---- 469 files changed, 8689 insertions(+), 2165 deletions(-) delete mode 100644 Test/comp/Arrays.dfy.go.expect delete mode 100644 Test/comp/Collections.dfy.go.expect delete mode 100644 Test/comp/Collections.dfy.java.expect delete mode 100644 Test/comp/Collections.dfy.js.expect delete mode 100644 Test/comp/Collections.dfy.py.expect delete mode 100644 Test/comp/Comprehensions.dfy.py.expect delete mode 100644 Test/comp/ComprehensionsNewSyntax.dfy.py.expect delete mode 100644 Test/comp/Datatype.dfy.java.expect delete mode 100644 Test/comp/Datatype.dfy.py.expect delete mode 100644 Test/comp/Numbers.dfy.go.expect delete mode 100644 Test/comp/Numbers.dfy.py.expect delete mode 100644 Test/comp/Poly.dfy.go.expect delete mode 100644 Test/comp/Poly.dfy.py.expect delete mode 100644 Test/comp/TypeParams.dfy.go.expect delete mode 100644 Test/comp/TypeParams.dfy.java.expect delete mode 100644 Test/comp/TypeParams.dfy.js.expect delete mode 100644 Test/comp/TypeParams.dfy.py.expect delete mode 100644 Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect delete mode 100644 Test/dafny0/Deprecation.dfy.verifier.expect delete mode 100644 Test/dafny0/DiscoverBounds.dfy.verifier.expect delete mode 100644 Test/dafny0/DividedConstructors.dfy.verifier.expect delete mode 100644 Test/dafny0/ForallCompilationNewSyntax.dfy.verifier.expect delete mode 100644 Test/dafny0/NullComparisonWarnings.dfy.verifier.expect delete mode 100644 Test/dafny0/TypeMembers.dfy.verifier.expect delete mode 100644 Test/dafny0/Wellfounded.dfy.verifier.expect delete mode 100644 Test/dafny2/SmallestMissingNumber-functional.dfy.verifier.expect delete mode 100644 Test/dafny2/StoreAndRetrieve.dfy.verifier.expect delete mode 100644 Test/dafny3/CachedContainer.dfy.verifier.expect delete mode 100644 Test/dafny4/Ackermann.dfy.verifier.expect delete mode 100644 Test/dafny4/ClassRefinement.dfy.verifier.expect delete mode 100644 Test/git-issues/git-issue-032.dfy.verifier.expect delete mode 100644 Test/git-issues/git-issue-1185.dfy.java.expect delete mode 100644 Test/git-issues/git-issue-262.dfy.go.expect delete mode 100644 Test/git-issues/git-issue-262.dfy.java.expect delete mode 100644 Test/git-issues/git-issue-262.dfy.js.expect delete mode 100644 Test/git-issues/git-issue-4007.dfy.verifier.expect delete mode 100644 Test/git-issues/git-issue-686.dfy.verifier.expect delete mode 100644 Test/patterns/PatternMatching.dfy.verifier.expect delete mode 100644 Test/unicodechars/comp/Collections.dfy.go.expect delete mode 100644 Test/unicodechars/comp/Collections.dfy.java.expect delete mode 100644 Test/unicodechars/comp/Collections.dfy.js.expect delete mode 100644 Test/unicodechars/comp/Collections.dfy.py.expect delete mode 100644 Test/unicodechars/comp/Comprehensions.dfy.py.expect delete mode 100644 Test/unicodechars/comp/Numbers.dfy.go.expect delete mode 100644 Test/unicodechars/comp/Numbers.dfy.py.expect diff --git a/Test/VerifyThis2015/Problem1.dfy b/Test/VerifyThis2015/Problem1.dfy index ab227e1ab85..20bd154ab8d 100644 --- a/Test/VerifyThis2015/Problem1.dfy +++ b/Test/VerifyThis2015/Problem1.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Rustan Leino // 12 April 2015 diff --git a/Test/VerifyThis2015/Problem1.dfy.expect b/Test/VerifyThis2015/Problem1.dfy.expect index 9e8a46acf90..110dd45761d 100644 --- a/Test/VerifyThis2015/Problem1.dfy.expect +++ b/Test/VerifyThis2015/Problem1.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 18 verified, 0 errors true true false diff --git a/Test/VerifyThis2015/Problem2.dfy b/Test/VerifyThis2015/Problem2.dfy index 9b57395e68b..7466df6d410 100644 --- a/Test/VerifyThis2015/Problem2.dfy +++ b/Test/VerifyThis2015/Problem2.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Rustan Leino // 13 April 2015, and many subsequent enhancements and revisions diff --git a/Test/VerifyThis2015/Problem2.dfy.expect b/Test/VerifyThis2015/Problem2.dfy.expect index e69de29bb2d..b49c1470365 100644 --- a/Test/VerifyThis2015/Problem2.dfy.expect +++ b/Test/VerifyThis2015/Problem2.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 32 verified, 0 errors diff --git a/Test/VerifyThis2015/Problem3.dfy b/Test/VerifyThis2015/Problem3.dfy index 1348acf0f4d..3be60b5d81a 100644 --- a/Test/VerifyThis2015/Problem3.dfy +++ b/Test/VerifyThis2015/Problem3.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Rustan Leino // 12 April 2015 // VerifyThis 2015 diff --git a/Test/VerifyThis2015/Problem3.dfy.expect b/Test/VerifyThis2015/Problem3.dfy.expect index e69de29bb2d..4bb1c2c7251 100644 --- a/Test/VerifyThis2015/Problem3.dfy.expect +++ b/Test/VerifyThis2015/Problem3.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 18 verified, 0 errors diff --git a/Test/c++/arrays.dfy b/Test/c++/arrays.dfy index a02b57e5ff8..47140146468 100644 --- a/Test/c++/arrays.dfy +++ b/Test/c++/arrays.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/arrays.dfy.expect b/Test/c++/arrays.dfy.expect index 2ce9320d8c2..552f9355593 100644 --- a/Test/c++/arrays.dfy.expect +++ b/Test/c++/arrays.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 9 verified, 0 errors 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/c++/bit-vectors.dfy b/Test/c++/bit-vectors.dfy index d27469e4ca5..b7f5d35df07 100644 --- a/Test/c++/bit-vectors.dfy +++ b/Test/c++/bit-vectors.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint64 = i:int | 0 <= i < 0x10000000000000000 diff --git a/Test/c++/bit-vectors.dfy.expect b/Test/c++/bit-vectors.dfy.expect index c491236b12b..e327aa2f73b 100644 --- a/Test/c++/bit-vectors.dfy.expect +++ b/Test/c++/bit-vectors.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 6 verified, 0 errors 084841024 diff --git a/Test/c++/class.dfy b/Test/c++/class.dfy index b10d703c981..3039bd0466b 100644 --- a/Test/c++/class.dfy +++ b/Test/c++/class.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/class.dfy.expect b/Test/c++/class.dfy.expect index 80f1587d0a2..93717ecfa9e 100644 --- a/Test/c++/class.dfy.expect +++ b/Test/c++/class.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 16 verified, 0 errors true true false 103 102 102 106 105 105 203 17 0 18 8 9 69 70 diff --git a/Test/c++/const.dfy b/Test/c++/const.dfy index 1bfb79f0361..5ab9a62e0e9 100644 --- a/Test/c++/const.dfy +++ b/Test/c++/const.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" module Holder { const x:bool := false diff --git a/Test/c++/const.dfy.expect b/Test/c++/const.dfy.expect index e69de29bb2d..823a60a105c 100644 --- a/Test/c++/const.dfy.expect +++ b/Test/c++/const.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 1 verified, 0 errors diff --git a/Test/c++/datatypes.dfy b/Test/c++/datatypes.dfy index f56b7907cc3..9d077b97575 100644 --- a/Test/c++/datatypes.dfy +++ b/Test/c++/datatypes.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/datatypes.dfy.expect b/Test/c++/datatypes.dfy.expect index c122f5af791..efa71b43546 100644 --- a/Test/c++/datatypes.dfy.expect +++ b/Test/c++/datatypes.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 12 verified, 0 errors Case A: 42 Case B: true This is expected diff --git a/Test/c++/generic.dfy b/Test/c++/generic.dfy index 374c545b9c1..7995928f93f 100644 --- a/Test/c++/generic.dfy +++ b/Test/c++/generic.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" class Test { var t:T diff --git a/Test/c++/generic.dfy.expect b/Test/c++/generic.dfy.expect index e69de29bb2d..00a51f822da 100644 --- a/Test/c++/generic.dfy.expect +++ b/Test/c++/generic.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 3 verified, 0 errors diff --git a/Test/c++/hello.dfy b/Test/c++/hello.dfy index 523d3152209..c887337c7e1 100644 --- a/Test/c++/hello.dfy +++ b/Test/c++/hello.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { print "Hello world\n"; diff --git a/Test/c++/hello.dfy.expect b/Test/c++/hello.dfy.expect index 802992c4220..87101fec036 100644 --- a/Test/c++/hello.dfy.expect +++ b/Test/c++/hello.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 0 verified, 0 errors Hello world diff --git a/Test/c++/ints.dfy b/Test/c++/ints.dfy index 4490a54817a..cf7ae63e0da 100644 --- a/Test/c++/ints.dfy +++ b/Test/c++/ints.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype sbyte = i:int | -0x80 <= i < 0x80 newtype byte = i:int | 0 <= i < 0x100 diff --git a/Test/c++/ints.dfy.expect b/Test/c++/ints.dfy.expect index 5fcb7b811cb..aeabccf73b0 100644 --- a/Test/c++/ints.dfy.expect +++ b/Test/c++/ints.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 15 verified, 0 errors Result is z = 42 diff --git a/Test/c++/recursion.dfy b/Test/c++/recursion.dfy index 36048aab527..e255b8e6b08 100644 --- a/Test/c++/recursion.dfy +++ b/Test/c++/recursion.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/recursion.dfy.expect b/Test/c++/recursion.dfy.expect index 1ea14926e89..15dbfe2bcd1 100644 --- a/Test/c++/recursion.dfy.expect +++ b/Test/c++/recursion.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 5 verified, 0 errors x !y 3 diff --git a/Test/c++/returns.dfy b/Test/c++/returns.dfy index 9e23121d26a..1ad19a8ce83 100644 --- a/Test/c++/returns.dfy +++ b/Test/c++/returns.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint64 = i:int | 0 <= i < 0x10000000000000000 diff --git a/Test/c++/returns.dfy.expect b/Test/c++/returns.dfy.expect index 48082f72f08..8db105eaba8 100644 --- a/Test/c++/returns.dfy.expect +++ b/Test/c++/returns.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors 12 diff --git a/Test/c++/seqs.dfy b/Test/c++/seqs.dfy index 903208b07f8..f97a42b2851 100644 --- a/Test/c++/seqs.dfy +++ b/Test/c++/seqs.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint8 = i:int | 0 <= i < 0x100 newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/seqs.dfy.expect b/Test/c++/seqs.dfy.expect index 16f5f9d22ea..23f01695bc9 100644 --- a/Test/c++/seqs.dfy.expect +++ b/Test/c++/seqs.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 11 verified, 0 errors Head second:2 Trunc first:2 Head trunc: This is expected diff --git a/Test/c++/sets.dfy b/Test/c++/sets.dfy index 10e2fe0501d..5bfb6f80f1e 100644 --- a/Test/c++/sets.dfy +++ b/Test/c++/sets.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/sets.dfy.expect b/Test/c++/sets.dfy.expect index 52a1e67717e..1c8ede8765e 100644 --- a/Test/c++/sets.dfy.expect +++ b/Test/c++/sets.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 8 verified, 0 errors Identity: This is expected ValuesIdentity: This is expected DiffIdentity: This is expected diff --git a/Test/c++/while.dfy b/Test/c++/while.dfy index 0c0d7ee98df..40dc4699d11 100644 --- a/Test/c++/while.dfy +++ b/Test/c++/while.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/while.dfy.expect b/Test/c++/while.dfy.expect index 9a44de1e2a3..8dfe872ca51 100644 --- a/Test/c++/while.dfy.expect +++ b/Test/c++/while.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 2 verified, 0 errors 0 1 2 diff --git a/Test/comp/Arrays.dfy b/Test/comp/Arrays.dfy index acb4225b358..566f052e0a6 100644 --- a/Test/comp/Arrays.dfy +++ b/Test/comp/Arrays.dfy @@ -1,5 +1,10 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false +// RUN: %baredafny verify %args --relax-definite-assignment "%s" > "%t" +// RUN: %baredafny run --unicode-char:false --no-verify --target=cs %args "%s" >> "%t" +// RUN: %baredafny run --unicode-char:false --no-verify --target=js %args "%s" >> "%t" +// RUN: %baredafny run --unicode-char:false --no-verify --target=go %args "%s" >> "%t" +// RUN: %baredafny run --unicode-char:false --no-verify --target=java %args "%s" >> "%t" +// RUN: %baredafny run --unicode-char:false --no-verify --target=py %args "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method LinearSearch(a: array, key: int) returns (n: nat) ensures 0 <= n <= a.Length diff --git a/Test/comp/Arrays.dfy.expect b/Test/comp/Arrays.dfy.expect index ef3b884f98a..8559e2f3c5c 100644 --- a/Test/comp/Arrays.dfy.expect +++ b/Test/comp/Arrays.dfy.expect @@ -1,3 +1,399 @@ + +Dafny program verifier finished with 89 verified, 0 errors + +Dafny program verifier did not attempt verification +0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 +17 +[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] +[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] +[20, 21, 22] +[0, 1, 2, 3, 4, 5, 6, 7] +[0, 1, 2, 3, 4, 5, 6, 7] +d d d +h e l l o +0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 +1 0 0 0 0 +0 1 0 0 0 +0 0 1 0 0 +cube dims: 3 0 4 +[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] +It's null +hi hello tjena hej hola +hi hello tjena hej hola +hi hello tjena hej hola +d d d +h e l l o +8 8 8 8 +true true true +1 1 1 1 1 +2 2 2 2 2 +3 3 3 3 3 +4 4 4 4 4 +(d, 8, true, 1, 2, 3, 4) +D D D +0 0 0 0 +false false false +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +(D, 0, false, 0, 0, 0, 0) +8 0 +false 0 null null +8 8 +8 8 +8 8 +8 8 +D D D +D D D +D D D +D D r (D, D, r) +D D r +[19, 18, 9, 8] + true + false + true + false + false + false + true + true + false + true + false + true + true + false +hello there +false false +true true +false false +false false +uninitialized bytes: array[0, 0, 0] +bytes from display: array[7, 8, 9] +bytes from lambda: array[20, 21, 22] +uninitialized 1bytes: array[1, 1, 1] +1bytes from display: array[7, 8, 9] +1bytes from lambda: array[20, 21, 22] +17 19 18 20 +100 200 300 120 38 +hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +DDDDDabcdeabcdeggggg +DDDDDabcdeabcdeggggg +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] +DDDDDDDDDDagggggaggg +0 69 50 +0 69 50 +D k n +false false +true true +false false +false false +true true + +Dafny program verifier did not attempt verification +0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 +17 +[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] +[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] +[20, 21, 22] +[0, 1, 2, 3, 4, 5, 6, 7] +[0, 1, 2, 3, 4, 5, 6, 7] +d d d +h e l l o +0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 +1 0 0 0 0 +0 1 0 0 0 +0 0 1 0 0 +cube dims: 3 0 4 +[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] +It's null +hi hello tjena hej hola +hi hello tjena hej hola +hi hello tjena hej hola +d d d +h e l l o +8 8 8 8 +true true true +1 1 1 1 1 +2 2 2 2 2 +3 3 3 3 3 +4 4 4 4 4 +(d, 8, true, 1, 2, 3, 4) +D D D +0 0 0 0 +false false false +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +(D, 0, false, 0, 0, 0, 0) +8 0 +false 0 null null +8 8 +8 8 +8 8 +8 8 +D D D +D D D +D D D +D D r (D, D, r) +D D r +[19, 18, 9, 8] + true + false + true + false + false + false + true + true + false + true + false + true + true + false +hello there +false false +true true +false false +false false +uninitialized bytes: array[0, 0, 0] +bytes from display: array[7, 8, 9] +bytes from lambda: array[20, 21, 22] +uninitialized 1bytes: array[1, 1, 1] +1bytes from display: array[7, 8, 9] +1bytes from lambda: array[20, 21, 22] +17 19 18 20 +100 200 300 120 38 +hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +DDDDDabcdeabcdeggggg +DDDDDabcdeabcdeggggg +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] +DDDDDDDDDDagggggaggg +0 69 50 +0 69 50 +D k n +false false +true true +false false +false false +true true + +Dafny program verifier did not attempt verification +0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 +17 +[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] +[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] +[20, 21, 22] +[0, 1, 2, 3, 4, 5, 6, 7] +[0, 1, 2, 3, 4, 5, 6, 7] +d d d +h e l l o +0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 +1 0 0 0 0 +0 1 0 0 0 +0 0 1 0 0 +cube dims: 3 0 4 +[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] +It's null +hi hello tjena hej hola +hi hello tjena hej hola +hi hello tjena hej hola +d d d +h e l l o +8 8 8 8 +true true true +1 1 1 1 1 +2 2 2 2 2 +3 3 3 3 3 +4 4 4 4 4 +(d, 8, true, 1, 2, 3, 4) +D D D +0 0 0 0 +false false false +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +(D, 0, false, 0, 0, 0, 0) +8 0 +false 0 null null +8 8 +8 8 +8 8 +8 8 +D D D +D D D +D D D +D D r (D, D, r) +D D r +[19, 18, 9, 8] + true + false + true + false + false + false + true + true + false + true + false + true + true + false +hello there +false false +true true +false false +false false +uninitialized bytes: array[0, 0, 0] +bytes from display: array[7, 8, 9] +bytes from lambda: array[20, 21, 22] +uninitialized 1bytes: array[1, 1, 1] +1bytes from display: array[7, 8, 9] +1bytes from lambda: array[20, 21, 22] +17 19 18 20 +100 200 300 120 38 +hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +DDDDDabcdeabcdeggggg +DDDDDabcdeabcdeggggg +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] +[D, D, D, D, D, D, D, D, D, D, a, g, g, g, g, g, a, g, g, g] +0 69 50 +0 69 50 +D k n +false false +true true +false false +false false +true true + +Dafny program verifier did not attempt verification +0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 +17 +[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] +[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] +[20, 21, 22] +[0, 1, 2, 3, 4, 5, 6, 7] +[0, 1, 2, 3, 4, 5, 6, 7] +d d d +h e l l o +0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 +1 0 0 0 0 +0 1 0 0 0 +0 0 1 0 0 +cube dims: 3 0 4 +[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] +It's null +hi hello tjena hej hola +hi hello tjena hej hola +hi hello tjena hej hola +d d d +h e l l o +8 8 8 8 +true true true +1 1 1 1 1 +2 2 2 2 2 +3 3 3 3 3 +4 4 4 4 4 +(d, 8, true, 1, 2, 3, 4) +D D D +0 0 0 0 +false false false +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +(D, 0, false, 0, 0, 0, 0) +8 0 +false 0 null null +8 8 +8 8 +8 8 +8 8 +D D D +D D D +D D D +D D r (D, D, r) +D D r +[19, 18, 9, 8] + true + false + true + false + false + false + true + true + false + true + false + true + true + false +hello there +false false +true true +false false +false false +uninitialized bytes: array[0, 0, 0] +bytes from display: array[7, 8, 9] +bytes from lambda: array[20, 21, 22] +uninitialized 1bytes: array[1, 1, 1] +1bytes from display: array[7, 8, 9] +1bytes from lambda: array[20, 21, 22] +17 19 18 20 +100 200 300 120 38 +hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +DDDDDabcdeabcdeggggg +DDDDDabcdeabcdeggggg +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] +DDDDDDDDDDagggggaggg +0 69 50 +0 69 50 +D k n +false false +true true +false false +false false +true true + +Dafny program verifier did not attempt verification 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/comp/Arrays.dfy.go.expect b/Test/comp/Arrays.dfy.go.expect deleted file mode 100644 index 1217623d90c..00000000000 --- a/Test/comp/Arrays.dfy.go.expect +++ /dev/null @@ -1,96 +0,0 @@ -0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 -17 -[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] -[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] -[20, 21, 22] -[0, 1, 2, 3, 4, 5, 6, 7] -[0, 1, 2, 3, 4, 5, 6, 7] -d d d -h e l l o -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -1 0 0 0 0 -0 1 0 0 0 -0 0 1 0 0 -cube dims: 3 0 4 -[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] -It's null -hi hello tjena hej hola -hi hello tjena hej hola -hi hello tjena hej hola -d d d -h e l l o -8 8 8 8 -true true true -1 1 1 1 1 -2 2 2 2 2 -3 3 3 3 3 -4 4 4 4 4 -(d, 8, true, 1, 2, 3, 4) -D D D -0 0 0 0 -false false false -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -(D, 0, false, 0, 0, 0, 0) -8 0 -false 0 null null -8 8 -8 8 -8 8 -8 8 -D D D -D D D -D D D -D D r (D, D, r) -D D r -[19, 18, 9, 8] - true - false - true - false - false - false - true - true - false - true - false - true - true - false -hello there -false false -true true -false false -false false -uninitialized bytes: array[0, 0, 0] -bytes from display: array[7, 8, 9] -bytes from lambda: array[20, 21, 22] -uninitialized 1bytes: array[1, 1, 1] -1bytes from display: array[7, 8, 9] -1bytes from lambda: array[20, 21, 22] -17 19 18 20 -100 200 300 120 38 -hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -DDDDDabcdeabcdeggggg -DDDDDabcdeabcdeggggg -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] -[D, D, D, D, D, D, D, D, D, D, a, g, g, g, g, g, a, g, g, g] -0 69 50 -0 69 50 -D k n -false false -true true -false false -false false -true true diff --git a/Test/comp/AsIs-Compile.dfy b/Test/comp/AsIs-Compile.dfy index 319847564e2..47084ed7633 100644 --- a/Test/comp/AsIs-Compile.dfy +++ b/Test/comp/AsIs-Compile.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" +// RUN: %baredafny verify %args "%s" > "%t" +// RUN: %baredafny run --no-verify -t=cs %args "%s" >> "%t" +// RUN: %baredafny run --no-verify -t=js %args "%s" >> "%t" +// RUN: %baredafny run --no-verify -t=go %args "%s" >> "%t" +// RUN: %baredafny run --no-verify -t=java %args "%s" >> "%t" +// RUN: %baredafny run --no-verify -t=py %args "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var a: A, b: B, c: C, k: K, l: L := new M, new M, new M, new K, new L; diff --git a/Test/comp/AsIs-Compile.dfy.expect b/Test/comp/AsIs-Compile.dfy.expect index acc78c6e155..36dfe46e91d 100644 --- a/Test/comp/AsIs-Compile.dfy.expect +++ b/Test/comp/AsIs-Compile.dfy.expect @@ -1,3 +1,163 @@ + +Dafny program verifier finished with 6 verified, 0 errors + +Dafny program verifier did not attempt verification +true true true true true +true true true true true +IsComparisons ---- +false true false false + true false false + true false +false false true false + false true false + false false +false false false true + false false true + false true +false true false false + false true false + false false +true true +false true +TestNullIs ---- +true true +true true +true true true true true true +true true true true true true +true true true true true true +true true true true true true +true true +false true +true true true true true true +false true false true false true +true true true true true true +false true false true false true +TestFromTraits ---- +5 +0 +4 +4 +4 +4 + +Dafny program verifier did not attempt verification +true true true true true +true true true true true +IsComparisons ---- +false true false false + true false false + true false +false false true false + false true false + false false +false false false true + false false true + false true +false true false false + false true false + false false +true true +false true +TestNullIs ---- +true true +true true +true true true true true true +true true true true true true +true true true true true true +true true true true true true +true true +false true +true true true true true true +false true false true false true +true true true true true true +false true false true false true +TestFromTraits ---- +5 +0 +4 +4 +4 +4 + +Dafny program verifier did not attempt verification +true true true true true +true true true true true +IsComparisons ---- +false true false false + true false false + true false +false false true false + false true false + false false +false false false true + false false true + false true +false true false false + false true false + false false +true true +false true +TestNullIs ---- +true true +true true +true true true true true true +true true true true true true +true true true true true true +true true true true true true +true true +false true +true true true true true true +false true false true false true +true true true true true true +false true false true false true +TestFromTraits ---- +5 +0 +4 +4 +4 +4 + +Dafny program verifier did not attempt verification +true true true true true +true true true true true +IsComparisons ---- +false true false false + true false false + true false +false false true false + false true false + false false +false false false true + false false true + false true +false true false false + false true false + false false +true true +false true +TestNullIs ---- +true true +true true +true true true true true true +true true true true true true +true true true true true true +true true true true true true +true true +false true +true true true true true true +false true false true false true +true true true true true true +false true false true false true +TestFromTraits ---- +5 +0 +4 +4 +4 +4 + +Dafny program verifier did not attempt verification true true true true true true true true true true IsComparisons ---- diff --git a/Test/comp/AutoInit.dfy b/Test/comp/AutoInit.dfy index c0e752efa36..b284619a80c 100644 --- a/Test/comp/AutoInit.dfy +++ b/Test/comp/AutoInit.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // This file tests the compilation of some default values. It also includes some // regression tests for equality, printing, and tuples. diff --git a/Test/comp/AutoInit.dfy.expect b/Test/comp/AutoInit.dfy.expect index e68e2e43764..51533cc6d5e 100644 --- a/Test/comp/AutoInit.dfy.expect +++ b/Test/comp/AutoInit.dfy.expect @@ -1,3 +1,163 @@ + +Dafny program verifier finished with 21 verified, 0 errors + +Dafny program verifier did not attempt verification +3 false 0 +false false true +() (0, false, false, []) +(null, 0) (null, 0) true +(null, null, null, 0) (null, null, null, 0) true +true false false true +true false false true +17 +1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or +(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) +1 +ww == null -- yes, as expected +true true true true +true true true +true true true +null null +null null +null null null +null null null +null null null +null null null +null null +null null null +null null null +DatatypeDefaultValues.EnumDatatype.MakeZero + DatatypeDefaultValues.IntList.Nil + 0 +DatatypeDefaultValues.GenericTree.Leaf + DatatypeDefaultValues.Complicated.ComplA(0, false) + DatatypeDefaultValues.CellCell.MakeCellCell(0) +null + null +Library.Color.Red(0) and Library.Color.Red(0) +Library.CoColor.Yellow and Library.CoColor.Yellow +Library.MoColor.MoYellow and Library.MoColor.MoYellow +0.0 and 0.0 +13 + +Dafny program verifier did not attempt verification +3 false 0 +false false true +() (0, false, false, []) +(null, 0) (null, 0) true +(null, null, null, 0) (null, null, null, 0) true +true false false true +true false false true +17 +1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or +(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) +1 +ww == null -- yes, as expected +true true true true +true true true +true true true +null null +null null +null null null +null null null +null null null +null null null +null null +null null null +null null null +DatatypeDefaultValues.EnumDatatype.MakeZero + DatatypeDefaultValues.IntList.Nil + 0 +DatatypeDefaultValues.GenericTree.Leaf + DatatypeDefaultValues.Complicated.ComplA(0, false) + DatatypeDefaultValues.CellCell.MakeCellCell(0) +null + null +Library.Color.Red(0) and Library.Color.Red(0) +Library.CoColor.Yellow and Library.CoColor.Yellow +Library.MoColor.MoYellow and Library.MoColor.MoYellow +0.0 and 0.0 +13 + +Dafny program verifier did not attempt verification +3 false 0 +false false true +() (0, false, false, []) +(null, 0) (null, 0) true +(null, null, null, 0) (null, null, null, 0) true +true false false true +true false false true +17 +1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or +(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) +1 +ww == null -- yes, as expected +true true true true +true true true +true true true +null null +null null +null null null +null null null +null null null +null null null +null null +null null null +null null null +DatatypeDefaultValues.EnumDatatype.MakeZero + DatatypeDefaultValues.IntList.Nil + 0 +DatatypeDefaultValues.GenericTree.Leaf + DatatypeDefaultValues.Complicated.ComplA(0, false) + DatatypeDefaultValues.CellCell.MakeCellCell(0) +null + null +Library.Color.Red(0) and Library.Color.Red(0) +Library.CoColor.Yellow and Library.CoColor.Yellow +Library.MoColor.MoYellow and Library.MoColor.MoYellow +0.0 and 0.0 +13 + +Dafny program verifier did not attempt verification +3 false 0 +false false true +() (0, false, false, []) +(null, 0) (null, 0) true +(null, null, null, 0) (null, null, null, 0) true +true false false true +true false false true +17 +1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or +(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) +1 +ww == null -- yes, as expected +true true true true +true true true +true true true +null null +null null +null null null +null null null +null null null +null null null +null null +null null null +null null null +DatatypeDefaultValues.EnumDatatype.MakeZero + DatatypeDefaultValues.IntList.Nil + 0 +DatatypeDefaultValues.GenericTree.Leaf + DatatypeDefaultValues.Complicated.ComplA(0, false) + DatatypeDefaultValues.CellCell.MakeCellCell(0) +null + null +Library.Color.Red(0) and Library.Color.Red(0) +Library.CoColor.Yellow and Library.CoColor.Yellow +Library.MoColor.MoYellow and Library.MoColor.MoYellow +0.0 and 0.0 +13 + +Dafny program verifier did not attempt verification 3 false 0 false false true () (0, false, false, []) diff --git a/Test/comp/ByMethodCompilation.dfy b/Test/comp/ByMethodCompilation.dfy index 7432f72f7d4..ea62d84b21e 100644 --- a/Test/comp/ByMethodCompilation.dfy +++ b/Test/comp/ByMethodCompilation.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var four := Four(); diff --git a/Test/comp/ByMethodCompilation.dfy.expect b/Test/comp/ByMethodCompilation.dfy.expect index d61780e3fb8..1519a955b0c 100644 --- a/Test/comp/ByMethodCompilation.dfy.expect +++ b/Test/comp/ByMethodCompilation.dfy.expect @@ -1,3 +1,35 @@ + +Dafny program verifier finished with 13 verified, 0 errors + +Dafny program verifier did not attempt verification +hello +four is 4 +Recursive(7) = 14 +NonCompilableFunction: 4 7 +Sums: 14 3 + +Dafny program verifier did not attempt verification +hello +four is 4 +Recursive(7) = 14 +NonCompilableFunction: 4 7 +Sums: 14 3 + +Dafny program verifier did not attempt verification +hello +four is 4 +Recursive(7) = 14 +NonCompilableFunction: 4 7 +Sums: 14 3 + +Dafny program verifier did not attempt verification +hello +four is 4 +Recursive(7) = 14 +NonCompilableFunction: 4 7 +Sums: 14 3 + +Dafny program verifier did not attempt verification hello four is 4 Recursive(7) = 14 diff --git a/Test/comp/Calls.dfy b/Test/comp/Calls.dfy index c56bc3e5286..4a4916aea0c 100644 --- a/Test/comp/Calls.dfy +++ b/Test/comp/Calls.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" function F(x: int, y: bool): int { x + if y then 2 else 3 diff --git a/Test/comp/Calls.dfy.expect b/Test/comp/Calls.dfy.expect index cf4e1bc155b..3317b8be164 100644 --- a/Test/comp/Calls.dfy.expect +++ b/Test/comp/Calls.dfy.expect @@ -1,3 +1,43 @@ + +Dafny program verifier finished with 6 verified, 0 errors + +Dafny program verifier did not attempt verification +5 0 0 false 0 false 0 +5 3 5 3 5 3 +5 3 5 3 5 3 +15 +[0, 1, 2, 4] +[0, 2, 4] +--> 5 <-- + +Dafny program verifier did not attempt verification +5 0 0 false 0 false 0 +5 3 5 3 5 3 +5 3 5 3 5 3 +15 +[0, 1, 2, 4] +[0, 2, 4] +--> 5 <-- + +Dafny program verifier did not attempt verification +5 0 0 false 0 false 0 +5 3 5 3 5 3 +5 3 5 3 5 3 +15 +[0, 1, 2, 4] +[0, 2, 4] +--> 5 <-- + +Dafny program verifier did not attempt verification +5 0 0 false 0 false 0 +5 3 5 3 5 3 +5 3 5 3 5 3 +15 +[0, 1, 2, 4] +[0, 2, 4] +--> 5 <-- + +Dafny program verifier did not attempt verification 5 0 0 false 0 false 0 5 3 5 3 5 3 5 3 5 3 5 3 diff --git a/Test/comp/Class.dfy b/Test/comp/Class.dfy index 23591e43450..fb994f008e7 100644 --- a/Test/comp/Class.dfy +++ b/Test/comp/Class.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" class MyClass { var a: int diff --git a/Test/comp/Class.dfy.expect b/Test/comp/Class.dfy.expect index 47e49966664..ba1482a164b 100644 --- a/Test/comp/Class.dfy.expect +++ b/Test/comp/Class.dfy.expect @@ -1,3 +1,75 @@ + +Dafny program verifier finished with 16 verified, 0 errors + +Dafny program verifier did not attempt verification +true true false +103 103 103 106 106 106 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +0 18 9 70 +0 18 9 70 +0 18 9 70 +70 +hi later +21 4 42 5 1 +TestGhostables +15 +Init called with x=15 +16 + +Dafny program verifier did not attempt verification +true true false +103 103 103 106 106 106 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +0 18 9 70 +0 18 9 70 +0 18 9 70 +70 +hi later +21 4 42 5 1 +TestGhostables +15 +Init called with x=15 +16 + +Dafny program verifier did not attempt verification +true true false +103 103 103 106 106 106 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +0 18 9 70 +0 18 9 70 +0 18 9 70 +70 +hi later +21 4 42 5 1 +TestGhostables +15 +Init called with x=15 +16 + +Dafny program verifier did not attempt verification +true true false +103 103 103 106 106 106 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +0 18 9 70 +0 18 9 70 +0 18 9 70 +70 +hi later +21 4 42 5 1 +TestGhostables +15 +Init called with x=15 +16 + +Dafny program verifier did not attempt verification true true false 103 103 103 106 106 106 203 17 0 18 8 9 69 70 diff --git a/Test/comp/Collections.dfy b/Test/comp/Collections.dfy index 9457e44b170..104eb9f90ac 100644 --- a/Test/comp/Collections.dfy +++ b/Test/comp/Collections.dfy @@ -1,5 +1,10 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { Sets(); diff --git a/Test/comp/Collections.dfy.expect b/Test/comp/Collections.dfy.expect index e705d887a7d..2361c1a88db 100644 --- a/Test/comp/Collections.dfy.expect +++ b/Test/comp/Collections.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 40 verified, 0 errors + +Dafny program verifier did not attempt verification Sets: {} {17, 82} {12, 17} cardinality: 0 2 2 union: {17, 82} {12, 17, 82} @@ -123,3 +127,511 @@ Multiset=== 1 3 |s|=2 |u|=4 1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Yellow := 21, Color.Blue := 30] +keys: {Color.Yellow, Color.Blue} +values: {21, 30} +items: {(Color.Yellow, 21), (Color.Blue, 30)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {21, 30} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/comp/Collections.dfy.go.expect b/Test/comp/Collections.dfy.go.expect deleted file mode 100644 index 309d0c550c4..00000000000 --- a/Test/comp/Collections.dfy.go.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/comp/Collections.dfy.java.expect b/Test/comp/Collections.dfy.java.expect deleted file mode 100644 index ed929a4d34c..00000000000 --- a/Test/comp/Collections.dfy.java.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Yellow := 21, Color.Blue := 30] -keys: {Color.Yellow, Color.Blue} -values: {21, 30} -items: {(Color.Yellow, 21), (Color.Blue, 30)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/comp/Collections.dfy.js.expect b/Test/comp/Collections.dfy.js.expect deleted file mode 100644 index 309d0c550c4..00000000000 --- a/Test/comp/Collections.dfy.js.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/comp/Collections.dfy.py.expect b/Test/comp/Collections.dfy.py.expect deleted file mode 100644 index 61b4217bbaf..00000000000 --- a/Test/comp/Collections.dfy.py.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {21, 30} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/comp/Comprehensions.dfy b/Test/comp/Comprehensions.dfy index 73c43b22bfa..29ac368f2c3 100644 --- a/Test/comp/Comprehensions.dfy +++ b/Test/comp/Comprehensions.dfy @@ -1,5 +1,10 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { AssignSuchThat(); diff --git a/Test/comp/Comprehensions.dfy.expect b/Test/comp/Comprehensions.dfy.expect index c9703fc9397..18159ddde0a 100644 --- a/Test/comp/Comprehensions.dfy.expect +++ b/Test/comp/Comprehensions.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 32 verified, 0 errors + +Dafny program verifier did not attempt verification x=13 y=14 x=13 y=14 b=yes true false @@ -60,3 +64,259 @@ true true [137438953474, 137438953475, 137438953476, 137438953477, 137438953479] cdefh cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[14 := 7, 12 := 6, 13 := 6] +map[18 := 14, 17 := 13, 16 := 12] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh diff --git a/Test/comp/Comprehensions.dfy.py.expect b/Test/comp/Comprehensions.dfy.py.expect deleted file mode 100644 index aeaa31fc0f3..00000000000 --- a/Test/comp/Comprehensions.dfy.py.expect +++ /dev/null @@ -1,62 +0,0 @@ -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[14 := 7, 12 := 6, 13 := 6] -map[18 := 14, 17 := 13, 16 := 12] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh diff --git a/Test/comp/ComprehensionsNewSyntax.dfy b/Test/comp/ComprehensionsNewSyntax.dfy index 6cd88aeb4f7..a324b622e8a 100644 --- a/Test/comp/ComprehensionsNewSyntax.dfy +++ b/Test/comp/ComprehensionsNewSyntax.dfy @@ -1,5 +1,10 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { Quantifier(); diff --git a/Test/comp/ComprehensionsNewSyntax.dfy.expect b/Test/comp/ComprehensionsNewSyntax.dfy.expect index b70314ff87b..408769f4b67 100644 --- a/Test/comp/ComprehensionsNewSyntax.dfy.expect +++ b/Test/comp/ComprehensionsNewSyntax.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 10 verified, 0 errors + +Dafny program verifier did not attempt verification true false true false map[12 := 6, 13 := 6, 14 := 7] @@ -32,3 +36,147 @@ false false false false true true true true false false false false true true true true + +Dafny program verifier did not attempt verification +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true + +Dafny program verifier did not attempt verification +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true + +Dafny program verifier did not attempt verification +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true + +Dafny program verifier did not attempt verification +true false +true false +map[14 := 7, 12 := 6, 13 := 6] +map[18 := 14, 17 := 13, 16 := 12] +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true diff --git a/Test/comp/ComprehensionsNewSyntax.dfy.py.expect b/Test/comp/ComprehensionsNewSyntax.dfy.py.expect deleted file mode 100644 index b19cef0ba0e..00000000000 --- a/Test/comp/ComprehensionsNewSyntax.dfy.py.expect +++ /dev/null @@ -1,34 +0,0 @@ -true false -true false -map[14 := 7, 12 := 6, 13 := 6] -map[18 := 14, 17 := 13, 16 := 12] -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true diff --git a/Test/comp/CovariantCollections.dfy b/Test/comp/CovariantCollections.dfy index 6dd73ee7fea..12301df3b09 100644 --- a/Test/comp/CovariantCollections.dfy +++ b/Test/comp/CovariantCollections.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { Sequences(); diff --git a/Test/comp/CovariantCollections.dfy.expect b/Test/comp/CovariantCollections.dfy.expect index a9d00f4a65d..e029d3abc3b 100644 --- a/Test/comp/CovariantCollections.dfy.expect +++ b/Test/comp/CovariantCollections.dfy.expect @@ -1,3 +1,223 @@ + +Dafny program verifier finished with 25 verified, 0 errors + +Dafny program verifier did not attempt verification +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17] [12, 17] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + comprehension: {82} + union: {17, 82} {12, 17, 82} + intersection: {} {17} + difference: {} {82} + subset: true false true + proper subset: true false false + membership: false true true +Multisets: {} {17, 17, 82, 82} {12, 17} + cardinality: 0 4 2 + update: {17, 17, 42, 42, 42} {12, 17, 42} + multiplicity: 2 0 20 + union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} + intersection: {} {17, 82, 82} + difference: {} {17, 82, 82} + subset: true false true + proper subset: true false false + membership: false true true +Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} + cardinality: 0 3 2 + update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} + comprehension: {17 := 12, 82 := 12} + Keys: {12, 17, 82} + Values: {17, 82} + eq: false true true + eq: true true true true true true + eq: true true true true true true + eq: true false true false true false + eq: true false true false true false + eq: true true true true true true + eq: true true true true true true +set: {20, 30} +multiset: {20, 30} +seq: [20, 30] +map: {20 := 30, 30 := 20} +true +true +1 1 +1 1 + +Dafny program verifier did not attempt verification +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17] [12, 17] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + comprehension: {82} + union: {17, 82} {12, 17, 82} + intersection: {} {17} + difference: {} {82} + subset: true false true + proper subset: true false false + membership: false true true +Multisets: {} {17, 17, 82, 82} {12, 17} + cardinality: 0 4 2 + update: {17, 17, 42, 42, 42} {12, 17, 42} + multiplicity: 2 0 20 + union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} + intersection: {} {17, 82, 82} + difference: {} {17, 82, 82} + subset: true false true + proper subset: true false false + membership: false true true +Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} + cardinality: 0 3 2 + update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} + comprehension: {17 := 12, 82 := 12} + Keys: {12, 17, 82} + Values: {17, 82} + eq: false true true + eq: true true true true true true + eq: true true true true true true + eq: true false true false true false + eq: true false true false true false + eq: true true true true true true + eq: true true true true true true +set: {20, 30} +multiset: {20, 30} +seq: [20, 30] +map: {20 := 30, 30 := 20} +true +true +1 1 +1 1 + +Dafny program verifier did not attempt verification +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17] [12, 17] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + comprehension: {82} + union: {17, 82} {12, 17, 82} + intersection: {} {17} + difference: {} {82} + subset: true false true + proper subset: true false false + membership: false true true +Multisets: {} {17, 17, 82, 82} {12, 17} + cardinality: 0 4 2 + update: {17, 17, 42, 42, 42} {12, 17, 42} + multiplicity: 2 0 20 + union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} + intersection: {} {17, 82, 82} + difference: {} {17, 82, 82} + subset: true false true + proper subset: true false false + membership: false true true +Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} + cardinality: 0 3 2 + update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} + comprehension: {17 := 12, 82 := 12} + Keys: {12, 17, 82} + Values: {17, 82} + eq: false true true + eq: true true true true true true + eq: true true true true true true + eq: true false true false true false + eq: true false true false true false + eq: true true true true true true + eq: true true true true true true +set: {20, 30} +multiset: {20, 30} +seq: [20, 30] +map: {20 := 30, 30 := 20} +true +true +1 1 +1 1 + +Dafny program verifier did not attempt verification +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17] [12, 17] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + comprehension: {82} + union: {17, 82} {12, 17, 82} + intersection: {} {17} + difference: {} {82} + subset: true false true + proper subset: true false false + membership: false true true +Multisets: {} {17, 17, 82, 82} {12, 17} + cardinality: 0 4 2 + update: {17, 17, 42, 42, 42} {12, 17, 42} + multiplicity: 2 0 20 + union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} + intersection: {} {17, 82, 82} + difference: {} {17, 82, 82} + subset: true false true + proper subset: true false false + membership: false true true +Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} + cardinality: 0 3 2 + update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} + comprehension: {17 := 12, 82 := 12} + Keys: {12, 17, 82} + Values: {17, 82} + eq: false true true + eq: true true true true true true + eq: true true true true true true + eq: true false true false true false + eq: true false true false true false + eq: true true true true true true + eq: true true true true true true +set: {20, 30} +multiset: {20, 30} +seq: [20, 30] +map: {20 := 30, 30 := 20} +true +true +1 1 +1 1 + +Dafny program verifier did not attempt verification Sequences: [] [17, 82, 17, 82] [12, 17] cardinality: 0 4 2 update: [42, 82, 17, 82] [42, 17] diff --git a/Test/comp/Datatype.dfy b/Test/comp/Datatype.dfy index 44579383e5c..2599907a94c 100644 --- a/Test/comp/Datatype.dfy +++ b/Test/comp/Datatype.dfy @@ -1,5 +1,10 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype List = Nil | Cons(head: int, tail: List) diff --git a/Test/comp/Datatype.dfy.expect b/Test/comp/Datatype.dfy.expect index 93e37a9562a..84dceeb16e6 100644 --- a/Test/comp/Datatype.dfy.expect +++ b/Test/comp/Datatype.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 12 verified, 0 errors + +Dafny program verifier did not attempt verification List.Nil List.Cons(5, List.Nil) (List.Nil, List.Cons(5, List.Nil)) @@ -20,3 +24,99 @@ Record.Record(58, true) 199 800 801 802 800 801 802 + +Dafny program verifier did not attempt verification +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) +0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) +Stream.Next +Stream.Next +{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} +CoBerry.Hjortron true true false +false +42 'q' hello +1701 +Record.Record(58, true) +199 +800 801 802 +800 801 802 + +Dafny program verifier did not attempt verification +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) +0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) +Stream.Next +Stream.Next +{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} +CoBerry.Hjortron true true false +false +42 'q' hello +1701 +Record.Record(58, true) +199 +800 801 802 +800 801 802 + +Dafny program verifier did not attempt verification +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) +0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) +Stream.Next +Stream.Next +{Berry.Jordgubb, Berry.Smultron, Berry.Hallon} +CoBerry.Hjortron true true false +false +42 'q' hello +1701 +Record.Record(58, true) +199 +800 801 802 +800 801 802 + +Dafny program verifier did not attempt verification +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) +0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) +Stream.Next +Stream.Next +{Berry.Hallon, Berry.Smultron, Berry.Jordgubb} +CoBerry.Hjortron true true false +false +42 'q' hello +1701 +Record.Record(58, true) +199 +800 801 802 +800 801 802 diff --git a/Test/comp/Datatype.dfy.java.expect b/Test/comp/Datatype.dfy.java.expect deleted file mode 100644 index e5a32fd58bc..00000000000 --- a/Test/comp/Datatype.dfy.java.expect +++ /dev/null @@ -1,22 +0,0 @@ -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) -0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) -Stream.Next -Stream.Next -{Berry.Jordgubb, Berry.Smultron, Berry.Hallon} -CoBerry.Hjortron true true false -false -42 'q' hello -1701 -Record.Record(58, true) -199 -800 801 802 -800 801 802 diff --git a/Test/comp/Datatype.dfy.py.expect b/Test/comp/Datatype.dfy.py.expect deleted file mode 100644 index 0f64b73ba2d..00000000000 --- a/Test/comp/Datatype.dfy.py.expect +++ /dev/null @@ -1,22 +0,0 @@ -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) -0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) -Stream.Next -Stream.Next -{Berry.Hallon, Berry.Smultron, Berry.Jordgubb} -CoBerry.Hjortron true true false -false -42 'q' hello -1701 -Record.Record(58, true) -199 -800 801 802 -800 801 802 diff --git a/Test/comp/DefaultParameters-Compile.dfy b/Test/comp/DefaultParameters-Compile.dfy index cd6ba1163b1..145b8670647 100644 --- a/Test/comp/DefaultParameters-Compile.dfy +++ b/Test/comp/DefaultParameters-Compile.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method M(x: int := 16) { print x, "\n"; diff --git a/Test/comp/DefaultParameters-Compile.dfy.expect b/Test/comp/DefaultParameters-Compile.dfy.expect index b4b87321eb5..b94739d5be1 100644 --- a/Test/comp/DefaultParameters-Compile.dfy.expect +++ b/Test/comp/DefaultParameters-Compile.dfy.expect @@ -1,3 +1,51 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification +12 +16 +1 2 +1 3 +10 20 +11 13 +Color.Blue(2, 1) Color.Red(3, 4) +5 5 6 +6 6 7 + +Dafny program verifier did not attempt verification +12 +16 +1 2 +1 3 +10 20 +11 13 +Color.Blue(2, 1) Color.Red(3, 4) +5 5 6 +6 6 7 + +Dafny program verifier did not attempt verification +12 +16 +1 2 +1 3 +10 20 +11 13 +Color.Blue(2, 1) Color.Red(3, 4) +5 5 6 +6 6 7 + +Dafny program verifier did not attempt verification +12 +16 +1 2 +1 3 +10 20 +11 13 +Color.Blue(2, 1) Color.Red(3, 4) +5 5 6 +6 6 7 + +Dafny program verifier did not attempt verification 12 16 1 2 diff --git a/Test/comp/DowncastClone.dfy b/Test/comp/DowncastClone.dfy index cb1f095b3f4..b90066da781 100644 --- a/Test/comp/DowncastClone.dfy +++ b/Test/comp/DowncastClone.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Co<+T> = Co(T) | C datatype ReCo<+T> = ReCo(T) diff --git a/Test/comp/DowncastClone.dfy.expect b/Test/comp/DowncastClone.dfy.expect index b0613294f3c..982b36b396c 100644 --- a/Test/comp/DowncastClone.dfy.expect +++ b/Test/comp/DowncastClone.dfy.expect @@ -1,3 +1,43 @@ + +Dafny program verifier finished with 7 verified, 0 errors + +Dafny program verifier did not attempt verification +Co.Co(_module.Y) and Co.Co(_module.Y) +_module.Y and _module.Y +_module.Y _module.Y +false and false +false and false +_module.Y and _module.Y +Done + +Dafny program verifier did not attempt verification +Co.Co(_module.Y) and Co.Co(_module.Y) +_module.Y and _module.Y +_module.Y _module.Y +false and false +false and false +_module.Y and _module.Y +Done + +Dafny program verifier did not attempt verification +Co.Co(_module.Y) and Co.Co(_module.Y) +_module.Y and _module.Y +_module.Y _module.Y +false and false +false and false +_module.Y and _module.Y +Done + +Dafny program verifier did not attempt verification +Co.Co(_module.Y) and Co.Co(_module.Y) +_module.Y and _module.Y +_module.Y _module.Y +false and false +false and false +_module.Y and _module.Y +Done + +Dafny program verifier did not attempt verification Co.Co(_module.Y) and Co.Co(_module.Y) _module.Y and _module.Y _module.Y _module.Y diff --git a/Test/comp/ErasableTypeWrappers.dfy b/Test/comp/ErasableTypeWrappers.dfy index a280099699f..d62d3736622 100644 --- a/Test/comp/ErasableTypeWrappers.dfy +++ b/Test/comp/ErasableTypeWrappers.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype SingletonRecord = SingletonRecord(u: int) datatype GhostOrNot = ghost Ghost(a: int, b: int) | Compiled(x: int) diff --git a/Test/comp/ErasableTypeWrappers.dfy.expect b/Test/comp/ErasableTypeWrappers.dfy.expect index 2a82d776c64..5013d9fc327 100644 --- a/Test/comp/ErasableTypeWrappers.dfy.expect +++ b/Test/comp/ErasableTypeWrappers.dfy.expect @@ -1,3 +1,87 @@ + +Dafny program verifier finished with 10 verified, 0 errors + +Dafny program verifier did not attempt verification +62 63 (2, 5) (2, 5) 3 +62 63 5 5 3 +5 5 3 +1062 1063 1005 1005 1003 +true true true +20 20 *20 21 20 +20 20 *20 21 20 +true false +true false true false +true false +0 (0, 0) 0 Color.Pink +13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false + 3.14 2.7 +18.0 18.0 3.0 false +18.0 4.0 true +HasConst.MakeC(4) (4, 4) +4 (4, 4) +OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.AnotherIntsWrapper(OptimizationChecks.Ints.Ints(5, 7)) + +Dafny program verifier did not attempt verification +62 63 (2, 5) (2, 5) 3 +62 63 5 5 3 +5 5 3 +1062 1063 1005 1005 1003 +true true true +20 20 *20 21 20 +20 20 *20 21 20 +true false +true false true false +true false +0 (0, 0) 0 Color.Pink +13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false + 3.14 2.7 +18.0 18.0 3.0 false +18.0 4.0 true +HasConst.MakeC(4) (4, 4) +4 (4, 4) +OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.AnotherIntsWrapper(OptimizationChecks.Ints.Ints(5, 7)) + +Dafny program verifier did not attempt verification +62 63 (2, 5) (2, 5) 3 +62 63 5 5 3 +5 5 3 +1062 1063 1005 1005 1003 +true true true +20 20 *20 21 20 +20 20 *20 21 20 +true false +true false true false +true false +0 (0, 0) 0 Color.Pink +13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false + 3.14 2.7 +18.0 18.0 3.0 false +18.0 4.0 true +HasConst.MakeC(4) (4, 4) +4 (4, 4) +OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.AnotherIntsWrapper(OptimizationChecks.Ints.Ints(5, 7)) + +Dafny program verifier did not attempt verification +62 63 (2, 5) (2, 5) 3 +62 63 5 5 3 +5 5 3 +1062 1063 1005 1005 1003 +true true true +20 20 *20 21 20 +20 20 *20 21 20 +true false +true false true false +true false +0 (0, 0) 0 Color.Pink +13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false + 3.14 2.7 +18.0 18.0 3.0 false +18.0 4.0 true +HasConst.MakeC(4) (4, 4) +4 (4, 4) +OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.AnotherIntsWrapper(OptimizationChecks.Ints.Ints(5, 7)) + +Dafny program verifier did not attempt verification 62 63 (2, 5) (2, 5) 3 62 63 5 5 3 5 5 3 diff --git a/Test/comp/EuclideanDivision.dfy b/Test/comp/EuclideanDivision.dfy index 1286dcd125b..7ae1803cad8 100644 --- a/Test/comp/EuclideanDivision.dfy +++ b/Test/comp/EuclideanDivision.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // Some runtimes (like the one for C#) have three implementations // of Euclidean div/mod: one for `int`, one for `long`, and one diff --git a/Test/comp/EuclideanDivision.dfy.expect b/Test/comp/EuclideanDivision.dfy.expect index e2585ff8c70..b538c9494de 100644 --- a/Test/comp/EuclideanDivision.dfy.expect +++ b/Test/comp/EuclideanDivision.dfy.expect @@ -1,3 +1,39 @@ + +Dafny program verifier finished with 11 verified, 0 errors + +Dafny program verifier did not attempt verification +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 + +Dafny program verifier did not attempt verification +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 + +Dafny program verifier did not attempt verification +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 + +Dafny program verifier did not attempt verification +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 + +Dafny program verifier did not attempt verification 2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 diff --git a/Test/comp/ForLoops-Compilation.dfy b/Test/comp/ForLoops-Compilation.dfy index b468d21f69f..97101b82961 100644 --- a/Test/comp/ForLoops-Compilation.dfy +++ b/Test/comp/ForLoops-Compilation.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { TestM(0, 0); diff --git a/Test/comp/ForLoops-Compilation.dfy.expect b/Test/comp/ForLoops-Compilation.dfy.expect index 97724a714bc..d67a5429fed 100644 --- a/Test/comp/ForLoops-Compilation.dfy.expect +++ b/Test/comp/ForLoops-Compilation.dfy.expect @@ -1,3 +1,203 @@ + +Dafny program verifier finished with 23 verified, 0 errors + +Dafny program verifier did not attempt verification +0 0 0 0 +-2 -2 -2 -2 +0 0 0 0 +145 145 145 145 +0 0 +0 0 +57 57 +0 0 +32385 32385 +0 0 +-128 -128 +126 126 +0 0 +0 * 2 == 0 +2 * 0 == 0 +1 * 1 == 1 +6 * 5 == 30 +0 + 3 == 3 +3 + 0 == 3 +4 + 0 == 4 +0 + 0 == 0 +19 + 14 == 33 +4 4 4 +== BC10 == +0 --++--++---- *** +1 --++--++----++-- +2 --++--++----++--++--++--++--++--++--++ *** +3 --++--++----++--++--++--++--++--++--++ *** +4 --++--++----++--++--++--++--++--++--++ *** +5 --++--++----++--++--++--++--++--++--++ *** +6 --++--++----++--++--++--++--++--++--++ *** +7 --++--++----++--++--++--++--++--++--++ *** +8 --++--++----++--++--++--++--++--++--++ *** +9 --++--++----++--++--++--++--++--++--++ *** +== BC11 == +0 ||--++----++-- *** +1 ||--++----++--++-- +2 ||--++----++--++--++--++--++--++--++--++ *** +3 ||--++----++--++--++--++--++--++--++--++ *** +4 ||--++----++--++--++--++--++--++--++--++ *** +5 ||--++----++--++--++--++--++--++--++--++ *** +6 ||--++----++--++--++--++--++--++--++--++ *** +7 ||--++----++--++--++--++--++--++--++--++ *** +8 ||--++----++--++--++--++--++--++--++--++ *** +9 ||--++----++--++--++--++--++--++--++--++ *** +true true true 15 +all good + +Dafny program verifier did not attempt verification +0 0 0 0 +-2 -2 -2 -2 +0 0 0 0 +145 145 145 145 +0 0 +0 0 +57 57 +0 0 +32385 32385 +0 0 +-128 -128 +126 126 +0 0 +0 * 2 == 0 +2 * 0 == 0 +1 * 1 == 1 +6 * 5 == 30 +0 + 3 == 3 +3 + 0 == 3 +4 + 0 == 4 +0 + 0 == 0 +19 + 14 == 33 +4 4 4 +== BC10 == +0 --++--++---- *** +1 --++--++----++-- +2 --++--++----++--++--++--++--++--++--++ *** +3 --++--++----++--++--++--++--++--++--++ *** +4 --++--++----++--++--++--++--++--++--++ *** +5 --++--++----++--++--++--++--++--++--++ *** +6 --++--++----++--++--++--++--++--++--++ *** +7 --++--++----++--++--++--++--++--++--++ *** +8 --++--++----++--++--++--++--++--++--++ *** +9 --++--++----++--++--++--++--++--++--++ *** +== BC11 == +0 ||--++----++-- *** +1 ||--++----++--++-- +2 ||--++----++--++--++--++--++--++--++--++ *** +3 ||--++----++--++--++--++--++--++--++--++ *** +4 ||--++----++--++--++--++--++--++--++--++ *** +5 ||--++----++--++--++--++--++--++--++--++ *** +6 ||--++----++--++--++--++--++--++--++--++ *** +7 ||--++----++--++--++--++--++--++--++--++ *** +8 ||--++----++--++--++--++--++--++--++--++ *** +9 ||--++----++--++--++--++--++--++--++--++ *** +true true true 15 +all good + +Dafny program verifier did not attempt verification +0 0 0 0 +-2 -2 -2 -2 +0 0 0 0 +145 145 145 145 +0 0 +0 0 +57 57 +0 0 +32385 32385 +0 0 +-128 -128 +126 126 +0 0 +0 * 2 == 0 +2 * 0 == 0 +1 * 1 == 1 +6 * 5 == 30 +0 + 3 == 3 +3 + 0 == 3 +4 + 0 == 4 +0 + 0 == 0 +19 + 14 == 33 +4 4 4 +== BC10 == +0 --++--++---- *** +1 --++--++----++-- +2 --++--++----++--++--++--++--++--++--++ *** +3 --++--++----++--++--++--++--++--++--++ *** +4 --++--++----++--++--++--++--++--++--++ *** +5 --++--++----++--++--++--++--++--++--++ *** +6 --++--++----++--++--++--++--++--++--++ *** +7 --++--++----++--++--++--++--++--++--++ *** +8 --++--++----++--++--++--++--++--++--++ *** +9 --++--++----++--++--++--++--++--++--++ *** +== BC11 == +0 ||--++----++-- *** +1 ||--++----++--++-- +2 ||--++----++--++--++--++--++--++--++--++ *** +3 ||--++----++--++--++--++--++--++--++--++ *** +4 ||--++----++--++--++--++--++--++--++--++ *** +5 ||--++----++--++--++--++--++--++--++--++ *** +6 ||--++----++--++--++--++--++--++--++--++ *** +7 ||--++----++--++--++--++--++--++--++--++ *** +8 ||--++----++--++--++--++--++--++--++--++ *** +9 ||--++----++--++--++--++--++--++--++--++ *** +true true true 15 +all good + +Dafny program verifier did not attempt verification +0 0 0 0 +-2 -2 -2 -2 +0 0 0 0 +145 145 145 145 +0 0 +0 0 +57 57 +0 0 +32385 32385 +0 0 +-128 -128 +126 126 +0 0 +0 * 2 == 0 +2 * 0 == 0 +1 * 1 == 1 +6 * 5 == 30 +0 + 3 == 3 +3 + 0 == 3 +4 + 0 == 4 +0 + 0 == 0 +19 + 14 == 33 +4 4 4 +== BC10 == +0 --++--++---- *** +1 --++--++----++-- +2 --++--++----++--++--++--++--++--++--++ *** +3 --++--++----++--++--++--++--++--++--++ *** +4 --++--++----++--++--++--++--++--++--++ *** +5 --++--++----++--++--++--++--++--++--++ *** +6 --++--++----++--++--++--++--++--++--++ *** +7 --++--++----++--++--++--++--++--++--++ *** +8 --++--++----++--++--++--++--++--++--++ *** +9 --++--++----++--++--++--++--++--++--++ *** +== BC11 == +0 ||--++----++-- *** +1 ||--++----++--++-- +2 ||--++----++--++--++--++--++--++--++--++ *** +3 ||--++----++--++--++--++--++--++--++--++ *** +4 ||--++----++--++--++--++--++--++--++--++ *** +5 ||--++----++--++--++--++--++--++--++--++ *** +6 ||--++----++--++--++--++--++--++--++--++ *** +7 ||--++----++--++--++--++--++--++--++--++ *** +8 ||--++----++--++--++--++--++--++--++--++ *** +9 ||--++----++--++--++--++--++--++--++--++ *** +true true true 15 +all good + +Dafny program verifier did not attempt verification 0 0 0 0 -2 -2 -2 -2 0 0 0 0 diff --git a/Test/comp/ForallNewSyntax.dfy b/Test/comp/ForallNewSyntax.dfy index 85e609b37b3..c17bf86830e 100644 --- a/Test/comp/ForallNewSyntax.dfy +++ b/Test/comp/ForallNewSyntax.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --function-syntax:3 --quantifier-syntax:4 --relax-definite-assignment +// RUN: %baredafny verify %args --relax-definite-assignment --function-syntax:3 --quantifier-syntax:4 "%s" > "%t" +// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:cs "%s" >> "%t" +// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:js "%s" >> "%t" +// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:go "%s" >> "%t" +// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:java "%s" >> "%t" +// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var arrayTests := new ArrayTests(); diff --git a/Test/comp/ForallNewSyntax.dfy.expect b/Test/comp/ForallNewSyntax.dfy.expect index 5b33d939607..241ea9ea521 100644 --- a/Test/comp/ForallNewSyntax.dfy.expect +++ b/Test/comp/ForallNewSyntax.dfy.expect @@ -1,3 +1,183 @@ + +Dafny program verifier finished with 25 verified, 0 errors + +Dafny program verifier did not attempt verification +Arrays: Basic cases +[0, 1, 2, 3, 4] +[0, 1, 2, 3, 4] +[0, 1, 4, 3, 8] + +Arrays: Wrong index +[0, 0, 1, 2, 3] +[0, 0, 1, 2, 3] +[1, 2, 3, 4, 5] + +Arrays: Sequence conversion +[2, 1, 4, 5, 6] +[0, 3, 3, 3, 4] + +Arrays: Index collection +[1, 1, 2, 3, 4] +[1, 1, 2, 3, 4] + +Arrays: Functions +[1, 1, 3, 4, 5] +[1, 1, 3, 4, 5] +[1, 2, 3, 3, 5] +[1, 2, 3, 4, 5] + +Multi-dimensional arrays +[[0, 2, 4], [1, 3, 5], [2, 4, 6]] +[[0, 1, 2], [2, 3, 4], [4, 5, 6]] + +Objects: Basic cases +[(0, 1.0), (0, 2.0), (0, 3.0)] +[(2, 1.0), (2, 2.0), (4, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] + +Objects: Bad field accesses +[(2, 1.0), (3, 2.0), (4, 3.0)] +[(2, 1.0), (2, 2.0), (2, 3.0)] +[(2, 1.0), (3, 2.0), (1, 3.0)] + +Objects: Functions +[(2, 1.0), (4, 2.0), (6, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] +[(3, 1.0), (4, 2.0), (5, 3.0)] + +Dafny program verifier did not attempt verification +Arrays: Basic cases +[0, 1, 2, 3, 4] +[0, 1, 2, 3, 4] +[0, 1, 4, 3, 8] + +Arrays: Wrong index +[0, 0, 1, 2, 3] +[0, 0, 1, 2, 3] +[1, 2, 3, 4, 5] + +Arrays: Sequence conversion +[2, 1, 4, 5, 6] +[0, 3, 3, 3, 4] + +Arrays: Index collection +[1, 1, 2, 3, 4] +[1, 1, 2, 3, 4] + +Arrays: Functions +[1, 1, 3, 4, 5] +[1, 1, 3, 4, 5] +[1, 2, 3, 3, 5] +[1, 2, 3, 4, 5] + +Multi-dimensional arrays +[[0, 2, 4], [1, 3, 5], [2, 4, 6]] +[[0, 1, 2], [2, 3, 4], [4, 5, 6]] + +Objects: Basic cases +[(0, 1.0), (0, 2.0), (0, 3.0)] +[(2, 1.0), (2, 2.0), (4, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] + +Objects: Bad field accesses +[(2, 1.0), (3, 2.0), (4, 3.0)] +[(2, 1.0), (2, 2.0), (2, 3.0)] +[(2, 1.0), (3, 2.0), (1, 3.0)] + +Objects: Functions +[(2, 1.0), (4, 2.0), (6, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] +[(3, 1.0), (4, 2.0), (5, 3.0)] + +Dafny program verifier did not attempt verification +Arrays: Basic cases +[0, 1, 2, 3, 4] +[0, 1, 2, 3, 4] +[0, 1, 4, 3, 8] + +Arrays: Wrong index +[0, 0, 1, 2, 3] +[0, 0, 1, 2, 3] +[1, 2, 3, 4, 5] + +Arrays: Sequence conversion +[2, 1, 4, 5, 6] +[0, 3, 3, 3, 4] + +Arrays: Index collection +[1, 1, 2, 3, 4] +[1, 1, 2, 3, 4] + +Arrays: Functions +[1, 1, 3, 4, 5] +[1, 1, 3, 4, 5] +[1, 2, 3, 3, 5] +[1, 2, 3, 4, 5] + +Multi-dimensional arrays +[[0, 2, 4], [1, 3, 5], [2, 4, 6]] +[[0, 1, 2], [2, 3, 4], [4, 5, 6]] + +Objects: Basic cases +[(0, 1.0), (0, 2.0), (0, 3.0)] +[(2, 1.0), (2, 2.0), (4, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] + +Objects: Bad field accesses +[(2, 1.0), (3, 2.0), (4, 3.0)] +[(2, 1.0), (2, 2.0), (2, 3.0)] +[(2, 1.0), (3, 2.0), (1, 3.0)] + +Objects: Functions +[(2, 1.0), (4, 2.0), (6, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] +[(3, 1.0), (4, 2.0), (5, 3.0)] + +Dafny program verifier did not attempt verification +Arrays: Basic cases +[0, 1, 2, 3, 4] +[0, 1, 2, 3, 4] +[0, 1, 4, 3, 8] + +Arrays: Wrong index +[0, 0, 1, 2, 3] +[0, 0, 1, 2, 3] +[1, 2, 3, 4, 5] + +Arrays: Sequence conversion +[2, 1, 4, 5, 6] +[0, 3, 3, 3, 4] + +Arrays: Index collection +[1, 1, 2, 3, 4] +[1, 1, 2, 3, 4] + +Arrays: Functions +[1, 1, 3, 4, 5] +[1, 1, 3, 4, 5] +[1, 2, 3, 3, 5] +[1, 2, 3, 4, 5] + +Multi-dimensional arrays +[[0, 2, 4], [1, 3, 5], [2, 4, 6]] +[[0, 1, 2], [2, 3, 4], [4, 5, 6]] + +Objects: Basic cases +[(0, 1.0), (0, 2.0), (0, 3.0)] +[(2, 1.0), (2, 2.0), (4, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] + +Objects: Bad field accesses +[(2, 1.0), (3, 2.0), (4, 3.0)] +[(2, 1.0), (2, 2.0), (2, 3.0)] +[(2, 1.0), (3, 2.0), (1, 3.0)] + +Objects: Functions +[(2, 1.0), (4, 2.0), (6, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] +[(3, 1.0), (4, 2.0), (5, 3.0)] + +Dafny program verifier did not attempt verification Arrays: Basic cases [0, 1, 2, 3, 4] [0, 1, 2, 3, 4] diff --git a/Test/comp/Ghosts.dfy b/Test/comp/Ghosts.dfy index 8afe8a36d3f..506fe0facb1 100644 --- a/Test/comp/Ghosts.dfy +++ b/Test/comp/Ghosts.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method M1() returns (x: int) { diff --git a/Test/comp/Ghosts.dfy.expect b/Test/comp/Ghosts.dfy.expect index d075ea048c1..430a9c18fc0 100644 --- a/Test/comp/Ghosts.dfy.expect +++ b/Test/comp/Ghosts.dfy.expect @@ -1,3 +1,55 @@ + +Dafny program verifier finished with 8 verified, 0 errors + +Dafny program verifier did not attempt verification +hello, M2 +hello, M2 +hello, M3 +hello, M1 +hello, M1 +hello, M1 +hello, M2 +hello, M3 +hello, N0 +hello, N1 + +Dafny program verifier did not attempt verification +hello, M2 +hello, M2 +hello, M3 +hello, M1 +hello, M1 +hello, M1 +hello, M2 +hello, M3 +hello, N0 +hello, N1 + +Dafny program verifier did not attempt verification +hello, M2 +hello, M2 +hello, M3 +hello, M1 +hello, M1 +hello, M1 +hello, M2 +hello, M3 +hello, N0 +hello, N1 + +Dafny program verifier did not attempt verification +hello, M2 +hello, M2 +hello, M3 +hello, M1 +hello, M1 +hello, M1 +hello, M2 +hello, M3 +hello, N0 +hello, N1 + +Dafny program verifier did not attempt verification hello, M2 hello, M2 hello, M3 diff --git a/Test/comp/Let.dfy b/Test/comp/Let.dfy index 2a639009c78..64dce8b90e6 100644 --- a/Test/comp/Let.dfy +++ b/Test/comp/Let.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cs "%s" > "%t" +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method M() returns (x: int) { x := var y := 50; y; // non-top-level let diff --git a/Test/comp/Let.dfy.expect b/Test/comp/Let.dfy.expect index f05dfc414c1..667abc32458 100644 --- a/Test/comp/Let.dfy.expect +++ b/Test/comp/Let.dfy.expect @@ -1,3 +1,37 @@ + +Dafny program verifier finished with 5 verified, 0 errors +50 58 +Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) +5 7 9 10 12 30 +5 7 +5 7 +12.0 15.0 15.0 15.0 + +Dafny program verifier finished with 5 verified, 0 errors +50 58 +Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) +5 7 9 10 12 30 +5 7 +5 7 +12.0 15.0 15.0 15.0 + +Dafny program verifier finished with 5 verified, 0 errors +50 58 +Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) +5 7 9 10 12 30 +5 7 +5 7 +12.0 15.0 15.0 15.0 + +Dafny program verifier finished with 5 verified, 0 errors +50 58 +Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) +5 7 9 10 12 30 +5 7 +5 7 +12.0 15.0 15.0 15.0 + +Dafny program verifier finished with 5 verified, 0 errors 50 58 Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) 5 7 9 10 12 30 diff --git a/Test/comp/MoreAutoInit.dfy b/Test/comp/MoreAutoInit.dfy index c72083f1be5..46bdf7148f1 100644 --- a/Test/comp/MoreAutoInit.dfy +++ b/Test/comp/MoreAutoInit.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { Methods.TestStart(); diff --git a/Test/comp/MoreAutoInit.dfy.expect b/Test/comp/MoreAutoInit.dfy.expect index a077ee0daa9..e707d9ea27a 100644 --- a/Test/comp/MoreAutoInit.dfy.expect +++ b/Test/comp/MoreAutoInit.dfy.expect @@ -1,3 +1,575 @@ + +Dafny program verifier finished with 38 verified, 0 errors + +Dafny program verifier did not attempt verification +Methods.Uni.Uni + ++ Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +{} + ++ {} +[] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +Functions.Uni.Uni + ++ Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +{2} + ++ {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ** Consts.Uni.Uni ++ Consts.Uni.Uni +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ** Consts.Uni.Uni ++ Consts.Uni.Uni +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ** Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni +[] ++ [] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] + ** [] ++ [] +[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] + ** [] ++ [] +[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] +[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] + ++ [Consts.Uni.Uni] ++ [] + ** [] ++ [] ++ [] +15 +0-0 0.0-0.0 false-false 'D'-'D' 0 +0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 +0-0 0-0 0-0 0-0 1 1 +0.0-0.0 68.0 +null-null null-null null-null null-null +0 +0:0:0 +0-0 +{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] +DefaultValuedExpressions.Color.Red-DefaultValuedExpressions.Color.Red DefaultValuedExpressions.PossibleCell.Nothing-DefaultValuedExpressions.PossibleCell.Nothing DefaultValuedExpressions.Cell.LittleCell(0)-DefaultValuedExpressions.Cell.LittleCell(0) +()-() (0, 0.0)-(0, 0.0) +(DefaultValuedExpressions.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions.Color.Red, (0, 0.0), ()) +null-null null-null +0-0 0-0 0-0 3 4 5 +0-0 11 0-0 8 + +Dafny program verifier did not attempt verification +Methods.Uni.Uni + ++ Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +{} + ++ {} +[] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +Functions.Uni.Uni + ++ Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +{2} + ++ {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ** Consts.Uni.Uni ++ Consts.Uni.Uni +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ** Consts.Uni.Uni ++ Consts.Uni.Uni +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ** Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni +[] ++ [] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] + ** [] ++ [] +[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] + ** [] ++ [] +[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] +[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] + ++ [Consts.Uni.Uni] ++ [] + ** [] ++ [] ++ [] +15 +0-0 0.0-0.0 false-false 'D'-'D' 0 +0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 +0-0 0-0 0-0 0-0 1 1 +0.0-0.0 68.0 +null-null null-null null-null null-null +0 +0:0:0 +0-0 +{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] +DefaultValuedExpressions.Color.Red-DefaultValuedExpressions.Color.Red DefaultValuedExpressions.PossibleCell.Nothing-DefaultValuedExpressions.PossibleCell.Nothing DefaultValuedExpressions.Cell.LittleCell(0)-DefaultValuedExpressions.Cell.LittleCell(0) +()-() (0, 0.0)-(0, 0.0) +(DefaultValuedExpressions.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions.Color.Red, (0, 0.0), ()) +null-null null-null +0-0 0-0 0-0 3 4 5 +0-0 11 0-0 8 + +Dafny program verifier did not attempt verification +Methods.Uni.Uni + ++ Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +{} + ++ {} +[] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +Functions.Uni.Uni + ++ Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +{2} + ++ {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ** Consts.Uni.Uni ++ Consts.Uni.Uni +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ** Consts.Uni.Uni ++ Consts.Uni.Uni +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ** Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni +[] ++ [] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] + ** [] ++ [] +[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] + ** [] ++ [] +[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] +[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] + ++ [Consts.Uni.Uni] ++ [] + ** [] ++ [] ++ [] +15 +0-0 0.0-0.0 false-false 'D'-'D' 0 +0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 +0-0 0-0 0-0 0-0 1 1 +0.0-0.0 68.0 +null-null null-null null-null null-null +0 +0:0:0 +0-0 +{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] +DefaultValuedExpressions.Color.Red-DefaultValuedExpressions.Color.Red DefaultValuedExpressions.PossibleCell.Nothing-DefaultValuedExpressions.PossibleCell.Nothing DefaultValuedExpressions.Cell.LittleCell(0)-DefaultValuedExpressions.Cell.LittleCell(0) +()-() (0, 0.0)-(0, 0.0) +(DefaultValuedExpressions.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions.Color.Red, (0, 0.0), ()) +null-null null-null +0-0 0-0 0-0 3 4 5 +0-0 11 0-0 8 + +Dafny program verifier did not attempt verification +Methods.Uni.Uni + ++ Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +{} + ++ {} +[] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +Functions.Uni.Uni + ++ Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +{2} + ++ {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ** Consts.Uni.Uni ++ Consts.Uni.Uni +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ** Consts.Uni.Uni ++ Consts.Uni.Uni +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ** Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni +[] ++ [] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] + ** [] ++ [] +[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] + ** [] ++ [] +[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] +[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] + ++ [Consts.Uni.Uni] ++ [] + ** [] ++ [] ++ [] +15 +0-0 0.0-0.0 false-false 'D'-'D' 0 +0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 +0-0 0-0 0-0 0-0 1 1 +0.0-0.0 68.0 +null-null null-null null-null null-null +0 +0:0:0 +0-0 +{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] +DefaultValuedExpressions.Color.Red-DefaultValuedExpressions.Color.Red DefaultValuedExpressions.PossibleCell.Nothing-DefaultValuedExpressions.PossibleCell.Nothing DefaultValuedExpressions.Cell.LittleCell(0)-DefaultValuedExpressions.Cell.LittleCell(0) +()-() (0, 0.0)-(0, 0.0) +(DefaultValuedExpressions.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions.Color.Red, (0, 0.0), ()) +null-null null-null +0-0 0-0 0-0 3 4 5 +0-0 11 0-0 8 + +Dafny program verifier did not attempt verification Methods.Uni.Uni ++ Methods.Uni.Uni Methods.Uni.Uni Methods.Uni.Uni diff --git a/Test/comp/NativeNumbers.dfy b/Test/comp/NativeNumbers.dfy index e1fadb1c406..c63d02cf643 100644 --- a/Test/comp/NativeNumbers.dfy +++ b/Test/comp/NativeNumbers.dfy @@ -1,6 +1,11 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false // Skip JavaScript because JavaScript doesn't have the same native types +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { CastTests(); diff --git a/Test/comp/NativeNumbers.dfy.expect b/Test/comp/NativeNumbers.dfy.expect index 6a9d263fc73..2be030252cf 100644 --- a/Test/comp/NativeNumbers.dfy.expect +++ b/Test/comp/NativeNumbers.dfy.expect @@ -1,3 +1,259 @@ + +Dafny program verifier finished with 25 verified, 0 errors + +Dafny program verifier did not attempt verification +Casting: + +Small numbers: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 +5 5 5 5 5 5 5 5 5 +6 6 6 6 6 6 6 6 6 +7 7 7 7 7 7 7 7 7 +8 8 8 8 8 8 8 8 8 + +Large unsigned numbers: +255 255 255 255 255 255 255 255 +65535 65535 65535 65535 65535 65535 +4294967295 4294967295 4294967295 4294967295 +18446744073709551615 18446744073709551615 + +Int to large unsigned: +255 65535 4294967295 18446744073709551615 + +Cast from cardinality operator: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 + +Characters: +C 67 67 67 67 67 67 67 67 67 +0 127 32767 65535 65535 255 65535 65535 65535 + +Defaults: + +0 0 0 0 0 0 0 0 0 + +Byte arithmetic: + +20 30 +10 10 18 + +Short arithmetic: + +20 30 +10 10 18 + +Bitvectors: + +0 3 4 1 + +Comparison to zero: + +int8: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int16: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int32: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int64: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint8: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint16: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint32: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint64: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N + + +Dafny program verifier did not attempt verification +Casting: + +Small numbers: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 +5 5 5 5 5 5 5 5 5 +6 6 6 6 6 6 6 6 6 +7 7 7 7 7 7 7 7 7 +8 8 8 8 8 8 8 8 8 + +Large unsigned numbers: +255 255 255 255 255 255 255 255 +65535 65535 65535 65535 65535 65535 +4294967295 4294967295 4294967295 4294967295 +18446744073709551615 18446744073709551615 + +Int to large unsigned: +255 65535 4294967295 18446744073709551615 + +Cast from cardinality operator: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 + +Characters: +C 67 67 67 67 67 67 67 67 67 +0 127 32767 65535 65535 255 65535 65535 65535 + +Defaults: + +0 0 0 0 0 0 0 0 0 + +Byte arithmetic: + +20 30 +10 10 18 + +Short arithmetic: + +20 30 +10 10 18 + +Bitvectors: + +0 3 4 1 + +Comparison to zero: + +int8: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int16: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int32: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int64: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint8: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint16: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint32: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint64: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N + + +Dafny program verifier did not attempt verification +Casting: + +Small numbers: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 +5 5 5 5 5 5 5 5 5 +6 6 6 6 6 6 6 6 6 +7 7 7 7 7 7 7 7 7 +8 8 8 8 8 8 8 8 8 + +Large unsigned numbers: +255 255 255 255 255 255 255 255 +65535 65535 65535 65535 65535 65535 +4294967295 4294967295 4294967295 4294967295 +18446744073709551615 18446744073709551615 + +Int to large unsigned: +255 65535 4294967295 18446744073709551615 + +Cast from cardinality operator: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 + +Characters: +C 67 67 67 67 67 67 67 67 67 +0 127 32767 65535 65535 255 65535 65535 65535 + +Defaults: + +0 0 0 0 0 0 0 0 0 + +Byte arithmetic: + +20 30 +10 10 18 + +Short arithmetic: + +20 30 +10 10 18 + +Bitvectors: + +0 3 4 1 + +Comparison to zero: + +int8: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int16: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int32: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int64: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint8: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint16: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint32: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint64: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N + + +Dafny program verifier did not attempt verification Casting: Small numbers: diff --git a/Test/comp/NestedArrays.dfy b/Test/comp/NestedArrays.dfy index 39d256f4936..0c2b313a32c 100644 --- a/Test/comp/NestedArrays.dfy +++ b/Test/comp/NestedArrays.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %baredafny verify --relax-definite-assignment %args "%s" > "%t" +// RUN: %baredafny run --no-verify --target=cs %args "%s" >> "%t" +// RUN: %baredafny run --no-verify --target=js %args "%s" >> "%t" +// RUN: %baredafny run --no-verify --target=go %args "%s" >> "%t" +// RUN: %baredafny run --no-verify --target=py %args "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" /* Note, compiling to arrays in Java is difficult. In fact, this is currently * broken, see https://github.com/dafny-lang/dafny/issues/3055. Until this gets diff --git a/Test/comp/NestedArrays.dfy.expect b/Test/comp/NestedArrays.dfy.expect index aa47d0d46d4..a24d140b9d4 100644 --- a/Test/comp/NestedArrays.dfy.expect +++ b/Test/comp/NestedArrays.dfy.expect @@ -1,2 +1,18 @@ + +Dafny program verifier finished with 4 verified, 0 errors + +Dafny program verifier did not attempt verification +0 +0 + +Dafny program verifier did not attempt verification +0 +0 + +Dafny program verifier did not attempt verification +0 +0 + +Dafny program verifier did not attempt verification 0 0 diff --git a/Test/comp/Numbers.dfy b/Test/comp/Numbers.dfy index c76bc87fdc0..36bf24dcdb4 100644 --- a/Test/comp/Numbers.dfy +++ b/Test/comp/Numbers.dfy @@ -1,5 +1,10 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { Literals(); diff --git a/Test/comp/Numbers.dfy.expect b/Test/comp/Numbers.dfy.expect index 7eacf4e709d..8d994e1c7c6 100644 --- a/Test/comp/Numbers.dfy.expect +++ b/Test/comp/Numbers.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 59 verified, 0 errors + +Dafny program verifier did not attempt verification 0 0 3 @@ -109,3 +113,455 @@ true false true false false true false true true false true false 20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +g Q 2 +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +(312.0 / 40.0) (1248.0 / 40.0) +(-312.0 / 40.0) (-1248.0 / 40.0) +(-312.0 / 40.0) (1248.0 / 40.0) +(312.0 / 40.0) (-1248.0 / 40.0) +0.0 0.0 0.0 +120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) +123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 (8100.0 / 8100.0) +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +g Q 2 +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +g Q 2 +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +(312.0 / 40.0) (1248.0 / 40.0) +(-312.0 / 40.0) (-1248.0 / 40.0) +(-312.0 / 40.0) (1248.0 / 40.0) +(312.0 / 40.0) (-1248.0 / 40.0) +0.0 0.0 0.0 +120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) +123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 (8100.0 / 8100.0) +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +g Q 2 +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 diff --git a/Test/comp/Numbers.dfy.go.expect b/Test/comp/Numbers.dfy.go.expect deleted file mode 100644 index ce109553619..00000000000 --- a/Test/comp/Numbers.dfy.go.expect +++ /dev/null @@ -1,111 +0,0 @@ -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -g Q 2 -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 diff --git a/Test/comp/Numbers.dfy.py.expect b/Test/comp/Numbers.dfy.py.expect deleted file mode 100644 index ce109553619..00000000000 --- a/Test/comp/Numbers.dfy.py.expect +++ /dev/null @@ -1,111 +0,0 @@ -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -g Q 2 -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 diff --git a/Test/comp/Poly.dfy b/Test/comp/Poly.dfy index 5af5e8134e9..f3c3aa58599 100644 --- a/Test/comp/Poly.dfy +++ b/Test/comp/Poly.dfy @@ -1,5 +1,10 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" trait Shape { function Center(): (real, real) reads this diff --git a/Test/comp/Poly.dfy.expect b/Test/comp/Poly.dfy.expect index 7dc24821586..4ffff82d5ab 100644 --- a/Test/comp/Poly.dfy.expect +++ b/Test/comp/Poly.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 15 verified, 0 errors + +Dafny program verifier did not attempt verification Center of square: ((1.0 / 2.0), (1.0 / 2.0)) Center of circle: (1.0, 1.0) Center: ((1.0 / 2.0), (1.0 / 2.0)) @@ -10,3 +14,59 @@ Center: ((1.0 / 2.0), (1.0 / 2.0)) Center: (1.0, 1.0) Center: ((1.0 / 2.0), (1.0 / 2.0)) Center: (1.0, 1.0) + +Dafny program verifier did not attempt verification +Center of square: ((1.0 / 2.0), (1.0 / 2.0)) +Center of circle: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) + +Dafny program verifier did not attempt verification +Center of square: ((1.0 / 2.0), (1.0 / 2.0)) +Center of circle: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) + +Dafny program verifier did not attempt verification +Center of square: (0.5, 0.5) +Center of circle: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) + +Dafny program verifier did not attempt verification +Center of square: (0.5, 0.5) +Center of circle: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) diff --git a/Test/comp/Poly.dfy.go.expect b/Test/comp/Poly.dfy.go.expect deleted file mode 100644 index 88e09c5e6ff..00000000000 --- a/Test/comp/Poly.dfy.go.expect +++ /dev/null @@ -1,12 +0,0 @@ -Center of square: (0.5, 0.5) -Center of circle: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) diff --git a/Test/comp/Poly.dfy.py.expect b/Test/comp/Poly.dfy.py.expect deleted file mode 100644 index 88e09c5e6ff..00000000000 --- a/Test/comp/Poly.dfy.py.expect +++ /dev/null @@ -1,12 +0,0 @@ -Center of square: (0.5, 0.5) -Center of circle: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) diff --git a/Test/comp/StaticMembersOfGenericTypes.dfy b/Test/comp/StaticMembersOfGenericTypes.dfy index 8a8614d21a5..8c402dab951 100644 --- a/Test/comp/StaticMembersOfGenericTypes.dfy +++ b/Test/comp/StaticMembersOfGenericTypes.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { GenericClass(); diff --git a/Test/comp/StaticMembersOfGenericTypes.dfy.expect b/Test/comp/StaticMembersOfGenericTypes.dfy.expect index 196f1295e12..54e32b42ee5 100644 --- a/Test/comp/StaticMembersOfGenericTypes.dfy.expect +++ b/Test/comp/StaticMembersOfGenericTypes.dfy.expect @@ -1,3 +1,79 @@ + +Dafny program verifier finished with 9 verified, 0 errors + +Dafny program verifier did not attempt verification +(0, 1) (true, 2, 3) +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +(2.0, true) (3.0, false) +(2.0, true) (3.0, false) +true false +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +50 3 4 +149 + +Dafny program verifier did not attempt verification +(0, 1) (true, 2, 3) +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +(2.0, true) (3.0, false) +(2.0, true) (3.0, false) +true false +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +50 3 4 +149 + +Dafny program verifier did not attempt verification +(0, 1) (true, 2, 3) +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +(2.0, true) (3.0, false) +(2.0, true) (3.0, false) +true false +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +50 3 4 +149 + +Dafny program verifier did not attempt verification +(0, 1) (true, 2, 3) +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +(2.0, true) (3.0, false) +(2.0, true) (3.0, false) +true false +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +50 3 4 +149 + +Dafny program verifier did not attempt verification (0, 1) (true, 2, 3) 0 25 (20, 21) (20, 21) 23 22 0 25 (20, 21) (20, 21) 23 22 diff --git a/Test/comp/TailRecursion.dfy b/Test/comp/TailRecursion.dfy index b3631d5eccc..68ba6ee4669 100644 --- a/Test/comp/TailRecursion.dfy +++ b/Test/comp/TailRecursion.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { // In the following, 2_000_000 is too large an argument without tail-calls diff --git a/Test/comp/TailRecursion.dfy.expect b/Test/comp/TailRecursion.dfy.expect index 4b9da7e5093..23c852a41fe 100644 --- a/Test/comp/TailRecursion.dfy.expect +++ b/Test/comp/TailRecursion.dfy.expect @@ -1,3 +1,79 @@ + +Dafny program verifier finished with 28 verified, 0 errors + +Dafny program verifier did not attempt verification +2000000 2000000 +2000000 2000000 +1000000 1000000 +10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 +TriangleNumber(10) = 55 +TriangleNumber_Real(10) = 55.0 +TriangleNumber_ORDINAL(10) = 55 +Factorial(5) = 120 +Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] +UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] +Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 +TheBigSubtract(100) = -12 +TailNat(10) = 50 +17 17 17 +2000000 + +Dafny program verifier did not attempt verification +2000000 2000000 +2000000 2000000 +1000000 1000000 +10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 +TriangleNumber(10) = 55 +TriangleNumber_Real(10) = 55.0 +TriangleNumber_ORDINAL(10) = 55 +Factorial(5) = 120 +Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] +UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] +Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 +TheBigSubtract(100) = -12 +TailNat(10) = 50 +17 17 17 +2000000 + +Dafny program verifier did not attempt verification +2000000 2000000 +2000000 2000000 +1000000 1000000 +10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 +TriangleNumber(10) = 55 +TriangleNumber_Real(10) = 55.0 +TriangleNumber_ORDINAL(10) = 55 +Factorial(5) = 120 +Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] +UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] +Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 +TheBigSubtract(100) = -12 +TailNat(10) = 50 +17 17 17 +2000000 + +Dafny program verifier did not attempt verification +2000000 2000000 +2000000 2000000 +1000000 1000000 +10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 +TriangleNumber(10) = 55 +TriangleNumber_Real(10) = 55.0 +TriangleNumber_ORDINAL(10) = 55 +Factorial(5) = 120 +Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] +UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] +Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 +TheBigSubtract(100) = -12 +TailNat(10) = 50 +17 17 17 +2000000 + +Dafny program verifier did not attempt verification 2000000 2000000 2000000 2000000 1000000 1000000 diff --git a/Test/comp/TypeDescriptors.dfy b/Test/comp/TypeDescriptors.dfy index 5bedbb900e4..636cb3db583 100644 --- a/Test/comp/TypeDescriptors.dfy +++ b/Test/comp/TypeDescriptors.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Method(s: string, g: G) { var zero: G; diff --git a/Test/comp/TypeDescriptors.dfy.expect b/Test/comp/TypeDescriptors.dfy.expect index 1b09338c83d..9b1e8487bdc 100644 --- a/Test/comp/TypeDescriptors.dfy.expect +++ b/Test/comp/TypeDescriptors.dfy.expect @@ -1,3 +1,155 @@ + +Dafny program verifier finished with 11 verified, 0 errors + +Dafny program verifier did not attempt verification +int: 8 0 +bool: true false +char: 'r' 'D' +real: 1.618 0.0 +ORDINAL: 0 +bv0: 0 0 +bv21: 121 0 +bv32: 132 0 +bv191: 191 0 +set: {7} {} +multiset: multiset{7, 7} multiset{} +seq: [7] [] +map: map[2 := 7] map[] +pos: 3 1 +Hundred: 6 0 +HundredOdd: 13 19 +JustOdd: 131 5 +(): () () +(int, real): (2, 3.2) (0, 0.0) +(int, pos): (2, 3) (0, 1) +AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) +Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) +Stream: Stream.More +A=int: 15 0 +B=int: 16 0 +datatype.B=: {14} {} +object?: null +Class?>: null +Trait?>: null +array?: null +array2?: null +int --> bool: null +array? ~> bool: null + +Dafny program verifier did not attempt verification +int: 8 0 +bool: true false +char: 'r' 'D' +real: 1.618 0.0 +ORDINAL: 0 +bv0: 0 0 +bv21: 121 0 +bv32: 132 0 +bv191: 191 0 +set: {7} {} +multiset: multiset{7, 7} multiset{} +seq: [7] [] +map: map[2 := 7] map[] +pos: 3 1 +Hundred: 6 0 +HundredOdd: 13 19 +JustOdd: 131 5 +(): () () +(int, real): (2, 3.2) (0, 0.0) +(int, pos): (2, 3) (0, 1) +AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) +Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) +Stream: Stream.More +A=int: 15 0 +B=int: 16 0 +datatype.B=: {14} {} +object?: null +Class?>: null +Trait?>: null +array?: null +array2?: null +int --> bool: null +array? ~> bool: null + +Dafny program verifier did not attempt verification +int: 8 0 +bool: true false +char: 'r' 'D' +real: 1.618 0.0 +ORDINAL: 0 +bv0: 0 0 +bv21: 121 0 +bv32: 132 0 +bv191: 191 0 +set: {7} {} +multiset: multiset{7, 7} multiset{} +seq: [7] [] +map: map[2 := 7] map[] +pos: 3 1 +Hundred: 6 0 +HundredOdd: 13 19 +JustOdd: 131 5 +(): () () +(int, real): (2, 3.2) (0, 0.0) +(int, pos): (2, 3) (0, 1) +AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) +Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) +Stream: Stream.More +A=int: 15 0 +B=int: 16 0 +datatype.B=: {14} {} +object?: null +Class?>: null +Trait?>: null +array?: null +array2?: null +int --> bool: null +array? ~> bool: null + +Dafny program verifier did not attempt verification +int: 8 0 +bool: true false +char: 'r' 'D' +real: 1.618 0.0 +ORDINAL: 0 +bv0: 0 0 +bv21: 121 0 +bv32: 132 0 +bv191: 191 0 +set: {7} {} +multiset: multiset{7, 7} multiset{} +seq: [7] [] +map: map[2 := 7] map[] +pos: 3 1 +Hundred: 6 0 +HundredOdd: 13 19 +JustOdd: 131 5 +(): () () +(int, real): (2, 3.2) (0, 0.0) +(int, pos): (2, 3) (0, 1) +AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) +Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) +Stream: Stream.More +A=int: 15 0 +B=int: 16 0 +datatype.B=: {14} {} +object?: null +Class?>: null +Trait?>: null +array?: null +array2?: null +int --> bool: null +array? ~> bool: null + +Dafny program verifier did not attempt verification int: 8 0 bool: true false char: 'r' 'D' diff --git a/Test/comp/TypeParams.dfy b/Test/comp/TypeParams.dfy index c595881e028..11d1b3bac6a 100644 --- a/Test/comp/TypeParams.dfy +++ b/Test/comp/TypeParams.dfy @@ -1,6 +1,11 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation - +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" + +// RUN: %diff "%s.expect" "%t" datatype Color = Orange | Pink | Teal type Six = x | x <= 6 diff --git a/Test/comp/TypeParams.dfy.expect b/Test/comp/TypeParams.dfy.expect index 1381a030f65..ac8ef1c58e5 100644 --- a/Test/comp/TypeParams.dfy.expect +++ b/Test/comp/TypeParams.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 17 verified, 0 errors + +Dafny program verifier did not attempt verification 0 0 0 false Color.Orange 0.0 {} Color.Orange null null null null null {} multiset{} [] map[] {} map[] @@ -17,3 +21,87 @@ System.Func`2[Dafny.BigRational,System.Boolean] System.Func`1[System.Numerics.BigInteger] System.Func`3[_module._IColor,Dafny.ISet`1[System.UInt16],System.UInt32] 0 0 + +Dafny program verifier did not attempt verification +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +function () { return false; } +function () { return _dafny.ZERO; } +function () { return _dafny.ZERO; } +0 0 + +Dafny program verifier did not attempt verification +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +func(dafny.Real) bool +func() dafny.Int +func(main.Color, dafny.Set) uint32 +0 0 + +Dafny program verifier did not attempt verification +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +Function +Function +Function +0 0 + +Dafny program verifier did not attempt verification +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +Function +Function +Function +0 0 diff --git a/Test/comp/TypeParams.dfy.go.expect b/Test/comp/TypeParams.dfy.go.expect deleted file mode 100644 index e3a8e67d066..00000000000 --- a/Test/comp/TypeParams.dfy.go.expect +++ /dev/null @@ -1,19 +0,0 @@ -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -func(dafny.Real) bool -func() dafny.Int -func(main.Color, dafny.Set) uint32 -0 0 diff --git a/Test/comp/TypeParams.dfy.java.expect b/Test/comp/TypeParams.dfy.java.expect deleted file mode 100644 index 5f843ba06d1..00000000000 --- a/Test/comp/TypeParams.dfy.java.expect +++ /dev/null @@ -1,19 +0,0 @@ -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -Function -Function -Function -0 0 diff --git a/Test/comp/TypeParams.dfy.js.expect b/Test/comp/TypeParams.dfy.js.expect deleted file mode 100644 index 865c33ea48b..00000000000 --- a/Test/comp/TypeParams.dfy.js.expect +++ /dev/null @@ -1,19 +0,0 @@ -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -function () { return false; } -function () { return _dafny.ZERO; } -function () { return _dafny.ZERO; } -0 0 diff --git a/Test/comp/TypeParams.dfy.py.expect b/Test/comp/TypeParams.dfy.py.expect deleted file mode 100644 index 5f843ba06d1..00000000000 --- a/Test/comp/TypeParams.dfy.py.expect +++ /dev/null @@ -1,19 +0,0 @@ -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -Function -Function -Function -0 0 diff --git a/Test/comp/UnoptimizedErasableTypeWrappers.dfy b/Test/comp/UnoptimizedErasableTypeWrappers.dfy index b7911aed9db..58f0682ed41 100644 --- a/Test/comp/UnoptimizedErasableTypeWrappers.dfy +++ b/Test/comp/UnoptimizedErasableTypeWrappers.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --optimize-erasable-datatype-wrapper:false --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype SingletonRecord = SingletonRecord(u: int) datatype WithGhost = WithGhost(u: int, ghost v: int) diff --git a/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect b/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect index 3371376a52b..be1d7190b0f 100644 --- a/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect +++ b/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect @@ -1,3 +1,31 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification +SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) +() (30) (31) (30, 32) +15 20 +30 31 30 32 + +Dafny program verifier did not attempt verification +SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) +() (30) (31) (30, 32) +15 20 +30 31 30 32 + +Dafny program verifier did not attempt verification +SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) +() (30) (31) (30, 32) +15 20 +30 31 30 32 + +Dafny program verifier did not attempt verification +SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) +() (30) (31) (30, 32) +15 20 +30 31 30 32 + +Dafny program verifier did not attempt verification SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) () (30) (31) (30, 32) 15 20 diff --git a/Test/comp/Variance.dfy b/Test/comp/Variance.dfy index ddcde6cd7d7..6c198495209 100644 --- a/Test/comp/Variance.dfy +++ b/Test/comp/Variance.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --warn-deprecation:false +// RUN: %dafny /compile:0 /deprecation:0 "%s" > "%t" +// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Co<+T> = Co(z: T) { const x: int; diff --git a/Test/comp/Variance.dfy.expect b/Test/comp/Variance.dfy.expect index 5bb565b6bb4..cf08d82ac07 100644 --- a/Test/comp/Variance.dfy.expect +++ b/Test/comp/Variance.dfy.expect @@ -1,3 +1,67 @@ + +Dafny program verifier finished with 13 verified, 0 errors + +Dafny program verifier did not attempt verification +Co.Co(_module.Int) and Co.Co(_module.Int) +true0[]0000 +Non.Non(_module.Int) and Non.Non(_module.Int) +true0[]0000 +0 and 0 +_module.Int0[]0000 +CCo.CCo and CCo.CCo +true0[]0000 +CNon.CNon and CNon.CNon +true0[]0000 +CCon.CCon and CCon.CCon +_module.Int0[]0000 +Done + +Dafny program verifier did not attempt verification +Co.Co(_module.Int) and Co.Co(_module.Int) +true0[]0000 +Non.Non(_module.Int) and Non.Non(_module.Int) +true0[]0000 +0 and 0 +_module.Int0[]0000 +CCo.CCo and CCo.CCo +true0[]0000 +CNon.CNon and CNon.CNon +true0[]0000 +CCon.CCon and CCon.CCon +_module.Int0[]0000 +Done + +Dafny program verifier did not attempt verification +Co.Co(_module.Int) and Co.Co(_module.Int) +true0[]0000 +Non.Non(_module.Int) and Non.Non(_module.Int) +true0[]0000 +0 and 0 +_module.Int0[]0000 +CCo.CCo and CCo.CCo +true0[]0000 +CNon.CNon and CNon.CNon +true0[]0000 +CCon.CCon and CCon.CCon +_module.Int0[]0000 +Done + +Dafny program verifier did not attempt verification +Co.Co(_module.Int) and Co.Co(_module.Int) +true0[]0000 +Non.Non(_module.Int) and Non.Non(_module.Int) +true0[]0000 +0 and 0 +_module.Int0[]0000 +CCo.CCo and CCo.CCo +true0[]0000 +CNon.CNon and CNon.CNon +true0[]0000 +CCon.CCon and CCon.CCon +_module.Int0[]0000 +Done + +Dafny program verifier did not attempt verification Co.Co(_module.Int) and Co.Co(_module.Int) true0[]0000 Non.Non(_module.Int) and Non.Non(_module.Int) diff --git a/Test/comp/Various.dfy b/Test/comp/Various.dfy index 502801e4c2a..1f29c511a83 100644 --- a/Test/comp/Various.dfy +++ b/Test/comp/Various.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Match(tp: (nat, nat)) { match tp diff --git a/Test/comp/Various.dfy.expect b/Test/comp/Various.dfy.expect index 66f013c00f7..502e2d04792 100644 --- a/Test/comp/Various.dfy.expect +++ b/Test/comp/Various.dfy.expect @@ -1,3 +1,43 @@ + +Dafny program verifier finished with 4 verified, 0 errors + +Dafny program verifier did not attempt verification +match +1 +Kablammo!! +0 +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] + +Dafny program verifier did not attempt verification +match +1 +Kablammo!! +0 +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] + +Dafny program verifier did not attempt verification +match +1 +Kablammo!! +0 +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] + +Dafny program verifier did not attempt verification +match +1 +Kablammo!! +0 +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] + +Dafny program verifier did not attempt verification match 1 Kablammo!! diff --git a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy index 2cf77360cab..10fe57dec8f 100644 --- a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy +++ b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // An extremely small program intended to be the first target input for // brand new Dafny compilers. Avoids any use of strings (and therefore sequences) diff --git a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect index f32a5804e29..e1dcaef650b 100644 --- a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect +++ b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect @@ -1 +1,5 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification true \ No newline at end of file diff --git a/Test/comp/firstSteps/1_Calls-F.dfy b/Test/comp/firstSteps/1_Calls-F.dfy index 4fe5b83e551..32566f59f3b 100644 --- a/Test/comp/firstSteps/1_Calls-F.dfy +++ b/Test/comp/firstSteps/1_Calls-F.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/1_Calls-F.dfy.expect b/Test/comp/firstSteps/1_Calls-F.dfy.expect index 7ed6ff82de6..58e0a68ec1c 100644 --- a/Test/comp/firstSteps/1_Calls-F.dfy.expect +++ b/Test/comp/firstSteps/1_Calls-F.dfy.expect @@ -1 +1,5 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification 5 diff --git a/Test/comp/firstSteps/2_Modules.dfy b/Test/comp/firstSteps/2_Modules.dfy index d0effcb5a71..750b8d60c21 100644 --- a/Test/comp/firstSteps/2_Modules.dfy +++ b/Test/comp/firstSteps/2_Modules.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" module A { const i: nat := 1 diff --git a/Test/comp/firstSteps/2_Modules.dfy.expect b/Test/comp/firstSteps/2_Modules.dfy.expect index b85905ec0b9..9a4b57459c7 100644 --- a/Test/comp/firstSteps/2_Modules.dfy.expect +++ b/Test/comp/firstSteps/2_Modules.dfy.expect @@ -1 +1,5 @@ + +Dafny program verifier finished with 3 verified, 0 errors + +Dafny program verifier did not attempt verification 1 2 3 diff --git a/Test/comp/firstSteps/3_Calls-As.dfy b/Test/comp/firstSteps/3_Calls-As.dfy index 38889421865..f22bbdbd3f6 100644 --- a/Test/comp/firstSteps/3_Calls-As.dfy +++ b/Test/comp/firstSteps/3_Calls-As.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/3_Calls-As.dfy.expect b/Test/comp/firstSteps/3_Calls-As.dfy.expect index a1c59bb761f..eea6c52592c 100644 --- a/Test/comp/firstSteps/3_Calls-As.dfy.expect +++ b/Test/comp/firstSteps/3_Calls-As.dfy.expect @@ -1 +1,5 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification 0 0 false 0 false 0 diff --git a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy index 6a66781ff0d..89fb669dca0 100644 --- a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy +++ b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect index a8d09f0a6f5..e7498a27e3e 100644 --- a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect +++ b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect @@ -1,2 +1,6 @@ + +Dafny program verifier finished with 3 verified, 0 errors + +Dafny program verifier did not attempt verification 5 3 5 3 5 3 5 3 diff --git a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy index 1175b1eca8f..096523f8956 100644 --- a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy +++ b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect index ef3de96e567..8954da2b386 100644 --- a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect +++ b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect @@ -1,2 +1,6 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification 5 3 5 3 diff --git a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy index 5d970ac4de5..1fbaebdf4e9 100644 --- a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy +++ b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect index 4ff62e33956..b6ffe78bcbb 100644 --- a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect +++ b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 4 verified, 0 errors + +Dafny program verifier did not attempt verification 15 [0, 1, 2, 4] [0, 2, 4] diff --git a/Test/comp/firstSteps/7_Arrays.dfy b/Test/comp/firstSteps/7_Arrays.dfy index d02c942c9bb..07ddf89594b 100644 --- a/Test/comp/firstSteps/7_Arrays.dfy +++ b/Test/comp/firstSteps/7_Arrays.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // This fragment of comp/Arrays.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/7_Arrays.dfy.expect b/Test/comp/firstSteps/7_Arrays.dfy.expect index fa00285c692..75e824c80bb 100644 --- a/Test/comp/firstSteps/7_Arrays.dfy.expect +++ b/Test/comp/firstSteps/7_Arrays.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 7 verified, 0 errors + +Dafny program verifier did not attempt verification 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/comp/firstSteps/7_Dt_Algebraic.dfy b/Test/comp/firstSteps/7_Dt_Algebraic.dfy index 46a2995b37f..991462d8bdf 100644 --- a/Test/comp/firstSteps/7_Dt_Algebraic.dfy +++ b/Test/comp/firstSteps/7_Dt_Algebraic.dfy @@ -1,5 +1,7 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // This fragment of comp/Dt.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect deleted file mode 100644 index ba1b72ea6f7..00000000000 --- a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect +++ /dev/null @@ -1,11 +0,0 @@ -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} -42 'q' hello -1701 diff --git a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect index e3ff7faba6e..ec9b49fe420 100644 --- a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect +++ b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 7 verified, 0 errors + +Dafny program verifier did not attempt verification List.Nil List.Cons(5, List.Nil) (List.Nil, List.Cons(5, List.Nil)) @@ -9,3 +13,16 @@ List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, Li {Berry.Hallon, Berry.Smultron, Berry.Jordgubb} 42 'q' hello 1701 + +Dafny program verifier did not attempt verification +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} +42 'q' hello +1701 diff --git a/Test/dafny0/ArrayElementInitCompile.dfy b/Test/dafny0/ArrayElementInitCompile.dfy index 3714cf0fe8e..7d652486b9e 100644 --- a/Test/dafny0/ArrayElementInitCompile.dfy +++ b/Test/dafny0/ArrayElementInitCompile.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 /print:"%t.print" /rprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny0/ArrayElementInitCompile.dfy.expect b/Test/dafny0/ArrayElementInitCompile.dfy.expect index eaa3e759999..a5241c75f19 100644 --- a/Test/dafny0/ArrayElementInitCompile.dfy.expect +++ b/Test/dafny0/ArrayElementInitCompile.dfy.expect @@ -1,3 +1,79 @@ + +Dafny program verifier finished with 18 verified, 0 errors + +Dafny program verifier did not attempt verification +67 67 67 67 67 67 67 67 +0 1 2 3 +1 2 3 4 +2 3 4 5 +3 4 5 6 +4 5 6 7 +O . O . O . O . O . O . +12 12 12 12 12 12 12 12 12 12 12 12 +D E +y z +4 3 +7 +100 75 98 25 + +looks like this rocks +-2 -1 0 1 2 3 4 + +Dafny program verifier did not attempt verification +67 67 67 67 67 67 67 67 +0 1 2 3 +1 2 3 4 +2 3 4 5 +3 4 5 6 +4 5 6 7 +O . O . O . O . O . O . +12 12 12 12 12 12 12 12 12 12 12 12 +D E +y z +4 3 +7 +100 75 98 25 + +looks like this rocks +-2 -1 0 1 2 3 4 + +Dafny program verifier did not attempt verification +67 67 67 67 67 67 67 67 +0 1 2 3 +1 2 3 4 +2 3 4 5 +3 4 5 6 +4 5 6 7 +O . O . O . O . O . O . +12 12 12 12 12 12 12 12 12 12 12 12 +D E +y z +4 3 +7 +100 75 98 25 + +looks like this rocks +-2 -1 0 1 2 3 4 + +Dafny program verifier did not attempt verification +67 67 67 67 67 67 67 67 +0 1 2 3 +1 2 3 4 +2 3 4 5 +3 4 5 6 +4 5 6 7 +O . O . O . O . O . O . +12 12 12 12 12 12 12 12 12 12 12 12 +D E +y z +4 3 +7 +100 75 98 25 + +looks like this rocks +-2 -1 0 1 2 3 4 + +Dafny program verifier did not attempt verification 67 67 67 67 67 67 67 67 0 1 2 3 1 2 3 4 diff --git a/Test/dafny0/Bitvectors.dfy b/Test/dafny0/Bitvectors.dfy index 4c8e1094455..6e0c9270b99 100644 --- a/Test/dafny0/Bitvectors.dfy +++ b/Test/dafny0/Bitvectors.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /print:"%t.print" /env:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // Note the difference in Java output is due to // https://github.com/dafny-lang/dafny/issues/4152 diff --git a/Test/dafny0/Bitvectors.dfy.expect b/Test/dafny0/Bitvectors.dfy.expect index ed1c7328e83..51fda88f97b 100644 --- a/Test/dafny0/Bitvectors.dfy.expect +++ b/Test/dafny0/Bitvectors.dfy.expect @@ -1,3 +1,52 @@ + +Dafny program verifier finished with 11 verified, 0 errors + +Dafny program verifier did not attempt verification +4000 4000 4000 0 +1 2053 1099 +185 55 +2 4 +Comparisons: true true false false +bv16: 5 - 2 == 3 +bv16: 1 - 2 == 65535 +3 2 +0 0 +false true true false +bv67: 147573952589676412927 + 3 == 2 - 3 == 147573952589676412925 !! 3 == ! 147573952589676412924 == 3 +bv64: 18446744073709551615 + 3 == 2 - 3 == 18446744073709551613 !! 3 == ! 18446744073709551612 == 3 +bv53: 9007199254740991 + 3 == 2 - 3 == 9007199254740989 !! 3 == ! 9007199254740988 == 3 +bv33: 8589934591 + 3 == 2 - 3 == 8589934589 !! 3 == ! 8589934588 == 3 +bv32: 4294967295 + 3 == 2 - 3 == 4294967293 !! 3 == ! 4294967292 == 3 +bv31: 2147483647 + 3 == 2 - 3 == 2147483645 !! 3 == ! 2147483644 == 3 +bv16: 65535 + 3 == 2 - 3 == 65533 !! 3 == ! 65532 == 3 +bv15: 32767 + 3 == 2 - 3 == 32765 !! 3 == ! 32764 == 3 +bv8: 255 + 3 == 2 - 3 == 253 !! 3 == ! 252 == 3 +bv6: 63 + 3 == 2 - 3 == 61 !! 3 == ! 60 == 3 +bv1: 1 + 1 == 0 - 1 == 1 !! 1 == ! 0 == 1 +bv0: 0 + 0 == 0 - 0 == 0 !! 0 == ! 0 == 0 +bv2: + 3 + 2 == 1 + 3 - 2 == 1 + 3 * 2 == 2 + 3 / 2 == 1 + 3 % 2 == 1 +PrintShifts: bv67: 5 40 40 40 +PrintShifts: bv32: 5 40 40 40 +PrintShifts: bv7: 5 40 40 40 +PrintShifts: bv2: 1 2 2 2 +PrintShifts: bv0: 0 0 0 0 +PrintShifts: bv67 again: 2 2 2 73786976294838206465 +PrintShifts: bv32 again: 8000 8000 2147487648 3221227472 +PrintShifts: bv7 again: 124 124 124 127 +PrintShifts: bv0 again: 0 0 0 0 +PrintRotates: bv12: 5 5 +PrintRotates: bv7: 5 5 +PrintRotates: bv2: 1 1 +PrintRotates: bv0: 0 0 +PrintRotates: bv12 again: 976 976 +PrintRotates: bv7 again: 127 127 + +Dafny program verifier did not attempt verification 4000 4000 4000 0 1 2053 1099 185 55 diff --git a/Test/dafny0/Constant.dfy b/Test/dafny0/Constant.dfy index 1fdeedc3335..f021e7d4482 100644 --- a/Test/dafny0/Constant.dfy +++ b/Test/dafny0/Constant.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" const one:int := 1 const two:int := one * 2 diff --git a/Test/dafny0/Constant.dfy.expect b/Test/dafny0/Constant.dfy.expect index 1a7b981715f..6099b08c38c 100644 --- a/Test/dafny0/Constant.dfy.expect +++ b/Test/dafny0/Constant.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 17 verified, 0 errors one := 1 two := 2 three := 3 diff --git a/Test/dafny0/Deprecation.dfy b/Test/dafny0/Deprecation.dfy index 86521043d43..8c9c688d463 100644 --- a/Test/dafny0/Deprecation.dfy +++ b/Test/dafny0/Deprecation.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // This file contains tests for messags about various deprecated features. // As those features go away completely, so can the corresponding tests. diff --git a/Test/dafny0/Deprecation.dfy.expect b/Test/dafny0/Deprecation.dfy.expect index 0dffd975ac7..4ff88d31ade 100644 --- a/Test/dafny0/Deprecation.dfy.expect +++ b/Test/dafny0/Deprecation.dfy.expect @@ -1 +1,8 @@ +Deprecation.dfy(16,13): Warning: constructors no longer need 'this' to be listed in modifies clauses +Deprecation.dfy(23,0): Warning: the old keyword phrase 'inductive predicate' has been renamed to 'least predicate' +Deprecation.dfy(26,0): Warning: the old keyword 'copredicate' has been renamed to the keyword phrase 'greatest predicate' +Deprecation.dfy(29,0): Warning: the old keyword phrase 'inductive lemma' has been renamed to 'least lemma' +Deprecation.dfy(32,0): Warning: the old keyword 'colemma' has been renamed to the keyword phrase 'greatest lemma' + +Dafny program verifier finished with 0 verified, 0 errors yet here we are diff --git a/Test/dafny0/Deprecation.dfy.verifier.expect b/Test/dafny0/Deprecation.dfy.verifier.expect deleted file mode 100644 index c0851e9888c..00000000000 --- a/Test/dafny0/Deprecation.dfy.verifier.expect +++ /dev/null @@ -1,5 +0,0 @@ -Deprecation.dfy(15,13): Warning: constructors no longer need 'this' to be listed in modifies clauses -Deprecation.dfy(22,0): Warning: the old keyword phrase 'inductive predicate' has been renamed to 'least predicate' -Deprecation.dfy(25,0): Warning: the old keyword 'copredicate' has been renamed to the keyword phrase 'greatest predicate' -Deprecation.dfy(28,0): Warning: the old keyword phrase 'inductive lemma' has been renamed to 'least lemma' -Deprecation.dfy(31,0): Warning: the old keyword 'colemma' has been renamed to the keyword phrase 'greatest lemma' diff --git a/Test/dafny0/DiscoverBounds.dfy b/Test/dafny0/DiscoverBounds.dfy index 18e56158613..31f9717ee79 100644 --- a/Test/dafny0/DiscoverBounds.dfy +++ b/Test/dafny0/DiscoverBounds.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /print:"%t.print" /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype NT = x | 0 <= x < 100 newtype UT = NT diff --git a/Test/dafny0/DiscoverBounds.dfy.expect b/Test/dafny0/DiscoverBounds.dfy.expect index 909a58326d0..e43954c7be1 100644 --- a/Test/dafny0/DiscoverBounds.dfy.expect +++ b/Test/dafny0/DiscoverBounds.dfy.expect @@ -1,3 +1,10 @@ +DiscoverBounds.dfy(32,7): Warning: /!\ No terms found to trigger on. +DiscoverBounds.dfy(33,7): Warning: /!\ No terms found to trigger on. +DiscoverBounds.dfy(34,7): Warning: /!\ No terms found to trigger on. +DiscoverBounds.dfy(35,7): Warning: /!\ No terms found to trigger on. +DiscoverBounds.dfy(36,7): Warning: /!\ No terms found to trigger on. + +Dafny program verifier finished with 7 verified, 0 errors 0 0 -2 diff --git a/Test/dafny0/DiscoverBounds.dfy.verifier.expect b/Test/dafny0/DiscoverBounds.dfy.verifier.expect deleted file mode 100644 index 7c4de01ee0e..00000000000 --- a/Test/dafny0/DiscoverBounds.dfy.verifier.expect +++ /dev/null @@ -1,5 +0,0 @@ -DiscoverBounds.dfy(31,7): Warning: /!\ No terms found to trigger on. -DiscoverBounds.dfy(32,7): Warning: /!\ No terms found to trigger on. -DiscoverBounds.dfy(33,7): Warning: /!\ No terms found to trigger on. -DiscoverBounds.dfy(34,7): Warning: /!\ No terms found to trigger on. -DiscoverBounds.dfy(35,7): Warning: /!\ No terms found to trigger on. diff --git a/Test/dafny0/DividedConstructors.dfy b/Test/dafny0/DividedConstructors.dfy index e6f63a35f11..169bf4ee7df 100644 --- a/Test/dafny0/DividedConstructors.dfy +++ b/Test/dafny0/DividedConstructors.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /env:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var m := new M0.MyClass.Init(20); diff --git a/Test/dafny0/DividedConstructors.dfy.expect b/Test/dafny0/DividedConstructors.dfy.expect index 2dcc1ba6402..eaa3ed7d379 100644 --- a/Test/dafny0/DividedConstructors.dfy.expect +++ b/Test/dafny0/DividedConstructors.dfy.expect @@ -1,2 +1,5 @@ +DividedConstructors.dfy(62,9): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier finished with 17 verified, 0 errors 37, 17, 3.14 false, true diff --git a/Test/dafny0/DividedConstructors.dfy.verifier.expect b/Test/dafny0/DividedConstructors.dfy.verifier.expect deleted file mode 100644 index f3fdfadddbf..00000000000 --- a/Test/dafny0/DividedConstructors.dfy.verifier.expect +++ /dev/null @@ -1 +0,0 @@ -DividedConstructors.dfy(61,9): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny0/EqualityTypesCompile.dfy b/Test/dafny0/EqualityTypesCompile.dfy index a36d1818c1d..de7954710e9 100644 --- a/Test/dafny0/EqualityTypesCompile.dfy +++ b/Test/dafny0/EqualityTypesCompile.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype List = Nil | Cons(A, List) | ICons(int, List) datatype TwoLists = Two(List, List) diff --git a/Test/dafny0/EqualityTypesCompile.dfy.expect b/Test/dafny0/EqualityTypesCompile.dfy.expect index 0246dc39633..d2f1950e7f7 100644 --- a/Test/dafny0/EqualityTypesCompile.dfy.expect +++ b/Test/dafny0/EqualityTypesCompile.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 1 verified, 0 errors from M: false from N: false from H: false diff --git a/Test/dafny0/ForallCompilationNewSyntax.dfy b/Test/dafny0/ForallCompilationNewSyntax.dfy index ac354d6338c..b7132df78ae 100644 --- a/Test/dafny0/ForallCompilationNewSyntax.dfy +++ b/Test/dafny0/ForallCompilationNewSyntax.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --quantifier-syntax:4 --relax-definite-assignment +// RUN: %baredafny run %args --relax-definite-assignment --quantifier-syntax:4 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var c := new MyClass; diff --git a/Test/dafny0/ForallCompilationNewSyntax.dfy.expect b/Test/dafny0/ForallCompilationNewSyntax.dfy.expect index e69de29bb2d..5b7ec4613bb 100644 --- a/Test/dafny0/ForallCompilationNewSyntax.dfy.expect +++ b/Test/dafny0/ForallCompilationNewSyntax.dfy.expect @@ -0,0 +1,6 @@ +ForallCompilationNewSyntax.dfy(26,4): Warning: /!\ No terms found to trigger on. +ForallCompilationNewSyntax.dfy(35,4): Warning: /!\ No terms found to trigger on. +ForallCompilationNewSyntax.dfy(44,4): Warning: /!\ No terms found to trigger on. +ForallCompilationNewSyntax.dfy(64,4): Warning: /!\ No trigger covering all quantified variables found. + +Dafny program verifier finished with 14 verified, 0 errors diff --git a/Test/dafny0/ForallCompilationNewSyntax.dfy.verifier.expect b/Test/dafny0/ForallCompilationNewSyntax.dfy.verifier.expect deleted file mode 100644 index a94cd5ea608..00000000000 --- a/Test/dafny0/ForallCompilationNewSyntax.dfy.verifier.expect +++ /dev/null @@ -1,4 +0,0 @@ -ForallCompilationNewSyntax.dfy(25,4): Warning: /!\ No terms found to trigger on. -ForallCompilationNewSyntax.dfy(34,4): Warning: /!\ No terms found to trigger on. -ForallCompilationNewSyntax.dfy(43,4): Warning: /!\ No terms found to trigger on. -ForallCompilationNewSyntax.dfy(63,4): Warning: /!\ No trigger covering all quantified variables found. diff --git a/Test/dafny0/GhostITECompilation.dfy b/Test/dafny0/GhostITECompilation.dfy index bd7cfa28a95..d761ddbc6ea 100644 --- a/Test/dafny0/GhostITECompilation.dfy +++ b/Test/dafny0/GhostITECompilation.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --function-syntax:4 --relax-definite-assignment +// RUN: %dafny /compile:0 /functionSyntax:4 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" function F(x: nat, ghost y: nat): nat { diff --git a/Test/dafny0/GhostITECompilation.dfy.expect b/Test/dafny0/GhostITECompilation.dfy.expect index b4988e5cf11..1ec406bf52c 100644 --- a/Test/dafny0/GhostITECompilation.dfy.expect +++ b/Test/dafny0/GhostITECompilation.dfy.expect @@ -1,3 +1,31 @@ + +Dafny program verifier finished with 6 verified, 0 errors + +Dafny program verifier did not attempt verification +65 +65 +65 +65 + +Dafny program verifier did not attempt verification +65 +65 +65 +65 + +Dafny program verifier did not attempt verification +65 +65 +65 +65 + +Dafny program verifier did not attempt verification +65 +65 +65 +65 + +Dafny program verifier did not attempt verification 65 65 65 diff --git a/Test/dafny0/InitialValues.dfy b/Test/dafny0/InitialValues.dfy index 0848d244d71..7dcb05cc9c9 100644 --- a/Test/dafny0/InitialValues.dfy +++ b/Test/dafny0/InitialValues.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny0/InitialValues.dfy.expect b/Test/dafny0/InitialValues.dfy.expect index 18903dcc3dd..ada1b783c16 100644 --- a/Test/dafny0/InitialValues.dfy.expect +++ b/Test/dafny0/InitialValues.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 2 verified, 0 errors r= 0.0 s= 3.4 a= 0.0 b= 3.4 z= 0.0 a==z = true diff --git a/Test/dafny0/MatchBraces.dfy b/Test/dafny0/MatchBraces.dfy index 4ac380f2739..ddd1924774b 100644 --- a/Test/dafny0/MatchBraces.dfy +++ b/Test/dafny0/MatchBraces.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /print:"%t.print" /env:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Color = Red | Green | Blue diff --git a/Test/dafny0/MatchBraces.dfy.expect b/Test/dafny0/MatchBraces.dfy.expect index 4f89bff47e5..88f6cf4f56e 100644 --- a/Test/dafny0/MatchBraces.dfy.expect +++ b/Test/dafny0/MatchBraces.dfy.expect @@ -1,2 +1,10 @@ + +Dafny program verifier finished with 5 verified, 0 errors + +Dafny program verifier did not attempt verification +7 0.18 Color.Red 13 12 +11 98.0 Color.Green 14 115 + +Dafny program verifier did not attempt verification 7 0.18 Color.Red 13 12 11 98.0 Color.Green 14 115 diff --git a/Test/dafny0/MoForallCompilation.dfy b/Test/dafny0/MoForallCompilation.dfy index af080853463..835712edbce 100644 --- a/Test/dafny0/MoForallCompilation.dfy +++ b/Test/dafny0/MoForallCompilation.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { TestAggregateArrayUpdate(); diff --git a/Test/dafny0/MoForallCompilation.dfy.expect b/Test/dafny0/MoForallCompilation.dfy.expect index 7bb606c1528..c431c74c6aa 100644 --- a/Test/dafny0/MoForallCompilation.dfy.expect +++ b/Test/dafny0/MoForallCompilation.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 18 verified, 0 errors -4.0 -3.0 -2.0 -1.0 0.0 1.0 2.0 3.0 7.0 6.0 5.0 4.0 3.0 2.0 1.0 0.0 true true true true true true false false diff --git a/Test/dafny0/NameclashesCompile.dfy b/Test/dafny0/NameclashesCompile.dfy index 46cae4b2338..4d06065c675 100644 --- a/Test/dafny0/NameclashesCompile.dfy +++ b/Test/dafny0/NameclashesCompile.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var r0, r1; diff --git a/Test/dafny0/NameclashesCompile.dfy.expect b/Test/dafny0/NameclashesCompile.dfy.expect index f001bdaeb1e..1434bb632f6 100644 --- a/Test/dafny0/NameclashesCompile.dfy.expect +++ b/Test/dafny0/NameclashesCompile.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 2 verified, 0 errors 15.0 15.1 94 99 0.8 14.3 14.4 18.9 18.92 diff --git a/Test/dafny0/NonZeroInitializationCompile.dfy b/Test/dafny0/NonZeroInitializationCompile.dfy index 2fedae6d60d..48b61a39369 100644 --- a/Test/dafny0/NonZeroInitializationCompile.dfy +++ b/Test/dafny0/NonZeroInitializationCompile.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" type MyInt = x | 6 <= x witness 6 newtype MyNewInt = x | 6 <= x witness 12 diff --git a/Test/dafny0/NonZeroInitializationCompile.dfy.expect b/Test/dafny0/NonZeroInitializationCompile.dfy.expect index c682dccf3fc..72b333efb85 100644 --- a/Test/dafny0/NonZeroInitializationCompile.dfy.expect +++ b/Test/dafny0/NonZeroInitializationCompile.dfy.expect @@ -1,3 +1,76 @@ + +Dafny program verifier finished with 15 verified, 0 errors + +Dafny program verifier did not attempt verification +These are the arbitrary values chosen by the compiler: 6, 12 +short, short': 0, -35 +nes: {57} +f0, f1: (0, false), (29, true) +dt: Dt.Atom(-35) +cl { u: 12, x: 0, r: 3.14, nes: {57} } +cl' { u: 12, x: 0, ': 3.14, nes: {20, 57} } + +x: real :: 0.0 versus 0.0 +ch: char :: 'D' versus 'D' +s: set :: {} versus {} +d: Xt :: AdvancedZeroInitialization.Xt.MakeXt(0, []) versus AdvancedZeroInitialization.Xt.MakeXt(0, []) +y: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, []) versus AdvancedZeroInitialization.Yt.MakeYt(0, []) +z: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization.Yt.MakeYt(0, 0) + +x: real :: 0.0 versus 0.0 +ch: char :: 'D' versus 'D' +s: set :: {} versus {} +d: Xt :: AdvancedZeroInitialization.Xt.MakeXt(0, []) versus AdvancedZeroInitialization.Xt.MakeXt(0, []) +y: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, []) versus AdvancedZeroInitialization.Yt.MakeYt(0, []) +z: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization.Yt.MakeYt(0, 0) + +Dafny program verifier did not attempt verification +These are the arbitrary values chosen by the compiler: 6, 12 +short, short': 0, -35 +nes: {57} +f0, f1: (0, false), (29, true) +dt: Dt.Atom(-35) +cl { u: 12, x: 0, r: 3.14, nes: {57} } +cl' { u: 12, x: 0, ': 3.14, nes: {20, 57} } + +x: real :: 0.0 versus 0.0 +ch: char :: 'D' versus 'D' +s: set :: {} versus {} +d: Xt :: AdvancedZeroInitialization.Xt.MakeXt(0, []) versus AdvancedZeroInitialization.Xt.MakeXt(0, []) +y: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, []) versus AdvancedZeroInitialization.Yt.MakeYt(0, []) +z: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization.Yt.MakeYt(0, 0) + +x: real :: 0.0 versus 0.0 +ch: char :: 'D' versus 'D' +s: set :: {} versus {} +d: Xt :: AdvancedZeroInitialization.Xt.MakeXt(0, []) versus AdvancedZeroInitialization.Xt.MakeXt(0, []) +y: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, []) versus AdvancedZeroInitialization.Yt.MakeYt(0, []) +z: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization.Yt.MakeYt(0, 0) + +Dafny program verifier did not attempt verification +These are the arbitrary values chosen by the compiler: 6, 12 +short, short': 0, -35 +nes: {57} +f0, f1: (0, false), (29, true) +dt: Dt.Atom(-35) +cl { u: 12, x: 0, r: 3.14, nes: {57} } +cl' { u: 12, x: 0, ': 3.14, nes: {20, 57} } + +x: real :: 0.0 versus 0.0 +ch: char :: 'D' versus 'D' +s: set :: {} versus {} +d: Xt :: AdvancedZeroInitialization.Xt.MakeXt(0, []) versus AdvancedZeroInitialization.Xt.MakeXt(0, []) +y: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, []) versus AdvancedZeroInitialization.Yt.MakeYt(0, []) +z: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization.Yt.MakeYt(0, 0) + +x: real :: 0.0 versus 0.0 +ch: char :: 'D' versus 'D' +s: set :: {} versus {} +d: Xt :: AdvancedZeroInitialization.Xt.MakeXt(0, []) versus AdvancedZeroInitialization.Xt.MakeXt(0, []) +y: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, []) versus AdvancedZeroInitialization.Yt.MakeYt(0, []) +z: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization.Yt.MakeYt(0, 0) + +Dafny program verifier did not attempt verification These are the arbitrary values chosen by the compiler: 6, 12 short, short': 0, -35 nes: {57} diff --git a/Test/dafny0/NullComparisonWarnings.dfy b/Test/dafny0/NullComparisonWarnings.dfy index 35fd5ffb3f4..eb9183040bc 100644 --- a/Test/dafny0/NullComparisonWarnings.dfy +++ b/Test/dafny0/NullComparisonWarnings.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { print "despite the warnings, the program still compiles\n"; diff --git a/Test/dafny0/NullComparisonWarnings.dfy.expect b/Test/dafny0/NullComparisonWarnings.dfy.expect index f2b4545fac7..d8cf4a9960c 100644 --- a/Test/dafny0/NullComparisonWarnings.dfy.expect +++ b/Test/dafny0/NullComparisonWarnings.dfy.expect @@ -1 +1,14 @@ +NullComparisonWarnings.dfy(27,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(28,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'y' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(29,14): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for field 'next' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(30,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(31,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'y' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(32,14): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for field 'next' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(34,12): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(37,12): Warning: the type of the other operand is a set of non-null elements, so the inclusion test of 'null' will always return 'false' +NullComparisonWarnings.dfy(38,12): Warning: the type of the other operand is a set of non-null elements, so the non-inclusion test of 'null' will always return 'true' +NullComparisonWarnings.dfy(40,41): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'u' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(45,12): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' + +Dafny program verifier finished with 4 verified, 0 errors despite the warnings, the program still compiles diff --git a/Test/dafny0/NullComparisonWarnings.dfy.verifier.expect b/Test/dafny0/NullComparisonWarnings.dfy.verifier.expect deleted file mode 100644 index 24f9074ecc9..00000000000 --- a/Test/dafny0/NullComparisonWarnings.dfy.verifier.expect +++ /dev/null @@ -1,11 +0,0 @@ -NullComparisonWarnings.dfy(26,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(27,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'y' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(28,14): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for field 'next' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(29,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(30,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'y' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(31,14): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for field 'next' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(33,12): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(36,12): Warning: the type of the other operand is a set of non-null elements, so the inclusion test of 'null' will always return 'false' -NullComparisonWarnings.dfy(37,12): Warning: the type of the other operand is a set of non-null elements, so the non-inclusion test of 'null' will always return 'true' -NullComparisonWarnings.dfy(39,41): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'u' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(44,12): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' diff --git a/Test/dafny0/PrintUTF8.dfy b/Test/dafny0/PrintUTF8.dfy index eff7baa32a9..5d4e376b19d 100644 --- a/Test/dafny0/PrintUTF8.dfy +++ b/Test/dafny0/PrintUTF8.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { print "Mikaël fixed UTF8\n"; diff --git a/Test/dafny0/PrintUTF8.dfy.expect b/Test/dafny0/PrintUTF8.dfy.expect index 818549280d3..52a23e906cc 100644 --- a/Test/dafny0/PrintUTF8.dfy.expect +++ b/Test/dafny0/PrintUTF8.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 0 verified, 0 errors Mikaël fixed UTF8 diff --git a/Test/dafny0/RangeCompilation.dfy b/Test/dafny0/RangeCompilation.dfy index 3f3e6aed0f8..53a8d6e33e5 100644 --- a/Test/dafny0/RangeCompilation.dfy +++ b/Test/dafny0/RangeCompilation.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype Byte = x | 0 <= x < 256 predicate GoodByte(b: Byte) { diff --git a/Test/dafny0/RangeCompilation.dfy.expect b/Test/dafny0/RangeCompilation.dfy.expect index 9e0f9e5f028..82fbbb9b698 100644 --- a/Test/dafny0/RangeCompilation.dfy.expect +++ b/Test/dafny0/RangeCompilation.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 4 verified, 0 errors b=2 i=4 diff --git a/Test/dafny0/SeqFromArray.dfy b/Test/dafny0/SeqFromArray.dfy index 39f72303d18..6bab732c906 100644 --- a/Test/dafny0/SeqFromArray.dfy +++ b/Test/dafny0/SeqFromArray.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // /autoTriggers:1 added to suppress instabilities diff --git a/Test/dafny0/SeqFromArray.dfy.expect b/Test/dafny0/SeqFromArray.dfy.expect index e69de29bb2d..1981561ca00 100644 --- a/Test/dafny0/SeqFromArray.dfy.expect +++ b/Test/dafny0/SeqFromArray.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 10 verified, 0 errors diff --git a/Test/dafny0/SharedDestructorsCompile.dfy b/Test/dafny0/SharedDestructorsCompile.dfy index 64d8b245b58..8171cf72404 100644 --- a/Test/dafny0/SharedDestructorsCompile.dfy +++ b/Test/dafny0/SharedDestructorsCompile.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Dt = | A(x: int, y: real) diff --git a/Test/dafny0/SharedDestructorsCompile.dfy.expect b/Test/dafny0/SharedDestructorsCompile.dfy.expect index 060d152d77b..e037db03c40 100644 --- a/Test/dafny0/SharedDestructorsCompile.dfy.expect +++ b/Test/dafny0/SharedDestructorsCompile.dfy.expect @@ -1,3 +1,20 @@ + +Dafny program verifier finished with 3 verified, 0 errors + +Dafny program verifier did not attempt verification +Dt.A(10, 12.0): x=10 y=12.0 +Dt.B(_module.MyClass, 6): h=_module.MyClass x=6 +Dt.C(3.14): y=3.14 +Dt.C(3.14) +Dt.A(71, 0.1) +Klef.C3(44, 100, 66, 200) +Datte.AA(10, 2) Datte.AA(10, 5) +Datte.BB(false, 12) Datte.BB(false, 6) +Datte.CC(3.2) Datte.CC(3.4) +Datte.DD(100, {7}, 5, 9.0) Datte.DD(30, {7}, 5, 9.0) +Datte.DD(100, {7}, 5, 9.0) Datte.DD(30, {7}, 5, 2.0) + +Dafny program verifier did not attempt verification Dt.A(10, 12.0): x=10 y=12.0 Dt.B(_module.MyClass, 6): h=_module.MyClass x=6 Dt.C(3.14): y=3.14 diff --git a/Test/dafny0/SiblingImports.dfy b/Test/dafny0/SiblingImports.dfy index 756e4b253f3..3fb01d9d1b8 100644 --- a/Test/dafny0/SiblingImports.dfy +++ b/Test/dafny0/SiblingImports.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { ClientA.Test(); diff --git a/Test/dafny0/SiblingImports.dfy.expect b/Test/dafny0/SiblingImports.dfy.expect index fb6171563ac..ba4df82a925 100644 --- a/Test/dafny0/SiblingImports.dfy.expect +++ b/Test/dafny0/SiblingImports.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 1 verified, 0 errors ClientA.Inner.Five: 5 ClientB.Inner.Five: 5 ClientC.Inner.Five: 5 diff --git a/Test/dafny0/TypeConversionsCompile.dfy b/Test/dafny0/TypeConversionsCompile.dfy index 5b1e32b9258..90075fb74a8 100644 --- a/Test/dafny0/TypeConversionsCompile.dfy +++ b/Test/dafny0/TypeConversionsCompile.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /env:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Note the difference in output in Java's case is due to // https://github.com/dafny-lang/dafny/issues/4152 diff --git a/Test/dafny0/TypeConversionsCompile.dfy.expect b/Test/dafny0/TypeConversionsCompile.dfy.expect index 78990cf4a30..893938a0226 100644 --- a/Test/dafny0/TypeConversionsCompile.dfy.expect +++ b/Test/dafny0/TypeConversionsCompile.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 8 verified, 0 errors 3 4 5.0 5 6 -1.0 147573952589676412927 4294967295 127 0 got 3, expected 3 got 0, expected 0 diff --git a/Test/dafny0/TypeMembers.dfy b/Test/dafny0/TypeMembers.dfy index f2bea4039c9..2ab57767ad5 100644 --- a/Test/dafny0/TypeMembers.dfy +++ b/Test/dafny0/TypeMembers.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { BasicTests(); diff --git a/Test/dafny0/TypeMembers.dfy.expect b/Test/dafny0/TypeMembers.dfy.expect index 923cb07e841..1d406ca85dc 100644 --- a/Test/dafny0/TypeMembers.dfy.expect +++ b/Test/dafny0/TypeMembers.dfy.expect @@ -1,3 +1,32 @@ +TypeMembers.dfy(117,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect + +Dafny program verifier finished with 29 verified, 0 errors +TypeMembers.dfy(117,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect + +Dafny program verifier did not attempt verification +DaTy.Yes 10 26 +8 11 10 11 10 +35 10 14 +22 22 +9 Dt.Business(false, 5) +76 77 +19 +0 0 +19 82 83 +93 Co.Cobalt +27 27 +18 +11 18 18 22 +15 30 29 +95 11 +162 165 +11 18 18 3 +15 30 29 +95 11 +162 165 +TypeMembers.dfy(117,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect + +Dafny program verifier did not attempt verification DaTy.Yes 10 26 8 11 10 11 10 35 10 14 diff --git a/Test/dafny0/TypeMembers.dfy.verifier.expect b/Test/dafny0/TypeMembers.dfy.verifier.expect deleted file mode 100644 index 62f55c943d2..00000000000 --- a/Test/dafny0/TypeMembers.dfy.verifier.expect +++ /dev/null @@ -1 +0,0 @@ -TypeMembers.dfy(114,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect diff --git a/Test/dafny0/Wellfounded.dfy b/Test/dafny0/Wellfounded.dfy index 7ec2be06b38..2ed488974c6 100644 --- a/Test/dafny0/Wellfounded.dfy +++ b/Test/dafny0/Wellfounded.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var d := Int(10); diff --git a/Test/dafny0/Wellfounded.dfy.expect b/Test/dafny0/Wellfounded.dfy.expect index 52742a67098..73d7a1e7ca2 100644 --- a/Test/dafny0/Wellfounded.dfy.expect +++ b/Test/dafny0/Wellfounded.dfy.expect @@ -1,3 +1,7 @@ +Wellfounded.dfy(49,14): Warning: /!\ No terms found to trigger on. +Wellfounded.dfy(77,5): Warning: /!\ No terms found to trigger on. + +Dafny program verifier finished with 3 verified, 0 errors M(d, d) = 10 M(a1, d) = 10 M(a2, d) = 10 diff --git a/Test/dafny0/Wellfounded.dfy.verifier.expect b/Test/dafny0/Wellfounded.dfy.verifier.expect deleted file mode 100644 index e61f12f01b2..00000000000 --- a/Test/dafny0/Wellfounded.dfy.verifier.expect +++ /dev/null @@ -1,2 +0,0 @@ -Wellfounded.dfy(48,14): Warning: /!\ No terms found to trigger on. -Wellfounded.dfy(76,5): Warning: /!\ No terms found to trigger on. diff --git a/Test/dafny2/MinWindowMax.dfy b/Test/dafny2/MinWindowMax.dfy index 32342cdd8b9..71ccb539d7d 100644 --- a/Test/dafny2/MinWindowMax.dfy +++ b/Test/dafny2/MinWindowMax.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Minimum window-max problem. // Rustan Leino diff --git a/Test/dafny2/MinWindowMax.dfy.expect b/Test/dafny2/MinWindowMax.dfy.expect index 1bb5609994e..f6f6e52d9bc 100644 --- a/Test/dafny2/MinWindowMax.dfy.expect +++ b/Test/dafny2/MinWindowMax.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 12 verified, 0 errors Window size 1: min window-max is -5 Window size 2: min window-max is 2 Window size 3: min window-max is 3 diff --git a/Test/dafny2/SmallestMissingNumber-functional.dfy b/Test/dafny2/SmallestMissingNumber-functional.dfy index a1544efab5f..047475c2680 100644 --- a/Test/dafny2/SmallestMissingNumber-functional.dfy +++ b/Test/dafny2/SmallestMissingNumber-functional.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Smallest missing number problem, functional version without duplicates. // A purely functional solution to the programming problem in Richard Bird's diff --git a/Test/dafny2/SmallestMissingNumber-functional.dfy.expect b/Test/dafny2/SmallestMissingNumber-functional.dfy.expect index 5d75da8ddd3..208b183ee3e 100644 --- a/Test/dafny2/SmallestMissingNumber-functional.dfy.expect +++ b/Test/dafny2/SmallestMissingNumber-functional.dfy.expect @@ -1 +1,4 @@ +SmallestMissingNumber-functional.dfy(213,11): Warning: /!\ No terms found to trigger on. + +Dafny program verifier finished with 21 verified, 0 errors 0 1 4 5 diff --git a/Test/dafny2/SmallestMissingNumber-functional.dfy.verifier.expect b/Test/dafny2/SmallestMissingNumber-functional.dfy.verifier.expect deleted file mode 100644 index cf10280f376..00000000000 --- a/Test/dafny2/SmallestMissingNumber-functional.dfy.verifier.expect +++ /dev/null @@ -1 +0,0 @@ -SmallestMissingNumber-functional.dfy(212,11): Warning: /!\ No terms found to trigger on. diff --git a/Test/dafny2/SmallestMissingNumber-imperative.dfy b/Test/dafny2/SmallestMissingNumber-imperative.dfy index 314bf4e464c..b8539481a54 100644 --- a/Test/dafny2/SmallestMissingNumber-imperative.dfy +++ b/Test/dafny2/SmallestMissingNumber-imperative.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Smallest missing number. // An imperative solution to the programming problem in Richard Bird's diff --git a/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect b/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect index cfb25913041..bc4a868fdff 100644 --- a/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect +++ b/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 8 verified, 0 errors 0 1 5 diff --git a/Test/dafny2/StoreAndRetrieve.dfy b/Test/dafny2/StoreAndRetrieve.dfy index f19239e234a..99a72697a71 100644 --- a/Test/dafny2/StoreAndRetrieve.dfy +++ b/Test/dafny2/StoreAndRetrieve.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // This file shows an example program that uses both refinement and :autocontracts // specify a class that stores a set of things that can be retrieved using a query. diff --git a/Test/dafny2/StoreAndRetrieve.dfy.expect b/Test/dafny2/StoreAndRetrieve.dfy.expect index 030f5bfab39..1d7d71d5202 100644 --- a/Test/dafny2/StoreAndRetrieve.dfy.expect +++ b/Test/dafny2/StoreAndRetrieve.dfy.expect @@ -1 +1,39 @@ +StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier finished with 19 verified, 0 errors +StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +20.3 +StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +20.3 +StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +20.3 +StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification 20.3 diff --git a/Test/dafny2/StoreAndRetrieve.dfy.verifier.expect b/Test/dafny2/StoreAndRetrieve.dfy.verifier.expect deleted file mode 100644 index 0c3d269cdc1..00000000000 --- a/Test/dafny2/StoreAndRetrieve.dfy.verifier.expect +++ /dev/null @@ -1,5 +0,0 @@ -StoreAndRetrieve.dfy(60,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(65,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(66,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(81,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(92,9): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny2/pq-intrinsic-extrinsic.dfy b/Test/dafny2/pq-intrinsic-extrinsic.dfy index 588c2f9e2b1..c797c92445d 100644 --- a/Test/dafny2/pq-intrinsic-extrinsic.dfy +++ b/Test/dafny2/pq-intrinsic-extrinsic.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // This file contains several versions of a priority queue implemented by Braun trees: // diff --git a/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect b/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect index 5c90c26e0eb..bc2608f44b7 100644 --- a/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect +++ b/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect @@ -1,3 +1,14 @@ + +Dafny program verifier finished with 32 verified, 0 errors + +Dafny program verifier did not attempt verification +PriorityQueue_extrinsic: 3 +PriorityQueue_layered: 3 +PriorityQueue_intrinsic: 3 +PriorityQueue_on_intrinsic: 3 +PriorityQueue_direct: 3 + +Dafny program verifier did not attempt verification PriorityQueue_extrinsic: 3 PriorityQueue_layered: 3 PriorityQueue_intrinsic: 3 diff --git a/Test/dafny3/Abstemious.dfy b/Test/dafny3/Abstemious.dfy index 62d891f950f..263c1f1fb00 100644 --- a/Test/dafny3/Abstemious.dfy +++ b/Test/dafny3/Abstemious.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Examples from https://www.haskell.org/tutorial/functions.html diff --git a/Test/dafny3/Abstemious.dfy.expect b/Test/dafny3/Abstemious.dfy.expect index 3511a04a840..96f109b0b58 100644 --- a/Test/dafny3/Abstemious.dfy.expect +++ b/Test/dafny3/Abstemious.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 19 verified, 0 errors ones(): 1 1 1 1 1 1 1 ... from(3): 3 4 5 6 7 8 9 ... Map(plus1, ones()): 2 2 2 2 2 2 2 ... diff --git a/Test/dafny3/CachedContainer.dfy b/Test/dafny3/CachedContainer.dfy index e36e76d6851..77c3e45897f 100644 --- a/Test/dafny3/CachedContainer.dfy +++ b/Test/dafny3/CachedContainer.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // This file contains an example chain of module refinements, starting from a // simple interface M0 to an implementation M3. Module Client.Test() is diff --git a/Test/dafny3/CachedContainer.dfy.expect b/Test/dafny3/CachedContainer.dfy.expect index ed2a587c3f1..08f4fb30b0a 100644 --- a/Test/dafny3/CachedContainer.dfy.expect +++ b/Test/dafny3/CachedContainer.dfy.expect @@ -1 +1,79 @@ +CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier finished with 29 verified, 0 errors +CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +false true false true +CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +false true false true +CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +false true false true +CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification false true false true diff --git a/Test/dafny3/CachedContainer.dfy.verifier.expect b/Test/dafny3/CachedContainer.dfy.verifier.expect deleted file mode 100644 index a037bc94ff6..00000000000 --- a/Test/dafny3/CachedContainer.dfy.verifier.expect +++ /dev/null @@ -1,13 +0,0 @@ -CachedContainer.dfy(112,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(119,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(122,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(129,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(132,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(153,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(154,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(162,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(163,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(166,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(178,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(179,13): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny3/Iter.dfy b/Test/dafny3/Iter.dfy index 46befa24dd8..81431f2c64b 100644 --- a/Test/dafny3/Iter.dfy +++ b/Test/dafny3/Iter.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" class List { ghost var Contents: seq diff --git a/Test/dafny3/Iter.dfy.expect b/Test/dafny3/Iter.dfy.expect index 0ed11070541..69d7373d5d5 100644 --- a/Test/dafny3/Iter.dfy.expect +++ b/Test/dafny3/Iter.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 12 verified, 0 errors 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 98 0 2 4 6 8 10 12 14 diff --git a/Test/dafny4/Ackermann.dfy b/Test/dafny4/Ackermann.dfy index a4ef351c96b..27968070e9b 100644 --- a/Test/dafny4/Ackermann.dfy +++ b/Test/dafny4/Ackermann.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Rustan Leino, 8 Sep 2015. // This file proves that the Ackermann function is monotonic in each argument diff --git a/Test/dafny4/Ackermann.dfy.expect b/Test/dafny4/Ackermann.dfy.expect index 43d9513ef4b..c995dac9c9a 100644 --- a/Test/dafny4/Ackermann.dfy.expect +++ b/Test/dafny4/Ackermann.dfy.expect @@ -1 +1,5 @@ +Ackermann.dfy(163,4): Warning: /!\ No terms found to trigger on. +Ackermann.dfy(181,4): Warning: /!\ No terms found to trigger on. + +Dafny program verifier finished with 14 verified, 0 errors Ack(3, 4) = 125 diff --git a/Test/dafny4/Ackermann.dfy.verifier.expect b/Test/dafny4/Ackermann.dfy.verifier.expect deleted file mode 100644 index b302e2b4daf..00000000000 --- a/Test/dafny4/Ackermann.dfy.verifier.expect +++ /dev/null @@ -1,2 +0,0 @@ -Ackermann.dfy(162,4): Warning: /!\ No terms found to trigger on. -Ackermann.dfy(180,4): Warning: /!\ No terms found to trigger on. diff --git a/Test/dafny4/Bug107.dfy b/Test/dafny4/Bug107.dfy index b7ab69c9a8d..e417fc90a53 100644 --- a/Test/dafny4/Bug107.dfy +++ b/Test/dafny4/Bug107.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny4/Bug107.dfy.expect b/Test/dafny4/Bug107.dfy.expect index 62f9457511f..ad79213a18c 100644 --- a/Test/dafny4/Bug107.dfy.expect +++ b/Test/dafny4/Bug107.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 1 verified, 0 errors 6 \ No newline at end of file diff --git a/Test/dafny4/Bug108.dfy b/Test/dafny4/Bug108.dfy index 8228fe44f87..c64ec32a340 100644 --- a/Test/dafny4/Bug108.dfy +++ b/Test/dafny4/Bug108.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var A := map[0 := 1]; diff --git a/Test/dafny4/Bug108.dfy.expect b/Test/dafny4/Bug108.dfy.expect index 0777a01b26d..c1c63f6c5c1 100644 --- a/Test/dafny4/Bug108.dfy.expect +++ b/Test/dafny4/Bug108.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 1 verified, 0 errors map[0 := 1] map[0 := 1] diff --git a/Test/dafny4/Bug113.dfy b/Test/dafny4/Bug113.dfy index 0bec0c1ce31..23c759540cd 100644 --- a/Test/dafny4/Bug113.dfy +++ b/Test/dafny4/Bug113.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype D = D(q:int, r:int, s:int, t:int) @@ -6,4 +7,4 @@ method Main() { print D(10, 20, 30, 40); print "\n"; -} +} \ No newline at end of file diff --git a/Test/dafny4/Bug113.dfy.expect b/Test/dafny4/Bug113.dfy.expect index e2eeff32e9a..3ea1396ad00 100644 --- a/Test/dafny4/Bug113.dfy.expect +++ b/Test/dafny4/Bug113.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 0 verified, 0 errors D.D(10, 20, 30, 40) diff --git a/Test/dafny4/Bug140.dfy b/Test/dafny4/Bug140.dfy index 8280db8f665..edde966c149 100644 --- a/Test/dafny4/Bug140.dfy +++ b/Test/dafny4/Bug140.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" class Node { ghost var List: seq diff --git a/Test/dafny4/Bug140.dfy.expect b/Test/dafny4/Bug140.dfy.expect index a40ee1166fb..bad48de4d6b 100644 --- a/Test/dafny4/Bug140.dfy.expect +++ b/Test/dafny4/Bug140.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 8 verified, 0 errors 1 2 diff --git a/Test/dafny4/Bug148.dfy b/Test/dafny4/Bug148.dfy index f31cef2cdc8..da1ebf99447 100644 --- a/Test/dafny4/Bug148.dfy +++ b/Test/dafny4/Bug148.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny4/Bug148.dfy.expect b/Test/dafny4/Bug148.dfy.expect index 9ed6ca4768b..79d02517ceb 100644 --- a/Test/dafny4/Bug148.dfy.expect +++ b/Test/dafny4/Bug148.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 0 verified, 0 errors true false true diff --git a/Test/dafny4/Bug49.dfy b/Test/dafny4/Bug49.dfy index 868f4a3964b..68722830422 100644 --- a/Test/dafny4/Bug49.dfy +++ b/Test/dafny4/Bug49.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny4/Bug49.dfy.expect b/Test/dafny4/Bug49.dfy.expect index 800c2bd15ba..4e02a08bbee 100644 --- a/Test/dafny4/Bug49.dfy.expect +++ b/Test/dafny4/Bug49.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 13 verified, 0 errors 6 6 5 diff --git a/Test/dafny4/Bug60.dfy b/Test/dafny4/Bug60.dfy index f4585753f5f..0aa9209269d 100644 --- a/Test/dafny4/Bug60.dfy +++ b/Test/dafny4/Bug60.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // This method can be used to test compilation. method Main() diff --git a/Test/dafny4/Bug60.dfy.expect b/Test/dafny4/Bug60.dfy.expect index fd56dc3fcbc..49740e95682 100644 --- a/Test/dafny4/Bug60.dfy.expect +++ b/Test/dafny4/Bug60.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 0 verified, 0 errors ({2, 3}, map[2 := 20, 3 := 30]) (2, 2) {2, 3} diff --git a/Test/dafny4/Bug67.dfy b/Test/dafny4/Bug67.dfy index f01d4239a75..731018a293b 100644 --- a/Test/dafny4/Bug67.dfy +++ b/Test/dafny4/Bug67.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype d = D(m:seq) @@ -7,4 +8,4 @@ method Main() assert D([10, 20]) == D([10, 20]); // succeeds print [10, 20] == [10, 20], "\n"; // prints True print D([10, 20]) == D([10, 20]); // prints False -} +} \ No newline at end of file diff --git a/Test/dafny4/Bug67.dfy.expect b/Test/dafny4/Bug67.dfy.expect index 0be5d980da4..c716cab3144 100644 --- a/Test/dafny4/Bug67.dfy.expect +++ b/Test/dafny4/Bug67.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 1 verified, 0 errors true true \ No newline at end of file diff --git a/Test/dafny4/Bug68.dfy b/Test/dafny4/Bug68.dfy index bf50015f90c..a211206acba 100644 --- a/Test/dafny4/Bug68.dfy +++ b/Test/dafny4/Bug68.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method M1() { @@ -61,4 +62,4 @@ method Main() M3(); M3'(); M4(); -} +} \ No newline at end of file diff --git a/Test/dafny4/Bug68.dfy.expect b/Test/dafny4/Bug68.dfy.expect index 814ccfee2df..f4ef534187d 100644 --- a/Test/dafny4/Bug68.dfy.expect +++ b/Test/dafny4/Bug68.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 8 verified, 0 errors true true true diff --git a/Test/dafny4/Bug89.dfy b/Test/dafny4/Bug89.dfy index c7b77b44f99..4aec1acb8b7 100644 --- a/Test/dafny4/Bug89.dfy +++ b/Test/dafny4/Bug89.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method F() returns(x:int) ensures x == 6 diff --git a/Test/dafny4/Bug89.dfy.expect b/Test/dafny4/Bug89.dfy.expect index 62f9457511f..ed41c274352 100644 --- a/Test/dafny4/Bug89.dfy.expect +++ b/Test/dafny4/Bug89.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors 6 \ No newline at end of file diff --git a/Test/dafny4/Bug94.dfy b/Test/dafny4/Bug94.dfy index c41458539fc..be931445654 100644 --- a/Test/dafny4/Bug94.dfy +++ b/Test/dafny4/Bug94.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" ghost function foo() : (int, int) { diff --git a/Test/dafny4/Bug94.dfy.expect b/Test/dafny4/Bug94.dfy.expect index 3f10ffe7a4c..ab0cfbb2d9e 100644 --- a/Test/dafny4/Bug94.dfy.expect +++ b/Test/dafny4/Bug94.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 1 verified, 0 errors 15 \ No newline at end of file diff --git a/Test/dafny4/ClassRefinement.dfy b/Test/dafny4/ClassRefinement.dfy index 3d5fd1006eb..320749ec197 100644 --- a/Test/dafny4/ClassRefinement.dfy +++ b/Test/dafny4/ClassRefinement.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" abstract module M0 { class Counter { diff --git a/Test/dafny4/ClassRefinement.dfy.expect b/Test/dafny4/ClassRefinement.dfy.expect index cba3471eb57..f456b6777f3 100644 --- a/Test/dafny4/ClassRefinement.dfy.expect +++ b/Test/dafny4/ClassRefinement.dfy.expect @@ -1 +1,44 @@ +ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated +ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier finished with 11 verified, 0 errors +ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated +ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +2 1 +ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated +ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +2 1 +ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated +ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +2 1 +ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated +ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification 2 1 diff --git a/Test/dafny4/ClassRefinement.dfy.verifier.expect b/Test/dafny4/ClassRefinement.dfy.verifier.expect deleted file mode 100644 index 543e77303b5..00000000000 --- a/Test/dafny4/ClassRefinement.dfy.verifier.expect +++ /dev/null @@ -1,6 +0,0 @@ -ClassRefinement.dfy(68,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(69,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(74,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(75,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(77,6): Warning: the modify statement with a block statement is deprecated -ClassRefinement.dfy(78,13): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny4/ExpandedGuardedness.dfy b/Test/dafny4/ExpandedGuardedness.dfy index af620ec40e8..5cd7828f932 100644 --- a/Test/dafny4/ExpandedGuardedness.dfy +++ b/Test/dafny4/ExpandedGuardedness.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny4/ExpandedGuardedness.dfy.expect b/Test/dafny4/ExpandedGuardedness.dfy.expect index e0f3b041a66..d05670701e0 100644 --- a/Test/dafny4/ExpandedGuardedness.dfy.expect +++ b/Test/dafny4/ExpandedGuardedness.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 12 verified, 0 errors Up 19 20 21 22 23 Up2 19 20 21 22 23 UpIf 19 20 22 24 26 diff --git a/Test/dafny4/FlyingRobots.dfy b/Test/dafny4/FlyingRobots.dfy index f14a2a467cd..41223cca1aa 100644 --- a/Test/dafny4/FlyingRobots.dfy +++ b/Test/dafny4/FlyingRobots.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // The flying robots examples from an F* tutorial. It demonstrates how to specify // mutable data structures in the heap. diff --git a/Test/dafny4/FlyingRobots.dfy.expect b/Test/dafny4/FlyingRobots.dfy.expect index e69de29bb2d..5ed0d97333e 100644 --- a/Test/dafny4/FlyingRobots.dfy.expect +++ b/Test/dafny4/FlyingRobots.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 31 verified, 0 errors diff --git a/Test/dafny4/Leq.dfy b/Test/dafny4/Leq.dfy index fdbc1078ca3..fac12757ba0 100644 --- a/Test/dafny4/Leq.dfy +++ b/Test/dafny4/Leq.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Rustan Leino, 22 Sep 2015. // This file considers two definitions of Leq on naturals+infinity. One diff --git a/Test/dafny4/Leq.dfy.expect b/Test/dafny4/Leq.dfy.expect index e69de29bb2d..15301952c57 100644 --- a/Test/dafny4/Leq.dfy.expect +++ b/Test/dafny4/Leq.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 16 verified, 0 errors diff --git a/Test/dafny4/McCarthy91.dfy b/Test/dafny4/McCarthy91.dfy index 428f11eb269..466d30328cc 100644 --- a/Test/dafny4/McCarthy91.dfy +++ b/Test/dafny4/McCarthy91.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // The usual recursive method for computing McCarthy's 91 function method Main() { diff --git a/Test/dafny4/McCarthy91.dfy.expect b/Test/dafny4/McCarthy91.dfy.expect index 1511cff2c81..b63f7a0b03b 100644 --- a/Test/dafny4/McCarthy91.dfy.expect +++ b/Test/dafny4/McCarthy91.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 5 verified, 0 errors M(3) = 91 M(99) = 91 M(100) = 91 diff --git a/Test/dafny4/NatList.dfy b/Test/dafny4/NatList.dfy index 5a1b0358eaf..567fd461259 100644 --- a/Test/dafny4/NatList.dfy +++ b/Test/dafny4/NatList.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // This file tests some programs where "nat" is a type parameter to // a datatype. diff --git a/Test/dafny4/NatList.dfy.expect b/Test/dafny4/NatList.dfy.expect index 5382a29cb9f..2ceb3169787 100644 --- a/Test/dafny4/NatList.dfy.expect +++ b/Test/dafny4/NatList.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 11 verified, 0 errors ns = List.Cons(4, List.Cons(10, List.Nil)) Sum(ns) = 14 ns' = List.Cons(20, List.Nil) diff --git a/Test/dafny4/Regression2.dfy b/Test/dafny4/Regression2.dfy index 0d28285e74c..213bf265401 100644 --- a/Test/dafny4/Regression2.dfy +++ b/Test/dafny4/Regression2.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" module NativeTypes { newtype uint64 = int diff --git a/Test/dafny4/Regression2.dfy.expect b/Test/dafny4/Regression2.dfy.expect index 8a739fb435a..3f8ac383f86 100644 --- a/Test/dafny4/Regression2.dfy.expect +++ b/Test/dafny4/Regression2.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 0 verified, 0 errors true true true diff --git a/Test/dafny4/Regression3.dfy b/Test/dafny4/Regression3.dfy index fc60fad3cb1..adaa0d2763d 100644 --- a/Test/dafny4/Regression3.dfy +++ b/Test/dafny4/Regression3.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny4/Regression3.dfy.expect b/Test/dafny4/Regression3.dfy.expect index 1223bf9ffaf..841338987c7 100644 --- a/Test/dafny4/Regression3.dfy.expect +++ b/Test/dafny4/Regression3.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 3 verified, 0 errors 55 Trunc( -3.0 ) = -3 (expected -3) Trunc( -2.8 ) = -3 (expected -3) diff --git a/Test/dafny4/Regression4.dfy b/Test/dafny4/Regression4.dfy index e4bc4cbef85..5f881a5083f 100644 --- a/Test/dafny4/Regression4.dfy +++ b/Test/dafny4/Regression4.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { } diff --git a/Test/dafny4/Regression4.dfy.expect b/Test/dafny4/Regression4.dfy.expect index e69de29bb2d..ba00363fc08 100644 --- a/Test/dafny4/Regression4.dfy.expect +++ b/Test/dafny4/Regression4.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 4 verified, 0 errors diff --git a/Test/dafny4/Regression6.dfy b/Test/dafny4/Regression6.dfy index b589ec0ce7d..f1551d3ef2d 100644 --- a/Test/dafny4/Regression6.dfy +++ b/Test/dafny4/Regression6.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" function Sum(a: array, lo: int, hi: int): int requires 0 <= lo <= hi <= a.Length diff --git a/Test/dafny4/Regression6.dfy.expect b/Test/dafny4/Regression6.dfy.expect index 54573bead10..17464f29e0b 100644 --- a/Test/dafny4/Regression6.dfy.expect +++ b/Test/dafny4/Regression6.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors 0 1028 0 diff --git a/Test/dafny4/Regression7.dfy b/Test/dafny4/Regression7.dfy index ef3ca5eea44..8ce421a62f3 100644 --- a/Test/dafny4/Regression7.dfy +++ b/Test/dafny4/Regression7.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /rprint:"%t.rprint" /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" module ListLibrary { datatype List = Nil | Cons(head: B, tail: List) diff --git a/Test/dafny4/Regression7.dfy.expect b/Test/dafny4/Regression7.dfy.expect index 4d38be23500..b7b2766a340 100644 --- a/Test/dafny4/Regression7.dfy.expect +++ b/Test/dafny4/Regression7.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors ListLibrary.List.Cons(28.0, ListLibrary.List.Nil) diff --git a/Test/dafny4/Regression9.dfy b/Test/dafny4/Regression9.dfy index 086007a3ef8..d9e44547252 100644 --- a/Test/dafny4/Regression9.dfy +++ b/Test/dafny4/Regression9.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Some tests for the type inference that was revamped // to better support subset types. diff --git a/Test/dafny4/Regression9.dfy.expect b/Test/dafny4/Regression9.dfy.expect index 2183b22cfa9..5a26eaeabfb 100644 --- a/Test/dafny4/Regression9.dfy.expect +++ b/Test/dafny4/Regression9.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors 'D''D''D' diff --git a/Test/dafny4/UnionFind.dfy b/Test/dafny4/UnionFind.dfy index 354f28accb7..b97b6ef5d61 100644 --- a/Test/dafny4/UnionFind.dfy +++ b/Test/dafny4/UnionFind.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Rustan Leino, Nov 2015 // Module M0 gives the high-level specification of the UnionFind data structure diff --git a/Test/dafny4/UnionFind.dfy.expect b/Test/dafny4/UnionFind.dfy.expect index 1cb72129e49..961b161b8dc 100644 --- a/Test/dafny4/UnionFind.dfy.expect +++ b/Test/dafny4/UnionFind.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 63 verified, 0 errors false true true false true true diff --git a/Test/dafny4/gcd.dfy b/Test/dafny4/gcd.dfy index fa92223fa49..384e338435f 100644 --- a/Test/dafny4/gcd.dfy +++ b/Test/dafny4/gcd.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // A text describing this file is found in a Dafny Power User note: http://leino.science/papers/krml279.html diff --git a/Test/dafny4/gcd.dfy.expect b/Test/dafny4/gcd.dfy.expect index c17551a37a4..ecbe2b6f64a 100644 --- a/Test/dafny4/gcd.dfy.expect +++ b/Test/dafny4/gcd.dfy.expect @@ -1,3 +1,34 @@ + +Dafny program verifier finished with 19 verified, 0 errors + +Dafny program verifier did not attempt verification +15 gcd 9 = 3 +14 gcd 22 = 2 +371 gcd 1 = 1 +1 gcd 2 = 1 +1 gcd 1 = 1 +13 gcd 13 = 13 +60 gcd 60 = 60 + +Dafny program verifier did not attempt verification +15 gcd 9 = 3 +14 gcd 22 = 2 +371 gcd 1 = 1 +1 gcd 2 = 1 +1 gcd 1 = 1 +13 gcd 13 = 13 +60 gcd 60 = 60 + +Dafny program verifier did not attempt verification +15 gcd 9 = 3 +14 gcd 22 = 2 +371 gcd 1 = 1 +1 gcd 2 = 1 +1 gcd 1 = 1 +13 gcd 13 = 13 +60 gcd 60 = 60 + +Dafny program verifier did not attempt verification 15 gcd 9 = 3 14 gcd 22 = 2 371 gcd 1 = 1 diff --git a/Test/dafny4/git-issue104.dfy b/Test/dafny4/git-issue104.dfy index b05ec4de1cc..86683a2ed88 100644 --- a/Test/dafny4/git-issue104.dfy +++ b/Test/dafny4/git-issue104.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" predicate bug(a: array) reads a diff --git a/Test/dafny4/git-issue104.dfy.expect b/Test/dafny4/git-issue104.dfy.expect index 836a5934c8f..f572edb2471 100644 --- a/Test/dafny4/git-issue104.dfy.expect +++ b/Test/dafny4/git-issue104.dfy.expect @@ -1 +1,17 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification +true false + +Dafny program verifier did not attempt verification +true false + +Dafny program verifier did not attempt verification +true false + +Dafny program verifier did not attempt verification +true false + +Dafny program verifier did not attempt verification true false diff --git a/Test/dafny4/git-issue105.dfy b/Test/dafny4/git-issue105.dfy index 4cff2330cba..09cfce29a6e 100644 --- a/Test/dafny4/git-issue105.dfy +++ b/Test/dafny4/git-issue105.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method lol() returns (c: int) { diff --git a/Test/dafny4/git-issue105.dfy.expect b/Test/dafny4/git-issue105.dfy.expect index e69de29bb2d..012f5b99379 100644 --- a/Test/dafny4/git-issue105.dfy.expect +++ b/Test/dafny4/git-issue105.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/dafny4/git-issue15.dfy b/Test/dafny4/git-issue15.dfy index 7c77a67ccf9..96905286209 100755 --- a/Test/dafny4/git-issue15.dfy +++ b/Test/dafny4/git-issue15.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype obj = Obj(fooBar:map) datatype foo = Foo diff --git a/Test/dafny4/git-issue15.dfy.expect b/Test/dafny4/git-issue15.dfy.expect index 00750edc07d..e52de78d0b1 100755 --- a/Test/dafny4/git-issue15.dfy.expect +++ b/Test/dafny4/git-issue15.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 1 verified, 0 errors 3 diff --git a/Test/dafny4/git-issue195.dfy b/Test/dafny4/git-issue195.dfy index fccdc5461c8..ac4b1306ac6 100644 --- a/Test/dafny4/git-issue195.dfy +++ b/Test/dafny4/git-issue195.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Block = Block(prevBlockHash:Hash, txs:seq, proof:VProof) diff --git a/Test/dafny4/git-issue195.dfy.expect b/Test/dafny4/git-issue195.dfy.expect index 638bfb50b2d..30692fdef2a 100644 --- a/Test/dafny4/git-issue195.dfy.expect +++ b/Test/dafny4/git-issue195.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 4 verified, 0 errors true true true true true diff --git a/Test/dafny4/git-issue196.dfy b/Test/dafny4/git-issue196.dfy index 056687ab1a5..64eb0e9123f 100644 --- a/Test/dafny4/git-issue196.dfy +++ b/Test/dafny4/git-issue196.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" class A { var a: array> diff --git a/Test/dafny4/git-issue196.dfy.expect b/Test/dafny4/git-issue196.dfy.expect index ee25a2c5027..a333f982b8f 100644 --- a/Test/dafny4/git-issue196.dfy.expect +++ b/Test/dafny4/git-issue196.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 9 verified, 0 errors 42 42 42 5000 5000 5000 5000 5000 diff --git a/Test/dafny4/git-issue4.dfy b/Test/dafny4/git-issue4.dfy index b17a545e219..b19cf3ce6df 100644 --- a/Test/dafny4/git-issue4.dfy +++ b/Test/dafny4/git-issue4.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" function IntToChar(i:int):char requires 0 <= i < 10 diff --git a/Test/dafny4/git-issue4.dfy.expect b/Test/dafny4/git-issue4.dfy.expect index 24e24eb63cc..33af1e040b7 100644 --- a/Test/dafny4/git-issue4.dfy.expect +++ b/Test/dafny4/git-issue4.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 5 verified, 0 errors '8' 8 '8' 56 56 diff --git a/Test/dafny4/git-issue43.dfy b/Test/dafny4/git-issue43.dfy index d320d7761bc..edf056a1a91 100644 --- a/Test/dafny4/git-issue43.dfy +++ b/Test/dafny4/git-issue43.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" class System { } diff --git a/Test/dafny4/git-issue43.dfy.expect b/Test/dafny4/git-issue43.dfy.expect index e69de29bb2d..012f5b99379 100644 --- a/Test/dafny4/git-issue43.dfy.expect +++ b/Test/dafny4/git-issue43.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/dafny4/git-issue76.dfy b/Test/dafny4/git-issue76.dfy index 85613dba2f2..708ee911b24 100644 --- a/Test/dafny4/git-issue76.dfy +++ b/Test/dafny4/git-issue76.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { M0(); diff --git a/Test/dafny4/git-issue76.dfy.expect b/Test/dafny4/git-issue76.dfy.expect index 0cfbf08886f..546da03a267 100644 --- a/Test/dafny4/git-issue76.dfy.expect +++ b/Test/dafny4/git-issue76.dfy.expect @@ -1 +1,8 @@ + +Dafny program verifier finished with 7 verified, 0 errors + +Dafny program verifier did not attempt verification +2 + +Dafny program verifier did not attempt verification 2 diff --git a/Test/dafny4/git-issue79.dfy b/Test/dafny4/git-issue79.dfy index f3fb17b8531..046a7c5e375 100644 --- a/Test/dafny4/git-issue79.dfy +++ b/Test/dafny4/git-issue79.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype EInt = Int(val: int) | Unknown type Pair = (string, EInt) diff --git a/Test/dafny4/git-issue79.dfy.expect b/Test/dafny4/git-issue79.dfy.expect index e69de29bb2d..012f5b99379 100644 --- a/Test/dafny4/git-issue79.dfy.expect +++ b/Test/dafny4/git-issue79.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/dafny4/git-issue88.dfy b/Test/dafny4/git-issue88.dfy index 83c0b4a8ef9..1c188333783 100644 --- a/Test/dafny4/git-issue88.dfy +++ b/Test/dafny4/git-issue88.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" type Grid = array2 diff --git a/Test/dafny4/git-issue88.dfy.expect b/Test/dafny4/git-issue88.dfy.expect index e69de29bb2d..00a51f822da 100644 --- a/Test/dafny4/git-issue88.dfy.expect +++ b/Test/dafny4/git-issue88.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 3 verified, 0 errors diff --git a/Test/exceptions/Exceptions1.dfy b/Test/exceptions/Exceptions1.dfy index 4ffd3291f2f..11bb2f7923d 100644 --- a/Test/exceptions/Exceptions1.dfy +++ b/Test/exceptions/Exceptions1.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" /rprint:"%t.rprint" > "%t" +// RUN: %diff "%s.expect" "%t" include "./NatOutcome.dfy" include "./VoidOutcome.dfy" diff --git a/Test/exceptions/Exceptions1.dfy.expect b/Test/exceptions/Exceptions1.dfy.expect index c87eb938c55..e61be2a11ad 100644 --- a/Test/exceptions/Exceptions1.dfy.expect +++ b/Test/exceptions/Exceptions1.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 7 verified, 0 errors true_true_true_88_42_33_Success=100 ___VoidSuccess true_true_false_88_42_Failure diff --git a/Test/exceptions/Exceptions1Expressions.dfy b/Test/exceptions/Exceptions1Expressions.dfy index a57e5b78c7e..c0f3c67cd39 100644 --- a/Test/exceptions/Exceptions1Expressions.dfy +++ b/Test/exceptions/Exceptions1Expressions.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" /rprint:"%t.rprint" > "%t" +// RUN: %diff "%s.expect" "%t" include "./NatOutcomeDt.dfy" include "./VoidOutcomeDt.dfy" diff --git a/Test/exceptions/Exceptions1Expressions.dfy.expect b/Test/exceptions/Exceptions1Expressions.dfy.expect index 3f1b38ab150..3da30f30d36 100644 --- a/Test/exceptions/Exceptions1Expressions.dfy.expect +++ b/Test/exceptions/Exceptions1Expressions.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 5 verified, 0 errors true_true_true_Success=100 VoidSuccess true_true_false_Failure diff --git a/Test/exports/FIFO.dfy b/Test/exports/FIFO.dfy index 95a8d25510c..173e412eaa9 100644 --- a/Test/exports/FIFO.dfy +++ b/Test/exports/FIFO.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" include "Queue.dfyi" diff --git a/Test/exports/FIFO.dfy.expect b/Test/exports/FIFO.dfy.expect index 4539bbf2d22..8350309cc2a 100644 --- a/Test/exports/FIFO.dfy.expect +++ b/Test/exports/FIFO.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 5 verified, 0 errors 0 1 2 diff --git a/Test/exports/LIFO.dfy b/Test/exports/LIFO.dfy index 513dd457c3f..ea691935620 100644 --- a/Test/exports/LIFO.dfy +++ b/Test/exports/LIFO.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" include "Queue.dfyi" diff --git a/Test/exports/LIFO.dfy.expect b/Test/exports/LIFO.dfy.expect index ae136939b64..48aa7787d09 100644 --- a/Test/exports/LIFO.dfy.expect +++ b/Test/exports/LIFO.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 5 verified, 0 errors 2 1 0 diff --git a/Test/exports/xrefine2.dfy b/Test/exports/xrefine2.dfy index 2409cc0509a..0b25240916c 100644 --- a/Test/exports/xrefine2.dfy +++ b/Test/exports/xrefine2.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" module ProtocolImpl { diff --git a/Test/exports/xrefine2.dfy.expect b/Test/exports/xrefine2.dfy.expect index 858dbd09862..34e1b357779 100644 --- a/Test/exports/xrefine2.dfy.expect +++ b/Test/exports/xrefine2.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 4 verified, 0 errors HI.foo(h1) => true HI.foo(h2) => true PI.orange(1) => 2 diff --git a/Test/exports/xrefine3.dfy b/Test/exports/xrefine3.dfy index bb2480bfed7..24d6fa062f0 100644 --- a/Test/exports/xrefine3.dfy +++ b/Test/exports/xrefine3.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" module AlphaImpl { diff --git a/Test/exports/xrefine3.dfy.expect b/Test/exports/xrefine3.dfy.expect index ae50cef0985..488ab11c36a 100644 --- a/Test/exports/xrefine3.dfy.expect +++ b/Test/exports/xrefine3.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors o hai! diff --git a/Test/git-issues/git-issue-032.dfy b/Test/git-issues/git-issue-032.dfy index d7dd61440a7..bde5b2f2a69 100644 --- a/Test/git-issues/git-issue-032.dfy +++ b/Test/git-issues/git-issue-032.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/git-issues/git-issue-032.dfy.expect b/Test/git-issues/git-issue-032.dfy.expect index 2a64997c6f7..91c285009c1 100644 --- a/Test/git-issues/git-issue-032.dfy.expect +++ b/Test/git-issues/git-issue-032.dfy.expect @@ -1,3 +1,40 @@ +git-issue-032.dfy(18,35): Warning: this branch is redundant +git-issue-032.dfy(27,34): Warning: this branch is redundant +git-issue-032.dfy(28,35): Warning: this branch is redundant + +Dafny program verifier finished with 1 verified, 0 errors +git-issue-032.dfy(18,35): Warning: this branch is redundant +git-issue-032.dfy(27,34): Warning: this branch is redundant +git-issue-032.dfy(28,35): Warning: this branch is redundant + +Dafny program verifier did not attempt verification +OK3 +OK +OKOK +00 +git-issue-032.dfy(18,35): Warning: this branch is redundant +git-issue-032.dfy(27,34): Warning: this branch is redundant +git-issue-032.dfy(28,35): Warning: this branch is redundant + +Dafny program verifier did not attempt verification +OK3 +OK +OKOK +00 +git-issue-032.dfy(18,35): Warning: this branch is redundant +git-issue-032.dfy(27,34): Warning: this branch is redundant +git-issue-032.dfy(28,35): Warning: this branch is redundant + +Dafny program verifier did not attempt verification +OK3 +OK +OKOK +00 +git-issue-032.dfy(18,35): Warning: this branch is redundant +git-issue-032.dfy(27,34): Warning: this branch is redundant +git-issue-032.dfy(28,35): Warning: this branch is redundant + +Dafny program verifier did not attempt verification OK3 OK OKOK diff --git a/Test/git-issues/git-issue-032.dfy.verifier.expect b/Test/git-issues/git-issue-032.dfy.verifier.expect deleted file mode 100644 index 1878351db97..00000000000 --- a/Test/git-issues/git-issue-032.dfy.verifier.expect +++ /dev/null @@ -1,3 +0,0 @@ -git-issue-032.dfy(13,35): Warning: this branch is redundant -git-issue-032.dfy(22,34): Warning: this branch is redundant -git-issue-032.dfy(23,35): Warning: this branch is redundant diff --git a/Test/git-issues/git-issue-1029.dfy b/Test/git-issues/git-issue-1029.dfy index 7e1e7a31cf2..a310a99c169 100644 --- a/Test/git-issues/git-issue-1029.dfy +++ b/Test/git-issues/git-issue-1029.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" module ValueType { export S diff --git a/Test/git-issues/git-issue-1029.dfy.expect b/Test/git-issues/git-issue-1029.dfy.expect index 116f2acb4ee..7108c86b0b5 100644 --- a/Test/git-issues/git-issue-1029.dfy.expect +++ b/Test/git-issues/git-issue-1029.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors [true, true, false] UI.Op2.GetOps([true, true, false], [true, true, false]) diff --git a/Test/git-issues/git-issue-1093.dfy b/Test/git-issues/git-issue-1093.dfy index 97797296680..9365397496f 100644 --- a/Test/git-issues/git-issue-1093.dfy +++ b/Test/git-issues/git-issue-1093.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { UnusedLabel(); diff --git a/Test/git-issues/git-issue-1093.dfy.expect b/Test/git-issues/git-issue-1093.dfy.expect index f599e28b8ab..0cadf5e4199 100644 --- a/Test/git-issues/git-issue-1093.dfy.expect +++ b/Test/git-issues/git-issue-1093.dfy.expect @@ -1 +1,17 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification +10 + +Dafny program verifier did not attempt verification +10 + +Dafny program verifier did not attempt verification +10 + +Dafny program verifier did not attempt verification +10 + +Dafny program verifier did not attempt verification 10 diff --git a/Test/git-issues/git-issue-1130.dfy b/Test/git-issues/git-issue-1130.dfy index f1f5ad5a54b..5b7fc5068e2 100644 --- a/Test/git-issues/git-issue-1130.dfy +++ b/Test/git-issues/git-issue-1130.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var a := new Issue.Foo(); diff --git a/Test/git-issues/git-issue-1130.dfy.expect b/Test/git-issues/git-issue-1130.dfy.expect index de97a6dc4ca..6c3dd07b1f1 100644 --- a/Test/git-issues/git-issue-1130.dfy.expect +++ b/Test/git-issues/git-issue-1130.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 13 verified, 0 errors 012 diff --git a/Test/git-issues/git-issue-1150.dfy b/Test/git-issues/git-issue-1150.dfy index d3416a53813..d4cee3c3ef2 100644 --- a/Test/git-issues/git-issue-1150.dfy +++ b/Test/git-issues/git-issue-1150.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Foo = Foo(x: nat) { diff --git a/Test/git-issues/git-issue-1150.dfy.expect b/Test/git-issues/git-issue-1150.dfy.expect index f34d8df4a11..fb4be1897cf 100644 --- a/Test/git-issues/git-issue-1150.dfy.expect +++ b/Test/git-issues/git-issue-1150.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 1 verified, 0 errors Foo.Foo(2) true Foo.Foo(5) false diff --git a/Test/git-issues/git-issue-1185.dfy b/Test/git-issues/git-issue-1185.dfy index c7ad72134d1..32c340b0736 100644 --- a/Test/git-issues/git-issue-1185.dfy +++ b/Test/git-issues/git-issue-1185.dfy @@ -1,5 +1,9 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" predicate P(s: set) requires s != {} diff --git a/Test/git-issues/git-issue-1185.dfy.expect b/Test/git-issues/git-issue-1185.dfy.expect index 525ce875525..90ab58a1f5a 100644 --- a/Test/git-issues/git-issue-1185.dfy.expect +++ b/Test/git-issues/git-issue-1185.dfy.expect @@ -1 +1,14 @@ + +Dafny program verifier finished with 3 verified, 0 errors + +Dafny program verifier did not attempt verification +{12, 20} true 6 + +Dafny program verifier did not attempt verification +{20, 12} true 6 + +Dafny program verifier did not attempt verification +{12, 20} true 6 + +Dafny program verifier did not attempt verification {12, 20} true 6 diff --git a/Test/git-issues/git-issue-1185.dfy.java.expect b/Test/git-issues/git-issue-1185.dfy.java.expect deleted file mode 100644 index 8ba669ad273..00000000000 --- a/Test/git-issues/git-issue-1185.dfy.java.expect +++ /dev/null @@ -1 +0,0 @@ -{20, 12} true 6 diff --git a/Test/git-issues/git-issue-1514.dfy b/Test/git-issues/git-issue-1514.dfy index 816eadce69b..74b75478609 100644 --- a/Test/git-issues/git-issue-1514.dfy +++ b/Test/git-issues/git-issue-1514.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" include "Wrappers.dfy" import opened Wrappers diff --git a/Test/git-issues/git-issue-1514.dfy.expect b/Test/git-issues/git-issue-1514.dfy.expect index b5754e20373..2f22d47cee8 100644 --- a/Test/git-issues/git-issue-1514.dfy.expect +++ b/Test/git-issues/git-issue-1514.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-1514b.dfy b/Test/git-issues/git-issue-1514b.dfy index 050a4a71760..1d8cd122d28 100644 --- a/Test/git-issues/git-issue-1514b.dfy +++ b/Test/git-issues/git-issue-1514b.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" include "Wrappers.dfy" import opened Wrappers diff --git a/Test/git-issues/git-issue-1514b.dfy.expect b/Test/git-issues/git-issue-1514b.dfy.expect index b5754e20373..2f22d47cee8 100644 --- a/Test/git-issues/git-issue-1514b.dfy.expect +++ b/Test/git-issues/git-issue-1514b.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-1514c.dfy b/Test/git-issues/git-issue-1514c.dfy index 578316f217c..d9df7d108c1 100644 --- a/Test/git-issues/git-issue-1514c.dfy +++ b/Test/git-issues/git-issue-1514c.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" include "Wrappers.dfy" import opened Wrappers diff --git a/Test/git-issues/git-issue-1514c.dfy.expect b/Test/git-issues/git-issue-1514c.dfy.expect index 9766475a418..694254c28aa 100644 --- a/Test/git-issues/git-issue-1514c.dfy.expect +++ b/Test/git-issues/git-issue-1514c.dfy.expect @@ -1 +1,8 @@ + +Dafny program verifier finished with 3 verified, 0 errors + +Dafny program verifier did not attempt verification +ok + +Dafny program verifier did not attempt verification ok diff --git a/Test/git-issues/git-issue-1553.dfy b/Test/git-issues/git-issue-1553.dfy index 81cbef7aa7e..6267018c92d 100644 --- a/Test/git-issues/git-issue-1553.dfy +++ b/Test/git-issues/git-issue-1553.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { } method Test() { diff --git a/Test/git-issues/git-issue-1553.dfy.expect b/Test/git-issues/git-issue-1553.dfy.expect index e69de29bb2d..65d3b5d6635 100644 --- a/Test/git-issues/git-issue-1553.dfy.expect +++ b/Test/git-issues/git-issue-1553.dfy.expect @@ -0,0 +1,10 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-1604b.dfy b/Test/git-issues/git-issue-1604b.dfy index d7c4169ec60..497ee5017d5 100644 --- a/Test/git-issues/git-issue-1604b.dfy +++ b/Test/git-issues/git-issue-1604b.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --error-limit:0 --relax-definite-assignment +// RUN: %dafny /compile:3 /errorLimit:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Double constraints. Will this still work? diff --git a/Test/git-issues/git-issue-1604b.dfy.expect b/Test/git-issues/git-issue-1604b.dfy.expect index b5754e20373..93d7203e654 100644 --- a/Test/git-issues/git-issue-1604b.dfy.expect +++ b/Test/git-issues/git-issue-1604b.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 5 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-1714.dfy b/Test/git-issues/git-issue-1714.dfy index 540a41c39cb..6ce8915a7af 100644 --- a/Test/git-issues/git-issue-1714.dfy +++ b/Test/git-issues/git-issue-1714.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" +// RUN: %diff "%s.expect" "%t" trait Base {} class Derived extends Base { var n: int constructor() { n := 0; } } diff --git a/Test/git-issues/git-issue-1714.dfy.expect b/Test/git-issues/git-issue-1714.dfy.expect index 88039063d09..67dd7d95642 100644 --- a/Test/git-issues/git-issue-1714.dfy.expect +++ b/Test/git-issues/git-issue-1714.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors (b as Derived).n == 0 diff --git a/Test/git-issues/git-issue-1815a.dfy b/Test/git-issues/git-issue-1815a.dfy index 72d55a1cb4f..91fb7a32aa6 100644 --- a/Test/git-issues/git-issue-1815a.dfy +++ b/Test/git-issues/git-issue-1815a.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Dt<+U> = Dt(x: U, i: int) diff --git a/Test/git-issues/git-issue-1815a.dfy.expect b/Test/git-issues/git-issue-1815a.dfy.expect index 19f86f493ab..7b2651302d9 100644 --- a/Test/git-issues/git-issue-1815a.dfy.expect +++ b/Test/git-issues/git-issue-1815a.dfy.expect @@ -1 +1,17 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification +done + +Dafny program verifier did not attempt verification +done + +Dafny program verifier did not attempt verification +done + +Dafny program verifier did not attempt verification +done + +Dafny program verifier did not attempt verification done diff --git a/Test/git-issues/git-issue-1852.dfy b/Test/git-issues/git-issue-1852.dfy index 046f3fca1fc..516835e8ea8 100644 --- a/Test/git-issues/git-issue-1852.dfy +++ b/Test/git-issues/git-issue-1852.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" module A { export diff --git a/Test/git-issues/git-issue-1852.dfy.expect b/Test/git-issues/git-issue-1852.dfy.expect index 299a71f3fe4..e9cd0ea2e07 100644 --- a/Test/git-issues/git-issue-1852.dfy.expect +++ b/Test/git-issues/git-issue-1852.dfy.expect @@ -1 +1,8 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification +5 5 + +Dafny program verifier did not attempt verification 5 5 diff --git a/Test/git-issues/git-issue-1903.dfy b/Test/git-issues/git-issue-1903.dfy index 60ee1c121ab..7edb2a46c61 100644 --- a/Test/git-issues/git-issue-1903.dfy +++ b/Test/git-issues/git-issue-1903.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method g(x : seq := []) { diff --git a/Test/git-issues/git-issue-1903.dfy.expect b/Test/git-issues/git-issue-1903.dfy.expect index 84cc8d360f9..3170fb0c7f2 100644 --- a/Test/git-issues/git-issue-1903.dfy.expect +++ b/Test/git-issues/git-issue-1903.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 1 verified, 0 errors worked! diff --git a/Test/git-issues/git-issue-1909.dfy b/Test/git-issues/git-issue-1909.dfy index 83d9ec1d785..7fb5b3b8c48 100644 --- a/Test/git-issues/git-issue-1909.dfy +++ b/Test/git-issues/git-issue-1909.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype ABC = ABC(nameonly a: int, nameonly b: int, nameonly c: int) diff --git a/Test/git-issues/git-issue-1909.dfy.expect b/Test/git-issues/git-issue-1909.dfy.expect index ab6f7d69d36..b4eb7e7774e 100644 --- a/Test/git-issues/git-issue-1909.dfy.expect +++ b/Test/git-issues/git-issue-1909.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 1 verified, 0 errors ABC.ABC(19, 21, 23) ABC.ABC(19, 42, 23) ABC.ABC(100, 42, 90) diff --git a/Test/git-issues/git-issue-2013.dfy b/Test/git-issues/git-issue-2013.dfy index 1f3962988ee..d1d3e15880e 100644 --- a/Test/git-issues/git-issue-2013.dfy +++ b/Test/git-issues/git-issue-2013.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/git-issues/git-issue-2013.dfy.expect b/Test/git-issues/git-issue-2013.dfy.expect index 22e56ce7263..7ff6ce957cf 100644 --- a/Test/git-issues/git-issue-2013.dfy.expect +++ b/Test/git-issues/git-issue-2013.dfy.expect @@ -1,3 +1,55 @@ + +Dafny program verifier finished with 12 verified, 0 errors + +Dafny program verifier did not attempt verification +16 +16 +12 30 30 +Result.Success(8) Result.Failure(_module.MyClassException) +{100} {100} {100} +{MoreTests.C} {MoreTests.C} {MoreTests.C} +100 100 100 +MoreTests.C MoreTests.C MoreTests.C +Conveyance.NonVariantResult.NVSuccess(Conveyance.Car) Conveyance.CovariantResult.CVSuccess(Conveyance.Car) +M.Stream.Next + +Dafny program verifier did not attempt verification +16 +16 +12 30 30 +Result.Success(8) Result.Failure(_module.MyClassException) +{100} {100} {100} +{MoreTests.C} {MoreTests.C} {MoreTests.C} +100 100 100 +MoreTests.C MoreTests.C MoreTests.C +Conveyance.NonVariantResult.NVSuccess(Conveyance.Car) Conveyance.CovariantResult.CVSuccess(Conveyance.Car) +M.Stream.Next + +Dafny program verifier did not attempt verification +16 +16 +12 30 30 +Result.Success(8) Result.Failure(_module.MyClassException) +{100} {100} {100} +{MoreTests.C} {MoreTests.C} {MoreTests.C} +100 100 100 +MoreTests.C MoreTests.C MoreTests.C +Conveyance.NonVariantResult.NVSuccess(Conveyance.Car) Conveyance.CovariantResult.CVSuccess(Conveyance.Car) +M.Stream.Next + +Dafny program verifier did not attempt verification +16 +16 +12 30 30 +Result.Success(8) Result.Failure(_module.MyClassException) +{100} {100} {100} +{MoreTests.C} {MoreTests.C} {MoreTests.C} +100 100 100 +MoreTests.C MoreTests.C MoreTests.C +Conveyance.NonVariantResult.NVSuccess(Conveyance.Car) Conveyance.CovariantResult.CVSuccess(Conveyance.Car) +M.Stream.Next + +Dafny program verifier did not attempt verification 16 16 12 30 30 diff --git a/Test/git-issues/git-issue-2441.dfy b/Test/git-issues/git-issue-2441.dfy index 4179ecc87bc..bc9c8721ee2 100644 --- a/Test/git-issues/git-issue-2441.dfy +++ b/Test/git-issues/git-issue-2441.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype A = A(B: B) datatype B = X diff --git a/Test/git-issues/git-issue-2441.dfy.expect b/Test/git-issues/git-issue-2441.dfy.expect index e69de29bb2d..0c3f603d584 100644 --- a/Test/git-issues/git-issue-2441.dfy.expect +++ b/Test/git-issues/git-issue-2441.dfy.expect @@ -0,0 +1,6 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-2510.dfy b/Test/git-issues/git-issue-2510.dfy index 11ee2877bb3..22ef8e47058 100644 --- a/Test/git-issues/git-issue-2510.dfy +++ b/Test/git-issues/git-issue-2510.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:4 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" /// Check that the compiler accepts `:- assume {:axiom} …`. diff --git a/Test/git-issues/git-issue-2510.dfy.expect b/Test/git-issues/git-issue-2510.dfy.expect index 56a6051ca2b..b341a39a78d 100644 --- a/Test/git-issues/git-issue-2510.dfy.expect +++ b/Test/git-issues/git-issue-2510.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors 1 \ No newline at end of file diff --git a/Test/git-issues/git-issue-2608.dfy b/Test/git-issues/git-issue-2608.dfy index c606177f94f..459c9ffbf94 100644 --- a/Test/git-issues/git-issue-2608.dfy +++ b/Test/git-issues/git-issue-2608.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /compileTarget:js "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method GetNext(i: int) returns (j: int, possible: bool) { if i == 1 { diff --git a/Test/git-issues/git-issue-2608.dfy.expect b/Test/git-issues/git-issue-2608.dfy.expect index d9ed583f710..dce7ba1814a 100644 --- a/Test/git-issues/git-issue-2608.dfy.expect +++ b/Test/git-issues/git-issue-2608.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors 82411246231944714271214 \ No newline at end of file diff --git a/Test/git-issues/git-issue-262.dfy b/Test/git-issues/git-issue-262.dfy index 22d9a31b2fe..2c00ad94a39 100644 --- a/Test/git-issues/git-issue-262.dfy +++ b/Test/git-issues/git-issue-262.dfy @@ -1,5 +1,8 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" +// RUN: %dafny /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" function tst(x: nat): nat { x + 1 diff --git a/Test/git-issues/git-issue-262.dfy.expect b/Test/git-issues/git-issue-262.dfy.expect index 41d8cd55158..76af42cd4a3 100644 --- a/Test/git-issues/git-issue-262.dfy.expect +++ b/Test/git-issues/git-issue-262.dfy.expect @@ -1,2 +1,20 @@ + +Dafny program verifier finished with 2 verified, 0 errors System.Func`2[System.Numerics.BigInteger,System.Numerics.BigInteger] System.Func`2[System.Numerics.BigInteger,System.Numerics.BigInteger] + +Dafny program verifier finished with 2 verified, 0 errors +tst(x) { + return (x).plus(_dafny.ONE); + } +tst(x) { + return (x).plus(_dafny.ONE); + } + +Dafny program verifier finished with 2 verified, 0 errors +func(dafny.Int) dafny.Int +func(dafny.Int) dafny.Int + +Dafny program verifier finished with 2 verified, 0 errors +Function +Function diff --git a/Test/git-issues/git-issue-262.dfy.go.expect b/Test/git-issues/git-issue-262.dfy.go.expect deleted file mode 100644 index 578754c176c..00000000000 --- a/Test/git-issues/git-issue-262.dfy.go.expect +++ /dev/null @@ -1,2 +0,0 @@ -func(dafny.Int) dafny.Int -func(dafny.Int) dafny.Int diff --git a/Test/git-issues/git-issue-262.dfy.java.expect b/Test/git-issues/git-issue-262.dfy.java.expect deleted file mode 100644 index aa5478ef8c9..00000000000 --- a/Test/git-issues/git-issue-262.dfy.java.expect +++ /dev/null @@ -1,2 +0,0 @@ -Function -Function diff --git a/Test/git-issues/git-issue-262.dfy.js.expect b/Test/git-issues/git-issue-262.dfy.js.expect deleted file mode 100644 index e181ef2fef8..00000000000 --- a/Test/git-issues/git-issue-262.dfy.js.expect +++ /dev/null @@ -1,6 +0,0 @@ -tst(x) { - return (x).plus(_dafny.ONE); - } -tst(x) { - return (x).plus(_dafny.ONE); - } diff --git a/Test/git-issues/git-issue-267.dfy b/Test/git-issues/git-issue-267.dfy index 2b0b3281589..cef2fcc6c17 100644 --- a/Test/git-issues/git-issue-267.dfy +++ b/Test/git-issues/git-issue-267.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var c := 1; diff --git a/Test/git-issues/git-issue-267.dfy.expect b/Test/git-issues/git-issue-267.dfy.expect index cd7da05e3d2..d71aef2f440 100644 --- a/Test/git-issues/git-issue-267.dfy.expect +++ b/Test/git-issues/git-issue-267.dfy.expect @@ -1 +1,14 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification +210 + +Dafny program verifier did not attempt verification +210 + +Dafny program verifier did not attempt verification +210 + +Dafny program verifier did not attempt verification 210 diff --git a/Test/git-issues/git-issue-2672.dfy b/Test/git-issues/git-issue-2672.dfy index 52c5b9c638c..338299ee8b7 100644 --- a/Test/git-issues/git-issue-2672.dfy +++ b/Test/git-issues/git-issue-2672.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" newtype sreal = r: real | r > -4 as real newtype sint = r: int | r > -4 as int diff --git a/Test/git-issues/git-issue-2672.dfy.expect b/Test/git-issues/git-issue-2672.dfy.expect index 43440a83d53..c9c3244b6f4 100644 --- a/Test/git-issues/git-issue-2672.dfy.expect +++ b/Test/git-issues/git-issue-2672.dfy.expect @@ -1,3 +1,47 @@ + +Dafny program verifier finished with 5 verified, 0 errors + +Dafny program verifier did not attempt verification +true true true true true true true true true true +false false false false false false false false false false +false false false false false false false false false false +true true true true true true true true true true +true true true true true true true true true true +false false false false false false false false false false +true true true +false false false + +Dafny program verifier did not attempt verification +true true true true true true true true true true +false false false false false false false false false false +false false false false false false false false false false +true true true true true true true true true true +true true true true true true true true true true +false false false false false false false false false false +true true true +false false false + +Dafny program verifier did not attempt verification +true true true true true true true true true true +false false false false false false false false false false +false false false false false false false false false false +true true true true true true true true true true +true true true true true true true true true true +false false false false false false false false false false +true true true +false false false + +Dafny program verifier did not attempt verification +true true true true true true true true true true +false false false false false false false false false false +false false false false false false false false false false +true true true true true true true true true true +true true true true true true true true true true +false false false false false false false false false false +true true true +false false false + +Dafny program verifier did not attempt verification true true true true true true true true true true false false false false false false false false false false false false false false false false false false false false diff --git a/Test/git-issues/git-issue-2726a.dfy b/Test/git-issues/git-issue-2726a.dfy index a43d5dd0107..641fefbbdc4 100644 --- a/Test/git-issues/git-issue-2726a.dfy +++ b/Test/git-issues/git-issue-2726a.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /compileTarget:cs "%s" > "%t" +// RUN: %diff "%s.expect" "%t" const digits := ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"] diff --git a/Test/git-issues/git-issue-2726a.dfy.expect b/Test/git-issues/git-issue-2726a.dfy.expect index 8e1bedb2a64..6985935c88c 100644 --- a/Test/git-issues/git-issue-2726a.dfy.expect +++ b/Test/git-issues/git-issue-2726a.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 1 verified, 0 errors 4 42 422 diff --git a/Test/git-issues/git-issue-2733.dfy b/Test/git-issues/git-issue-2733.dfy index 65bc2b991fd..232eab3cc74 100644 --- a/Test/git-issues/git-issue-2733.dfy +++ b/Test/git-issues/git-issue-2733.dfy @@ -1,4 +1,11 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cpp "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { print "XYZ"; // Checks that no extra newline is added to the output diff --git a/Test/git-issues/git-issue-2733.dfy.expect b/Test/git-issues/git-issue-2733.dfy.expect index 77bf25132db..b139e2f3d58 100644 --- a/Test/git-issues/git-issue-2733.dfy.expect +++ b/Test/git-issues/git-issue-2733.dfy.expect @@ -1 +1,15 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification +XYZ +Dafny program verifier did not attempt verification +XYZ +Dafny program verifier did not attempt verification +XYZ +Dafny program verifier did not attempt verification +XYZ +Dafny program verifier did not attempt verification +XYZ +Dafny program verifier did not attempt verification XYZ \ No newline at end of file diff --git a/Test/git-issues/git-issue-2792.dfy b/Test/git-issues/git-issue-2792.dfy index d2fb9db2055..89e736667c0 100644 --- a/Test/git-issues/git-issue-2792.dfy +++ b/Test/git-issues/git-issue-2792.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /compileTarget:java "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Wrapper = Wrapper(s: seq) { diff --git a/Test/git-issues/git-issue-2792.dfy.expect b/Test/git-issues/git-issue-2792.dfy.expect index ca1683c3020..c1e603c58fe 100644 --- a/Test/git-issues/git-issue-2792.dfy.expect +++ b/Test/git-issues/git-issue-2792.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 0 verified, 0 errors [] Wrapper2.Wrapper2([], 2792) diff --git a/Test/git-issues/git-issue-283.dfy b/Test/git-issues/git-issue-283.dfy index 1ca6d48d32c..c7c10f4aea3 100644 --- a/Test/git-issues/git-issue-283.dfy +++ b/Test/git-issues/git-issue-283.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Result = | Success(value: T) diff --git a/Test/git-issues/git-issue-283.dfy.expect b/Test/git-issues/git-issue-283.dfy.expect index a965a70ed4e..2adb114b8a0 100644 --- a/Test/git-issues/git-issue-283.dfy.expect +++ b/Test/git-issues/git-issue-283.dfy.expect @@ -1 +1,14 @@ + +Dafny program verifier finished with 9 verified, 0 errors + +Dafny program verifier did not attempt verification +Done + +Dafny program verifier did not attempt verification +Done + +Dafny program verifier did not attempt verification +Done + +Dafny program verifier did not attempt verification Done diff --git a/Test/git-issues/git-issue-283d.dfy b/Test/git-issues/git-issue-283d.dfy index 46c1056d5e1..54ee58fb456 100644 --- a/Test/git-issues/git-issue-283d.dfy +++ b/Test/git-issues/git-issue-283d.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Foo = R(v: int) diff --git a/Test/git-issues/git-issue-283d.dfy.expect b/Test/git-issues/git-issue-283d.dfy.expect index e69de29bb2d..8da23be5c8c 100644 --- a/Test/git-issues/git-issue-283d.dfy.expect +++ b/Test/git-issues/git-issue-283d.dfy.expect @@ -0,0 +1,10 @@ + +Dafny program verifier finished with 4 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-314.dfy b/Test/git-issues/git-issue-314.dfy index a7fc06564a5..5e3e93ca654 100644 --- a/Test/git-issues/git-issue-314.dfy +++ b/Test/git-issues/git-issue-314.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype S = S(G: array) datatype T = T(F: array, ghost Repr: set) diff --git a/Test/git-issues/git-issue-314.dfy.expect b/Test/git-issues/git-issue-314.dfy.expect index e69de29bb2d..f02fc57989a 100644 --- a/Test/git-issues/git-issue-314.dfy.expect +++ b/Test/git-issues/git-issue-314.dfy.expect @@ -0,0 +1,10 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-332.dfy b/Test/git-issues/git-issue-332.dfy index 5166441405d..ca2b08f3e8d 100644 --- a/Test/git-issues/git-issue-332.dfy +++ b/Test/git-issues/git-issue-332.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var foo := new B.Foo(15); diff --git a/Test/git-issues/git-issue-332.dfy.expect b/Test/git-issues/git-issue-332.dfy.expect index 209e3ef4b62..57cad39addf 100644 --- a/Test/git-issues/git-issue-332.dfy.expect +++ b/Test/git-issues/git-issue-332.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 6 verified, 0 errors 20 diff --git a/Test/git-issues/git-issue-354.dfy b/Test/git-issues/git-issue-354.dfy index c3d63021209..5938c2f71ae 100644 --- a/Test/git-issues/git-issue-354.dfy +++ b/Test/git-issues/git-issue-354.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" class C { static const u: X diff --git a/Test/git-issues/git-issue-354.dfy.expect b/Test/git-issues/git-issue-354.dfy.expect index 4368562357f..cb5ae21dc46 100644 --- a/Test/git-issues/git-issue-354.dfy.expect +++ b/Test/git-issues/git-issue-354.dfy.expect @@ -1,3 +1,25 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification +0 +0 +0.0 +false + +Dafny program verifier did not attempt verification +0 +0 +0.0 +false + +Dafny program verifier did not attempt verification +0 +0 +0.0 +false + +Dafny program verifier did not attempt verification 0 0 0.0 diff --git a/Test/git-issues/git-issue-356.dfy b/Test/git-issues/git-issue-356.dfy index 2d497c0531c..f5c34b0803b 100644 --- a/Test/git-issues/git-issue-356.dfy +++ b/Test/git-issues/git-issue-356.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" module M { type Tx = i: int | 0 <= i <= 100 diff --git a/Test/git-issues/git-issue-356.dfy.expect b/Test/git-issues/git-issue-356.dfy.expect index 9d984ec4ef4..cff4ed233e1 100644 --- a/Test/git-issues/git-issue-356.dfy.expect +++ b/Test/git-issues/git-issue-356.dfy.expect @@ -1,3 +1,39 @@ + +Dafny program verifier finished with 25 verified, 0 errors + +Dafny program verifier did not attempt verification +a d 57005 * * +Z 90 90.0 90 90 +* 42 42.0 42 42 +F 70 70.0 70 70 +# 35 35.0 35 35 +END + +Dafny program verifier did not attempt verification +a d 57005 * * +Z 90 90.0 90 90 +* 42 42.0 42 42 +F 70 70.0 70 70 +# 35 35.0 35 35 +END + +Dafny program verifier did not attempt verification +a d 57005 * * +Z 90 90.0 90 90 +* 42 42.0 42 42 +F 70 70.0 70 70 +# 35 35.0 35 35 +END + +Dafny program verifier did not attempt verification +a d 57005 * * +Z 90 90.0 90 90 +* 42 42.0 42 42 +F 70 70.0 70 70 +# 35 35.0 35 35 +END + +Dafny program verifier did not attempt verification a d 57005 * * Z 90 90.0 90 90 * 42 42.0 42 42 diff --git a/Test/git-issues/git-issue-364.dfy b/Test/git-issues/git-issue-364.dfy index 68c75931746..0fdedc7d9c0 100644 --- a/Test/git-issues/git-issue-364.dfy +++ b/Test/git-issues/git-issue-364.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype NatOutcome = | Success(value: nat) diff --git a/Test/git-issues/git-issue-364.dfy.expect b/Test/git-issues/git-issue-364.dfy.expect index 38478c6c688..1368349d437 100644 --- a/Test/git-issues/git-issue-364.dfy.expect +++ b/Test/git-issues/git-issue-364.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 4 verified, 0 errors NatOutcome.Success(55) false 55 12 0 NatOutcome.Failure("it could be worse") true NatOutcome.Failure("it could be worse") diff --git a/Test/git-issues/git-issue-374.dfy b/Test/git-issues/git-issue-374.dfy index 15b56ec6396..4c031b7d3ff 100644 --- a/Test/git-issues/git-issue-374.dfy +++ b/Test/git-issues/git-issue-374.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" class C { constructor(ghost x: int) diff --git a/Test/git-issues/git-issue-374.dfy.expect b/Test/git-issues/git-issue-374.dfy.expect index e69de29bb2d..f02fc57989a 100644 --- a/Test/git-issues/git-issue-374.dfy.expect +++ b/Test/git-issues/git-issue-374.dfy.expect @@ -0,0 +1,10 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-396.dfy b/Test/git-issues/git-issue-396.dfy index 7866d3d0498..2ab68e51e12 100644 --- a/Test/git-issues/git-issue-396.dfy +++ b/Test/git-issues/git-issue-396.dfy @@ -1,4 +1,8 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" +// RUN: %dafny /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Foo = Bar(value: int) diff --git a/Test/git-issues/git-issue-396.dfy.expect b/Test/git-issues/git-issue-396.dfy.expect index dee79f10940..3dd340d3178 100644 --- a/Test/git-issues/git-issue-396.dfy.expect +++ b/Test/git-issues/git-issue-396.dfy.expect @@ -1 +1,12 @@ + +Dafny program verifier finished with 1 verified, 0 errors +114 + +Dafny program verifier finished with 1 verified, 0 errors +114 + +Dafny program verifier finished with 1 verified, 0 errors +114 + +Dafny program verifier finished with 1 verified, 0 errors 114 diff --git a/Test/git-issues/git-issue-4007.dfy b/Test/git-issues/git-issue-4007.dfy index 5a279e7b8e6..e4c25b82bb8 100644 --- a/Test/git-issues/git-issue-4007.dfy +++ b/Test/git-issues/git-issue-4007.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:4 /compileTarget:py "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var a := 0; @@ -6,4 +7,4 @@ method Main() { a := a + 1; } print a, "\n"; -} +} \ No newline at end of file diff --git a/Test/git-issues/git-issue-4007.dfy.expect b/Test/git-issues/git-issue-4007.dfy.expect index 00750edc07d..3ce6919d35b 100644 --- a/Test/git-issues/git-issue-4007.dfy.expect +++ b/Test/git-issues/git-issue-4007.dfy.expect @@ -1 +1,4 @@ +git-issue-4007.dfy(6,20): Warning: /!\ No terms found to trigger on. + +Dafny program verifier finished with 1 verified, 0 errors 3 diff --git a/Test/git-issues/git-issue-4007.dfy.verifier.expect b/Test/git-issues/git-issue-4007.dfy.verifier.expect deleted file mode 100644 index 1d4310d09b5..00000000000 --- a/Test/git-issues/git-issue-4007.dfy.verifier.expect +++ /dev/null @@ -1 +0,0 @@ -git-issue-4007.dfy(5,20): Warning: /!\ No terms found to trigger on. diff --git a/Test/git-issues/git-issue-4012.dfy b/Test/git-issues/git-issue-4012.dfy index 5360c0e935b..e065393a211 100644 --- a/Test/git-issues/git-issue-4012.dfy +++ b/Test/git-issues/git-issue-4012.dfy @@ -1,7 +1,8 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:4 /compileTarget:py "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var x: multiset := multiset{}; x := x[1 := 18446744073709551616]; print |x|, "\n"; -} +} \ No newline at end of file diff --git a/Test/git-issues/git-issue-4012.dfy.expect b/Test/git-issues/git-issue-4012.dfy.expect index ab69b99fab4..230fbdbd384 100644 --- a/Test/git-issues/git-issue-4012.dfy.expect +++ b/Test/git-issues/git-issue-4012.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 1 verified, 0 errors 18446744073709551616 diff --git a/Test/git-issues/git-issue-425.dfy b/Test/git-issues/git-issue-425.dfy index 122a10e4fbb..4e555daaed0 100644 --- a/Test/git-issues/git-issue-425.dfy +++ b/Test/git-issues/git-issue-425.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method M() returns (x: int, ghost y: int) { return 42, 43; diff --git a/Test/git-issues/git-issue-425.dfy.expect b/Test/git-issues/git-issue-425.dfy.expect index daaac9e3030..c2284013d9e 100644 --- a/Test/git-issues/git-issue-425.dfy.expect +++ b/Test/git-issues/git-issue-425.dfy.expect @@ -1,2 +1,18 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification +42 +42 + +Dafny program verifier did not attempt verification +42 +42 + +Dafny program verifier did not attempt verification +42 +42 + +Dafny program verifier did not attempt verification 42 42 diff --git a/Test/git-issues/git-issue-443.dfy b/Test/git-issues/git-issue-443.dfy index 6702e37484f..e8745b5ddda 100644 --- a/Test/git-issues/git-issue-443.dfy +++ b/Test/git-issues/git-issue-443.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { print F(), " ", G(802.11), "\n"; // 12 15 diff --git a/Test/git-issues/git-issue-443.dfy.expect b/Test/git-issues/git-issue-443.dfy.expect index 0b64712fdcf..10af01216da 100644 --- a/Test/git-issues/git-issue-443.dfy.expect +++ b/Test/git-issues/git-issue-443.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors 12 15 diff --git a/Test/git-issues/git-issue-446.dfy b/Test/git-issues/git-issue-446.dfy index a66a9272d18..0656587fd03 100644 --- a/Test/git-issues/git-issue-446.dfy +++ b/Test/git-issues/git-issue-446.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Result = Success(value: T) | Failure(error: string) { diff --git a/Test/git-issues/git-issue-446.dfy.expect b/Test/git-issues/git-issue-446.dfy.expect index 8165c2056d0..18195d22344 100644 --- a/Test/git-issues/git-issue-446.dfy.expect +++ b/Test/git-issues/git-issue-446.dfy.expect @@ -1,3 +1,22 @@ + +Dafny program verifier finished with 9 verified, 0 errors + +Dafny program verifier did not attempt verification +true -2 +true 42 +End + +Dafny program verifier did not attempt verification +true -2 +true 42 +End + +Dafny program verifier did not attempt verification +true -2 +true 42 +End + +Dafny program verifier did not attempt verification true -2 true 42 End diff --git a/Test/git-issues/git-issue-446a.dfy b/Test/git-issues/git-issue-446a.dfy index 2c559cea76d..41917680fee 100644 --- a/Test/git-issues/git-issue-446a.dfy +++ b/Test/git-issues/git-issue-446a.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Result = Success(value: T) | Failure(error: string) { diff --git a/Test/git-issues/git-issue-446a.dfy.expect b/Test/git-issues/git-issue-446a.dfy.expect index 9897e1c3f56..fbf9ee6f31d 100644 --- a/Test/git-issues/git-issue-446a.dfy.expect +++ b/Test/git-issues/git-issue-446a.dfy.expect @@ -1,3 +1,22 @@ + +Dafny program verifier finished with 9 verified, 0 errors + +Dafny program verifier did not attempt verification +OK +true OK +true -2 End + +Dafny program verifier did not attempt verification +OK +true OK +true -2 End + +Dafny program verifier did not attempt verification +OK +true OK +true -2 End + +Dafny program verifier did not attempt verification OK true OK true -2 End diff --git a/Test/git-issues/git-issue-446b.dfy b/Test/git-issues/git-issue-446b.dfy index 79e55d9a1f8..aa7ac30d9a7 100644 --- a/Test/git-issues/git-issue-446b.dfy +++ b/Test/git-issues/git-issue-446b.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Result = Success(value: T) | Failure(error: string) { diff --git a/Test/git-issues/git-issue-446b.dfy.expect b/Test/git-issues/git-issue-446b.dfy.expect index 36fdd8ba47b..0e99363fdb9 100644 --- a/Test/git-issues/git-issue-446b.dfy.expect +++ b/Test/git-issues/git-issue-446b.dfy.expect @@ -1,3 +1,28 @@ + +Dafny program verifier finished with 10 verified, 0 errors + +Dafny program verifier did not attempt verification +OK +true OK +true -2 +true 100 +End + +Dafny program verifier did not attempt verification +OK +true OK +true -2 +true 100 +End + +Dafny program verifier did not attempt verification +OK +true OK +true -2 +true 100 +End + +Dafny program verifier did not attempt verification OK true OK true -2 diff --git a/Test/git-issues/git-issue-478-good.dfy b/Test/git-issues/git-issue-478-good.dfy index 9abce41e97c..b3fab26a312 100644 --- a/Test/git-issues/git-issue-478-good.dfy +++ b/Test/git-issues/git-issue-478-good.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // By first defining import LibA and then defining a module LibA, // the latter used to generate: diff --git a/Test/git-issues/git-issue-478-good.dfy.expect b/Test/git-issues/git-issue-478-good.dfy.expect index 6807b84eba5..17aea610943 100644 --- a/Test/git-issues/git-issue-478-good.dfy.expect +++ b/Test/git-issues/git-issue-478-good.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 1 verified, 0 errors hello hello hi diff --git a/Test/git-issues/git-issue-506.dfy b/Test/git-issues/git-issue-506.dfy index b2a409951a1..d25596621de 100644 --- a/Test/git-issues/git-issue-506.dfy +++ b/Test/git-issues/git-issue-506.dfy @@ -1,4 +1,8 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" +// RUN: %dafny /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/git-issues/git-issue-506.dfy.expect b/Test/git-issues/git-issue-506.dfy.expect index ef2606ec5dc..e2bb6d644d9 100644 --- a/Test/git-issues/git-issue-506.dfy.expect +++ b/Test/git-issues/git-issue-506.dfy.expect @@ -1,3 +1,29 @@ + +Dafny program verifier finished with 2 verified, 0 errors +7 301 +8 391 +2 2 +4 5 +6 7 +2 3 7 0 + +Dafny program verifier finished with 2 verified, 0 errors +7 301 +8 391 +2 2 +4 5 +6 7 +2 3 7 0 + +Dafny program verifier finished with 2 verified, 0 errors +7 301 +8 391 +2 2 +4 5 +6 7 +2 3 7 0 + +Dafny program verifier finished with 2 verified, 0 errors 7 301 8 391 2 2 diff --git a/Test/git-issues/git-issue-532.dfy b/Test/git-issues/git-issue-532.dfy index 2a2b5aaaf2e..3d511dbb4c8 100644 --- a/Test/git-issues/git-issue-532.dfy +++ b/Test/git-issues/git-issue-532.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" predicate SuppressNoTriggerWarning(x: X) { true } diff --git a/Test/git-issues/git-issue-532.dfy.expect b/Test/git-issues/git-issue-532.dfy.expect index 0f3ef3de427..1bd9e82cc5a 100644 --- a/Test/git-issues/git-issue-532.dfy.expect +++ b/Test/git-issues/git-issue-532.dfy.expect @@ -1,3 +1,22 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification +t.x=5 The given Tr is a C, and c.y=6 +t.x=100 The given Tr is not a C +t.x=5 The given Tr is a C, and c.y=16 + +Dafny program verifier did not attempt verification +t.x=5 The given Tr is a C, and c.y=6 +t.x=100 The given Tr is not a C +t.x=5 The given Tr is a C, and c.y=16 + +Dafny program verifier did not attempt verification +t.x=5 The given Tr is a C, and c.y=6 +t.x=100 The given Tr is not a C +t.x=5 The given Tr is a C, and c.y=16 + +Dafny program verifier did not attempt verification t.x=5 The given Tr is a C, and c.y=6 t.x=100 The given Tr is not a C t.x=5 The given Tr is a C, and c.y=16 diff --git a/Test/git-issues/git-issue-549.dfy b/Test/git-issues/git-issue-549.dfy index d362a0bd039..2e5ab322f23 100644 --- a/Test/git-issues/git-issue-549.dfy +++ b/Test/git-issues/git-issue-549.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" trait T { function bar(): bv8 diff --git a/Test/git-issues/git-issue-549.dfy.expect b/Test/git-issues/git-issue-549.dfy.expect index 6e0790e778e..3ae509fee5e 100644 --- a/Test/git-issues/git-issue-549.dfy.expect +++ b/Test/git-issues/git-issue-549.dfy.expect @@ -1,2 +1,10 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification +bar() = 1 +bar() = 1 + +Dafny program verifier did not attempt verification bar() = 1 bar() = 1 diff --git a/Test/git-issues/git-issue-622$f.dfy b/Test/git-issues/git-issue-622$f.dfy index 2a7003e0f4e..fe4fdf38e03 100644 --- a/Test/git-issues/git-issue-622$f.dfy +++ b/Test/git-issues/git-issue-622$f.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:3 /compileTarget:java /spillTargetCode:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { } diff --git a/Test/git-issues/git-issue-622$f.dfy.expect b/Test/git-issues/git-issue-622$f.dfy.expect index e69de29bb2d..012f5b99379 100644 --- a/Test/git-issues/git-issue-622$f.dfy.expect +++ b/Test/git-issues/git-issue-622$f.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/git-issues/git-issue-684.dfy b/Test/git-issues/git-issue-684.dfy index 4c2b0a8fa02..b1fbd7ab036 100644 --- a/Test/git-issues/git-issue-684.dfy +++ b/Test/git-issues/git-issue-684.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Level1 = Level1(u:int) datatype Level2 = Level2(u:int, l:Level1) diff --git a/Test/git-issues/git-issue-684.dfy.expect b/Test/git-issues/git-issue-684.dfy.expect index e69de29bb2d..65d3b5d6635 100644 --- a/Test/git-issues/git-issue-684.dfy.expect +++ b/Test/git-issues/git-issue-684.dfy.expect @@ -0,0 +1,10 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-686.dfy b/Test/git-issues/git-issue-686.dfy index 9845ce2b027..bbc975200c8 100644 --- a/Test/git-issues/git-issue-686.dfy +++ b/Test/git-issues/git-issue-686.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Color = Blue | Red diff --git a/Test/git-issues/git-issue-686.dfy.expect b/Test/git-issues/git-issue-686.dfy.expect index c12f8e66df2..f30b0581688 100644 --- a/Test/git-issues/git-issue-686.dfy.expect +++ b/Test/git-issues/git-issue-686.dfy.expect @@ -1 +1,24 @@ +git-issue-686.dfy(13,2): Warning: this branch is redundant +git-issue-686.dfy(21,2): Warning: this branch is redundant + +Dafny program verifier finished with 1 verified, 0 errors +git-issue-686.dfy(13,2): Warning: this branch is redundant +git-issue-686.dfy(21,2): Warning: this branch is redundant + +Dafny program verifier did not attempt verification +6 0 +git-issue-686.dfy(13,2): Warning: this branch is redundant +git-issue-686.dfy(21,2): Warning: this branch is redundant + +Dafny program verifier did not attempt verification +6 0 +git-issue-686.dfy(13,2): Warning: this branch is redundant +git-issue-686.dfy(21,2): Warning: this branch is redundant + +Dafny program verifier did not attempt verification +6 0 +git-issue-686.dfy(13,2): Warning: this branch is redundant +git-issue-686.dfy(21,2): Warning: this branch is redundant + +Dafny program verifier did not attempt verification 6 0 diff --git a/Test/git-issues/git-issue-686.dfy.verifier.expect b/Test/git-issues/git-issue-686.dfy.verifier.expect deleted file mode 100644 index 805bd55730c..00000000000 --- a/Test/git-issues/git-issue-686.dfy.verifier.expect +++ /dev/null @@ -1,2 +0,0 @@ -git-issue-686.dfy(8,2): Warning: this branch is redundant -git-issue-686.dfy(16,2): Warning: this branch is redundant diff --git a/Test/git-issues/git-issue-697.dfy b/Test/git-issues/git-issue-697.dfy index 23cce66dee7..095c1a02399 100644 --- a/Test/git-issues/git-issue-697.dfy +++ b/Test/git-issues/git-issue-697.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Cell = Cell(x: int) type EvenCell = c: Cell | c.x % 2 == 0 witness Cell(0) diff --git a/Test/git-issues/git-issue-697.dfy.expect b/Test/git-issues/git-issue-697.dfy.expect index f32a5804e29..188a72ebc36 100644 --- a/Test/git-issues/git-issue-697.dfy.expect +++ b/Test/git-issues/git-issue-697.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-697b.dfy b/Test/git-issues/git-issue-697b.dfy index cdb054d8d78..cfdd3fd0821 100644 --- a/Test/git-issues/git-issue-697b.dfy +++ b/Test/git-issues/git-issue-697b.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Cell = Cell(x: int) type EvenCell = c: Cell | c.x % 2 == 0 witness Cell(0) diff --git a/Test/git-issues/git-issue-697b.dfy.expect b/Test/git-issues/git-issue-697b.dfy.expect index 9c777ac6a0f..b355409912b 100644 --- a/Test/git-issues/git-issue-697b.dfy.expect +++ b/Test/git-issues/git-issue-697b.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors false 2 diff --git a/Test/git-issues/git-issue-697d.dfy b/Test/git-issues/git-issue-697d.dfy index 8b65c2da4f7..71a262fc985 100644 --- a/Test/git-issues/git-issue-697d.dfy +++ b/Test/git-issues/git-issue-697d.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" function nonGhostPredicate(x: int): bool { x % 2 == 0 diff --git a/Test/git-issues/git-issue-697d.dfy.expect b/Test/git-issues/git-issue-697d.dfy.expect index f32a5804e29..48fb59aeae5 100644 --- a/Test/git-issues/git-issue-697d.dfy.expect +++ b/Test/git-issues/git-issue-697d.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 4 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-697e.dfy b/Test/git-issues/git-issue-697e.dfy index 310851abf9a..e4500bfab28 100644 --- a/Test/git-issues/git-issue-697e.dfy +++ b/Test/git-issues/git-issue-697e.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Cell = Cell(x: int) type EvenCell = c: Cell | c.x % 2 == 0 witness Cell(0) diff --git a/Test/git-issues/git-issue-697e.dfy.expect b/Test/git-issues/git-issue-697e.dfy.expect index e69de29bb2d..00a51f822da 100644 --- a/Test/git-issues/git-issue-697e.dfy.expect +++ b/Test/git-issues/git-issue-697e.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 3 verified, 0 errors diff --git a/Test/git-issues/git-issue-697f.dfy b/Test/git-issues/git-issue-697f.dfy index acb8810dfbf..92d1cec2ed8 100644 --- a/Test/git-issues/git-issue-697f.dfy +++ b/Test/git-issues/git-issue-697f.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" ghost function ghostPredicate(x: int): bool { x % 2 == 0 diff --git a/Test/git-issues/git-issue-697f.dfy.expect b/Test/git-issues/git-issue-697f.dfy.expect index b5754e20373..3e2cf8d0f69 100644 --- a/Test/git-issues/git-issue-697f.dfy.expect +++ b/Test/git-issues/git-issue-697f.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 4 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-697g.dfy b/Test/git-issues/git-issue-697g.dfy index 7b30de7f3a0..c3b7581ff61 100644 --- a/Test/git-issues/git-issue-697g.dfy +++ b/Test/git-issues/git-issue-697g.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" function returnNat(c: nat): int { diff --git a/Test/git-issues/git-issue-697g.dfy.expect b/Test/git-issues/git-issue-697g.dfy.expect index f32a5804e29..d9157fa820a 100644 --- a/Test/git-issues/git-issue-697g.dfy.expect +++ b/Test/git-issues/git-issue-697g.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-698.dfy b/Test/git-issues/git-issue-698.dfy index 7b7a9ca15b8..b15295c9b46 100644 --- a/Test/git-issues/git-issue-698.dfy +++ b/Test/git-issues/git-issue-698.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" type Small = x: int | 0 <= x < 100 && x != 3 diff --git a/Test/git-issues/git-issue-698.dfy.expect b/Test/git-issues/git-issue-698.dfy.expect index 27ba77ddaf6..7f965a65d2e 100644 --- a/Test/git-issues/git-issue-698.dfy.expect +++ b/Test/git-issues/git-issue-698.dfy.expect @@ -1 +1,8 @@ + +Dafny program verifier finished with 3 verified, 0 errors + +Dafny program verifier did not attempt verification +true + +Dafny program verifier did not attempt verification true diff --git a/Test/git-issues/git-issue-698b.dfy b/Test/git-issues/git-issue-698b.dfy index dbdbc3b36d3..1d4a92456e6 100644 --- a/Test/git-issues/git-issue-698b.dfy +++ b/Test/git-issues/git-issue-698b.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" type Small = x: int | 0 <= x < 100 && x != 3 @@ -12,4 +13,4 @@ method Main() { var b := !exists n: Small :: F(n) != 100; assert b; print b; -} +} \ No newline at end of file diff --git a/Test/git-issues/git-issue-698b.dfy.expect b/Test/git-issues/git-issue-698b.dfy.expect index f32a5804e29..188a72ebc36 100644 --- a/Test/git-issues/git-issue-698b.dfy.expect +++ b/Test/git-issues/git-issue-698b.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-701.dfy b/Test/git-issues/git-issue-701.dfy index 38984df4ecf..af19f0d89e2 100644 --- a/Test/git-issues/git-issue-701.dfy +++ b/Test/git-issues/git-issue-701.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var ca := new ClassA; diff --git a/Test/git-issues/git-issue-701.dfy.expect b/Test/git-issues/git-issue-701.dfy.expect index 5198c09cbb1..4d20966e641 100644 --- a/Test/git-issues/git-issue-701.dfy.expect +++ b/Test/git-issues/git-issue-701.dfy.expect @@ -1,3 +1,22 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification +0 0 0 +[] [] [] +C.Nothing C.Nothing C.Nothing + +Dafny program verifier did not attempt verification +0 0 0 +[] [] [] +C.Nothing C.Nothing C.Nothing + +Dafny program verifier did not attempt verification +0 0 0 +[] [] [] +C.Nothing C.Nothing C.Nothing + +Dafny program verifier did not attempt verification 0 0 0 [] [] [] C.Nothing C.Nothing C.Nothing diff --git a/Test/git-issues/git-issue-705.dfy b/Test/git-issues/git-issue-705.dfy index 9c36a336e8e..d4b806800c2 100644 --- a/Test/git-issues/git-issue-705.dfy +++ b/Test/git-issues/git-issue-705.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs /spillTargetCode:3 "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js /spillTargetCode:3 "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go /spillTargetCode:3 "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java /spillTargetCode:3 "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype MyDataType = AAA { function toString(): int { 222 } diff --git a/Test/git-issues/git-issue-705.dfy.expect b/Test/git-issues/git-issue-705.dfy.expect index 79a1eee7c74..02cf409667a 100644 --- a/Test/git-issues/git-issue-705.dfy.expect +++ b/Test/git-issues/git-issue-705.dfy.expect @@ -1 +1,14 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification +MyDataType.AAA 222 + +Dafny program verifier did not attempt verification +MyDataType.AAA 222 + +Dafny program verifier did not attempt verification +MyDataType.AAA 222 + +Dafny program verifier did not attempt verification MyDataType.AAA 222 diff --git a/Test/git-issues/git-issue-731.dfy b/Test/git-issues/git-issue-731.dfy index 348d40fecea..05d02fea1af 100644 --- a/Test/git-issues/git-issue-731.dfy +++ b/Test/git-issues/git-issue-731.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" trait Trait { const y: Y diff --git a/Test/git-issues/git-issue-731.dfy.expect b/Test/git-issues/git-issue-731.dfy.expect index 7554a44901e..69b2e6af648 100644 --- a/Test/git-issues/git-issue-731.dfy.expect +++ b/Test/git-issues/git-issue-731.dfy.expect @@ -1,2 +1,18 @@ + +Dafny program verifier finished with 3 verified, 0 errors + +Dafny program verifier did not attempt verification +0 0 0 42 +0 0 0 9 + +Dafny program verifier did not attempt verification +0 0 0 42 +0 0 0 9 + +Dafny program verifier did not attempt verification +0 0 0 42 +0 0 0 9 + +Dafny program verifier did not attempt verification 0 0 0 42 0 0 0 9 diff --git a/Test/git-issues/git-issue-731b.dfy b/Test/git-issues/git-issue-731b.dfy index 2a0507839a2..a77dbd6323b 100644 --- a/Test/git-issues/git-issue-731b.dfy +++ b/Test/git-issues/git-issue-731b.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // Testing issue#731 when the class in question has type parameters diff --git a/Test/git-issues/git-issue-731b.dfy.expect b/Test/git-issues/git-issue-731b.dfy.expect index dd3226d2b73..97e6c041920 100644 --- a/Test/git-issues/git-issue-731b.dfy.expect +++ b/Test/git-issues/git-issue-731b.dfy.expect @@ -1 +1,14 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification +0 42 + +Dafny program verifier did not attempt verification +0 42 + +Dafny program verifier did not attempt verification +0 42 + +Dafny program verifier did not attempt verification 0 42 diff --git a/Test/git-issues/git-issue-784.dfy b/Test/git-issues/git-issue-784.dfy index 5f6cf59465c..78b83f01064 100644 --- a/Test/git-issues/git-issue-784.dfy +++ b/Test/git-issues/git-issue-784.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype List = Nil | Cons(T, List) { function App(ys: List): List { diff --git a/Test/git-issues/git-issue-784.dfy.expect b/Test/git-issues/git-issue-784.dfy.expect index e69de29bb2d..8da23be5c8c 100644 --- a/Test/git-issues/git-issue-784.dfy.expect +++ b/Test/git-issues/git-issue-784.dfy.expect @@ -0,0 +1,10 @@ + +Dafny program verifier finished with 4 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-953.dfy b/Test/git-issues/git-issue-953.dfy index 9c14e6e4e98..adebc946c35 100644 --- a/Test/git-issues/git-issue-953.dfy +++ b/Test/git-issues/git-issue-953.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" module P { datatype T_ = T() // the underscore in this name once caused a problem in Java compilation diff --git a/Test/git-issues/git-issue-953.dfy.expect b/Test/git-issues/git-issue-953.dfy.expect index 8eec6126a08..8466ea62f3f 100644 --- a/Test/git-issues/git-issue-953.dfy.expect +++ b/Test/git-issues/git-issue-953.dfy.expect @@ -1,3 +1,39 @@ + +Dafny program verifier finished with 6 verified, 0 errors + +Dafny program verifier did not attempt verification +C1.T_.T +P.T_.T +OtherNamesWithSpecialCharacters?_.A?_.A?_ OtherNamesWithSpecialCharacters?_.B?_.B?_ +17 17 0 0 +C2.C.C(10, 11) +9 + +Dafny program verifier did not attempt verification +C1.T_.T +P.T_.T +OtherNamesWithSpecialCharacters?_.A?_.A?_ OtherNamesWithSpecialCharacters?_.B?_.B?_ +17 17 0 0 +C2.C.C(10, 11) +9 + +Dafny program verifier did not attempt verification +C1.T_.T +P.T_.T +OtherNamesWithSpecialCharacters?_.A?_.A?_ OtherNamesWithSpecialCharacters?_.B?_.B?_ +17 17 0 0 +C2.C.C(10, 11) +9 + +Dafny program verifier did not attempt verification +C1.T_.T +P.T_.T +OtherNamesWithSpecialCharacters?_.A?_.A?_ OtherNamesWithSpecialCharacters?_.B?_.B?_ +17 17 0 0 +C2.C.C(10, 11) +9 + +Dafny program verifier did not attempt verification C1.T_.T P.T_.T OtherNamesWithSpecialCharacters?_.A?_.A?_ OtherNamesWithSpecialCharacters?_.B?_.B?_ diff --git a/Test/git-issues/github-issue-3343.dfy b/Test/git-issues/github-issue-3343.dfy index d518b2a1a41..517a11d7fc1 100644 --- a/Test/git-issues/github-issue-3343.dfy +++ b/Test/git-issues/github-issue-3343.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" +// RUN: %baredafny run "%s" -t:java > "%t" +// RUN: %diff "%s.expect" "%t" method Bug() { var zero := 0; var a := new int[zero] []; diff --git a/Test/git-issues/github-issue-3343.dfy.expect b/Test/git-issues/github-issue-3343.dfy.expect index e69de29bb2d..823a60a105c 100644 --- a/Test/git-issues/github-issue-3343.dfy.expect +++ b/Test/git-issues/github-issue-3343.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 1 verified, 0 errors diff --git a/Test/hofs/Compilation.dfy b/Test/hofs/Compilation.dfy index 7e9c674b495..99fd0a36506 100644 --- a/Test/hofs/Compilation.dfy +++ b/Test/hofs/Compilation.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" class Ref { var val : A diff --git a/Test/hofs/Compilation.dfy.expect b/Test/hofs/Compilation.dfy.expect index 6b7187d2557..760fafc6189 100644 --- a/Test/hofs/Compilation.dfy.expect +++ b/Test/hofs/Compilation.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 2 verified, 0 errors 1 = 1 3 = 3 3 = 3 diff --git a/Test/hofs/Examples.dfy b/Test/hofs/Examples.dfy index bebda559221..cdf177c001f 100644 --- a/Test/hofs/Examples.dfy +++ b/Test/hofs/Examples.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" function Apply(f: A ~> B, x: A): B reads f.reads(x) diff --git a/Test/hofs/Examples.dfy.expect b/Test/hofs/Examples.dfy.expect index e69de29bb2d..851aaf58286 100644 --- a/Test/hofs/Examples.dfy.expect +++ b/Test/hofs/Examples.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 7 verified, 0 errors diff --git a/Test/hofs/Fold.dfy b/Test/hofs/Fold.dfy index 96ddb01591f..336f9121b52 100644 --- a/Test/hofs/Fold.dfy +++ b/Test/hofs/Fold.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype List = Nil | Cons(A,List) diff --git a/Test/hofs/Fold.dfy.expect b/Test/hofs/Fold.dfy.expect index 3abcc310618..144ffab92db 100644 --- a/Test/hofs/Fold.dfy.expect +++ b/Test/hofs/Fold.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors 3 = 3 diff --git a/Test/hofs/Renaming.dfy b/Test/hofs/Renaming.dfy index 391c0e79ef6..cf21fdba2f8 100644 --- a/Test/hofs/Renaming.dfy +++ b/Test/hofs/Renaming.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" function OnId(f : (bool -> bool) -> int) : int reads f.reads(x => x) diff --git a/Test/hofs/Renaming.dfy.expect b/Test/hofs/Renaming.dfy.expect index 13a954d9043..e2b6636dbe4 100644 --- a/Test/hofs/Renaming.dfy.expect +++ b/Test/hofs/Renaming.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 4 verified, 0 errors 10 11 diff --git a/Test/hofs/Requires.dfy b/Test/hofs/Requires.dfy index f5e51244184..de5944b6744 100644 --- a/Test/hofs/Requires.dfy +++ b/Test/hofs/Requires.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/hofs/Requires.dfy.expect b/Test/hofs/Requires.dfy.expect index e69de29bb2d..1981561ca00 100644 --- a/Test/hofs/Requires.dfy.expect +++ b/Test/hofs/Requires.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 10 verified, 0 errors diff --git a/Test/hofs/TreeMapSimple.dfy b/Test/hofs/TreeMapSimple.dfy index b7baf6eb8d7..d93aea46403 100644 --- a/Test/hofs/TreeMapSimple.dfy +++ b/Test/hofs/TreeMapSimple.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { TestY(); diff --git a/Test/hofs/TreeMapSimple.dfy.expect b/Test/hofs/TreeMapSimple.dfy.expect index be0317f1016..9224d605f7e 100644 --- a/Test/hofs/TreeMapSimple.dfy.expect +++ b/Test/hofs/TreeMapSimple.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 11 verified, 0 errors Tree.Branch(100, List.Cons(Tree.Branch(50, List.Nil), List.Nil)) Tree.Branch(100, List.Cons(Tree.Branch(50, List.Nil), List.Nil)) diff --git a/Test/hofs/VectorUpdate.dfy b/Test/hofs/VectorUpdate.dfy index 70c0de3084e..848ed585ca6 100644 --- a/Test/hofs/VectorUpdate.dfy +++ b/Test/hofs/VectorUpdate.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // this is a rather verbose version of the VectorUpdate method method VectorUpdate(N: int, a : array, f : (int,A) ~> A) diff --git a/Test/hofs/VectorUpdate.dfy.expect b/Test/hofs/VectorUpdate.dfy.expect index 7645f125857..b8fae39eab8 100644 --- a/Test/hofs/VectorUpdate.dfy.expect +++ b/Test/hofs/VectorUpdate.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 8 verified, 0 errors 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 100, 50, 33, 25, 20, 16, 14, 12, 11, 10 diff --git a/Test/hofs/WhileLoop.dfy b/Test/hofs/WhileLoop.dfy index 914f47f4522..4af9fbd841b 100644 --- a/Test/hofs/WhileLoop.dfy +++ b/Test/hofs/WhileLoop.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" class Ref { var val: A diff --git a/Test/hofs/WhileLoop.dfy.expect b/Test/hofs/WhileLoop.dfy.expect index 83083b451e1..234ac298c9b 100644 --- a/Test/hofs/WhileLoop.dfy.expect +++ b/Test/hofs/WhileLoop.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 4 verified, 0 errors 22 22 22 diff --git a/Test/metatests/OutputEncoding.dfy b/Test/metatests/OutputEncoding.dfy index 59fa53bf298..68c390ac811 100644 --- a/Test/metatests/OutputEncoding.dfy +++ b/Test/metatests/OutputEncoding.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" +// RUN: %baredafny verify %args "%s" > "%t" +// RUN: %baredafny run --no-verify --target=cs %args "%s" >> "%t" +// RUN: %baredafny run --no-verify --target=js %args "%s" >> "%t" +// RUN: %baredafny run --no-verify --target=go %args "%s" >> "%t" +// RUN: %baredafny run --no-verify --target=py %args "%s" >> "%t" +// RUN: %baredafny run --no-verify --target=java %args "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { // This works fine in all languages because € is a single UTF-16 code unit. diff --git a/Test/metatests/OutputEncoding.dfy.expect b/Test/metatests/OutputEncoding.dfy.expect index b25a57298f1..a37241376f3 100644 --- a/Test/metatests/OutputEncoding.dfy.expect +++ b/Test/metatests/OutputEncoding.dfy.expect @@ -1 +1,17 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification +Euro sign: € + +Dafny program verifier did not attempt verification +Euro sign: € + +Dafny program verifier did not attempt verification +Euro sign: € + +Dafny program verifier did not attempt verification +Euro sign: € + +Dafny program verifier did not attempt verification Euro sign: € diff --git a/Test/patterns/OrPatterns.dfy b/Test/patterns/OrPatterns.dfy index 6385bd55c93..4f2610c9379 100644 --- a/Test/patterns/OrPatterns.dfy +++ b/Test/patterns/OrPatterns.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /rprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Enum = One | Two | Three { predicate Even() { diff --git a/Test/patterns/OrPatterns.dfy.expect b/Test/patterns/OrPatterns.dfy.expect index d86bac9de59..a6fce7c4a13 100644 --- a/Test/patterns/OrPatterns.dfy.expect +++ b/Test/patterns/OrPatterns.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 11 verified, 0 errors OK diff --git a/Test/patterns/PatternMatching.dfy b/Test/patterns/PatternMatching.dfy index e8a73b856e4..477126c066a 100644 --- a/Test/patterns/PatternMatching.dfy +++ b/Test/patterns/PatternMatching.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" /* * This file contains a collection of tests for features modified or introduced in PR 458 @@ -221,4 +222,4 @@ method Main() { var r5 := MultipleNestedMatch(A(0), t4, bb); print "Testing MultipleNestedMatch: ", r0, r1, r2, r3, r4, r5, ", should return 012345\n"; -} +} \ No newline at end of file diff --git a/Test/patterns/PatternMatching.dfy.expect b/Test/patterns/PatternMatching.dfy.expect index b4415971ca5..2970273cbfc 100644 --- a/Test/patterns/PatternMatching.dfy.expect +++ b/Test/patterns/PatternMatching.dfy.expect @@ -1,3 +1,6 @@ +PatternMatching.dfy(102,4): Warning: this branch is redundant + +Dafny program verifier finished with 9 verified, 0 errors NestingTest([6]) = 6, should return 6 NestedVariableTest([2::3::4::5::6]) = 0, should return 0 ConstantTest([3::4::5::6]) = 2, should return 2 diff --git a/Test/patterns/PatternMatching.dfy.verifier.expect b/Test/patterns/PatternMatching.dfy.verifier.expect deleted file mode 100644 index b486aadfb80..00000000000 --- a/Test/patterns/PatternMatching.dfy.verifier.expect +++ /dev/null @@ -1 +0,0 @@ -PatternMatching.dfy(101,4): Warning: this branch is redundant diff --git a/Test/traits/TraitCompile.dfy b/Test/traits/TraitCompile.dfy index 6e9b925fbc5..03cf3746c6f 100644 --- a/Test/traits/TraitCompile.dfy +++ b/Test/traits/TraitCompile.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" trait TT { @@ -814,4 +820,4 @@ module RedeclaringMembers { true } } -} +} \ No newline at end of file diff --git a/Test/traits/TraitCompile.dfy.expect b/Test/traits/TraitCompile.dfy.expect index b70a9b09d2e..8257b754de2 100644 --- a/Test/traits/TraitCompile.dfy.expect +++ b/Test/traits/TraitCompile.dfy.expect @@ -1,3 +1,259 @@ + +Dafny program verifier finished with 75 verified, 0 errors + +Dafny program verifier did not attempt verification +y=120 +x=12 +d=800 +a5=407 +t=1212 +z=30 +z'=30 +w=30 +d=1000 +a5=507 +t=1512 +t=1512 +t=1515 +This is OtherModule.P(7.0) +From OtherModule.Y: 7 and true +This is OtherModule.P(7.0) +From OtherModule.X: 7 and true +c.f= 15 j.f= 15 +c.f= 18 j.f= 18 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +x=126 +5.2 9 false +true true true true +false false false false +true true true true +false false false false +5.2 5.2 +1.2 1.2 +1.2 1.2 +15 30 +15 30 +15 30 +0 (0, 0) 0 +8 +0 0 0 0 0 0 0 0 0 0 0 0 +13 13 13 13 13 13 13 13 13 13 13 13 +14 14 14 14 14 14 14 14 14 14 14 14 +15 15 15 15 15 15 15 15 15 15 15 15 +16 16 16 16 16 16 16 16 16 16 16 16 +17 17 17 17 17 17 17 17 17 17 17 17 +18 18 18 18 18 18 18 18 18 18 18 18 +19 19 19 19 19 19 19 19 19 19 19 19 +20 20 20 20 20 20 20 20 20 20 20 20 +21 21 21 21 21 21 21 21 21 21 21 21 +22 22 22 22 22 22 22 22 22 22 22 22 +23 23 23 23 23 23 23 23 23 23 23 23 +24 24 24 24 24 24 24 24 24 24 24 24 +f(4) = 7 +f(4) = 7 +g(4) = 7 +g(4) = 7 +41 15 26 +true true +true true +true true +true true +true true true +true true true + +Dafny program verifier did not attempt verification +y=120 +x=12 +d=800 +a5=407 +t=1212 +z=30 +z'=30 +w=30 +d=1000 +a5=507 +t=1512 +t=1512 +t=1515 +This is OtherModule.P(7.0) +From OtherModule.Y: 7 and true +This is OtherModule.P(7.0) +From OtherModule.X: 7 and true +c.f= 15 j.f= 15 +c.f= 18 j.f= 18 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +x=126 +5.2 9 false +true true true true +false false false false +true true true true +false false false false +5.2 5.2 +1.2 1.2 +1.2 1.2 +15 30 +15 30 +15 30 +0 (0, 0) 0 +8 +0 0 0 0 0 0 0 0 0 0 0 0 +13 13 13 13 13 13 13 13 13 13 13 13 +14 14 14 14 14 14 14 14 14 14 14 14 +15 15 15 15 15 15 15 15 15 15 15 15 +16 16 16 16 16 16 16 16 16 16 16 16 +17 17 17 17 17 17 17 17 17 17 17 17 +18 18 18 18 18 18 18 18 18 18 18 18 +19 19 19 19 19 19 19 19 19 19 19 19 +20 20 20 20 20 20 20 20 20 20 20 20 +21 21 21 21 21 21 21 21 21 21 21 21 +22 22 22 22 22 22 22 22 22 22 22 22 +23 23 23 23 23 23 23 23 23 23 23 23 +24 24 24 24 24 24 24 24 24 24 24 24 +f(4) = 7 +f(4) = 7 +g(4) = 7 +g(4) = 7 +41 15 26 +true true +true true +true true +true true +true true true +true true true + +Dafny program verifier did not attempt verification +y=120 +x=12 +d=800 +a5=407 +t=1212 +z=30 +z'=30 +w=30 +d=1000 +a5=507 +t=1512 +t=1512 +t=1515 +This is OtherModule.P(7.0) +From OtherModule.Y: 7 and true +This is OtherModule.P(7.0) +From OtherModule.X: 7 and true +c.f= 15 j.f= 15 +c.f= 18 j.f= 18 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +x=126 +5.2 9 false +true true true true +false false false false +true true true true +false false false false +5.2 5.2 +1.2 1.2 +1.2 1.2 +15 30 +15 30 +15 30 +0 (0, 0) 0 +8 +0 0 0 0 0 0 0 0 0 0 0 0 +13 13 13 13 13 13 13 13 13 13 13 13 +14 14 14 14 14 14 14 14 14 14 14 14 +15 15 15 15 15 15 15 15 15 15 15 15 +16 16 16 16 16 16 16 16 16 16 16 16 +17 17 17 17 17 17 17 17 17 17 17 17 +18 18 18 18 18 18 18 18 18 18 18 18 +19 19 19 19 19 19 19 19 19 19 19 19 +20 20 20 20 20 20 20 20 20 20 20 20 +21 21 21 21 21 21 21 21 21 21 21 21 +22 22 22 22 22 22 22 22 22 22 22 22 +23 23 23 23 23 23 23 23 23 23 23 23 +24 24 24 24 24 24 24 24 24 24 24 24 +f(4) = 7 +f(4) = 7 +g(4) = 7 +g(4) = 7 +41 15 26 +true true +true true +true true +true true +true true true +true true true + +Dafny program verifier did not attempt verification +y=120 +x=12 +d=800 +a5=407 +t=1212 +z=30 +z'=30 +w=30 +d=1000 +a5=507 +t=1512 +t=1512 +t=1515 +This is OtherModule.P(7.0) +From OtherModule.Y: 7 and true +This is OtherModule.P(7.0) +From OtherModule.X: 7 and true +c.f= 15 j.f= 15 +c.f= 18 j.f= 18 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +x=126 +5.2 9 false +true true true true +false false false false +true true true true +false false false false +5.2 5.2 +1.2 1.2 +1.2 1.2 +15 30 +15 30 +15 30 +0 (0, 0) 0 +8 +0 0 0 0 0 0 0 0 0 0 0 0 +13 13 13 13 13 13 13 13 13 13 13 13 +14 14 14 14 14 14 14 14 14 14 14 14 +15 15 15 15 15 15 15 15 15 15 15 15 +16 16 16 16 16 16 16 16 16 16 16 16 +17 17 17 17 17 17 17 17 17 17 17 17 +18 18 18 18 18 18 18 18 18 18 18 18 +19 19 19 19 19 19 19 19 19 19 19 19 +20 20 20 20 20 20 20 20 20 20 20 20 +21 21 21 21 21 21 21 21 21 21 21 21 +22 22 22 22 22 22 22 22 22 22 22 22 +23 23 23 23 23 23 23 23 23 23 23 23 +24 24 24 24 24 24 24 24 24 24 24 24 +f(4) = 7 +f(4) = 7 +g(4) = 7 +g(4) = 7 +41 15 26 +true true +true true +true true +true true +true true true +true true true + +Dafny program verifier did not attempt verification y=120 x=12 d=800 diff --git a/Test/traits/TraitExample.dfy b/Test/traits/TraitExample.dfy index 54c5cbbec6f..d6afb4ce70b 100644 --- a/Test/traits/TraitExample.dfy +++ b/Test/traits/TraitExample.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" trait Automobile { ghost var Repr: set diff --git a/Test/traits/TraitExample.dfy.expect b/Test/traits/TraitExample.dfy.expect index b9783e62141..c1b4ac93962 100644 --- a/Test/traits/TraitExample.dfy.expect +++ b/Test/traits/TraitExample.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 29 verified, 0 errors Fiat: 6 Volvo: 20 Catacar: 26 diff --git a/Test/traits/Traits-Fields.dfy b/Test/traits/Traits-Fields.dfy index 6ae1aaab6d9..2da609c33c8 100644 --- a/Test/traits/Traits-Fields.dfy +++ b/Test/traits/Traits-Fields.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" trait J { diff --git a/Test/traits/Traits-Fields.dfy.expect b/Test/traits/Traits-Fields.dfy.expect index c39bd8b5d5d..cc460fc52f4 100644 --- a/Test/traits/Traits-Fields.dfy.expect +++ b/Test/traits/Traits-Fields.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 2 verified, 0 errors j.x = 9 c.x = 9 diff --git a/Test/traits/TraitsMultipleInheritance.dfy b/Test/traits/TraitsMultipleInheritance.dfy index 67fd8673488..12590e47828 100644 --- a/Test/traits/TraitsMultipleInheritance.dfy +++ b/Test/traits/TraitsMultipleInheritance.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" trait J1{ var x: int diff --git a/Test/traits/TraitsMultipleInheritance.dfy.expect b/Test/traits/TraitsMultipleInheritance.dfy.expect index b116b2d070d..ad1a1011a25 100644 --- a/Test/traits/TraitsMultipleInheritance.dfy.expect +++ b/Test/traits/TraitsMultipleInheritance.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 1 verified, 0 errors c.x + c.y = 30 j1.x + j2.y = 30 diff --git a/Test/unicodechars/comp/Collections.dfy b/Test/unicodechars/comp/Collections.dfy index 14d241ed5ab..fb3e451eb83 100644 --- a/Test/unicodechars/comp/Collections.dfy +++ b/Test/unicodechars/comp/Collections.dfy @@ -1,3 +1,8 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:true --verify-included-files +// RUN: %dafny /compile:0 /verifyAllModules /unicodeChar:1 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" include "../../comp/Collections.dfy" diff --git a/Test/unicodechars/comp/Collections.dfy.expect b/Test/unicodechars/comp/Collections.dfy.expect index 89f08b08d75..70586502b0d 100644 --- a/Test/unicodechars/comp/Collections.dfy.expect +++ b/Test/unicodechars/comp/Collections.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 40 verified, 0 errors + +Dafny program verifier did not attempt verification Sets: {} {17, 82} {12, 17} cardinality: 0 2 2 union: {17, 82} {12, 17, 82} @@ -123,3 +127,511 @@ Multiset=== 1 3 |s|=2 |u|=4 1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Yellow := 21, Color.Blue := 30] +keys: {Color.Yellow, Color.Blue} +values: {21, 30} +items: {(Color.Yellow, 21), (Color.Blue, 30)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {21, 30} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.go.expect b/Test/unicodechars/comp/Collections.dfy.go.expect deleted file mode 100644 index 2fc0f3b7093..00000000000 --- a/Test/unicodechars/comp/Collections.dfy.go.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.java.expect b/Test/unicodechars/comp/Collections.dfy.java.expect deleted file mode 100644 index 39975cadfc4..00000000000 --- a/Test/unicodechars/comp/Collections.dfy.java.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Yellow := 21, Color.Blue := 30] -keys: {Color.Yellow, Color.Blue} -values: {21, 30} -items: {(Color.Yellow, 21), (Color.Blue, 30)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.js.expect b/Test/unicodechars/comp/Collections.dfy.js.expect deleted file mode 100644 index 2fc0f3b7093..00000000000 --- a/Test/unicodechars/comp/Collections.dfy.js.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.py.expect b/Test/unicodechars/comp/Collections.dfy.py.expect deleted file mode 100644 index e4e346dede0..00000000000 --- a/Test/unicodechars/comp/Collections.dfy.py.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {21, 30} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/unicodechars/comp/Comprehensions.dfy b/Test/unicodechars/comp/Comprehensions.dfy index 8bd5f67525e..274f8d3a150 100644 --- a/Test/unicodechars/comp/Comprehensions.dfy +++ b/Test/unicodechars/comp/Comprehensions.dfy @@ -1,3 +1,8 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:true --verify-included-files -include "../../comp/Comprehensions.dfy" +// RUN: %dafny /compile:0 /unicodeChar:1 /verifyAllModules "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" +include "../../comp/Comprehensions.dfy" \ No newline at end of file diff --git a/Test/unicodechars/comp/Comprehensions.dfy.expect b/Test/unicodechars/comp/Comprehensions.dfy.expect index c9703fc9397..18159ddde0a 100644 --- a/Test/unicodechars/comp/Comprehensions.dfy.expect +++ b/Test/unicodechars/comp/Comprehensions.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 32 verified, 0 errors + +Dafny program verifier did not attempt verification x=13 y=14 x=13 y=14 b=yes true false @@ -60,3 +64,259 @@ true true [137438953474, 137438953475, 137438953476, 137438953477, 137438953479] cdefh cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[14 := 7, 12 := 6, 13 := 6] +map[18 := 14, 17 := 13, 16 := 12] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh diff --git a/Test/unicodechars/comp/Comprehensions.dfy.py.expect b/Test/unicodechars/comp/Comprehensions.dfy.py.expect deleted file mode 100644 index aeaa31fc0f3..00000000000 --- a/Test/unicodechars/comp/Comprehensions.dfy.py.expect +++ /dev/null @@ -1,62 +0,0 @@ -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[14 := 7, 12 := 6, 13 := 6] -map[18 := 14, 17 := 13, 16 := 12] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh diff --git a/Test/unicodechars/comp/NativeNumbers.dfy b/Test/unicodechars/comp/NativeNumbers.dfy index 20cdb1e214f..764b4b3b384 100644 --- a/Test/unicodechars/comp/NativeNumbers.dfy +++ b/Test/unicodechars/comp/NativeNumbers.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:true --verify-included-files // Skip JavaScript because JavaScript doesn't have the same native types -include "../../comp/NativeNumbers.dfy" +// RUN: %dafny /compile:0 /verifyAllModules /unicodeChar:1 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" +include "../../comp/NativeNumbers.dfy" \ No newline at end of file diff --git a/Test/unicodechars/comp/NativeNumbers.dfy.expect b/Test/unicodechars/comp/NativeNumbers.dfy.expect index 354d931a151..b0fc6754f84 100644 --- a/Test/unicodechars/comp/NativeNumbers.dfy.expect +++ b/Test/unicodechars/comp/NativeNumbers.dfy.expect @@ -1,3 +1,259 @@ + +Dafny program verifier finished with 25 verified, 0 errors + +Dafny program verifier did not attempt verification +Casting: + +Small numbers: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 +5 5 5 5 5 5 5 5 5 +6 6 6 6 6 6 6 6 6 +7 7 7 7 7 7 7 7 7 +8 8 8 8 8 8 8 8 8 + +Large unsigned numbers: +255 255 255 255 255 255 255 255 +65535 65535 65535 65535 65535 65535 +4294967295 4294967295 4294967295 4294967295 +18446744073709551615 18446744073709551615 + +Int to large unsigned: +255 65535 4294967295 18446744073709551615 + +Cast from cardinality operator: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 + +Characters: +'C' 67 67 67 67 67 67 67 67 67 +0 127 32767 65535 65535 255 65535 65535 65535 + +Defaults: + +0 0 0 0 0 0 0 0 0 + +Byte arithmetic: + +20 30 +10 10 18 + +Short arithmetic: + +20 30 +10 10 18 + +Bitvectors: + +0 3 4 1 + +Comparison to zero: + +int8: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int16: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int32: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int64: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint8: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint16: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint32: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint64: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N + + +Dafny program verifier did not attempt verification +Casting: + +Small numbers: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 +5 5 5 5 5 5 5 5 5 +6 6 6 6 6 6 6 6 6 +7 7 7 7 7 7 7 7 7 +8 8 8 8 8 8 8 8 8 + +Large unsigned numbers: +255 255 255 255 255 255 255 255 +65535 65535 65535 65535 65535 65535 +4294967295 4294967295 4294967295 4294967295 +18446744073709551615 18446744073709551615 + +Int to large unsigned: +255 65535 4294967295 18446744073709551615 + +Cast from cardinality operator: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 + +Characters: +'C' 67 67 67 67 67 67 67 67 67 +0 127 32767 65535 65535 255 65535 65535 65535 + +Defaults: + +0 0 0 0 0 0 0 0 0 + +Byte arithmetic: + +20 30 +10 10 18 + +Short arithmetic: + +20 30 +10 10 18 + +Bitvectors: + +0 3 4 1 + +Comparison to zero: + +int8: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int16: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int32: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int64: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint8: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint16: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint32: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint64: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N + + +Dafny program verifier did not attempt verification +Casting: + +Small numbers: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 +5 5 5 5 5 5 5 5 5 +6 6 6 6 6 6 6 6 6 +7 7 7 7 7 7 7 7 7 +8 8 8 8 8 8 8 8 8 + +Large unsigned numbers: +255 255 255 255 255 255 255 255 +65535 65535 65535 65535 65535 65535 +4294967295 4294967295 4294967295 4294967295 +18446744073709551615 18446744073709551615 + +Int to large unsigned: +255 65535 4294967295 18446744073709551615 + +Cast from cardinality operator: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 + +Characters: +'C' 67 67 67 67 67 67 67 67 67 +0 127 32767 65535 65535 255 65535 65535 65535 + +Defaults: + +0 0 0 0 0 0 0 0 0 + +Byte arithmetic: + +20 30 +10 10 18 + +Short arithmetic: + +20 30 +10 10 18 + +Bitvectors: + +0 3 4 1 + +Comparison to zero: + +int8: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int16: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int32: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int64: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint8: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint16: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint32: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint64: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N + + +Dafny program verifier did not attempt verification Casting: Small numbers: diff --git a/Test/unicodechars/comp/Numbers.dfy b/Test/unicodechars/comp/Numbers.dfy index e5e36180234..2c9170fe4d7 100644 --- a/Test/unicodechars/comp/Numbers.dfy +++ b/Test/unicodechars/comp/Numbers.dfy @@ -1,3 +1,8 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:true --verify-included-files -include "../../comp/Numbers.dfy" +// RUN: %dafny /compile:0 /verifyAllModules /unicodeChar:1 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" +include "../../comp/Numbers.dfy" \ No newline at end of file diff --git a/Test/unicodechars/comp/Numbers.dfy.expect b/Test/unicodechars/comp/Numbers.dfy.expect index cce193e1cce..6fa2f59f340 100644 --- a/Test/unicodechars/comp/Numbers.dfy.expect +++ b/Test/unicodechars/comp/Numbers.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 59 verified, 0 errors + +Dafny program verifier did not attempt verification 0 0 3 @@ -109,3 +113,455 @@ true false true false false true false true true false true false 20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +'g' 'Q' '2' +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +(312.0 / 40.0) (1248.0 / 40.0) +(-312.0 / 40.0) (-1248.0 / 40.0) +(-312.0 / 40.0) (1248.0 / 40.0) +(312.0 / 40.0) (-1248.0 / 40.0) +0.0 0.0 0.0 +120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) +123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 (8100.0 / 8100.0) +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +'g' 'Q' '2' +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +'g' 'Q' '2' +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +(312.0 / 40.0) (1248.0 / 40.0) +(-312.0 / 40.0) (-1248.0 / 40.0) +(-312.0 / 40.0) (1248.0 / 40.0) +(312.0 / 40.0) (-1248.0 / 40.0) +0.0 0.0 0.0 +120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) +123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 (8100.0 / 8100.0) +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +'g' 'Q' '2' +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 diff --git a/Test/unicodechars/comp/Numbers.dfy.go.expect b/Test/unicodechars/comp/Numbers.dfy.go.expect deleted file mode 100644 index 95d8ac259c7..00000000000 --- a/Test/unicodechars/comp/Numbers.dfy.go.expect +++ /dev/null @@ -1,111 +0,0 @@ -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -'g' 'Q' '2' -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 diff --git a/Test/unicodechars/comp/Numbers.dfy.py.expect b/Test/unicodechars/comp/Numbers.dfy.py.expect deleted file mode 100644 index 95d8ac259c7..00000000000 --- a/Test/unicodechars/comp/Numbers.dfy.py.expect +++ /dev/null @@ -1,111 +0,0 @@ -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -'g' 'Q' '2' -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 From 485d856d4bb59680706f3c4983ea47fa11dbd8e2 Mon Sep 17 00:00:00 2001 From: Robin Salkeld Date: Mon, 12 Jun 2023 15:18:52 -0700 Subject: [PATCH 59/68] Unbreak test --- Test/comp/CompileWithArguments.dfy | 1 + 1 file changed, 1 insertion(+) diff --git a/Test/comp/CompileWithArguments.dfy b/Test/comp/CompileWithArguments.dfy index 1f61822860b..49fa3666453 100644 --- a/Test/comp/CompileWithArguments.dfy +++ b/Test/comp/CompileWithArguments.dfy @@ -1,3 +1,4 @@ +// NONUNIFORM: Multiple testing scenarios, highly backend sensitive, testing CLI // RUN: %dafny /compile:0 "%s" > "%t" // RUN: %run --no-verify --target:cs "%s" Csharp 1 >> "%t" // RUN: %run --no-verify --target:cpp --unicode-char:false "%s" Cpp Yipee >> "%t" From bc5389861a2a4749ceb29f34757bee2791bd43d0 Mon Sep 17 00:00:00 2001 From: Robin Salkeld Date: Mon, 12 Jun 2023 15:19:13 -0700 Subject: [PATCH 60/68] Convert all tests --- Test/VerifyThis2015/Problem1.dfy | 3 +- Test/VerifyThis2015/Problem1.dfy.expect | 2 - Test/VerifyThis2015/Problem2.dfy | 3 +- Test/VerifyThis2015/Problem2.dfy.expect | 2 - Test/VerifyThis2015/Problem3.dfy | 3 +- Test/VerifyThis2015/Problem3.dfy.expect | 2 - Test/c++/arrays.dfy | 3 +- Test/c++/arrays.dfy.expect | 2 - Test/c++/bit-vectors.dfy | 3 +- Test/c++/bit-vectors.dfy.expect | 2 - Test/c++/class.dfy | 3 +- Test/c++/class.dfy.expect | 2 - Test/c++/const.dfy | 3 +- Test/c++/const.dfy.expect | 2 - Test/c++/datatypes.dfy | 3 +- Test/c++/datatypes.dfy.expect | 2 - Test/c++/generic.dfy | 3 +- Test/c++/generic.dfy.expect | 2 - Test/c++/hello.dfy | 3 +- Test/c++/hello.dfy.expect | 2 - Test/c++/ints.dfy | 3 +- Test/c++/ints.dfy.expect | 2 - Test/c++/recursion.dfy | 3 +- Test/c++/recursion.dfy.expect | 2 - Test/c++/returns.dfy | 3 +- Test/c++/returns.dfy.expect | 2 - Test/c++/seqs.dfy | 3 +- Test/c++/seqs.dfy.expect | 2 - Test/c++/sets.dfy | 3 +- Test/c++/sets.dfy.expect | 2 - Test/c++/while.dfy | 3 +- Test/c++/while.dfy.expect | 2 - Test/comp/Arrays.dfy | 9 +- Test/comp/Arrays.dfy.expect | 396 ------------ Test/comp/Arrays.dfy.go.expect | 96 +++ Test/comp/AsIs-Compile.dfy | 8 +- Test/comp/AsIs-Compile.dfy.expect | 160 ----- Test/comp/AutoInit.dfy | 8 +- Test/comp/AutoInit.dfy.expect | 160 ----- Test/comp/ByMethodCompilation.dfy | 8 +- Test/comp/ByMethodCompilation.dfy.expect | 32 - Test/comp/Calls.dfy | 8 +- Test/comp/Calls.dfy.expect | 40 -- Test/comp/Class.dfy | 8 +- Test/comp/Class.dfy.expect | 72 --- Test/comp/Collections.dfy | 9 +- Test/comp/Collections.dfy.expect | 512 ---------------- Test/comp/Collections.dfy.go.expect | 125 ++++ Test/comp/Collections.dfy.java.expect | 125 ++++ Test/comp/Collections.dfy.js.expect | 125 ++++ Test/comp/Collections.dfy.py.expect | 125 ++++ Test/comp/Comprehensions.dfy | 9 +- Test/comp/Comprehensions.dfy.expect | 260 -------- Test/comp/Comprehensions.dfy.py.expect | 62 ++ Test/comp/ComprehensionsNewSyntax.dfy | 9 +- Test/comp/ComprehensionsNewSyntax.dfy.expect | 148 ----- .../ComprehensionsNewSyntax.dfy.py.expect | 34 ++ Test/comp/CovariantCollections.dfy | 8 +- Test/comp/CovariantCollections.dfy.expect | 220 ------- Test/comp/Datatype.dfy | 9 +- Test/comp/Datatype.dfy.expect | 100 --- Test/comp/Datatype.dfy.java.expect | 22 + Test/comp/Datatype.dfy.py.expect | 22 + Test/comp/DefaultParameters-Compile.dfy | 8 +- .../comp/DefaultParameters-Compile.dfy.expect | 48 -- Test/comp/DowncastClone.dfy | 8 +- Test/comp/DowncastClone.dfy.expect | 40 -- Test/comp/ErasableTypeWrappers.dfy | 8 +- Test/comp/ErasableTypeWrappers.dfy.expect | 84 --- Test/comp/EuclideanDivision.dfy | 8 +- Test/comp/EuclideanDivision.dfy.expect | 36 -- Test/comp/ForLoops-Compilation.dfy | 8 +- Test/comp/ForLoops-Compilation.dfy.expect | 200 ------ Test/comp/ForallNewSyntax.dfy | 8 +- Test/comp/ForallNewSyntax.dfy.expect | 180 ------ Test/comp/Ghosts.dfy | 8 +- Test/comp/Ghosts.dfy.expect | 52 -- Test/comp/Let.dfy | 7 +- Test/comp/Let.dfy.expect | 34 -- Test/comp/MoreAutoInit.dfy | 8 +- Test/comp/MoreAutoInit.dfy.expect | 572 ------------------ Test/comp/NativeNumbers.dfy | 7 +- Test/comp/NativeNumbers.dfy.expect | 256 -------- Test/comp/NestedArrays.dfy | 7 +- Test/comp/NestedArrays.dfy.expect | 16 - Test/comp/Numbers.dfy | 9 +- Test/comp/Numbers.dfy.expect | 456 -------------- Test/comp/Numbers.dfy.go.expect | 111 ++++ Test/comp/Numbers.dfy.py.expect | 111 ++++ Test/comp/Poly.dfy | 9 +- Test/comp/Poly.dfy.expect | 60 -- Test/comp/Poly.dfy.go.expect | 12 + Test/comp/Poly.dfy.py.expect | 12 + Test/comp/StaticMembersOfGenericTypes.dfy | 8 +- .../StaticMembersOfGenericTypes.dfy.expect | 76 --- Test/comp/TailRecursion.dfy | 8 +- Test/comp/TailRecursion.dfy.expect | 76 --- Test/comp/TypeDescriptors.dfy | 8 +- Test/comp/TypeDescriptors.dfy.expect | 152 ----- Test/comp/TypeParams.dfy | 11 +- Test/comp/TypeParams.dfy.expect | 88 --- Test/comp/TypeParams.dfy.go.expect | 19 + Test/comp/TypeParams.dfy.java.expect | 19 + Test/comp/TypeParams.dfy.js.expect | 19 + Test/comp/TypeParams.dfy.py.expect | 19 + Test/comp/UnoptimizedErasableTypeWrappers.dfy | 8 +- ...UnoptimizedErasableTypeWrappers.dfy.expect | 28 - Test/comp/Variance.dfy | 8 +- Test/comp/Variance.dfy.expect | 64 -- Test/comp/Various.dfy | 8 +- Test/comp/Various.dfy.expect | 40 -- Test/comp/firstSteps/0_IKnowThisMuchIs.dfy | 4 +- .../firstSteps/0_IKnowThisMuchIs.dfy.expect | 4 - Test/comp/firstSteps/1_Calls-F.dfy | 4 +- Test/comp/firstSteps/1_Calls-F.dfy.expect | 4 - Test/comp/firstSteps/2_Modules.dfy | 4 +- Test/comp/firstSteps/2_Modules.dfy.expect | 4 - Test/comp/firstSteps/3_Calls-As.dfy | 4 +- Test/comp/firstSteps/3_Calls-As.dfy.expect | 4 - .../4_Calls-FunctionsValues-Class+NT.dfy | 4 +- ..._Calls-FunctionsValues-Class+NT.dfy.expect | 4 - .../firstSteps/5_Calls-FunctionsValues-Dt.dfy | 4 +- .../5_Calls-FunctionsValues-Dt.dfy.expect | 4 - .../firstSteps/6_Calls-VariableCapture.dfy | 4 +- .../6_Calls-VariableCapture.dfy.expect | 4 - Test/comp/firstSteps/7_Arrays.dfy | 4 +- Test/comp/firstSteps/7_Arrays.dfy.expect | 4 - Test/comp/firstSteps/7_Dt_Algebraic.dfy | 6 +- .../firstSteps/7_Dt_Algebraic.dfy.cs.expect | 11 + .../comp/firstSteps/7_Dt_Algebraic.dfy.expect | 17 - Test/dafny0/ArrayElementInitCompile.dfy | 8 +- .../dafny0/ArrayElementInitCompile.dfy.expect | 76 --- Test/dafny0/Bitvectors.dfy | 5 +- Test/dafny0/Bitvectors.dfy.expect | 49 -- Test/dafny0/Constant.dfy | 3 +- Test/dafny0/Constant.dfy.expect | 2 - Test/dafny0/Deprecation.dfy | 3 +- Test/dafny0/Deprecation.dfy.expect | 7 - Test/dafny0/Deprecation.dfy.verifier.expect | 5 + Test/dafny0/DiscoverBounds.dfy | 3 +- Test/dafny0/DiscoverBounds.dfy.expect | 7 - .../dafny0/DiscoverBounds.dfy.verifier.expect | 5 + Test/dafny0/DividedConstructors.dfy | 3 +- Test/dafny0/DividedConstructors.dfy.expect | 3 - .../DividedConstructors.dfy.verifier.expect | 1 + Test/dafny0/EqualityTypesCompile.dfy | 3 +- Test/dafny0/EqualityTypesCompile.dfy.expect | 2 - Test/dafny0/ForallCompilationNewSyntax.dfy | 3 +- .../ForallCompilationNewSyntax.dfy.expect | 6 - ...llCompilationNewSyntax.dfy.verifier.expect | 4 + Test/dafny0/GhostITECompilation.dfy | 8 +- Test/dafny0/GhostITECompilation.dfy.expect | 28 - Test/dafny0/InitialValues.dfy | 3 +- Test/dafny0/InitialValues.dfy.expect | 2 - Test/dafny0/MatchBraces.dfy | 5 +- Test/dafny0/MatchBraces.dfy.expect | 8 - Test/dafny0/MoForallCompilation.dfy | 3 +- Test/dafny0/MoForallCompilation.dfy.expect | 2 - Test/dafny0/NameclashesCompile.dfy | 3 +- Test/dafny0/NameclashesCompile.dfy.expect | 2 - Test/dafny0/NonZeroInitializationCompile.dfy | 7 +- .../NonZeroInitializationCompile.dfy.expect | 73 --- Test/dafny0/NullComparisonWarnings.dfy | 3 +- Test/dafny0/NullComparisonWarnings.dfy.expect | 13 - ...NullComparisonWarnings.dfy.verifier.expect | 11 + Test/dafny0/PrintUTF8.dfy | 3 +- Test/dafny0/PrintUTF8.dfy.expect | 2 - Test/dafny0/RangeCompilation.dfy | 3 +- Test/dafny0/RangeCompilation.dfy.expect | 2 - Test/dafny0/SeqFromArray.dfy | 3 +- Test/dafny0/SeqFromArray.dfy.expect | 2 - Test/dafny0/SharedDestructorsCompile.dfy | 5 +- .../SharedDestructorsCompile.dfy.expect | 17 - Test/dafny0/SiblingImports.dfy | 3 +- Test/dafny0/SiblingImports.dfy.expect | 2 - Test/dafny0/TypeConversionsCompile.dfy | 3 +- Test/dafny0/TypeConversionsCompile.dfy.expect | 2 - Test/dafny0/TypeMembers.dfy | 5 +- Test/dafny0/TypeMembers.dfy.expect | 29 - Test/dafny0/TypeMembers.dfy.verifier.expect | 1 + Test/dafny0/Wellfounded.dfy | 3 +- Test/dafny0/Wellfounded.dfy.expect | 4 - Test/dafny0/Wellfounded.dfy.verifier.expect | 2 + Test/dafny2/MinWindowMax.dfy | 3 +- Test/dafny2/MinWindowMax.dfy.expect | 2 - .../SmallestMissingNumber-functional.dfy | 3 +- ...mallestMissingNumber-functional.dfy.expect | 3 - ...ssingNumber-functional.dfy.verifier.expect | 1 + .../SmallestMissingNumber-imperative.dfy | 3 +- ...mallestMissingNumber-imperative.dfy.expect | 2 - Test/dafny2/StoreAndRetrieve.dfy | 7 +- Test/dafny2/StoreAndRetrieve.dfy.expect | 38 -- .../StoreAndRetrieve.dfy.verifier.expect | 5 + Test/dafny2/pq-intrinsic-extrinsic.dfy | 5 +- Test/dafny2/pq-intrinsic-extrinsic.dfy.expect | 11 - Test/dafny3/Abstemious.dfy | 3 +- Test/dafny3/Abstemious.dfy.expect | 2 - Test/dafny3/CachedContainer.dfy | 7 +- Test/dafny3/CachedContainer.dfy.expect | 78 --- .../CachedContainer.dfy.verifier.expect | 13 + Test/dafny3/Iter.dfy | 3 +- Test/dafny3/Iter.dfy.expect | 2 - Test/dafny4/Ackermann.dfy | 3 +- Test/dafny4/Ackermann.dfy.expect | 4 - Test/dafny4/Ackermann.dfy.verifier.expect | 2 + Test/dafny4/Bug107.dfy | 3 +- Test/dafny4/Bug107.dfy.expect | 2 - Test/dafny4/Bug108.dfy | 3 +- Test/dafny4/Bug108.dfy.expect | 2 - Test/dafny4/Bug113.dfy | 5 +- Test/dafny4/Bug113.dfy.expect | 2 - Test/dafny4/Bug140.dfy | 3 +- Test/dafny4/Bug140.dfy.expect | 2 - Test/dafny4/Bug148.dfy | 3 +- Test/dafny4/Bug148.dfy.expect | 2 - Test/dafny4/Bug49.dfy | 3 +- Test/dafny4/Bug49.dfy.expect | 2 - Test/dafny4/Bug60.dfy | 3 +- Test/dafny4/Bug60.dfy.expect | 2 - Test/dafny4/Bug67.dfy | 5 +- Test/dafny4/Bug67.dfy.expect | 2 - Test/dafny4/Bug68.dfy | 5 +- Test/dafny4/Bug68.dfy.expect | 2 - Test/dafny4/Bug89.dfy | 3 +- Test/dafny4/Bug89.dfy.expect | 2 - Test/dafny4/Bug94.dfy | 3 +- Test/dafny4/Bug94.dfy.expect | 2 - Test/dafny4/ClassRefinement.dfy | 7 +- Test/dafny4/ClassRefinement.dfy.expect | 43 -- .../ClassRefinement.dfy.verifier.expect | 6 + Test/dafny4/ExpandedGuardedness.dfy | 3 +- Test/dafny4/ExpandedGuardedness.dfy.expect | 2 - Test/dafny4/FlyingRobots.dfy | 3 +- Test/dafny4/FlyingRobots.dfy.expect | 2 - Test/dafny4/Leq.dfy | 3 +- Test/dafny4/Leq.dfy.expect | 2 - Test/dafny4/McCarthy91.dfy | 3 +- Test/dafny4/McCarthy91.dfy.expect | 2 - Test/dafny4/NatList.dfy | 3 +- Test/dafny4/NatList.dfy.expect | 2 - Test/dafny4/Regression2.dfy | 3 +- Test/dafny4/Regression2.dfy.expect | 2 - Test/dafny4/Regression3.dfy | 3 +- Test/dafny4/Regression3.dfy.expect | 2 - Test/dafny4/Regression4.dfy | 3 +- Test/dafny4/Regression4.dfy.expect | 2 - Test/dafny4/Regression6.dfy | 3 +- Test/dafny4/Regression6.dfy.expect | 2 - Test/dafny4/Regression7.dfy | 3 +- Test/dafny4/Regression7.dfy.expect | 2 - Test/dafny4/Regression9.dfy | 3 +- Test/dafny4/Regression9.dfy.expect | 2 - Test/dafny4/UnionFind.dfy | 3 +- Test/dafny4/UnionFind.dfy.expect | 2 - Test/dafny4/gcd.dfy | 7 +- Test/dafny4/gcd.dfy.expect | 31 - Test/dafny4/git-issue104.dfy | 8 +- Test/dafny4/git-issue104.dfy.expect | 16 - Test/dafny4/git-issue105.dfy | 3 +- Test/dafny4/git-issue105.dfy.expect | 2 - Test/dafny4/git-issue15.dfy | 3 +- Test/dafny4/git-issue15.dfy.expect | 2 - Test/dafny4/git-issue195.dfy | 3 +- Test/dafny4/git-issue195.dfy.expect | 2 - Test/dafny4/git-issue196.dfy | 3 +- Test/dafny4/git-issue196.dfy.expect | 2 - Test/dafny4/git-issue4.dfy | 3 +- Test/dafny4/git-issue4.dfy.expect | 2 - Test/dafny4/git-issue43.dfy | 3 +- Test/dafny4/git-issue43.dfy.expect | 2 - Test/dafny4/git-issue76.dfy | 5 +- Test/dafny4/git-issue76.dfy.expect | 7 - Test/dafny4/git-issue79.dfy | 3 +- Test/dafny4/git-issue79.dfy.expect | 2 - Test/dafny4/git-issue88.dfy | 3 +- Test/dafny4/git-issue88.dfy.expect | 2 - Test/exceptions/Exceptions1.dfy | 3 +- Test/exceptions/Exceptions1.dfy.expect | 2 - Test/exceptions/Exceptions1Expressions.dfy | 3 +- .../Exceptions1Expressions.dfy.expect | 2 - Test/exports/FIFO.dfy | 3 +- Test/exports/FIFO.dfy.expect | 2 - Test/exports/LIFO.dfy | 3 +- Test/exports/LIFO.dfy.expect | 2 - Test/exports/xrefine2.dfy | 3 +- Test/exports/xrefine2.dfy.expect | 2 - Test/exports/xrefine3.dfy | 3 +- Test/exports/xrefine3.dfy.expect | 2 - Test/git-issues/git-issue-032.dfy | 7 +- Test/git-issues/git-issue-032.dfy.expect | 37 -- .../git-issue-032.dfy.verifier.expect | 3 + Test/git-issues/git-issue-1029.dfy | 3 +- Test/git-issues/git-issue-1029.dfy.expect | 2 - Test/git-issues/git-issue-1093.dfy | 8 +- Test/git-issues/git-issue-1093.dfy.expect | 16 - Test/git-issues/git-issue-1130.dfy | 3 +- Test/git-issues/git-issue-1130.dfy.expect | 2 - Test/git-issues/git-issue-1150.dfy | 3 +- Test/git-issues/git-issue-1150.dfy.expect | 2 - Test/git-issues/git-issue-1185.dfy | 8 +- Test/git-issues/git-issue-1185.dfy.expect | 13 - .../git-issues/git-issue-1185.dfy.java.expect | 1 + Test/git-issues/git-issue-1514.dfy | 3 +- Test/git-issues/git-issue-1514.dfy.expect | 2 - Test/git-issues/git-issue-1514b.dfy | 3 +- Test/git-issues/git-issue-1514b.dfy.expect | 2 - Test/git-issues/git-issue-1514c.dfy | 5 +- Test/git-issues/git-issue-1514c.dfy.expect | 7 - Test/git-issues/git-issue-1553.dfy | 7 +- Test/git-issues/git-issue-1553.dfy.expect | 10 - Test/git-issues/git-issue-1604b.dfy | 3 +- Test/git-issues/git-issue-1604b.dfy.expect | 2 - Test/git-issues/git-issue-1714.dfy | 3 +- Test/git-issues/git-issue-1714.dfy.expect | 2 - Test/git-issues/git-issue-1815a.dfy | 8 +- Test/git-issues/git-issue-1815a.dfy.expect | 16 - Test/git-issues/git-issue-1852.dfy | 5 +- Test/git-issues/git-issue-1852.dfy.expect | 7 - Test/git-issues/git-issue-1903.dfy | 3 +- Test/git-issues/git-issue-1903.dfy.expect | 2 - Test/git-issues/git-issue-1909.dfy | 3 +- Test/git-issues/git-issue-1909.dfy.expect | 2 - Test/git-issues/git-issue-2013.dfy | 8 +- Test/git-issues/git-issue-2013.dfy.expect | 52 -- Test/git-issues/git-issue-2441.dfy | 5 +- Test/git-issues/git-issue-2441.dfy.expect | 6 - Test/git-issues/git-issue-2510.dfy | 3 +- Test/git-issues/git-issue-2510.dfy.expect | 2 - Test/git-issues/git-issue-2608.dfy | 3 +- Test/git-issues/git-issue-2608.dfy.expect | 2 - Test/git-issues/git-issue-262.dfy | 7 +- Test/git-issues/git-issue-262.dfy.expect | 18 - Test/git-issues/git-issue-262.dfy.go.expect | 2 + Test/git-issues/git-issue-262.dfy.java.expect | 2 + Test/git-issues/git-issue-262.dfy.js.expect | 6 + Test/git-issues/git-issue-267.dfy | 7 +- Test/git-issues/git-issue-267.dfy.expect | 13 - Test/git-issues/git-issue-2672.dfy | 8 +- Test/git-issues/git-issue-2672.dfy.expect | 44 -- Test/git-issues/git-issue-2726a.dfy | 3 +- Test/git-issues/git-issue-2726a.dfy.expect | 2 - Test/git-issues/git-issue-2733.dfy | 9 +- Test/git-issues/git-issue-2733.dfy.expect | 14 - Test/git-issues/git-issue-2792.dfy | 3 +- Test/git-issues/git-issue-2792.dfy.expect | 2 - Test/git-issues/git-issue-283.dfy | 7 +- Test/git-issues/git-issue-283.dfy.expect | 13 - Test/git-issues/git-issue-283d.dfy | 7 +- Test/git-issues/git-issue-283d.dfy.expect | 10 - Test/git-issues/git-issue-314.dfy | 7 +- Test/git-issues/git-issue-314.dfy.expect | 10 - Test/git-issues/git-issue-332.dfy | 3 +- Test/git-issues/git-issue-332.dfy.expect | 2 - Test/git-issues/git-issue-354.dfy | 7 +- Test/git-issues/git-issue-354.dfy.expect | 22 - Test/git-issues/git-issue-356.dfy | 8 +- Test/git-issues/git-issue-356.dfy.expect | 36 -- Test/git-issues/git-issue-364.dfy | 3 +- Test/git-issues/git-issue-364.dfy.expect | 2 - Test/git-issues/git-issue-374.dfy | 7 +- Test/git-issues/git-issue-374.dfy.expect | 10 - Test/git-issues/git-issue-396.dfy | 6 +- Test/git-issues/git-issue-396.dfy.expect | 11 - Test/git-issues/git-issue-4007.dfy | 5 +- Test/git-issues/git-issue-4007.dfy.expect | 3 - .../git-issue-4007.dfy.verifier.expect | 1 + Test/git-issues/git-issue-4012.dfy | 5 +- Test/git-issues/git-issue-4012.dfy.expect | 2 - Test/git-issues/git-issue-425.dfy | 7 +- Test/git-issues/git-issue-425.dfy.expect | 16 - Test/git-issues/git-issue-443.dfy | 3 +- Test/git-issues/git-issue-443.dfy.expect | 2 - Test/git-issues/git-issue-446.dfy | 7 +- Test/git-issues/git-issue-446.dfy.expect | 19 - Test/git-issues/git-issue-446a.dfy | 7 +- Test/git-issues/git-issue-446a.dfy.expect | 19 - Test/git-issues/git-issue-446b.dfy | 7 +- Test/git-issues/git-issue-446b.dfy.expect | 25 - Test/git-issues/git-issue-478-good.dfy | 3 +- Test/git-issues/git-issue-478-good.dfy.expect | 2 - Test/git-issues/git-issue-506.dfy | 6 +- Test/git-issues/git-issue-506.dfy.expect | 26 - Test/git-issues/git-issue-532.dfy | 7 +- Test/git-issues/git-issue-532.dfy.expect | 19 - Test/git-issues/git-issue-549.dfy | 5 +- Test/git-issues/git-issue-549.dfy.expect | 8 - Test/git-issues/git-issue-622$f.dfy | 3 +- Test/git-issues/git-issue-622$f.dfy.expect | 2 - Test/git-issues/git-issue-684.dfy | 7 +- Test/git-issues/git-issue-684.dfy.expect | 10 - Test/git-issues/git-issue-686.dfy | 7 +- Test/git-issues/git-issue-686.dfy.expect | 23 - .../git-issue-686.dfy.verifier.expect | 2 + Test/git-issues/git-issue-697.dfy | 3 +- Test/git-issues/git-issue-697.dfy.expect | 2 - Test/git-issues/git-issue-697b.dfy | 3 +- Test/git-issues/git-issue-697b.dfy.expect | 2 - Test/git-issues/git-issue-697d.dfy | 3 +- Test/git-issues/git-issue-697d.dfy.expect | 2 - Test/git-issues/git-issue-697e.dfy | 3 +- Test/git-issues/git-issue-697e.dfy.expect | 2 - Test/git-issues/git-issue-697f.dfy | 3 +- Test/git-issues/git-issue-697f.dfy.expect | 2 - Test/git-issues/git-issue-697g.dfy | 3 +- Test/git-issues/git-issue-697g.dfy.expect | 2 - Test/git-issues/git-issue-698.dfy | 5 +- Test/git-issues/git-issue-698.dfy.expect | 7 - Test/git-issues/git-issue-698b.dfy | 5 +- Test/git-issues/git-issue-698b.dfy.expect | 2 - Test/git-issues/git-issue-701.dfy | 7 +- Test/git-issues/git-issue-701.dfy.expect | 19 - Test/git-issues/git-issue-705.dfy | 7 +- Test/git-issues/git-issue-705.dfy.expect | 13 - Test/git-issues/git-issue-731.dfy | 7 +- Test/git-issues/git-issue-731.dfy.expect | 16 - Test/git-issues/git-issue-731b.dfy | 7 +- Test/git-issues/git-issue-731b.dfy.expect | 13 - Test/git-issues/git-issue-784.dfy | 7 +- Test/git-issues/git-issue-784.dfy.expect | 10 - Test/git-issues/git-issue-953.dfy | 8 +- Test/git-issues/git-issue-953.dfy.expect | 36 -- Test/git-issues/github-issue-3343.dfy | 3 +- Test/git-issues/github-issue-3343.dfy.expect | 2 - Test/hofs/Compilation.dfy | 3 +- Test/hofs/Compilation.dfy.expect | 2 - Test/hofs/Examples.dfy | 3 +- Test/hofs/Examples.dfy.expect | 2 - Test/hofs/Fold.dfy | 3 +- Test/hofs/Fold.dfy.expect | 2 - Test/hofs/Renaming.dfy | 3 +- Test/hofs/Renaming.dfy.expect | 2 - Test/hofs/Requires.dfy | 3 +- Test/hofs/Requires.dfy.expect | 2 - Test/hofs/TreeMapSimple.dfy | 3 +- Test/hofs/TreeMapSimple.dfy.expect | 2 - Test/hofs/VectorUpdate.dfy | 3 +- Test/hofs/VectorUpdate.dfy.expect | 2 - Test/hofs/WhileLoop.dfy | 3 +- Test/hofs/WhileLoop.dfy.expect | 2 - Test/metatests/OutputEncoding.dfy | 8 +- Test/metatests/OutputEncoding.dfy.expect | 16 - Test/patterns/OrPatterns.dfy | 3 +- Test/patterns/OrPatterns.dfy.expect | 2 - Test/patterns/PatternMatching.dfy | 5 +- Test/patterns/PatternMatching.dfy.expect | 3 - .../PatternMatching.dfy.verifier.expect | 1 + Test/traits/TraitCompile.dfy | 10 +- Test/traits/TraitCompile.dfy.expect | 256 -------- Test/traits/TraitExample.dfy | 3 +- Test/traits/TraitExample.dfy.expect | 2 - Test/traits/Traits-Fields.dfy | 3 +- Test/traits/Traits-Fields.dfy.expect | 2 - Test/traits/TraitsMultipleInheritance.dfy | 3 +- .../TraitsMultipleInheritance.dfy.expect | 2 - Test/unicodechars/comp/Collections.dfy | 9 +- Test/unicodechars/comp/Collections.dfy.expect | 512 ---------------- .../comp/Collections.dfy.go.expect | 125 ++++ .../comp/Collections.dfy.java.expect | 125 ++++ .../comp/Collections.dfy.js.expect | 125 ++++ .../comp/Collections.dfy.py.expect | 125 ++++ Test/unicodechars/comp/Comprehensions.dfy | 11 +- .../comp/Comprehensions.dfy.expect | 260 -------- .../comp/Comprehensions.dfy.py.expect | 62 ++ Test/unicodechars/comp/NativeNumbers.dfy | 9 +- .../comp/NativeNumbers.dfy.expect | 256 -------- Test/unicodechars/comp/Numbers.dfy | 11 +- Test/unicodechars/comp/Numbers.dfy.expect | 456 -------------- Test/unicodechars/comp/Numbers.dfy.go.expect | 111 ++++ Test/unicodechars/comp/Numbers.dfy.py.expect | 111 ++++ 469 files changed, 2165 insertions(+), 8689 deletions(-) create mode 100644 Test/comp/Arrays.dfy.go.expect create mode 100644 Test/comp/Collections.dfy.go.expect create mode 100644 Test/comp/Collections.dfy.java.expect create mode 100644 Test/comp/Collections.dfy.js.expect create mode 100644 Test/comp/Collections.dfy.py.expect create mode 100644 Test/comp/Comprehensions.dfy.py.expect create mode 100644 Test/comp/ComprehensionsNewSyntax.dfy.py.expect create mode 100644 Test/comp/Datatype.dfy.java.expect create mode 100644 Test/comp/Datatype.dfy.py.expect create mode 100644 Test/comp/Numbers.dfy.go.expect create mode 100644 Test/comp/Numbers.dfy.py.expect create mode 100644 Test/comp/Poly.dfy.go.expect create mode 100644 Test/comp/Poly.dfy.py.expect create mode 100644 Test/comp/TypeParams.dfy.go.expect create mode 100644 Test/comp/TypeParams.dfy.java.expect create mode 100644 Test/comp/TypeParams.dfy.js.expect create mode 100644 Test/comp/TypeParams.dfy.py.expect create mode 100644 Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect create mode 100644 Test/dafny0/Deprecation.dfy.verifier.expect create mode 100644 Test/dafny0/DiscoverBounds.dfy.verifier.expect create mode 100644 Test/dafny0/DividedConstructors.dfy.verifier.expect create mode 100644 Test/dafny0/ForallCompilationNewSyntax.dfy.verifier.expect create mode 100644 Test/dafny0/NullComparisonWarnings.dfy.verifier.expect create mode 100644 Test/dafny0/TypeMembers.dfy.verifier.expect create mode 100644 Test/dafny0/Wellfounded.dfy.verifier.expect create mode 100644 Test/dafny2/SmallestMissingNumber-functional.dfy.verifier.expect create mode 100644 Test/dafny2/StoreAndRetrieve.dfy.verifier.expect create mode 100644 Test/dafny3/CachedContainer.dfy.verifier.expect create mode 100644 Test/dafny4/Ackermann.dfy.verifier.expect create mode 100644 Test/dafny4/ClassRefinement.dfy.verifier.expect create mode 100644 Test/git-issues/git-issue-032.dfy.verifier.expect create mode 100644 Test/git-issues/git-issue-1185.dfy.java.expect create mode 100644 Test/git-issues/git-issue-262.dfy.go.expect create mode 100644 Test/git-issues/git-issue-262.dfy.java.expect create mode 100644 Test/git-issues/git-issue-262.dfy.js.expect create mode 100644 Test/git-issues/git-issue-4007.dfy.verifier.expect create mode 100644 Test/git-issues/git-issue-686.dfy.verifier.expect create mode 100644 Test/patterns/PatternMatching.dfy.verifier.expect create mode 100644 Test/unicodechars/comp/Collections.dfy.go.expect create mode 100644 Test/unicodechars/comp/Collections.dfy.java.expect create mode 100644 Test/unicodechars/comp/Collections.dfy.js.expect create mode 100644 Test/unicodechars/comp/Collections.dfy.py.expect create mode 100644 Test/unicodechars/comp/Comprehensions.dfy.py.expect create mode 100644 Test/unicodechars/comp/Numbers.dfy.go.expect create mode 100644 Test/unicodechars/comp/Numbers.dfy.py.expect diff --git a/Test/VerifyThis2015/Problem1.dfy b/Test/VerifyThis2015/Problem1.dfy index 20bd154ab8d..ab227e1ab85 100644 --- a/Test/VerifyThis2015/Problem1.dfy +++ b/Test/VerifyThis2015/Problem1.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Rustan Leino // 12 April 2015 diff --git a/Test/VerifyThis2015/Problem1.dfy.expect b/Test/VerifyThis2015/Problem1.dfy.expect index 110dd45761d..9e8a46acf90 100644 --- a/Test/VerifyThis2015/Problem1.dfy.expect +++ b/Test/VerifyThis2015/Problem1.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 18 verified, 0 errors true true false diff --git a/Test/VerifyThis2015/Problem2.dfy b/Test/VerifyThis2015/Problem2.dfy index 7466df6d410..9b57395e68b 100644 --- a/Test/VerifyThis2015/Problem2.dfy +++ b/Test/VerifyThis2015/Problem2.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Rustan Leino // 13 April 2015, and many subsequent enhancements and revisions diff --git a/Test/VerifyThis2015/Problem2.dfy.expect b/Test/VerifyThis2015/Problem2.dfy.expect index b49c1470365..e69de29bb2d 100644 --- a/Test/VerifyThis2015/Problem2.dfy.expect +++ b/Test/VerifyThis2015/Problem2.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 32 verified, 0 errors diff --git a/Test/VerifyThis2015/Problem3.dfy b/Test/VerifyThis2015/Problem3.dfy index 3be60b5d81a..1348acf0f4d 100644 --- a/Test/VerifyThis2015/Problem3.dfy +++ b/Test/VerifyThis2015/Problem3.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Rustan Leino // 12 April 2015 // VerifyThis 2015 diff --git a/Test/VerifyThis2015/Problem3.dfy.expect b/Test/VerifyThis2015/Problem3.dfy.expect index 4bb1c2c7251..e69de29bb2d 100644 --- a/Test/VerifyThis2015/Problem3.dfy.expect +++ b/Test/VerifyThis2015/Problem3.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 18 verified, 0 errors diff --git a/Test/c++/arrays.dfy b/Test/c++/arrays.dfy index 47140146468..a02b57e5ff8 100644 --- a/Test/c++/arrays.dfy +++ b/Test/c++/arrays.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/arrays.dfy.expect b/Test/c++/arrays.dfy.expect index 552f9355593..2ce9320d8c2 100644 --- a/Test/c++/arrays.dfy.expect +++ b/Test/c++/arrays.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 9 verified, 0 errors 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/c++/bit-vectors.dfy b/Test/c++/bit-vectors.dfy index b7f5d35df07..d27469e4ca5 100644 --- a/Test/c++/bit-vectors.dfy +++ b/Test/c++/bit-vectors.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint64 = i:int | 0 <= i < 0x10000000000000000 diff --git a/Test/c++/bit-vectors.dfy.expect b/Test/c++/bit-vectors.dfy.expect index e327aa2f73b..c491236b12b 100644 --- a/Test/c++/bit-vectors.dfy.expect +++ b/Test/c++/bit-vectors.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 6 verified, 0 errors 084841024 diff --git a/Test/c++/class.dfy b/Test/c++/class.dfy index 3039bd0466b..b10d703c981 100644 --- a/Test/c++/class.dfy +++ b/Test/c++/class.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/class.dfy.expect b/Test/c++/class.dfy.expect index 93717ecfa9e..80f1587d0a2 100644 --- a/Test/c++/class.dfy.expect +++ b/Test/c++/class.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 16 verified, 0 errors true true false 103 102 102 106 105 105 203 17 0 18 8 9 69 70 diff --git a/Test/c++/const.dfy b/Test/c++/const.dfy index 5ab9a62e0e9..1bfb79f0361 100644 --- a/Test/c++/const.dfy +++ b/Test/c++/const.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false module Holder { const x:bool := false diff --git a/Test/c++/const.dfy.expect b/Test/c++/const.dfy.expect index 823a60a105c..e69de29bb2d 100644 --- a/Test/c++/const.dfy.expect +++ b/Test/c++/const.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 1 verified, 0 errors diff --git a/Test/c++/datatypes.dfy b/Test/c++/datatypes.dfy index 9d077b97575..f56b7907cc3 100644 --- a/Test/c++/datatypes.dfy +++ b/Test/c++/datatypes.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/datatypes.dfy.expect b/Test/c++/datatypes.dfy.expect index efa71b43546..c122f5af791 100644 --- a/Test/c++/datatypes.dfy.expect +++ b/Test/c++/datatypes.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 12 verified, 0 errors Case A: 42 Case B: true This is expected diff --git a/Test/c++/generic.dfy b/Test/c++/generic.dfy index 7995928f93f..374c545b9c1 100644 --- a/Test/c++/generic.dfy +++ b/Test/c++/generic.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false class Test { var t:T diff --git a/Test/c++/generic.dfy.expect b/Test/c++/generic.dfy.expect index 00a51f822da..e69de29bb2d 100644 --- a/Test/c++/generic.dfy.expect +++ b/Test/c++/generic.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 3 verified, 0 errors diff --git a/Test/c++/hello.dfy b/Test/c++/hello.dfy index c887337c7e1..523d3152209 100644 --- a/Test/c++/hello.dfy +++ b/Test/c++/hello.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false method Main() { print "Hello world\n"; diff --git a/Test/c++/hello.dfy.expect b/Test/c++/hello.dfy.expect index 87101fec036..802992c4220 100644 --- a/Test/c++/hello.dfy.expect +++ b/Test/c++/hello.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors Hello world diff --git a/Test/c++/ints.dfy b/Test/c++/ints.dfy index cf7ae63e0da..4490a54817a 100644 --- a/Test/c++/ints.dfy +++ b/Test/c++/ints.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype sbyte = i:int | -0x80 <= i < 0x80 newtype byte = i:int | 0 <= i < 0x100 diff --git a/Test/c++/ints.dfy.expect b/Test/c++/ints.dfy.expect index aeabccf73b0..5fcb7b811cb 100644 --- a/Test/c++/ints.dfy.expect +++ b/Test/c++/ints.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 15 verified, 0 errors Result is z = 42 diff --git a/Test/c++/recursion.dfy b/Test/c++/recursion.dfy index e255b8e6b08..36048aab527 100644 --- a/Test/c++/recursion.dfy +++ b/Test/c++/recursion.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/recursion.dfy.expect b/Test/c++/recursion.dfy.expect index 15dbfe2bcd1..1ea14926e89 100644 --- a/Test/c++/recursion.dfy.expect +++ b/Test/c++/recursion.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors x !y 3 diff --git a/Test/c++/returns.dfy b/Test/c++/returns.dfy index 1ad19a8ce83..9e23121d26a 100644 --- a/Test/c++/returns.dfy +++ b/Test/c++/returns.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint64 = i:int | 0 <= i < 0x10000000000000000 diff --git a/Test/c++/returns.dfy.expect b/Test/c++/returns.dfy.expect index 8db105eaba8..48082f72f08 100644 --- a/Test/c++/returns.dfy.expect +++ b/Test/c++/returns.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors 12 diff --git a/Test/c++/seqs.dfy b/Test/c++/seqs.dfy index f97a42b2851..903208b07f8 100644 --- a/Test/c++/seqs.dfy +++ b/Test/c++/seqs.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint8 = i:int | 0 <= i < 0x100 newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/seqs.dfy.expect b/Test/c++/seqs.dfy.expect index 23f01695bc9..16f5f9d22ea 100644 --- a/Test/c++/seqs.dfy.expect +++ b/Test/c++/seqs.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 11 verified, 0 errors Head second:2 Trunc first:2 Head trunc: This is expected diff --git a/Test/c++/sets.dfy b/Test/c++/sets.dfy index 5bfb6f80f1e..10e2fe0501d 100644 --- a/Test/c++/sets.dfy +++ b/Test/c++/sets.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/sets.dfy.expect b/Test/c++/sets.dfy.expect index 1c8ede8765e..52a1e67717e 100644 --- a/Test/c++/sets.dfy.expect +++ b/Test/c++/sets.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 8 verified, 0 errors Identity: This is expected ValuesIdentity: This is expected DiffIdentity: This is expected diff --git a/Test/c++/while.dfy b/Test/c++/while.dfy index 40dc4699d11..0c0d7ee98df 100644 --- a/Test/c++/while.dfy +++ b/Test/c++/while.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/while.dfy.expect b/Test/c++/while.dfy.expect index 8dfe872ca51..9a44de1e2a3 100644 --- a/Test/c++/while.dfy.expect +++ b/Test/c++/while.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 2 verified, 0 errors 0 1 2 diff --git a/Test/comp/Arrays.dfy b/Test/comp/Arrays.dfy index 566f052e0a6..acb4225b358 100644 --- a/Test/comp/Arrays.dfy +++ b/Test/comp/Arrays.dfy @@ -1,10 +1,5 @@ -// RUN: %baredafny verify %args --relax-definite-assignment "%s" > "%t" -// RUN: %baredafny run --unicode-char:false --no-verify --target=cs %args "%s" >> "%t" -// RUN: %baredafny run --unicode-char:false --no-verify --target=js %args "%s" >> "%t" -// RUN: %baredafny run --unicode-char:false --no-verify --target=go %args "%s" >> "%t" -// RUN: %baredafny run --unicode-char:false --no-verify --target=java %args "%s" >> "%t" -// RUN: %baredafny run --unicode-char:false --no-verify --target=py %args "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false method LinearSearch(a: array, key: int) returns (n: nat) ensures 0 <= n <= a.Length diff --git a/Test/comp/Arrays.dfy.expect b/Test/comp/Arrays.dfy.expect index 8559e2f3c5c..ef3b884f98a 100644 --- a/Test/comp/Arrays.dfy.expect +++ b/Test/comp/Arrays.dfy.expect @@ -1,399 +1,3 @@ - -Dafny program verifier finished with 89 verified, 0 errors - -Dafny program verifier did not attempt verification -0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 -17 -[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] -[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] -[20, 21, 22] -[0, 1, 2, 3, 4, 5, 6, 7] -[0, 1, 2, 3, 4, 5, 6, 7] -d d d -h e l l o -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -1 0 0 0 0 -0 1 0 0 0 -0 0 1 0 0 -cube dims: 3 0 4 -[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] -It's null -hi hello tjena hej hola -hi hello tjena hej hola -hi hello tjena hej hola -d d d -h e l l o -8 8 8 8 -true true true -1 1 1 1 1 -2 2 2 2 2 -3 3 3 3 3 -4 4 4 4 4 -(d, 8, true, 1, 2, 3, 4) -D D D -0 0 0 0 -false false false -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -(D, 0, false, 0, 0, 0, 0) -8 0 -false 0 null null -8 8 -8 8 -8 8 -8 8 -D D D -D D D -D D D -D D r (D, D, r) -D D r -[19, 18, 9, 8] - true - false - true - false - false - false - true - true - false - true - false - true - true - false -hello there -false false -true true -false false -false false -uninitialized bytes: array[0, 0, 0] -bytes from display: array[7, 8, 9] -bytes from lambda: array[20, 21, 22] -uninitialized 1bytes: array[1, 1, 1] -1bytes from display: array[7, 8, 9] -1bytes from lambda: array[20, 21, 22] -17 19 18 20 -100 200 300 120 38 -hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -DDDDDabcdeabcdeggggg -DDDDDabcdeabcdeggggg -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] -DDDDDDDDDDagggggaggg -0 69 50 -0 69 50 -D k n -false false -true true -false false -false false -true true - -Dafny program verifier did not attempt verification -0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 -17 -[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] -[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] -[20, 21, 22] -[0, 1, 2, 3, 4, 5, 6, 7] -[0, 1, 2, 3, 4, 5, 6, 7] -d d d -h e l l o -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -1 0 0 0 0 -0 1 0 0 0 -0 0 1 0 0 -cube dims: 3 0 4 -[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] -It's null -hi hello tjena hej hola -hi hello tjena hej hola -hi hello tjena hej hola -d d d -h e l l o -8 8 8 8 -true true true -1 1 1 1 1 -2 2 2 2 2 -3 3 3 3 3 -4 4 4 4 4 -(d, 8, true, 1, 2, 3, 4) -D D D -0 0 0 0 -false false false -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -(D, 0, false, 0, 0, 0, 0) -8 0 -false 0 null null -8 8 -8 8 -8 8 -8 8 -D D D -D D D -D D D -D D r (D, D, r) -D D r -[19, 18, 9, 8] - true - false - true - false - false - false - true - true - false - true - false - true - true - false -hello there -false false -true true -false false -false false -uninitialized bytes: array[0, 0, 0] -bytes from display: array[7, 8, 9] -bytes from lambda: array[20, 21, 22] -uninitialized 1bytes: array[1, 1, 1] -1bytes from display: array[7, 8, 9] -1bytes from lambda: array[20, 21, 22] -17 19 18 20 -100 200 300 120 38 -hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -DDDDDabcdeabcdeggggg -DDDDDabcdeabcdeggggg -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] -DDDDDDDDDDagggggaggg -0 69 50 -0 69 50 -D k n -false false -true true -false false -false false -true true - -Dafny program verifier did not attempt verification -0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 -17 -[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] -[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] -[20, 21, 22] -[0, 1, 2, 3, 4, 5, 6, 7] -[0, 1, 2, 3, 4, 5, 6, 7] -d d d -h e l l o -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -1 0 0 0 0 -0 1 0 0 0 -0 0 1 0 0 -cube dims: 3 0 4 -[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] -It's null -hi hello tjena hej hola -hi hello tjena hej hola -hi hello tjena hej hola -d d d -h e l l o -8 8 8 8 -true true true -1 1 1 1 1 -2 2 2 2 2 -3 3 3 3 3 -4 4 4 4 4 -(d, 8, true, 1, 2, 3, 4) -D D D -0 0 0 0 -false false false -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -(D, 0, false, 0, 0, 0, 0) -8 0 -false 0 null null -8 8 -8 8 -8 8 -8 8 -D D D -D D D -D D D -D D r (D, D, r) -D D r -[19, 18, 9, 8] - true - false - true - false - false - false - true - true - false - true - false - true - true - false -hello there -false false -true true -false false -false false -uninitialized bytes: array[0, 0, 0] -bytes from display: array[7, 8, 9] -bytes from lambda: array[20, 21, 22] -uninitialized 1bytes: array[1, 1, 1] -1bytes from display: array[7, 8, 9] -1bytes from lambda: array[20, 21, 22] -17 19 18 20 -100 200 300 120 38 -hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -DDDDDabcdeabcdeggggg -DDDDDabcdeabcdeggggg -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] -[D, D, D, D, D, D, D, D, D, D, a, g, g, g, g, g, a, g, g, g] -0 69 50 -0 69 50 -D k n -false false -true true -false false -false false -true true - -Dafny program verifier did not attempt verification -0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 -17 -[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] -[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] -[20, 21, 22] -[0, 1, 2, 3, 4, 5, 6, 7] -[0, 1, 2, 3, 4, 5, 6, 7] -d d d -h e l l o -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -1 0 0 0 0 -0 1 0 0 0 -0 0 1 0 0 -cube dims: 3 0 4 -[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] -It's null -hi hello tjena hej hola -hi hello tjena hej hola -hi hello tjena hej hola -d d d -h e l l o -8 8 8 8 -true true true -1 1 1 1 1 -2 2 2 2 2 -3 3 3 3 3 -4 4 4 4 4 -(d, 8, true, 1, 2, 3, 4) -D D D -0 0 0 0 -false false false -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -(D, 0, false, 0, 0, 0, 0) -8 0 -false 0 null null -8 8 -8 8 -8 8 -8 8 -D D D -D D D -D D D -D D r (D, D, r) -D D r -[19, 18, 9, 8] - true - false - true - false - false - false - true - true - false - true - false - true - true - false -hello there -false false -true true -false false -false false -uninitialized bytes: array[0, 0, 0] -bytes from display: array[7, 8, 9] -bytes from lambda: array[20, 21, 22] -uninitialized 1bytes: array[1, 1, 1] -1bytes from display: array[7, 8, 9] -1bytes from lambda: array[20, 21, 22] -17 19 18 20 -100 200 300 120 38 -hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -DDDDDabcdeabcdeggggg -DDDDDabcdeabcdeggggg -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] -DDDDDDDDDDagggggaggg -0 69 50 -0 69 50 -D k n -false false -true true -false false -false false -true true - -Dafny program verifier did not attempt verification 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/comp/Arrays.dfy.go.expect b/Test/comp/Arrays.dfy.go.expect new file mode 100644 index 00000000000..1217623d90c --- /dev/null +++ b/Test/comp/Arrays.dfy.go.expect @@ -0,0 +1,96 @@ +0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 +17 +[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] +[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] +[20, 21, 22] +[0, 1, 2, 3, 4, 5, 6, 7] +[0, 1, 2, 3, 4, 5, 6, 7] +d d d +h e l l o +0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 +1 0 0 0 0 +0 1 0 0 0 +0 0 1 0 0 +cube dims: 3 0 4 +[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] +It's null +hi hello tjena hej hola +hi hello tjena hej hola +hi hello tjena hej hola +d d d +h e l l o +8 8 8 8 +true true true +1 1 1 1 1 +2 2 2 2 2 +3 3 3 3 3 +4 4 4 4 4 +(d, 8, true, 1, 2, 3, 4) +D D D +0 0 0 0 +false false false +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +(D, 0, false, 0, 0, 0, 0) +8 0 +false 0 null null +8 8 +8 8 +8 8 +8 8 +D D D +D D D +D D D +D D r (D, D, r) +D D r +[19, 18, 9, 8] + true + false + true + false + false + false + true + true + false + true + false + true + true + false +hello there +false false +true true +false false +false false +uninitialized bytes: array[0, 0, 0] +bytes from display: array[7, 8, 9] +bytes from lambda: array[20, 21, 22] +uninitialized 1bytes: array[1, 1, 1] +1bytes from display: array[7, 8, 9] +1bytes from lambda: array[20, 21, 22] +17 19 18 20 +100 200 300 120 38 +hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +DDDDDabcdeabcdeggggg +DDDDDabcdeabcdeggggg +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] +[D, D, D, D, D, D, D, D, D, D, a, g, g, g, g, g, a, g, g, g] +0 69 50 +0 69 50 +D k n +false false +true true +false false +false false +true true diff --git a/Test/comp/AsIs-Compile.dfy b/Test/comp/AsIs-Compile.dfy index 47084ed7633..319847564e2 100644 --- a/Test/comp/AsIs-Compile.dfy +++ b/Test/comp/AsIs-Compile.dfy @@ -1,10 +1,4 @@ -// RUN: %baredafny verify %args "%s" > "%t" -// RUN: %baredafny run --no-verify -t=cs %args "%s" >> "%t" -// RUN: %baredafny run --no-verify -t=js %args "%s" >> "%t" -// RUN: %baredafny run --no-verify -t=go %args "%s" >> "%t" -// RUN: %baredafny run --no-verify -t=java %args "%s" >> "%t" -// RUN: %baredafny run --no-verify -t=py %args "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" method Main() { var a: A, b: B, c: C, k: K, l: L := new M, new M, new M, new K, new L; diff --git a/Test/comp/AsIs-Compile.dfy.expect b/Test/comp/AsIs-Compile.dfy.expect index 36dfe46e91d..acc78c6e155 100644 --- a/Test/comp/AsIs-Compile.dfy.expect +++ b/Test/comp/AsIs-Compile.dfy.expect @@ -1,163 +1,3 @@ - -Dafny program verifier finished with 6 verified, 0 errors - -Dafny program verifier did not attempt verification -true true true true true -true true true true true -IsComparisons ---- -false true false false - true false false - true false -false false true false - false true false - false false -false false false true - false false true - false true -false true false false - false true false - false false -true true -false true -TestNullIs ---- -true true -true true -true true true true true true -true true true true true true -true true true true true true -true true true true true true -true true -false true -true true true true true true -false true false true false true -true true true true true true -false true false true false true -TestFromTraits ---- -5 -0 -4 -4 -4 -4 - -Dafny program verifier did not attempt verification -true true true true true -true true true true true -IsComparisons ---- -false true false false - true false false - true false -false false true false - false true false - false false -false false false true - false false true - false true -false true false false - false true false - false false -true true -false true -TestNullIs ---- -true true -true true -true true true true true true -true true true true true true -true true true true true true -true true true true true true -true true -false true -true true true true true true -false true false true false true -true true true true true true -false true false true false true -TestFromTraits ---- -5 -0 -4 -4 -4 -4 - -Dafny program verifier did not attempt verification -true true true true true -true true true true true -IsComparisons ---- -false true false false - true false false - true false -false false true false - false true false - false false -false false false true - false false true - false true -false true false false - false true false - false false -true true -false true -TestNullIs ---- -true true -true true -true true true true true true -true true true true true true -true true true true true true -true true true true true true -true true -false true -true true true true true true -false true false true false true -true true true true true true -false true false true false true -TestFromTraits ---- -5 -0 -4 -4 -4 -4 - -Dafny program verifier did not attempt verification -true true true true true -true true true true true -IsComparisons ---- -false true false false - true false false - true false -false false true false - false true false - false false -false false false true - false false true - false true -false true false false - false true false - false false -true true -false true -TestNullIs ---- -true true -true true -true true true true true true -true true true true true true -true true true true true true -true true true true true true -true true -false true -true true true true true true -false true false true false true -true true true true true true -false true false true false true -TestFromTraits ---- -5 -0 -4 -4 -4 -4 - -Dafny program verifier did not attempt verification true true true true true true true true true true IsComparisons ---- diff --git a/Test/comp/AutoInit.dfy b/Test/comp/AutoInit.dfy index b284619a80c..c0e752efa36 100644 --- a/Test/comp/AutoInit.dfy +++ b/Test/comp/AutoInit.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This file tests the compilation of some default values. It also includes some // regression tests for equality, printing, and tuples. diff --git a/Test/comp/AutoInit.dfy.expect b/Test/comp/AutoInit.dfy.expect index 51533cc6d5e..e68e2e43764 100644 --- a/Test/comp/AutoInit.dfy.expect +++ b/Test/comp/AutoInit.dfy.expect @@ -1,163 +1,3 @@ - -Dafny program verifier finished with 21 verified, 0 errors - -Dafny program verifier did not attempt verification -3 false 0 -false false true -() (0, false, false, []) -(null, 0) (null, 0) true -(null, null, null, 0) (null, null, null, 0) true -true false false true -true false false true -17 -1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or -(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) -1 -ww == null -- yes, as expected -true true true true -true true true -true true true -null null -null null -null null null -null null null -null null null -null null null -null null -null null null -null null null -DatatypeDefaultValues.EnumDatatype.MakeZero - DatatypeDefaultValues.IntList.Nil - 0 -DatatypeDefaultValues.GenericTree.Leaf - DatatypeDefaultValues.Complicated.ComplA(0, false) - DatatypeDefaultValues.CellCell.MakeCellCell(0) -null - null -Library.Color.Red(0) and Library.Color.Red(0) -Library.CoColor.Yellow and Library.CoColor.Yellow -Library.MoColor.MoYellow and Library.MoColor.MoYellow -0.0 and 0.0 -13 - -Dafny program verifier did not attempt verification -3 false 0 -false false true -() (0, false, false, []) -(null, 0) (null, 0) true -(null, null, null, 0) (null, null, null, 0) true -true false false true -true false false true -17 -1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or -(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) -1 -ww == null -- yes, as expected -true true true true -true true true -true true true -null null -null null -null null null -null null null -null null null -null null null -null null -null null null -null null null -DatatypeDefaultValues.EnumDatatype.MakeZero - DatatypeDefaultValues.IntList.Nil - 0 -DatatypeDefaultValues.GenericTree.Leaf - DatatypeDefaultValues.Complicated.ComplA(0, false) - DatatypeDefaultValues.CellCell.MakeCellCell(0) -null - null -Library.Color.Red(0) and Library.Color.Red(0) -Library.CoColor.Yellow and Library.CoColor.Yellow -Library.MoColor.MoYellow and Library.MoColor.MoYellow -0.0 and 0.0 -13 - -Dafny program verifier did not attempt verification -3 false 0 -false false true -() (0, false, false, []) -(null, 0) (null, 0) true -(null, null, null, 0) (null, null, null, 0) true -true false false true -true false false true -17 -1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or -(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) -1 -ww == null -- yes, as expected -true true true true -true true true -true true true -null null -null null -null null null -null null null -null null null -null null null -null null -null null null -null null null -DatatypeDefaultValues.EnumDatatype.MakeZero - DatatypeDefaultValues.IntList.Nil - 0 -DatatypeDefaultValues.GenericTree.Leaf - DatatypeDefaultValues.Complicated.ComplA(0, false) - DatatypeDefaultValues.CellCell.MakeCellCell(0) -null - null -Library.Color.Red(0) and Library.Color.Red(0) -Library.CoColor.Yellow and Library.CoColor.Yellow -Library.MoColor.MoYellow and Library.MoColor.MoYellow -0.0 and 0.0 -13 - -Dafny program verifier did not attempt verification -3 false 0 -false false true -() (0, false, false, []) -(null, 0) (null, 0) true -(null, null, null, 0) (null, null, null, 0) true -true false false true -true false false true -17 -1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or -(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) -1 -ww == null -- yes, as expected -true true true true -true true true -true true true -null null -null null -null null null -null null null -null null null -null null null -null null -null null null -null null null -DatatypeDefaultValues.EnumDatatype.MakeZero - DatatypeDefaultValues.IntList.Nil - 0 -DatatypeDefaultValues.GenericTree.Leaf - DatatypeDefaultValues.Complicated.ComplA(0, false) - DatatypeDefaultValues.CellCell.MakeCellCell(0) -null - null -Library.Color.Red(0) and Library.Color.Red(0) -Library.CoColor.Yellow and Library.CoColor.Yellow -Library.MoColor.MoYellow and Library.MoColor.MoYellow -0.0 and 0.0 -13 - -Dafny program verifier did not attempt verification 3 false 0 false false true () (0, false, false, []) diff --git a/Test/comp/ByMethodCompilation.dfy b/Test/comp/ByMethodCompilation.dfy index ea62d84b21e..7432f72f7d4 100644 --- a/Test/comp/ByMethodCompilation.dfy +++ b/Test/comp/ByMethodCompilation.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method Main() { var four := Four(); diff --git a/Test/comp/ByMethodCompilation.dfy.expect b/Test/comp/ByMethodCompilation.dfy.expect index 1519a955b0c..d61780e3fb8 100644 --- a/Test/comp/ByMethodCompilation.dfy.expect +++ b/Test/comp/ByMethodCompilation.dfy.expect @@ -1,35 +1,3 @@ - -Dafny program verifier finished with 13 verified, 0 errors - -Dafny program verifier did not attempt verification -hello -four is 4 -Recursive(7) = 14 -NonCompilableFunction: 4 7 -Sums: 14 3 - -Dafny program verifier did not attempt verification -hello -four is 4 -Recursive(7) = 14 -NonCompilableFunction: 4 7 -Sums: 14 3 - -Dafny program verifier did not attempt verification -hello -four is 4 -Recursive(7) = 14 -NonCompilableFunction: 4 7 -Sums: 14 3 - -Dafny program verifier did not attempt verification -hello -four is 4 -Recursive(7) = 14 -NonCompilableFunction: 4 7 -Sums: 14 3 - -Dafny program verifier did not attempt verification hello four is 4 Recursive(7) = 14 diff --git a/Test/comp/Calls.dfy b/Test/comp/Calls.dfy index 4a4916aea0c..c56bc3e5286 100644 --- a/Test/comp/Calls.dfy +++ b/Test/comp/Calls.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function F(x: int, y: bool): int { x + if y then 2 else 3 diff --git a/Test/comp/Calls.dfy.expect b/Test/comp/Calls.dfy.expect index 3317b8be164..cf4e1bc155b 100644 --- a/Test/comp/Calls.dfy.expect +++ b/Test/comp/Calls.dfy.expect @@ -1,43 +1,3 @@ - -Dafny program verifier finished with 6 verified, 0 errors - -Dafny program verifier did not attempt verification -5 0 0 false 0 false 0 -5 3 5 3 5 3 -5 3 5 3 5 3 -15 -[0, 1, 2, 4] -[0, 2, 4] ---> 5 <-- - -Dafny program verifier did not attempt verification -5 0 0 false 0 false 0 -5 3 5 3 5 3 -5 3 5 3 5 3 -15 -[0, 1, 2, 4] -[0, 2, 4] ---> 5 <-- - -Dafny program verifier did not attempt verification -5 0 0 false 0 false 0 -5 3 5 3 5 3 -5 3 5 3 5 3 -15 -[0, 1, 2, 4] -[0, 2, 4] ---> 5 <-- - -Dafny program verifier did not attempt verification -5 0 0 false 0 false 0 -5 3 5 3 5 3 -5 3 5 3 5 3 -15 -[0, 1, 2, 4] -[0, 2, 4] ---> 5 <-- - -Dafny program verifier did not attempt verification 5 0 0 false 0 false 0 5 3 5 3 5 3 5 3 5 3 5 3 diff --git a/Test/comp/Class.dfy b/Test/comp/Class.dfy index fb994f008e7..23591e43450 100644 --- a/Test/comp/Class.dfy +++ b/Test/comp/Class.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation class MyClass { var a: int diff --git a/Test/comp/Class.dfy.expect b/Test/comp/Class.dfy.expect index ba1482a164b..47e49966664 100644 --- a/Test/comp/Class.dfy.expect +++ b/Test/comp/Class.dfy.expect @@ -1,75 +1,3 @@ - -Dafny program verifier finished with 16 verified, 0 errors - -Dafny program verifier did not attempt verification -true true false -103 103 103 106 106 106 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -0 18 9 70 -0 18 9 70 -0 18 9 70 -70 -hi later -21 4 42 5 1 -TestGhostables -15 -Init called with x=15 -16 - -Dafny program verifier did not attempt verification -true true false -103 103 103 106 106 106 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -0 18 9 70 -0 18 9 70 -0 18 9 70 -70 -hi later -21 4 42 5 1 -TestGhostables -15 -Init called with x=15 -16 - -Dafny program verifier did not attempt verification -true true false -103 103 103 106 106 106 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -0 18 9 70 -0 18 9 70 -0 18 9 70 -70 -hi later -21 4 42 5 1 -TestGhostables -15 -Init called with x=15 -16 - -Dafny program verifier did not attempt verification -true true false -103 103 103 106 106 106 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -0 18 9 70 -0 18 9 70 -0 18 9 70 -70 -hi later -21 4 42 5 1 -TestGhostables -15 -Init called with x=15 -16 - -Dafny program verifier did not attempt verification true true false 103 103 103 106 106 106 203 17 0 18 8 9 69 70 diff --git a/Test/comp/Collections.dfy b/Test/comp/Collections.dfy index 104eb9f90ac..9457e44b170 100644 --- a/Test/comp/Collections.dfy +++ b/Test/comp/Collections.dfy @@ -1,10 +1,5 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false method Main() { Sets(); diff --git a/Test/comp/Collections.dfy.expect b/Test/comp/Collections.dfy.expect index 2361c1a88db..e705d887a7d 100644 --- a/Test/comp/Collections.dfy.expect +++ b/Test/comp/Collections.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 40 verified, 0 errors - -Dafny program verifier did not attempt verification Sets: {} {17, 82} {12, 17} cardinality: 0 2 2 union: {17, 82} {12, 17, 82} @@ -127,511 +123,3 @@ Multiset=== 1 3 |s|=2 |u|=4 1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Yellow := 21, Color.Blue := 30] -keys: {Color.Yellow, Color.Blue} -values: {21, 30} -items: {(Color.Yellow, 21), (Color.Blue, 30)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {21, 30} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/comp/Collections.dfy.go.expect b/Test/comp/Collections.dfy.go.expect new file mode 100644 index 00000000000..309d0c550c4 --- /dev/null +++ b/Test/comp/Collections.dfy.go.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/comp/Collections.dfy.java.expect b/Test/comp/Collections.dfy.java.expect new file mode 100644 index 00000000000..ed929a4d34c --- /dev/null +++ b/Test/comp/Collections.dfy.java.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Yellow := 21, Color.Blue := 30] +keys: {Color.Yellow, Color.Blue} +values: {21, 30} +items: {(Color.Yellow, 21), (Color.Blue, 30)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/comp/Collections.dfy.js.expect b/Test/comp/Collections.dfy.js.expect new file mode 100644 index 00000000000..309d0c550c4 --- /dev/null +++ b/Test/comp/Collections.dfy.js.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/comp/Collections.dfy.py.expect b/Test/comp/Collections.dfy.py.expect new file mode 100644 index 00000000000..61b4217bbaf --- /dev/null +++ b/Test/comp/Collections.dfy.py.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {21, 30} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/comp/Comprehensions.dfy b/Test/comp/Comprehensions.dfy index 29ac368f2c3..73c43b22bfa 100644 --- a/Test/comp/Comprehensions.dfy +++ b/Test/comp/Comprehensions.dfy @@ -1,10 +1,5 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false method Main() { AssignSuchThat(); diff --git a/Test/comp/Comprehensions.dfy.expect b/Test/comp/Comprehensions.dfy.expect index 18159ddde0a..c9703fc9397 100644 --- a/Test/comp/Comprehensions.dfy.expect +++ b/Test/comp/Comprehensions.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 32 verified, 0 errors - -Dafny program verifier did not attempt verification x=13 y=14 x=13 y=14 b=yes true false @@ -64,259 +60,3 @@ true true [137438953474, 137438953475, 137438953476, 137438953477, 137438953479] cdefh cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[14 := 7, 12 := 6, 13 := 6] -map[18 := 14, 17 := 13, 16 := 12] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh diff --git a/Test/comp/Comprehensions.dfy.py.expect b/Test/comp/Comprehensions.dfy.py.expect new file mode 100644 index 00000000000..aeaa31fc0f3 --- /dev/null +++ b/Test/comp/Comprehensions.dfy.py.expect @@ -0,0 +1,62 @@ +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[14 := 7, 12 := 6, 13 := 6] +map[18 := 14, 17 := 13, 16 := 12] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh diff --git a/Test/comp/ComprehensionsNewSyntax.dfy b/Test/comp/ComprehensionsNewSyntax.dfy index a324b622e8a..6cd88aeb4f7 100644 --- a/Test/comp/ComprehensionsNewSyntax.dfy +++ b/Test/comp/ComprehensionsNewSyntax.dfy @@ -1,10 +1,5 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method Main() { Quantifier(); diff --git a/Test/comp/ComprehensionsNewSyntax.dfy.expect b/Test/comp/ComprehensionsNewSyntax.dfy.expect index 408769f4b67..b70314ff87b 100644 --- a/Test/comp/ComprehensionsNewSyntax.dfy.expect +++ b/Test/comp/ComprehensionsNewSyntax.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 10 verified, 0 errors - -Dafny program verifier did not attempt verification true false true false map[12 := 6, 13 := 6, 14 := 7] @@ -36,147 +32,3 @@ false false false false true true true true false false false false true true true true - -Dafny program verifier did not attempt verification -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true - -Dafny program verifier did not attempt verification -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true - -Dafny program verifier did not attempt verification -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true - -Dafny program verifier did not attempt verification -true false -true false -map[14 := 7, 12 := 6, 13 := 6] -map[18 := 14, 17 := 13, 16 := 12] -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true diff --git a/Test/comp/ComprehensionsNewSyntax.dfy.py.expect b/Test/comp/ComprehensionsNewSyntax.dfy.py.expect new file mode 100644 index 00000000000..b19cef0ba0e --- /dev/null +++ b/Test/comp/ComprehensionsNewSyntax.dfy.py.expect @@ -0,0 +1,34 @@ +true false +true false +map[14 := 7, 12 := 6, 13 := 6] +map[18 := 14, 17 := 13, 16 := 12] +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true diff --git a/Test/comp/CovariantCollections.dfy b/Test/comp/CovariantCollections.dfy index 12301df3b09..6dd73ee7fea 100644 --- a/Test/comp/CovariantCollections.dfy +++ b/Test/comp/CovariantCollections.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method Main() { Sequences(); diff --git a/Test/comp/CovariantCollections.dfy.expect b/Test/comp/CovariantCollections.dfy.expect index e029d3abc3b..a9d00f4a65d 100644 --- a/Test/comp/CovariantCollections.dfy.expect +++ b/Test/comp/CovariantCollections.dfy.expect @@ -1,223 +1,3 @@ - -Dafny program verifier finished with 25 verified, 0 errors - -Dafny program verifier did not attempt verification -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17] [12, 17] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - comprehension: {82} - union: {17, 82} {12, 17, 82} - intersection: {} {17} - difference: {} {82} - subset: true false true - proper subset: true false false - membership: false true true -Multisets: {} {17, 17, 82, 82} {12, 17} - cardinality: 0 4 2 - update: {17, 17, 42, 42, 42} {12, 17, 42} - multiplicity: 2 0 20 - union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} - intersection: {} {17, 82, 82} - difference: {} {17, 82, 82} - subset: true false true - proper subset: true false false - membership: false true true -Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} - cardinality: 0 3 2 - update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} - comprehension: {17 := 12, 82 := 12} - Keys: {12, 17, 82} - Values: {17, 82} - eq: false true true - eq: true true true true true true - eq: true true true true true true - eq: true false true false true false - eq: true false true false true false - eq: true true true true true true - eq: true true true true true true -set: {20, 30} -multiset: {20, 30} -seq: [20, 30] -map: {20 := 30, 30 := 20} -true -true -1 1 -1 1 - -Dafny program verifier did not attempt verification -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17] [12, 17] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - comprehension: {82} - union: {17, 82} {12, 17, 82} - intersection: {} {17} - difference: {} {82} - subset: true false true - proper subset: true false false - membership: false true true -Multisets: {} {17, 17, 82, 82} {12, 17} - cardinality: 0 4 2 - update: {17, 17, 42, 42, 42} {12, 17, 42} - multiplicity: 2 0 20 - union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} - intersection: {} {17, 82, 82} - difference: {} {17, 82, 82} - subset: true false true - proper subset: true false false - membership: false true true -Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} - cardinality: 0 3 2 - update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} - comprehension: {17 := 12, 82 := 12} - Keys: {12, 17, 82} - Values: {17, 82} - eq: false true true - eq: true true true true true true - eq: true true true true true true - eq: true false true false true false - eq: true false true false true false - eq: true true true true true true - eq: true true true true true true -set: {20, 30} -multiset: {20, 30} -seq: [20, 30] -map: {20 := 30, 30 := 20} -true -true -1 1 -1 1 - -Dafny program verifier did not attempt verification -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17] [12, 17] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - comprehension: {82} - union: {17, 82} {12, 17, 82} - intersection: {} {17} - difference: {} {82} - subset: true false true - proper subset: true false false - membership: false true true -Multisets: {} {17, 17, 82, 82} {12, 17} - cardinality: 0 4 2 - update: {17, 17, 42, 42, 42} {12, 17, 42} - multiplicity: 2 0 20 - union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} - intersection: {} {17, 82, 82} - difference: {} {17, 82, 82} - subset: true false true - proper subset: true false false - membership: false true true -Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} - cardinality: 0 3 2 - update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} - comprehension: {17 := 12, 82 := 12} - Keys: {12, 17, 82} - Values: {17, 82} - eq: false true true - eq: true true true true true true - eq: true true true true true true - eq: true false true false true false - eq: true false true false true false - eq: true true true true true true - eq: true true true true true true -set: {20, 30} -multiset: {20, 30} -seq: [20, 30] -map: {20 := 30, 30 := 20} -true -true -1 1 -1 1 - -Dafny program verifier did not attempt verification -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17] [12, 17] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - comprehension: {82} - union: {17, 82} {12, 17, 82} - intersection: {} {17} - difference: {} {82} - subset: true false true - proper subset: true false false - membership: false true true -Multisets: {} {17, 17, 82, 82} {12, 17} - cardinality: 0 4 2 - update: {17, 17, 42, 42, 42} {12, 17, 42} - multiplicity: 2 0 20 - union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} - intersection: {} {17, 82, 82} - difference: {} {17, 82, 82} - subset: true false true - proper subset: true false false - membership: false true true -Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} - cardinality: 0 3 2 - update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} - comprehension: {17 := 12, 82 := 12} - Keys: {12, 17, 82} - Values: {17, 82} - eq: false true true - eq: true true true true true true - eq: true true true true true true - eq: true false true false true false - eq: true false true false true false - eq: true true true true true true - eq: true true true true true true -set: {20, 30} -multiset: {20, 30} -seq: [20, 30] -map: {20 := 30, 30 := 20} -true -true -1 1 -1 1 - -Dafny program verifier did not attempt verification Sequences: [] [17, 82, 17, 82] [12, 17] cardinality: 0 4 2 update: [42, 82, 17, 82] [42, 17] diff --git a/Test/comp/Datatype.dfy b/Test/comp/Datatype.dfy index 2599907a94c..44579383e5c 100644 --- a/Test/comp/Datatype.dfy +++ b/Test/comp/Datatype.dfy @@ -1,10 +1,5 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation datatype List = Nil | Cons(head: int, tail: List) diff --git a/Test/comp/Datatype.dfy.expect b/Test/comp/Datatype.dfy.expect index 84dceeb16e6..93e37a9562a 100644 --- a/Test/comp/Datatype.dfy.expect +++ b/Test/comp/Datatype.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 12 verified, 0 errors - -Dafny program verifier did not attempt verification List.Nil List.Cons(5, List.Nil) (List.Nil, List.Cons(5, List.Nil)) @@ -24,99 +20,3 @@ Record.Record(58, true) 199 800 801 802 800 801 802 - -Dafny program verifier did not attempt verification -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) -0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) -Stream.Next -Stream.Next -{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} -CoBerry.Hjortron true true false -false -42 'q' hello -1701 -Record.Record(58, true) -199 -800 801 802 -800 801 802 - -Dafny program verifier did not attempt verification -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) -0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) -Stream.Next -Stream.Next -{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} -CoBerry.Hjortron true true false -false -42 'q' hello -1701 -Record.Record(58, true) -199 -800 801 802 -800 801 802 - -Dafny program verifier did not attempt verification -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) -0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) -Stream.Next -Stream.Next -{Berry.Jordgubb, Berry.Smultron, Berry.Hallon} -CoBerry.Hjortron true true false -false -42 'q' hello -1701 -Record.Record(58, true) -199 -800 801 802 -800 801 802 - -Dafny program verifier did not attempt verification -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) -0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) -Stream.Next -Stream.Next -{Berry.Hallon, Berry.Smultron, Berry.Jordgubb} -CoBerry.Hjortron true true false -false -42 'q' hello -1701 -Record.Record(58, true) -199 -800 801 802 -800 801 802 diff --git a/Test/comp/Datatype.dfy.java.expect b/Test/comp/Datatype.dfy.java.expect new file mode 100644 index 00000000000..e5a32fd58bc --- /dev/null +++ b/Test/comp/Datatype.dfy.java.expect @@ -0,0 +1,22 @@ +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) +0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) +Stream.Next +Stream.Next +{Berry.Jordgubb, Berry.Smultron, Berry.Hallon} +CoBerry.Hjortron true true false +false +42 'q' hello +1701 +Record.Record(58, true) +199 +800 801 802 +800 801 802 diff --git a/Test/comp/Datatype.dfy.py.expect b/Test/comp/Datatype.dfy.py.expect new file mode 100644 index 00000000000..0f64b73ba2d --- /dev/null +++ b/Test/comp/Datatype.dfy.py.expect @@ -0,0 +1,22 @@ +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) +0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) +Stream.Next +Stream.Next +{Berry.Hallon, Berry.Smultron, Berry.Jordgubb} +CoBerry.Hjortron true true false +false +42 'q' hello +1701 +Record.Record(58, true) +199 +800 801 802 +800 801 802 diff --git a/Test/comp/DefaultParameters-Compile.dfy b/Test/comp/DefaultParameters-Compile.dfy index 145b8670647..cd6ba1163b1 100644 --- a/Test/comp/DefaultParameters-Compile.dfy +++ b/Test/comp/DefaultParameters-Compile.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method M(x: int := 16) { print x, "\n"; diff --git a/Test/comp/DefaultParameters-Compile.dfy.expect b/Test/comp/DefaultParameters-Compile.dfy.expect index b94739d5be1..b4b87321eb5 100644 --- a/Test/comp/DefaultParameters-Compile.dfy.expect +++ b/Test/comp/DefaultParameters-Compile.dfy.expect @@ -1,51 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification -12 -16 -1 2 -1 3 -10 20 -11 13 -Color.Blue(2, 1) Color.Red(3, 4) -5 5 6 -6 6 7 - -Dafny program verifier did not attempt verification -12 -16 -1 2 -1 3 -10 20 -11 13 -Color.Blue(2, 1) Color.Red(3, 4) -5 5 6 -6 6 7 - -Dafny program verifier did not attempt verification -12 -16 -1 2 -1 3 -10 20 -11 13 -Color.Blue(2, 1) Color.Red(3, 4) -5 5 6 -6 6 7 - -Dafny program verifier did not attempt verification -12 -16 -1 2 -1 3 -10 20 -11 13 -Color.Blue(2, 1) Color.Red(3, 4) -5 5 6 -6 6 7 - -Dafny program verifier did not attempt verification 12 16 1 2 diff --git a/Test/comp/DowncastClone.dfy b/Test/comp/DowncastClone.dfy index b90066da781..cb1f095b3f4 100644 --- a/Test/comp/DowncastClone.dfy +++ b/Test/comp/DowncastClone.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Co<+T> = Co(T) | C datatype ReCo<+T> = ReCo(T) diff --git a/Test/comp/DowncastClone.dfy.expect b/Test/comp/DowncastClone.dfy.expect index 982b36b396c..b0613294f3c 100644 --- a/Test/comp/DowncastClone.dfy.expect +++ b/Test/comp/DowncastClone.dfy.expect @@ -1,43 +1,3 @@ - -Dafny program verifier finished with 7 verified, 0 errors - -Dafny program verifier did not attempt verification -Co.Co(_module.Y) and Co.Co(_module.Y) -_module.Y and _module.Y -_module.Y _module.Y -false and false -false and false -_module.Y and _module.Y -Done - -Dafny program verifier did not attempt verification -Co.Co(_module.Y) and Co.Co(_module.Y) -_module.Y and _module.Y -_module.Y _module.Y -false and false -false and false -_module.Y and _module.Y -Done - -Dafny program verifier did not attempt verification -Co.Co(_module.Y) and Co.Co(_module.Y) -_module.Y and _module.Y -_module.Y _module.Y -false and false -false and false -_module.Y and _module.Y -Done - -Dafny program verifier did not attempt verification -Co.Co(_module.Y) and Co.Co(_module.Y) -_module.Y and _module.Y -_module.Y _module.Y -false and false -false and false -_module.Y and _module.Y -Done - -Dafny program verifier did not attempt verification Co.Co(_module.Y) and Co.Co(_module.Y) _module.Y and _module.Y _module.Y _module.Y diff --git a/Test/comp/ErasableTypeWrappers.dfy b/Test/comp/ErasableTypeWrappers.dfy index d62d3736622..a280099699f 100644 --- a/Test/comp/ErasableTypeWrappers.dfy +++ b/Test/comp/ErasableTypeWrappers.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false datatype SingletonRecord = SingletonRecord(u: int) datatype GhostOrNot = ghost Ghost(a: int, b: int) | Compiled(x: int) diff --git a/Test/comp/ErasableTypeWrappers.dfy.expect b/Test/comp/ErasableTypeWrappers.dfy.expect index 5013d9fc327..2a82d776c64 100644 --- a/Test/comp/ErasableTypeWrappers.dfy.expect +++ b/Test/comp/ErasableTypeWrappers.dfy.expect @@ -1,87 +1,3 @@ - -Dafny program verifier finished with 10 verified, 0 errors - -Dafny program verifier did not attempt verification -62 63 (2, 5) (2, 5) 3 -62 63 5 5 3 -5 5 3 -1062 1063 1005 1005 1003 -true true true -20 20 *20 21 20 -20 20 *20 21 20 -true false -true false true false -true false -0 (0, 0) 0 Color.Pink -13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false - 3.14 2.7 -18.0 18.0 3.0 false -18.0 4.0 true -HasConst.MakeC(4) (4, 4) -4 (4, 4) -OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.AnotherIntsWrapper(OptimizationChecks.Ints.Ints(5, 7)) - -Dafny program verifier did not attempt verification -62 63 (2, 5) (2, 5) 3 -62 63 5 5 3 -5 5 3 -1062 1063 1005 1005 1003 -true true true -20 20 *20 21 20 -20 20 *20 21 20 -true false -true false true false -true false -0 (0, 0) 0 Color.Pink -13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false - 3.14 2.7 -18.0 18.0 3.0 false -18.0 4.0 true -HasConst.MakeC(4) (4, 4) -4 (4, 4) -OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.AnotherIntsWrapper(OptimizationChecks.Ints.Ints(5, 7)) - -Dafny program verifier did not attempt verification -62 63 (2, 5) (2, 5) 3 -62 63 5 5 3 -5 5 3 -1062 1063 1005 1005 1003 -true true true -20 20 *20 21 20 -20 20 *20 21 20 -true false -true false true false -true false -0 (0, 0) 0 Color.Pink -13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false - 3.14 2.7 -18.0 18.0 3.0 false -18.0 4.0 true -HasConst.MakeC(4) (4, 4) -4 (4, 4) -OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.AnotherIntsWrapper(OptimizationChecks.Ints.Ints(5, 7)) - -Dafny program verifier did not attempt verification -62 63 (2, 5) (2, 5) 3 -62 63 5 5 3 -5 5 3 -1062 1063 1005 1005 1003 -true true true -20 20 *20 21 20 -20 20 *20 21 20 -true false -true false true false -true false -0 (0, 0) 0 Color.Pink -13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false - 3.14 2.7 -18.0 18.0 3.0 false -18.0 4.0 true -HasConst.MakeC(4) (4, 4) -4 (4, 4) -OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.AnotherIntsWrapper(OptimizationChecks.Ints.Ints(5, 7)) - -Dafny program verifier did not attempt verification 62 63 (2, 5) (2, 5) 3 62 63 5 5 3 5 5 3 diff --git a/Test/comp/EuclideanDivision.dfy b/Test/comp/EuclideanDivision.dfy index 7ae1803cad8..1286dcd125b 100644 --- a/Test/comp/EuclideanDivision.dfy +++ b/Test/comp/EuclideanDivision.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Some runtimes (like the one for C#) have three implementations // of Euclidean div/mod: one for `int`, one for `long`, and one diff --git a/Test/comp/EuclideanDivision.dfy.expect b/Test/comp/EuclideanDivision.dfy.expect index b538c9494de..e2585ff8c70 100644 --- a/Test/comp/EuclideanDivision.dfy.expect +++ b/Test/comp/EuclideanDivision.dfy.expect @@ -1,39 +1,3 @@ - -Dafny program verifier finished with 11 verified, 0 errors - -Dafny program verifier did not attempt verification -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 - -Dafny program verifier did not attempt verification -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 - -Dafny program verifier did not attempt verification -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 - -Dafny program verifier did not attempt verification -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 - -Dafny program verifier did not attempt verification 2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 diff --git a/Test/comp/ForLoops-Compilation.dfy b/Test/comp/ForLoops-Compilation.dfy index 97101b82961..b468d21f69f 100644 --- a/Test/comp/ForLoops-Compilation.dfy +++ b/Test/comp/ForLoops-Compilation.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method Main() { TestM(0, 0); diff --git a/Test/comp/ForLoops-Compilation.dfy.expect b/Test/comp/ForLoops-Compilation.dfy.expect index d67a5429fed..97724a714bc 100644 --- a/Test/comp/ForLoops-Compilation.dfy.expect +++ b/Test/comp/ForLoops-Compilation.dfy.expect @@ -1,203 +1,3 @@ - -Dafny program verifier finished with 23 verified, 0 errors - -Dafny program verifier did not attempt verification -0 0 0 0 --2 -2 -2 -2 -0 0 0 0 -145 145 145 145 -0 0 -0 0 -57 57 -0 0 -32385 32385 -0 0 --128 -128 -126 126 -0 0 -0 * 2 == 0 -2 * 0 == 0 -1 * 1 == 1 -6 * 5 == 30 -0 + 3 == 3 -3 + 0 == 3 -4 + 0 == 4 -0 + 0 == 0 -19 + 14 == 33 -4 4 4 -== BC10 == -0 --++--++---- *** -1 --++--++----++-- -2 --++--++----++--++--++--++--++--++--++ *** -3 --++--++----++--++--++--++--++--++--++ *** -4 --++--++----++--++--++--++--++--++--++ *** -5 --++--++----++--++--++--++--++--++--++ *** -6 --++--++----++--++--++--++--++--++--++ *** -7 --++--++----++--++--++--++--++--++--++ *** -8 --++--++----++--++--++--++--++--++--++ *** -9 --++--++----++--++--++--++--++--++--++ *** -== BC11 == -0 ||--++----++-- *** -1 ||--++----++--++-- -2 ||--++----++--++--++--++--++--++--++--++ *** -3 ||--++----++--++--++--++--++--++--++--++ *** -4 ||--++----++--++--++--++--++--++--++--++ *** -5 ||--++----++--++--++--++--++--++--++--++ *** -6 ||--++----++--++--++--++--++--++--++--++ *** -7 ||--++----++--++--++--++--++--++--++--++ *** -8 ||--++----++--++--++--++--++--++--++--++ *** -9 ||--++----++--++--++--++--++--++--++--++ *** -true true true 15 -all good - -Dafny program verifier did not attempt verification -0 0 0 0 --2 -2 -2 -2 -0 0 0 0 -145 145 145 145 -0 0 -0 0 -57 57 -0 0 -32385 32385 -0 0 --128 -128 -126 126 -0 0 -0 * 2 == 0 -2 * 0 == 0 -1 * 1 == 1 -6 * 5 == 30 -0 + 3 == 3 -3 + 0 == 3 -4 + 0 == 4 -0 + 0 == 0 -19 + 14 == 33 -4 4 4 -== BC10 == -0 --++--++---- *** -1 --++--++----++-- -2 --++--++----++--++--++--++--++--++--++ *** -3 --++--++----++--++--++--++--++--++--++ *** -4 --++--++----++--++--++--++--++--++--++ *** -5 --++--++----++--++--++--++--++--++--++ *** -6 --++--++----++--++--++--++--++--++--++ *** -7 --++--++----++--++--++--++--++--++--++ *** -8 --++--++----++--++--++--++--++--++--++ *** -9 --++--++----++--++--++--++--++--++--++ *** -== BC11 == -0 ||--++----++-- *** -1 ||--++----++--++-- -2 ||--++----++--++--++--++--++--++--++--++ *** -3 ||--++----++--++--++--++--++--++--++--++ *** -4 ||--++----++--++--++--++--++--++--++--++ *** -5 ||--++----++--++--++--++--++--++--++--++ *** -6 ||--++----++--++--++--++--++--++--++--++ *** -7 ||--++----++--++--++--++--++--++--++--++ *** -8 ||--++----++--++--++--++--++--++--++--++ *** -9 ||--++----++--++--++--++--++--++--++--++ *** -true true true 15 -all good - -Dafny program verifier did not attempt verification -0 0 0 0 --2 -2 -2 -2 -0 0 0 0 -145 145 145 145 -0 0 -0 0 -57 57 -0 0 -32385 32385 -0 0 --128 -128 -126 126 -0 0 -0 * 2 == 0 -2 * 0 == 0 -1 * 1 == 1 -6 * 5 == 30 -0 + 3 == 3 -3 + 0 == 3 -4 + 0 == 4 -0 + 0 == 0 -19 + 14 == 33 -4 4 4 -== BC10 == -0 --++--++---- *** -1 --++--++----++-- -2 --++--++----++--++--++--++--++--++--++ *** -3 --++--++----++--++--++--++--++--++--++ *** -4 --++--++----++--++--++--++--++--++--++ *** -5 --++--++----++--++--++--++--++--++--++ *** -6 --++--++----++--++--++--++--++--++--++ *** -7 --++--++----++--++--++--++--++--++--++ *** -8 --++--++----++--++--++--++--++--++--++ *** -9 --++--++----++--++--++--++--++--++--++ *** -== BC11 == -0 ||--++----++-- *** -1 ||--++----++--++-- -2 ||--++----++--++--++--++--++--++--++--++ *** -3 ||--++----++--++--++--++--++--++--++--++ *** -4 ||--++----++--++--++--++--++--++--++--++ *** -5 ||--++----++--++--++--++--++--++--++--++ *** -6 ||--++----++--++--++--++--++--++--++--++ *** -7 ||--++----++--++--++--++--++--++--++--++ *** -8 ||--++----++--++--++--++--++--++--++--++ *** -9 ||--++----++--++--++--++--++--++--++--++ *** -true true true 15 -all good - -Dafny program verifier did not attempt verification -0 0 0 0 --2 -2 -2 -2 -0 0 0 0 -145 145 145 145 -0 0 -0 0 -57 57 -0 0 -32385 32385 -0 0 --128 -128 -126 126 -0 0 -0 * 2 == 0 -2 * 0 == 0 -1 * 1 == 1 -6 * 5 == 30 -0 + 3 == 3 -3 + 0 == 3 -4 + 0 == 4 -0 + 0 == 0 -19 + 14 == 33 -4 4 4 -== BC10 == -0 --++--++---- *** -1 --++--++----++-- -2 --++--++----++--++--++--++--++--++--++ *** -3 --++--++----++--++--++--++--++--++--++ *** -4 --++--++----++--++--++--++--++--++--++ *** -5 --++--++----++--++--++--++--++--++--++ *** -6 --++--++----++--++--++--++--++--++--++ *** -7 --++--++----++--++--++--++--++--++--++ *** -8 --++--++----++--++--++--++--++--++--++ *** -9 --++--++----++--++--++--++--++--++--++ *** -== BC11 == -0 ||--++----++-- *** -1 ||--++----++--++-- -2 ||--++----++--++--++--++--++--++--++--++ *** -3 ||--++----++--++--++--++--++--++--++--++ *** -4 ||--++----++--++--++--++--++--++--++--++ *** -5 ||--++----++--++--++--++--++--++--++--++ *** -6 ||--++----++--++--++--++--++--++--++--++ *** -7 ||--++----++--++--++--++--++--++--++--++ *** -8 ||--++----++--++--++--++--++--++--++--++ *** -9 ||--++----++--++--++--++--++--++--++--++ *** -true true true 15 -all good - -Dafny program verifier did not attempt verification 0 0 0 0 -2 -2 -2 -2 0 0 0 0 diff --git a/Test/comp/ForallNewSyntax.dfy b/Test/comp/ForallNewSyntax.dfy index c17bf86830e..85e609b37b3 100644 --- a/Test/comp/ForallNewSyntax.dfy +++ b/Test/comp/ForallNewSyntax.dfy @@ -1,10 +1,4 @@ -// RUN: %baredafny verify %args --relax-definite-assignment --function-syntax:3 --quantifier-syntax:4 "%s" > "%t" -// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:cs "%s" >> "%t" -// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:js "%s" >> "%t" -// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:go "%s" >> "%t" -// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:java "%s" >> "%t" -// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --function-syntax:3 --quantifier-syntax:4 --relax-definite-assignment method Main() { var arrayTests := new ArrayTests(); diff --git a/Test/comp/ForallNewSyntax.dfy.expect b/Test/comp/ForallNewSyntax.dfy.expect index 241ea9ea521..5b33d939607 100644 --- a/Test/comp/ForallNewSyntax.dfy.expect +++ b/Test/comp/ForallNewSyntax.dfy.expect @@ -1,183 +1,3 @@ - -Dafny program verifier finished with 25 verified, 0 errors - -Dafny program verifier did not attempt verification -Arrays: Basic cases -[0, 1, 2, 3, 4] -[0, 1, 2, 3, 4] -[0, 1, 4, 3, 8] - -Arrays: Wrong index -[0, 0, 1, 2, 3] -[0, 0, 1, 2, 3] -[1, 2, 3, 4, 5] - -Arrays: Sequence conversion -[2, 1, 4, 5, 6] -[0, 3, 3, 3, 4] - -Arrays: Index collection -[1, 1, 2, 3, 4] -[1, 1, 2, 3, 4] - -Arrays: Functions -[1, 1, 3, 4, 5] -[1, 1, 3, 4, 5] -[1, 2, 3, 3, 5] -[1, 2, 3, 4, 5] - -Multi-dimensional arrays -[[0, 2, 4], [1, 3, 5], [2, 4, 6]] -[[0, 1, 2], [2, 3, 4], [4, 5, 6]] - -Objects: Basic cases -[(0, 1.0), (0, 2.0), (0, 3.0)] -[(2, 1.0), (2, 2.0), (4, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] - -Objects: Bad field accesses -[(2, 1.0), (3, 2.0), (4, 3.0)] -[(2, 1.0), (2, 2.0), (2, 3.0)] -[(2, 1.0), (3, 2.0), (1, 3.0)] - -Objects: Functions -[(2, 1.0), (4, 2.0), (6, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] -[(3, 1.0), (4, 2.0), (5, 3.0)] - -Dafny program verifier did not attempt verification -Arrays: Basic cases -[0, 1, 2, 3, 4] -[0, 1, 2, 3, 4] -[0, 1, 4, 3, 8] - -Arrays: Wrong index -[0, 0, 1, 2, 3] -[0, 0, 1, 2, 3] -[1, 2, 3, 4, 5] - -Arrays: Sequence conversion -[2, 1, 4, 5, 6] -[0, 3, 3, 3, 4] - -Arrays: Index collection -[1, 1, 2, 3, 4] -[1, 1, 2, 3, 4] - -Arrays: Functions -[1, 1, 3, 4, 5] -[1, 1, 3, 4, 5] -[1, 2, 3, 3, 5] -[1, 2, 3, 4, 5] - -Multi-dimensional arrays -[[0, 2, 4], [1, 3, 5], [2, 4, 6]] -[[0, 1, 2], [2, 3, 4], [4, 5, 6]] - -Objects: Basic cases -[(0, 1.0), (0, 2.0), (0, 3.0)] -[(2, 1.0), (2, 2.0), (4, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] - -Objects: Bad field accesses -[(2, 1.0), (3, 2.0), (4, 3.0)] -[(2, 1.0), (2, 2.0), (2, 3.0)] -[(2, 1.0), (3, 2.0), (1, 3.0)] - -Objects: Functions -[(2, 1.0), (4, 2.0), (6, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] -[(3, 1.0), (4, 2.0), (5, 3.0)] - -Dafny program verifier did not attempt verification -Arrays: Basic cases -[0, 1, 2, 3, 4] -[0, 1, 2, 3, 4] -[0, 1, 4, 3, 8] - -Arrays: Wrong index -[0, 0, 1, 2, 3] -[0, 0, 1, 2, 3] -[1, 2, 3, 4, 5] - -Arrays: Sequence conversion -[2, 1, 4, 5, 6] -[0, 3, 3, 3, 4] - -Arrays: Index collection -[1, 1, 2, 3, 4] -[1, 1, 2, 3, 4] - -Arrays: Functions -[1, 1, 3, 4, 5] -[1, 1, 3, 4, 5] -[1, 2, 3, 3, 5] -[1, 2, 3, 4, 5] - -Multi-dimensional arrays -[[0, 2, 4], [1, 3, 5], [2, 4, 6]] -[[0, 1, 2], [2, 3, 4], [4, 5, 6]] - -Objects: Basic cases -[(0, 1.0), (0, 2.0), (0, 3.0)] -[(2, 1.0), (2, 2.0), (4, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] - -Objects: Bad field accesses -[(2, 1.0), (3, 2.0), (4, 3.0)] -[(2, 1.0), (2, 2.0), (2, 3.0)] -[(2, 1.0), (3, 2.0), (1, 3.0)] - -Objects: Functions -[(2, 1.0), (4, 2.0), (6, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] -[(3, 1.0), (4, 2.0), (5, 3.0)] - -Dafny program verifier did not attempt verification -Arrays: Basic cases -[0, 1, 2, 3, 4] -[0, 1, 2, 3, 4] -[0, 1, 4, 3, 8] - -Arrays: Wrong index -[0, 0, 1, 2, 3] -[0, 0, 1, 2, 3] -[1, 2, 3, 4, 5] - -Arrays: Sequence conversion -[2, 1, 4, 5, 6] -[0, 3, 3, 3, 4] - -Arrays: Index collection -[1, 1, 2, 3, 4] -[1, 1, 2, 3, 4] - -Arrays: Functions -[1, 1, 3, 4, 5] -[1, 1, 3, 4, 5] -[1, 2, 3, 3, 5] -[1, 2, 3, 4, 5] - -Multi-dimensional arrays -[[0, 2, 4], [1, 3, 5], [2, 4, 6]] -[[0, 1, 2], [2, 3, 4], [4, 5, 6]] - -Objects: Basic cases -[(0, 1.0), (0, 2.0), (0, 3.0)] -[(2, 1.0), (2, 2.0), (4, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] - -Objects: Bad field accesses -[(2, 1.0), (3, 2.0), (4, 3.0)] -[(2, 1.0), (2, 2.0), (2, 3.0)] -[(2, 1.0), (3, 2.0), (1, 3.0)] - -Objects: Functions -[(2, 1.0), (4, 2.0), (6, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] -[(3, 1.0), (4, 2.0), (5, 3.0)] - -Dafny program verifier did not attempt verification Arrays: Basic cases [0, 1, 2, 3, 4] [0, 1, 2, 3, 4] diff --git a/Test/comp/Ghosts.dfy b/Test/comp/Ghosts.dfy index 506fe0facb1..8afe8a36d3f 100644 --- a/Test/comp/Ghosts.dfy +++ b/Test/comp/Ghosts.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method M1() returns (x: int) { diff --git a/Test/comp/Ghosts.dfy.expect b/Test/comp/Ghosts.dfy.expect index 430a9c18fc0..d075ea048c1 100644 --- a/Test/comp/Ghosts.dfy.expect +++ b/Test/comp/Ghosts.dfy.expect @@ -1,55 +1,3 @@ - -Dafny program verifier finished with 8 verified, 0 errors - -Dafny program verifier did not attempt verification -hello, M2 -hello, M2 -hello, M3 -hello, M1 -hello, M1 -hello, M1 -hello, M2 -hello, M3 -hello, N0 -hello, N1 - -Dafny program verifier did not attempt verification -hello, M2 -hello, M2 -hello, M3 -hello, M1 -hello, M1 -hello, M1 -hello, M2 -hello, M3 -hello, N0 -hello, N1 - -Dafny program verifier did not attempt verification -hello, M2 -hello, M2 -hello, M3 -hello, M1 -hello, M1 -hello, M1 -hello, M2 -hello, M3 -hello, N0 -hello, N1 - -Dafny program verifier did not attempt verification -hello, M2 -hello, M2 -hello, M3 -hello, M1 -hello, M1 -hello, M1 -hello, M2 -hello, M3 -hello, N0 -hello, N1 - -Dafny program verifier did not attempt verification hello, M2 hello, M2 hello, M3 diff --git a/Test/comp/Let.dfy b/Test/comp/Let.dfy index 64dce8b90e6..2a639009c78 100644 --- a/Test/comp/Let.dfy +++ b/Test/comp/Let.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cs "%s" > "%t" -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method M() returns (x: int) { x := var y := 50; y; // non-top-level let diff --git a/Test/comp/Let.dfy.expect b/Test/comp/Let.dfy.expect index 667abc32458..f05dfc414c1 100644 --- a/Test/comp/Let.dfy.expect +++ b/Test/comp/Let.dfy.expect @@ -1,37 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors -50 58 -Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) -5 7 9 10 12 30 -5 7 -5 7 -12.0 15.0 15.0 15.0 - -Dafny program verifier finished with 5 verified, 0 errors -50 58 -Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) -5 7 9 10 12 30 -5 7 -5 7 -12.0 15.0 15.0 15.0 - -Dafny program verifier finished with 5 verified, 0 errors -50 58 -Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) -5 7 9 10 12 30 -5 7 -5 7 -12.0 15.0 15.0 15.0 - -Dafny program verifier finished with 5 verified, 0 errors -50 58 -Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) -5 7 9 10 12 30 -5 7 -5 7 -12.0 15.0 15.0 15.0 - -Dafny program verifier finished with 5 verified, 0 errors 50 58 Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) 5 7 9 10 12 30 diff --git a/Test/comp/MoreAutoInit.dfy b/Test/comp/MoreAutoInit.dfy index 46bdf7148f1..c72083f1be5 100644 --- a/Test/comp/MoreAutoInit.dfy +++ b/Test/comp/MoreAutoInit.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { Methods.TestStart(); diff --git a/Test/comp/MoreAutoInit.dfy.expect b/Test/comp/MoreAutoInit.dfy.expect index e707d9ea27a..a077ee0daa9 100644 --- a/Test/comp/MoreAutoInit.dfy.expect +++ b/Test/comp/MoreAutoInit.dfy.expect @@ -1,575 +1,3 @@ - -Dafny program verifier finished with 38 verified, 0 errors - -Dafny program verifier did not attempt verification -Methods.Uni.Uni - ++ Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -{} - ++ {} -[] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -Functions.Uni.Uni - ++ Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -{2} - ++ {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni -[] ++ [] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] - ** [] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] - ** [] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] - ++ [Consts.Uni.Uni] ++ [] - ** [] ++ [] ++ [] -15 -0-0 0.0-0.0 false-false 'D'-'D' 0 -0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 -0-0 0-0 0-0 0-0 1 1 -0.0-0.0 68.0 -null-null null-null null-null null-null -0 -0:0:0 -0-0 -{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] -DefaultValuedExpressions.Color.Red-DefaultValuedExpressions.Color.Red DefaultValuedExpressions.PossibleCell.Nothing-DefaultValuedExpressions.PossibleCell.Nothing DefaultValuedExpressions.Cell.LittleCell(0)-DefaultValuedExpressions.Cell.LittleCell(0) -()-() (0, 0.0)-(0, 0.0) -(DefaultValuedExpressions.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions.Color.Red, (0, 0.0), ()) -null-null null-null -0-0 0-0 0-0 3 4 5 -0-0 11 0-0 8 - -Dafny program verifier did not attempt verification -Methods.Uni.Uni - ++ Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -{} - ++ {} -[] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -Functions.Uni.Uni - ++ Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -{2} - ++ {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni -[] ++ [] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] - ** [] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] - ** [] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] - ++ [Consts.Uni.Uni] ++ [] - ** [] ++ [] ++ [] -15 -0-0 0.0-0.0 false-false 'D'-'D' 0 -0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 -0-0 0-0 0-0 0-0 1 1 -0.0-0.0 68.0 -null-null null-null null-null null-null -0 -0:0:0 -0-0 -{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] -DefaultValuedExpressions.Color.Red-DefaultValuedExpressions.Color.Red DefaultValuedExpressions.PossibleCell.Nothing-DefaultValuedExpressions.PossibleCell.Nothing DefaultValuedExpressions.Cell.LittleCell(0)-DefaultValuedExpressions.Cell.LittleCell(0) -()-() (0, 0.0)-(0, 0.0) -(DefaultValuedExpressions.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions.Color.Red, (0, 0.0), ()) -null-null null-null -0-0 0-0 0-0 3 4 5 -0-0 11 0-0 8 - -Dafny program verifier did not attempt verification -Methods.Uni.Uni - ++ Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -{} - ++ {} -[] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -Functions.Uni.Uni - ++ Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -{2} - ++ {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni -[] ++ [] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] - ** [] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] - ** [] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] - ++ [Consts.Uni.Uni] ++ [] - ** [] ++ [] ++ [] -15 -0-0 0.0-0.0 false-false 'D'-'D' 0 -0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 -0-0 0-0 0-0 0-0 1 1 -0.0-0.0 68.0 -null-null null-null null-null null-null -0 -0:0:0 -0-0 -{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] -DefaultValuedExpressions.Color.Red-DefaultValuedExpressions.Color.Red DefaultValuedExpressions.PossibleCell.Nothing-DefaultValuedExpressions.PossibleCell.Nothing DefaultValuedExpressions.Cell.LittleCell(0)-DefaultValuedExpressions.Cell.LittleCell(0) -()-() (0, 0.0)-(0, 0.0) -(DefaultValuedExpressions.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions.Color.Red, (0, 0.0), ()) -null-null null-null -0-0 0-0 0-0 3 4 5 -0-0 11 0-0 8 - -Dafny program verifier did not attempt verification -Methods.Uni.Uni - ++ Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -{} - ++ {} -[] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -Functions.Uni.Uni - ++ Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -{2} - ++ {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni -[] ++ [] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] - ** [] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] - ** [] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] - ++ [Consts.Uni.Uni] ++ [] - ** [] ++ [] ++ [] -15 -0-0 0.0-0.0 false-false 'D'-'D' 0 -0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 -0-0 0-0 0-0 0-0 1 1 -0.0-0.0 68.0 -null-null null-null null-null null-null -0 -0:0:0 -0-0 -{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] -DefaultValuedExpressions.Color.Red-DefaultValuedExpressions.Color.Red DefaultValuedExpressions.PossibleCell.Nothing-DefaultValuedExpressions.PossibleCell.Nothing DefaultValuedExpressions.Cell.LittleCell(0)-DefaultValuedExpressions.Cell.LittleCell(0) -()-() (0, 0.0)-(0, 0.0) -(DefaultValuedExpressions.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions.Color.Red, (0, 0.0), ()) -null-null null-null -0-0 0-0 0-0 3 4 5 -0-0 11 0-0 8 - -Dafny program verifier did not attempt verification Methods.Uni.Uni ++ Methods.Uni.Uni Methods.Uni.Uni Methods.Uni.Uni diff --git a/Test/comp/NativeNumbers.dfy b/Test/comp/NativeNumbers.dfy index c63d02cf643..e1fadb1c406 100644 --- a/Test/comp/NativeNumbers.dfy +++ b/Test/comp/NativeNumbers.dfy @@ -1,11 +1,6 @@ +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false // Skip JavaScript because JavaScript doesn't have the same native types -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" method Main() { CastTests(); diff --git a/Test/comp/NativeNumbers.dfy.expect b/Test/comp/NativeNumbers.dfy.expect index 2be030252cf..6a9d263fc73 100644 --- a/Test/comp/NativeNumbers.dfy.expect +++ b/Test/comp/NativeNumbers.dfy.expect @@ -1,259 +1,3 @@ - -Dafny program verifier finished with 25 verified, 0 errors - -Dafny program verifier did not attempt verification -Casting: - -Small numbers: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 -5 5 5 5 5 5 5 5 5 -6 6 6 6 6 6 6 6 6 -7 7 7 7 7 7 7 7 7 -8 8 8 8 8 8 8 8 8 - -Large unsigned numbers: -255 255 255 255 255 255 255 255 -65535 65535 65535 65535 65535 65535 -4294967295 4294967295 4294967295 4294967295 -18446744073709551615 18446744073709551615 - -Int to large unsigned: -255 65535 4294967295 18446744073709551615 - -Cast from cardinality operator: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 - -Characters: -C 67 67 67 67 67 67 67 67 67 -0 127 32767 65535 65535 255 65535 65535 65535 - -Defaults: - -0 0 0 0 0 0 0 0 0 - -Byte arithmetic: - -20 30 -10 10 18 - -Short arithmetic: - -20 30 -10 10 18 - -Bitvectors: - -0 3 4 1 - -Comparison to zero: - -int8: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int16: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int32: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int64: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint8: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint16: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint32: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint64: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N - - -Dafny program verifier did not attempt verification -Casting: - -Small numbers: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 -5 5 5 5 5 5 5 5 5 -6 6 6 6 6 6 6 6 6 -7 7 7 7 7 7 7 7 7 -8 8 8 8 8 8 8 8 8 - -Large unsigned numbers: -255 255 255 255 255 255 255 255 -65535 65535 65535 65535 65535 65535 -4294967295 4294967295 4294967295 4294967295 -18446744073709551615 18446744073709551615 - -Int to large unsigned: -255 65535 4294967295 18446744073709551615 - -Cast from cardinality operator: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 - -Characters: -C 67 67 67 67 67 67 67 67 67 -0 127 32767 65535 65535 255 65535 65535 65535 - -Defaults: - -0 0 0 0 0 0 0 0 0 - -Byte arithmetic: - -20 30 -10 10 18 - -Short arithmetic: - -20 30 -10 10 18 - -Bitvectors: - -0 3 4 1 - -Comparison to zero: - -int8: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int16: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int32: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int64: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint8: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint16: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint32: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint64: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N - - -Dafny program verifier did not attempt verification -Casting: - -Small numbers: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 -5 5 5 5 5 5 5 5 5 -6 6 6 6 6 6 6 6 6 -7 7 7 7 7 7 7 7 7 -8 8 8 8 8 8 8 8 8 - -Large unsigned numbers: -255 255 255 255 255 255 255 255 -65535 65535 65535 65535 65535 65535 -4294967295 4294967295 4294967295 4294967295 -18446744073709551615 18446744073709551615 - -Int to large unsigned: -255 65535 4294967295 18446744073709551615 - -Cast from cardinality operator: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 - -Characters: -C 67 67 67 67 67 67 67 67 67 -0 127 32767 65535 65535 255 65535 65535 65535 - -Defaults: - -0 0 0 0 0 0 0 0 0 - -Byte arithmetic: - -20 30 -10 10 18 - -Short arithmetic: - -20 30 -10 10 18 - -Bitvectors: - -0 3 4 1 - -Comparison to zero: - -int8: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int16: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int32: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int64: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint8: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint16: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint32: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint64: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N - - -Dafny program verifier did not attempt verification Casting: Small numbers: diff --git a/Test/comp/NestedArrays.dfy b/Test/comp/NestedArrays.dfy index 0c2b313a32c..39d256f4936 100644 --- a/Test/comp/NestedArrays.dfy +++ b/Test/comp/NestedArrays.dfy @@ -1,9 +1,4 @@ -// RUN: %baredafny verify --relax-definite-assignment %args "%s" > "%t" -// RUN: %baredafny run --no-verify --target=cs %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=js %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=go %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=py %args "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /* Note, compiling to arrays in Java is difficult. In fact, this is currently * broken, see https://github.com/dafny-lang/dafny/issues/3055. Until this gets diff --git a/Test/comp/NestedArrays.dfy.expect b/Test/comp/NestedArrays.dfy.expect index a24d140b9d4..aa47d0d46d4 100644 --- a/Test/comp/NestedArrays.dfy.expect +++ b/Test/comp/NestedArrays.dfy.expect @@ -1,18 +1,2 @@ - -Dafny program verifier finished with 4 verified, 0 errors - -Dafny program verifier did not attempt verification -0 -0 - -Dafny program verifier did not attempt verification -0 -0 - -Dafny program verifier did not attempt verification -0 -0 - -Dafny program verifier did not attempt verification 0 0 diff --git a/Test/comp/Numbers.dfy b/Test/comp/Numbers.dfy index 36bf24dcdb4..c76bc87fdc0 100644 --- a/Test/comp/Numbers.dfy +++ b/Test/comp/Numbers.dfy @@ -1,10 +1,5 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false method Main() { Literals(); diff --git a/Test/comp/Numbers.dfy.expect b/Test/comp/Numbers.dfy.expect index 8d994e1c7c6..7eacf4e709d 100644 --- a/Test/comp/Numbers.dfy.expect +++ b/Test/comp/Numbers.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 59 verified, 0 errors - -Dafny program verifier did not attempt verification 0 0 3 @@ -113,455 +109,3 @@ true false true false false true false true true false true false 20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -g Q 2 -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -(312.0 / 40.0) (1248.0 / 40.0) -(-312.0 / 40.0) (-1248.0 / 40.0) -(-312.0 / 40.0) (1248.0 / 40.0) -(312.0 / 40.0) (-1248.0 / 40.0) -0.0 0.0 0.0 -120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) -123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 (8100.0 / 8100.0) -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -g Q 2 -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -g Q 2 -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -(312.0 / 40.0) (1248.0 / 40.0) -(-312.0 / 40.0) (-1248.0 / 40.0) -(-312.0 / 40.0) (1248.0 / 40.0) -(312.0 / 40.0) (-1248.0 / 40.0) -0.0 0.0 0.0 -120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) -123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 (8100.0 / 8100.0) -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -g Q 2 -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 diff --git a/Test/comp/Numbers.dfy.go.expect b/Test/comp/Numbers.dfy.go.expect new file mode 100644 index 00000000000..ce109553619 --- /dev/null +++ b/Test/comp/Numbers.dfy.go.expect @@ -0,0 +1,111 @@ +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +g Q 2 +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 diff --git a/Test/comp/Numbers.dfy.py.expect b/Test/comp/Numbers.dfy.py.expect new file mode 100644 index 00000000000..ce109553619 --- /dev/null +++ b/Test/comp/Numbers.dfy.py.expect @@ -0,0 +1,111 @@ +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +g Q 2 +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 diff --git a/Test/comp/Poly.dfy b/Test/comp/Poly.dfy index f3c3aa58599..5af5e8134e9 100644 --- a/Test/comp/Poly.dfy +++ b/Test/comp/Poly.dfy @@ -1,10 +1,5 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation trait Shape { function Center(): (real, real) reads this diff --git a/Test/comp/Poly.dfy.expect b/Test/comp/Poly.dfy.expect index 4ffff82d5ab..7dc24821586 100644 --- a/Test/comp/Poly.dfy.expect +++ b/Test/comp/Poly.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 15 verified, 0 errors - -Dafny program verifier did not attempt verification Center of square: ((1.0 / 2.0), (1.0 / 2.0)) Center of circle: (1.0, 1.0) Center: ((1.0 / 2.0), (1.0 / 2.0)) @@ -14,59 +10,3 @@ Center: ((1.0 / 2.0), (1.0 / 2.0)) Center: (1.0, 1.0) Center: ((1.0 / 2.0), (1.0 / 2.0)) Center: (1.0, 1.0) - -Dafny program verifier did not attempt verification -Center of square: ((1.0 / 2.0), (1.0 / 2.0)) -Center of circle: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) - -Dafny program verifier did not attempt verification -Center of square: ((1.0 / 2.0), (1.0 / 2.0)) -Center of circle: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) - -Dafny program verifier did not attempt verification -Center of square: (0.5, 0.5) -Center of circle: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) - -Dafny program verifier did not attempt verification -Center of square: (0.5, 0.5) -Center of circle: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) diff --git a/Test/comp/Poly.dfy.go.expect b/Test/comp/Poly.dfy.go.expect new file mode 100644 index 00000000000..88e09c5e6ff --- /dev/null +++ b/Test/comp/Poly.dfy.go.expect @@ -0,0 +1,12 @@ +Center of square: (0.5, 0.5) +Center of circle: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) diff --git a/Test/comp/Poly.dfy.py.expect b/Test/comp/Poly.dfy.py.expect new file mode 100644 index 00000000000..88e09c5e6ff --- /dev/null +++ b/Test/comp/Poly.dfy.py.expect @@ -0,0 +1,12 @@ +Center of square: (0.5, 0.5) +Center of circle: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) diff --git a/Test/comp/StaticMembersOfGenericTypes.dfy b/Test/comp/StaticMembersOfGenericTypes.dfy index 8c402dab951..8a8614d21a5 100644 --- a/Test/comp/StaticMembersOfGenericTypes.dfy +++ b/Test/comp/StaticMembersOfGenericTypes.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { GenericClass(); diff --git a/Test/comp/StaticMembersOfGenericTypes.dfy.expect b/Test/comp/StaticMembersOfGenericTypes.dfy.expect index 54e32b42ee5..196f1295e12 100644 --- a/Test/comp/StaticMembersOfGenericTypes.dfy.expect +++ b/Test/comp/StaticMembersOfGenericTypes.dfy.expect @@ -1,79 +1,3 @@ - -Dafny program verifier finished with 9 verified, 0 errors - -Dafny program verifier did not attempt verification -(0, 1) (true, 2, 3) -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -(2.0, true) (3.0, false) -(2.0, true) (3.0, false) -true false -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -50 3 4 -149 - -Dafny program verifier did not attempt verification -(0, 1) (true, 2, 3) -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -(2.0, true) (3.0, false) -(2.0, true) (3.0, false) -true false -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -50 3 4 -149 - -Dafny program verifier did not attempt verification -(0, 1) (true, 2, 3) -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -(2.0, true) (3.0, false) -(2.0, true) (3.0, false) -true false -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -50 3 4 -149 - -Dafny program verifier did not attempt verification -(0, 1) (true, 2, 3) -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -(2.0, true) (3.0, false) -(2.0, true) (3.0, false) -true false -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -50 3 4 -149 - -Dafny program verifier did not attempt verification (0, 1) (true, 2, 3) 0 25 (20, 21) (20, 21) 23 22 0 25 (20, 21) (20, 21) 23 22 diff --git a/Test/comp/TailRecursion.dfy b/Test/comp/TailRecursion.dfy index 68ba6ee4669..b3631d5eccc 100644 --- a/Test/comp/TailRecursion.dfy +++ b/Test/comp/TailRecursion.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { // In the following, 2_000_000 is too large an argument without tail-calls diff --git a/Test/comp/TailRecursion.dfy.expect b/Test/comp/TailRecursion.dfy.expect index 23c852a41fe..4b9da7e5093 100644 --- a/Test/comp/TailRecursion.dfy.expect +++ b/Test/comp/TailRecursion.dfy.expect @@ -1,79 +1,3 @@ - -Dafny program verifier finished with 28 verified, 0 errors - -Dafny program verifier did not attempt verification -2000000 2000000 -2000000 2000000 -1000000 1000000 -10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 -TriangleNumber(10) = 55 -TriangleNumber_Real(10) = 55.0 -TriangleNumber_ORDINAL(10) = 55 -Factorial(5) = 120 -Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] -UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] -Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 -TheBigSubtract(100) = -12 -TailNat(10) = 50 -17 17 17 -2000000 - -Dafny program verifier did not attempt verification -2000000 2000000 -2000000 2000000 -1000000 1000000 -10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 -TriangleNumber(10) = 55 -TriangleNumber_Real(10) = 55.0 -TriangleNumber_ORDINAL(10) = 55 -Factorial(5) = 120 -Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] -UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] -Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 -TheBigSubtract(100) = -12 -TailNat(10) = 50 -17 17 17 -2000000 - -Dafny program verifier did not attempt verification -2000000 2000000 -2000000 2000000 -1000000 1000000 -10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 -TriangleNumber(10) = 55 -TriangleNumber_Real(10) = 55.0 -TriangleNumber_ORDINAL(10) = 55 -Factorial(5) = 120 -Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] -UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] -Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 -TheBigSubtract(100) = -12 -TailNat(10) = 50 -17 17 17 -2000000 - -Dafny program verifier did not attempt verification -2000000 2000000 -2000000 2000000 -1000000 1000000 -10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 -TriangleNumber(10) = 55 -TriangleNumber_Real(10) = 55.0 -TriangleNumber_ORDINAL(10) = 55 -Factorial(5) = 120 -Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] -UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] -Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 -TheBigSubtract(100) = -12 -TailNat(10) = 50 -17 17 17 -2000000 - -Dafny program verifier did not attempt verification 2000000 2000000 2000000 2000000 1000000 1000000 diff --git a/Test/comp/TypeDescriptors.dfy b/Test/comp/TypeDescriptors.dfy index 636cb3db583..5bedbb900e4 100644 --- a/Test/comp/TypeDescriptors.dfy +++ b/Test/comp/TypeDescriptors.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Method(s: string, g: G) { var zero: G; diff --git a/Test/comp/TypeDescriptors.dfy.expect b/Test/comp/TypeDescriptors.dfy.expect index 9b1e8487bdc..1b09338c83d 100644 --- a/Test/comp/TypeDescriptors.dfy.expect +++ b/Test/comp/TypeDescriptors.dfy.expect @@ -1,155 +1,3 @@ - -Dafny program verifier finished with 11 verified, 0 errors - -Dafny program verifier did not attempt verification -int: 8 0 -bool: true false -char: 'r' 'D' -real: 1.618 0.0 -ORDINAL: 0 -bv0: 0 0 -bv21: 121 0 -bv32: 132 0 -bv191: 191 0 -set: {7} {} -multiset: multiset{7, 7} multiset{} -seq: [7] [] -map: map[2 := 7] map[] -pos: 3 1 -Hundred: 6 0 -HundredOdd: 13 19 -JustOdd: 131 5 -(): () () -(int, real): (2, 3.2) (0, 0.0) -(int, pos): (2, 3) (0, 1) -AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) -Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) -Stream: Stream.More -A=int: 15 0 -B=int: 16 0 -datatype.B=: {14} {} -object?: null -Class?>: null -Trait?>: null -array?: null -array2?: null -int --> bool: null -array? ~> bool: null - -Dafny program verifier did not attempt verification -int: 8 0 -bool: true false -char: 'r' 'D' -real: 1.618 0.0 -ORDINAL: 0 -bv0: 0 0 -bv21: 121 0 -bv32: 132 0 -bv191: 191 0 -set: {7} {} -multiset: multiset{7, 7} multiset{} -seq: [7] [] -map: map[2 := 7] map[] -pos: 3 1 -Hundred: 6 0 -HundredOdd: 13 19 -JustOdd: 131 5 -(): () () -(int, real): (2, 3.2) (0, 0.0) -(int, pos): (2, 3) (0, 1) -AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) -Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) -Stream: Stream.More -A=int: 15 0 -B=int: 16 0 -datatype.B=: {14} {} -object?: null -Class?>: null -Trait?>: null -array?: null -array2?: null -int --> bool: null -array? ~> bool: null - -Dafny program verifier did not attempt verification -int: 8 0 -bool: true false -char: 'r' 'D' -real: 1.618 0.0 -ORDINAL: 0 -bv0: 0 0 -bv21: 121 0 -bv32: 132 0 -bv191: 191 0 -set: {7} {} -multiset: multiset{7, 7} multiset{} -seq: [7] [] -map: map[2 := 7] map[] -pos: 3 1 -Hundred: 6 0 -HundredOdd: 13 19 -JustOdd: 131 5 -(): () () -(int, real): (2, 3.2) (0, 0.0) -(int, pos): (2, 3) (0, 1) -AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) -Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) -Stream: Stream.More -A=int: 15 0 -B=int: 16 0 -datatype.B=: {14} {} -object?: null -Class?>: null -Trait?>: null -array?: null -array2?: null -int --> bool: null -array? ~> bool: null - -Dafny program verifier did not attempt verification -int: 8 0 -bool: true false -char: 'r' 'D' -real: 1.618 0.0 -ORDINAL: 0 -bv0: 0 0 -bv21: 121 0 -bv32: 132 0 -bv191: 191 0 -set: {7} {} -multiset: multiset{7, 7} multiset{} -seq: [7] [] -map: map[2 := 7] map[] -pos: 3 1 -Hundred: 6 0 -HundredOdd: 13 19 -JustOdd: 131 5 -(): () () -(int, real): (2, 3.2) (0, 0.0) -(int, pos): (2, 3) (0, 1) -AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) -Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) -Stream: Stream.More -A=int: 15 0 -B=int: 16 0 -datatype.B=: {14} {} -object?: null -Class?>: null -Trait?>: null -array?: null -array2?: null -int --> bool: null -array? ~> bool: null - -Dafny program verifier did not attempt verification int: 8 0 bool: true false char: 'r' 'D' diff --git a/Test/comp/TypeParams.dfy b/Test/comp/TypeParams.dfy index 11d1b3bac6a..c595881e028 100644 --- a/Test/comp/TypeParams.dfy +++ b/Test/comp/TypeParams.dfy @@ -1,11 +1,6 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" - -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation + datatype Color = Orange | Pink | Teal type Six = x | x <= 6 diff --git a/Test/comp/TypeParams.dfy.expect b/Test/comp/TypeParams.dfy.expect index ac8ef1c58e5..1381a030f65 100644 --- a/Test/comp/TypeParams.dfy.expect +++ b/Test/comp/TypeParams.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 17 verified, 0 errors - -Dafny program verifier did not attempt verification 0 0 0 false Color.Orange 0.0 {} Color.Orange null null null null null {} multiset{} [] map[] {} map[] @@ -21,87 +17,3 @@ System.Func`2[Dafny.BigRational,System.Boolean] System.Func`1[System.Numerics.BigInteger] System.Func`3[_module._IColor,Dafny.ISet`1[System.UInt16],System.UInt32] 0 0 - -Dafny program verifier did not attempt verification -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -function () { return false; } -function () { return _dafny.ZERO; } -function () { return _dafny.ZERO; } -0 0 - -Dafny program verifier did not attempt verification -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -func(dafny.Real) bool -func() dafny.Int -func(main.Color, dafny.Set) uint32 -0 0 - -Dafny program verifier did not attempt verification -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -Function -Function -Function -0 0 - -Dafny program verifier did not attempt verification -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -Function -Function -Function -0 0 diff --git a/Test/comp/TypeParams.dfy.go.expect b/Test/comp/TypeParams.dfy.go.expect new file mode 100644 index 00000000000..e3a8e67d066 --- /dev/null +++ b/Test/comp/TypeParams.dfy.go.expect @@ -0,0 +1,19 @@ +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +func(dafny.Real) bool +func() dafny.Int +func(main.Color, dafny.Set) uint32 +0 0 diff --git a/Test/comp/TypeParams.dfy.java.expect b/Test/comp/TypeParams.dfy.java.expect new file mode 100644 index 00000000000..5f843ba06d1 --- /dev/null +++ b/Test/comp/TypeParams.dfy.java.expect @@ -0,0 +1,19 @@ +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +Function +Function +Function +0 0 diff --git a/Test/comp/TypeParams.dfy.js.expect b/Test/comp/TypeParams.dfy.js.expect new file mode 100644 index 00000000000..865c33ea48b --- /dev/null +++ b/Test/comp/TypeParams.dfy.js.expect @@ -0,0 +1,19 @@ +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +function () { return false; } +function () { return _dafny.ZERO; } +function () { return _dafny.ZERO; } +0 0 diff --git a/Test/comp/TypeParams.dfy.py.expect b/Test/comp/TypeParams.dfy.py.expect new file mode 100644 index 00000000000..5f843ba06d1 --- /dev/null +++ b/Test/comp/TypeParams.dfy.py.expect @@ -0,0 +1,19 @@ +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +Function +Function +Function +0 0 diff --git a/Test/comp/UnoptimizedErasableTypeWrappers.dfy b/Test/comp/UnoptimizedErasableTypeWrappers.dfy index 58f0682ed41..b7911aed9db 100644 --- a/Test/comp/UnoptimizedErasableTypeWrappers.dfy +++ b/Test/comp/UnoptimizedErasableTypeWrappers.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --optimize-erasable-datatype-wrapper:false --relax-definite-assignment --spill-translation datatype SingletonRecord = SingletonRecord(u: int) datatype WithGhost = WithGhost(u: int, ghost v: int) diff --git a/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect b/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect index be1d7190b0f..3371376a52b 100644 --- a/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect +++ b/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect @@ -1,31 +1,3 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification -SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) -() (30) (31) (30, 32) -15 20 -30 31 30 32 - -Dafny program verifier did not attempt verification -SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) -() (30) (31) (30, 32) -15 20 -30 31 30 32 - -Dafny program verifier did not attempt verification -SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) -() (30) (31) (30, 32) -15 20 -30 31 30 32 - -Dafny program verifier did not attempt verification -SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) -() (30) (31) (30, 32) -15 20 -30 31 30 32 - -Dafny program verifier did not attempt verification SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) () (30) (31) (30, 32) 15 20 diff --git a/Test/comp/Variance.dfy b/Test/comp/Variance.dfy index 6c198495209..ddcde6cd7d7 100644 --- a/Test/comp/Variance.dfy +++ b/Test/comp/Variance.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 /deprecation:0 "%s" > "%t" -// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --warn-deprecation:false datatype Co<+T> = Co(z: T) { const x: int; diff --git a/Test/comp/Variance.dfy.expect b/Test/comp/Variance.dfy.expect index cf08d82ac07..5bb565b6bb4 100644 --- a/Test/comp/Variance.dfy.expect +++ b/Test/comp/Variance.dfy.expect @@ -1,67 +1,3 @@ - -Dafny program verifier finished with 13 verified, 0 errors - -Dafny program verifier did not attempt verification -Co.Co(_module.Int) and Co.Co(_module.Int) -true0[]0000 -Non.Non(_module.Int) and Non.Non(_module.Int) -true0[]0000 -0 and 0 -_module.Int0[]0000 -CCo.CCo and CCo.CCo -true0[]0000 -CNon.CNon and CNon.CNon -true0[]0000 -CCon.CCon and CCon.CCon -_module.Int0[]0000 -Done - -Dafny program verifier did not attempt verification -Co.Co(_module.Int) and Co.Co(_module.Int) -true0[]0000 -Non.Non(_module.Int) and Non.Non(_module.Int) -true0[]0000 -0 and 0 -_module.Int0[]0000 -CCo.CCo and CCo.CCo -true0[]0000 -CNon.CNon and CNon.CNon -true0[]0000 -CCon.CCon and CCon.CCon -_module.Int0[]0000 -Done - -Dafny program verifier did not attempt verification -Co.Co(_module.Int) and Co.Co(_module.Int) -true0[]0000 -Non.Non(_module.Int) and Non.Non(_module.Int) -true0[]0000 -0 and 0 -_module.Int0[]0000 -CCo.CCo and CCo.CCo -true0[]0000 -CNon.CNon and CNon.CNon -true0[]0000 -CCon.CCon and CCon.CCon -_module.Int0[]0000 -Done - -Dafny program verifier did not attempt verification -Co.Co(_module.Int) and Co.Co(_module.Int) -true0[]0000 -Non.Non(_module.Int) and Non.Non(_module.Int) -true0[]0000 -0 and 0 -_module.Int0[]0000 -CCo.CCo and CCo.CCo -true0[]0000 -CNon.CNon and CNon.CNon -true0[]0000 -CCon.CCon and CCon.CCon -_module.Int0[]0000 -Done - -Dafny program verifier did not attempt verification Co.Co(_module.Int) and Co.Co(_module.Int) true0[]0000 Non.Non(_module.Int) and Non.Non(_module.Int) diff --git a/Test/comp/Various.dfy b/Test/comp/Various.dfy index 1f29c511a83..502801e4c2a 100644 --- a/Test/comp/Various.dfy +++ b/Test/comp/Various.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Match(tp: (nat, nat)) { match tp diff --git a/Test/comp/Various.dfy.expect b/Test/comp/Various.dfy.expect index 502e2d04792..66f013c00f7 100644 --- a/Test/comp/Various.dfy.expect +++ b/Test/comp/Various.dfy.expect @@ -1,43 +1,3 @@ - -Dafny program verifier finished with 4 verified, 0 errors - -Dafny program verifier did not attempt verification -match -1 -Kablammo!! -0 -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] - -Dafny program verifier did not attempt verification -match -1 -Kablammo!! -0 -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] - -Dafny program verifier did not attempt verification -match -1 -Kablammo!! -0 -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] - -Dafny program verifier did not attempt verification -match -1 -Kablammo!! -0 -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] - -Dafny program verifier did not attempt verification match 1 Kablammo!! diff --git a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy index 10fe57dec8f..2cf77360cab 100644 --- a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy +++ b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // An extremely small program intended to be the first target input for // brand new Dafny compilers. Avoids any use of strings (and therefore sequences) diff --git a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect index e1dcaef650b..f32a5804e29 100644 --- a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect +++ b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect @@ -1,5 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification true \ No newline at end of file diff --git a/Test/comp/firstSteps/1_Calls-F.dfy b/Test/comp/firstSteps/1_Calls-F.dfy index 32566f59f3b..4fe5b83e551 100644 --- a/Test/comp/firstSteps/1_Calls-F.dfy +++ b/Test/comp/firstSteps/1_Calls-F.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/1_Calls-F.dfy.expect b/Test/comp/firstSteps/1_Calls-F.dfy.expect index 58e0a68ec1c..7ed6ff82de6 100644 --- a/Test/comp/firstSteps/1_Calls-F.dfy.expect +++ b/Test/comp/firstSteps/1_Calls-F.dfy.expect @@ -1,5 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification 5 diff --git a/Test/comp/firstSteps/2_Modules.dfy b/Test/comp/firstSteps/2_Modules.dfy index 750b8d60c21..d0effcb5a71 100644 --- a/Test/comp/firstSteps/2_Modules.dfy +++ b/Test/comp/firstSteps/2_Modules.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module A { const i: nat := 1 diff --git a/Test/comp/firstSteps/2_Modules.dfy.expect b/Test/comp/firstSteps/2_Modules.dfy.expect index 9a4b57459c7..b85905ec0b9 100644 --- a/Test/comp/firstSteps/2_Modules.dfy.expect +++ b/Test/comp/firstSteps/2_Modules.dfy.expect @@ -1,5 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification 1 2 3 diff --git a/Test/comp/firstSteps/3_Calls-As.dfy b/Test/comp/firstSteps/3_Calls-As.dfy index f22bbdbd3f6..38889421865 100644 --- a/Test/comp/firstSteps/3_Calls-As.dfy +++ b/Test/comp/firstSteps/3_Calls-As.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/3_Calls-As.dfy.expect b/Test/comp/firstSteps/3_Calls-As.dfy.expect index eea6c52592c..a1c59bb761f 100644 --- a/Test/comp/firstSteps/3_Calls-As.dfy.expect +++ b/Test/comp/firstSteps/3_Calls-As.dfy.expect @@ -1,5 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification 0 0 false 0 false 0 diff --git a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy index 89fb669dca0..6a66781ff0d 100644 --- a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy +++ b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect index e7498a27e3e..a8d09f0a6f5 100644 --- a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect +++ b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect @@ -1,6 +1,2 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification 5 3 5 3 5 3 5 3 diff --git a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy index 096523f8956..1175b1eca8f 100644 --- a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy +++ b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect index 8954da2b386..ef3de96e567 100644 --- a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect +++ b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect @@ -1,6 +1,2 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification 5 3 5 3 diff --git a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy index 1fbaebdf4e9..5d970ac4de5 100644 --- a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy +++ b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect index b6ffe78bcbb..4ff62e33956 100644 --- a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect +++ b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 4 verified, 0 errors - -Dafny program verifier did not attempt verification 15 [0, 1, 2, 4] [0, 2, 4] diff --git a/Test/comp/firstSteps/7_Arrays.dfy b/Test/comp/firstSteps/7_Arrays.dfy index 07ddf89594b..d02c942c9bb 100644 --- a/Test/comp/firstSteps/7_Arrays.dfy +++ b/Test/comp/firstSteps/7_Arrays.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Arrays.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/7_Arrays.dfy.expect b/Test/comp/firstSteps/7_Arrays.dfy.expect index 75e824c80bb..fa00285c692 100644 --- a/Test/comp/firstSteps/7_Arrays.dfy.expect +++ b/Test/comp/firstSteps/7_Arrays.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 7 verified, 0 errors - -Dafny program verifier did not attempt verification 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/comp/firstSteps/7_Dt_Algebraic.dfy b/Test/comp/firstSteps/7_Dt_Algebraic.dfy index 991462d8bdf..46a2995b37f 100644 --- a/Test/comp/firstSteps/7_Dt_Algebraic.dfy +++ b/Test/comp/firstSteps/7_Dt_Algebraic.dfy @@ -1,7 +1,5 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Dt.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect new file mode 100644 index 00000000000..ba1b72ea6f7 --- /dev/null +++ b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect @@ -0,0 +1,11 @@ +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} +42 'q' hello +1701 diff --git a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect index ec9b49fe420..e3ff7faba6e 100644 --- a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect +++ b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 7 verified, 0 errors - -Dafny program verifier did not attempt verification List.Nil List.Cons(5, List.Nil) (List.Nil, List.Cons(5, List.Nil)) @@ -13,16 +9,3 @@ List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, Li {Berry.Hallon, Berry.Smultron, Berry.Jordgubb} 42 'q' hello 1701 - -Dafny program verifier did not attempt verification -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} -42 'q' hello -1701 diff --git a/Test/dafny0/ArrayElementInitCompile.dfy b/Test/dafny0/ArrayElementInitCompile.dfy index 7d652486b9e..3714cf0fe8e 100644 --- a/Test/dafny0/ArrayElementInitCompile.dfy +++ b/Test/dafny0/ArrayElementInitCompile.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 /print:"%t.print" /rprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false method Main() { diff --git a/Test/dafny0/ArrayElementInitCompile.dfy.expect b/Test/dafny0/ArrayElementInitCompile.dfy.expect index a5241c75f19..eaa3e759999 100644 --- a/Test/dafny0/ArrayElementInitCompile.dfy.expect +++ b/Test/dafny0/ArrayElementInitCompile.dfy.expect @@ -1,79 +1,3 @@ - -Dafny program verifier finished with 18 verified, 0 errors - -Dafny program verifier did not attempt verification -67 67 67 67 67 67 67 67 -0 1 2 3 -1 2 3 4 -2 3 4 5 -3 4 5 6 -4 5 6 7 -O . O . O . O . O . O . -12 12 12 12 12 12 12 12 12 12 12 12 -D E -y z -4 3 -7 -100 75 98 25 - -looks like this rocks --2 -1 0 1 2 3 4 - -Dafny program verifier did not attempt verification -67 67 67 67 67 67 67 67 -0 1 2 3 -1 2 3 4 -2 3 4 5 -3 4 5 6 -4 5 6 7 -O . O . O . O . O . O . -12 12 12 12 12 12 12 12 12 12 12 12 -D E -y z -4 3 -7 -100 75 98 25 - -looks like this rocks --2 -1 0 1 2 3 4 - -Dafny program verifier did not attempt verification -67 67 67 67 67 67 67 67 -0 1 2 3 -1 2 3 4 -2 3 4 5 -3 4 5 6 -4 5 6 7 -O . O . O . O . O . O . -12 12 12 12 12 12 12 12 12 12 12 12 -D E -y z -4 3 -7 -100 75 98 25 - -looks like this rocks --2 -1 0 1 2 3 4 - -Dafny program verifier did not attempt verification -67 67 67 67 67 67 67 67 -0 1 2 3 -1 2 3 4 -2 3 4 5 -3 4 5 6 -4 5 6 7 -O . O . O . O . O . O . -12 12 12 12 12 12 12 12 12 12 12 12 -D E -y z -4 3 -7 -100 75 98 25 - -looks like this rocks --2 -1 0 1 2 3 4 - -Dafny program verifier did not attempt verification 67 67 67 67 67 67 67 67 0 1 2 3 1 2 3 4 diff --git a/Test/dafny0/Bitvectors.dfy b/Test/dafny0/Bitvectors.dfy index 6e0c9270b99..4c8e1094455 100644 --- a/Test/dafny0/Bitvectors.dfy +++ b/Test/dafny0/Bitvectors.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /print:"%t.print" /env:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Note the difference in Java output is due to // https://github.com/dafny-lang/dafny/issues/4152 diff --git a/Test/dafny0/Bitvectors.dfy.expect b/Test/dafny0/Bitvectors.dfy.expect index 51fda88f97b..ed1c7328e83 100644 --- a/Test/dafny0/Bitvectors.dfy.expect +++ b/Test/dafny0/Bitvectors.dfy.expect @@ -1,52 +1,3 @@ - -Dafny program verifier finished with 11 verified, 0 errors - -Dafny program verifier did not attempt verification -4000 4000 4000 0 -1 2053 1099 -185 55 -2 4 -Comparisons: true true false false -bv16: 5 - 2 == 3 -bv16: 1 - 2 == 65535 -3 2 -0 0 -false true true false -bv67: 147573952589676412927 + 3 == 2 - 3 == 147573952589676412925 !! 3 == ! 147573952589676412924 == 3 -bv64: 18446744073709551615 + 3 == 2 - 3 == 18446744073709551613 !! 3 == ! 18446744073709551612 == 3 -bv53: 9007199254740991 + 3 == 2 - 3 == 9007199254740989 !! 3 == ! 9007199254740988 == 3 -bv33: 8589934591 + 3 == 2 - 3 == 8589934589 !! 3 == ! 8589934588 == 3 -bv32: 4294967295 + 3 == 2 - 3 == 4294967293 !! 3 == ! 4294967292 == 3 -bv31: 2147483647 + 3 == 2 - 3 == 2147483645 !! 3 == ! 2147483644 == 3 -bv16: 65535 + 3 == 2 - 3 == 65533 !! 3 == ! 65532 == 3 -bv15: 32767 + 3 == 2 - 3 == 32765 !! 3 == ! 32764 == 3 -bv8: 255 + 3 == 2 - 3 == 253 !! 3 == ! 252 == 3 -bv6: 63 + 3 == 2 - 3 == 61 !! 3 == ! 60 == 3 -bv1: 1 + 1 == 0 - 1 == 1 !! 1 == ! 0 == 1 -bv0: 0 + 0 == 0 - 0 == 0 !! 0 == ! 0 == 0 -bv2: - 3 + 2 == 1 - 3 - 2 == 1 - 3 * 2 == 2 - 3 / 2 == 1 - 3 % 2 == 1 -PrintShifts: bv67: 5 40 40 40 -PrintShifts: bv32: 5 40 40 40 -PrintShifts: bv7: 5 40 40 40 -PrintShifts: bv2: 1 2 2 2 -PrintShifts: bv0: 0 0 0 0 -PrintShifts: bv67 again: 2 2 2 73786976294838206465 -PrintShifts: bv32 again: 8000 8000 2147487648 3221227472 -PrintShifts: bv7 again: 124 124 124 127 -PrintShifts: bv0 again: 0 0 0 0 -PrintRotates: bv12: 5 5 -PrintRotates: bv7: 5 5 -PrintRotates: bv2: 1 1 -PrintRotates: bv0: 0 0 -PrintRotates: bv12 again: 976 976 -PrintRotates: bv7 again: 127 127 - -Dafny program verifier did not attempt verification 4000 4000 4000 0 1 2053 1099 185 55 diff --git a/Test/dafny0/Constant.dfy b/Test/dafny0/Constant.dfy index f021e7d4482..1fdeedc3335 100644 --- a/Test/dafny0/Constant.dfy +++ b/Test/dafny0/Constant.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment const one:int := 1 const two:int := one * 2 diff --git a/Test/dafny0/Constant.dfy.expect b/Test/dafny0/Constant.dfy.expect index 6099b08c38c..1a7b981715f 100644 --- a/Test/dafny0/Constant.dfy.expect +++ b/Test/dafny0/Constant.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 17 verified, 0 errors one := 1 two := 2 three := 3 diff --git a/Test/dafny0/Deprecation.dfy b/Test/dafny0/Deprecation.dfy index 8c9c688d463..86521043d43 100644 --- a/Test/dafny0/Deprecation.dfy +++ b/Test/dafny0/Deprecation.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This file contains tests for messags about various deprecated features. // As those features go away completely, so can the corresponding tests. diff --git a/Test/dafny0/Deprecation.dfy.expect b/Test/dafny0/Deprecation.dfy.expect index 4ff88d31ade..0dffd975ac7 100644 --- a/Test/dafny0/Deprecation.dfy.expect +++ b/Test/dafny0/Deprecation.dfy.expect @@ -1,8 +1 @@ -Deprecation.dfy(16,13): Warning: constructors no longer need 'this' to be listed in modifies clauses -Deprecation.dfy(23,0): Warning: the old keyword phrase 'inductive predicate' has been renamed to 'least predicate' -Deprecation.dfy(26,0): Warning: the old keyword 'copredicate' has been renamed to the keyword phrase 'greatest predicate' -Deprecation.dfy(29,0): Warning: the old keyword phrase 'inductive lemma' has been renamed to 'least lemma' -Deprecation.dfy(32,0): Warning: the old keyword 'colemma' has been renamed to the keyword phrase 'greatest lemma' - -Dafny program verifier finished with 0 verified, 0 errors yet here we are diff --git a/Test/dafny0/Deprecation.dfy.verifier.expect b/Test/dafny0/Deprecation.dfy.verifier.expect new file mode 100644 index 00000000000..c0851e9888c --- /dev/null +++ b/Test/dafny0/Deprecation.dfy.verifier.expect @@ -0,0 +1,5 @@ +Deprecation.dfy(15,13): Warning: constructors no longer need 'this' to be listed in modifies clauses +Deprecation.dfy(22,0): Warning: the old keyword phrase 'inductive predicate' has been renamed to 'least predicate' +Deprecation.dfy(25,0): Warning: the old keyword 'copredicate' has been renamed to the keyword phrase 'greatest predicate' +Deprecation.dfy(28,0): Warning: the old keyword phrase 'inductive lemma' has been renamed to 'least lemma' +Deprecation.dfy(31,0): Warning: the old keyword 'colemma' has been renamed to the keyword phrase 'greatest lemma' diff --git a/Test/dafny0/DiscoverBounds.dfy b/Test/dafny0/DiscoverBounds.dfy index 31f9717ee79..18e56158613 100644 --- a/Test/dafny0/DiscoverBounds.dfy +++ b/Test/dafny0/DiscoverBounds.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /print:"%t.print" /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment newtype NT = x | 0 <= x < 100 newtype UT = NT diff --git a/Test/dafny0/DiscoverBounds.dfy.expect b/Test/dafny0/DiscoverBounds.dfy.expect index e43954c7be1..909a58326d0 100644 --- a/Test/dafny0/DiscoverBounds.dfy.expect +++ b/Test/dafny0/DiscoverBounds.dfy.expect @@ -1,10 +1,3 @@ -DiscoverBounds.dfy(32,7): Warning: /!\ No terms found to trigger on. -DiscoverBounds.dfy(33,7): Warning: /!\ No terms found to trigger on. -DiscoverBounds.dfy(34,7): Warning: /!\ No terms found to trigger on. -DiscoverBounds.dfy(35,7): Warning: /!\ No terms found to trigger on. -DiscoverBounds.dfy(36,7): Warning: /!\ No terms found to trigger on. - -Dafny program verifier finished with 7 verified, 0 errors 0 0 -2 diff --git a/Test/dafny0/DiscoverBounds.dfy.verifier.expect b/Test/dafny0/DiscoverBounds.dfy.verifier.expect new file mode 100644 index 00000000000..7c4de01ee0e --- /dev/null +++ b/Test/dafny0/DiscoverBounds.dfy.verifier.expect @@ -0,0 +1,5 @@ +DiscoverBounds.dfy(31,7): Warning: /!\ No terms found to trigger on. +DiscoverBounds.dfy(32,7): Warning: /!\ No terms found to trigger on. +DiscoverBounds.dfy(33,7): Warning: /!\ No terms found to trigger on. +DiscoverBounds.dfy(34,7): Warning: /!\ No terms found to trigger on. +DiscoverBounds.dfy(35,7): Warning: /!\ No terms found to trigger on. diff --git a/Test/dafny0/DividedConstructors.dfy b/Test/dafny0/DividedConstructors.dfy index 169bf4ee7df..e6f63a35f11 100644 --- a/Test/dafny0/DividedConstructors.dfy +++ b/Test/dafny0/DividedConstructors.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /env:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var m := new M0.MyClass.Init(20); diff --git a/Test/dafny0/DividedConstructors.dfy.expect b/Test/dafny0/DividedConstructors.dfy.expect index eaa3ed7d379..2dcc1ba6402 100644 --- a/Test/dafny0/DividedConstructors.dfy.expect +++ b/Test/dafny0/DividedConstructors.dfy.expect @@ -1,5 +1,2 @@ -DividedConstructors.dfy(62,9): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier finished with 17 verified, 0 errors 37, 17, 3.14 false, true diff --git a/Test/dafny0/DividedConstructors.dfy.verifier.expect b/Test/dafny0/DividedConstructors.dfy.verifier.expect new file mode 100644 index 00000000000..f3fdfadddbf --- /dev/null +++ b/Test/dafny0/DividedConstructors.dfy.verifier.expect @@ -0,0 +1 @@ +DividedConstructors.dfy(61,9): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny0/EqualityTypesCompile.dfy b/Test/dafny0/EqualityTypesCompile.dfy index de7954710e9..a36d1818c1d 100644 --- a/Test/dafny0/EqualityTypesCompile.dfy +++ b/Test/dafny0/EqualityTypesCompile.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype List = Nil | Cons(A, List) | ICons(int, List) datatype TwoLists = Two(List, List) diff --git a/Test/dafny0/EqualityTypesCompile.dfy.expect b/Test/dafny0/EqualityTypesCompile.dfy.expect index d2f1950e7f7..0246dc39633 100644 --- a/Test/dafny0/EqualityTypesCompile.dfy.expect +++ b/Test/dafny0/EqualityTypesCompile.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors from M: false from N: false from H: false diff --git a/Test/dafny0/ForallCompilationNewSyntax.dfy b/Test/dafny0/ForallCompilationNewSyntax.dfy index b7132df78ae..ac354d6338c 100644 --- a/Test/dafny0/ForallCompilationNewSyntax.dfy +++ b/Test/dafny0/ForallCompilationNewSyntax.dfy @@ -1,5 +1,4 @@ -// RUN: %baredafny run %args --relax-definite-assignment --quantifier-syntax:4 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --quantifier-syntax:4 --relax-definite-assignment method Main() { var c := new MyClass; diff --git a/Test/dafny0/ForallCompilationNewSyntax.dfy.expect b/Test/dafny0/ForallCompilationNewSyntax.dfy.expect index 5b7ec4613bb..e69de29bb2d 100644 --- a/Test/dafny0/ForallCompilationNewSyntax.dfy.expect +++ b/Test/dafny0/ForallCompilationNewSyntax.dfy.expect @@ -1,6 +0,0 @@ -ForallCompilationNewSyntax.dfy(26,4): Warning: /!\ No terms found to trigger on. -ForallCompilationNewSyntax.dfy(35,4): Warning: /!\ No terms found to trigger on. -ForallCompilationNewSyntax.dfy(44,4): Warning: /!\ No terms found to trigger on. -ForallCompilationNewSyntax.dfy(64,4): Warning: /!\ No trigger covering all quantified variables found. - -Dafny program verifier finished with 14 verified, 0 errors diff --git a/Test/dafny0/ForallCompilationNewSyntax.dfy.verifier.expect b/Test/dafny0/ForallCompilationNewSyntax.dfy.verifier.expect new file mode 100644 index 00000000000..a94cd5ea608 --- /dev/null +++ b/Test/dafny0/ForallCompilationNewSyntax.dfy.verifier.expect @@ -0,0 +1,4 @@ +ForallCompilationNewSyntax.dfy(25,4): Warning: /!\ No terms found to trigger on. +ForallCompilationNewSyntax.dfy(34,4): Warning: /!\ No terms found to trigger on. +ForallCompilationNewSyntax.dfy(43,4): Warning: /!\ No terms found to trigger on. +ForallCompilationNewSyntax.dfy(63,4): Warning: /!\ No trigger covering all quantified variables found. diff --git a/Test/dafny0/GhostITECompilation.dfy b/Test/dafny0/GhostITECompilation.dfy index d761ddbc6ea..bd7cfa28a95 100644 --- a/Test/dafny0/GhostITECompilation.dfy +++ b/Test/dafny0/GhostITECompilation.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 /functionSyntax:4 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --function-syntax:4 --relax-definite-assignment function F(x: nat, ghost y: nat): nat { diff --git a/Test/dafny0/GhostITECompilation.dfy.expect b/Test/dafny0/GhostITECompilation.dfy.expect index 1ec406bf52c..b4988e5cf11 100644 --- a/Test/dafny0/GhostITECompilation.dfy.expect +++ b/Test/dafny0/GhostITECompilation.dfy.expect @@ -1,31 +1,3 @@ - -Dafny program verifier finished with 6 verified, 0 errors - -Dafny program verifier did not attempt verification -65 -65 -65 -65 - -Dafny program verifier did not attempt verification -65 -65 -65 -65 - -Dafny program verifier did not attempt verification -65 -65 -65 -65 - -Dafny program verifier did not attempt verification -65 -65 -65 -65 - -Dafny program verifier did not attempt verification 65 65 65 diff --git a/Test/dafny0/InitialValues.dfy b/Test/dafny0/InitialValues.dfy index 7dcb05cc9c9..0848d244d71 100644 --- a/Test/dafny0/InitialValues.dfy +++ b/Test/dafny0/InitialValues.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/dafny0/InitialValues.dfy.expect b/Test/dafny0/InitialValues.dfy.expect index ada1b783c16..18903dcc3dd 100644 --- a/Test/dafny0/InitialValues.dfy.expect +++ b/Test/dafny0/InitialValues.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 2 verified, 0 errors r= 0.0 s= 3.4 a= 0.0 b= 3.4 z= 0.0 a==z = true diff --git a/Test/dafny0/MatchBraces.dfy b/Test/dafny0/MatchBraces.dfy index ddd1924774b..4ac380f2739 100644 --- a/Test/dafny0/MatchBraces.dfy +++ b/Test/dafny0/MatchBraces.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /print:"%t.print" /env:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Color = Red | Green | Blue diff --git a/Test/dafny0/MatchBraces.dfy.expect b/Test/dafny0/MatchBraces.dfy.expect index 88f6cf4f56e..4f89bff47e5 100644 --- a/Test/dafny0/MatchBraces.dfy.expect +++ b/Test/dafny0/MatchBraces.dfy.expect @@ -1,10 +1,2 @@ - -Dafny program verifier finished with 5 verified, 0 errors - -Dafny program verifier did not attempt verification -7 0.18 Color.Red 13 12 -11 98.0 Color.Green 14 115 - -Dafny program verifier did not attempt verification 7 0.18 Color.Red 13 12 11 98.0 Color.Green 14 115 diff --git a/Test/dafny0/MoForallCompilation.dfy b/Test/dafny0/MoForallCompilation.dfy index 835712edbce..af080853463 100644 --- a/Test/dafny0/MoForallCompilation.dfy +++ b/Test/dafny0/MoForallCompilation.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { TestAggregateArrayUpdate(); diff --git a/Test/dafny0/MoForallCompilation.dfy.expect b/Test/dafny0/MoForallCompilation.dfy.expect index c431c74c6aa..7bb606c1528 100644 --- a/Test/dafny0/MoForallCompilation.dfy.expect +++ b/Test/dafny0/MoForallCompilation.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 18 verified, 0 errors -4.0 -3.0 -2.0 -1.0 0.0 1.0 2.0 3.0 7.0 6.0 5.0 4.0 3.0 2.0 1.0 0.0 true true true true true true false false diff --git a/Test/dafny0/NameclashesCompile.dfy b/Test/dafny0/NameclashesCompile.dfy index 4d06065c675..46cae4b2338 100644 --- a/Test/dafny0/NameclashesCompile.dfy +++ b/Test/dafny0/NameclashesCompile.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var r0, r1; diff --git a/Test/dafny0/NameclashesCompile.dfy.expect b/Test/dafny0/NameclashesCompile.dfy.expect index 1434bb632f6..f001bdaeb1e 100644 --- a/Test/dafny0/NameclashesCompile.dfy.expect +++ b/Test/dafny0/NameclashesCompile.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 2 verified, 0 errors 15.0 15.1 94 99 0.8 14.3 14.4 18.9 18.92 diff --git a/Test/dafny0/NonZeroInitializationCompile.dfy b/Test/dafny0/NonZeroInitializationCompile.dfy index 48b61a39369..2fedae6d60d 100644 --- a/Test/dafny0/NonZeroInitializationCompile.dfy +++ b/Test/dafny0/NonZeroInitializationCompile.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment type MyInt = x | 6 <= x witness 6 newtype MyNewInt = x | 6 <= x witness 12 diff --git a/Test/dafny0/NonZeroInitializationCompile.dfy.expect b/Test/dafny0/NonZeroInitializationCompile.dfy.expect index 72b333efb85..c682dccf3fc 100644 --- a/Test/dafny0/NonZeroInitializationCompile.dfy.expect +++ b/Test/dafny0/NonZeroInitializationCompile.dfy.expect @@ -1,76 +1,3 @@ - -Dafny program verifier finished with 15 verified, 0 errors - -Dafny program verifier did not attempt verification -These are the arbitrary values chosen by the compiler: 6, 12 -short, short': 0, -35 -nes: {57} -f0, f1: (0, false), (29, true) -dt: Dt.Atom(-35) -cl { u: 12, x: 0, r: 3.14, nes: {57} } -cl' { u: 12, x: 0, ': 3.14, nes: {20, 57} } - -x: real :: 0.0 versus 0.0 -ch: char :: 'D' versus 'D' -s: set :: {} versus {} -d: Xt :: AdvancedZeroInitialization.Xt.MakeXt(0, []) versus AdvancedZeroInitialization.Xt.MakeXt(0, []) -y: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, []) versus AdvancedZeroInitialization.Yt.MakeYt(0, []) -z: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization.Yt.MakeYt(0, 0) - -x: real :: 0.0 versus 0.0 -ch: char :: 'D' versus 'D' -s: set :: {} versus {} -d: Xt :: AdvancedZeroInitialization.Xt.MakeXt(0, []) versus AdvancedZeroInitialization.Xt.MakeXt(0, []) -y: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, []) versus AdvancedZeroInitialization.Yt.MakeYt(0, []) -z: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization.Yt.MakeYt(0, 0) - -Dafny program verifier did not attempt verification -These are the arbitrary values chosen by the compiler: 6, 12 -short, short': 0, -35 -nes: {57} -f0, f1: (0, false), (29, true) -dt: Dt.Atom(-35) -cl { u: 12, x: 0, r: 3.14, nes: {57} } -cl' { u: 12, x: 0, ': 3.14, nes: {20, 57} } - -x: real :: 0.0 versus 0.0 -ch: char :: 'D' versus 'D' -s: set :: {} versus {} -d: Xt :: AdvancedZeroInitialization.Xt.MakeXt(0, []) versus AdvancedZeroInitialization.Xt.MakeXt(0, []) -y: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, []) versus AdvancedZeroInitialization.Yt.MakeYt(0, []) -z: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization.Yt.MakeYt(0, 0) - -x: real :: 0.0 versus 0.0 -ch: char :: 'D' versus 'D' -s: set :: {} versus {} -d: Xt :: AdvancedZeroInitialization.Xt.MakeXt(0, []) versus AdvancedZeroInitialization.Xt.MakeXt(0, []) -y: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, []) versus AdvancedZeroInitialization.Yt.MakeYt(0, []) -z: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization.Yt.MakeYt(0, 0) - -Dafny program verifier did not attempt verification -These are the arbitrary values chosen by the compiler: 6, 12 -short, short': 0, -35 -nes: {57} -f0, f1: (0, false), (29, true) -dt: Dt.Atom(-35) -cl { u: 12, x: 0, r: 3.14, nes: {57} } -cl' { u: 12, x: 0, ': 3.14, nes: {20, 57} } - -x: real :: 0.0 versus 0.0 -ch: char :: 'D' versus 'D' -s: set :: {} versus {} -d: Xt :: AdvancedZeroInitialization.Xt.MakeXt(0, []) versus AdvancedZeroInitialization.Xt.MakeXt(0, []) -y: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, []) versus AdvancedZeroInitialization.Yt.MakeYt(0, []) -z: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization.Yt.MakeYt(0, 0) - -x: real :: 0.0 versus 0.0 -ch: char :: 'D' versus 'D' -s: set :: {} versus {} -d: Xt :: AdvancedZeroInitialization.Xt.MakeXt(0, []) versus AdvancedZeroInitialization.Xt.MakeXt(0, []) -y: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, []) versus AdvancedZeroInitialization.Yt.MakeYt(0, []) -z: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization.Yt.MakeYt(0, 0) - -Dafny program verifier did not attempt verification These are the arbitrary values chosen by the compiler: 6, 12 short, short': 0, -35 nes: {57} diff --git a/Test/dafny0/NullComparisonWarnings.dfy b/Test/dafny0/NullComparisonWarnings.dfy index eb9183040bc..35fd5ffb3f4 100644 --- a/Test/dafny0/NullComparisonWarnings.dfy +++ b/Test/dafny0/NullComparisonWarnings.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { print "despite the warnings, the program still compiles\n"; diff --git a/Test/dafny0/NullComparisonWarnings.dfy.expect b/Test/dafny0/NullComparisonWarnings.dfy.expect index d8cf4a9960c..f2b4545fac7 100644 --- a/Test/dafny0/NullComparisonWarnings.dfy.expect +++ b/Test/dafny0/NullComparisonWarnings.dfy.expect @@ -1,14 +1 @@ -NullComparisonWarnings.dfy(27,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(28,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'y' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(29,14): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for field 'next' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(30,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(31,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'y' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(32,14): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for field 'next' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(34,12): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(37,12): Warning: the type of the other operand is a set of non-null elements, so the inclusion test of 'null' will always return 'false' -NullComparisonWarnings.dfy(38,12): Warning: the type of the other operand is a set of non-null elements, so the non-inclusion test of 'null' will always return 'true' -NullComparisonWarnings.dfy(40,41): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'u' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(45,12): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' - -Dafny program verifier finished with 4 verified, 0 errors despite the warnings, the program still compiles diff --git a/Test/dafny0/NullComparisonWarnings.dfy.verifier.expect b/Test/dafny0/NullComparisonWarnings.dfy.verifier.expect new file mode 100644 index 00000000000..24f9074ecc9 --- /dev/null +++ b/Test/dafny0/NullComparisonWarnings.dfy.verifier.expect @@ -0,0 +1,11 @@ +NullComparisonWarnings.dfy(26,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(27,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'y' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(28,14): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for field 'next' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(29,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(30,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'y' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(31,14): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for field 'next' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(33,12): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(36,12): Warning: the type of the other operand is a set of non-null elements, so the inclusion test of 'null' will always return 'false' +NullComparisonWarnings.dfy(37,12): Warning: the type of the other operand is a set of non-null elements, so the non-inclusion test of 'null' will always return 'true' +NullComparisonWarnings.dfy(39,41): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'u' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(44,12): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' diff --git a/Test/dafny0/PrintUTF8.dfy b/Test/dafny0/PrintUTF8.dfy index 5d4e376b19d..eff7baa32a9 100644 --- a/Test/dafny0/PrintUTF8.dfy +++ b/Test/dafny0/PrintUTF8.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { print "Mikaël fixed UTF8\n"; diff --git a/Test/dafny0/PrintUTF8.dfy.expect b/Test/dafny0/PrintUTF8.dfy.expect index 52a23e906cc..818549280d3 100644 --- a/Test/dafny0/PrintUTF8.dfy.expect +++ b/Test/dafny0/PrintUTF8.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors Mikaël fixed UTF8 diff --git a/Test/dafny0/RangeCompilation.dfy b/Test/dafny0/RangeCompilation.dfy index 53a8d6e33e5..3f3e6aed0f8 100644 --- a/Test/dafny0/RangeCompilation.dfy +++ b/Test/dafny0/RangeCompilation.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment newtype Byte = x | 0 <= x < 256 predicate GoodByte(b: Byte) { diff --git a/Test/dafny0/RangeCompilation.dfy.expect b/Test/dafny0/RangeCompilation.dfy.expect index 82fbbb9b698..9e0f9e5f028 100644 --- a/Test/dafny0/RangeCompilation.dfy.expect +++ b/Test/dafny0/RangeCompilation.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 4 verified, 0 errors b=2 i=4 diff --git a/Test/dafny0/SeqFromArray.dfy b/Test/dafny0/SeqFromArray.dfy index 6bab732c906..39f72303d18 100644 --- a/Test/dafny0/SeqFromArray.dfy +++ b/Test/dafny0/SeqFromArray.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // /autoTriggers:1 added to suppress instabilities diff --git a/Test/dafny0/SeqFromArray.dfy.expect b/Test/dafny0/SeqFromArray.dfy.expect index 1981561ca00..e69de29bb2d 100644 --- a/Test/dafny0/SeqFromArray.dfy.expect +++ b/Test/dafny0/SeqFromArray.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 10 verified, 0 errors diff --git a/Test/dafny0/SharedDestructorsCompile.dfy b/Test/dafny0/SharedDestructorsCompile.dfy index 8171cf72404..64d8b245b58 100644 --- a/Test/dafny0/SharedDestructorsCompile.dfy +++ b/Test/dafny0/SharedDestructorsCompile.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Dt = | A(x: int, y: real) diff --git a/Test/dafny0/SharedDestructorsCompile.dfy.expect b/Test/dafny0/SharedDestructorsCompile.dfy.expect index e037db03c40..060d152d77b 100644 --- a/Test/dafny0/SharedDestructorsCompile.dfy.expect +++ b/Test/dafny0/SharedDestructorsCompile.dfy.expect @@ -1,20 +1,3 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification -Dt.A(10, 12.0): x=10 y=12.0 -Dt.B(_module.MyClass, 6): h=_module.MyClass x=6 -Dt.C(3.14): y=3.14 -Dt.C(3.14) -Dt.A(71, 0.1) -Klef.C3(44, 100, 66, 200) -Datte.AA(10, 2) Datte.AA(10, 5) -Datte.BB(false, 12) Datte.BB(false, 6) -Datte.CC(3.2) Datte.CC(3.4) -Datte.DD(100, {7}, 5, 9.0) Datte.DD(30, {7}, 5, 9.0) -Datte.DD(100, {7}, 5, 9.0) Datte.DD(30, {7}, 5, 2.0) - -Dafny program verifier did not attempt verification Dt.A(10, 12.0): x=10 y=12.0 Dt.B(_module.MyClass, 6): h=_module.MyClass x=6 Dt.C(3.14): y=3.14 diff --git a/Test/dafny0/SiblingImports.dfy b/Test/dafny0/SiblingImports.dfy index 3fb01d9d1b8..756e4b253f3 100644 --- a/Test/dafny0/SiblingImports.dfy +++ b/Test/dafny0/SiblingImports.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { ClientA.Test(); diff --git a/Test/dafny0/SiblingImports.dfy.expect b/Test/dafny0/SiblingImports.dfy.expect index ba4df82a925..fb6171563ac 100644 --- a/Test/dafny0/SiblingImports.dfy.expect +++ b/Test/dafny0/SiblingImports.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors ClientA.Inner.Five: 5 ClientB.Inner.Five: 5 ClientC.Inner.Five: 5 diff --git a/Test/dafny0/TypeConversionsCompile.dfy b/Test/dafny0/TypeConversionsCompile.dfy index 90075fb74a8..5b1e32b9258 100644 --- a/Test/dafny0/TypeConversionsCompile.dfy +++ b/Test/dafny0/TypeConversionsCompile.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /env:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Note the difference in output in Java's case is due to // https://github.com/dafny-lang/dafny/issues/4152 diff --git a/Test/dafny0/TypeConversionsCompile.dfy.expect b/Test/dafny0/TypeConversionsCompile.dfy.expect index 893938a0226..78990cf4a30 100644 --- a/Test/dafny0/TypeConversionsCompile.dfy.expect +++ b/Test/dafny0/TypeConversionsCompile.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 8 verified, 0 errors 3 4 5.0 5 6 -1.0 147573952589676412927 4294967295 127 0 got 3, expected 3 got 0, expected 0 diff --git a/Test/dafny0/TypeMembers.dfy b/Test/dafny0/TypeMembers.dfy index 2ab57767ad5..f2bea4039c9 100644 --- a/Test/dafny0/TypeMembers.dfy +++ b/Test/dafny0/TypeMembers.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { BasicTests(); diff --git a/Test/dafny0/TypeMembers.dfy.expect b/Test/dafny0/TypeMembers.dfy.expect index 1d406ca85dc..923cb07e841 100644 --- a/Test/dafny0/TypeMembers.dfy.expect +++ b/Test/dafny0/TypeMembers.dfy.expect @@ -1,32 +1,3 @@ -TypeMembers.dfy(117,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect - -Dafny program verifier finished with 29 verified, 0 errors -TypeMembers.dfy(117,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect - -Dafny program verifier did not attempt verification -DaTy.Yes 10 26 -8 11 10 11 10 -35 10 14 -22 22 -9 Dt.Business(false, 5) -76 77 -19 -0 0 -19 82 83 -93 Co.Cobalt -27 27 -18 -11 18 18 22 -15 30 29 -95 11 -162 165 -11 18 18 3 -15 30 29 -95 11 -162 165 -TypeMembers.dfy(117,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect - -Dafny program verifier did not attempt verification DaTy.Yes 10 26 8 11 10 11 10 35 10 14 diff --git a/Test/dafny0/TypeMembers.dfy.verifier.expect b/Test/dafny0/TypeMembers.dfy.verifier.expect new file mode 100644 index 00000000000..62f55c943d2 --- /dev/null +++ b/Test/dafny0/TypeMembers.dfy.verifier.expect @@ -0,0 +1 @@ +TypeMembers.dfy(114,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect diff --git a/Test/dafny0/Wellfounded.dfy b/Test/dafny0/Wellfounded.dfy index 2ed488974c6..7ec2be06b38 100644 --- a/Test/dafny0/Wellfounded.dfy +++ b/Test/dafny0/Wellfounded.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var d := Int(10); diff --git a/Test/dafny0/Wellfounded.dfy.expect b/Test/dafny0/Wellfounded.dfy.expect index 73d7a1e7ca2..52742a67098 100644 --- a/Test/dafny0/Wellfounded.dfy.expect +++ b/Test/dafny0/Wellfounded.dfy.expect @@ -1,7 +1,3 @@ -Wellfounded.dfy(49,14): Warning: /!\ No terms found to trigger on. -Wellfounded.dfy(77,5): Warning: /!\ No terms found to trigger on. - -Dafny program verifier finished with 3 verified, 0 errors M(d, d) = 10 M(a1, d) = 10 M(a2, d) = 10 diff --git a/Test/dafny0/Wellfounded.dfy.verifier.expect b/Test/dafny0/Wellfounded.dfy.verifier.expect new file mode 100644 index 00000000000..e61f12f01b2 --- /dev/null +++ b/Test/dafny0/Wellfounded.dfy.verifier.expect @@ -0,0 +1,2 @@ +Wellfounded.dfy(48,14): Warning: /!\ No terms found to trigger on. +Wellfounded.dfy(76,5): Warning: /!\ No terms found to trigger on. diff --git a/Test/dafny2/MinWindowMax.dfy b/Test/dafny2/MinWindowMax.dfy index 71ccb539d7d..32342cdd8b9 100644 --- a/Test/dafny2/MinWindowMax.dfy +++ b/Test/dafny2/MinWindowMax.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Minimum window-max problem. // Rustan Leino diff --git a/Test/dafny2/MinWindowMax.dfy.expect b/Test/dafny2/MinWindowMax.dfy.expect index f6f6e52d9bc..1bb5609994e 100644 --- a/Test/dafny2/MinWindowMax.dfy.expect +++ b/Test/dafny2/MinWindowMax.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 12 verified, 0 errors Window size 1: min window-max is -5 Window size 2: min window-max is 2 Window size 3: min window-max is 3 diff --git a/Test/dafny2/SmallestMissingNumber-functional.dfy b/Test/dafny2/SmallestMissingNumber-functional.dfy index 047475c2680..a1544efab5f 100644 --- a/Test/dafny2/SmallestMissingNumber-functional.dfy +++ b/Test/dafny2/SmallestMissingNumber-functional.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Smallest missing number problem, functional version without duplicates. // A purely functional solution to the programming problem in Richard Bird's diff --git a/Test/dafny2/SmallestMissingNumber-functional.dfy.expect b/Test/dafny2/SmallestMissingNumber-functional.dfy.expect index 208b183ee3e..5d75da8ddd3 100644 --- a/Test/dafny2/SmallestMissingNumber-functional.dfy.expect +++ b/Test/dafny2/SmallestMissingNumber-functional.dfy.expect @@ -1,4 +1 @@ -SmallestMissingNumber-functional.dfy(213,11): Warning: /!\ No terms found to trigger on. - -Dafny program verifier finished with 21 verified, 0 errors 0 1 4 5 diff --git a/Test/dafny2/SmallestMissingNumber-functional.dfy.verifier.expect b/Test/dafny2/SmallestMissingNumber-functional.dfy.verifier.expect new file mode 100644 index 00000000000..cf10280f376 --- /dev/null +++ b/Test/dafny2/SmallestMissingNumber-functional.dfy.verifier.expect @@ -0,0 +1 @@ +SmallestMissingNumber-functional.dfy(212,11): Warning: /!\ No terms found to trigger on. diff --git a/Test/dafny2/SmallestMissingNumber-imperative.dfy b/Test/dafny2/SmallestMissingNumber-imperative.dfy index b8539481a54..314bf4e464c 100644 --- a/Test/dafny2/SmallestMissingNumber-imperative.dfy +++ b/Test/dafny2/SmallestMissingNumber-imperative.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Smallest missing number. // An imperative solution to the programming problem in Richard Bird's diff --git a/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect b/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect index bc4a868fdff..cfb25913041 100644 --- a/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect +++ b/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 8 verified, 0 errors 0 1 5 diff --git a/Test/dafny2/StoreAndRetrieve.dfy b/Test/dafny2/StoreAndRetrieve.dfy index 99a72697a71..f19239e234a 100644 --- a/Test/dafny2/StoreAndRetrieve.dfy +++ b/Test/dafny2/StoreAndRetrieve.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This file shows an example program that uses both refinement and :autocontracts // specify a class that stores a set of things that can be retrieved using a query. diff --git a/Test/dafny2/StoreAndRetrieve.dfy.expect b/Test/dafny2/StoreAndRetrieve.dfy.expect index 1d7d71d5202..030f5bfab39 100644 --- a/Test/dafny2/StoreAndRetrieve.dfy.expect +++ b/Test/dafny2/StoreAndRetrieve.dfy.expect @@ -1,39 +1 @@ -StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier finished with 19 verified, 0 errors -StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -20.3 -StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -20.3 -StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -20.3 -StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification 20.3 diff --git a/Test/dafny2/StoreAndRetrieve.dfy.verifier.expect b/Test/dafny2/StoreAndRetrieve.dfy.verifier.expect new file mode 100644 index 00000000000..0c3d269cdc1 --- /dev/null +++ b/Test/dafny2/StoreAndRetrieve.dfy.verifier.expect @@ -0,0 +1,5 @@ +StoreAndRetrieve.dfy(60,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(65,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(66,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(81,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(92,9): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny2/pq-intrinsic-extrinsic.dfy b/Test/dafny2/pq-intrinsic-extrinsic.dfy index c797c92445d..588c2f9e2b1 100644 --- a/Test/dafny2/pq-intrinsic-extrinsic.dfy +++ b/Test/dafny2/pq-intrinsic-extrinsic.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This file contains several versions of a priority queue implemented by Braun trees: // diff --git a/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect b/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect index bc2608f44b7..5c90c26e0eb 100644 --- a/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect +++ b/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect @@ -1,14 +1,3 @@ - -Dafny program verifier finished with 32 verified, 0 errors - -Dafny program verifier did not attempt verification -PriorityQueue_extrinsic: 3 -PriorityQueue_layered: 3 -PriorityQueue_intrinsic: 3 -PriorityQueue_on_intrinsic: 3 -PriorityQueue_direct: 3 - -Dafny program verifier did not attempt verification PriorityQueue_extrinsic: 3 PriorityQueue_layered: 3 PriorityQueue_intrinsic: 3 diff --git a/Test/dafny3/Abstemious.dfy b/Test/dafny3/Abstemious.dfy index 263c1f1fb00..62d891f950f 100644 --- a/Test/dafny3/Abstemious.dfy +++ b/Test/dafny3/Abstemious.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Examples from https://www.haskell.org/tutorial/functions.html diff --git a/Test/dafny3/Abstemious.dfy.expect b/Test/dafny3/Abstemious.dfy.expect index 96f109b0b58..3511a04a840 100644 --- a/Test/dafny3/Abstemious.dfy.expect +++ b/Test/dafny3/Abstemious.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 19 verified, 0 errors ones(): 1 1 1 1 1 1 1 ... from(3): 3 4 5 6 7 8 9 ... Map(plus1, ones()): 2 2 2 2 2 2 2 ... diff --git a/Test/dafny3/CachedContainer.dfy b/Test/dafny3/CachedContainer.dfy index 77c3e45897f..e36e76d6851 100644 --- a/Test/dafny3/CachedContainer.dfy +++ b/Test/dafny3/CachedContainer.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This file contains an example chain of module refinements, starting from a // simple interface M0 to an implementation M3. Module Client.Test() is diff --git a/Test/dafny3/CachedContainer.dfy.expect b/Test/dafny3/CachedContainer.dfy.expect index 08f4fb30b0a..ed2a587c3f1 100644 --- a/Test/dafny3/CachedContainer.dfy.expect +++ b/Test/dafny3/CachedContainer.dfy.expect @@ -1,79 +1 @@ -CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier finished with 29 verified, 0 errors -CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -false true false true -CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -false true false true -CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -false true false true -CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification false true false true diff --git a/Test/dafny3/CachedContainer.dfy.verifier.expect b/Test/dafny3/CachedContainer.dfy.verifier.expect new file mode 100644 index 00000000000..a037bc94ff6 --- /dev/null +++ b/Test/dafny3/CachedContainer.dfy.verifier.expect @@ -0,0 +1,13 @@ +CachedContainer.dfy(112,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(119,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(122,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(129,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(132,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(153,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(154,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(162,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(163,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(166,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(178,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(179,13): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny3/Iter.dfy b/Test/dafny3/Iter.dfy index 81431f2c64b..46befa24dd8 100644 --- a/Test/dafny3/Iter.dfy +++ b/Test/dafny3/Iter.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class List { ghost var Contents: seq diff --git a/Test/dafny3/Iter.dfy.expect b/Test/dafny3/Iter.dfy.expect index 69d7373d5d5..0ed11070541 100644 --- a/Test/dafny3/Iter.dfy.expect +++ b/Test/dafny3/Iter.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 12 verified, 0 errors 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 98 0 2 4 6 8 10 12 14 diff --git a/Test/dafny4/Ackermann.dfy b/Test/dafny4/Ackermann.dfy index 27968070e9b..a4ef351c96b 100644 --- a/Test/dafny4/Ackermann.dfy +++ b/Test/dafny4/Ackermann.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Rustan Leino, 8 Sep 2015. // This file proves that the Ackermann function is monotonic in each argument diff --git a/Test/dafny4/Ackermann.dfy.expect b/Test/dafny4/Ackermann.dfy.expect index c995dac9c9a..43d9513ef4b 100644 --- a/Test/dafny4/Ackermann.dfy.expect +++ b/Test/dafny4/Ackermann.dfy.expect @@ -1,5 +1 @@ -Ackermann.dfy(163,4): Warning: /!\ No terms found to trigger on. -Ackermann.dfy(181,4): Warning: /!\ No terms found to trigger on. - -Dafny program verifier finished with 14 verified, 0 errors Ack(3, 4) = 125 diff --git a/Test/dafny4/Ackermann.dfy.verifier.expect b/Test/dafny4/Ackermann.dfy.verifier.expect new file mode 100644 index 00000000000..b302e2b4daf --- /dev/null +++ b/Test/dafny4/Ackermann.dfy.verifier.expect @@ -0,0 +1,2 @@ +Ackermann.dfy(162,4): Warning: /!\ No terms found to trigger on. +Ackermann.dfy(180,4): Warning: /!\ No terms found to trigger on. diff --git a/Test/dafny4/Bug107.dfy b/Test/dafny4/Bug107.dfy index e417fc90a53..b7ab69c9a8d 100644 --- a/Test/dafny4/Bug107.dfy +++ b/Test/dafny4/Bug107.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/dafny4/Bug107.dfy.expect b/Test/dafny4/Bug107.dfy.expect index ad79213a18c..62f9457511f 100644 --- a/Test/dafny4/Bug107.dfy.expect +++ b/Test/dafny4/Bug107.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors 6 \ No newline at end of file diff --git a/Test/dafny4/Bug108.dfy b/Test/dafny4/Bug108.dfy index c64ec32a340..8228fe44f87 100644 --- a/Test/dafny4/Bug108.dfy +++ b/Test/dafny4/Bug108.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var A := map[0 := 1]; diff --git a/Test/dafny4/Bug108.dfy.expect b/Test/dafny4/Bug108.dfy.expect index c1c63f6c5c1..0777a01b26d 100644 --- a/Test/dafny4/Bug108.dfy.expect +++ b/Test/dafny4/Bug108.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 1 verified, 0 errors map[0 := 1] map[0 := 1] diff --git a/Test/dafny4/Bug113.dfy b/Test/dafny4/Bug113.dfy index 23c759540cd..0bec0c1ce31 100644 --- a/Test/dafny4/Bug113.dfy +++ b/Test/dafny4/Bug113.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype D = D(q:int, r:int, s:int, t:int) @@ -7,4 +6,4 @@ method Main() { print D(10, 20, 30, 40); print "\n"; -} \ No newline at end of file +} diff --git a/Test/dafny4/Bug113.dfy.expect b/Test/dafny4/Bug113.dfy.expect index 3ea1396ad00..e2eeff32e9a 100644 --- a/Test/dafny4/Bug113.dfy.expect +++ b/Test/dafny4/Bug113.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors D.D(10, 20, 30, 40) diff --git a/Test/dafny4/Bug140.dfy b/Test/dafny4/Bug140.dfy index edde966c149..8280db8f665 100644 --- a/Test/dafny4/Bug140.dfy +++ b/Test/dafny4/Bug140.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class Node { ghost var List: seq diff --git a/Test/dafny4/Bug140.dfy.expect b/Test/dafny4/Bug140.dfy.expect index bad48de4d6b..a40ee1166fb 100644 --- a/Test/dafny4/Bug140.dfy.expect +++ b/Test/dafny4/Bug140.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 8 verified, 0 errors 1 2 diff --git a/Test/dafny4/Bug148.dfy b/Test/dafny4/Bug148.dfy index da1ebf99447..f31cef2cdc8 100644 --- a/Test/dafny4/Bug148.dfy +++ b/Test/dafny4/Bug148.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/dafny4/Bug148.dfy.expect b/Test/dafny4/Bug148.dfy.expect index 79d02517ceb..9ed6ca4768b 100644 --- a/Test/dafny4/Bug148.dfy.expect +++ b/Test/dafny4/Bug148.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 0 verified, 0 errors true false true diff --git a/Test/dafny4/Bug49.dfy b/Test/dafny4/Bug49.dfy index 68722830422..868f4a3964b 100644 --- a/Test/dafny4/Bug49.dfy +++ b/Test/dafny4/Bug49.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/dafny4/Bug49.dfy.expect b/Test/dafny4/Bug49.dfy.expect index 4e02a08bbee..800c2bd15ba 100644 --- a/Test/dafny4/Bug49.dfy.expect +++ b/Test/dafny4/Bug49.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 13 verified, 0 errors 6 6 5 diff --git a/Test/dafny4/Bug60.dfy b/Test/dafny4/Bug60.dfy index 0aa9209269d..f4585753f5f 100644 --- a/Test/dafny4/Bug60.dfy +++ b/Test/dafny4/Bug60.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This method can be used to test compilation. method Main() diff --git a/Test/dafny4/Bug60.dfy.expect b/Test/dafny4/Bug60.dfy.expect index 49740e95682..fd56dc3fcbc 100644 --- a/Test/dafny4/Bug60.dfy.expect +++ b/Test/dafny4/Bug60.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 0 verified, 0 errors ({2, 3}, map[2 := 20, 3 := 30]) (2, 2) {2, 3} diff --git a/Test/dafny4/Bug67.dfy b/Test/dafny4/Bug67.dfy index 731018a293b..f01d4239a75 100644 --- a/Test/dafny4/Bug67.dfy +++ b/Test/dafny4/Bug67.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype d = D(m:seq) @@ -8,4 +7,4 @@ method Main() assert D([10, 20]) == D([10, 20]); // succeeds print [10, 20] == [10, 20], "\n"; // prints True print D([10, 20]) == D([10, 20]); // prints False -} \ No newline at end of file +} diff --git a/Test/dafny4/Bug67.dfy.expect b/Test/dafny4/Bug67.dfy.expect index c716cab3144..0be5d980da4 100644 --- a/Test/dafny4/Bug67.dfy.expect +++ b/Test/dafny4/Bug67.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 1 verified, 0 errors true true \ No newline at end of file diff --git a/Test/dafny4/Bug68.dfy b/Test/dafny4/Bug68.dfy index a211206acba..bf50015f90c 100644 --- a/Test/dafny4/Bug68.dfy +++ b/Test/dafny4/Bug68.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method M1() { @@ -62,4 +61,4 @@ method Main() M3(); M3'(); M4(); -} \ No newline at end of file +} diff --git a/Test/dafny4/Bug68.dfy.expect b/Test/dafny4/Bug68.dfy.expect index f4ef534187d..814ccfee2df 100644 --- a/Test/dafny4/Bug68.dfy.expect +++ b/Test/dafny4/Bug68.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 8 verified, 0 errors true true true diff --git a/Test/dafny4/Bug89.dfy b/Test/dafny4/Bug89.dfy index 4aec1acb8b7..c7b77b44f99 100644 --- a/Test/dafny4/Bug89.dfy +++ b/Test/dafny4/Bug89.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method F() returns(x:int) ensures x == 6 diff --git a/Test/dafny4/Bug89.dfy.expect b/Test/dafny4/Bug89.dfy.expect index ed41c274352..62f9457511f 100644 --- a/Test/dafny4/Bug89.dfy.expect +++ b/Test/dafny4/Bug89.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors 6 \ No newline at end of file diff --git a/Test/dafny4/Bug94.dfy b/Test/dafny4/Bug94.dfy index be931445654..c41458539fc 100644 --- a/Test/dafny4/Bug94.dfy +++ b/Test/dafny4/Bug94.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment ghost function foo() : (int, int) { diff --git a/Test/dafny4/Bug94.dfy.expect b/Test/dafny4/Bug94.dfy.expect index ab0cfbb2d9e..3f10ffe7a4c 100644 --- a/Test/dafny4/Bug94.dfy.expect +++ b/Test/dafny4/Bug94.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors 15 \ No newline at end of file diff --git a/Test/dafny4/ClassRefinement.dfy b/Test/dafny4/ClassRefinement.dfy index 320749ec197..3d5fd1006eb 100644 --- a/Test/dafny4/ClassRefinement.dfy +++ b/Test/dafny4/ClassRefinement.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment abstract module M0 { class Counter { diff --git a/Test/dafny4/ClassRefinement.dfy.expect b/Test/dafny4/ClassRefinement.dfy.expect index f456b6777f3..cba3471eb57 100644 --- a/Test/dafny4/ClassRefinement.dfy.expect +++ b/Test/dafny4/ClassRefinement.dfy.expect @@ -1,44 +1 @@ -ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated -ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier finished with 11 verified, 0 errors -ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated -ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -2 1 -ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated -ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -2 1 -ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated -ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -2 1 -ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated -ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification 2 1 diff --git a/Test/dafny4/ClassRefinement.dfy.verifier.expect b/Test/dafny4/ClassRefinement.dfy.verifier.expect new file mode 100644 index 00000000000..543e77303b5 --- /dev/null +++ b/Test/dafny4/ClassRefinement.dfy.verifier.expect @@ -0,0 +1,6 @@ +ClassRefinement.dfy(68,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(69,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(74,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(75,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(77,6): Warning: the modify statement with a block statement is deprecated +ClassRefinement.dfy(78,13): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny4/ExpandedGuardedness.dfy b/Test/dafny4/ExpandedGuardedness.dfy index 5cd7828f932..af620ec40e8 100644 --- a/Test/dafny4/ExpandedGuardedness.dfy +++ b/Test/dafny4/ExpandedGuardedness.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/dafny4/ExpandedGuardedness.dfy.expect b/Test/dafny4/ExpandedGuardedness.dfy.expect index d05670701e0..e0f3b041a66 100644 --- a/Test/dafny4/ExpandedGuardedness.dfy.expect +++ b/Test/dafny4/ExpandedGuardedness.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 12 verified, 0 errors Up 19 20 21 22 23 Up2 19 20 21 22 23 UpIf 19 20 22 24 26 diff --git a/Test/dafny4/FlyingRobots.dfy b/Test/dafny4/FlyingRobots.dfy index 41223cca1aa..f14a2a467cd 100644 --- a/Test/dafny4/FlyingRobots.dfy +++ b/Test/dafny4/FlyingRobots.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // The flying robots examples from an F* tutorial. It demonstrates how to specify // mutable data structures in the heap. diff --git a/Test/dafny4/FlyingRobots.dfy.expect b/Test/dafny4/FlyingRobots.dfy.expect index 5ed0d97333e..e69de29bb2d 100644 --- a/Test/dafny4/FlyingRobots.dfy.expect +++ b/Test/dafny4/FlyingRobots.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 31 verified, 0 errors diff --git a/Test/dafny4/Leq.dfy b/Test/dafny4/Leq.dfy index fac12757ba0..fdbc1078ca3 100644 --- a/Test/dafny4/Leq.dfy +++ b/Test/dafny4/Leq.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Rustan Leino, 22 Sep 2015. // This file considers two definitions of Leq on naturals+infinity. One diff --git a/Test/dafny4/Leq.dfy.expect b/Test/dafny4/Leq.dfy.expect index 15301952c57..e69de29bb2d 100644 --- a/Test/dafny4/Leq.dfy.expect +++ b/Test/dafny4/Leq.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 16 verified, 0 errors diff --git a/Test/dafny4/McCarthy91.dfy b/Test/dafny4/McCarthy91.dfy index 466d30328cc..428f11eb269 100644 --- a/Test/dafny4/McCarthy91.dfy +++ b/Test/dafny4/McCarthy91.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // The usual recursive method for computing McCarthy's 91 function method Main() { diff --git a/Test/dafny4/McCarthy91.dfy.expect b/Test/dafny4/McCarthy91.dfy.expect index b63f7a0b03b..1511cff2c81 100644 --- a/Test/dafny4/McCarthy91.dfy.expect +++ b/Test/dafny4/McCarthy91.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors M(3) = 91 M(99) = 91 M(100) = 91 diff --git a/Test/dafny4/NatList.dfy b/Test/dafny4/NatList.dfy index 567fd461259..5a1b0358eaf 100644 --- a/Test/dafny4/NatList.dfy +++ b/Test/dafny4/NatList.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This file tests some programs where "nat" is a type parameter to // a datatype. diff --git a/Test/dafny4/NatList.dfy.expect b/Test/dafny4/NatList.dfy.expect index 2ceb3169787..5382a29cb9f 100644 --- a/Test/dafny4/NatList.dfy.expect +++ b/Test/dafny4/NatList.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 11 verified, 0 errors ns = List.Cons(4, List.Cons(10, List.Nil)) Sum(ns) = 14 ns' = List.Cons(20, List.Nil) diff --git a/Test/dafny4/Regression2.dfy b/Test/dafny4/Regression2.dfy index 213bf265401..0d28285e74c 100644 --- a/Test/dafny4/Regression2.dfy +++ b/Test/dafny4/Regression2.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module NativeTypes { newtype uint64 = int diff --git a/Test/dafny4/Regression2.dfy.expect b/Test/dafny4/Regression2.dfy.expect index 3f8ac383f86..8a739fb435a 100644 --- a/Test/dafny4/Regression2.dfy.expect +++ b/Test/dafny4/Regression2.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors true true true diff --git a/Test/dafny4/Regression3.dfy b/Test/dafny4/Regression3.dfy index adaa0d2763d..fc60fad3cb1 100644 --- a/Test/dafny4/Regression3.dfy +++ b/Test/dafny4/Regression3.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/dafny4/Regression3.dfy.expect b/Test/dafny4/Regression3.dfy.expect index 841338987c7..1223bf9ffaf 100644 --- a/Test/dafny4/Regression3.dfy.expect +++ b/Test/dafny4/Regression3.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 3 verified, 0 errors 55 Trunc( -3.0 ) = -3 (expected -3) Trunc( -2.8 ) = -3 (expected -3) diff --git a/Test/dafny4/Regression4.dfy b/Test/dafny4/Regression4.dfy index 5f881a5083f..e4bc4cbef85 100644 --- a/Test/dafny4/Regression4.dfy +++ b/Test/dafny4/Regression4.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { } diff --git a/Test/dafny4/Regression4.dfy.expect b/Test/dafny4/Regression4.dfy.expect index ba00363fc08..e69de29bb2d 100644 --- a/Test/dafny4/Regression4.dfy.expect +++ b/Test/dafny4/Regression4.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 4 verified, 0 errors diff --git a/Test/dafny4/Regression6.dfy b/Test/dafny4/Regression6.dfy index f1551d3ef2d..b589ec0ce7d 100644 --- a/Test/dafny4/Regression6.dfy +++ b/Test/dafny4/Regression6.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function Sum(a: array, lo: int, hi: int): int requires 0 <= lo <= hi <= a.Length diff --git a/Test/dafny4/Regression6.dfy.expect b/Test/dafny4/Regression6.dfy.expect index 17464f29e0b..54573bead10 100644 --- a/Test/dafny4/Regression6.dfy.expect +++ b/Test/dafny4/Regression6.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors 0 1028 0 diff --git a/Test/dafny4/Regression7.dfy b/Test/dafny4/Regression7.dfy index 8ce421a62f3..ef3ca5eea44 100644 --- a/Test/dafny4/Regression7.dfy +++ b/Test/dafny4/Regression7.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /rprint:"%t.rprint" /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module ListLibrary { datatype List = Nil | Cons(head: B, tail: List) diff --git a/Test/dafny4/Regression7.dfy.expect b/Test/dafny4/Regression7.dfy.expect index b7b2766a340..4d38be23500 100644 --- a/Test/dafny4/Regression7.dfy.expect +++ b/Test/dafny4/Regression7.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors ListLibrary.List.Cons(28.0, ListLibrary.List.Nil) diff --git a/Test/dafny4/Regression9.dfy b/Test/dafny4/Regression9.dfy index d9e44547252..086007a3ef8 100644 --- a/Test/dafny4/Regression9.dfy +++ b/Test/dafny4/Regression9.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Some tests for the type inference that was revamped // to better support subset types. diff --git a/Test/dafny4/Regression9.dfy.expect b/Test/dafny4/Regression9.dfy.expect index 5a26eaeabfb..2183b22cfa9 100644 --- a/Test/dafny4/Regression9.dfy.expect +++ b/Test/dafny4/Regression9.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors 'D''D''D' diff --git a/Test/dafny4/UnionFind.dfy b/Test/dafny4/UnionFind.dfy index b97b6ef5d61..354f28accb7 100644 --- a/Test/dafny4/UnionFind.dfy +++ b/Test/dafny4/UnionFind.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Rustan Leino, Nov 2015 // Module M0 gives the high-level specification of the UnionFind data structure diff --git a/Test/dafny4/UnionFind.dfy.expect b/Test/dafny4/UnionFind.dfy.expect index 961b161b8dc..1cb72129e49 100644 --- a/Test/dafny4/UnionFind.dfy.expect +++ b/Test/dafny4/UnionFind.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 63 verified, 0 errors false true true false true true diff --git a/Test/dafny4/gcd.dfy b/Test/dafny4/gcd.dfy index 384e338435f..fa92223fa49 100644 --- a/Test/dafny4/gcd.dfy +++ b/Test/dafny4/gcd.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation // A text describing this file is found in a Dafny Power User note: http://leino.science/papers/krml279.html diff --git a/Test/dafny4/gcd.dfy.expect b/Test/dafny4/gcd.dfy.expect index ecbe2b6f64a..c17551a37a4 100644 --- a/Test/dafny4/gcd.dfy.expect +++ b/Test/dafny4/gcd.dfy.expect @@ -1,34 +1,3 @@ - -Dafny program verifier finished with 19 verified, 0 errors - -Dafny program verifier did not attempt verification -15 gcd 9 = 3 -14 gcd 22 = 2 -371 gcd 1 = 1 -1 gcd 2 = 1 -1 gcd 1 = 1 -13 gcd 13 = 13 -60 gcd 60 = 60 - -Dafny program verifier did not attempt verification -15 gcd 9 = 3 -14 gcd 22 = 2 -371 gcd 1 = 1 -1 gcd 2 = 1 -1 gcd 1 = 1 -13 gcd 13 = 13 -60 gcd 60 = 60 - -Dafny program verifier did not attempt verification -15 gcd 9 = 3 -14 gcd 22 = 2 -371 gcd 1 = 1 -1 gcd 2 = 1 -1 gcd 1 = 1 -13 gcd 13 = 13 -60 gcd 60 = 60 - -Dafny program verifier did not attempt verification 15 gcd 9 = 3 14 gcd 22 = 2 371 gcd 1 = 1 diff --git a/Test/dafny4/git-issue104.dfy b/Test/dafny4/git-issue104.dfy index 86683a2ed88..b05ec4de1cc 100644 --- a/Test/dafny4/git-issue104.dfy +++ b/Test/dafny4/git-issue104.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment predicate bug(a: array) reads a diff --git a/Test/dafny4/git-issue104.dfy.expect b/Test/dafny4/git-issue104.dfy.expect index f572edb2471..836a5934c8f 100644 --- a/Test/dafny4/git-issue104.dfy.expect +++ b/Test/dafny4/git-issue104.dfy.expect @@ -1,17 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification -true false - -Dafny program verifier did not attempt verification -true false - -Dafny program verifier did not attempt verification -true false - -Dafny program verifier did not attempt verification -true false - -Dafny program verifier did not attempt verification true false diff --git a/Test/dafny4/git-issue105.dfy b/Test/dafny4/git-issue105.dfy index 09cfce29a6e..4cff2330cba 100644 --- a/Test/dafny4/git-issue105.dfy +++ b/Test/dafny4/git-issue105.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method lol() returns (c: int) { diff --git a/Test/dafny4/git-issue105.dfy.expect b/Test/dafny4/git-issue105.dfy.expect index 012f5b99379..e69de29bb2d 100644 --- a/Test/dafny4/git-issue105.dfy.expect +++ b/Test/dafny4/git-issue105.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/dafny4/git-issue15.dfy b/Test/dafny4/git-issue15.dfy index 96905286209..7c77a67ccf9 100755 --- a/Test/dafny4/git-issue15.dfy +++ b/Test/dafny4/git-issue15.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype obj = Obj(fooBar:map) datatype foo = Foo diff --git a/Test/dafny4/git-issue15.dfy.expect b/Test/dafny4/git-issue15.dfy.expect index e52de78d0b1..00750edc07d 100755 --- a/Test/dafny4/git-issue15.dfy.expect +++ b/Test/dafny4/git-issue15.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors 3 diff --git a/Test/dafny4/git-issue195.dfy b/Test/dafny4/git-issue195.dfy index ac4b1306ac6..fccdc5461c8 100644 --- a/Test/dafny4/git-issue195.dfy +++ b/Test/dafny4/git-issue195.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Block = Block(prevBlockHash:Hash, txs:seq, proof:VProof) diff --git a/Test/dafny4/git-issue195.dfy.expect b/Test/dafny4/git-issue195.dfy.expect index 30692fdef2a..638bfb50b2d 100644 --- a/Test/dafny4/git-issue195.dfy.expect +++ b/Test/dafny4/git-issue195.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 4 verified, 0 errors true true true true true diff --git a/Test/dafny4/git-issue196.dfy b/Test/dafny4/git-issue196.dfy index 64eb0e9123f..056687ab1a5 100644 --- a/Test/dafny4/git-issue196.dfy +++ b/Test/dafny4/git-issue196.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class A { var a: array> diff --git a/Test/dafny4/git-issue196.dfy.expect b/Test/dafny4/git-issue196.dfy.expect index a333f982b8f..ee25a2c5027 100644 --- a/Test/dafny4/git-issue196.dfy.expect +++ b/Test/dafny4/git-issue196.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 9 verified, 0 errors 42 42 42 5000 5000 5000 5000 5000 diff --git a/Test/dafny4/git-issue4.dfy b/Test/dafny4/git-issue4.dfy index b19cf3ce6df..b17a545e219 100644 --- a/Test/dafny4/git-issue4.dfy +++ b/Test/dafny4/git-issue4.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function IntToChar(i:int):char requires 0 <= i < 10 diff --git a/Test/dafny4/git-issue4.dfy.expect b/Test/dafny4/git-issue4.dfy.expect index 33af1e040b7..24e24eb63cc 100644 --- a/Test/dafny4/git-issue4.dfy.expect +++ b/Test/dafny4/git-issue4.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors '8' 8 '8' 56 56 diff --git a/Test/dafny4/git-issue43.dfy b/Test/dafny4/git-issue43.dfy index edf056a1a91..d320d7761bc 100644 --- a/Test/dafny4/git-issue43.dfy +++ b/Test/dafny4/git-issue43.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class System { } diff --git a/Test/dafny4/git-issue43.dfy.expect b/Test/dafny4/git-issue43.dfy.expect index 012f5b99379..e69de29bb2d 100644 --- a/Test/dafny4/git-issue43.dfy.expect +++ b/Test/dafny4/git-issue43.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/dafny4/git-issue76.dfy b/Test/dafny4/git-issue76.dfy index 708ee911b24..85613dba2f2 100644 --- a/Test/dafny4/git-issue76.dfy +++ b/Test/dafny4/git-issue76.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { M0(); diff --git a/Test/dafny4/git-issue76.dfy.expect b/Test/dafny4/git-issue76.dfy.expect index 546da03a267..0cfbf08886f 100644 --- a/Test/dafny4/git-issue76.dfy.expect +++ b/Test/dafny4/git-issue76.dfy.expect @@ -1,8 +1 @@ - -Dafny program verifier finished with 7 verified, 0 errors - -Dafny program verifier did not attempt verification -2 - -Dafny program verifier did not attempt verification 2 diff --git a/Test/dafny4/git-issue79.dfy b/Test/dafny4/git-issue79.dfy index 046a7c5e375..f3fb17b8531 100644 --- a/Test/dafny4/git-issue79.dfy +++ b/Test/dafny4/git-issue79.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype EInt = Int(val: int) | Unknown type Pair = (string, EInt) diff --git a/Test/dafny4/git-issue79.dfy.expect b/Test/dafny4/git-issue79.dfy.expect index 012f5b99379..e69de29bb2d 100644 --- a/Test/dafny4/git-issue79.dfy.expect +++ b/Test/dafny4/git-issue79.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/dafny4/git-issue88.dfy b/Test/dafny4/git-issue88.dfy index 1c188333783..83c0b4a8ef9 100644 --- a/Test/dafny4/git-issue88.dfy +++ b/Test/dafny4/git-issue88.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment type Grid = array2 diff --git a/Test/dafny4/git-issue88.dfy.expect b/Test/dafny4/git-issue88.dfy.expect index 00a51f822da..e69de29bb2d 100644 --- a/Test/dafny4/git-issue88.dfy.expect +++ b/Test/dafny4/git-issue88.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 3 verified, 0 errors diff --git a/Test/exceptions/Exceptions1.dfy b/Test/exceptions/Exceptions1.dfy index 11bb2f7923d..4ffd3291f2f 100644 --- a/Test/exceptions/Exceptions1.dfy +++ b/Test/exceptions/Exceptions1.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" /rprint:"%t.rprint" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "./NatOutcome.dfy" include "./VoidOutcome.dfy" diff --git a/Test/exceptions/Exceptions1.dfy.expect b/Test/exceptions/Exceptions1.dfy.expect index e61be2a11ad..c87eb938c55 100644 --- a/Test/exceptions/Exceptions1.dfy.expect +++ b/Test/exceptions/Exceptions1.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 7 verified, 0 errors true_true_true_88_42_33_Success=100 ___VoidSuccess true_true_false_88_42_Failure diff --git a/Test/exceptions/Exceptions1Expressions.dfy b/Test/exceptions/Exceptions1Expressions.dfy index c0f3c67cd39..a57e5b78c7e 100644 --- a/Test/exceptions/Exceptions1Expressions.dfy +++ b/Test/exceptions/Exceptions1Expressions.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" /rprint:"%t.rprint" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "./NatOutcomeDt.dfy" include "./VoidOutcomeDt.dfy" diff --git a/Test/exceptions/Exceptions1Expressions.dfy.expect b/Test/exceptions/Exceptions1Expressions.dfy.expect index 3da30f30d36..3f1b38ab150 100644 --- a/Test/exceptions/Exceptions1Expressions.dfy.expect +++ b/Test/exceptions/Exceptions1Expressions.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors true_true_true_Success=100 VoidSuccess true_true_false_Failure diff --git a/Test/exports/FIFO.dfy b/Test/exports/FIFO.dfy index 173e412eaa9..95a8d25510c 100644 --- a/Test/exports/FIFO.dfy +++ b/Test/exports/FIFO.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "Queue.dfyi" diff --git a/Test/exports/FIFO.dfy.expect b/Test/exports/FIFO.dfy.expect index 8350309cc2a..4539bbf2d22 100644 --- a/Test/exports/FIFO.dfy.expect +++ b/Test/exports/FIFO.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors 0 1 2 diff --git a/Test/exports/LIFO.dfy b/Test/exports/LIFO.dfy index ea691935620..513dd457c3f 100644 --- a/Test/exports/LIFO.dfy +++ b/Test/exports/LIFO.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "Queue.dfyi" diff --git a/Test/exports/LIFO.dfy.expect b/Test/exports/LIFO.dfy.expect index 48aa7787d09..ae136939b64 100644 --- a/Test/exports/LIFO.dfy.expect +++ b/Test/exports/LIFO.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors 2 1 0 diff --git a/Test/exports/xrefine2.dfy b/Test/exports/xrefine2.dfy index 0b25240916c..2409cc0509a 100644 --- a/Test/exports/xrefine2.dfy +++ b/Test/exports/xrefine2.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module ProtocolImpl { diff --git a/Test/exports/xrefine2.dfy.expect b/Test/exports/xrefine2.dfy.expect index 34e1b357779..858dbd09862 100644 --- a/Test/exports/xrefine2.dfy.expect +++ b/Test/exports/xrefine2.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 4 verified, 0 errors HI.foo(h1) => true HI.foo(h2) => true PI.orange(1) => 2 diff --git a/Test/exports/xrefine3.dfy b/Test/exports/xrefine3.dfy index 24d6fa062f0..bb2480bfed7 100644 --- a/Test/exports/xrefine3.dfy +++ b/Test/exports/xrefine3.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module AlphaImpl { diff --git a/Test/exports/xrefine3.dfy.expect b/Test/exports/xrefine3.dfy.expect index 488ab11c36a..ae50cef0985 100644 --- a/Test/exports/xrefine3.dfy.expect +++ b/Test/exports/xrefine3.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors o hai! diff --git a/Test/git-issues/git-issue-032.dfy b/Test/git-issues/git-issue-032.dfy index bde5b2f2a69..d7dd61440a7 100644 --- a/Test/git-issues/git-issue-032.dfy +++ b/Test/git-issues/git-issue-032.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/git-issues/git-issue-032.dfy.expect b/Test/git-issues/git-issue-032.dfy.expect index 91c285009c1..2a64997c6f7 100644 --- a/Test/git-issues/git-issue-032.dfy.expect +++ b/Test/git-issues/git-issue-032.dfy.expect @@ -1,40 +1,3 @@ -git-issue-032.dfy(18,35): Warning: this branch is redundant -git-issue-032.dfy(27,34): Warning: this branch is redundant -git-issue-032.dfy(28,35): Warning: this branch is redundant - -Dafny program verifier finished with 1 verified, 0 errors -git-issue-032.dfy(18,35): Warning: this branch is redundant -git-issue-032.dfy(27,34): Warning: this branch is redundant -git-issue-032.dfy(28,35): Warning: this branch is redundant - -Dafny program verifier did not attempt verification -OK3 -OK -OKOK -00 -git-issue-032.dfy(18,35): Warning: this branch is redundant -git-issue-032.dfy(27,34): Warning: this branch is redundant -git-issue-032.dfy(28,35): Warning: this branch is redundant - -Dafny program verifier did not attempt verification -OK3 -OK -OKOK -00 -git-issue-032.dfy(18,35): Warning: this branch is redundant -git-issue-032.dfy(27,34): Warning: this branch is redundant -git-issue-032.dfy(28,35): Warning: this branch is redundant - -Dafny program verifier did not attempt verification -OK3 -OK -OKOK -00 -git-issue-032.dfy(18,35): Warning: this branch is redundant -git-issue-032.dfy(27,34): Warning: this branch is redundant -git-issue-032.dfy(28,35): Warning: this branch is redundant - -Dafny program verifier did not attempt verification OK3 OK OKOK diff --git a/Test/git-issues/git-issue-032.dfy.verifier.expect b/Test/git-issues/git-issue-032.dfy.verifier.expect new file mode 100644 index 00000000000..1878351db97 --- /dev/null +++ b/Test/git-issues/git-issue-032.dfy.verifier.expect @@ -0,0 +1,3 @@ +git-issue-032.dfy(13,35): Warning: this branch is redundant +git-issue-032.dfy(22,34): Warning: this branch is redundant +git-issue-032.dfy(23,35): Warning: this branch is redundant diff --git a/Test/git-issues/git-issue-1029.dfy b/Test/git-issues/git-issue-1029.dfy index a310a99c169..7e1e7a31cf2 100644 --- a/Test/git-issues/git-issue-1029.dfy +++ b/Test/git-issues/git-issue-1029.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module ValueType { export S diff --git a/Test/git-issues/git-issue-1029.dfy.expect b/Test/git-issues/git-issue-1029.dfy.expect index 7108c86b0b5..116f2acb4ee 100644 --- a/Test/git-issues/git-issue-1029.dfy.expect +++ b/Test/git-issues/git-issue-1029.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors [true, true, false] UI.Op2.GetOps([true, true, false], [true, true, false]) diff --git a/Test/git-issues/git-issue-1093.dfy b/Test/git-issues/git-issue-1093.dfy index 9365397496f..97797296680 100644 --- a/Test/git-issues/git-issue-1093.dfy +++ b/Test/git-issues/git-issue-1093.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { UnusedLabel(); diff --git a/Test/git-issues/git-issue-1093.dfy.expect b/Test/git-issues/git-issue-1093.dfy.expect index 0cadf5e4199..f599e28b8ab 100644 --- a/Test/git-issues/git-issue-1093.dfy.expect +++ b/Test/git-issues/git-issue-1093.dfy.expect @@ -1,17 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification -10 - -Dafny program verifier did not attempt verification -10 - -Dafny program verifier did not attempt verification -10 - -Dafny program verifier did not attempt verification -10 - -Dafny program verifier did not attempt verification 10 diff --git a/Test/git-issues/git-issue-1130.dfy b/Test/git-issues/git-issue-1130.dfy index 5b7fc5068e2..f1f5ad5a54b 100644 --- a/Test/git-issues/git-issue-1130.dfy +++ b/Test/git-issues/git-issue-1130.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var a := new Issue.Foo(); diff --git a/Test/git-issues/git-issue-1130.dfy.expect b/Test/git-issues/git-issue-1130.dfy.expect index 6c3dd07b1f1..de97a6dc4ca 100644 --- a/Test/git-issues/git-issue-1130.dfy.expect +++ b/Test/git-issues/git-issue-1130.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 13 verified, 0 errors 012 diff --git a/Test/git-issues/git-issue-1150.dfy b/Test/git-issues/git-issue-1150.dfy index d4cee3c3ef2..d3416a53813 100644 --- a/Test/git-issues/git-issue-1150.dfy +++ b/Test/git-issues/git-issue-1150.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Foo = Foo(x: nat) { diff --git a/Test/git-issues/git-issue-1150.dfy.expect b/Test/git-issues/git-issue-1150.dfy.expect index fb4be1897cf..f34d8df4a11 100644 --- a/Test/git-issues/git-issue-1150.dfy.expect +++ b/Test/git-issues/git-issue-1150.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 1 verified, 0 errors Foo.Foo(2) true Foo.Foo(5) false diff --git a/Test/git-issues/git-issue-1185.dfy b/Test/git-issues/git-issue-1185.dfy index 32c340b0736..c7ad72134d1 100644 --- a/Test/git-issues/git-issue-1185.dfy +++ b/Test/git-issues/git-issue-1185.dfy @@ -1,9 +1,5 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment predicate P(s: set) requires s != {} diff --git a/Test/git-issues/git-issue-1185.dfy.expect b/Test/git-issues/git-issue-1185.dfy.expect index 90ab58a1f5a..525ce875525 100644 --- a/Test/git-issues/git-issue-1185.dfy.expect +++ b/Test/git-issues/git-issue-1185.dfy.expect @@ -1,14 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification -{12, 20} true 6 - -Dafny program verifier did not attempt verification -{20, 12} true 6 - -Dafny program verifier did not attempt verification -{12, 20} true 6 - -Dafny program verifier did not attempt verification {12, 20} true 6 diff --git a/Test/git-issues/git-issue-1185.dfy.java.expect b/Test/git-issues/git-issue-1185.dfy.java.expect new file mode 100644 index 00000000000..8ba669ad273 --- /dev/null +++ b/Test/git-issues/git-issue-1185.dfy.java.expect @@ -0,0 +1 @@ +{20, 12} true 6 diff --git a/Test/git-issues/git-issue-1514.dfy b/Test/git-issues/git-issue-1514.dfy index 74b75478609..816eadce69b 100644 --- a/Test/git-issues/git-issue-1514.dfy +++ b/Test/git-issues/git-issue-1514.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "Wrappers.dfy" import opened Wrappers diff --git a/Test/git-issues/git-issue-1514.dfy.expect b/Test/git-issues/git-issue-1514.dfy.expect index 2f22d47cee8..b5754e20373 100644 --- a/Test/git-issues/git-issue-1514.dfy.expect +++ b/Test/git-issues/git-issue-1514.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-1514b.dfy b/Test/git-issues/git-issue-1514b.dfy index 1d8cd122d28..050a4a71760 100644 --- a/Test/git-issues/git-issue-1514b.dfy +++ b/Test/git-issues/git-issue-1514b.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "Wrappers.dfy" import opened Wrappers diff --git a/Test/git-issues/git-issue-1514b.dfy.expect b/Test/git-issues/git-issue-1514b.dfy.expect index 2f22d47cee8..b5754e20373 100644 --- a/Test/git-issues/git-issue-1514b.dfy.expect +++ b/Test/git-issues/git-issue-1514b.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-1514c.dfy b/Test/git-issues/git-issue-1514c.dfy index d9df7d108c1..578316f217c 100644 --- a/Test/git-issues/git-issue-1514c.dfy +++ b/Test/git-issues/git-issue-1514c.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "Wrappers.dfy" import opened Wrappers diff --git a/Test/git-issues/git-issue-1514c.dfy.expect b/Test/git-issues/git-issue-1514c.dfy.expect index 694254c28aa..9766475a418 100644 --- a/Test/git-issues/git-issue-1514c.dfy.expect +++ b/Test/git-issues/git-issue-1514c.dfy.expect @@ -1,8 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification -ok - -Dafny program verifier did not attempt verification ok diff --git a/Test/git-issues/git-issue-1553.dfy b/Test/git-issues/git-issue-1553.dfy index 6267018c92d..81cbef7aa7e 100644 --- a/Test/git-issues/git-issue-1553.dfy +++ b/Test/git-issues/git-issue-1553.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { } method Test() { diff --git a/Test/git-issues/git-issue-1553.dfy.expect b/Test/git-issues/git-issue-1553.dfy.expect index 65d3b5d6635..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-1553.dfy.expect +++ b/Test/git-issues/git-issue-1553.dfy.expect @@ -1,10 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-1604b.dfy b/Test/git-issues/git-issue-1604b.dfy index 497ee5017d5..d7c4169ec60 100644 --- a/Test/git-issues/git-issue-1604b.dfy +++ b/Test/git-issues/git-issue-1604b.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /errorLimit:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --error-limit:0 --relax-definite-assignment // Double constraints. Will this still work? diff --git a/Test/git-issues/git-issue-1604b.dfy.expect b/Test/git-issues/git-issue-1604b.dfy.expect index 93d7203e654..b5754e20373 100644 --- a/Test/git-issues/git-issue-1604b.dfy.expect +++ b/Test/git-issues/git-issue-1604b.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 5 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-1714.dfy b/Test/git-issues/git-issue-1714.dfy index 6ce8915a7af..540a41c39cb 100644 --- a/Test/git-issues/git-issue-1714.dfy +++ b/Test/git-issues/git-issue-1714.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait Base {} class Derived extends Base { var n: int constructor() { n := 0; } } diff --git a/Test/git-issues/git-issue-1714.dfy.expect b/Test/git-issues/git-issue-1714.dfy.expect index 67dd7d95642..88039063d09 100644 --- a/Test/git-issues/git-issue-1714.dfy.expect +++ b/Test/git-issues/git-issue-1714.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors (b as Derived).n == 0 diff --git a/Test/git-issues/git-issue-1815a.dfy b/Test/git-issues/git-issue-1815a.dfy index 91fb7a32aa6..72d55a1cb4f 100644 --- a/Test/git-issues/git-issue-1815a.dfy +++ b/Test/git-issues/git-issue-1815a.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Dt<+U> = Dt(x: U, i: int) diff --git a/Test/git-issues/git-issue-1815a.dfy.expect b/Test/git-issues/git-issue-1815a.dfy.expect index 7b2651302d9..19f86f493ab 100644 --- a/Test/git-issues/git-issue-1815a.dfy.expect +++ b/Test/git-issues/git-issue-1815a.dfy.expect @@ -1,17 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification -done - -Dafny program verifier did not attempt verification -done - -Dafny program verifier did not attempt verification -done - -Dafny program verifier did not attempt verification -done - -Dafny program verifier did not attempt verification done diff --git a/Test/git-issues/git-issue-1852.dfy b/Test/git-issues/git-issue-1852.dfy index 516835e8ea8..046f3fca1fc 100644 --- a/Test/git-issues/git-issue-1852.dfy +++ b/Test/git-issues/git-issue-1852.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module A { export diff --git a/Test/git-issues/git-issue-1852.dfy.expect b/Test/git-issues/git-issue-1852.dfy.expect index e9cd0ea2e07..299a71f3fe4 100644 --- a/Test/git-issues/git-issue-1852.dfy.expect +++ b/Test/git-issues/git-issue-1852.dfy.expect @@ -1,8 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification -5 5 - -Dafny program verifier did not attempt verification 5 5 diff --git a/Test/git-issues/git-issue-1903.dfy b/Test/git-issues/git-issue-1903.dfy index 7edb2a46c61..60ee1c121ab 100644 --- a/Test/git-issues/git-issue-1903.dfy +++ b/Test/git-issues/git-issue-1903.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method g(x : seq := []) { diff --git a/Test/git-issues/git-issue-1903.dfy.expect b/Test/git-issues/git-issue-1903.dfy.expect index 3170fb0c7f2..84cc8d360f9 100644 --- a/Test/git-issues/git-issue-1903.dfy.expect +++ b/Test/git-issues/git-issue-1903.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors worked! diff --git a/Test/git-issues/git-issue-1909.dfy b/Test/git-issues/git-issue-1909.dfy index 7fb5b3b8c48..83d9ec1d785 100644 --- a/Test/git-issues/git-issue-1909.dfy +++ b/Test/git-issues/git-issue-1909.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype ABC = ABC(nameonly a: int, nameonly b: int, nameonly c: int) diff --git a/Test/git-issues/git-issue-1909.dfy.expect b/Test/git-issues/git-issue-1909.dfy.expect index b4eb7e7774e..ab6f7d69d36 100644 --- a/Test/git-issues/git-issue-1909.dfy.expect +++ b/Test/git-issues/git-issue-1909.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors ABC.ABC(19, 21, 23) ABC.ABC(19, 42, 23) ABC.ABC(100, 42, 90) diff --git a/Test/git-issues/git-issue-2013.dfy b/Test/git-issues/git-issue-2013.dfy index d1d3e15880e..1f3962988ee 100644 --- a/Test/git-issues/git-issue-2013.dfy +++ b/Test/git-issues/git-issue-2013.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/git-issues/git-issue-2013.dfy.expect b/Test/git-issues/git-issue-2013.dfy.expect index 7ff6ce957cf..22e56ce7263 100644 --- a/Test/git-issues/git-issue-2013.dfy.expect +++ b/Test/git-issues/git-issue-2013.dfy.expect @@ -1,55 +1,3 @@ - -Dafny program verifier finished with 12 verified, 0 errors - -Dafny program verifier did not attempt verification -16 -16 -12 30 30 -Result.Success(8) Result.Failure(_module.MyClassException) -{100} {100} {100} -{MoreTests.C} {MoreTests.C} {MoreTests.C} -100 100 100 -MoreTests.C MoreTests.C MoreTests.C -Conveyance.NonVariantResult.NVSuccess(Conveyance.Car) Conveyance.CovariantResult.CVSuccess(Conveyance.Car) -M.Stream.Next - -Dafny program verifier did not attempt verification -16 -16 -12 30 30 -Result.Success(8) Result.Failure(_module.MyClassException) -{100} {100} {100} -{MoreTests.C} {MoreTests.C} {MoreTests.C} -100 100 100 -MoreTests.C MoreTests.C MoreTests.C -Conveyance.NonVariantResult.NVSuccess(Conveyance.Car) Conveyance.CovariantResult.CVSuccess(Conveyance.Car) -M.Stream.Next - -Dafny program verifier did not attempt verification -16 -16 -12 30 30 -Result.Success(8) Result.Failure(_module.MyClassException) -{100} {100} {100} -{MoreTests.C} {MoreTests.C} {MoreTests.C} -100 100 100 -MoreTests.C MoreTests.C MoreTests.C -Conveyance.NonVariantResult.NVSuccess(Conveyance.Car) Conveyance.CovariantResult.CVSuccess(Conveyance.Car) -M.Stream.Next - -Dafny program verifier did not attempt verification -16 -16 -12 30 30 -Result.Success(8) Result.Failure(_module.MyClassException) -{100} {100} {100} -{MoreTests.C} {MoreTests.C} {MoreTests.C} -100 100 100 -MoreTests.C MoreTests.C MoreTests.C -Conveyance.NonVariantResult.NVSuccess(Conveyance.Car) Conveyance.CovariantResult.CVSuccess(Conveyance.Car) -M.Stream.Next - -Dafny program verifier did not attempt verification 16 16 12 30 30 diff --git a/Test/git-issues/git-issue-2441.dfy b/Test/git-issues/git-issue-2441.dfy index bc9c8721ee2..4179ecc87bc 100644 --- a/Test/git-issues/git-issue-2441.dfy +++ b/Test/git-issues/git-issue-2441.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype A = A(B: B) datatype B = X diff --git a/Test/git-issues/git-issue-2441.dfy.expect b/Test/git-issues/git-issue-2441.dfy.expect index 0c3f603d584..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-2441.dfy.expect +++ b/Test/git-issues/git-issue-2441.dfy.expect @@ -1,6 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-2510.dfy b/Test/git-issues/git-issue-2510.dfy index 22ef8e47058..11ee2877bb3 100644 --- a/Test/git-issues/git-issue-2510.dfy +++ b/Test/git-issues/git-issue-2510.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:4 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /// Check that the compiler accepts `:- assume {:axiom} …`. diff --git a/Test/git-issues/git-issue-2510.dfy.expect b/Test/git-issues/git-issue-2510.dfy.expect index b341a39a78d..56a6051ca2b 100644 --- a/Test/git-issues/git-issue-2510.dfy.expect +++ b/Test/git-issues/git-issue-2510.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors 1 \ No newline at end of file diff --git a/Test/git-issues/git-issue-2608.dfy b/Test/git-issues/git-issue-2608.dfy index 459c9ffbf94..c606177f94f 100644 --- a/Test/git-issues/git-issue-2608.dfy +++ b/Test/git-issues/git-issue-2608.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /compileTarget:js "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method GetNext(i: int) returns (j: int, possible: bool) { if i == 1 { diff --git a/Test/git-issues/git-issue-2608.dfy.expect b/Test/git-issues/git-issue-2608.dfy.expect index dce7ba1814a..d9ed583f710 100644 --- a/Test/git-issues/git-issue-2608.dfy.expect +++ b/Test/git-issues/git-issue-2608.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors 82411246231944714271214 \ No newline at end of file diff --git a/Test/git-issues/git-issue-262.dfy b/Test/git-issues/git-issue-262.dfy index 2c00ad94a39..22d9a31b2fe 100644 --- a/Test/git-issues/git-issue-262.dfy +++ b/Test/git-issues/git-issue-262.dfy @@ -1,8 +1,5 @@ -// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" -// RUN: %dafny /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function tst(x: nat): nat { x + 1 diff --git a/Test/git-issues/git-issue-262.dfy.expect b/Test/git-issues/git-issue-262.dfy.expect index 76af42cd4a3..41d8cd55158 100644 --- a/Test/git-issues/git-issue-262.dfy.expect +++ b/Test/git-issues/git-issue-262.dfy.expect @@ -1,20 +1,2 @@ - -Dafny program verifier finished with 2 verified, 0 errors System.Func`2[System.Numerics.BigInteger,System.Numerics.BigInteger] System.Func`2[System.Numerics.BigInteger,System.Numerics.BigInteger] - -Dafny program verifier finished with 2 verified, 0 errors -tst(x) { - return (x).plus(_dafny.ONE); - } -tst(x) { - return (x).plus(_dafny.ONE); - } - -Dafny program verifier finished with 2 verified, 0 errors -func(dafny.Int) dafny.Int -func(dafny.Int) dafny.Int - -Dafny program verifier finished with 2 verified, 0 errors -Function -Function diff --git a/Test/git-issues/git-issue-262.dfy.go.expect b/Test/git-issues/git-issue-262.dfy.go.expect new file mode 100644 index 00000000000..578754c176c --- /dev/null +++ b/Test/git-issues/git-issue-262.dfy.go.expect @@ -0,0 +1,2 @@ +func(dafny.Int) dafny.Int +func(dafny.Int) dafny.Int diff --git a/Test/git-issues/git-issue-262.dfy.java.expect b/Test/git-issues/git-issue-262.dfy.java.expect new file mode 100644 index 00000000000..aa5478ef8c9 --- /dev/null +++ b/Test/git-issues/git-issue-262.dfy.java.expect @@ -0,0 +1,2 @@ +Function +Function diff --git a/Test/git-issues/git-issue-262.dfy.js.expect b/Test/git-issues/git-issue-262.dfy.js.expect new file mode 100644 index 00000000000..e181ef2fef8 --- /dev/null +++ b/Test/git-issues/git-issue-262.dfy.js.expect @@ -0,0 +1,6 @@ +tst(x) { + return (x).plus(_dafny.ONE); + } +tst(x) { + return (x).plus(_dafny.ONE); + } diff --git a/Test/git-issues/git-issue-267.dfy b/Test/git-issues/git-issue-267.dfy index cef2fcc6c17..2b0b3281589 100644 --- a/Test/git-issues/git-issue-267.dfy +++ b/Test/git-issues/git-issue-267.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var c := 1; diff --git a/Test/git-issues/git-issue-267.dfy.expect b/Test/git-issues/git-issue-267.dfy.expect index d71aef2f440..cd7da05e3d2 100644 --- a/Test/git-issues/git-issue-267.dfy.expect +++ b/Test/git-issues/git-issue-267.dfy.expect @@ -1,14 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification -210 - -Dafny program verifier did not attempt verification -210 - -Dafny program verifier did not attempt verification -210 - -Dafny program verifier did not attempt verification 210 diff --git a/Test/git-issues/git-issue-2672.dfy b/Test/git-issues/git-issue-2672.dfy index 338299ee8b7..52c5b9c638c 100644 --- a/Test/git-issues/git-issue-2672.dfy +++ b/Test/git-issues/git-issue-2672.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment newtype sreal = r: real | r > -4 as real newtype sint = r: int | r > -4 as int diff --git a/Test/git-issues/git-issue-2672.dfy.expect b/Test/git-issues/git-issue-2672.dfy.expect index c9c3244b6f4..43440a83d53 100644 --- a/Test/git-issues/git-issue-2672.dfy.expect +++ b/Test/git-issues/git-issue-2672.dfy.expect @@ -1,47 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors - -Dafny program verifier did not attempt verification -true true true true true true true true true true -false false false false false false false false false false -false false false false false false false false false false -true true true true true true true true true true -true true true true true true true true true true -false false false false false false false false false false -true true true -false false false - -Dafny program verifier did not attempt verification -true true true true true true true true true true -false false false false false false false false false false -false false false false false false false false false false -true true true true true true true true true true -true true true true true true true true true true -false false false false false false false false false false -true true true -false false false - -Dafny program verifier did not attempt verification -true true true true true true true true true true -false false false false false false false false false false -false false false false false false false false false false -true true true true true true true true true true -true true true true true true true true true true -false false false false false false false false false false -true true true -false false false - -Dafny program verifier did not attempt verification -true true true true true true true true true true -false false false false false false false false false false -false false false false false false false false false false -true true true true true true true true true true -true true true true true true true true true true -false false false false false false false false false false -true true true -false false false - -Dafny program verifier did not attempt verification true true true true true true true true true true false false false false false false false false false false false false false false false false false false false false diff --git a/Test/git-issues/git-issue-2726a.dfy b/Test/git-issues/git-issue-2726a.dfy index 641fefbbdc4..a43d5dd0107 100644 --- a/Test/git-issues/git-issue-2726a.dfy +++ b/Test/git-issues/git-issue-2726a.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /compileTarget:cs "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment const digits := ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"] diff --git a/Test/git-issues/git-issue-2726a.dfy.expect b/Test/git-issues/git-issue-2726a.dfy.expect index 6985935c88c..8e1bedb2a64 100644 --- a/Test/git-issues/git-issue-2726a.dfy.expect +++ b/Test/git-issues/git-issue-2726a.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors 4 42 422 diff --git a/Test/git-issues/git-issue-2733.dfy b/Test/git-issues/git-issue-2733.dfy index 232eab3cc74..65bc2b991fd 100644 --- a/Test/git-issues/git-issue-2733.dfy +++ b/Test/git-issues/git-issue-2733.dfy @@ -1,11 +1,4 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cpp "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false method Main() { print "XYZ"; // Checks that no extra newline is added to the output diff --git a/Test/git-issues/git-issue-2733.dfy.expect b/Test/git-issues/git-issue-2733.dfy.expect index b139e2f3d58..77bf25132db 100644 --- a/Test/git-issues/git-issue-2733.dfy.expect +++ b/Test/git-issues/git-issue-2733.dfy.expect @@ -1,15 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification -XYZ -Dafny program verifier did not attempt verification -XYZ -Dafny program verifier did not attempt verification -XYZ -Dafny program verifier did not attempt verification -XYZ -Dafny program verifier did not attempt verification -XYZ -Dafny program verifier did not attempt verification XYZ \ No newline at end of file diff --git a/Test/git-issues/git-issue-2792.dfy b/Test/git-issues/git-issue-2792.dfy index 89e736667c0..d2fb9db2055 100644 --- a/Test/git-issues/git-issue-2792.dfy +++ b/Test/git-issues/git-issue-2792.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /compileTarget:java "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Wrapper = Wrapper(s: seq) { diff --git a/Test/git-issues/git-issue-2792.dfy.expect b/Test/git-issues/git-issue-2792.dfy.expect index c1e603c58fe..ca1683c3020 100644 --- a/Test/git-issues/git-issue-2792.dfy.expect +++ b/Test/git-issues/git-issue-2792.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors [] Wrapper2.Wrapper2([], 2792) diff --git a/Test/git-issues/git-issue-283.dfy b/Test/git-issues/git-issue-283.dfy index c7c10f4aea3..1ca6d48d32c 100644 --- a/Test/git-issues/git-issue-283.dfy +++ b/Test/git-issues/git-issue-283.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Result = | Success(value: T) diff --git a/Test/git-issues/git-issue-283.dfy.expect b/Test/git-issues/git-issue-283.dfy.expect index 2adb114b8a0..a965a70ed4e 100644 --- a/Test/git-issues/git-issue-283.dfy.expect +++ b/Test/git-issues/git-issue-283.dfy.expect @@ -1,14 +1 @@ - -Dafny program verifier finished with 9 verified, 0 errors - -Dafny program verifier did not attempt verification -Done - -Dafny program verifier did not attempt verification -Done - -Dafny program verifier did not attempt verification -Done - -Dafny program verifier did not attempt verification Done diff --git a/Test/git-issues/git-issue-283d.dfy b/Test/git-issues/git-issue-283d.dfy index 54ee58fb456..46c1056d5e1 100644 --- a/Test/git-issues/git-issue-283d.dfy +++ b/Test/git-issues/git-issue-283d.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Foo = R(v: int) diff --git a/Test/git-issues/git-issue-283d.dfy.expect b/Test/git-issues/git-issue-283d.dfy.expect index 8da23be5c8c..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-283d.dfy.expect +++ b/Test/git-issues/git-issue-283d.dfy.expect @@ -1,10 +0,0 @@ - -Dafny program verifier finished with 4 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-314.dfy b/Test/git-issues/git-issue-314.dfy index 5e3e93ca654..a7fc06564a5 100644 --- a/Test/git-issues/git-issue-314.dfy +++ b/Test/git-issues/git-issue-314.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype S = S(G: array) datatype T = T(F: array, ghost Repr: set) diff --git a/Test/git-issues/git-issue-314.dfy.expect b/Test/git-issues/git-issue-314.dfy.expect index f02fc57989a..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-314.dfy.expect +++ b/Test/git-issues/git-issue-314.dfy.expect @@ -1,10 +0,0 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-332.dfy b/Test/git-issues/git-issue-332.dfy index ca2b08f3e8d..5166441405d 100644 --- a/Test/git-issues/git-issue-332.dfy +++ b/Test/git-issues/git-issue-332.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var foo := new B.Foo(15); diff --git a/Test/git-issues/git-issue-332.dfy.expect b/Test/git-issues/git-issue-332.dfy.expect index 57cad39addf..209e3ef4b62 100644 --- a/Test/git-issues/git-issue-332.dfy.expect +++ b/Test/git-issues/git-issue-332.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 6 verified, 0 errors 20 diff --git a/Test/git-issues/git-issue-354.dfy b/Test/git-issues/git-issue-354.dfy index 5938c2f71ae..c3d63021209 100644 --- a/Test/git-issues/git-issue-354.dfy +++ b/Test/git-issues/git-issue-354.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class C { static const u: X diff --git a/Test/git-issues/git-issue-354.dfy.expect b/Test/git-issues/git-issue-354.dfy.expect index cb5ae21dc46..4368562357f 100644 --- a/Test/git-issues/git-issue-354.dfy.expect +++ b/Test/git-issues/git-issue-354.dfy.expect @@ -1,25 +1,3 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification -0 -0 -0.0 -false - -Dafny program verifier did not attempt verification -0 -0 -0.0 -false - -Dafny program verifier did not attempt verification -0 -0 -0.0 -false - -Dafny program verifier did not attempt verification 0 0 0.0 diff --git a/Test/git-issues/git-issue-356.dfy b/Test/git-issues/git-issue-356.dfy index f5c34b0803b..2d497c0531c 100644 --- a/Test/git-issues/git-issue-356.dfy +++ b/Test/git-issues/git-issue-356.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false module M { type Tx = i: int | 0 <= i <= 100 diff --git a/Test/git-issues/git-issue-356.dfy.expect b/Test/git-issues/git-issue-356.dfy.expect index cff4ed233e1..9d984ec4ef4 100644 --- a/Test/git-issues/git-issue-356.dfy.expect +++ b/Test/git-issues/git-issue-356.dfy.expect @@ -1,39 +1,3 @@ - -Dafny program verifier finished with 25 verified, 0 errors - -Dafny program verifier did not attempt verification -a d 57005 * * -Z 90 90.0 90 90 -* 42 42.0 42 42 -F 70 70.0 70 70 -# 35 35.0 35 35 -END - -Dafny program verifier did not attempt verification -a d 57005 * * -Z 90 90.0 90 90 -* 42 42.0 42 42 -F 70 70.0 70 70 -# 35 35.0 35 35 -END - -Dafny program verifier did not attempt verification -a d 57005 * * -Z 90 90.0 90 90 -* 42 42.0 42 42 -F 70 70.0 70 70 -# 35 35.0 35 35 -END - -Dafny program verifier did not attempt verification -a d 57005 * * -Z 90 90.0 90 90 -* 42 42.0 42 42 -F 70 70.0 70 70 -# 35 35.0 35 35 -END - -Dafny program verifier did not attempt verification a d 57005 * * Z 90 90.0 90 90 * 42 42.0 42 42 diff --git a/Test/git-issues/git-issue-364.dfy b/Test/git-issues/git-issue-364.dfy index 0fdedc7d9c0..68c75931746 100644 --- a/Test/git-issues/git-issue-364.dfy +++ b/Test/git-issues/git-issue-364.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype NatOutcome = | Success(value: nat) diff --git a/Test/git-issues/git-issue-364.dfy.expect b/Test/git-issues/git-issue-364.dfy.expect index 1368349d437..38478c6c688 100644 --- a/Test/git-issues/git-issue-364.dfy.expect +++ b/Test/git-issues/git-issue-364.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 4 verified, 0 errors NatOutcome.Success(55) false 55 12 0 NatOutcome.Failure("it could be worse") true NatOutcome.Failure("it could be worse") diff --git a/Test/git-issues/git-issue-374.dfy b/Test/git-issues/git-issue-374.dfy index 4c031b7d3ff..15b56ec6396 100644 --- a/Test/git-issues/git-issue-374.dfy +++ b/Test/git-issues/git-issue-374.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class C { constructor(ghost x: int) diff --git a/Test/git-issues/git-issue-374.dfy.expect b/Test/git-issues/git-issue-374.dfy.expect index f02fc57989a..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-374.dfy.expect +++ b/Test/git-issues/git-issue-374.dfy.expect @@ -1,10 +0,0 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-396.dfy b/Test/git-issues/git-issue-396.dfy index 2ab68e51e12..7866d3d0498 100644 --- a/Test/git-issues/git-issue-396.dfy +++ b/Test/git-issues/git-issue-396.dfy @@ -1,8 +1,4 @@ -// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" -// RUN: %dafny /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Foo = Bar(value: int) diff --git a/Test/git-issues/git-issue-396.dfy.expect b/Test/git-issues/git-issue-396.dfy.expect index 3dd340d3178..dee79f10940 100644 --- a/Test/git-issues/git-issue-396.dfy.expect +++ b/Test/git-issues/git-issue-396.dfy.expect @@ -1,12 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors -114 - -Dafny program verifier finished with 1 verified, 0 errors -114 - -Dafny program verifier finished with 1 verified, 0 errors -114 - -Dafny program verifier finished with 1 verified, 0 errors 114 diff --git a/Test/git-issues/git-issue-4007.dfy b/Test/git-issues/git-issue-4007.dfy index e4c25b82bb8..5a279e7b8e6 100644 --- a/Test/git-issues/git-issue-4007.dfy +++ b/Test/git-issues/git-issue-4007.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:4 /compileTarget:py "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var a := 0; @@ -7,4 +6,4 @@ method Main() { a := a + 1; } print a, "\n"; -} \ No newline at end of file +} diff --git a/Test/git-issues/git-issue-4007.dfy.expect b/Test/git-issues/git-issue-4007.dfy.expect index 3ce6919d35b..00750edc07d 100644 --- a/Test/git-issues/git-issue-4007.dfy.expect +++ b/Test/git-issues/git-issue-4007.dfy.expect @@ -1,4 +1 @@ -git-issue-4007.dfy(6,20): Warning: /!\ No terms found to trigger on. - -Dafny program verifier finished with 1 verified, 0 errors 3 diff --git a/Test/git-issues/git-issue-4007.dfy.verifier.expect b/Test/git-issues/git-issue-4007.dfy.verifier.expect new file mode 100644 index 00000000000..1d4310d09b5 --- /dev/null +++ b/Test/git-issues/git-issue-4007.dfy.verifier.expect @@ -0,0 +1 @@ +git-issue-4007.dfy(5,20): Warning: /!\ No terms found to trigger on. diff --git a/Test/git-issues/git-issue-4012.dfy b/Test/git-issues/git-issue-4012.dfy index e065393a211..5360c0e935b 100644 --- a/Test/git-issues/git-issue-4012.dfy +++ b/Test/git-issues/git-issue-4012.dfy @@ -1,8 +1,7 @@ -// RUN: %dafny /compile:4 /compileTarget:py "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var x: multiset := multiset{}; x := x[1 := 18446744073709551616]; print |x|, "\n"; -} \ No newline at end of file +} diff --git a/Test/git-issues/git-issue-4012.dfy.expect b/Test/git-issues/git-issue-4012.dfy.expect index 230fbdbd384..ab69b99fab4 100644 --- a/Test/git-issues/git-issue-4012.dfy.expect +++ b/Test/git-issues/git-issue-4012.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors 18446744073709551616 diff --git a/Test/git-issues/git-issue-425.dfy b/Test/git-issues/git-issue-425.dfy index 4e555daaed0..122a10e4fbb 100644 --- a/Test/git-issues/git-issue-425.dfy +++ b/Test/git-issues/git-issue-425.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method M() returns (x: int, ghost y: int) { return 42, 43; diff --git a/Test/git-issues/git-issue-425.dfy.expect b/Test/git-issues/git-issue-425.dfy.expect index c2284013d9e..daaac9e3030 100644 --- a/Test/git-issues/git-issue-425.dfy.expect +++ b/Test/git-issues/git-issue-425.dfy.expect @@ -1,18 +1,2 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification -42 -42 - -Dafny program verifier did not attempt verification -42 -42 - -Dafny program verifier did not attempt verification -42 -42 - -Dafny program verifier did not attempt verification 42 42 diff --git a/Test/git-issues/git-issue-443.dfy b/Test/git-issues/git-issue-443.dfy index e8745b5ddda..6702e37484f 100644 --- a/Test/git-issues/git-issue-443.dfy +++ b/Test/git-issues/git-issue-443.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { print F(), " ", G(802.11), "\n"; // 12 15 diff --git a/Test/git-issues/git-issue-443.dfy.expect b/Test/git-issues/git-issue-443.dfy.expect index 10af01216da..0b64712fdcf 100644 --- a/Test/git-issues/git-issue-443.dfy.expect +++ b/Test/git-issues/git-issue-443.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors 12 15 diff --git a/Test/git-issues/git-issue-446.dfy b/Test/git-issues/git-issue-446.dfy index 0656587fd03..a66a9272d18 100644 --- a/Test/git-issues/git-issue-446.dfy +++ b/Test/git-issues/git-issue-446.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Result = Success(value: T) | Failure(error: string) { diff --git a/Test/git-issues/git-issue-446.dfy.expect b/Test/git-issues/git-issue-446.dfy.expect index 18195d22344..8165c2056d0 100644 --- a/Test/git-issues/git-issue-446.dfy.expect +++ b/Test/git-issues/git-issue-446.dfy.expect @@ -1,22 +1,3 @@ - -Dafny program verifier finished with 9 verified, 0 errors - -Dafny program verifier did not attempt verification -true -2 -true 42 -End - -Dafny program verifier did not attempt verification -true -2 -true 42 -End - -Dafny program verifier did not attempt verification -true -2 -true 42 -End - -Dafny program verifier did not attempt verification true -2 true 42 End diff --git a/Test/git-issues/git-issue-446a.dfy b/Test/git-issues/git-issue-446a.dfy index 41917680fee..2c559cea76d 100644 --- a/Test/git-issues/git-issue-446a.dfy +++ b/Test/git-issues/git-issue-446a.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Result = Success(value: T) | Failure(error: string) { diff --git a/Test/git-issues/git-issue-446a.dfy.expect b/Test/git-issues/git-issue-446a.dfy.expect index fbf9ee6f31d..9897e1c3f56 100644 --- a/Test/git-issues/git-issue-446a.dfy.expect +++ b/Test/git-issues/git-issue-446a.dfy.expect @@ -1,22 +1,3 @@ - -Dafny program verifier finished with 9 verified, 0 errors - -Dafny program verifier did not attempt verification -OK -true OK -true -2 End - -Dafny program verifier did not attempt verification -OK -true OK -true -2 End - -Dafny program verifier did not attempt verification -OK -true OK -true -2 End - -Dafny program verifier did not attempt verification OK true OK true -2 End diff --git a/Test/git-issues/git-issue-446b.dfy b/Test/git-issues/git-issue-446b.dfy index aa7ac30d9a7..79e55d9a1f8 100644 --- a/Test/git-issues/git-issue-446b.dfy +++ b/Test/git-issues/git-issue-446b.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Result = Success(value: T) | Failure(error: string) { diff --git a/Test/git-issues/git-issue-446b.dfy.expect b/Test/git-issues/git-issue-446b.dfy.expect index 0e99363fdb9..36fdd8ba47b 100644 --- a/Test/git-issues/git-issue-446b.dfy.expect +++ b/Test/git-issues/git-issue-446b.dfy.expect @@ -1,28 +1,3 @@ - -Dafny program verifier finished with 10 verified, 0 errors - -Dafny program verifier did not attempt verification -OK -true OK -true -2 -true 100 -End - -Dafny program verifier did not attempt verification -OK -true OK -true -2 -true 100 -End - -Dafny program verifier did not attempt verification -OK -true OK -true -2 -true 100 -End - -Dafny program verifier did not attempt verification OK true OK true -2 diff --git a/Test/git-issues/git-issue-478-good.dfy b/Test/git-issues/git-issue-478-good.dfy index b3fab26a312..9abce41e97c 100644 --- a/Test/git-issues/git-issue-478-good.dfy +++ b/Test/git-issues/git-issue-478-good.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // By first defining import LibA and then defining a module LibA, // the latter used to generate: diff --git a/Test/git-issues/git-issue-478-good.dfy.expect b/Test/git-issues/git-issue-478-good.dfy.expect index 17aea610943..6807b84eba5 100644 --- a/Test/git-issues/git-issue-478-good.dfy.expect +++ b/Test/git-issues/git-issue-478-good.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors hello hello hi diff --git a/Test/git-issues/git-issue-506.dfy b/Test/git-issues/git-issue-506.dfy index d25596621de..b2a409951a1 100644 --- a/Test/git-issues/git-issue-506.dfy +++ b/Test/git-issues/git-issue-506.dfy @@ -1,8 +1,4 @@ -// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" -// RUN: %dafny /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/git-issues/git-issue-506.dfy.expect b/Test/git-issues/git-issue-506.dfy.expect index e2bb6d644d9..ef2606ec5dc 100644 --- a/Test/git-issues/git-issue-506.dfy.expect +++ b/Test/git-issues/git-issue-506.dfy.expect @@ -1,29 +1,3 @@ - -Dafny program verifier finished with 2 verified, 0 errors -7 301 -8 391 -2 2 -4 5 -6 7 -2 3 7 0 - -Dafny program verifier finished with 2 verified, 0 errors -7 301 -8 391 -2 2 -4 5 -6 7 -2 3 7 0 - -Dafny program verifier finished with 2 verified, 0 errors -7 301 -8 391 -2 2 -4 5 -6 7 -2 3 7 0 - -Dafny program verifier finished with 2 verified, 0 errors 7 301 8 391 2 2 diff --git a/Test/git-issues/git-issue-532.dfy b/Test/git-issues/git-issue-532.dfy index 3d511dbb4c8..2a2b5aaaf2e 100644 --- a/Test/git-issues/git-issue-532.dfy +++ b/Test/git-issues/git-issue-532.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment predicate SuppressNoTriggerWarning(x: X) { true } diff --git a/Test/git-issues/git-issue-532.dfy.expect b/Test/git-issues/git-issue-532.dfy.expect index 1bd9e82cc5a..0f3ef3de427 100644 --- a/Test/git-issues/git-issue-532.dfy.expect +++ b/Test/git-issues/git-issue-532.dfy.expect @@ -1,22 +1,3 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification -t.x=5 The given Tr is a C, and c.y=6 -t.x=100 The given Tr is not a C -t.x=5 The given Tr is a C, and c.y=16 - -Dafny program verifier did not attempt verification -t.x=5 The given Tr is a C, and c.y=6 -t.x=100 The given Tr is not a C -t.x=5 The given Tr is a C, and c.y=16 - -Dafny program verifier did not attempt verification -t.x=5 The given Tr is a C, and c.y=6 -t.x=100 The given Tr is not a C -t.x=5 The given Tr is a C, and c.y=16 - -Dafny program verifier did not attempt verification t.x=5 The given Tr is a C, and c.y=6 t.x=100 The given Tr is not a C t.x=5 The given Tr is a C, and c.y=16 diff --git a/Test/git-issues/git-issue-549.dfy b/Test/git-issues/git-issue-549.dfy index 2e5ab322f23..d362a0bd039 100644 --- a/Test/git-issues/git-issue-549.dfy +++ b/Test/git-issues/git-issue-549.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait T { function bar(): bv8 diff --git a/Test/git-issues/git-issue-549.dfy.expect b/Test/git-issues/git-issue-549.dfy.expect index 3ae509fee5e..6e0790e778e 100644 --- a/Test/git-issues/git-issue-549.dfy.expect +++ b/Test/git-issues/git-issue-549.dfy.expect @@ -1,10 +1,2 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification -bar() = 1 -bar() = 1 - -Dafny program verifier did not attempt verification bar() = 1 bar() = 1 diff --git a/Test/git-issues/git-issue-622$f.dfy b/Test/git-issues/git-issue-622$f.dfy index fe4fdf38e03..2a7003e0f4e 100644 --- a/Test/git-issues/git-issue-622$f.dfy +++ b/Test/git-issues/git-issue-622$f.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /compileTarget:java /spillTargetCode:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method Main() { } diff --git a/Test/git-issues/git-issue-622$f.dfy.expect b/Test/git-issues/git-issue-622$f.dfy.expect index 012f5b99379..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-622$f.dfy.expect +++ b/Test/git-issues/git-issue-622$f.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/git-issues/git-issue-684.dfy b/Test/git-issues/git-issue-684.dfy index b1fbd7ab036..4c2b0a8fa02 100644 --- a/Test/git-issues/git-issue-684.dfy +++ b/Test/git-issues/git-issue-684.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Level1 = Level1(u:int) datatype Level2 = Level2(u:int, l:Level1) diff --git a/Test/git-issues/git-issue-684.dfy.expect b/Test/git-issues/git-issue-684.dfy.expect index 65d3b5d6635..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-684.dfy.expect +++ b/Test/git-issues/git-issue-684.dfy.expect @@ -1,10 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-686.dfy b/Test/git-issues/git-issue-686.dfy index bbc975200c8..9845ce2b027 100644 --- a/Test/git-issues/git-issue-686.dfy +++ b/Test/git-issues/git-issue-686.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Color = Blue | Red diff --git a/Test/git-issues/git-issue-686.dfy.expect b/Test/git-issues/git-issue-686.dfy.expect index f30b0581688..c12f8e66df2 100644 --- a/Test/git-issues/git-issue-686.dfy.expect +++ b/Test/git-issues/git-issue-686.dfy.expect @@ -1,24 +1 @@ -git-issue-686.dfy(13,2): Warning: this branch is redundant -git-issue-686.dfy(21,2): Warning: this branch is redundant - -Dafny program verifier finished with 1 verified, 0 errors -git-issue-686.dfy(13,2): Warning: this branch is redundant -git-issue-686.dfy(21,2): Warning: this branch is redundant - -Dafny program verifier did not attempt verification -6 0 -git-issue-686.dfy(13,2): Warning: this branch is redundant -git-issue-686.dfy(21,2): Warning: this branch is redundant - -Dafny program verifier did not attempt verification -6 0 -git-issue-686.dfy(13,2): Warning: this branch is redundant -git-issue-686.dfy(21,2): Warning: this branch is redundant - -Dafny program verifier did not attempt verification -6 0 -git-issue-686.dfy(13,2): Warning: this branch is redundant -git-issue-686.dfy(21,2): Warning: this branch is redundant - -Dafny program verifier did not attempt verification 6 0 diff --git a/Test/git-issues/git-issue-686.dfy.verifier.expect b/Test/git-issues/git-issue-686.dfy.verifier.expect new file mode 100644 index 00000000000..805bd55730c --- /dev/null +++ b/Test/git-issues/git-issue-686.dfy.verifier.expect @@ -0,0 +1,2 @@ +git-issue-686.dfy(8,2): Warning: this branch is redundant +git-issue-686.dfy(16,2): Warning: this branch is redundant diff --git a/Test/git-issues/git-issue-697.dfy b/Test/git-issues/git-issue-697.dfy index 095c1a02399..23cce66dee7 100644 --- a/Test/git-issues/git-issue-697.dfy +++ b/Test/git-issues/git-issue-697.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Cell = Cell(x: int) type EvenCell = c: Cell | c.x % 2 == 0 witness Cell(0) diff --git a/Test/git-issues/git-issue-697.dfy.expect b/Test/git-issues/git-issue-697.dfy.expect index 188a72ebc36..f32a5804e29 100644 --- a/Test/git-issues/git-issue-697.dfy.expect +++ b/Test/git-issues/git-issue-697.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-697b.dfy b/Test/git-issues/git-issue-697b.dfy index cfdd3fd0821..cdb054d8d78 100644 --- a/Test/git-issues/git-issue-697b.dfy +++ b/Test/git-issues/git-issue-697b.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Cell = Cell(x: int) type EvenCell = c: Cell | c.x % 2 == 0 witness Cell(0) diff --git a/Test/git-issues/git-issue-697b.dfy.expect b/Test/git-issues/git-issue-697b.dfy.expect index b355409912b..9c777ac6a0f 100644 --- a/Test/git-issues/git-issue-697b.dfy.expect +++ b/Test/git-issues/git-issue-697b.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors false 2 diff --git a/Test/git-issues/git-issue-697d.dfy b/Test/git-issues/git-issue-697d.dfy index 71a262fc985..8b65c2da4f7 100644 --- a/Test/git-issues/git-issue-697d.dfy +++ b/Test/git-issues/git-issue-697d.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function nonGhostPredicate(x: int): bool { x % 2 == 0 diff --git a/Test/git-issues/git-issue-697d.dfy.expect b/Test/git-issues/git-issue-697d.dfy.expect index 48fb59aeae5..f32a5804e29 100644 --- a/Test/git-issues/git-issue-697d.dfy.expect +++ b/Test/git-issues/git-issue-697d.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 4 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-697e.dfy b/Test/git-issues/git-issue-697e.dfy index e4500bfab28..310851abf9a 100644 --- a/Test/git-issues/git-issue-697e.dfy +++ b/Test/git-issues/git-issue-697e.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Cell = Cell(x: int) type EvenCell = c: Cell | c.x % 2 == 0 witness Cell(0) diff --git a/Test/git-issues/git-issue-697e.dfy.expect b/Test/git-issues/git-issue-697e.dfy.expect index 00a51f822da..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-697e.dfy.expect +++ b/Test/git-issues/git-issue-697e.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 3 verified, 0 errors diff --git a/Test/git-issues/git-issue-697f.dfy b/Test/git-issues/git-issue-697f.dfy index 92d1cec2ed8..acb8810dfbf 100644 --- a/Test/git-issues/git-issue-697f.dfy +++ b/Test/git-issues/git-issue-697f.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment ghost function ghostPredicate(x: int): bool { x % 2 == 0 diff --git a/Test/git-issues/git-issue-697f.dfy.expect b/Test/git-issues/git-issue-697f.dfy.expect index 3e2cf8d0f69..b5754e20373 100644 --- a/Test/git-issues/git-issue-697f.dfy.expect +++ b/Test/git-issues/git-issue-697f.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 4 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-697g.dfy b/Test/git-issues/git-issue-697g.dfy index c3b7581ff61..7b30de7f3a0 100644 --- a/Test/git-issues/git-issue-697g.dfy +++ b/Test/git-issues/git-issue-697g.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function returnNat(c: nat): int { diff --git a/Test/git-issues/git-issue-697g.dfy.expect b/Test/git-issues/git-issue-697g.dfy.expect index d9157fa820a..f32a5804e29 100644 --- a/Test/git-issues/git-issue-697g.dfy.expect +++ b/Test/git-issues/git-issue-697g.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-698.dfy b/Test/git-issues/git-issue-698.dfy index b15295c9b46..7b7a9ca15b8 100644 --- a/Test/git-issues/git-issue-698.dfy +++ b/Test/git-issues/git-issue-698.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment type Small = x: int | 0 <= x < 100 && x != 3 diff --git a/Test/git-issues/git-issue-698.dfy.expect b/Test/git-issues/git-issue-698.dfy.expect index 7f965a65d2e..27ba77ddaf6 100644 --- a/Test/git-issues/git-issue-698.dfy.expect +++ b/Test/git-issues/git-issue-698.dfy.expect @@ -1,8 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification -true - -Dafny program verifier did not attempt verification true diff --git a/Test/git-issues/git-issue-698b.dfy b/Test/git-issues/git-issue-698b.dfy index 1d4a92456e6..dbdbc3b36d3 100644 --- a/Test/git-issues/git-issue-698b.dfy +++ b/Test/git-issues/git-issue-698b.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment type Small = x: int | 0 <= x < 100 && x != 3 @@ -13,4 +12,4 @@ method Main() { var b := !exists n: Small :: F(n) != 100; assert b; print b; -} \ No newline at end of file +} diff --git a/Test/git-issues/git-issue-698b.dfy.expect b/Test/git-issues/git-issue-698b.dfy.expect index 188a72ebc36..f32a5804e29 100644 --- a/Test/git-issues/git-issue-698b.dfy.expect +++ b/Test/git-issues/git-issue-698b.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-701.dfy b/Test/git-issues/git-issue-701.dfy index af19f0d89e2..38984df4ecf 100644 --- a/Test/git-issues/git-issue-701.dfy +++ b/Test/git-issues/git-issue-701.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var ca := new ClassA; diff --git a/Test/git-issues/git-issue-701.dfy.expect b/Test/git-issues/git-issue-701.dfy.expect index 4d20966e641..5198c09cbb1 100644 --- a/Test/git-issues/git-issue-701.dfy.expect +++ b/Test/git-issues/git-issue-701.dfy.expect @@ -1,22 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification -0 0 0 -[] [] [] -C.Nothing C.Nothing C.Nothing - -Dafny program verifier did not attempt verification -0 0 0 -[] [] [] -C.Nothing C.Nothing C.Nothing - -Dafny program verifier did not attempt verification -0 0 0 -[] [] [] -C.Nothing C.Nothing C.Nothing - -Dafny program verifier did not attempt verification 0 0 0 [] [] [] C.Nothing C.Nothing C.Nothing diff --git a/Test/git-issues/git-issue-705.dfy b/Test/git-issues/git-issue-705.dfy index d4b806800c2..9c36a336e8e 100644 --- a/Test/git-issues/git-issue-705.dfy +++ b/Test/git-issues/git-issue-705.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs /spillTargetCode:3 "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js /spillTargetCode:3 "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go /spillTargetCode:3 "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java /spillTargetCode:3 "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation datatype MyDataType = AAA { function toString(): int { 222 } diff --git a/Test/git-issues/git-issue-705.dfy.expect b/Test/git-issues/git-issue-705.dfy.expect index 02cf409667a..79a1eee7c74 100644 --- a/Test/git-issues/git-issue-705.dfy.expect +++ b/Test/git-issues/git-issue-705.dfy.expect @@ -1,14 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification -MyDataType.AAA 222 - -Dafny program verifier did not attempt verification -MyDataType.AAA 222 - -Dafny program verifier did not attempt verification -MyDataType.AAA 222 - -Dafny program verifier did not attempt verification MyDataType.AAA 222 diff --git a/Test/git-issues/git-issue-731.dfy b/Test/git-issues/git-issue-731.dfy index 05d02fea1af..348d40fecea 100644 --- a/Test/git-issues/git-issue-731.dfy +++ b/Test/git-issues/git-issue-731.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait Trait { const y: Y diff --git a/Test/git-issues/git-issue-731.dfy.expect b/Test/git-issues/git-issue-731.dfy.expect index 69b2e6af648..7554a44901e 100644 --- a/Test/git-issues/git-issue-731.dfy.expect +++ b/Test/git-issues/git-issue-731.dfy.expect @@ -1,18 +1,2 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification -0 0 0 42 -0 0 0 9 - -Dafny program verifier did not attempt verification -0 0 0 42 -0 0 0 9 - -Dafny program verifier did not attempt verification -0 0 0 42 -0 0 0 9 - -Dafny program verifier did not attempt verification 0 0 0 42 0 0 0 9 diff --git a/Test/git-issues/git-issue-731b.dfy b/Test/git-issues/git-issue-731b.dfy index a77dbd6323b..2a0507839a2 100644 --- a/Test/git-issues/git-issue-731b.dfy +++ b/Test/git-issues/git-issue-731b.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Testing issue#731 when the class in question has type parameters diff --git a/Test/git-issues/git-issue-731b.dfy.expect b/Test/git-issues/git-issue-731b.dfy.expect index 97e6c041920..dd3226d2b73 100644 --- a/Test/git-issues/git-issue-731b.dfy.expect +++ b/Test/git-issues/git-issue-731b.dfy.expect @@ -1,14 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification -0 42 - -Dafny program verifier did not attempt verification -0 42 - -Dafny program verifier did not attempt verification -0 42 - -Dafny program verifier did not attempt verification 0 42 diff --git a/Test/git-issues/git-issue-784.dfy b/Test/git-issues/git-issue-784.dfy index 78b83f01064..5f6cf59465c 100644 --- a/Test/git-issues/git-issue-784.dfy +++ b/Test/git-issues/git-issue-784.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype List = Nil | Cons(T, List) { function App(ys: List): List { diff --git a/Test/git-issues/git-issue-784.dfy.expect b/Test/git-issues/git-issue-784.dfy.expect index 8da23be5c8c..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-784.dfy.expect +++ b/Test/git-issues/git-issue-784.dfy.expect @@ -1,10 +0,0 @@ - -Dafny program verifier finished with 4 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-953.dfy b/Test/git-issues/git-issue-953.dfy index adebc946c35..9c14e6e4e98 100644 --- a/Test/git-issues/git-issue-953.dfy +++ b/Test/git-issues/git-issue-953.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module P { datatype T_ = T() // the underscore in this name once caused a problem in Java compilation diff --git a/Test/git-issues/git-issue-953.dfy.expect b/Test/git-issues/git-issue-953.dfy.expect index 8466ea62f3f..8eec6126a08 100644 --- a/Test/git-issues/git-issue-953.dfy.expect +++ b/Test/git-issues/git-issue-953.dfy.expect @@ -1,39 +1,3 @@ - -Dafny program verifier finished with 6 verified, 0 errors - -Dafny program verifier did not attempt verification -C1.T_.T -P.T_.T -OtherNamesWithSpecialCharacters?_.A?_.A?_ OtherNamesWithSpecialCharacters?_.B?_.B?_ -17 17 0 0 -C2.C.C(10, 11) -9 - -Dafny program verifier did not attempt verification -C1.T_.T -P.T_.T -OtherNamesWithSpecialCharacters?_.A?_.A?_ OtherNamesWithSpecialCharacters?_.B?_.B?_ -17 17 0 0 -C2.C.C(10, 11) -9 - -Dafny program verifier did not attempt verification -C1.T_.T -P.T_.T -OtherNamesWithSpecialCharacters?_.A?_.A?_ OtherNamesWithSpecialCharacters?_.B?_.B?_ -17 17 0 0 -C2.C.C(10, 11) -9 - -Dafny program verifier did not attempt verification -C1.T_.T -P.T_.T -OtherNamesWithSpecialCharacters?_.A?_.A?_ OtherNamesWithSpecialCharacters?_.B?_.B?_ -17 17 0 0 -C2.C.C(10, 11) -9 - -Dafny program verifier did not attempt verification C1.T_.T P.T_.T OtherNamesWithSpecialCharacters?_.A?_.A?_ OtherNamesWithSpecialCharacters?_.B?_.B?_ diff --git a/Test/git-issues/github-issue-3343.dfy b/Test/git-issues/github-issue-3343.dfy index 517a11d7fc1..d518b2a1a41 100644 --- a/Test/git-issues/github-issue-3343.dfy +++ b/Test/git-issues/github-issue-3343.dfy @@ -1,5 +1,4 @@ -// RUN: %baredafny run "%s" -t:java > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" method Bug() { var zero := 0; var a := new int[zero] []; diff --git a/Test/git-issues/github-issue-3343.dfy.expect b/Test/git-issues/github-issue-3343.dfy.expect index 823a60a105c..e69de29bb2d 100644 --- a/Test/git-issues/github-issue-3343.dfy.expect +++ b/Test/git-issues/github-issue-3343.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 1 verified, 0 errors diff --git a/Test/hofs/Compilation.dfy b/Test/hofs/Compilation.dfy index 99fd0a36506..7e9c674b495 100644 --- a/Test/hofs/Compilation.dfy +++ b/Test/hofs/Compilation.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class Ref { var val : A diff --git a/Test/hofs/Compilation.dfy.expect b/Test/hofs/Compilation.dfy.expect index 760fafc6189..6b7187d2557 100644 --- a/Test/hofs/Compilation.dfy.expect +++ b/Test/hofs/Compilation.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 2 verified, 0 errors 1 = 1 3 = 3 3 = 3 diff --git a/Test/hofs/Examples.dfy b/Test/hofs/Examples.dfy index cdf177c001f..bebda559221 100644 --- a/Test/hofs/Examples.dfy +++ b/Test/hofs/Examples.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function Apply(f: A ~> B, x: A): B reads f.reads(x) diff --git a/Test/hofs/Examples.dfy.expect b/Test/hofs/Examples.dfy.expect index 851aaf58286..e69de29bb2d 100644 --- a/Test/hofs/Examples.dfy.expect +++ b/Test/hofs/Examples.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 7 verified, 0 errors diff --git a/Test/hofs/Fold.dfy b/Test/hofs/Fold.dfy index 336f9121b52..96ddb01591f 100644 --- a/Test/hofs/Fold.dfy +++ b/Test/hofs/Fold.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype List = Nil | Cons(A,List) diff --git a/Test/hofs/Fold.dfy.expect b/Test/hofs/Fold.dfy.expect index 144ffab92db..3abcc310618 100644 --- a/Test/hofs/Fold.dfy.expect +++ b/Test/hofs/Fold.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors 3 = 3 diff --git a/Test/hofs/Renaming.dfy b/Test/hofs/Renaming.dfy index cf21fdba2f8..391c0e79ef6 100644 --- a/Test/hofs/Renaming.dfy +++ b/Test/hofs/Renaming.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function OnId(f : (bool -> bool) -> int) : int reads f.reads(x => x) diff --git a/Test/hofs/Renaming.dfy.expect b/Test/hofs/Renaming.dfy.expect index e2b6636dbe4..13a954d9043 100644 --- a/Test/hofs/Renaming.dfy.expect +++ b/Test/hofs/Renaming.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 4 verified, 0 errors 10 11 diff --git a/Test/hofs/Requires.dfy b/Test/hofs/Requires.dfy index de5944b6744..f5e51244184 100644 --- a/Test/hofs/Requires.dfy +++ b/Test/hofs/Requires.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/hofs/Requires.dfy.expect b/Test/hofs/Requires.dfy.expect index 1981561ca00..e69de29bb2d 100644 --- a/Test/hofs/Requires.dfy.expect +++ b/Test/hofs/Requires.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 10 verified, 0 errors diff --git a/Test/hofs/TreeMapSimple.dfy b/Test/hofs/TreeMapSimple.dfy index d93aea46403..b7baf6eb8d7 100644 --- a/Test/hofs/TreeMapSimple.dfy +++ b/Test/hofs/TreeMapSimple.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { TestY(); diff --git a/Test/hofs/TreeMapSimple.dfy.expect b/Test/hofs/TreeMapSimple.dfy.expect index 9224d605f7e..be0317f1016 100644 --- a/Test/hofs/TreeMapSimple.dfy.expect +++ b/Test/hofs/TreeMapSimple.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 11 verified, 0 errors Tree.Branch(100, List.Cons(Tree.Branch(50, List.Nil), List.Nil)) Tree.Branch(100, List.Cons(Tree.Branch(50, List.Nil), List.Nil)) diff --git a/Test/hofs/VectorUpdate.dfy b/Test/hofs/VectorUpdate.dfy index 848ed585ca6..70c0de3084e 100644 --- a/Test/hofs/VectorUpdate.dfy +++ b/Test/hofs/VectorUpdate.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // this is a rather verbose version of the VectorUpdate method method VectorUpdate(N: int, a : array, f : (int,A) ~> A) diff --git a/Test/hofs/VectorUpdate.dfy.expect b/Test/hofs/VectorUpdate.dfy.expect index b8fae39eab8..7645f125857 100644 --- a/Test/hofs/VectorUpdate.dfy.expect +++ b/Test/hofs/VectorUpdate.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 8 verified, 0 errors 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 100, 50, 33, 25, 20, 16, 14, 12, 11, 10 diff --git a/Test/hofs/WhileLoop.dfy b/Test/hofs/WhileLoop.dfy index 4af9fbd841b..914f47f4522 100644 --- a/Test/hofs/WhileLoop.dfy +++ b/Test/hofs/WhileLoop.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class Ref { var val: A diff --git a/Test/hofs/WhileLoop.dfy.expect b/Test/hofs/WhileLoop.dfy.expect index 234ac298c9b..83083b451e1 100644 --- a/Test/hofs/WhileLoop.dfy.expect +++ b/Test/hofs/WhileLoop.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 4 verified, 0 errors 22 22 22 diff --git a/Test/metatests/OutputEncoding.dfy b/Test/metatests/OutputEncoding.dfy index 68c390ac811..59fa53bf298 100644 --- a/Test/metatests/OutputEncoding.dfy +++ b/Test/metatests/OutputEncoding.dfy @@ -1,10 +1,4 @@ -// RUN: %baredafny verify %args "%s" > "%t" -// RUN: %baredafny run --no-verify --target=cs %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=js %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=go %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=py %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=java %args "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" method Main() { // This works fine in all languages because € is a single UTF-16 code unit. diff --git a/Test/metatests/OutputEncoding.dfy.expect b/Test/metatests/OutputEncoding.dfy.expect index a37241376f3..b25a57298f1 100644 --- a/Test/metatests/OutputEncoding.dfy.expect +++ b/Test/metatests/OutputEncoding.dfy.expect @@ -1,17 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification -Euro sign: € - -Dafny program verifier did not attempt verification -Euro sign: € - -Dafny program verifier did not attempt verification -Euro sign: € - -Dafny program verifier did not attempt verification -Euro sign: € - -Dafny program verifier did not attempt verification Euro sign: € diff --git a/Test/patterns/OrPatterns.dfy b/Test/patterns/OrPatterns.dfy index 4f2610c9379..6385bd55c93 100644 --- a/Test/patterns/OrPatterns.dfy +++ b/Test/patterns/OrPatterns.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /rprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Enum = One | Two | Three { predicate Even() { diff --git a/Test/patterns/OrPatterns.dfy.expect b/Test/patterns/OrPatterns.dfy.expect index a6fce7c4a13..d86bac9de59 100644 --- a/Test/patterns/OrPatterns.dfy.expect +++ b/Test/patterns/OrPatterns.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 11 verified, 0 errors OK diff --git a/Test/patterns/PatternMatching.dfy b/Test/patterns/PatternMatching.dfy index 477126c066a..e8a73b856e4 100644 --- a/Test/patterns/PatternMatching.dfy +++ b/Test/patterns/PatternMatching.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /* * This file contains a collection of tests for features modified or introduced in PR 458 @@ -222,4 +221,4 @@ method Main() { var r5 := MultipleNestedMatch(A(0), t4, bb); print "Testing MultipleNestedMatch: ", r0, r1, r2, r3, r4, r5, ", should return 012345\n"; -} \ No newline at end of file +} diff --git a/Test/patterns/PatternMatching.dfy.expect b/Test/patterns/PatternMatching.dfy.expect index 2970273cbfc..b4415971ca5 100644 --- a/Test/patterns/PatternMatching.dfy.expect +++ b/Test/patterns/PatternMatching.dfy.expect @@ -1,6 +1,3 @@ -PatternMatching.dfy(102,4): Warning: this branch is redundant - -Dafny program verifier finished with 9 verified, 0 errors NestingTest([6]) = 6, should return 6 NestedVariableTest([2::3::4::5::6]) = 0, should return 0 ConstantTest([3::4::5::6]) = 2, should return 2 diff --git a/Test/patterns/PatternMatching.dfy.verifier.expect b/Test/patterns/PatternMatching.dfy.verifier.expect new file mode 100644 index 00000000000..b486aadfb80 --- /dev/null +++ b/Test/patterns/PatternMatching.dfy.verifier.expect @@ -0,0 +1 @@ +PatternMatching.dfy(101,4): Warning: this branch is redundant diff --git a/Test/traits/TraitCompile.dfy b/Test/traits/TraitCompile.dfy index 03cf3746c6f..6e9b925fbc5 100644 --- a/Test/traits/TraitCompile.dfy +++ b/Test/traits/TraitCompile.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait TT { @@ -820,4 +814,4 @@ module RedeclaringMembers { true } } -} \ No newline at end of file +} diff --git a/Test/traits/TraitCompile.dfy.expect b/Test/traits/TraitCompile.dfy.expect index 8257b754de2..b70a9b09d2e 100644 --- a/Test/traits/TraitCompile.dfy.expect +++ b/Test/traits/TraitCompile.dfy.expect @@ -1,259 +1,3 @@ - -Dafny program verifier finished with 75 verified, 0 errors - -Dafny program verifier did not attempt verification -y=120 -x=12 -d=800 -a5=407 -t=1212 -z=30 -z'=30 -w=30 -d=1000 -a5=507 -t=1512 -t=1512 -t=1515 -This is OtherModule.P(7.0) -From OtherModule.Y: 7 and true -This is OtherModule.P(7.0) -From OtherModule.X: 7 and true -c.f= 15 j.f= 15 -c.f= 18 j.f= 18 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -x=126 -5.2 9 false -true true true true -false false false false -true true true true -false false false false -5.2 5.2 -1.2 1.2 -1.2 1.2 -15 30 -15 30 -15 30 -0 (0, 0) 0 -8 -0 0 0 0 0 0 0 0 0 0 0 0 -13 13 13 13 13 13 13 13 13 13 13 13 -14 14 14 14 14 14 14 14 14 14 14 14 -15 15 15 15 15 15 15 15 15 15 15 15 -16 16 16 16 16 16 16 16 16 16 16 16 -17 17 17 17 17 17 17 17 17 17 17 17 -18 18 18 18 18 18 18 18 18 18 18 18 -19 19 19 19 19 19 19 19 19 19 19 19 -20 20 20 20 20 20 20 20 20 20 20 20 -21 21 21 21 21 21 21 21 21 21 21 21 -22 22 22 22 22 22 22 22 22 22 22 22 -23 23 23 23 23 23 23 23 23 23 23 23 -24 24 24 24 24 24 24 24 24 24 24 24 -f(4) = 7 -f(4) = 7 -g(4) = 7 -g(4) = 7 -41 15 26 -true true -true true -true true -true true -true true true -true true true - -Dafny program verifier did not attempt verification -y=120 -x=12 -d=800 -a5=407 -t=1212 -z=30 -z'=30 -w=30 -d=1000 -a5=507 -t=1512 -t=1512 -t=1515 -This is OtherModule.P(7.0) -From OtherModule.Y: 7 and true -This is OtherModule.P(7.0) -From OtherModule.X: 7 and true -c.f= 15 j.f= 15 -c.f= 18 j.f= 18 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -x=126 -5.2 9 false -true true true true -false false false false -true true true true -false false false false -5.2 5.2 -1.2 1.2 -1.2 1.2 -15 30 -15 30 -15 30 -0 (0, 0) 0 -8 -0 0 0 0 0 0 0 0 0 0 0 0 -13 13 13 13 13 13 13 13 13 13 13 13 -14 14 14 14 14 14 14 14 14 14 14 14 -15 15 15 15 15 15 15 15 15 15 15 15 -16 16 16 16 16 16 16 16 16 16 16 16 -17 17 17 17 17 17 17 17 17 17 17 17 -18 18 18 18 18 18 18 18 18 18 18 18 -19 19 19 19 19 19 19 19 19 19 19 19 -20 20 20 20 20 20 20 20 20 20 20 20 -21 21 21 21 21 21 21 21 21 21 21 21 -22 22 22 22 22 22 22 22 22 22 22 22 -23 23 23 23 23 23 23 23 23 23 23 23 -24 24 24 24 24 24 24 24 24 24 24 24 -f(4) = 7 -f(4) = 7 -g(4) = 7 -g(4) = 7 -41 15 26 -true true -true true -true true -true true -true true true -true true true - -Dafny program verifier did not attempt verification -y=120 -x=12 -d=800 -a5=407 -t=1212 -z=30 -z'=30 -w=30 -d=1000 -a5=507 -t=1512 -t=1512 -t=1515 -This is OtherModule.P(7.0) -From OtherModule.Y: 7 and true -This is OtherModule.P(7.0) -From OtherModule.X: 7 and true -c.f= 15 j.f= 15 -c.f= 18 j.f= 18 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -x=126 -5.2 9 false -true true true true -false false false false -true true true true -false false false false -5.2 5.2 -1.2 1.2 -1.2 1.2 -15 30 -15 30 -15 30 -0 (0, 0) 0 -8 -0 0 0 0 0 0 0 0 0 0 0 0 -13 13 13 13 13 13 13 13 13 13 13 13 -14 14 14 14 14 14 14 14 14 14 14 14 -15 15 15 15 15 15 15 15 15 15 15 15 -16 16 16 16 16 16 16 16 16 16 16 16 -17 17 17 17 17 17 17 17 17 17 17 17 -18 18 18 18 18 18 18 18 18 18 18 18 -19 19 19 19 19 19 19 19 19 19 19 19 -20 20 20 20 20 20 20 20 20 20 20 20 -21 21 21 21 21 21 21 21 21 21 21 21 -22 22 22 22 22 22 22 22 22 22 22 22 -23 23 23 23 23 23 23 23 23 23 23 23 -24 24 24 24 24 24 24 24 24 24 24 24 -f(4) = 7 -f(4) = 7 -g(4) = 7 -g(4) = 7 -41 15 26 -true true -true true -true true -true true -true true true -true true true - -Dafny program verifier did not attempt verification -y=120 -x=12 -d=800 -a5=407 -t=1212 -z=30 -z'=30 -w=30 -d=1000 -a5=507 -t=1512 -t=1512 -t=1515 -This is OtherModule.P(7.0) -From OtherModule.Y: 7 and true -This is OtherModule.P(7.0) -From OtherModule.X: 7 and true -c.f= 15 j.f= 15 -c.f= 18 j.f= 18 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -x=126 -5.2 9 false -true true true true -false false false false -true true true true -false false false false -5.2 5.2 -1.2 1.2 -1.2 1.2 -15 30 -15 30 -15 30 -0 (0, 0) 0 -8 -0 0 0 0 0 0 0 0 0 0 0 0 -13 13 13 13 13 13 13 13 13 13 13 13 -14 14 14 14 14 14 14 14 14 14 14 14 -15 15 15 15 15 15 15 15 15 15 15 15 -16 16 16 16 16 16 16 16 16 16 16 16 -17 17 17 17 17 17 17 17 17 17 17 17 -18 18 18 18 18 18 18 18 18 18 18 18 -19 19 19 19 19 19 19 19 19 19 19 19 -20 20 20 20 20 20 20 20 20 20 20 20 -21 21 21 21 21 21 21 21 21 21 21 21 -22 22 22 22 22 22 22 22 22 22 22 22 -23 23 23 23 23 23 23 23 23 23 23 23 -24 24 24 24 24 24 24 24 24 24 24 24 -f(4) = 7 -f(4) = 7 -g(4) = 7 -g(4) = 7 -41 15 26 -true true -true true -true true -true true -true true true -true true true - -Dafny program verifier did not attempt verification y=120 x=12 d=800 diff --git a/Test/traits/TraitExample.dfy b/Test/traits/TraitExample.dfy index d6afb4ce70b..54c5cbbec6f 100644 --- a/Test/traits/TraitExample.dfy +++ b/Test/traits/TraitExample.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait Automobile { ghost var Repr: set diff --git a/Test/traits/TraitExample.dfy.expect b/Test/traits/TraitExample.dfy.expect index c1b4ac93962..b9783e62141 100644 --- a/Test/traits/TraitExample.dfy.expect +++ b/Test/traits/TraitExample.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 29 verified, 0 errors Fiat: 6 Volvo: 20 Catacar: 26 diff --git a/Test/traits/Traits-Fields.dfy b/Test/traits/Traits-Fields.dfy index 2da609c33c8..6ae1aaab6d9 100644 --- a/Test/traits/Traits-Fields.dfy +++ b/Test/traits/Traits-Fields.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait J { diff --git a/Test/traits/Traits-Fields.dfy.expect b/Test/traits/Traits-Fields.dfy.expect index cc460fc52f4..c39bd8b5d5d 100644 --- a/Test/traits/Traits-Fields.dfy.expect +++ b/Test/traits/Traits-Fields.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 2 verified, 0 errors j.x = 9 c.x = 9 diff --git a/Test/traits/TraitsMultipleInheritance.dfy b/Test/traits/TraitsMultipleInheritance.dfy index 12590e47828..67fd8673488 100644 --- a/Test/traits/TraitsMultipleInheritance.dfy +++ b/Test/traits/TraitsMultipleInheritance.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait J1{ var x: int diff --git a/Test/traits/TraitsMultipleInheritance.dfy.expect b/Test/traits/TraitsMultipleInheritance.dfy.expect index ad1a1011a25..b116b2d070d 100644 --- a/Test/traits/TraitsMultipleInheritance.dfy.expect +++ b/Test/traits/TraitsMultipleInheritance.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 1 verified, 0 errors c.x + c.y = 30 j1.x + j2.y = 30 diff --git a/Test/unicodechars/comp/Collections.dfy b/Test/unicodechars/comp/Collections.dfy index fb3e451eb83..14d241ed5ab 100644 --- a/Test/unicodechars/comp/Collections.dfy +++ b/Test/unicodechars/comp/Collections.dfy @@ -1,8 +1,3 @@ -// RUN: %dafny /compile:0 /verifyAllModules /unicodeChar:1 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:true --verify-included-files include "../../comp/Collections.dfy" diff --git a/Test/unicodechars/comp/Collections.dfy.expect b/Test/unicodechars/comp/Collections.dfy.expect index 70586502b0d..89f08b08d75 100644 --- a/Test/unicodechars/comp/Collections.dfy.expect +++ b/Test/unicodechars/comp/Collections.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 40 verified, 0 errors - -Dafny program verifier did not attempt verification Sets: {} {17, 82} {12, 17} cardinality: 0 2 2 union: {17, 82} {12, 17, 82} @@ -127,511 +123,3 @@ Multiset=== 1 3 |s|=2 |u|=4 1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Yellow := 21, Color.Blue := 30] -keys: {Color.Yellow, Color.Blue} -values: {21, 30} -items: {(Color.Yellow, 21), (Color.Blue, 30)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {21, 30} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.go.expect b/Test/unicodechars/comp/Collections.dfy.go.expect new file mode 100644 index 00000000000..2fc0f3b7093 --- /dev/null +++ b/Test/unicodechars/comp/Collections.dfy.go.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.java.expect b/Test/unicodechars/comp/Collections.dfy.java.expect new file mode 100644 index 00000000000..39975cadfc4 --- /dev/null +++ b/Test/unicodechars/comp/Collections.dfy.java.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Yellow := 21, Color.Blue := 30] +keys: {Color.Yellow, Color.Blue} +values: {21, 30} +items: {(Color.Yellow, 21), (Color.Blue, 30)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.js.expect b/Test/unicodechars/comp/Collections.dfy.js.expect new file mode 100644 index 00000000000..2fc0f3b7093 --- /dev/null +++ b/Test/unicodechars/comp/Collections.dfy.js.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.py.expect b/Test/unicodechars/comp/Collections.dfy.py.expect new file mode 100644 index 00000000000..e4e346dede0 --- /dev/null +++ b/Test/unicodechars/comp/Collections.dfy.py.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {21, 30} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/unicodechars/comp/Comprehensions.dfy b/Test/unicodechars/comp/Comprehensions.dfy index 274f8d3a150..8bd5f67525e 100644 --- a/Test/unicodechars/comp/Comprehensions.dfy +++ b/Test/unicodechars/comp/Comprehensions.dfy @@ -1,8 +1,3 @@ -// RUN: %dafny /compile:0 /unicodeChar:1 /verifyAllModules "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" -include "../../comp/Comprehensions.dfy" \ No newline at end of file +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:true --verify-included-files +include "../../comp/Comprehensions.dfy" diff --git a/Test/unicodechars/comp/Comprehensions.dfy.expect b/Test/unicodechars/comp/Comprehensions.dfy.expect index 18159ddde0a..c9703fc9397 100644 --- a/Test/unicodechars/comp/Comprehensions.dfy.expect +++ b/Test/unicodechars/comp/Comprehensions.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 32 verified, 0 errors - -Dafny program verifier did not attempt verification x=13 y=14 x=13 y=14 b=yes true false @@ -64,259 +60,3 @@ true true [137438953474, 137438953475, 137438953476, 137438953477, 137438953479] cdefh cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[14 := 7, 12 := 6, 13 := 6] -map[18 := 14, 17 := 13, 16 := 12] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh diff --git a/Test/unicodechars/comp/Comprehensions.dfy.py.expect b/Test/unicodechars/comp/Comprehensions.dfy.py.expect new file mode 100644 index 00000000000..aeaa31fc0f3 --- /dev/null +++ b/Test/unicodechars/comp/Comprehensions.dfy.py.expect @@ -0,0 +1,62 @@ +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[14 := 7, 12 := 6, 13 := 6] +map[18 := 14, 17 := 13, 16 := 12] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh diff --git a/Test/unicodechars/comp/NativeNumbers.dfy b/Test/unicodechars/comp/NativeNumbers.dfy index 764b4b3b384..20cdb1e214f 100644 --- a/Test/unicodechars/comp/NativeNumbers.dfy +++ b/Test/unicodechars/comp/NativeNumbers.dfy @@ -1,9 +1,4 @@ +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:true --verify-included-files // Skip JavaScript because JavaScript doesn't have the same native types -// RUN: %dafny /compile:0 /verifyAllModules /unicodeChar:1 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" -include "../../comp/NativeNumbers.dfy" \ No newline at end of file +include "../../comp/NativeNumbers.dfy" diff --git a/Test/unicodechars/comp/NativeNumbers.dfy.expect b/Test/unicodechars/comp/NativeNumbers.dfy.expect index b0fc6754f84..354d931a151 100644 --- a/Test/unicodechars/comp/NativeNumbers.dfy.expect +++ b/Test/unicodechars/comp/NativeNumbers.dfy.expect @@ -1,259 +1,3 @@ - -Dafny program verifier finished with 25 verified, 0 errors - -Dafny program verifier did not attempt verification -Casting: - -Small numbers: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 -5 5 5 5 5 5 5 5 5 -6 6 6 6 6 6 6 6 6 -7 7 7 7 7 7 7 7 7 -8 8 8 8 8 8 8 8 8 - -Large unsigned numbers: -255 255 255 255 255 255 255 255 -65535 65535 65535 65535 65535 65535 -4294967295 4294967295 4294967295 4294967295 -18446744073709551615 18446744073709551615 - -Int to large unsigned: -255 65535 4294967295 18446744073709551615 - -Cast from cardinality operator: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 - -Characters: -'C' 67 67 67 67 67 67 67 67 67 -0 127 32767 65535 65535 255 65535 65535 65535 - -Defaults: - -0 0 0 0 0 0 0 0 0 - -Byte arithmetic: - -20 30 -10 10 18 - -Short arithmetic: - -20 30 -10 10 18 - -Bitvectors: - -0 3 4 1 - -Comparison to zero: - -int8: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int16: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int32: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int64: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint8: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint16: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint32: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint64: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N - - -Dafny program verifier did not attempt verification -Casting: - -Small numbers: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 -5 5 5 5 5 5 5 5 5 -6 6 6 6 6 6 6 6 6 -7 7 7 7 7 7 7 7 7 -8 8 8 8 8 8 8 8 8 - -Large unsigned numbers: -255 255 255 255 255 255 255 255 -65535 65535 65535 65535 65535 65535 -4294967295 4294967295 4294967295 4294967295 -18446744073709551615 18446744073709551615 - -Int to large unsigned: -255 65535 4294967295 18446744073709551615 - -Cast from cardinality operator: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 - -Characters: -'C' 67 67 67 67 67 67 67 67 67 -0 127 32767 65535 65535 255 65535 65535 65535 - -Defaults: - -0 0 0 0 0 0 0 0 0 - -Byte arithmetic: - -20 30 -10 10 18 - -Short arithmetic: - -20 30 -10 10 18 - -Bitvectors: - -0 3 4 1 - -Comparison to zero: - -int8: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int16: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int32: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int64: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint8: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint16: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint32: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint64: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N - - -Dafny program verifier did not attempt verification -Casting: - -Small numbers: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 -5 5 5 5 5 5 5 5 5 -6 6 6 6 6 6 6 6 6 -7 7 7 7 7 7 7 7 7 -8 8 8 8 8 8 8 8 8 - -Large unsigned numbers: -255 255 255 255 255 255 255 255 -65535 65535 65535 65535 65535 65535 -4294967295 4294967295 4294967295 4294967295 -18446744073709551615 18446744073709551615 - -Int to large unsigned: -255 65535 4294967295 18446744073709551615 - -Cast from cardinality operator: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 - -Characters: -'C' 67 67 67 67 67 67 67 67 67 -0 127 32767 65535 65535 255 65535 65535 65535 - -Defaults: - -0 0 0 0 0 0 0 0 0 - -Byte arithmetic: - -20 30 -10 10 18 - -Short arithmetic: - -20 30 -10 10 18 - -Bitvectors: - -0 3 4 1 - -Comparison to zero: - -int8: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int16: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int32: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int64: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint8: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint16: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint32: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint64: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N - - -Dafny program verifier did not attempt verification Casting: Small numbers: diff --git a/Test/unicodechars/comp/Numbers.dfy b/Test/unicodechars/comp/Numbers.dfy index 2c9170fe4d7..e5e36180234 100644 --- a/Test/unicodechars/comp/Numbers.dfy +++ b/Test/unicodechars/comp/Numbers.dfy @@ -1,8 +1,3 @@ -// RUN: %dafny /compile:0 /verifyAllModules /unicodeChar:1 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" -include "../../comp/Numbers.dfy" \ No newline at end of file +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:true --verify-included-files +include "../../comp/Numbers.dfy" diff --git a/Test/unicodechars/comp/Numbers.dfy.expect b/Test/unicodechars/comp/Numbers.dfy.expect index 6fa2f59f340..cce193e1cce 100644 --- a/Test/unicodechars/comp/Numbers.dfy.expect +++ b/Test/unicodechars/comp/Numbers.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 59 verified, 0 errors - -Dafny program verifier did not attempt verification 0 0 3 @@ -113,455 +109,3 @@ true false true false false true false true true false true false 20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -'g' 'Q' '2' -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -(312.0 / 40.0) (1248.0 / 40.0) -(-312.0 / 40.0) (-1248.0 / 40.0) -(-312.0 / 40.0) (1248.0 / 40.0) -(312.0 / 40.0) (-1248.0 / 40.0) -0.0 0.0 0.0 -120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) -123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 (8100.0 / 8100.0) -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -'g' 'Q' '2' -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -'g' 'Q' '2' -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -(312.0 / 40.0) (1248.0 / 40.0) -(-312.0 / 40.0) (-1248.0 / 40.0) -(-312.0 / 40.0) (1248.0 / 40.0) -(312.0 / 40.0) (-1248.0 / 40.0) -0.0 0.0 0.0 -120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) -123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 (8100.0 / 8100.0) -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -'g' 'Q' '2' -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 diff --git a/Test/unicodechars/comp/Numbers.dfy.go.expect b/Test/unicodechars/comp/Numbers.dfy.go.expect new file mode 100644 index 00000000000..95d8ac259c7 --- /dev/null +++ b/Test/unicodechars/comp/Numbers.dfy.go.expect @@ -0,0 +1,111 @@ +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +'g' 'Q' '2' +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 diff --git a/Test/unicodechars/comp/Numbers.dfy.py.expect b/Test/unicodechars/comp/Numbers.dfy.py.expect new file mode 100644 index 00000000000..95d8ac259c7 --- /dev/null +++ b/Test/unicodechars/comp/Numbers.dfy.py.expect @@ -0,0 +1,111 @@ +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +'g' 'Q' '2' +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 From 33e80b15a2fc4ce1d80aa557558c516a4b11420d Mon Sep 17 00:00:00 2001 From: Robin Salkeld Date: Tue, 13 Jun 2023 10:37:54 -0700 Subject: [PATCH 61/68] Revert "Convert all tests" This reverts commit bc5389861a2a4749ceb29f34757bee2791bd43d0. --- Test/VerifyThis2015/Problem1.dfy | 3 +- Test/VerifyThis2015/Problem1.dfy.expect | 2 + Test/VerifyThis2015/Problem2.dfy | 3 +- Test/VerifyThis2015/Problem2.dfy.expect | 2 + Test/VerifyThis2015/Problem3.dfy | 3 +- Test/VerifyThis2015/Problem3.dfy.expect | 2 + Test/c++/arrays.dfy | 3 +- Test/c++/arrays.dfy.expect | 2 + Test/c++/bit-vectors.dfy | 3 +- Test/c++/bit-vectors.dfy.expect | 2 + Test/c++/class.dfy | 3 +- Test/c++/class.dfy.expect | 2 + Test/c++/const.dfy | 3 +- Test/c++/const.dfy.expect | 2 + Test/c++/datatypes.dfy | 3 +- Test/c++/datatypes.dfy.expect | 2 + Test/c++/generic.dfy | 3 +- Test/c++/generic.dfy.expect | 2 + Test/c++/hello.dfy | 3 +- Test/c++/hello.dfy.expect | 2 + Test/c++/ints.dfy | 3 +- Test/c++/ints.dfy.expect | 2 + Test/c++/recursion.dfy | 3 +- Test/c++/recursion.dfy.expect | 2 + Test/c++/returns.dfy | 3 +- Test/c++/returns.dfy.expect | 2 + Test/c++/seqs.dfy | 3 +- Test/c++/seqs.dfy.expect | 2 + Test/c++/sets.dfy | 3 +- Test/c++/sets.dfy.expect | 2 + Test/c++/while.dfy | 3 +- Test/c++/while.dfy.expect | 2 + Test/comp/Arrays.dfy | 9 +- Test/comp/Arrays.dfy.expect | 396 ++++++++++++ Test/comp/Arrays.dfy.go.expect | 96 --- Test/comp/AsIs-Compile.dfy | 8 +- Test/comp/AsIs-Compile.dfy.expect | 160 +++++ Test/comp/AutoInit.dfy | 8 +- Test/comp/AutoInit.dfy.expect | 160 +++++ Test/comp/ByMethodCompilation.dfy | 8 +- Test/comp/ByMethodCompilation.dfy.expect | 32 + Test/comp/Calls.dfy | 8 +- Test/comp/Calls.dfy.expect | 40 ++ Test/comp/Class.dfy | 8 +- Test/comp/Class.dfy.expect | 72 +++ Test/comp/Collections.dfy | 9 +- Test/comp/Collections.dfy.expect | 512 ++++++++++++++++ Test/comp/Collections.dfy.go.expect | 125 ---- Test/comp/Collections.dfy.java.expect | 125 ---- Test/comp/Collections.dfy.js.expect | 125 ---- Test/comp/Collections.dfy.py.expect | 125 ---- Test/comp/Comprehensions.dfy | 9 +- Test/comp/Comprehensions.dfy.expect | 260 ++++++++ Test/comp/Comprehensions.dfy.py.expect | 62 -- Test/comp/ComprehensionsNewSyntax.dfy | 9 +- Test/comp/ComprehensionsNewSyntax.dfy.expect | 148 +++++ .../ComprehensionsNewSyntax.dfy.py.expect | 34 -- Test/comp/CovariantCollections.dfy | 8 +- Test/comp/CovariantCollections.dfy.expect | 220 +++++++ Test/comp/Datatype.dfy | 9 +- Test/comp/Datatype.dfy.expect | 100 +++ Test/comp/Datatype.dfy.java.expect | 22 - Test/comp/Datatype.dfy.py.expect | 22 - Test/comp/DefaultParameters-Compile.dfy | 8 +- .../comp/DefaultParameters-Compile.dfy.expect | 48 ++ Test/comp/DowncastClone.dfy | 8 +- Test/comp/DowncastClone.dfy.expect | 40 ++ Test/comp/ErasableTypeWrappers.dfy | 8 +- Test/comp/ErasableTypeWrappers.dfy.expect | 84 +++ Test/comp/EuclideanDivision.dfy | 8 +- Test/comp/EuclideanDivision.dfy.expect | 36 ++ Test/comp/ForLoops-Compilation.dfy | 8 +- Test/comp/ForLoops-Compilation.dfy.expect | 200 ++++++ Test/comp/ForallNewSyntax.dfy | 8 +- Test/comp/ForallNewSyntax.dfy.expect | 180 ++++++ Test/comp/Ghosts.dfy | 8 +- Test/comp/Ghosts.dfy.expect | 52 ++ Test/comp/Let.dfy | 7 +- Test/comp/Let.dfy.expect | 34 ++ Test/comp/MoreAutoInit.dfy | 8 +- Test/comp/MoreAutoInit.dfy.expect | 572 ++++++++++++++++++ Test/comp/NativeNumbers.dfy | 7 +- Test/comp/NativeNumbers.dfy.expect | 256 ++++++++ Test/comp/NestedArrays.dfy | 7 +- Test/comp/NestedArrays.dfy.expect | 16 + Test/comp/Numbers.dfy | 9 +- Test/comp/Numbers.dfy.expect | 456 ++++++++++++++ Test/comp/Numbers.dfy.go.expect | 111 ---- Test/comp/Numbers.dfy.py.expect | 111 ---- Test/comp/Poly.dfy | 9 +- Test/comp/Poly.dfy.expect | 60 ++ Test/comp/Poly.dfy.go.expect | 12 - Test/comp/Poly.dfy.py.expect | 12 - Test/comp/StaticMembersOfGenericTypes.dfy | 8 +- .../StaticMembersOfGenericTypes.dfy.expect | 76 +++ Test/comp/TailRecursion.dfy | 8 +- Test/comp/TailRecursion.dfy.expect | 76 +++ Test/comp/TypeDescriptors.dfy | 8 +- Test/comp/TypeDescriptors.dfy.expect | 152 +++++ Test/comp/TypeParams.dfy | 11 +- Test/comp/TypeParams.dfy.expect | 88 +++ Test/comp/TypeParams.dfy.go.expect | 19 - Test/comp/TypeParams.dfy.java.expect | 19 - Test/comp/TypeParams.dfy.js.expect | 19 - Test/comp/TypeParams.dfy.py.expect | 19 - Test/comp/UnoptimizedErasableTypeWrappers.dfy | 8 +- ...UnoptimizedErasableTypeWrappers.dfy.expect | 28 + Test/comp/Variance.dfy | 8 +- Test/comp/Variance.dfy.expect | 64 ++ Test/comp/Various.dfy | 8 +- Test/comp/Various.dfy.expect | 40 ++ Test/comp/firstSteps/0_IKnowThisMuchIs.dfy | 4 +- .../firstSteps/0_IKnowThisMuchIs.dfy.expect | 4 + Test/comp/firstSteps/1_Calls-F.dfy | 4 +- Test/comp/firstSteps/1_Calls-F.dfy.expect | 4 + Test/comp/firstSteps/2_Modules.dfy | 4 +- Test/comp/firstSteps/2_Modules.dfy.expect | 4 + Test/comp/firstSteps/3_Calls-As.dfy | 4 +- Test/comp/firstSteps/3_Calls-As.dfy.expect | 4 + .../4_Calls-FunctionsValues-Class+NT.dfy | 4 +- ..._Calls-FunctionsValues-Class+NT.dfy.expect | 4 + .../firstSteps/5_Calls-FunctionsValues-Dt.dfy | 4 +- .../5_Calls-FunctionsValues-Dt.dfy.expect | 4 + .../firstSteps/6_Calls-VariableCapture.dfy | 4 +- .../6_Calls-VariableCapture.dfy.expect | 4 + Test/comp/firstSteps/7_Arrays.dfy | 4 +- Test/comp/firstSteps/7_Arrays.dfy.expect | 4 + Test/comp/firstSteps/7_Dt_Algebraic.dfy | 6 +- .../firstSteps/7_Dt_Algebraic.dfy.cs.expect | 11 - .../comp/firstSteps/7_Dt_Algebraic.dfy.expect | 17 + Test/dafny0/ArrayElementInitCompile.dfy | 8 +- .../dafny0/ArrayElementInitCompile.dfy.expect | 76 +++ Test/dafny0/Bitvectors.dfy | 5 +- Test/dafny0/Bitvectors.dfy.expect | 49 ++ Test/dafny0/Constant.dfy | 3 +- Test/dafny0/Constant.dfy.expect | 2 + Test/dafny0/Deprecation.dfy | 3 +- Test/dafny0/Deprecation.dfy.expect | 7 + Test/dafny0/Deprecation.dfy.verifier.expect | 5 - Test/dafny0/DiscoverBounds.dfy | 3 +- Test/dafny0/DiscoverBounds.dfy.expect | 7 + .../dafny0/DiscoverBounds.dfy.verifier.expect | 5 - Test/dafny0/DividedConstructors.dfy | 3 +- Test/dafny0/DividedConstructors.dfy.expect | 3 + .../DividedConstructors.dfy.verifier.expect | 1 - Test/dafny0/EqualityTypesCompile.dfy | 3 +- Test/dafny0/EqualityTypesCompile.dfy.expect | 2 + Test/dafny0/ForallCompilationNewSyntax.dfy | 3 +- .../ForallCompilationNewSyntax.dfy.expect | 6 + ...llCompilationNewSyntax.dfy.verifier.expect | 4 - Test/dafny0/GhostITECompilation.dfy | 8 +- Test/dafny0/GhostITECompilation.dfy.expect | 28 + Test/dafny0/InitialValues.dfy | 3 +- Test/dafny0/InitialValues.dfy.expect | 2 + Test/dafny0/MatchBraces.dfy | 5 +- Test/dafny0/MatchBraces.dfy.expect | 8 + Test/dafny0/MoForallCompilation.dfy | 3 +- Test/dafny0/MoForallCompilation.dfy.expect | 2 + Test/dafny0/NameclashesCompile.dfy | 3 +- Test/dafny0/NameclashesCompile.dfy.expect | 2 + Test/dafny0/NonZeroInitializationCompile.dfy | 7 +- .../NonZeroInitializationCompile.dfy.expect | 73 +++ Test/dafny0/NullComparisonWarnings.dfy | 3 +- Test/dafny0/NullComparisonWarnings.dfy.expect | 13 + ...NullComparisonWarnings.dfy.verifier.expect | 11 - Test/dafny0/PrintUTF8.dfy | 3 +- Test/dafny0/PrintUTF8.dfy.expect | 2 + Test/dafny0/RangeCompilation.dfy | 3 +- Test/dafny0/RangeCompilation.dfy.expect | 2 + Test/dafny0/SeqFromArray.dfy | 3 +- Test/dafny0/SeqFromArray.dfy.expect | 2 + Test/dafny0/SharedDestructorsCompile.dfy | 5 +- .../SharedDestructorsCompile.dfy.expect | 17 + Test/dafny0/SiblingImports.dfy | 3 +- Test/dafny0/SiblingImports.dfy.expect | 2 + Test/dafny0/TypeConversionsCompile.dfy | 3 +- Test/dafny0/TypeConversionsCompile.dfy.expect | 2 + Test/dafny0/TypeMembers.dfy | 5 +- Test/dafny0/TypeMembers.dfy.expect | 29 + Test/dafny0/TypeMembers.dfy.verifier.expect | 1 - Test/dafny0/Wellfounded.dfy | 3 +- Test/dafny0/Wellfounded.dfy.expect | 4 + Test/dafny0/Wellfounded.dfy.verifier.expect | 2 - Test/dafny2/MinWindowMax.dfy | 3 +- Test/dafny2/MinWindowMax.dfy.expect | 2 + .../SmallestMissingNumber-functional.dfy | 3 +- ...mallestMissingNumber-functional.dfy.expect | 3 + ...ssingNumber-functional.dfy.verifier.expect | 1 - .../SmallestMissingNumber-imperative.dfy | 3 +- ...mallestMissingNumber-imperative.dfy.expect | 2 + Test/dafny2/StoreAndRetrieve.dfy | 7 +- Test/dafny2/StoreAndRetrieve.dfy.expect | 38 ++ .../StoreAndRetrieve.dfy.verifier.expect | 5 - Test/dafny2/pq-intrinsic-extrinsic.dfy | 5 +- Test/dafny2/pq-intrinsic-extrinsic.dfy.expect | 11 + Test/dafny3/Abstemious.dfy | 3 +- Test/dafny3/Abstemious.dfy.expect | 2 + Test/dafny3/CachedContainer.dfy | 7 +- Test/dafny3/CachedContainer.dfy.expect | 78 +++ .../CachedContainer.dfy.verifier.expect | 13 - Test/dafny3/Iter.dfy | 3 +- Test/dafny3/Iter.dfy.expect | 2 + Test/dafny4/Ackermann.dfy | 3 +- Test/dafny4/Ackermann.dfy.expect | 4 + Test/dafny4/Ackermann.dfy.verifier.expect | 2 - Test/dafny4/Bug107.dfy | 3 +- Test/dafny4/Bug107.dfy.expect | 2 + Test/dafny4/Bug108.dfy | 3 +- Test/dafny4/Bug108.dfy.expect | 2 + Test/dafny4/Bug113.dfy | 5 +- Test/dafny4/Bug113.dfy.expect | 2 + Test/dafny4/Bug140.dfy | 3 +- Test/dafny4/Bug140.dfy.expect | 2 + Test/dafny4/Bug148.dfy | 3 +- Test/dafny4/Bug148.dfy.expect | 2 + Test/dafny4/Bug49.dfy | 3 +- Test/dafny4/Bug49.dfy.expect | 2 + Test/dafny4/Bug60.dfy | 3 +- Test/dafny4/Bug60.dfy.expect | 2 + Test/dafny4/Bug67.dfy | 5 +- Test/dafny4/Bug67.dfy.expect | 2 + Test/dafny4/Bug68.dfy | 5 +- Test/dafny4/Bug68.dfy.expect | 2 + Test/dafny4/Bug89.dfy | 3 +- Test/dafny4/Bug89.dfy.expect | 2 + Test/dafny4/Bug94.dfy | 3 +- Test/dafny4/Bug94.dfy.expect | 2 + Test/dafny4/ClassRefinement.dfy | 7 +- Test/dafny4/ClassRefinement.dfy.expect | 43 ++ .../ClassRefinement.dfy.verifier.expect | 6 - Test/dafny4/ExpandedGuardedness.dfy | 3 +- Test/dafny4/ExpandedGuardedness.dfy.expect | 2 + Test/dafny4/FlyingRobots.dfy | 3 +- Test/dafny4/FlyingRobots.dfy.expect | 2 + Test/dafny4/Leq.dfy | 3 +- Test/dafny4/Leq.dfy.expect | 2 + Test/dafny4/McCarthy91.dfy | 3 +- Test/dafny4/McCarthy91.dfy.expect | 2 + Test/dafny4/NatList.dfy | 3 +- Test/dafny4/NatList.dfy.expect | 2 + Test/dafny4/Regression2.dfy | 3 +- Test/dafny4/Regression2.dfy.expect | 2 + Test/dafny4/Regression3.dfy | 3 +- Test/dafny4/Regression3.dfy.expect | 2 + Test/dafny4/Regression4.dfy | 3 +- Test/dafny4/Regression4.dfy.expect | 2 + Test/dafny4/Regression6.dfy | 3 +- Test/dafny4/Regression6.dfy.expect | 2 + Test/dafny4/Regression7.dfy | 3 +- Test/dafny4/Regression7.dfy.expect | 2 + Test/dafny4/Regression9.dfy | 3 +- Test/dafny4/Regression9.dfy.expect | 2 + Test/dafny4/UnionFind.dfy | 3 +- Test/dafny4/UnionFind.dfy.expect | 2 + Test/dafny4/gcd.dfy | 7 +- Test/dafny4/gcd.dfy.expect | 31 + Test/dafny4/git-issue104.dfy | 8 +- Test/dafny4/git-issue104.dfy.expect | 16 + Test/dafny4/git-issue105.dfy | 3 +- Test/dafny4/git-issue105.dfy.expect | 2 + Test/dafny4/git-issue15.dfy | 3 +- Test/dafny4/git-issue15.dfy.expect | 2 + Test/dafny4/git-issue195.dfy | 3 +- Test/dafny4/git-issue195.dfy.expect | 2 + Test/dafny4/git-issue196.dfy | 3 +- Test/dafny4/git-issue196.dfy.expect | 2 + Test/dafny4/git-issue4.dfy | 3 +- Test/dafny4/git-issue4.dfy.expect | 2 + Test/dafny4/git-issue43.dfy | 3 +- Test/dafny4/git-issue43.dfy.expect | 2 + Test/dafny4/git-issue76.dfy | 5 +- Test/dafny4/git-issue76.dfy.expect | 7 + Test/dafny4/git-issue79.dfy | 3 +- Test/dafny4/git-issue79.dfy.expect | 2 + Test/dafny4/git-issue88.dfy | 3 +- Test/dafny4/git-issue88.dfy.expect | 2 + Test/exceptions/Exceptions1.dfy | 3 +- Test/exceptions/Exceptions1.dfy.expect | 2 + Test/exceptions/Exceptions1Expressions.dfy | 3 +- .../Exceptions1Expressions.dfy.expect | 2 + Test/exports/FIFO.dfy | 3 +- Test/exports/FIFO.dfy.expect | 2 + Test/exports/LIFO.dfy | 3 +- Test/exports/LIFO.dfy.expect | 2 + Test/exports/xrefine2.dfy | 3 +- Test/exports/xrefine2.dfy.expect | 2 + Test/exports/xrefine3.dfy | 3 +- Test/exports/xrefine3.dfy.expect | 2 + Test/git-issues/git-issue-032.dfy | 7 +- Test/git-issues/git-issue-032.dfy.expect | 37 ++ .../git-issue-032.dfy.verifier.expect | 3 - Test/git-issues/git-issue-1029.dfy | 3 +- Test/git-issues/git-issue-1029.dfy.expect | 2 + Test/git-issues/git-issue-1093.dfy | 8 +- Test/git-issues/git-issue-1093.dfy.expect | 16 + Test/git-issues/git-issue-1130.dfy | 3 +- Test/git-issues/git-issue-1130.dfy.expect | 2 + Test/git-issues/git-issue-1150.dfy | 3 +- Test/git-issues/git-issue-1150.dfy.expect | 2 + Test/git-issues/git-issue-1185.dfy | 8 +- Test/git-issues/git-issue-1185.dfy.expect | 13 + .../git-issues/git-issue-1185.dfy.java.expect | 1 - Test/git-issues/git-issue-1514.dfy | 3 +- Test/git-issues/git-issue-1514.dfy.expect | 2 + Test/git-issues/git-issue-1514b.dfy | 3 +- Test/git-issues/git-issue-1514b.dfy.expect | 2 + Test/git-issues/git-issue-1514c.dfy | 5 +- Test/git-issues/git-issue-1514c.dfy.expect | 7 + Test/git-issues/git-issue-1553.dfy | 7 +- Test/git-issues/git-issue-1553.dfy.expect | 10 + Test/git-issues/git-issue-1604b.dfy | 3 +- Test/git-issues/git-issue-1604b.dfy.expect | 2 + Test/git-issues/git-issue-1714.dfy | 3 +- Test/git-issues/git-issue-1714.dfy.expect | 2 + Test/git-issues/git-issue-1815a.dfy | 8 +- Test/git-issues/git-issue-1815a.dfy.expect | 16 + Test/git-issues/git-issue-1852.dfy | 5 +- Test/git-issues/git-issue-1852.dfy.expect | 7 + Test/git-issues/git-issue-1903.dfy | 3 +- Test/git-issues/git-issue-1903.dfy.expect | 2 + Test/git-issues/git-issue-1909.dfy | 3 +- Test/git-issues/git-issue-1909.dfy.expect | 2 + Test/git-issues/git-issue-2013.dfy | 8 +- Test/git-issues/git-issue-2013.dfy.expect | 52 ++ Test/git-issues/git-issue-2441.dfy | 5 +- Test/git-issues/git-issue-2441.dfy.expect | 6 + Test/git-issues/git-issue-2510.dfy | 3 +- Test/git-issues/git-issue-2510.dfy.expect | 2 + Test/git-issues/git-issue-2608.dfy | 3 +- Test/git-issues/git-issue-2608.dfy.expect | 2 + Test/git-issues/git-issue-262.dfy | 7 +- Test/git-issues/git-issue-262.dfy.expect | 18 + Test/git-issues/git-issue-262.dfy.go.expect | 2 - Test/git-issues/git-issue-262.dfy.java.expect | 2 - Test/git-issues/git-issue-262.dfy.js.expect | 6 - Test/git-issues/git-issue-267.dfy | 7 +- Test/git-issues/git-issue-267.dfy.expect | 13 + Test/git-issues/git-issue-2672.dfy | 8 +- Test/git-issues/git-issue-2672.dfy.expect | 44 ++ Test/git-issues/git-issue-2726a.dfy | 3 +- Test/git-issues/git-issue-2726a.dfy.expect | 2 + Test/git-issues/git-issue-2733.dfy | 9 +- Test/git-issues/git-issue-2733.dfy.expect | 14 + Test/git-issues/git-issue-2792.dfy | 3 +- Test/git-issues/git-issue-2792.dfy.expect | 2 + Test/git-issues/git-issue-283.dfy | 7 +- Test/git-issues/git-issue-283.dfy.expect | 13 + Test/git-issues/git-issue-283d.dfy | 7 +- Test/git-issues/git-issue-283d.dfy.expect | 10 + Test/git-issues/git-issue-314.dfy | 7 +- Test/git-issues/git-issue-314.dfy.expect | 10 + Test/git-issues/git-issue-332.dfy | 3 +- Test/git-issues/git-issue-332.dfy.expect | 2 + Test/git-issues/git-issue-354.dfy | 7 +- Test/git-issues/git-issue-354.dfy.expect | 22 + Test/git-issues/git-issue-356.dfy | 8 +- Test/git-issues/git-issue-356.dfy.expect | 36 ++ Test/git-issues/git-issue-364.dfy | 3 +- Test/git-issues/git-issue-364.dfy.expect | 2 + Test/git-issues/git-issue-374.dfy | 7 +- Test/git-issues/git-issue-374.dfy.expect | 10 + Test/git-issues/git-issue-396.dfy | 6 +- Test/git-issues/git-issue-396.dfy.expect | 11 + Test/git-issues/git-issue-4007.dfy | 5 +- Test/git-issues/git-issue-4007.dfy.expect | 3 + .../git-issue-4007.dfy.verifier.expect | 1 - Test/git-issues/git-issue-4012.dfy | 5 +- Test/git-issues/git-issue-4012.dfy.expect | 2 + Test/git-issues/git-issue-425.dfy | 7 +- Test/git-issues/git-issue-425.dfy.expect | 16 + Test/git-issues/git-issue-443.dfy | 3 +- Test/git-issues/git-issue-443.dfy.expect | 2 + Test/git-issues/git-issue-446.dfy | 7 +- Test/git-issues/git-issue-446.dfy.expect | 19 + Test/git-issues/git-issue-446a.dfy | 7 +- Test/git-issues/git-issue-446a.dfy.expect | 19 + Test/git-issues/git-issue-446b.dfy | 7 +- Test/git-issues/git-issue-446b.dfy.expect | 25 + Test/git-issues/git-issue-478-good.dfy | 3 +- Test/git-issues/git-issue-478-good.dfy.expect | 2 + Test/git-issues/git-issue-506.dfy | 6 +- Test/git-issues/git-issue-506.dfy.expect | 26 + Test/git-issues/git-issue-532.dfy | 7 +- Test/git-issues/git-issue-532.dfy.expect | 19 + Test/git-issues/git-issue-549.dfy | 5 +- Test/git-issues/git-issue-549.dfy.expect | 8 + Test/git-issues/git-issue-622$f.dfy | 3 +- Test/git-issues/git-issue-622$f.dfy.expect | 2 + Test/git-issues/git-issue-684.dfy | 7 +- Test/git-issues/git-issue-684.dfy.expect | 10 + Test/git-issues/git-issue-686.dfy | 7 +- Test/git-issues/git-issue-686.dfy.expect | 23 + .../git-issue-686.dfy.verifier.expect | 2 - Test/git-issues/git-issue-697.dfy | 3 +- Test/git-issues/git-issue-697.dfy.expect | 2 + Test/git-issues/git-issue-697b.dfy | 3 +- Test/git-issues/git-issue-697b.dfy.expect | 2 + Test/git-issues/git-issue-697d.dfy | 3 +- Test/git-issues/git-issue-697d.dfy.expect | 2 + Test/git-issues/git-issue-697e.dfy | 3 +- Test/git-issues/git-issue-697e.dfy.expect | 2 + Test/git-issues/git-issue-697f.dfy | 3 +- Test/git-issues/git-issue-697f.dfy.expect | 2 + Test/git-issues/git-issue-697g.dfy | 3 +- Test/git-issues/git-issue-697g.dfy.expect | 2 + Test/git-issues/git-issue-698.dfy | 5 +- Test/git-issues/git-issue-698.dfy.expect | 7 + Test/git-issues/git-issue-698b.dfy | 5 +- Test/git-issues/git-issue-698b.dfy.expect | 2 + Test/git-issues/git-issue-701.dfy | 7 +- Test/git-issues/git-issue-701.dfy.expect | 19 + Test/git-issues/git-issue-705.dfy | 7 +- Test/git-issues/git-issue-705.dfy.expect | 13 + Test/git-issues/git-issue-731.dfy | 7 +- Test/git-issues/git-issue-731.dfy.expect | 16 + Test/git-issues/git-issue-731b.dfy | 7 +- Test/git-issues/git-issue-731b.dfy.expect | 13 + Test/git-issues/git-issue-784.dfy | 7 +- Test/git-issues/git-issue-784.dfy.expect | 10 + Test/git-issues/git-issue-953.dfy | 8 +- Test/git-issues/git-issue-953.dfy.expect | 36 ++ Test/git-issues/github-issue-3343.dfy | 3 +- Test/git-issues/github-issue-3343.dfy.expect | 2 + Test/hofs/Compilation.dfy | 3 +- Test/hofs/Compilation.dfy.expect | 2 + Test/hofs/Examples.dfy | 3 +- Test/hofs/Examples.dfy.expect | 2 + Test/hofs/Fold.dfy | 3 +- Test/hofs/Fold.dfy.expect | 2 + Test/hofs/Renaming.dfy | 3 +- Test/hofs/Renaming.dfy.expect | 2 + Test/hofs/Requires.dfy | 3 +- Test/hofs/Requires.dfy.expect | 2 + Test/hofs/TreeMapSimple.dfy | 3 +- Test/hofs/TreeMapSimple.dfy.expect | 2 + Test/hofs/VectorUpdate.dfy | 3 +- Test/hofs/VectorUpdate.dfy.expect | 2 + Test/hofs/WhileLoop.dfy | 3 +- Test/hofs/WhileLoop.dfy.expect | 2 + Test/metatests/OutputEncoding.dfy | 8 +- Test/metatests/OutputEncoding.dfy.expect | 16 + Test/patterns/OrPatterns.dfy | 3 +- Test/patterns/OrPatterns.dfy.expect | 2 + Test/patterns/PatternMatching.dfy | 5 +- Test/patterns/PatternMatching.dfy.expect | 3 + .../PatternMatching.dfy.verifier.expect | 1 - Test/traits/TraitCompile.dfy | 10 +- Test/traits/TraitCompile.dfy.expect | 256 ++++++++ Test/traits/TraitExample.dfy | 3 +- Test/traits/TraitExample.dfy.expect | 2 + Test/traits/Traits-Fields.dfy | 3 +- Test/traits/Traits-Fields.dfy.expect | 2 + Test/traits/TraitsMultipleInheritance.dfy | 3 +- .../TraitsMultipleInheritance.dfy.expect | 2 + Test/unicodechars/comp/Collections.dfy | 9 +- Test/unicodechars/comp/Collections.dfy.expect | 512 ++++++++++++++++ .../comp/Collections.dfy.go.expect | 125 ---- .../comp/Collections.dfy.java.expect | 125 ---- .../comp/Collections.dfy.js.expect | 125 ---- .../comp/Collections.dfy.py.expect | 125 ---- Test/unicodechars/comp/Comprehensions.dfy | 11 +- .../comp/Comprehensions.dfy.expect | 260 ++++++++ .../comp/Comprehensions.dfy.py.expect | 62 -- Test/unicodechars/comp/NativeNumbers.dfy | 9 +- .../comp/NativeNumbers.dfy.expect | 256 ++++++++ Test/unicodechars/comp/Numbers.dfy | 11 +- Test/unicodechars/comp/Numbers.dfy.expect | 456 ++++++++++++++ Test/unicodechars/comp/Numbers.dfy.go.expect | 111 ---- Test/unicodechars/comp/Numbers.dfy.py.expect | 111 ---- 469 files changed, 8689 insertions(+), 2165 deletions(-) delete mode 100644 Test/comp/Arrays.dfy.go.expect delete mode 100644 Test/comp/Collections.dfy.go.expect delete mode 100644 Test/comp/Collections.dfy.java.expect delete mode 100644 Test/comp/Collections.dfy.js.expect delete mode 100644 Test/comp/Collections.dfy.py.expect delete mode 100644 Test/comp/Comprehensions.dfy.py.expect delete mode 100644 Test/comp/ComprehensionsNewSyntax.dfy.py.expect delete mode 100644 Test/comp/Datatype.dfy.java.expect delete mode 100644 Test/comp/Datatype.dfy.py.expect delete mode 100644 Test/comp/Numbers.dfy.go.expect delete mode 100644 Test/comp/Numbers.dfy.py.expect delete mode 100644 Test/comp/Poly.dfy.go.expect delete mode 100644 Test/comp/Poly.dfy.py.expect delete mode 100644 Test/comp/TypeParams.dfy.go.expect delete mode 100644 Test/comp/TypeParams.dfy.java.expect delete mode 100644 Test/comp/TypeParams.dfy.js.expect delete mode 100644 Test/comp/TypeParams.dfy.py.expect delete mode 100644 Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect delete mode 100644 Test/dafny0/Deprecation.dfy.verifier.expect delete mode 100644 Test/dafny0/DiscoverBounds.dfy.verifier.expect delete mode 100644 Test/dafny0/DividedConstructors.dfy.verifier.expect delete mode 100644 Test/dafny0/ForallCompilationNewSyntax.dfy.verifier.expect delete mode 100644 Test/dafny0/NullComparisonWarnings.dfy.verifier.expect delete mode 100644 Test/dafny0/TypeMembers.dfy.verifier.expect delete mode 100644 Test/dafny0/Wellfounded.dfy.verifier.expect delete mode 100644 Test/dafny2/SmallestMissingNumber-functional.dfy.verifier.expect delete mode 100644 Test/dafny2/StoreAndRetrieve.dfy.verifier.expect delete mode 100644 Test/dafny3/CachedContainer.dfy.verifier.expect delete mode 100644 Test/dafny4/Ackermann.dfy.verifier.expect delete mode 100644 Test/dafny4/ClassRefinement.dfy.verifier.expect delete mode 100644 Test/git-issues/git-issue-032.dfy.verifier.expect delete mode 100644 Test/git-issues/git-issue-1185.dfy.java.expect delete mode 100644 Test/git-issues/git-issue-262.dfy.go.expect delete mode 100644 Test/git-issues/git-issue-262.dfy.java.expect delete mode 100644 Test/git-issues/git-issue-262.dfy.js.expect delete mode 100644 Test/git-issues/git-issue-4007.dfy.verifier.expect delete mode 100644 Test/git-issues/git-issue-686.dfy.verifier.expect delete mode 100644 Test/patterns/PatternMatching.dfy.verifier.expect delete mode 100644 Test/unicodechars/comp/Collections.dfy.go.expect delete mode 100644 Test/unicodechars/comp/Collections.dfy.java.expect delete mode 100644 Test/unicodechars/comp/Collections.dfy.js.expect delete mode 100644 Test/unicodechars/comp/Collections.dfy.py.expect delete mode 100644 Test/unicodechars/comp/Comprehensions.dfy.py.expect delete mode 100644 Test/unicodechars/comp/Numbers.dfy.go.expect delete mode 100644 Test/unicodechars/comp/Numbers.dfy.py.expect diff --git a/Test/VerifyThis2015/Problem1.dfy b/Test/VerifyThis2015/Problem1.dfy index ab227e1ab85..20bd154ab8d 100644 --- a/Test/VerifyThis2015/Problem1.dfy +++ b/Test/VerifyThis2015/Problem1.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Rustan Leino // 12 April 2015 diff --git a/Test/VerifyThis2015/Problem1.dfy.expect b/Test/VerifyThis2015/Problem1.dfy.expect index 9e8a46acf90..110dd45761d 100644 --- a/Test/VerifyThis2015/Problem1.dfy.expect +++ b/Test/VerifyThis2015/Problem1.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 18 verified, 0 errors true true false diff --git a/Test/VerifyThis2015/Problem2.dfy b/Test/VerifyThis2015/Problem2.dfy index 9b57395e68b..7466df6d410 100644 --- a/Test/VerifyThis2015/Problem2.dfy +++ b/Test/VerifyThis2015/Problem2.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Rustan Leino // 13 April 2015, and many subsequent enhancements and revisions diff --git a/Test/VerifyThis2015/Problem2.dfy.expect b/Test/VerifyThis2015/Problem2.dfy.expect index e69de29bb2d..b49c1470365 100644 --- a/Test/VerifyThis2015/Problem2.dfy.expect +++ b/Test/VerifyThis2015/Problem2.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 32 verified, 0 errors diff --git a/Test/VerifyThis2015/Problem3.dfy b/Test/VerifyThis2015/Problem3.dfy index 1348acf0f4d..3be60b5d81a 100644 --- a/Test/VerifyThis2015/Problem3.dfy +++ b/Test/VerifyThis2015/Problem3.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Rustan Leino // 12 April 2015 // VerifyThis 2015 diff --git a/Test/VerifyThis2015/Problem3.dfy.expect b/Test/VerifyThis2015/Problem3.dfy.expect index e69de29bb2d..4bb1c2c7251 100644 --- a/Test/VerifyThis2015/Problem3.dfy.expect +++ b/Test/VerifyThis2015/Problem3.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 18 verified, 0 errors diff --git a/Test/c++/arrays.dfy b/Test/c++/arrays.dfy index a02b57e5ff8..47140146468 100644 --- a/Test/c++/arrays.dfy +++ b/Test/c++/arrays.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/arrays.dfy.expect b/Test/c++/arrays.dfy.expect index 2ce9320d8c2..552f9355593 100644 --- a/Test/c++/arrays.dfy.expect +++ b/Test/c++/arrays.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 9 verified, 0 errors 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/c++/bit-vectors.dfy b/Test/c++/bit-vectors.dfy index d27469e4ca5..b7f5d35df07 100644 --- a/Test/c++/bit-vectors.dfy +++ b/Test/c++/bit-vectors.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint64 = i:int | 0 <= i < 0x10000000000000000 diff --git a/Test/c++/bit-vectors.dfy.expect b/Test/c++/bit-vectors.dfy.expect index c491236b12b..e327aa2f73b 100644 --- a/Test/c++/bit-vectors.dfy.expect +++ b/Test/c++/bit-vectors.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 6 verified, 0 errors 084841024 diff --git a/Test/c++/class.dfy b/Test/c++/class.dfy index b10d703c981..3039bd0466b 100644 --- a/Test/c++/class.dfy +++ b/Test/c++/class.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/class.dfy.expect b/Test/c++/class.dfy.expect index 80f1587d0a2..93717ecfa9e 100644 --- a/Test/c++/class.dfy.expect +++ b/Test/c++/class.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 16 verified, 0 errors true true false 103 102 102 106 105 105 203 17 0 18 8 9 69 70 diff --git a/Test/c++/const.dfy b/Test/c++/const.dfy index 1bfb79f0361..5ab9a62e0e9 100644 --- a/Test/c++/const.dfy +++ b/Test/c++/const.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" module Holder { const x:bool := false diff --git a/Test/c++/const.dfy.expect b/Test/c++/const.dfy.expect index e69de29bb2d..823a60a105c 100644 --- a/Test/c++/const.dfy.expect +++ b/Test/c++/const.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 1 verified, 0 errors diff --git a/Test/c++/datatypes.dfy b/Test/c++/datatypes.dfy index f56b7907cc3..9d077b97575 100644 --- a/Test/c++/datatypes.dfy +++ b/Test/c++/datatypes.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/datatypes.dfy.expect b/Test/c++/datatypes.dfy.expect index c122f5af791..efa71b43546 100644 --- a/Test/c++/datatypes.dfy.expect +++ b/Test/c++/datatypes.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 12 verified, 0 errors Case A: 42 Case B: true This is expected diff --git a/Test/c++/generic.dfy b/Test/c++/generic.dfy index 374c545b9c1..7995928f93f 100644 --- a/Test/c++/generic.dfy +++ b/Test/c++/generic.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" class Test { var t:T diff --git a/Test/c++/generic.dfy.expect b/Test/c++/generic.dfy.expect index e69de29bb2d..00a51f822da 100644 --- a/Test/c++/generic.dfy.expect +++ b/Test/c++/generic.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 3 verified, 0 errors diff --git a/Test/c++/hello.dfy b/Test/c++/hello.dfy index 523d3152209..c887337c7e1 100644 --- a/Test/c++/hello.dfy +++ b/Test/c++/hello.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { print "Hello world\n"; diff --git a/Test/c++/hello.dfy.expect b/Test/c++/hello.dfy.expect index 802992c4220..87101fec036 100644 --- a/Test/c++/hello.dfy.expect +++ b/Test/c++/hello.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 0 verified, 0 errors Hello world diff --git a/Test/c++/ints.dfy b/Test/c++/ints.dfy index 4490a54817a..cf7ae63e0da 100644 --- a/Test/c++/ints.dfy +++ b/Test/c++/ints.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype sbyte = i:int | -0x80 <= i < 0x80 newtype byte = i:int | 0 <= i < 0x100 diff --git a/Test/c++/ints.dfy.expect b/Test/c++/ints.dfy.expect index 5fcb7b811cb..aeabccf73b0 100644 --- a/Test/c++/ints.dfy.expect +++ b/Test/c++/ints.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 15 verified, 0 errors Result is z = 42 diff --git a/Test/c++/recursion.dfy b/Test/c++/recursion.dfy index 36048aab527..e255b8e6b08 100644 --- a/Test/c++/recursion.dfy +++ b/Test/c++/recursion.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/recursion.dfy.expect b/Test/c++/recursion.dfy.expect index 1ea14926e89..15dbfe2bcd1 100644 --- a/Test/c++/recursion.dfy.expect +++ b/Test/c++/recursion.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 5 verified, 0 errors x !y 3 diff --git a/Test/c++/returns.dfy b/Test/c++/returns.dfy index 9e23121d26a..1ad19a8ce83 100644 --- a/Test/c++/returns.dfy +++ b/Test/c++/returns.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint64 = i:int | 0 <= i < 0x10000000000000000 diff --git a/Test/c++/returns.dfy.expect b/Test/c++/returns.dfy.expect index 48082f72f08..8db105eaba8 100644 --- a/Test/c++/returns.dfy.expect +++ b/Test/c++/returns.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors 12 diff --git a/Test/c++/seqs.dfy b/Test/c++/seqs.dfy index 903208b07f8..f97a42b2851 100644 --- a/Test/c++/seqs.dfy +++ b/Test/c++/seqs.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint8 = i:int | 0 <= i < 0x100 newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/seqs.dfy.expect b/Test/c++/seqs.dfy.expect index 16f5f9d22ea..23f01695bc9 100644 --- a/Test/c++/seqs.dfy.expect +++ b/Test/c++/seqs.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 11 verified, 0 errors Head second:2 Trunc first:2 Head trunc: This is expected diff --git a/Test/c++/sets.dfy b/Test/c++/sets.dfy index 10e2fe0501d..5bfb6f80f1e 100644 --- a/Test/c++/sets.dfy +++ b/Test/c++/sets.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/sets.dfy.expect b/Test/c++/sets.dfy.expect index 52a1e67717e..1c8ede8765e 100644 --- a/Test/c++/sets.dfy.expect +++ b/Test/c++/sets.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 8 verified, 0 errors Identity: This is expected ValuesIdentity: This is expected DiffIdentity: This is expected diff --git a/Test/c++/while.dfy b/Test/c++/while.dfy index 0c0d7ee98df..40dc4699d11 100644 --- a/Test/c++/while.dfy +++ b/Test/c++/while.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/while.dfy.expect b/Test/c++/while.dfy.expect index 9a44de1e2a3..8dfe872ca51 100644 --- a/Test/c++/while.dfy.expect +++ b/Test/c++/while.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 2 verified, 0 errors 0 1 2 diff --git a/Test/comp/Arrays.dfy b/Test/comp/Arrays.dfy index acb4225b358..566f052e0a6 100644 --- a/Test/comp/Arrays.dfy +++ b/Test/comp/Arrays.dfy @@ -1,5 +1,10 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false +// RUN: %baredafny verify %args --relax-definite-assignment "%s" > "%t" +// RUN: %baredafny run --unicode-char:false --no-verify --target=cs %args "%s" >> "%t" +// RUN: %baredafny run --unicode-char:false --no-verify --target=js %args "%s" >> "%t" +// RUN: %baredafny run --unicode-char:false --no-verify --target=go %args "%s" >> "%t" +// RUN: %baredafny run --unicode-char:false --no-verify --target=java %args "%s" >> "%t" +// RUN: %baredafny run --unicode-char:false --no-verify --target=py %args "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method LinearSearch(a: array, key: int) returns (n: nat) ensures 0 <= n <= a.Length diff --git a/Test/comp/Arrays.dfy.expect b/Test/comp/Arrays.dfy.expect index ef3b884f98a..8559e2f3c5c 100644 --- a/Test/comp/Arrays.dfy.expect +++ b/Test/comp/Arrays.dfy.expect @@ -1,3 +1,399 @@ + +Dafny program verifier finished with 89 verified, 0 errors + +Dafny program verifier did not attempt verification +0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 +17 +[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] +[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] +[20, 21, 22] +[0, 1, 2, 3, 4, 5, 6, 7] +[0, 1, 2, 3, 4, 5, 6, 7] +d d d +h e l l o +0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 +1 0 0 0 0 +0 1 0 0 0 +0 0 1 0 0 +cube dims: 3 0 4 +[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] +It's null +hi hello tjena hej hola +hi hello tjena hej hola +hi hello tjena hej hola +d d d +h e l l o +8 8 8 8 +true true true +1 1 1 1 1 +2 2 2 2 2 +3 3 3 3 3 +4 4 4 4 4 +(d, 8, true, 1, 2, 3, 4) +D D D +0 0 0 0 +false false false +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +(D, 0, false, 0, 0, 0, 0) +8 0 +false 0 null null +8 8 +8 8 +8 8 +8 8 +D D D +D D D +D D D +D D r (D, D, r) +D D r +[19, 18, 9, 8] + true + false + true + false + false + false + true + true + false + true + false + true + true + false +hello there +false false +true true +false false +false false +uninitialized bytes: array[0, 0, 0] +bytes from display: array[7, 8, 9] +bytes from lambda: array[20, 21, 22] +uninitialized 1bytes: array[1, 1, 1] +1bytes from display: array[7, 8, 9] +1bytes from lambda: array[20, 21, 22] +17 19 18 20 +100 200 300 120 38 +hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +DDDDDabcdeabcdeggggg +DDDDDabcdeabcdeggggg +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] +DDDDDDDDDDagggggaggg +0 69 50 +0 69 50 +D k n +false false +true true +false false +false false +true true + +Dafny program verifier did not attempt verification +0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 +17 +[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] +[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] +[20, 21, 22] +[0, 1, 2, 3, 4, 5, 6, 7] +[0, 1, 2, 3, 4, 5, 6, 7] +d d d +h e l l o +0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 +1 0 0 0 0 +0 1 0 0 0 +0 0 1 0 0 +cube dims: 3 0 4 +[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] +It's null +hi hello tjena hej hola +hi hello tjena hej hola +hi hello tjena hej hola +d d d +h e l l o +8 8 8 8 +true true true +1 1 1 1 1 +2 2 2 2 2 +3 3 3 3 3 +4 4 4 4 4 +(d, 8, true, 1, 2, 3, 4) +D D D +0 0 0 0 +false false false +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +(D, 0, false, 0, 0, 0, 0) +8 0 +false 0 null null +8 8 +8 8 +8 8 +8 8 +D D D +D D D +D D D +D D r (D, D, r) +D D r +[19, 18, 9, 8] + true + false + true + false + false + false + true + true + false + true + false + true + true + false +hello there +false false +true true +false false +false false +uninitialized bytes: array[0, 0, 0] +bytes from display: array[7, 8, 9] +bytes from lambda: array[20, 21, 22] +uninitialized 1bytes: array[1, 1, 1] +1bytes from display: array[7, 8, 9] +1bytes from lambda: array[20, 21, 22] +17 19 18 20 +100 200 300 120 38 +hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +DDDDDabcdeabcdeggggg +DDDDDabcdeabcdeggggg +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] +DDDDDDDDDDagggggaggg +0 69 50 +0 69 50 +D k n +false false +true true +false false +false false +true true + +Dafny program verifier did not attempt verification +0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 +17 +[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] +[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] +[20, 21, 22] +[0, 1, 2, 3, 4, 5, 6, 7] +[0, 1, 2, 3, 4, 5, 6, 7] +d d d +h e l l o +0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 +1 0 0 0 0 +0 1 0 0 0 +0 0 1 0 0 +cube dims: 3 0 4 +[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] +It's null +hi hello tjena hej hola +hi hello tjena hej hola +hi hello tjena hej hola +d d d +h e l l o +8 8 8 8 +true true true +1 1 1 1 1 +2 2 2 2 2 +3 3 3 3 3 +4 4 4 4 4 +(d, 8, true, 1, 2, 3, 4) +D D D +0 0 0 0 +false false false +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +(D, 0, false, 0, 0, 0, 0) +8 0 +false 0 null null +8 8 +8 8 +8 8 +8 8 +D D D +D D D +D D D +D D r (D, D, r) +D D r +[19, 18, 9, 8] + true + false + true + false + false + false + true + true + false + true + false + true + true + false +hello there +false false +true true +false false +false false +uninitialized bytes: array[0, 0, 0] +bytes from display: array[7, 8, 9] +bytes from lambda: array[20, 21, 22] +uninitialized 1bytes: array[1, 1, 1] +1bytes from display: array[7, 8, 9] +1bytes from lambda: array[20, 21, 22] +17 19 18 20 +100 200 300 120 38 +hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +DDDDDabcdeabcdeggggg +DDDDDabcdeabcdeggggg +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] +[D, D, D, D, D, D, D, D, D, D, a, g, g, g, g, g, a, g, g, g] +0 69 50 +0 69 50 +D k n +false false +true true +false false +false false +true true + +Dafny program verifier did not attempt verification +0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 +17 +[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] +[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] +[20, 21, 22] +[0, 1, 2, 3, 4, 5, 6, 7] +[0, 1, 2, 3, 4, 5, 6, 7] +d d d +h e l l o +0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 +1 0 0 0 0 +0 1 0 0 0 +0 0 1 0 0 +cube dims: 3 0 4 +[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] +It's null +hi hello tjena hej hola +hi hello tjena hej hola +hi hello tjena hej hola +d d d +h e l l o +8 8 8 8 +true true true +1 1 1 1 1 +2 2 2 2 2 +3 3 3 3 3 +4 4 4 4 4 +(d, 8, true, 1, 2, 3, 4) +D D D +0 0 0 0 +false false false +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +(D, 0, false, 0, 0, 0, 0) +8 0 +false 0 null null +8 8 +8 8 +8 8 +8 8 +D D D +D D D +D D D +D D r (D, D, r) +D D r +[19, 18, 9, 8] + true + false + true + false + false + false + true + true + false + true + false + true + true + false +hello there +false false +true true +false false +false false +uninitialized bytes: array[0, 0, 0] +bytes from display: array[7, 8, 9] +bytes from lambda: array[20, 21, 22] +uninitialized 1bytes: array[1, 1, 1] +1bytes from display: array[7, 8, 9] +1bytes from lambda: array[20, 21, 22] +17 19 18 20 +100 200 300 120 38 +hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +DDDDDabcdeabcdeggggg +DDDDDabcdeabcdeggggg +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] +DDDDDDDDDDagggggaggg +0 69 50 +0 69 50 +D k n +false false +true true +false false +false false +true true + +Dafny program verifier did not attempt verification 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/comp/Arrays.dfy.go.expect b/Test/comp/Arrays.dfy.go.expect deleted file mode 100644 index 1217623d90c..00000000000 --- a/Test/comp/Arrays.dfy.go.expect +++ /dev/null @@ -1,96 +0,0 @@ -0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 -17 -[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] -[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] -[20, 21, 22] -[0, 1, 2, 3, 4, 5, 6, 7] -[0, 1, 2, 3, 4, 5, 6, 7] -d d d -h e l l o -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -1 0 0 0 0 -0 1 0 0 0 -0 0 1 0 0 -cube dims: 3 0 4 -[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] -It's null -hi hello tjena hej hola -hi hello tjena hej hola -hi hello tjena hej hola -d d d -h e l l o -8 8 8 8 -true true true -1 1 1 1 1 -2 2 2 2 2 -3 3 3 3 3 -4 4 4 4 4 -(d, 8, true, 1, 2, 3, 4) -D D D -0 0 0 0 -false false false -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -(D, 0, false, 0, 0, 0, 0) -8 0 -false 0 null null -8 8 -8 8 -8 8 -8 8 -D D D -D D D -D D D -D D r (D, D, r) -D D r -[19, 18, 9, 8] - true - false - true - false - false - false - true - true - false - true - false - true - true - false -hello there -false false -true true -false false -false false -uninitialized bytes: array[0, 0, 0] -bytes from display: array[7, 8, 9] -bytes from lambda: array[20, 21, 22] -uninitialized 1bytes: array[1, 1, 1] -1bytes from display: array[7, 8, 9] -1bytes from lambda: array[20, 21, 22] -17 19 18 20 -100 200 300 120 38 -hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -DDDDDabcdeabcdeggggg -DDDDDabcdeabcdeggggg -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] -[D, D, D, D, D, D, D, D, D, D, a, g, g, g, g, g, a, g, g, g] -0 69 50 -0 69 50 -D k n -false false -true true -false false -false false -true true diff --git a/Test/comp/AsIs-Compile.dfy b/Test/comp/AsIs-Compile.dfy index 319847564e2..47084ed7633 100644 --- a/Test/comp/AsIs-Compile.dfy +++ b/Test/comp/AsIs-Compile.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" +// RUN: %baredafny verify %args "%s" > "%t" +// RUN: %baredafny run --no-verify -t=cs %args "%s" >> "%t" +// RUN: %baredafny run --no-verify -t=js %args "%s" >> "%t" +// RUN: %baredafny run --no-verify -t=go %args "%s" >> "%t" +// RUN: %baredafny run --no-verify -t=java %args "%s" >> "%t" +// RUN: %baredafny run --no-verify -t=py %args "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var a: A, b: B, c: C, k: K, l: L := new M, new M, new M, new K, new L; diff --git a/Test/comp/AsIs-Compile.dfy.expect b/Test/comp/AsIs-Compile.dfy.expect index acc78c6e155..36dfe46e91d 100644 --- a/Test/comp/AsIs-Compile.dfy.expect +++ b/Test/comp/AsIs-Compile.dfy.expect @@ -1,3 +1,163 @@ + +Dafny program verifier finished with 6 verified, 0 errors + +Dafny program verifier did not attempt verification +true true true true true +true true true true true +IsComparisons ---- +false true false false + true false false + true false +false false true false + false true false + false false +false false false true + false false true + false true +false true false false + false true false + false false +true true +false true +TestNullIs ---- +true true +true true +true true true true true true +true true true true true true +true true true true true true +true true true true true true +true true +false true +true true true true true true +false true false true false true +true true true true true true +false true false true false true +TestFromTraits ---- +5 +0 +4 +4 +4 +4 + +Dafny program verifier did not attempt verification +true true true true true +true true true true true +IsComparisons ---- +false true false false + true false false + true false +false false true false + false true false + false false +false false false true + false false true + false true +false true false false + false true false + false false +true true +false true +TestNullIs ---- +true true +true true +true true true true true true +true true true true true true +true true true true true true +true true true true true true +true true +false true +true true true true true true +false true false true false true +true true true true true true +false true false true false true +TestFromTraits ---- +5 +0 +4 +4 +4 +4 + +Dafny program verifier did not attempt verification +true true true true true +true true true true true +IsComparisons ---- +false true false false + true false false + true false +false false true false + false true false + false false +false false false true + false false true + false true +false true false false + false true false + false false +true true +false true +TestNullIs ---- +true true +true true +true true true true true true +true true true true true true +true true true true true true +true true true true true true +true true +false true +true true true true true true +false true false true false true +true true true true true true +false true false true false true +TestFromTraits ---- +5 +0 +4 +4 +4 +4 + +Dafny program verifier did not attempt verification +true true true true true +true true true true true +IsComparisons ---- +false true false false + true false false + true false +false false true false + false true false + false false +false false false true + false false true + false true +false true false false + false true false + false false +true true +false true +TestNullIs ---- +true true +true true +true true true true true true +true true true true true true +true true true true true true +true true true true true true +true true +false true +true true true true true true +false true false true false true +true true true true true true +false true false true false true +TestFromTraits ---- +5 +0 +4 +4 +4 +4 + +Dafny program verifier did not attempt verification true true true true true true true true true true IsComparisons ---- diff --git a/Test/comp/AutoInit.dfy b/Test/comp/AutoInit.dfy index c0e752efa36..b284619a80c 100644 --- a/Test/comp/AutoInit.dfy +++ b/Test/comp/AutoInit.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // This file tests the compilation of some default values. It also includes some // regression tests for equality, printing, and tuples. diff --git a/Test/comp/AutoInit.dfy.expect b/Test/comp/AutoInit.dfy.expect index e68e2e43764..51533cc6d5e 100644 --- a/Test/comp/AutoInit.dfy.expect +++ b/Test/comp/AutoInit.dfy.expect @@ -1,3 +1,163 @@ + +Dafny program verifier finished with 21 verified, 0 errors + +Dafny program verifier did not attempt verification +3 false 0 +false false true +() (0, false, false, []) +(null, 0) (null, 0) true +(null, null, null, 0) (null, null, null, 0) true +true false false true +true false false true +17 +1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or +(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) +1 +ww == null -- yes, as expected +true true true true +true true true +true true true +null null +null null +null null null +null null null +null null null +null null null +null null +null null null +null null null +DatatypeDefaultValues.EnumDatatype.MakeZero + DatatypeDefaultValues.IntList.Nil + 0 +DatatypeDefaultValues.GenericTree.Leaf + DatatypeDefaultValues.Complicated.ComplA(0, false) + DatatypeDefaultValues.CellCell.MakeCellCell(0) +null + null +Library.Color.Red(0) and Library.Color.Red(0) +Library.CoColor.Yellow and Library.CoColor.Yellow +Library.MoColor.MoYellow and Library.MoColor.MoYellow +0.0 and 0.0 +13 + +Dafny program verifier did not attempt verification +3 false 0 +false false true +() (0, false, false, []) +(null, 0) (null, 0) true +(null, null, null, 0) (null, null, null, 0) true +true false false true +true false false true +17 +1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or +(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) +1 +ww == null -- yes, as expected +true true true true +true true true +true true true +null null +null null +null null null +null null null +null null null +null null null +null null +null null null +null null null +DatatypeDefaultValues.EnumDatatype.MakeZero + DatatypeDefaultValues.IntList.Nil + 0 +DatatypeDefaultValues.GenericTree.Leaf + DatatypeDefaultValues.Complicated.ComplA(0, false) + DatatypeDefaultValues.CellCell.MakeCellCell(0) +null + null +Library.Color.Red(0) and Library.Color.Red(0) +Library.CoColor.Yellow and Library.CoColor.Yellow +Library.MoColor.MoYellow and Library.MoColor.MoYellow +0.0 and 0.0 +13 + +Dafny program verifier did not attempt verification +3 false 0 +false false true +() (0, false, false, []) +(null, 0) (null, 0) true +(null, null, null, 0) (null, null, null, 0) true +true false false true +true false false true +17 +1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or +(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) +1 +ww == null -- yes, as expected +true true true true +true true true +true true true +null null +null null +null null null +null null null +null null null +null null null +null null +null null null +null null null +DatatypeDefaultValues.EnumDatatype.MakeZero + DatatypeDefaultValues.IntList.Nil + 0 +DatatypeDefaultValues.GenericTree.Leaf + DatatypeDefaultValues.Complicated.ComplA(0, false) + DatatypeDefaultValues.CellCell.MakeCellCell(0) +null + null +Library.Color.Red(0) and Library.Color.Red(0) +Library.CoColor.Yellow and Library.CoColor.Yellow +Library.MoColor.MoYellow and Library.MoColor.MoYellow +0.0 and 0.0 +13 + +Dafny program verifier did not attempt verification +3 false 0 +false false true +() (0, false, false, []) +(null, 0) (null, 0) true +(null, null, null, 0) (null, null, null, 0) true +true false false true +true false false true +17 +1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or +(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) +1 +ww == null -- yes, as expected +true true true true +true true true +true true true +null null +null null +null null null +null null null +null null null +null null null +null null +null null null +null null null +DatatypeDefaultValues.EnumDatatype.MakeZero + DatatypeDefaultValues.IntList.Nil + 0 +DatatypeDefaultValues.GenericTree.Leaf + DatatypeDefaultValues.Complicated.ComplA(0, false) + DatatypeDefaultValues.CellCell.MakeCellCell(0) +null + null +Library.Color.Red(0) and Library.Color.Red(0) +Library.CoColor.Yellow and Library.CoColor.Yellow +Library.MoColor.MoYellow and Library.MoColor.MoYellow +0.0 and 0.0 +13 + +Dafny program verifier did not attempt verification 3 false 0 false false true () (0, false, false, []) diff --git a/Test/comp/ByMethodCompilation.dfy b/Test/comp/ByMethodCompilation.dfy index 7432f72f7d4..ea62d84b21e 100644 --- a/Test/comp/ByMethodCompilation.dfy +++ b/Test/comp/ByMethodCompilation.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var four := Four(); diff --git a/Test/comp/ByMethodCompilation.dfy.expect b/Test/comp/ByMethodCompilation.dfy.expect index d61780e3fb8..1519a955b0c 100644 --- a/Test/comp/ByMethodCompilation.dfy.expect +++ b/Test/comp/ByMethodCompilation.dfy.expect @@ -1,3 +1,35 @@ + +Dafny program verifier finished with 13 verified, 0 errors + +Dafny program verifier did not attempt verification +hello +four is 4 +Recursive(7) = 14 +NonCompilableFunction: 4 7 +Sums: 14 3 + +Dafny program verifier did not attempt verification +hello +four is 4 +Recursive(7) = 14 +NonCompilableFunction: 4 7 +Sums: 14 3 + +Dafny program verifier did not attempt verification +hello +four is 4 +Recursive(7) = 14 +NonCompilableFunction: 4 7 +Sums: 14 3 + +Dafny program verifier did not attempt verification +hello +four is 4 +Recursive(7) = 14 +NonCompilableFunction: 4 7 +Sums: 14 3 + +Dafny program verifier did not attempt verification hello four is 4 Recursive(7) = 14 diff --git a/Test/comp/Calls.dfy b/Test/comp/Calls.dfy index c56bc3e5286..4a4916aea0c 100644 --- a/Test/comp/Calls.dfy +++ b/Test/comp/Calls.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" function F(x: int, y: bool): int { x + if y then 2 else 3 diff --git a/Test/comp/Calls.dfy.expect b/Test/comp/Calls.dfy.expect index cf4e1bc155b..3317b8be164 100644 --- a/Test/comp/Calls.dfy.expect +++ b/Test/comp/Calls.dfy.expect @@ -1,3 +1,43 @@ + +Dafny program verifier finished with 6 verified, 0 errors + +Dafny program verifier did not attempt verification +5 0 0 false 0 false 0 +5 3 5 3 5 3 +5 3 5 3 5 3 +15 +[0, 1, 2, 4] +[0, 2, 4] +--> 5 <-- + +Dafny program verifier did not attempt verification +5 0 0 false 0 false 0 +5 3 5 3 5 3 +5 3 5 3 5 3 +15 +[0, 1, 2, 4] +[0, 2, 4] +--> 5 <-- + +Dafny program verifier did not attempt verification +5 0 0 false 0 false 0 +5 3 5 3 5 3 +5 3 5 3 5 3 +15 +[0, 1, 2, 4] +[0, 2, 4] +--> 5 <-- + +Dafny program verifier did not attempt verification +5 0 0 false 0 false 0 +5 3 5 3 5 3 +5 3 5 3 5 3 +15 +[0, 1, 2, 4] +[0, 2, 4] +--> 5 <-- + +Dafny program verifier did not attempt verification 5 0 0 false 0 false 0 5 3 5 3 5 3 5 3 5 3 5 3 diff --git a/Test/comp/Class.dfy b/Test/comp/Class.dfy index 23591e43450..fb994f008e7 100644 --- a/Test/comp/Class.dfy +++ b/Test/comp/Class.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" class MyClass { var a: int diff --git a/Test/comp/Class.dfy.expect b/Test/comp/Class.dfy.expect index 47e49966664..ba1482a164b 100644 --- a/Test/comp/Class.dfy.expect +++ b/Test/comp/Class.dfy.expect @@ -1,3 +1,75 @@ + +Dafny program verifier finished with 16 verified, 0 errors + +Dafny program verifier did not attempt verification +true true false +103 103 103 106 106 106 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +0 18 9 70 +0 18 9 70 +0 18 9 70 +70 +hi later +21 4 42 5 1 +TestGhostables +15 +Init called with x=15 +16 + +Dafny program verifier did not attempt verification +true true false +103 103 103 106 106 106 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +0 18 9 70 +0 18 9 70 +0 18 9 70 +70 +hi later +21 4 42 5 1 +TestGhostables +15 +Init called with x=15 +16 + +Dafny program verifier did not attempt verification +true true false +103 103 103 106 106 106 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +0 18 9 70 +0 18 9 70 +0 18 9 70 +70 +hi later +21 4 42 5 1 +TestGhostables +15 +Init called with x=15 +16 + +Dafny program verifier did not attempt verification +true true false +103 103 103 106 106 106 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +0 18 9 70 +0 18 9 70 +0 18 9 70 +70 +hi later +21 4 42 5 1 +TestGhostables +15 +Init called with x=15 +16 + +Dafny program verifier did not attempt verification true true false 103 103 103 106 106 106 203 17 0 18 8 9 69 70 diff --git a/Test/comp/Collections.dfy b/Test/comp/Collections.dfy index 9457e44b170..104eb9f90ac 100644 --- a/Test/comp/Collections.dfy +++ b/Test/comp/Collections.dfy @@ -1,5 +1,10 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { Sets(); diff --git a/Test/comp/Collections.dfy.expect b/Test/comp/Collections.dfy.expect index e705d887a7d..2361c1a88db 100644 --- a/Test/comp/Collections.dfy.expect +++ b/Test/comp/Collections.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 40 verified, 0 errors + +Dafny program verifier did not attempt verification Sets: {} {17, 82} {12, 17} cardinality: 0 2 2 union: {17, 82} {12, 17, 82} @@ -123,3 +127,511 @@ Multiset=== 1 3 |s|=2 |u|=4 1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Yellow := 21, Color.Blue := 30] +keys: {Color.Yellow, Color.Blue} +values: {21, 30} +items: {(Color.Yellow, 21), (Color.Blue, 30)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {21, 30} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/comp/Collections.dfy.go.expect b/Test/comp/Collections.dfy.go.expect deleted file mode 100644 index 309d0c550c4..00000000000 --- a/Test/comp/Collections.dfy.go.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/comp/Collections.dfy.java.expect b/Test/comp/Collections.dfy.java.expect deleted file mode 100644 index ed929a4d34c..00000000000 --- a/Test/comp/Collections.dfy.java.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Yellow := 21, Color.Blue := 30] -keys: {Color.Yellow, Color.Blue} -values: {21, 30} -items: {(Color.Yellow, 21), (Color.Blue, 30)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/comp/Collections.dfy.js.expect b/Test/comp/Collections.dfy.js.expect deleted file mode 100644 index 309d0c550c4..00000000000 --- a/Test/comp/Collections.dfy.js.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/comp/Collections.dfy.py.expect b/Test/comp/Collections.dfy.py.expect deleted file mode 100644 index 61b4217bbaf..00000000000 --- a/Test/comp/Collections.dfy.py.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {21, 30} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/comp/Comprehensions.dfy b/Test/comp/Comprehensions.dfy index 73c43b22bfa..29ac368f2c3 100644 --- a/Test/comp/Comprehensions.dfy +++ b/Test/comp/Comprehensions.dfy @@ -1,5 +1,10 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { AssignSuchThat(); diff --git a/Test/comp/Comprehensions.dfy.expect b/Test/comp/Comprehensions.dfy.expect index c9703fc9397..18159ddde0a 100644 --- a/Test/comp/Comprehensions.dfy.expect +++ b/Test/comp/Comprehensions.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 32 verified, 0 errors + +Dafny program verifier did not attempt verification x=13 y=14 x=13 y=14 b=yes true false @@ -60,3 +64,259 @@ true true [137438953474, 137438953475, 137438953476, 137438953477, 137438953479] cdefh cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[14 := 7, 12 := 6, 13 := 6] +map[18 := 14, 17 := 13, 16 := 12] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh diff --git a/Test/comp/Comprehensions.dfy.py.expect b/Test/comp/Comprehensions.dfy.py.expect deleted file mode 100644 index aeaa31fc0f3..00000000000 --- a/Test/comp/Comprehensions.dfy.py.expect +++ /dev/null @@ -1,62 +0,0 @@ -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[14 := 7, 12 := 6, 13 := 6] -map[18 := 14, 17 := 13, 16 := 12] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh diff --git a/Test/comp/ComprehensionsNewSyntax.dfy b/Test/comp/ComprehensionsNewSyntax.dfy index 6cd88aeb4f7..a324b622e8a 100644 --- a/Test/comp/ComprehensionsNewSyntax.dfy +++ b/Test/comp/ComprehensionsNewSyntax.dfy @@ -1,5 +1,10 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { Quantifier(); diff --git a/Test/comp/ComprehensionsNewSyntax.dfy.expect b/Test/comp/ComprehensionsNewSyntax.dfy.expect index b70314ff87b..408769f4b67 100644 --- a/Test/comp/ComprehensionsNewSyntax.dfy.expect +++ b/Test/comp/ComprehensionsNewSyntax.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 10 verified, 0 errors + +Dafny program verifier did not attempt verification true false true false map[12 := 6, 13 := 6, 14 := 7] @@ -32,3 +36,147 @@ false false false false true true true true false false false false true true true true + +Dafny program verifier did not attempt verification +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true + +Dafny program verifier did not attempt verification +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true + +Dafny program verifier did not attempt verification +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true + +Dafny program verifier did not attempt verification +true false +true false +map[14 := 7, 12 := 6, 13 := 6] +map[18 := 14, 17 := 13, 16 := 12] +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true diff --git a/Test/comp/ComprehensionsNewSyntax.dfy.py.expect b/Test/comp/ComprehensionsNewSyntax.dfy.py.expect deleted file mode 100644 index b19cef0ba0e..00000000000 --- a/Test/comp/ComprehensionsNewSyntax.dfy.py.expect +++ /dev/null @@ -1,34 +0,0 @@ -true false -true false -map[14 := 7, 12 := 6, 13 := 6] -map[18 := 14, 17 := 13, 16 := 12] -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true diff --git a/Test/comp/CovariantCollections.dfy b/Test/comp/CovariantCollections.dfy index 6dd73ee7fea..12301df3b09 100644 --- a/Test/comp/CovariantCollections.dfy +++ b/Test/comp/CovariantCollections.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { Sequences(); diff --git a/Test/comp/CovariantCollections.dfy.expect b/Test/comp/CovariantCollections.dfy.expect index a9d00f4a65d..e029d3abc3b 100644 --- a/Test/comp/CovariantCollections.dfy.expect +++ b/Test/comp/CovariantCollections.dfy.expect @@ -1,3 +1,223 @@ + +Dafny program verifier finished with 25 verified, 0 errors + +Dafny program verifier did not attempt verification +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17] [12, 17] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + comprehension: {82} + union: {17, 82} {12, 17, 82} + intersection: {} {17} + difference: {} {82} + subset: true false true + proper subset: true false false + membership: false true true +Multisets: {} {17, 17, 82, 82} {12, 17} + cardinality: 0 4 2 + update: {17, 17, 42, 42, 42} {12, 17, 42} + multiplicity: 2 0 20 + union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} + intersection: {} {17, 82, 82} + difference: {} {17, 82, 82} + subset: true false true + proper subset: true false false + membership: false true true +Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} + cardinality: 0 3 2 + update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} + comprehension: {17 := 12, 82 := 12} + Keys: {12, 17, 82} + Values: {17, 82} + eq: false true true + eq: true true true true true true + eq: true true true true true true + eq: true false true false true false + eq: true false true false true false + eq: true true true true true true + eq: true true true true true true +set: {20, 30} +multiset: {20, 30} +seq: [20, 30] +map: {20 := 30, 30 := 20} +true +true +1 1 +1 1 + +Dafny program verifier did not attempt verification +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17] [12, 17] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + comprehension: {82} + union: {17, 82} {12, 17, 82} + intersection: {} {17} + difference: {} {82} + subset: true false true + proper subset: true false false + membership: false true true +Multisets: {} {17, 17, 82, 82} {12, 17} + cardinality: 0 4 2 + update: {17, 17, 42, 42, 42} {12, 17, 42} + multiplicity: 2 0 20 + union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} + intersection: {} {17, 82, 82} + difference: {} {17, 82, 82} + subset: true false true + proper subset: true false false + membership: false true true +Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} + cardinality: 0 3 2 + update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} + comprehension: {17 := 12, 82 := 12} + Keys: {12, 17, 82} + Values: {17, 82} + eq: false true true + eq: true true true true true true + eq: true true true true true true + eq: true false true false true false + eq: true false true false true false + eq: true true true true true true + eq: true true true true true true +set: {20, 30} +multiset: {20, 30} +seq: [20, 30] +map: {20 := 30, 30 := 20} +true +true +1 1 +1 1 + +Dafny program verifier did not attempt verification +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17] [12, 17] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + comprehension: {82} + union: {17, 82} {12, 17, 82} + intersection: {} {17} + difference: {} {82} + subset: true false true + proper subset: true false false + membership: false true true +Multisets: {} {17, 17, 82, 82} {12, 17} + cardinality: 0 4 2 + update: {17, 17, 42, 42, 42} {12, 17, 42} + multiplicity: 2 0 20 + union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} + intersection: {} {17, 82, 82} + difference: {} {17, 82, 82} + subset: true false true + proper subset: true false false + membership: false true true +Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} + cardinality: 0 3 2 + update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} + comprehension: {17 := 12, 82 := 12} + Keys: {12, 17, 82} + Values: {17, 82} + eq: false true true + eq: true true true true true true + eq: true true true true true true + eq: true false true false true false + eq: true false true false true false + eq: true true true true true true + eq: true true true true true true +set: {20, 30} +multiset: {20, 30} +seq: [20, 30] +map: {20 := 30, 30 := 20} +true +true +1 1 +1 1 + +Dafny program verifier did not attempt verification +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17] [12, 17] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + comprehension: {82} + union: {17, 82} {12, 17, 82} + intersection: {} {17} + difference: {} {82} + subset: true false true + proper subset: true false false + membership: false true true +Multisets: {} {17, 17, 82, 82} {12, 17} + cardinality: 0 4 2 + update: {17, 17, 42, 42, 42} {12, 17, 42} + multiplicity: 2 0 20 + union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} + intersection: {} {17, 82, 82} + difference: {} {17, 82, 82} + subset: true false true + proper subset: true false false + membership: false true true +Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} + cardinality: 0 3 2 + update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} + comprehension: {17 := 12, 82 := 12} + Keys: {12, 17, 82} + Values: {17, 82} + eq: false true true + eq: true true true true true true + eq: true true true true true true + eq: true false true false true false + eq: true false true false true false + eq: true true true true true true + eq: true true true true true true +set: {20, 30} +multiset: {20, 30} +seq: [20, 30] +map: {20 := 30, 30 := 20} +true +true +1 1 +1 1 + +Dafny program verifier did not attempt verification Sequences: [] [17, 82, 17, 82] [12, 17] cardinality: 0 4 2 update: [42, 82, 17, 82] [42, 17] diff --git a/Test/comp/Datatype.dfy b/Test/comp/Datatype.dfy index 44579383e5c..2599907a94c 100644 --- a/Test/comp/Datatype.dfy +++ b/Test/comp/Datatype.dfy @@ -1,5 +1,10 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype List = Nil | Cons(head: int, tail: List) diff --git a/Test/comp/Datatype.dfy.expect b/Test/comp/Datatype.dfy.expect index 93e37a9562a..84dceeb16e6 100644 --- a/Test/comp/Datatype.dfy.expect +++ b/Test/comp/Datatype.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 12 verified, 0 errors + +Dafny program verifier did not attempt verification List.Nil List.Cons(5, List.Nil) (List.Nil, List.Cons(5, List.Nil)) @@ -20,3 +24,99 @@ Record.Record(58, true) 199 800 801 802 800 801 802 + +Dafny program verifier did not attempt verification +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) +0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) +Stream.Next +Stream.Next +{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} +CoBerry.Hjortron true true false +false +42 'q' hello +1701 +Record.Record(58, true) +199 +800 801 802 +800 801 802 + +Dafny program verifier did not attempt verification +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) +0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) +Stream.Next +Stream.Next +{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} +CoBerry.Hjortron true true false +false +42 'q' hello +1701 +Record.Record(58, true) +199 +800 801 802 +800 801 802 + +Dafny program verifier did not attempt verification +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) +0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) +Stream.Next +Stream.Next +{Berry.Jordgubb, Berry.Smultron, Berry.Hallon} +CoBerry.Hjortron true true false +false +42 'q' hello +1701 +Record.Record(58, true) +199 +800 801 802 +800 801 802 + +Dafny program verifier did not attempt verification +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) +0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) +Stream.Next +Stream.Next +{Berry.Hallon, Berry.Smultron, Berry.Jordgubb} +CoBerry.Hjortron true true false +false +42 'q' hello +1701 +Record.Record(58, true) +199 +800 801 802 +800 801 802 diff --git a/Test/comp/Datatype.dfy.java.expect b/Test/comp/Datatype.dfy.java.expect deleted file mode 100644 index e5a32fd58bc..00000000000 --- a/Test/comp/Datatype.dfy.java.expect +++ /dev/null @@ -1,22 +0,0 @@ -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) -0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) -Stream.Next -Stream.Next -{Berry.Jordgubb, Berry.Smultron, Berry.Hallon} -CoBerry.Hjortron true true false -false -42 'q' hello -1701 -Record.Record(58, true) -199 -800 801 802 -800 801 802 diff --git a/Test/comp/Datatype.dfy.py.expect b/Test/comp/Datatype.dfy.py.expect deleted file mode 100644 index 0f64b73ba2d..00000000000 --- a/Test/comp/Datatype.dfy.py.expect +++ /dev/null @@ -1,22 +0,0 @@ -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) -0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) -Stream.Next -Stream.Next -{Berry.Hallon, Berry.Smultron, Berry.Jordgubb} -CoBerry.Hjortron true true false -false -42 'q' hello -1701 -Record.Record(58, true) -199 -800 801 802 -800 801 802 diff --git a/Test/comp/DefaultParameters-Compile.dfy b/Test/comp/DefaultParameters-Compile.dfy index cd6ba1163b1..145b8670647 100644 --- a/Test/comp/DefaultParameters-Compile.dfy +++ b/Test/comp/DefaultParameters-Compile.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method M(x: int := 16) { print x, "\n"; diff --git a/Test/comp/DefaultParameters-Compile.dfy.expect b/Test/comp/DefaultParameters-Compile.dfy.expect index b4b87321eb5..b94739d5be1 100644 --- a/Test/comp/DefaultParameters-Compile.dfy.expect +++ b/Test/comp/DefaultParameters-Compile.dfy.expect @@ -1,3 +1,51 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification +12 +16 +1 2 +1 3 +10 20 +11 13 +Color.Blue(2, 1) Color.Red(3, 4) +5 5 6 +6 6 7 + +Dafny program verifier did not attempt verification +12 +16 +1 2 +1 3 +10 20 +11 13 +Color.Blue(2, 1) Color.Red(3, 4) +5 5 6 +6 6 7 + +Dafny program verifier did not attempt verification +12 +16 +1 2 +1 3 +10 20 +11 13 +Color.Blue(2, 1) Color.Red(3, 4) +5 5 6 +6 6 7 + +Dafny program verifier did not attempt verification +12 +16 +1 2 +1 3 +10 20 +11 13 +Color.Blue(2, 1) Color.Red(3, 4) +5 5 6 +6 6 7 + +Dafny program verifier did not attempt verification 12 16 1 2 diff --git a/Test/comp/DowncastClone.dfy b/Test/comp/DowncastClone.dfy index cb1f095b3f4..b90066da781 100644 --- a/Test/comp/DowncastClone.dfy +++ b/Test/comp/DowncastClone.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Co<+T> = Co(T) | C datatype ReCo<+T> = ReCo(T) diff --git a/Test/comp/DowncastClone.dfy.expect b/Test/comp/DowncastClone.dfy.expect index b0613294f3c..982b36b396c 100644 --- a/Test/comp/DowncastClone.dfy.expect +++ b/Test/comp/DowncastClone.dfy.expect @@ -1,3 +1,43 @@ + +Dafny program verifier finished with 7 verified, 0 errors + +Dafny program verifier did not attempt verification +Co.Co(_module.Y) and Co.Co(_module.Y) +_module.Y and _module.Y +_module.Y _module.Y +false and false +false and false +_module.Y and _module.Y +Done + +Dafny program verifier did not attempt verification +Co.Co(_module.Y) and Co.Co(_module.Y) +_module.Y and _module.Y +_module.Y _module.Y +false and false +false and false +_module.Y and _module.Y +Done + +Dafny program verifier did not attempt verification +Co.Co(_module.Y) and Co.Co(_module.Y) +_module.Y and _module.Y +_module.Y _module.Y +false and false +false and false +_module.Y and _module.Y +Done + +Dafny program verifier did not attempt verification +Co.Co(_module.Y) and Co.Co(_module.Y) +_module.Y and _module.Y +_module.Y _module.Y +false and false +false and false +_module.Y and _module.Y +Done + +Dafny program verifier did not attempt verification Co.Co(_module.Y) and Co.Co(_module.Y) _module.Y and _module.Y _module.Y _module.Y diff --git a/Test/comp/ErasableTypeWrappers.dfy b/Test/comp/ErasableTypeWrappers.dfy index a280099699f..d62d3736622 100644 --- a/Test/comp/ErasableTypeWrappers.dfy +++ b/Test/comp/ErasableTypeWrappers.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype SingletonRecord = SingletonRecord(u: int) datatype GhostOrNot = ghost Ghost(a: int, b: int) | Compiled(x: int) diff --git a/Test/comp/ErasableTypeWrappers.dfy.expect b/Test/comp/ErasableTypeWrappers.dfy.expect index 2a82d776c64..5013d9fc327 100644 --- a/Test/comp/ErasableTypeWrappers.dfy.expect +++ b/Test/comp/ErasableTypeWrappers.dfy.expect @@ -1,3 +1,87 @@ + +Dafny program verifier finished with 10 verified, 0 errors + +Dafny program verifier did not attempt verification +62 63 (2, 5) (2, 5) 3 +62 63 5 5 3 +5 5 3 +1062 1063 1005 1005 1003 +true true true +20 20 *20 21 20 +20 20 *20 21 20 +true false +true false true false +true false +0 (0, 0) 0 Color.Pink +13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false + 3.14 2.7 +18.0 18.0 3.0 false +18.0 4.0 true +HasConst.MakeC(4) (4, 4) +4 (4, 4) +OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.AnotherIntsWrapper(OptimizationChecks.Ints.Ints(5, 7)) + +Dafny program verifier did not attempt verification +62 63 (2, 5) (2, 5) 3 +62 63 5 5 3 +5 5 3 +1062 1063 1005 1005 1003 +true true true +20 20 *20 21 20 +20 20 *20 21 20 +true false +true false true false +true false +0 (0, 0) 0 Color.Pink +13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false + 3.14 2.7 +18.0 18.0 3.0 false +18.0 4.0 true +HasConst.MakeC(4) (4, 4) +4 (4, 4) +OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.AnotherIntsWrapper(OptimizationChecks.Ints.Ints(5, 7)) + +Dafny program verifier did not attempt verification +62 63 (2, 5) (2, 5) 3 +62 63 5 5 3 +5 5 3 +1062 1063 1005 1005 1003 +true true true +20 20 *20 21 20 +20 20 *20 21 20 +true false +true false true false +true false +0 (0, 0) 0 Color.Pink +13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false + 3.14 2.7 +18.0 18.0 3.0 false +18.0 4.0 true +HasConst.MakeC(4) (4, 4) +4 (4, 4) +OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.AnotherIntsWrapper(OptimizationChecks.Ints.Ints(5, 7)) + +Dafny program verifier did not attempt verification +62 63 (2, 5) (2, 5) 3 +62 63 5 5 3 +5 5 3 +1062 1063 1005 1005 1003 +true true true +20 20 *20 21 20 +20 20 *20 21 20 +true false +true false true false +true false +0 (0, 0) 0 Color.Pink +13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false + 3.14 2.7 +18.0 18.0 3.0 false +18.0 4.0 true +HasConst.MakeC(4) (4, 4) +4 (4, 4) +OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.AnotherIntsWrapper(OptimizationChecks.Ints.Ints(5, 7)) + +Dafny program verifier did not attempt verification 62 63 (2, 5) (2, 5) 3 62 63 5 5 3 5 5 3 diff --git a/Test/comp/EuclideanDivision.dfy b/Test/comp/EuclideanDivision.dfy index 1286dcd125b..7ae1803cad8 100644 --- a/Test/comp/EuclideanDivision.dfy +++ b/Test/comp/EuclideanDivision.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // Some runtimes (like the one for C#) have three implementations // of Euclidean div/mod: one for `int`, one for `long`, and one diff --git a/Test/comp/EuclideanDivision.dfy.expect b/Test/comp/EuclideanDivision.dfy.expect index e2585ff8c70..b538c9494de 100644 --- a/Test/comp/EuclideanDivision.dfy.expect +++ b/Test/comp/EuclideanDivision.dfy.expect @@ -1,3 +1,39 @@ + +Dafny program verifier finished with 11 verified, 0 errors + +Dafny program verifier did not attempt verification +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 + +Dafny program verifier did not attempt verification +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 + +Dafny program verifier did not attempt verification +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 + +Dafny program verifier did not attempt verification +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 + +Dafny program verifier did not attempt verification 2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 diff --git a/Test/comp/ForLoops-Compilation.dfy b/Test/comp/ForLoops-Compilation.dfy index b468d21f69f..97101b82961 100644 --- a/Test/comp/ForLoops-Compilation.dfy +++ b/Test/comp/ForLoops-Compilation.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { TestM(0, 0); diff --git a/Test/comp/ForLoops-Compilation.dfy.expect b/Test/comp/ForLoops-Compilation.dfy.expect index 97724a714bc..d67a5429fed 100644 --- a/Test/comp/ForLoops-Compilation.dfy.expect +++ b/Test/comp/ForLoops-Compilation.dfy.expect @@ -1,3 +1,203 @@ + +Dafny program verifier finished with 23 verified, 0 errors + +Dafny program verifier did not attempt verification +0 0 0 0 +-2 -2 -2 -2 +0 0 0 0 +145 145 145 145 +0 0 +0 0 +57 57 +0 0 +32385 32385 +0 0 +-128 -128 +126 126 +0 0 +0 * 2 == 0 +2 * 0 == 0 +1 * 1 == 1 +6 * 5 == 30 +0 + 3 == 3 +3 + 0 == 3 +4 + 0 == 4 +0 + 0 == 0 +19 + 14 == 33 +4 4 4 +== BC10 == +0 --++--++---- *** +1 --++--++----++-- +2 --++--++----++--++--++--++--++--++--++ *** +3 --++--++----++--++--++--++--++--++--++ *** +4 --++--++----++--++--++--++--++--++--++ *** +5 --++--++----++--++--++--++--++--++--++ *** +6 --++--++----++--++--++--++--++--++--++ *** +7 --++--++----++--++--++--++--++--++--++ *** +8 --++--++----++--++--++--++--++--++--++ *** +9 --++--++----++--++--++--++--++--++--++ *** +== BC11 == +0 ||--++----++-- *** +1 ||--++----++--++-- +2 ||--++----++--++--++--++--++--++--++--++ *** +3 ||--++----++--++--++--++--++--++--++--++ *** +4 ||--++----++--++--++--++--++--++--++--++ *** +5 ||--++----++--++--++--++--++--++--++--++ *** +6 ||--++----++--++--++--++--++--++--++--++ *** +7 ||--++----++--++--++--++--++--++--++--++ *** +8 ||--++----++--++--++--++--++--++--++--++ *** +9 ||--++----++--++--++--++--++--++--++--++ *** +true true true 15 +all good + +Dafny program verifier did not attempt verification +0 0 0 0 +-2 -2 -2 -2 +0 0 0 0 +145 145 145 145 +0 0 +0 0 +57 57 +0 0 +32385 32385 +0 0 +-128 -128 +126 126 +0 0 +0 * 2 == 0 +2 * 0 == 0 +1 * 1 == 1 +6 * 5 == 30 +0 + 3 == 3 +3 + 0 == 3 +4 + 0 == 4 +0 + 0 == 0 +19 + 14 == 33 +4 4 4 +== BC10 == +0 --++--++---- *** +1 --++--++----++-- +2 --++--++----++--++--++--++--++--++--++ *** +3 --++--++----++--++--++--++--++--++--++ *** +4 --++--++----++--++--++--++--++--++--++ *** +5 --++--++----++--++--++--++--++--++--++ *** +6 --++--++----++--++--++--++--++--++--++ *** +7 --++--++----++--++--++--++--++--++--++ *** +8 --++--++----++--++--++--++--++--++--++ *** +9 --++--++----++--++--++--++--++--++--++ *** +== BC11 == +0 ||--++----++-- *** +1 ||--++----++--++-- +2 ||--++----++--++--++--++--++--++--++--++ *** +3 ||--++----++--++--++--++--++--++--++--++ *** +4 ||--++----++--++--++--++--++--++--++--++ *** +5 ||--++----++--++--++--++--++--++--++--++ *** +6 ||--++----++--++--++--++--++--++--++--++ *** +7 ||--++----++--++--++--++--++--++--++--++ *** +8 ||--++----++--++--++--++--++--++--++--++ *** +9 ||--++----++--++--++--++--++--++--++--++ *** +true true true 15 +all good + +Dafny program verifier did not attempt verification +0 0 0 0 +-2 -2 -2 -2 +0 0 0 0 +145 145 145 145 +0 0 +0 0 +57 57 +0 0 +32385 32385 +0 0 +-128 -128 +126 126 +0 0 +0 * 2 == 0 +2 * 0 == 0 +1 * 1 == 1 +6 * 5 == 30 +0 + 3 == 3 +3 + 0 == 3 +4 + 0 == 4 +0 + 0 == 0 +19 + 14 == 33 +4 4 4 +== BC10 == +0 --++--++---- *** +1 --++--++----++-- +2 --++--++----++--++--++--++--++--++--++ *** +3 --++--++----++--++--++--++--++--++--++ *** +4 --++--++----++--++--++--++--++--++--++ *** +5 --++--++----++--++--++--++--++--++--++ *** +6 --++--++----++--++--++--++--++--++--++ *** +7 --++--++----++--++--++--++--++--++--++ *** +8 --++--++----++--++--++--++--++--++--++ *** +9 --++--++----++--++--++--++--++--++--++ *** +== BC11 == +0 ||--++----++-- *** +1 ||--++----++--++-- +2 ||--++----++--++--++--++--++--++--++--++ *** +3 ||--++----++--++--++--++--++--++--++--++ *** +4 ||--++----++--++--++--++--++--++--++--++ *** +5 ||--++----++--++--++--++--++--++--++--++ *** +6 ||--++----++--++--++--++--++--++--++--++ *** +7 ||--++----++--++--++--++--++--++--++--++ *** +8 ||--++----++--++--++--++--++--++--++--++ *** +9 ||--++----++--++--++--++--++--++--++--++ *** +true true true 15 +all good + +Dafny program verifier did not attempt verification +0 0 0 0 +-2 -2 -2 -2 +0 0 0 0 +145 145 145 145 +0 0 +0 0 +57 57 +0 0 +32385 32385 +0 0 +-128 -128 +126 126 +0 0 +0 * 2 == 0 +2 * 0 == 0 +1 * 1 == 1 +6 * 5 == 30 +0 + 3 == 3 +3 + 0 == 3 +4 + 0 == 4 +0 + 0 == 0 +19 + 14 == 33 +4 4 4 +== BC10 == +0 --++--++---- *** +1 --++--++----++-- +2 --++--++----++--++--++--++--++--++--++ *** +3 --++--++----++--++--++--++--++--++--++ *** +4 --++--++----++--++--++--++--++--++--++ *** +5 --++--++----++--++--++--++--++--++--++ *** +6 --++--++----++--++--++--++--++--++--++ *** +7 --++--++----++--++--++--++--++--++--++ *** +8 --++--++----++--++--++--++--++--++--++ *** +9 --++--++----++--++--++--++--++--++--++ *** +== BC11 == +0 ||--++----++-- *** +1 ||--++----++--++-- +2 ||--++----++--++--++--++--++--++--++--++ *** +3 ||--++----++--++--++--++--++--++--++--++ *** +4 ||--++----++--++--++--++--++--++--++--++ *** +5 ||--++----++--++--++--++--++--++--++--++ *** +6 ||--++----++--++--++--++--++--++--++--++ *** +7 ||--++----++--++--++--++--++--++--++--++ *** +8 ||--++----++--++--++--++--++--++--++--++ *** +9 ||--++----++--++--++--++--++--++--++--++ *** +true true true 15 +all good + +Dafny program verifier did not attempt verification 0 0 0 0 -2 -2 -2 -2 0 0 0 0 diff --git a/Test/comp/ForallNewSyntax.dfy b/Test/comp/ForallNewSyntax.dfy index 85e609b37b3..c17bf86830e 100644 --- a/Test/comp/ForallNewSyntax.dfy +++ b/Test/comp/ForallNewSyntax.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --function-syntax:3 --quantifier-syntax:4 --relax-definite-assignment +// RUN: %baredafny verify %args --relax-definite-assignment --function-syntax:3 --quantifier-syntax:4 "%s" > "%t" +// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:cs "%s" >> "%t" +// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:js "%s" >> "%t" +// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:go "%s" >> "%t" +// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:java "%s" >> "%t" +// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var arrayTests := new ArrayTests(); diff --git a/Test/comp/ForallNewSyntax.dfy.expect b/Test/comp/ForallNewSyntax.dfy.expect index 5b33d939607..241ea9ea521 100644 --- a/Test/comp/ForallNewSyntax.dfy.expect +++ b/Test/comp/ForallNewSyntax.dfy.expect @@ -1,3 +1,183 @@ + +Dafny program verifier finished with 25 verified, 0 errors + +Dafny program verifier did not attempt verification +Arrays: Basic cases +[0, 1, 2, 3, 4] +[0, 1, 2, 3, 4] +[0, 1, 4, 3, 8] + +Arrays: Wrong index +[0, 0, 1, 2, 3] +[0, 0, 1, 2, 3] +[1, 2, 3, 4, 5] + +Arrays: Sequence conversion +[2, 1, 4, 5, 6] +[0, 3, 3, 3, 4] + +Arrays: Index collection +[1, 1, 2, 3, 4] +[1, 1, 2, 3, 4] + +Arrays: Functions +[1, 1, 3, 4, 5] +[1, 1, 3, 4, 5] +[1, 2, 3, 3, 5] +[1, 2, 3, 4, 5] + +Multi-dimensional arrays +[[0, 2, 4], [1, 3, 5], [2, 4, 6]] +[[0, 1, 2], [2, 3, 4], [4, 5, 6]] + +Objects: Basic cases +[(0, 1.0), (0, 2.0), (0, 3.0)] +[(2, 1.0), (2, 2.0), (4, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] + +Objects: Bad field accesses +[(2, 1.0), (3, 2.0), (4, 3.0)] +[(2, 1.0), (2, 2.0), (2, 3.0)] +[(2, 1.0), (3, 2.0), (1, 3.0)] + +Objects: Functions +[(2, 1.0), (4, 2.0), (6, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] +[(3, 1.0), (4, 2.0), (5, 3.0)] + +Dafny program verifier did not attempt verification +Arrays: Basic cases +[0, 1, 2, 3, 4] +[0, 1, 2, 3, 4] +[0, 1, 4, 3, 8] + +Arrays: Wrong index +[0, 0, 1, 2, 3] +[0, 0, 1, 2, 3] +[1, 2, 3, 4, 5] + +Arrays: Sequence conversion +[2, 1, 4, 5, 6] +[0, 3, 3, 3, 4] + +Arrays: Index collection +[1, 1, 2, 3, 4] +[1, 1, 2, 3, 4] + +Arrays: Functions +[1, 1, 3, 4, 5] +[1, 1, 3, 4, 5] +[1, 2, 3, 3, 5] +[1, 2, 3, 4, 5] + +Multi-dimensional arrays +[[0, 2, 4], [1, 3, 5], [2, 4, 6]] +[[0, 1, 2], [2, 3, 4], [4, 5, 6]] + +Objects: Basic cases +[(0, 1.0), (0, 2.0), (0, 3.0)] +[(2, 1.0), (2, 2.0), (4, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] + +Objects: Bad field accesses +[(2, 1.0), (3, 2.0), (4, 3.0)] +[(2, 1.0), (2, 2.0), (2, 3.0)] +[(2, 1.0), (3, 2.0), (1, 3.0)] + +Objects: Functions +[(2, 1.0), (4, 2.0), (6, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] +[(3, 1.0), (4, 2.0), (5, 3.0)] + +Dafny program verifier did not attempt verification +Arrays: Basic cases +[0, 1, 2, 3, 4] +[0, 1, 2, 3, 4] +[0, 1, 4, 3, 8] + +Arrays: Wrong index +[0, 0, 1, 2, 3] +[0, 0, 1, 2, 3] +[1, 2, 3, 4, 5] + +Arrays: Sequence conversion +[2, 1, 4, 5, 6] +[0, 3, 3, 3, 4] + +Arrays: Index collection +[1, 1, 2, 3, 4] +[1, 1, 2, 3, 4] + +Arrays: Functions +[1, 1, 3, 4, 5] +[1, 1, 3, 4, 5] +[1, 2, 3, 3, 5] +[1, 2, 3, 4, 5] + +Multi-dimensional arrays +[[0, 2, 4], [1, 3, 5], [2, 4, 6]] +[[0, 1, 2], [2, 3, 4], [4, 5, 6]] + +Objects: Basic cases +[(0, 1.0), (0, 2.0), (0, 3.0)] +[(2, 1.0), (2, 2.0), (4, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] + +Objects: Bad field accesses +[(2, 1.0), (3, 2.0), (4, 3.0)] +[(2, 1.0), (2, 2.0), (2, 3.0)] +[(2, 1.0), (3, 2.0), (1, 3.0)] + +Objects: Functions +[(2, 1.0), (4, 2.0), (6, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] +[(3, 1.0), (4, 2.0), (5, 3.0)] + +Dafny program verifier did not attempt verification +Arrays: Basic cases +[0, 1, 2, 3, 4] +[0, 1, 2, 3, 4] +[0, 1, 4, 3, 8] + +Arrays: Wrong index +[0, 0, 1, 2, 3] +[0, 0, 1, 2, 3] +[1, 2, 3, 4, 5] + +Arrays: Sequence conversion +[2, 1, 4, 5, 6] +[0, 3, 3, 3, 4] + +Arrays: Index collection +[1, 1, 2, 3, 4] +[1, 1, 2, 3, 4] + +Arrays: Functions +[1, 1, 3, 4, 5] +[1, 1, 3, 4, 5] +[1, 2, 3, 3, 5] +[1, 2, 3, 4, 5] + +Multi-dimensional arrays +[[0, 2, 4], [1, 3, 5], [2, 4, 6]] +[[0, 1, 2], [2, 3, 4], [4, 5, 6]] + +Objects: Basic cases +[(0, 1.0), (0, 2.0), (0, 3.0)] +[(2, 1.0), (2, 2.0), (4, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] + +Objects: Bad field accesses +[(2, 1.0), (3, 2.0), (4, 3.0)] +[(2, 1.0), (2, 2.0), (2, 3.0)] +[(2, 1.0), (3, 2.0), (1, 3.0)] + +Objects: Functions +[(2, 1.0), (4, 2.0), (6, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] +[(3, 1.0), (4, 2.0), (5, 3.0)] + +Dafny program verifier did not attempt verification Arrays: Basic cases [0, 1, 2, 3, 4] [0, 1, 2, 3, 4] diff --git a/Test/comp/Ghosts.dfy b/Test/comp/Ghosts.dfy index 8afe8a36d3f..506fe0facb1 100644 --- a/Test/comp/Ghosts.dfy +++ b/Test/comp/Ghosts.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method M1() returns (x: int) { diff --git a/Test/comp/Ghosts.dfy.expect b/Test/comp/Ghosts.dfy.expect index d075ea048c1..430a9c18fc0 100644 --- a/Test/comp/Ghosts.dfy.expect +++ b/Test/comp/Ghosts.dfy.expect @@ -1,3 +1,55 @@ + +Dafny program verifier finished with 8 verified, 0 errors + +Dafny program verifier did not attempt verification +hello, M2 +hello, M2 +hello, M3 +hello, M1 +hello, M1 +hello, M1 +hello, M2 +hello, M3 +hello, N0 +hello, N1 + +Dafny program verifier did not attempt verification +hello, M2 +hello, M2 +hello, M3 +hello, M1 +hello, M1 +hello, M1 +hello, M2 +hello, M3 +hello, N0 +hello, N1 + +Dafny program verifier did not attempt verification +hello, M2 +hello, M2 +hello, M3 +hello, M1 +hello, M1 +hello, M1 +hello, M2 +hello, M3 +hello, N0 +hello, N1 + +Dafny program verifier did not attempt verification +hello, M2 +hello, M2 +hello, M3 +hello, M1 +hello, M1 +hello, M1 +hello, M2 +hello, M3 +hello, N0 +hello, N1 + +Dafny program verifier did not attempt verification hello, M2 hello, M2 hello, M3 diff --git a/Test/comp/Let.dfy b/Test/comp/Let.dfy index 2a639009c78..64dce8b90e6 100644 --- a/Test/comp/Let.dfy +++ b/Test/comp/Let.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cs "%s" > "%t" +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method M() returns (x: int) { x := var y := 50; y; // non-top-level let diff --git a/Test/comp/Let.dfy.expect b/Test/comp/Let.dfy.expect index f05dfc414c1..667abc32458 100644 --- a/Test/comp/Let.dfy.expect +++ b/Test/comp/Let.dfy.expect @@ -1,3 +1,37 @@ + +Dafny program verifier finished with 5 verified, 0 errors +50 58 +Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) +5 7 9 10 12 30 +5 7 +5 7 +12.0 15.0 15.0 15.0 + +Dafny program verifier finished with 5 verified, 0 errors +50 58 +Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) +5 7 9 10 12 30 +5 7 +5 7 +12.0 15.0 15.0 15.0 + +Dafny program verifier finished with 5 verified, 0 errors +50 58 +Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) +5 7 9 10 12 30 +5 7 +5 7 +12.0 15.0 15.0 15.0 + +Dafny program verifier finished with 5 verified, 0 errors +50 58 +Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) +5 7 9 10 12 30 +5 7 +5 7 +12.0 15.0 15.0 15.0 + +Dafny program verifier finished with 5 verified, 0 errors 50 58 Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) 5 7 9 10 12 30 diff --git a/Test/comp/MoreAutoInit.dfy b/Test/comp/MoreAutoInit.dfy index c72083f1be5..46bdf7148f1 100644 --- a/Test/comp/MoreAutoInit.dfy +++ b/Test/comp/MoreAutoInit.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { Methods.TestStart(); diff --git a/Test/comp/MoreAutoInit.dfy.expect b/Test/comp/MoreAutoInit.dfy.expect index a077ee0daa9..e707d9ea27a 100644 --- a/Test/comp/MoreAutoInit.dfy.expect +++ b/Test/comp/MoreAutoInit.dfy.expect @@ -1,3 +1,575 @@ + +Dafny program verifier finished with 38 verified, 0 errors + +Dafny program verifier did not attempt verification +Methods.Uni.Uni + ++ Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +{} + ++ {} +[] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +Functions.Uni.Uni + ++ Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +{2} + ++ {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ** Consts.Uni.Uni ++ Consts.Uni.Uni +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ** Consts.Uni.Uni ++ Consts.Uni.Uni +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ** Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni +[] ++ [] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] + ** [] ++ [] +[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] + ** [] ++ [] +[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] +[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] + ++ [Consts.Uni.Uni] ++ [] + ** [] ++ [] ++ [] +15 +0-0 0.0-0.0 false-false 'D'-'D' 0 +0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 +0-0 0-0 0-0 0-0 1 1 +0.0-0.0 68.0 +null-null null-null null-null null-null +0 +0:0:0 +0-0 +{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] +DefaultValuedExpressions.Color.Red-DefaultValuedExpressions.Color.Red DefaultValuedExpressions.PossibleCell.Nothing-DefaultValuedExpressions.PossibleCell.Nothing DefaultValuedExpressions.Cell.LittleCell(0)-DefaultValuedExpressions.Cell.LittleCell(0) +()-() (0, 0.0)-(0, 0.0) +(DefaultValuedExpressions.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions.Color.Red, (0, 0.0), ()) +null-null null-null +0-0 0-0 0-0 3 4 5 +0-0 11 0-0 8 + +Dafny program verifier did not attempt verification +Methods.Uni.Uni + ++ Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +{} + ++ {} +[] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +Functions.Uni.Uni + ++ Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +{2} + ++ {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ** Consts.Uni.Uni ++ Consts.Uni.Uni +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ** Consts.Uni.Uni ++ Consts.Uni.Uni +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ** Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni +[] ++ [] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] + ** [] ++ [] +[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] + ** [] ++ [] +[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] +[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] + ++ [Consts.Uni.Uni] ++ [] + ** [] ++ [] ++ [] +15 +0-0 0.0-0.0 false-false 'D'-'D' 0 +0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 +0-0 0-0 0-0 0-0 1 1 +0.0-0.0 68.0 +null-null null-null null-null null-null +0 +0:0:0 +0-0 +{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] +DefaultValuedExpressions.Color.Red-DefaultValuedExpressions.Color.Red DefaultValuedExpressions.PossibleCell.Nothing-DefaultValuedExpressions.PossibleCell.Nothing DefaultValuedExpressions.Cell.LittleCell(0)-DefaultValuedExpressions.Cell.LittleCell(0) +()-() (0, 0.0)-(0, 0.0) +(DefaultValuedExpressions.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions.Color.Red, (0, 0.0), ()) +null-null null-null +0-0 0-0 0-0 3 4 5 +0-0 11 0-0 8 + +Dafny program verifier did not attempt verification +Methods.Uni.Uni + ++ Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +{} + ++ {} +[] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +Functions.Uni.Uni + ++ Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +{2} + ++ {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ** Consts.Uni.Uni ++ Consts.Uni.Uni +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ** Consts.Uni.Uni ++ Consts.Uni.Uni +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ** Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni +[] ++ [] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] + ** [] ++ [] +[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] + ** [] ++ [] +[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] +[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] + ++ [Consts.Uni.Uni] ++ [] + ** [] ++ [] ++ [] +15 +0-0 0.0-0.0 false-false 'D'-'D' 0 +0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 +0-0 0-0 0-0 0-0 1 1 +0.0-0.0 68.0 +null-null null-null null-null null-null +0 +0:0:0 +0-0 +{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] +DefaultValuedExpressions.Color.Red-DefaultValuedExpressions.Color.Red DefaultValuedExpressions.PossibleCell.Nothing-DefaultValuedExpressions.PossibleCell.Nothing DefaultValuedExpressions.Cell.LittleCell(0)-DefaultValuedExpressions.Cell.LittleCell(0) +()-() (0, 0.0)-(0, 0.0) +(DefaultValuedExpressions.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions.Color.Red, (0, 0.0), ()) +null-null null-null +0-0 0-0 0-0 3 4 5 +0-0 11 0-0 8 + +Dafny program verifier did not attempt verification +Methods.Uni.Uni + ++ Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +{} + ++ {} +[] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +Functions.Uni.Uni + ++ Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +{2} + ++ {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ** Consts.Uni.Uni ++ Consts.Uni.Uni +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ** Consts.Uni.Uni ++ Consts.Uni.Uni +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ** Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni +[] ++ [] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] + ** [] ++ [] +[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] + ** [] ++ [] +[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] +[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] + ++ [Consts.Uni.Uni] ++ [] + ** [] ++ [] ++ [] +15 +0-0 0.0-0.0 false-false 'D'-'D' 0 +0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 +0-0 0-0 0-0 0-0 1 1 +0.0-0.0 68.0 +null-null null-null null-null null-null +0 +0:0:0 +0-0 +{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] +DefaultValuedExpressions.Color.Red-DefaultValuedExpressions.Color.Red DefaultValuedExpressions.PossibleCell.Nothing-DefaultValuedExpressions.PossibleCell.Nothing DefaultValuedExpressions.Cell.LittleCell(0)-DefaultValuedExpressions.Cell.LittleCell(0) +()-() (0, 0.0)-(0, 0.0) +(DefaultValuedExpressions.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions.Color.Red, (0, 0.0), ()) +null-null null-null +0-0 0-0 0-0 3 4 5 +0-0 11 0-0 8 + +Dafny program verifier did not attempt verification Methods.Uni.Uni ++ Methods.Uni.Uni Methods.Uni.Uni Methods.Uni.Uni diff --git a/Test/comp/NativeNumbers.dfy b/Test/comp/NativeNumbers.dfy index e1fadb1c406..c63d02cf643 100644 --- a/Test/comp/NativeNumbers.dfy +++ b/Test/comp/NativeNumbers.dfy @@ -1,6 +1,11 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false // Skip JavaScript because JavaScript doesn't have the same native types +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { CastTests(); diff --git a/Test/comp/NativeNumbers.dfy.expect b/Test/comp/NativeNumbers.dfy.expect index 6a9d263fc73..2be030252cf 100644 --- a/Test/comp/NativeNumbers.dfy.expect +++ b/Test/comp/NativeNumbers.dfy.expect @@ -1,3 +1,259 @@ + +Dafny program verifier finished with 25 verified, 0 errors + +Dafny program verifier did not attempt verification +Casting: + +Small numbers: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 +5 5 5 5 5 5 5 5 5 +6 6 6 6 6 6 6 6 6 +7 7 7 7 7 7 7 7 7 +8 8 8 8 8 8 8 8 8 + +Large unsigned numbers: +255 255 255 255 255 255 255 255 +65535 65535 65535 65535 65535 65535 +4294967295 4294967295 4294967295 4294967295 +18446744073709551615 18446744073709551615 + +Int to large unsigned: +255 65535 4294967295 18446744073709551615 + +Cast from cardinality operator: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 + +Characters: +C 67 67 67 67 67 67 67 67 67 +0 127 32767 65535 65535 255 65535 65535 65535 + +Defaults: + +0 0 0 0 0 0 0 0 0 + +Byte arithmetic: + +20 30 +10 10 18 + +Short arithmetic: + +20 30 +10 10 18 + +Bitvectors: + +0 3 4 1 + +Comparison to zero: + +int8: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int16: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int32: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int64: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint8: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint16: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint32: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint64: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N + + +Dafny program verifier did not attempt verification +Casting: + +Small numbers: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 +5 5 5 5 5 5 5 5 5 +6 6 6 6 6 6 6 6 6 +7 7 7 7 7 7 7 7 7 +8 8 8 8 8 8 8 8 8 + +Large unsigned numbers: +255 255 255 255 255 255 255 255 +65535 65535 65535 65535 65535 65535 +4294967295 4294967295 4294967295 4294967295 +18446744073709551615 18446744073709551615 + +Int to large unsigned: +255 65535 4294967295 18446744073709551615 + +Cast from cardinality operator: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 + +Characters: +C 67 67 67 67 67 67 67 67 67 +0 127 32767 65535 65535 255 65535 65535 65535 + +Defaults: + +0 0 0 0 0 0 0 0 0 + +Byte arithmetic: + +20 30 +10 10 18 + +Short arithmetic: + +20 30 +10 10 18 + +Bitvectors: + +0 3 4 1 + +Comparison to zero: + +int8: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int16: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int32: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int64: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint8: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint16: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint32: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint64: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N + + +Dafny program verifier did not attempt verification +Casting: + +Small numbers: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 +5 5 5 5 5 5 5 5 5 +6 6 6 6 6 6 6 6 6 +7 7 7 7 7 7 7 7 7 +8 8 8 8 8 8 8 8 8 + +Large unsigned numbers: +255 255 255 255 255 255 255 255 +65535 65535 65535 65535 65535 65535 +4294967295 4294967295 4294967295 4294967295 +18446744073709551615 18446744073709551615 + +Int to large unsigned: +255 65535 4294967295 18446744073709551615 + +Cast from cardinality operator: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 + +Characters: +C 67 67 67 67 67 67 67 67 67 +0 127 32767 65535 65535 255 65535 65535 65535 + +Defaults: + +0 0 0 0 0 0 0 0 0 + +Byte arithmetic: + +20 30 +10 10 18 + +Short arithmetic: + +20 30 +10 10 18 + +Bitvectors: + +0 3 4 1 + +Comparison to zero: + +int8: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int16: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int32: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int64: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint8: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint16: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint32: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint64: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N + + +Dafny program verifier did not attempt verification Casting: Small numbers: diff --git a/Test/comp/NestedArrays.dfy b/Test/comp/NestedArrays.dfy index 39d256f4936..0c2b313a32c 100644 --- a/Test/comp/NestedArrays.dfy +++ b/Test/comp/NestedArrays.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %baredafny verify --relax-definite-assignment %args "%s" > "%t" +// RUN: %baredafny run --no-verify --target=cs %args "%s" >> "%t" +// RUN: %baredafny run --no-verify --target=js %args "%s" >> "%t" +// RUN: %baredafny run --no-verify --target=go %args "%s" >> "%t" +// RUN: %baredafny run --no-verify --target=py %args "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" /* Note, compiling to arrays in Java is difficult. In fact, this is currently * broken, see https://github.com/dafny-lang/dafny/issues/3055. Until this gets diff --git a/Test/comp/NestedArrays.dfy.expect b/Test/comp/NestedArrays.dfy.expect index aa47d0d46d4..a24d140b9d4 100644 --- a/Test/comp/NestedArrays.dfy.expect +++ b/Test/comp/NestedArrays.dfy.expect @@ -1,2 +1,18 @@ + +Dafny program verifier finished with 4 verified, 0 errors + +Dafny program verifier did not attempt verification +0 +0 + +Dafny program verifier did not attempt verification +0 +0 + +Dafny program verifier did not attempt verification +0 +0 + +Dafny program verifier did not attempt verification 0 0 diff --git a/Test/comp/Numbers.dfy b/Test/comp/Numbers.dfy index c76bc87fdc0..36bf24dcdb4 100644 --- a/Test/comp/Numbers.dfy +++ b/Test/comp/Numbers.dfy @@ -1,5 +1,10 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { Literals(); diff --git a/Test/comp/Numbers.dfy.expect b/Test/comp/Numbers.dfy.expect index 7eacf4e709d..8d994e1c7c6 100644 --- a/Test/comp/Numbers.dfy.expect +++ b/Test/comp/Numbers.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 59 verified, 0 errors + +Dafny program verifier did not attempt verification 0 0 3 @@ -109,3 +113,455 @@ true false true false false true false true true false true false 20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +g Q 2 +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +(312.0 / 40.0) (1248.0 / 40.0) +(-312.0 / 40.0) (-1248.0 / 40.0) +(-312.0 / 40.0) (1248.0 / 40.0) +(312.0 / 40.0) (-1248.0 / 40.0) +0.0 0.0 0.0 +120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) +123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 (8100.0 / 8100.0) +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +g Q 2 +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +g Q 2 +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +(312.0 / 40.0) (1248.0 / 40.0) +(-312.0 / 40.0) (-1248.0 / 40.0) +(-312.0 / 40.0) (1248.0 / 40.0) +(312.0 / 40.0) (-1248.0 / 40.0) +0.0 0.0 0.0 +120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) +123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 (8100.0 / 8100.0) +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +g Q 2 +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 diff --git a/Test/comp/Numbers.dfy.go.expect b/Test/comp/Numbers.dfy.go.expect deleted file mode 100644 index ce109553619..00000000000 --- a/Test/comp/Numbers.dfy.go.expect +++ /dev/null @@ -1,111 +0,0 @@ -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -g Q 2 -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 diff --git a/Test/comp/Numbers.dfy.py.expect b/Test/comp/Numbers.dfy.py.expect deleted file mode 100644 index ce109553619..00000000000 --- a/Test/comp/Numbers.dfy.py.expect +++ /dev/null @@ -1,111 +0,0 @@ -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -g Q 2 -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 diff --git a/Test/comp/Poly.dfy b/Test/comp/Poly.dfy index 5af5e8134e9..f3c3aa58599 100644 --- a/Test/comp/Poly.dfy +++ b/Test/comp/Poly.dfy @@ -1,5 +1,10 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" trait Shape { function Center(): (real, real) reads this diff --git a/Test/comp/Poly.dfy.expect b/Test/comp/Poly.dfy.expect index 7dc24821586..4ffff82d5ab 100644 --- a/Test/comp/Poly.dfy.expect +++ b/Test/comp/Poly.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 15 verified, 0 errors + +Dafny program verifier did not attempt verification Center of square: ((1.0 / 2.0), (1.0 / 2.0)) Center of circle: (1.0, 1.0) Center: ((1.0 / 2.0), (1.0 / 2.0)) @@ -10,3 +14,59 @@ Center: ((1.0 / 2.0), (1.0 / 2.0)) Center: (1.0, 1.0) Center: ((1.0 / 2.0), (1.0 / 2.0)) Center: (1.0, 1.0) + +Dafny program verifier did not attempt verification +Center of square: ((1.0 / 2.0), (1.0 / 2.0)) +Center of circle: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) + +Dafny program verifier did not attempt verification +Center of square: ((1.0 / 2.0), (1.0 / 2.0)) +Center of circle: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) + +Dafny program verifier did not attempt verification +Center of square: (0.5, 0.5) +Center of circle: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) + +Dafny program verifier did not attempt verification +Center of square: (0.5, 0.5) +Center of circle: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) diff --git a/Test/comp/Poly.dfy.go.expect b/Test/comp/Poly.dfy.go.expect deleted file mode 100644 index 88e09c5e6ff..00000000000 --- a/Test/comp/Poly.dfy.go.expect +++ /dev/null @@ -1,12 +0,0 @@ -Center of square: (0.5, 0.5) -Center of circle: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) diff --git a/Test/comp/Poly.dfy.py.expect b/Test/comp/Poly.dfy.py.expect deleted file mode 100644 index 88e09c5e6ff..00000000000 --- a/Test/comp/Poly.dfy.py.expect +++ /dev/null @@ -1,12 +0,0 @@ -Center of square: (0.5, 0.5) -Center of circle: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) diff --git a/Test/comp/StaticMembersOfGenericTypes.dfy b/Test/comp/StaticMembersOfGenericTypes.dfy index 8a8614d21a5..8c402dab951 100644 --- a/Test/comp/StaticMembersOfGenericTypes.dfy +++ b/Test/comp/StaticMembersOfGenericTypes.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { GenericClass(); diff --git a/Test/comp/StaticMembersOfGenericTypes.dfy.expect b/Test/comp/StaticMembersOfGenericTypes.dfy.expect index 196f1295e12..54e32b42ee5 100644 --- a/Test/comp/StaticMembersOfGenericTypes.dfy.expect +++ b/Test/comp/StaticMembersOfGenericTypes.dfy.expect @@ -1,3 +1,79 @@ + +Dafny program verifier finished with 9 verified, 0 errors + +Dafny program verifier did not attempt verification +(0, 1) (true, 2, 3) +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +(2.0, true) (3.0, false) +(2.0, true) (3.0, false) +true false +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +50 3 4 +149 + +Dafny program verifier did not attempt verification +(0, 1) (true, 2, 3) +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +(2.0, true) (3.0, false) +(2.0, true) (3.0, false) +true false +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +50 3 4 +149 + +Dafny program verifier did not attempt verification +(0, 1) (true, 2, 3) +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +(2.0, true) (3.0, false) +(2.0, true) (3.0, false) +true false +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +50 3 4 +149 + +Dafny program verifier did not attempt verification +(0, 1) (true, 2, 3) +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +(2.0, true) (3.0, false) +(2.0, true) (3.0, false) +true false +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +50 3 4 +149 + +Dafny program verifier did not attempt verification (0, 1) (true, 2, 3) 0 25 (20, 21) (20, 21) 23 22 0 25 (20, 21) (20, 21) 23 22 diff --git a/Test/comp/TailRecursion.dfy b/Test/comp/TailRecursion.dfy index b3631d5eccc..68ba6ee4669 100644 --- a/Test/comp/TailRecursion.dfy +++ b/Test/comp/TailRecursion.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { // In the following, 2_000_000 is too large an argument without tail-calls diff --git a/Test/comp/TailRecursion.dfy.expect b/Test/comp/TailRecursion.dfy.expect index 4b9da7e5093..23c852a41fe 100644 --- a/Test/comp/TailRecursion.dfy.expect +++ b/Test/comp/TailRecursion.dfy.expect @@ -1,3 +1,79 @@ + +Dafny program verifier finished with 28 verified, 0 errors + +Dafny program verifier did not attempt verification +2000000 2000000 +2000000 2000000 +1000000 1000000 +10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 +TriangleNumber(10) = 55 +TriangleNumber_Real(10) = 55.0 +TriangleNumber_ORDINAL(10) = 55 +Factorial(5) = 120 +Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] +UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] +Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 +TheBigSubtract(100) = -12 +TailNat(10) = 50 +17 17 17 +2000000 + +Dafny program verifier did not attempt verification +2000000 2000000 +2000000 2000000 +1000000 1000000 +10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 +TriangleNumber(10) = 55 +TriangleNumber_Real(10) = 55.0 +TriangleNumber_ORDINAL(10) = 55 +Factorial(5) = 120 +Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] +UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] +Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 +TheBigSubtract(100) = -12 +TailNat(10) = 50 +17 17 17 +2000000 + +Dafny program verifier did not attempt verification +2000000 2000000 +2000000 2000000 +1000000 1000000 +10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 +TriangleNumber(10) = 55 +TriangleNumber_Real(10) = 55.0 +TriangleNumber_ORDINAL(10) = 55 +Factorial(5) = 120 +Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] +UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] +Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 +TheBigSubtract(100) = -12 +TailNat(10) = 50 +17 17 17 +2000000 + +Dafny program verifier did not attempt verification +2000000 2000000 +2000000 2000000 +1000000 1000000 +10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 +TriangleNumber(10) = 55 +TriangleNumber_Real(10) = 55.0 +TriangleNumber_ORDINAL(10) = 55 +Factorial(5) = 120 +Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] +UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] +Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 +TheBigSubtract(100) = -12 +TailNat(10) = 50 +17 17 17 +2000000 + +Dafny program verifier did not attempt verification 2000000 2000000 2000000 2000000 1000000 1000000 diff --git a/Test/comp/TypeDescriptors.dfy b/Test/comp/TypeDescriptors.dfy index 5bedbb900e4..636cb3db583 100644 --- a/Test/comp/TypeDescriptors.dfy +++ b/Test/comp/TypeDescriptors.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Method(s: string, g: G) { var zero: G; diff --git a/Test/comp/TypeDescriptors.dfy.expect b/Test/comp/TypeDescriptors.dfy.expect index 1b09338c83d..9b1e8487bdc 100644 --- a/Test/comp/TypeDescriptors.dfy.expect +++ b/Test/comp/TypeDescriptors.dfy.expect @@ -1,3 +1,155 @@ + +Dafny program verifier finished with 11 verified, 0 errors + +Dafny program verifier did not attempt verification +int: 8 0 +bool: true false +char: 'r' 'D' +real: 1.618 0.0 +ORDINAL: 0 +bv0: 0 0 +bv21: 121 0 +bv32: 132 0 +bv191: 191 0 +set: {7} {} +multiset: multiset{7, 7} multiset{} +seq: [7] [] +map: map[2 := 7] map[] +pos: 3 1 +Hundred: 6 0 +HundredOdd: 13 19 +JustOdd: 131 5 +(): () () +(int, real): (2, 3.2) (0, 0.0) +(int, pos): (2, 3) (0, 1) +AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) +Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) +Stream: Stream.More +A=int: 15 0 +B=int: 16 0 +datatype.B=: {14} {} +object?: null +Class?>: null +Trait?>: null +array?: null +array2?: null +int --> bool: null +array? ~> bool: null + +Dafny program verifier did not attempt verification +int: 8 0 +bool: true false +char: 'r' 'D' +real: 1.618 0.0 +ORDINAL: 0 +bv0: 0 0 +bv21: 121 0 +bv32: 132 0 +bv191: 191 0 +set: {7} {} +multiset: multiset{7, 7} multiset{} +seq: [7] [] +map: map[2 := 7] map[] +pos: 3 1 +Hundred: 6 0 +HundredOdd: 13 19 +JustOdd: 131 5 +(): () () +(int, real): (2, 3.2) (0, 0.0) +(int, pos): (2, 3) (0, 1) +AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) +Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) +Stream: Stream.More +A=int: 15 0 +B=int: 16 0 +datatype.B=: {14} {} +object?: null +Class?>: null +Trait?>: null +array?: null +array2?: null +int --> bool: null +array? ~> bool: null + +Dafny program verifier did not attempt verification +int: 8 0 +bool: true false +char: 'r' 'D' +real: 1.618 0.0 +ORDINAL: 0 +bv0: 0 0 +bv21: 121 0 +bv32: 132 0 +bv191: 191 0 +set: {7} {} +multiset: multiset{7, 7} multiset{} +seq: [7] [] +map: map[2 := 7] map[] +pos: 3 1 +Hundred: 6 0 +HundredOdd: 13 19 +JustOdd: 131 5 +(): () () +(int, real): (2, 3.2) (0, 0.0) +(int, pos): (2, 3) (0, 1) +AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) +Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) +Stream: Stream.More +A=int: 15 0 +B=int: 16 0 +datatype.B=: {14} {} +object?: null +Class?>: null +Trait?>: null +array?: null +array2?: null +int --> bool: null +array? ~> bool: null + +Dafny program verifier did not attempt verification +int: 8 0 +bool: true false +char: 'r' 'D' +real: 1.618 0.0 +ORDINAL: 0 +bv0: 0 0 +bv21: 121 0 +bv32: 132 0 +bv191: 191 0 +set: {7} {} +multiset: multiset{7, 7} multiset{} +seq: [7] [] +map: map[2 := 7] map[] +pos: 3 1 +Hundred: 6 0 +HundredOdd: 13 19 +JustOdd: 131 5 +(): () () +(int, real): (2, 3.2) (0, 0.0) +(int, pos): (2, 3) (0, 1) +AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) +Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) +Stream: Stream.More +A=int: 15 0 +B=int: 16 0 +datatype.B=: {14} {} +object?: null +Class?>: null +Trait?>: null +array?: null +array2?: null +int --> bool: null +array? ~> bool: null + +Dafny program verifier did not attempt verification int: 8 0 bool: true false char: 'r' 'D' diff --git a/Test/comp/TypeParams.dfy b/Test/comp/TypeParams.dfy index c595881e028..11d1b3bac6a 100644 --- a/Test/comp/TypeParams.dfy +++ b/Test/comp/TypeParams.dfy @@ -1,6 +1,11 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation - +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" + +// RUN: %diff "%s.expect" "%t" datatype Color = Orange | Pink | Teal type Six = x | x <= 6 diff --git a/Test/comp/TypeParams.dfy.expect b/Test/comp/TypeParams.dfy.expect index 1381a030f65..ac8ef1c58e5 100644 --- a/Test/comp/TypeParams.dfy.expect +++ b/Test/comp/TypeParams.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 17 verified, 0 errors + +Dafny program verifier did not attempt verification 0 0 0 false Color.Orange 0.0 {} Color.Orange null null null null null {} multiset{} [] map[] {} map[] @@ -17,3 +21,87 @@ System.Func`2[Dafny.BigRational,System.Boolean] System.Func`1[System.Numerics.BigInteger] System.Func`3[_module._IColor,Dafny.ISet`1[System.UInt16],System.UInt32] 0 0 + +Dafny program verifier did not attempt verification +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +function () { return false; } +function () { return _dafny.ZERO; } +function () { return _dafny.ZERO; } +0 0 + +Dafny program verifier did not attempt verification +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +func(dafny.Real) bool +func() dafny.Int +func(main.Color, dafny.Set) uint32 +0 0 + +Dafny program verifier did not attempt verification +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +Function +Function +Function +0 0 + +Dafny program verifier did not attempt verification +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +Function +Function +Function +0 0 diff --git a/Test/comp/TypeParams.dfy.go.expect b/Test/comp/TypeParams.dfy.go.expect deleted file mode 100644 index e3a8e67d066..00000000000 --- a/Test/comp/TypeParams.dfy.go.expect +++ /dev/null @@ -1,19 +0,0 @@ -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -func(dafny.Real) bool -func() dafny.Int -func(main.Color, dafny.Set) uint32 -0 0 diff --git a/Test/comp/TypeParams.dfy.java.expect b/Test/comp/TypeParams.dfy.java.expect deleted file mode 100644 index 5f843ba06d1..00000000000 --- a/Test/comp/TypeParams.dfy.java.expect +++ /dev/null @@ -1,19 +0,0 @@ -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -Function -Function -Function -0 0 diff --git a/Test/comp/TypeParams.dfy.js.expect b/Test/comp/TypeParams.dfy.js.expect deleted file mode 100644 index 865c33ea48b..00000000000 --- a/Test/comp/TypeParams.dfy.js.expect +++ /dev/null @@ -1,19 +0,0 @@ -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -function () { return false; } -function () { return _dafny.ZERO; } -function () { return _dafny.ZERO; } -0 0 diff --git a/Test/comp/TypeParams.dfy.py.expect b/Test/comp/TypeParams.dfy.py.expect deleted file mode 100644 index 5f843ba06d1..00000000000 --- a/Test/comp/TypeParams.dfy.py.expect +++ /dev/null @@ -1,19 +0,0 @@ -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -Function -Function -Function -0 0 diff --git a/Test/comp/UnoptimizedErasableTypeWrappers.dfy b/Test/comp/UnoptimizedErasableTypeWrappers.dfy index b7911aed9db..58f0682ed41 100644 --- a/Test/comp/UnoptimizedErasableTypeWrappers.dfy +++ b/Test/comp/UnoptimizedErasableTypeWrappers.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --optimize-erasable-datatype-wrapper:false --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype SingletonRecord = SingletonRecord(u: int) datatype WithGhost = WithGhost(u: int, ghost v: int) diff --git a/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect b/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect index 3371376a52b..be1d7190b0f 100644 --- a/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect +++ b/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect @@ -1,3 +1,31 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification +SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) +() (30) (31) (30, 32) +15 20 +30 31 30 32 + +Dafny program verifier did not attempt verification +SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) +() (30) (31) (30, 32) +15 20 +30 31 30 32 + +Dafny program verifier did not attempt verification +SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) +() (30) (31) (30, 32) +15 20 +30 31 30 32 + +Dafny program verifier did not attempt verification +SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) +() (30) (31) (30, 32) +15 20 +30 31 30 32 + +Dafny program verifier did not attempt verification SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) () (30) (31) (30, 32) 15 20 diff --git a/Test/comp/Variance.dfy b/Test/comp/Variance.dfy index ddcde6cd7d7..6c198495209 100644 --- a/Test/comp/Variance.dfy +++ b/Test/comp/Variance.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --warn-deprecation:false +// RUN: %dafny /compile:0 /deprecation:0 "%s" > "%t" +// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Co<+T> = Co(z: T) { const x: int; diff --git a/Test/comp/Variance.dfy.expect b/Test/comp/Variance.dfy.expect index 5bb565b6bb4..cf08d82ac07 100644 --- a/Test/comp/Variance.dfy.expect +++ b/Test/comp/Variance.dfy.expect @@ -1,3 +1,67 @@ + +Dafny program verifier finished with 13 verified, 0 errors + +Dafny program verifier did not attempt verification +Co.Co(_module.Int) and Co.Co(_module.Int) +true0[]0000 +Non.Non(_module.Int) and Non.Non(_module.Int) +true0[]0000 +0 and 0 +_module.Int0[]0000 +CCo.CCo and CCo.CCo +true0[]0000 +CNon.CNon and CNon.CNon +true0[]0000 +CCon.CCon and CCon.CCon +_module.Int0[]0000 +Done + +Dafny program verifier did not attempt verification +Co.Co(_module.Int) and Co.Co(_module.Int) +true0[]0000 +Non.Non(_module.Int) and Non.Non(_module.Int) +true0[]0000 +0 and 0 +_module.Int0[]0000 +CCo.CCo and CCo.CCo +true0[]0000 +CNon.CNon and CNon.CNon +true0[]0000 +CCon.CCon and CCon.CCon +_module.Int0[]0000 +Done + +Dafny program verifier did not attempt verification +Co.Co(_module.Int) and Co.Co(_module.Int) +true0[]0000 +Non.Non(_module.Int) and Non.Non(_module.Int) +true0[]0000 +0 and 0 +_module.Int0[]0000 +CCo.CCo and CCo.CCo +true0[]0000 +CNon.CNon and CNon.CNon +true0[]0000 +CCon.CCon and CCon.CCon +_module.Int0[]0000 +Done + +Dafny program verifier did not attempt verification +Co.Co(_module.Int) and Co.Co(_module.Int) +true0[]0000 +Non.Non(_module.Int) and Non.Non(_module.Int) +true0[]0000 +0 and 0 +_module.Int0[]0000 +CCo.CCo and CCo.CCo +true0[]0000 +CNon.CNon and CNon.CNon +true0[]0000 +CCon.CCon and CCon.CCon +_module.Int0[]0000 +Done + +Dafny program verifier did not attempt verification Co.Co(_module.Int) and Co.Co(_module.Int) true0[]0000 Non.Non(_module.Int) and Non.Non(_module.Int) diff --git a/Test/comp/Various.dfy b/Test/comp/Various.dfy index 502801e4c2a..1f29c511a83 100644 --- a/Test/comp/Various.dfy +++ b/Test/comp/Various.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Match(tp: (nat, nat)) { match tp diff --git a/Test/comp/Various.dfy.expect b/Test/comp/Various.dfy.expect index 66f013c00f7..502e2d04792 100644 --- a/Test/comp/Various.dfy.expect +++ b/Test/comp/Various.dfy.expect @@ -1,3 +1,43 @@ + +Dafny program verifier finished with 4 verified, 0 errors + +Dafny program verifier did not attempt verification +match +1 +Kablammo!! +0 +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] + +Dafny program verifier did not attempt verification +match +1 +Kablammo!! +0 +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] + +Dafny program verifier did not attempt verification +match +1 +Kablammo!! +0 +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] + +Dafny program verifier did not attempt verification +match +1 +Kablammo!! +0 +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] + +Dafny program verifier did not attempt verification match 1 Kablammo!! diff --git a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy index 2cf77360cab..10fe57dec8f 100644 --- a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy +++ b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // An extremely small program intended to be the first target input for // brand new Dafny compilers. Avoids any use of strings (and therefore sequences) diff --git a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect index f32a5804e29..e1dcaef650b 100644 --- a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect +++ b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect @@ -1 +1,5 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification true \ No newline at end of file diff --git a/Test/comp/firstSteps/1_Calls-F.dfy b/Test/comp/firstSteps/1_Calls-F.dfy index 4fe5b83e551..32566f59f3b 100644 --- a/Test/comp/firstSteps/1_Calls-F.dfy +++ b/Test/comp/firstSteps/1_Calls-F.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/1_Calls-F.dfy.expect b/Test/comp/firstSteps/1_Calls-F.dfy.expect index 7ed6ff82de6..58e0a68ec1c 100644 --- a/Test/comp/firstSteps/1_Calls-F.dfy.expect +++ b/Test/comp/firstSteps/1_Calls-F.dfy.expect @@ -1 +1,5 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification 5 diff --git a/Test/comp/firstSteps/2_Modules.dfy b/Test/comp/firstSteps/2_Modules.dfy index d0effcb5a71..750b8d60c21 100644 --- a/Test/comp/firstSteps/2_Modules.dfy +++ b/Test/comp/firstSteps/2_Modules.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" module A { const i: nat := 1 diff --git a/Test/comp/firstSteps/2_Modules.dfy.expect b/Test/comp/firstSteps/2_Modules.dfy.expect index b85905ec0b9..9a4b57459c7 100644 --- a/Test/comp/firstSteps/2_Modules.dfy.expect +++ b/Test/comp/firstSteps/2_Modules.dfy.expect @@ -1 +1,5 @@ + +Dafny program verifier finished with 3 verified, 0 errors + +Dafny program verifier did not attempt verification 1 2 3 diff --git a/Test/comp/firstSteps/3_Calls-As.dfy b/Test/comp/firstSteps/3_Calls-As.dfy index 38889421865..f22bbdbd3f6 100644 --- a/Test/comp/firstSteps/3_Calls-As.dfy +++ b/Test/comp/firstSteps/3_Calls-As.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/3_Calls-As.dfy.expect b/Test/comp/firstSteps/3_Calls-As.dfy.expect index a1c59bb761f..eea6c52592c 100644 --- a/Test/comp/firstSteps/3_Calls-As.dfy.expect +++ b/Test/comp/firstSteps/3_Calls-As.dfy.expect @@ -1 +1,5 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification 0 0 false 0 false 0 diff --git a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy index 6a66781ff0d..89fb669dca0 100644 --- a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy +++ b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect index a8d09f0a6f5..e7498a27e3e 100644 --- a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect +++ b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect @@ -1,2 +1,6 @@ + +Dafny program verifier finished with 3 verified, 0 errors + +Dafny program verifier did not attempt verification 5 3 5 3 5 3 5 3 diff --git a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy index 1175b1eca8f..096523f8956 100644 --- a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy +++ b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect index ef3de96e567..8954da2b386 100644 --- a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect +++ b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect @@ -1,2 +1,6 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification 5 3 5 3 diff --git a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy index 5d970ac4de5..1fbaebdf4e9 100644 --- a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy +++ b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect index 4ff62e33956..b6ffe78bcbb 100644 --- a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect +++ b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 4 verified, 0 errors + +Dafny program verifier did not attempt verification 15 [0, 1, 2, 4] [0, 2, 4] diff --git a/Test/comp/firstSteps/7_Arrays.dfy b/Test/comp/firstSteps/7_Arrays.dfy index d02c942c9bb..07ddf89594b 100644 --- a/Test/comp/firstSteps/7_Arrays.dfy +++ b/Test/comp/firstSteps/7_Arrays.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // This fragment of comp/Arrays.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/7_Arrays.dfy.expect b/Test/comp/firstSteps/7_Arrays.dfy.expect index fa00285c692..75e824c80bb 100644 --- a/Test/comp/firstSteps/7_Arrays.dfy.expect +++ b/Test/comp/firstSteps/7_Arrays.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 7 verified, 0 errors + +Dafny program verifier did not attempt verification 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/comp/firstSteps/7_Dt_Algebraic.dfy b/Test/comp/firstSteps/7_Dt_Algebraic.dfy index 46a2995b37f..991462d8bdf 100644 --- a/Test/comp/firstSteps/7_Dt_Algebraic.dfy +++ b/Test/comp/firstSteps/7_Dt_Algebraic.dfy @@ -1,5 +1,7 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // This fragment of comp/Dt.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect deleted file mode 100644 index ba1b72ea6f7..00000000000 --- a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect +++ /dev/null @@ -1,11 +0,0 @@ -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} -42 'q' hello -1701 diff --git a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect index e3ff7faba6e..ec9b49fe420 100644 --- a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect +++ b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 7 verified, 0 errors + +Dafny program verifier did not attempt verification List.Nil List.Cons(5, List.Nil) (List.Nil, List.Cons(5, List.Nil)) @@ -9,3 +13,16 @@ List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, Li {Berry.Hallon, Berry.Smultron, Berry.Jordgubb} 42 'q' hello 1701 + +Dafny program verifier did not attempt verification +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} +42 'q' hello +1701 diff --git a/Test/dafny0/ArrayElementInitCompile.dfy b/Test/dafny0/ArrayElementInitCompile.dfy index 3714cf0fe8e..7d652486b9e 100644 --- a/Test/dafny0/ArrayElementInitCompile.dfy +++ b/Test/dafny0/ArrayElementInitCompile.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 /print:"%t.print" /rprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny0/ArrayElementInitCompile.dfy.expect b/Test/dafny0/ArrayElementInitCompile.dfy.expect index eaa3e759999..a5241c75f19 100644 --- a/Test/dafny0/ArrayElementInitCompile.dfy.expect +++ b/Test/dafny0/ArrayElementInitCompile.dfy.expect @@ -1,3 +1,79 @@ + +Dafny program verifier finished with 18 verified, 0 errors + +Dafny program verifier did not attempt verification +67 67 67 67 67 67 67 67 +0 1 2 3 +1 2 3 4 +2 3 4 5 +3 4 5 6 +4 5 6 7 +O . O . O . O . O . O . +12 12 12 12 12 12 12 12 12 12 12 12 +D E +y z +4 3 +7 +100 75 98 25 + +looks like this rocks +-2 -1 0 1 2 3 4 + +Dafny program verifier did not attempt verification +67 67 67 67 67 67 67 67 +0 1 2 3 +1 2 3 4 +2 3 4 5 +3 4 5 6 +4 5 6 7 +O . O . O . O . O . O . +12 12 12 12 12 12 12 12 12 12 12 12 +D E +y z +4 3 +7 +100 75 98 25 + +looks like this rocks +-2 -1 0 1 2 3 4 + +Dafny program verifier did not attempt verification +67 67 67 67 67 67 67 67 +0 1 2 3 +1 2 3 4 +2 3 4 5 +3 4 5 6 +4 5 6 7 +O . O . O . O . O . O . +12 12 12 12 12 12 12 12 12 12 12 12 +D E +y z +4 3 +7 +100 75 98 25 + +looks like this rocks +-2 -1 0 1 2 3 4 + +Dafny program verifier did not attempt verification +67 67 67 67 67 67 67 67 +0 1 2 3 +1 2 3 4 +2 3 4 5 +3 4 5 6 +4 5 6 7 +O . O . O . O . O . O . +12 12 12 12 12 12 12 12 12 12 12 12 +D E +y z +4 3 +7 +100 75 98 25 + +looks like this rocks +-2 -1 0 1 2 3 4 + +Dafny program verifier did not attempt verification 67 67 67 67 67 67 67 67 0 1 2 3 1 2 3 4 diff --git a/Test/dafny0/Bitvectors.dfy b/Test/dafny0/Bitvectors.dfy index 4c8e1094455..6e0c9270b99 100644 --- a/Test/dafny0/Bitvectors.dfy +++ b/Test/dafny0/Bitvectors.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /print:"%t.print" /env:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // Note the difference in Java output is due to // https://github.com/dafny-lang/dafny/issues/4152 diff --git a/Test/dafny0/Bitvectors.dfy.expect b/Test/dafny0/Bitvectors.dfy.expect index ed1c7328e83..51fda88f97b 100644 --- a/Test/dafny0/Bitvectors.dfy.expect +++ b/Test/dafny0/Bitvectors.dfy.expect @@ -1,3 +1,52 @@ + +Dafny program verifier finished with 11 verified, 0 errors + +Dafny program verifier did not attempt verification +4000 4000 4000 0 +1 2053 1099 +185 55 +2 4 +Comparisons: true true false false +bv16: 5 - 2 == 3 +bv16: 1 - 2 == 65535 +3 2 +0 0 +false true true false +bv67: 147573952589676412927 + 3 == 2 - 3 == 147573952589676412925 !! 3 == ! 147573952589676412924 == 3 +bv64: 18446744073709551615 + 3 == 2 - 3 == 18446744073709551613 !! 3 == ! 18446744073709551612 == 3 +bv53: 9007199254740991 + 3 == 2 - 3 == 9007199254740989 !! 3 == ! 9007199254740988 == 3 +bv33: 8589934591 + 3 == 2 - 3 == 8589934589 !! 3 == ! 8589934588 == 3 +bv32: 4294967295 + 3 == 2 - 3 == 4294967293 !! 3 == ! 4294967292 == 3 +bv31: 2147483647 + 3 == 2 - 3 == 2147483645 !! 3 == ! 2147483644 == 3 +bv16: 65535 + 3 == 2 - 3 == 65533 !! 3 == ! 65532 == 3 +bv15: 32767 + 3 == 2 - 3 == 32765 !! 3 == ! 32764 == 3 +bv8: 255 + 3 == 2 - 3 == 253 !! 3 == ! 252 == 3 +bv6: 63 + 3 == 2 - 3 == 61 !! 3 == ! 60 == 3 +bv1: 1 + 1 == 0 - 1 == 1 !! 1 == ! 0 == 1 +bv0: 0 + 0 == 0 - 0 == 0 !! 0 == ! 0 == 0 +bv2: + 3 + 2 == 1 + 3 - 2 == 1 + 3 * 2 == 2 + 3 / 2 == 1 + 3 % 2 == 1 +PrintShifts: bv67: 5 40 40 40 +PrintShifts: bv32: 5 40 40 40 +PrintShifts: bv7: 5 40 40 40 +PrintShifts: bv2: 1 2 2 2 +PrintShifts: bv0: 0 0 0 0 +PrintShifts: bv67 again: 2 2 2 73786976294838206465 +PrintShifts: bv32 again: 8000 8000 2147487648 3221227472 +PrintShifts: bv7 again: 124 124 124 127 +PrintShifts: bv0 again: 0 0 0 0 +PrintRotates: bv12: 5 5 +PrintRotates: bv7: 5 5 +PrintRotates: bv2: 1 1 +PrintRotates: bv0: 0 0 +PrintRotates: bv12 again: 976 976 +PrintRotates: bv7 again: 127 127 + +Dafny program verifier did not attempt verification 4000 4000 4000 0 1 2053 1099 185 55 diff --git a/Test/dafny0/Constant.dfy b/Test/dafny0/Constant.dfy index 1fdeedc3335..f021e7d4482 100644 --- a/Test/dafny0/Constant.dfy +++ b/Test/dafny0/Constant.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" const one:int := 1 const two:int := one * 2 diff --git a/Test/dafny0/Constant.dfy.expect b/Test/dafny0/Constant.dfy.expect index 1a7b981715f..6099b08c38c 100644 --- a/Test/dafny0/Constant.dfy.expect +++ b/Test/dafny0/Constant.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 17 verified, 0 errors one := 1 two := 2 three := 3 diff --git a/Test/dafny0/Deprecation.dfy b/Test/dafny0/Deprecation.dfy index 86521043d43..8c9c688d463 100644 --- a/Test/dafny0/Deprecation.dfy +++ b/Test/dafny0/Deprecation.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // This file contains tests for messags about various deprecated features. // As those features go away completely, so can the corresponding tests. diff --git a/Test/dafny0/Deprecation.dfy.expect b/Test/dafny0/Deprecation.dfy.expect index 0dffd975ac7..4ff88d31ade 100644 --- a/Test/dafny0/Deprecation.dfy.expect +++ b/Test/dafny0/Deprecation.dfy.expect @@ -1 +1,8 @@ +Deprecation.dfy(16,13): Warning: constructors no longer need 'this' to be listed in modifies clauses +Deprecation.dfy(23,0): Warning: the old keyword phrase 'inductive predicate' has been renamed to 'least predicate' +Deprecation.dfy(26,0): Warning: the old keyword 'copredicate' has been renamed to the keyword phrase 'greatest predicate' +Deprecation.dfy(29,0): Warning: the old keyword phrase 'inductive lemma' has been renamed to 'least lemma' +Deprecation.dfy(32,0): Warning: the old keyword 'colemma' has been renamed to the keyword phrase 'greatest lemma' + +Dafny program verifier finished with 0 verified, 0 errors yet here we are diff --git a/Test/dafny0/Deprecation.dfy.verifier.expect b/Test/dafny0/Deprecation.dfy.verifier.expect deleted file mode 100644 index c0851e9888c..00000000000 --- a/Test/dafny0/Deprecation.dfy.verifier.expect +++ /dev/null @@ -1,5 +0,0 @@ -Deprecation.dfy(15,13): Warning: constructors no longer need 'this' to be listed in modifies clauses -Deprecation.dfy(22,0): Warning: the old keyword phrase 'inductive predicate' has been renamed to 'least predicate' -Deprecation.dfy(25,0): Warning: the old keyword 'copredicate' has been renamed to the keyword phrase 'greatest predicate' -Deprecation.dfy(28,0): Warning: the old keyword phrase 'inductive lemma' has been renamed to 'least lemma' -Deprecation.dfy(31,0): Warning: the old keyword 'colemma' has been renamed to the keyword phrase 'greatest lemma' diff --git a/Test/dafny0/DiscoverBounds.dfy b/Test/dafny0/DiscoverBounds.dfy index 18e56158613..31f9717ee79 100644 --- a/Test/dafny0/DiscoverBounds.dfy +++ b/Test/dafny0/DiscoverBounds.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /print:"%t.print" /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype NT = x | 0 <= x < 100 newtype UT = NT diff --git a/Test/dafny0/DiscoverBounds.dfy.expect b/Test/dafny0/DiscoverBounds.dfy.expect index 909a58326d0..e43954c7be1 100644 --- a/Test/dafny0/DiscoverBounds.dfy.expect +++ b/Test/dafny0/DiscoverBounds.dfy.expect @@ -1,3 +1,10 @@ +DiscoverBounds.dfy(32,7): Warning: /!\ No terms found to trigger on. +DiscoverBounds.dfy(33,7): Warning: /!\ No terms found to trigger on. +DiscoverBounds.dfy(34,7): Warning: /!\ No terms found to trigger on. +DiscoverBounds.dfy(35,7): Warning: /!\ No terms found to trigger on. +DiscoverBounds.dfy(36,7): Warning: /!\ No terms found to trigger on. + +Dafny program verifier finished with 7 verified, 0 errors 0 0 -2 diff --git a/Test/dafny0/DiscoverBounds.dfy.verifier.expect b/Test/dafny0/DiscoverBounds.dfy.verifier.expect deleted file mode 100644 index 7c4de01ee0e..00000000000 --- a/Test/dafny0/DiscoverBounds.dfy.verifier.expect +++ /dev/null @@ -1,5 +0,0 @@ -DiscoverBounds.dfy(31,7): Warning: /!\ No terms found to trigger on. -DiscoverBounds.dfy(32,7): Warning: /!\ No terms found to trigger on. -DiscoverBounds.dfy(33,7): Warning: /!\ No terms found to trigger on. -DiscoverBounds.dfy(34,7): Warning: /!\ No terms found to trigger on. -DiscoverBounds.dfy(35,7): Warning: /!\ No terms found to trigger on. diff --git a/Test/dafny0/DividedConstructors.dfy b/Test/dafny0/DividedConstructors.dfy index e6f63a35f11..169bf4ee7df 100644 --- a/Test/dafny0/DividedConstructors.dfy +++ b/Test/dafny0/DividedConstructors.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /env:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var m := new M0.MyClass.Init(20); diff --git a/Test/dafny0/DividedConstructors.dfy.expect b/Test/dafny0/DividedConstructors.dfy.expect index 2dcc1ba6402..eaa3ed7d379 100644 --- a/Test/dafny0/DividedConstructors.dfy.expect +++ b/Test/dafny0/DividedConstructors.dfy.expect @@ -1,2 +1,5 @@ +DividedConstructors.dfy(62,9): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier finished with 17 verified, 0 errors 37, 17, 3.14 false, true diff --git a/Test/dafny0/DividedConstructors.dfy.verifier.expect b/Test/dafny0/DividedConstructors.dfy.verifier.expect deleted file mode 100644 index f3fdfadddbf..00000000000 --- a/Test/dafny0/DividedConstructors.dfy.verifier.expect +++ /dev/null @@ -1 +0,0 @@ -DividedConstructors.dfy(61,9): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny0/EqualityTypesCompile.dfy b/Test/dafny0/EqualityTypesCompile.dfy index a36d1818c1d..de7954710e9 100644 --- a/Test/dafny0/EqualityTypesCompile.dfy +++ b/Test/dafny0/EqualityTypesCompile.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype List = Nil | Cons(A, List) | ICons(int, List) datatype TwoLists = Two(List, List) diff --git a/Test/dafny0/EqualityTypesCompile.dfy.expect b/Test/dafny0/EqualityTypesCompile.dfy.expect index 0246dc39633..d2f1950e7f7 100644 --- a/Test/dafny0/EqualityTypesCompile.dfy.expect +++ b/Test/dafny0/EqualityTypesCompile.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 1 verified, 0 errors from M: false from N: false from H: false diff --git a/Test/dafny0/ForallCompilationNewSyntax.dfy b/Test/dafny0/ForallCompilationNewSyntax.dfy index ac354d6338c..b7132df78ae 100644 --- a/Test/dafny0/ForallCompilationNewSyntax.dfy +++ b/Test/dafny0/ForallCompilationNewSyntax.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --quantifier-syntax:4 --relax-definite-assignment +// RUN: %baredafny run %args --relax-definite-assignment --quantifier-syntax:4 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var c := new MyClass; diff --git a/Test/dafny0/ForallCompilationNewSyntax.dfy.expect b/Test/dafny0/ForallCompilationNewSyntax.dfy.expect index e69de29bb2d..5b7ec4613bb 100644 --- a/Test/dafny0/ForallCompilationNewSyntax.dfy.expect +++ b/Test/dafny0/ForallCompilationNewSyntax.dfy.expect @@ -0,0 +1,6 @@ +ForallCompilationNewSyntax.dfy(26,4): Warning: /!\ No terms found to trigger on. +ForallCompilationNewSyntax.dfy(35,4): Warning: /!\ No terms found to trigger on. +ForallCompilationNewSyntax.dfy(44,4): Warning: /!\ No terms found to trigger on. +ForallCompilationNewSyntax.dfy(64,4): Warning: /!\ No trigger covering all quantified variables found. + +Dafny program verifier finished with 14 verified, 0 errors diff --git a/Test/dafny0/ForallCompilationNewSyntax.dfy.verifier.expect b/Test/dafny0/ForallCompilationNewSyntax.dfy.verifier.expect deleted file mode 100644 index a94cd5ea608..00000000000 --- a/Test/dafny0/ForallCompilationNewSyntax.dfy.verifier.expect +++ /dev/null @@ -1,4 +0,0 @@ -ForallCompilationNewSyntax.dfy(25,4): Warning: /!\ No terms found to trigger on. -ForallCompilationNewSyntax.dfy(34,4): Warning: /!\ No terms found to trigger on. -ForallCompilationNewSyntax.dfy(43,4): Warning: /!\ No terms found to trigger on. -ForallCompilationNewSyntax.dfy(63,4): Warning: /!\ No trigger covering all quantified variables found. diff --git a/Test/dafny0/GhostITECompilation.dfy b/Test/dafny0/GhostITECompilation.dfy index bd7cfa28a95..d761ddbc6ea 100644 --- a/Test/dafny0/GhostITECompilation.dfy +++ b/Test/dafny0/GhostITECompilation.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --function-syntax:4 --relax-definite-assignment +// RUN: %dafny /compile:0 /functionSyntax:4 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" function F(x: nat, ghost y: nat): nat { diff --git a/Test/dafny0/GhostITECompilation.dfy.expect b/Test/dafny0/GhostITECompilation.dfy.expect index b4988e5cf11..1ec406bf52c 100644 --- a/Test/dafny0/GhostITECompilation.dfy.expect +++ b/Test/dafny0/GhostITECompilation.dfy.expect @@ -1,3 +1,31 @@ + +Dafny program verifier finished with 6 verified, 0 errors + +Dafny program verifier did not attempt verification +65 +65 +65 +65 + +Dafny program verifier did not attempt verification +65 +65 +65 +65 + +Dafny program verifier did not attempt verification +65 +65 +65 +65 + +Dafny program verifier did not attempt verification +65 +65 +65 +65 + +Dafny program verifier did not attempt verification 65 65 65 diff --git a/Test/dafny0/InitialValues.dfy b/Test/dafny0/InitialValues.dfy index 0848d244d71..7dcb05cc9c9 100644 --- a/Test/dafny0/InitialValues.dfy +++ b/Test/dafny0/InitialValues.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny0/InitialValues.dfy.expect b/Test/dafny0/InitialValues.dfy.expect index 18903dcc3dd..ada1b783c16 100644 --- a/Test/dafny0/InitialValues.dfy.expect +++ b/Test/dafny0/InitialValues.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 2 verified, 0 errors r= 0.0 s= 3.4 a= 0.0 b= 3.4 z= 0.0 a==z = true diff --git a/Test/dafny0/MatchBraces.dfy b/Test/dafny0/MatchBraces.dfy index 4ac380f2739..ddd1924774b 100644 --- a/Test/dafny0/MatchBraces.dfy +++ b/Test/dafny0/MatchBraces.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /print:"%t.print" /env:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Color = Red | Green | Blue diff --git a/Test/dafny0/MatchBraces.dfy.expect b/Test/dafny0/MatchBraces.dfy.expect index 4f89bff47e5..88f6cf4f56e 100644 --- a/Test/dafny0/MatchBraces.dfy.expect +++ b/Test/dafny0/MatchBraces.dfy.expect @@ -1,2 +1,10 @@ + +Dafny program verifier finished with 5 verified, 0 errors + +Dafny program verifier did not attempt verification +7 0.18 Color.Red 13 12 +11 98.0 Color.Green 14 115 + +Dafny program verifier did not attempt verification 7 0.18 Color.Red 13 12 11 98.0 Color.Green 14 115 diff --git a/Test/dafny0/MoForallCompilation.dfy b/Test/dafny0/MoForallCompilation.dfy index af080853463..835712edbce 100644 --- a/Test/dafny0/MoForallCompilation.dfy +++ b/Test/dafny0/MoForallCompilation.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { TestAggregateArrayUpdate(); diff --git a/Test/dafny0/MoForallCompilation.dfy.expect b/Test/dafny0/MoForallCompilation.dfy.expect index 7bb606c1528..c431c74c6aa 100644 --- a/Test/dafny0/MoForallCompilation.dfy.expect +++ b/Test/dafny0/MoForallCompilation.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 18 verified, 0 errors -4.0 -3.0 -2.0 -1.0 0.0 1.0 2.0 3.0 7.0 6.0 5.0 4.0 3.0 2.0 1.0 0.0 true true true true true true false false diff --git a/Test/dafny0/NameclashesCompile.dfy b/Test/dafny0/NameclashesCompile.dfy index 46cae4b2338..4d06065c675 100644 --- a/Test/dafny0/NameclashesCompile.dfy +++ b/Test/dafny0/NameclashesCompile.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var r0, r1; diff --git a/Test/dafny0/NameclashesCompile.dfy.expect b/Test/dafny0/NameclashesCompile.dfy.expect index f001bdaeb1e..1434bb632f6 100644 --- a/Test/dafny0/NameclashesCompile.dfy.expect +++ b/Test/dafny0/NameclashesCompile.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 2 verified, 0 errors 15.0 15.1 94 99 0.8 14.3 14.4 18.9 18.92 diff --git a/Test/dafny0/NonZeroInitializationCompile.dfy b/Test/dafny0/NonZeroInitializationCompile.dfy index 2fedae6d60d..48b61a39369 100644 --- a/Test/dafny0/NonZeroInitializationCompile.dfy +++ b/Test/dafny0/NonZeroInitializationCompile.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" type MyInt = x | 6 <= x witness 6 newtype MyNewInt = x | 6 <= x witness 12 diff --git a/Test/dafny0/NonZeroInitializationCompile.dfy.expect b/Test/dafny0/NonZeroInitializationCompile.dfy.expect index c682dccf3fc..72b333efb85 100644 --- a/Test/dafny0/NonZeroInitializationCompile.dfy.expect +++ b/Test/dafny0/NonZeroInitializationCompile.dfy.expect @@ -1,3 +1,76 @@ + +Dafny program verifier finished with 15 verified, 0 errors + +Dafny program verifier did not attempt verification +These are the arbitrary values chosen by the compiler: 6, 12 +short, short': 0, -35 +nes: {57} +f0, f1: (0, false), (29, true) +dt: Dt.Atom(-35) +cl { u: 12, x: 0, r: 3.14, nes: {57} } +cl' { u: 12, x: 0, ': 3.14, nes: {20, 57} } + +x: real :: 0.0 versus 0.0 +ch: char :: 'D' versus 'D' +s: set :: {} versus {} +d: Xt :: AdvancedZeroInitialization.Xt.MakeXt(0, []) versus AdvancedZeroInitialization.Xt.MakeXt(0, []) +y: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, []) versus AdvancedZeroInitialization.Yt.MakeYt(0, []) +z: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization.Yt.MakeYt(0, 0) + +x: real :: 0.0 versus 0.0 +ch: char :: 'D' versus 'D' +s: set :: {} versus {} +d: Xt :: AdvancedZeroInitialization.Xt.MakeXt(0, []) versus AdvancedZeroInitialization.Xt.MakeXt(0, []) +y: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, []) versus AdvancedZeroInitialization.Yt.MakeYt(0, []) +z: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization.Yt.MakeYt(0, 0) + +Dafny program verifier did not attempt verification +These are the arbitrary values chosen by the compiler: 6, 12 +short, short': 0, -35 +nes: {57} +f0, f1: (0, false), (29, true) +dt: Dt.Atom(-35) +cl { u: 12, x: 0, r: 3.14, nes: {57} } +cl' { u: 12, x: 0, ': 3.14, nes: {20, 57} } + +x: real :: 0.0 versus 0.0 +ch: char :: 'D' versus 'D' +s: set :: {} versus {} +d: Xt :: AdvancedZeroInitialization.Xt.MakeXt(0, []) versus AdvancedZeroInitialization.Xt.MakeXt(0, []) +y: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, []) versus AdvancedZeroInitialization.Yt.MakeYt(0, []) +z: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization.Yt.MakeYt(0, 0) + +x: real :: 0.0 versus 0.0 +ch: char :: 'D' versus 'D' +s: set :: {} versus {} +d: Xt :: AdvancedZeroInitialization.Xt.MakeXt(0, []) versus AdvancedZeroInitialization.Xt.MakeXt(0, []) +y: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, []) versus AdvancedZeroInitialization.Yt.MakeYt(0, []) +z: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization.Yt.MakeYt(0, 0) + +Dafny program verifier did not attempt verification +These are the arbitrary values chosen by the compiler: 6, 12 +short, short': 0, -35 +nes: {57} +f0, f1: (0, false), (29, true) +dt: Dt.Atom(-35) +cl { u: 12, x: 0, r: 3.14, nes: {57} } +cl' { u: 12, x: 0, ': 3.14, nes: {20, 57} } + +x: real :: 0.0 versus 0.0 +ch: char :: 'D' versus 'D' +s: set :: {} versus {} +d: Xt :: AdvancedZeroInitialization.Xt.MakeXt(0, []) versus AdvancedZeroInitialization.Xt.MakeXt(0, []) +y: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, []) versus AdvancedZeroInitialization.Yt.MakeYt(0, []) +z: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization.Yt.MakeYt(0, 0) + +x: real :: 0.0 versus 0.0 +ch: char :: 'D' versus 'D' +s: set :: {} versus {} +d: Xt :: AdvancedZeroInitialization.Xt.MakeXt(0, []) versus AdvancedZeroInitialization.Xt.MakeXt(0, []) +y: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, []) versus AdvancedZeroInitialization.Yt.MakeYt(0, []) +z: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization.Yt.MakeYt(0, 0) + +Dafny program verifier did not attempt verification These are the arbitrary values chosen by the compiler: 6, 12 short, short': 0, -35 nes: {57} diff --git a/Test/dafny0/NullComparisonWarnings.dfy b/Test/dafny0/NullComparisonWarnings.dfy index 35fd5ffb3f4..eb9183040bc 100644 --- a/Test/dafny0/NullComparisonWarnings.dfy +++ b/Test/dafny0/NullComparisonWarnings.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { print "despite the warnings, the program still compiles\n"; diff --git a/Test/dafny0/NullComparisonWarnings.dfy.expect b/Test/dafny0/NullComparisonWarnings.dfy.expect index f2b4545fac7..d8cf4a9960c 100644 --- a/Test/dafny0/NullComparisonWarnings.dfy.expect +++ b/Test/dafny0/NullComparisonWarnings.dfy.expect @@ -1 +1,14 @@ +NullComparisonWarnings.dfy(27,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(28,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'y' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(29,14): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for field 'next' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(30,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(31,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'y' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(32,14): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for field 'next' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(34,12): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(37,12): Warning: the type of the other operand is a set of non-null elements, so the inclusion test of 'null' will always return 'false' +NullComparisonWarnings.dfy(38,12): Warning: the type of the other operand is a set of non-null elements, so the non-inclusion test of 'null' will always return 'true' +NullComparisonWarnings.dfy(40,41): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'u' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(45,12): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' + +Dafny program verifier finished with 4 verified, 0 errors despite the warnings, the program still compiles diff --git a/Test/dafny0/NullComparisonWarnings.dfy.verifier.expect b/Test/dafny0/NullComparisonWarnings.dfy.verifier.expect deleted file mode 100644 index 24f9074ecc9..00000000000 --- a/Test/dafny0/NullComparisonWarnings.dfy.verifier.expect +++ /dev/null @@ -1,11 +0,0 @@ -NullComparisonWarnings.dfy(26,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(27,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'y' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(28,14): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for field 'next' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(29,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(30,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'y' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(31,14): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for field 'next' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(33,12): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(36,12): Warning: the type of the other operand is a set of non-null elements, so the inclusion test of 'null' will always return 'false' -NullComparisonWarnings.dfy(37,12): Warning: the type of the other operand is a set of non-null elements, so the non-inclusion test of 'null' will always return 'true' -NullComparisonWarnings.dfy(39,41): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'u' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(44,12): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' diff --git a/Test/dafny0/PrintUTF8.dfy b/Test/dafny0/PrintUTF8.dfy index eff7baa32a9..5d4e376b19d 100644 --- a/Test/dafny0/PrintUTF8.dfy +++ b/Test/dafny0/PrintUTF8.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { print "Mikaël fixed UTF8\n"; diff --git a/Test/dafny0/PrintUTF8.dfy.expect b/Test/dafny0/PrintUTF8.dfy.expect index 818549280d3..52a23e906cc 100644 --- a/Test/dafny0/PrintUTF8.dfy.expect +++ b/Test/dafny0/PrintUTF8.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 0 verified, 0 errors Mikaël fixed UTF8 diff --git a/Test/dafny0/RangeCompilation.dfy b/Test/dafny0/RangeCompilation.dfy index 3f3e6aed0f8..53a8d6e33e5 100644 --- a/Test/dafny0/RangeCompilation.dfy +++ b/Test/dafny0/RangeCompilation.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype Byte = x | 0 <= x < 256 predicate GoodByte(b: Byte) { diff --git a/Test/dafny0/RangeCompilation.dfy.expect b/Test/dafny0/RangeCompilation.dfy.expect index 9e0f9e5f028..82fbbb9b698 100644 --- a/Test/dafny0/RangeCompilation.dfy.expect +++ b/Test/dafny0/RangeCompilation.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 4 verified, 0 errors b=2 i=4 diff --git a/Test/dafny0/SeqFromArray.dfy b/Test/dafny0/SeqFromArray.dfy index 39f72303d18..6bab732c906 100644 --- a/Test/dafny0/SeqFromArray.dfy +++ b/Test/dafny0/SeqFromArray.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // /autoTriggers:1 added to suppress instabilities diff --git a/Test/dafny0/SeqFromArray.dfy.expect b/Test/dafny0/SeqFromArray.dfy.expect index e69de29bb2d..1981561ca00 100644 --- a/Test/dafny0/SeqFromArray.dfy.expect +++ b/Test/dafny0/SeqFromArray.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 10 verified, 0 errors diff --git a/Test/dafny0/SharedDestructorsCompile.dfy b/Test/dafny0/SharedDestructorsCompile.dfy index 64d8b245b58..8171cf72404 100644 --- a/Test/dafny0/SharedDestructorsCompile.dfy +++ b/Test/dafny0/SharedDestructorsCompile.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Dt = | A(x: int, y: real) diff --git a/Test/dafny0/SharedDestructorsCompile.dfy.expect b/Test/dafny0/SharedDestructorsCompile.dfy.expect index 060d152d77b..e037db03c40 100644 --- a/Test/dafny0/SharedDestructorsCompile.dfy.expect +++ b/Test/dafny0/SharedDestructorsCompile.dfy.expect @@ -1,3 +1,20 @@ + +Dafny program verifier finished with 3 verified, 0 errors + +Dafny program verifier did not attempt verification +Dt.A(10, 12.0): x=10 y=12.0 +Dt.B(_module.MyClass, 6): h=_module.MyClass x=6 +Dt.C(3.14): y=3.14 +Dt.C(3.14) +Dt.A(71, 0.1) +Klef.C3(44, 100, 66, 200) +Datte.AA(10, 2) Datte.AA(10, 5) +Datte.BB(false, 12) Datte.BB(false, 6) +Datte.CC(3.2) Datte.CC(3.4) +Datte.DD(100, {7}, 5, 9.0) Datte.DD(30, {7}, 5, 9.0) +Datte.DD(100, {7}, 5, 9.0) Datte.DD(30, {7}, 5, 2.0) + +Dafny program verifier did not attempt verification Dt.A(10, 12.0): x=10 y=12.0 Dt.B(_module.MyClass, 6): h=_module.MyClass x=6 Dt.C(3.14): y=3.14 diff --git a/Test/dafny0/SiblingImports.dfy b/Test/dafny0/SiblingImports.dfy index 756e4b253f3..3fb01d9d1b8 100644 --- a/Test/dafny0/SiblingImports.dfy +++ b/Test/dafny0/SiblingImports.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { ClientA.Test(); diff --git a/Test/dafny0/SiblingImports.dfy.expect b/Test/dafny0/SiblingImports.dfy.expect index fb6171563ac..ba4df82a925 100644 --- a/Test/dafny0/SiblingImports.dfy.expect +++ b/Test/dafny0/SiblingImports.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 1 verified, 0 errors ClientA.Inner.Five: 5 ClientB.Inner.Five: 5 ClientC.Inner.Five: 5 diff --git a/Test/dafny0/TypeConversionsCompile.dfy b/Test/dafny0/TypeConversionsCompile.dfy index 5b1e32b9258..90075fb74a8 100644 --- a/Test/dafny0/TypeConversionsCompile.dfy +++ b/Test/dafny0/TypeConversionsCompile.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /env:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Note the difference in output in Java's case is due to // https://github.com/dafny-lang/dafny/issues/4152 diff --git a/Test/dafny0/TypeConversionsCompile.dfy.expect b/Test/dafny0/TypeConversionsCompile.dfy.expect index 78990cf4a30..893938a0226 100644 --- a/Test/dafny0/TypeConversionsCompile.dfy.expect +++ b/Test/dafny0/TypeConversionsCompile.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 8 verified, 0 errors 3 4 5.0 5 6 -1.0 147573952589676412927 4294967295 127 0 got 3, expected 3 got 0, expected 0 diff --git a/Test/dafny0/TypeMembers.dfy b/Test/dafny0/TypeMembers.dfy index f2bea4039c9..2ab57767ad5 100644 --- a/Test/dafny0/TypeMembers.dfy +++ b/Test/dafny0/TypeMembers.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { BasicTests(); diff --git a/Test/dafny0/TypeMembers.dfy.expect b/Test/dafny0/TypeMembers.dfy.expect index 923cb07e841..1d406ca85dc 100644 --- a/Test/dafny0/TypeMembers.dfy.expect +++ b/Test/dafny0/TypeMembers.dfy.expect @@ -1,3 +1,32 @@ +TypeMembers.dfy(117,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect + +Dafny program verifier finished with 29 verified, 0 errors +TypeMembers.dfy(117,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect + +Dafny program verifier did not attempt verification +DaTy.Yes 10 26 +8 11 10 11 10 +35 10 14 +22 22 +9 Dt.Business(false, 5) +76 77 +19 +0 0 +19 82 83 +93 Co.Cobalt +27 27 +18 +11 18 18 22 +15 30 29 +95 11 +162 165 +11 18 18 3 +15 30 29 +95 11 +162 165 +TypeMembers.dfy(117,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect + +Dafny program verifier did not attempt verification DaTy.Yes 10 26 8 11 10 11 10 35 10 14 diff --git a/Test/dafny0/TypeMembers.dfy.verifier.expect b/Test/dafny0/TypeMembers.dfy.verifier.expect deleted file mode 100644 index 62f55c943d2..00000000000 --- a/Test/dafny0/TypeMembers.dfy.verifier.expect +++ /dev/null @@ -1 +0,0 @@ -TypeMembers.dfy(114,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect diff --git a/Test/dafny0/Wellfounded.dfy b/Test/dafny0/Wellfounded.dfy index 7ec2be06b38..2ed488974c6 100644 --- a/Test/dafny0/Wellfounded.dfy +++ b/Test/dafny0/Wellfounded.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var d := Int(10); diff --git a/Test/dafny0/Wellfounded.dfy.expect b/Test/dafny0/Wellfounded.dfy.expect index 52742a67098..73d7a1e7ca2 100644 --- a/Test/dafny0/Wellfounded.dfy.expect +++ b/Test/dafny0/Wellfounded.dfy.expect @@ -1,3 +1,7 @@ +Wellfounded.dfy(49,14): Warning: /!\ No terms found to trigger on. +Wellfounded.dfy(77,5): Warning: /!\ No terms found to trigger on. + +Dafny program verifier finished with 3 verified, 0 errors M(d, d) = 10 M(a1, d) = 10 M(a2, d) = 10 diff --git a/Test/dafny0/Wellfounded.dfy.verifier.expect b/Test/dafny0/Wellfounded.dfy.verifier.expect deleted file mode 100644 index e61f12f01b2..00000000000 --- a/Test/dafny0/Wellfounded.dfy.verifier.expect +++ /dev/null @@ -1,2 +0,0 @@ -Wellfounded.dfy(48,14): Warning: /!\ No terms found to trigger on. -Wellfounded.dfy(76,5): Warning: /!\ No terms found to trigger on. diff --git a/Test/dafny2/MinWindowMax.dfy b/Test/dafny2/MinWindowMax.dfy index 32342cdd8b9..71ccb539d7d 100644 --- a/Test/dafny2/MinWindowMax.dfy +++ b/Test/dafny2/MinWindowMax.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Minimum window-max problem. // Rustan Leino diff --git a/Test/dafny2/MinWindowMax.dfy.expect b/Test/dafny2/MinWindowMax.dfy.expect index 1bb5609994e..f6f6e52d9bc 100644 --- a/Test/dafny2/MinWindowMax.dfy.expect +++ b/Test/dafny2/MinWindowMax.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 12 verified, 0 errors Window size 1: min window-max is -5 Window size 2: min window-max is 2 Window size 3: min window-max is 3 diff --git a/Test/dafny2/SmallestMissingNumber-functional.dfy b/Test/dafny2/SmallestMissingNumber-functional.dfy index a1544efab5f..047475c2680 100644 --- a/Test/dafny2/SmallestMissingNumber-functional.dfy +++ b/Test/dafny2/SmallestMissingNumber-functional.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Smallest missing number problem, functional version without duplicates. // A purely functional solution to the programming problem in Richard Bird's diff --git a/Test/dafny2/SmallestMissingNumber-functional.dfy.expect b/Test/dafny2/SmallestMissingNumber-functional.dfy.expect index 5d75da8ddd3..208b183ee3e 100644 --- a/Test/dafny2/SmallestMissingNumber-functional.dfy.expect +++ b/Test/dafny2/SmallestMissingNumber-functional.dfy.expect @@ -1 +1,4 @@ +SmallestMissingNumber-functional.dfy(213,11): Warning: /!\ No terms found to trigger on. + +Dafny program verifier finished with 21 verified, 0 errors 0 1 4 5 diff --git a/Test/dafny2/SmallestMissingNumber-functional.dfy.verifier.expect b/Test/dafny2/SmallestMissingNumber-functional.dfy.verifier.expect deleted file mode 100644 index cf10280f376..00000000000 --- a/Test/dafny2/SmallestMissingNumber-functional.dfy.verifier.expect +++ /dev/null @@ -1 +0,0 @@ -SmallestMissingNumber-functional.dfy(212,11): Warning: /!\ No terms found to trigger on. diff --git a/Test/dafny2/SmallestMissingNumber-imperative.dfy b/Test/dafny2/SmallestMissingNumber-imperative.dfy index 314bf4e464c..b8539481a54 100644 --- a/Test/dafny2/SmallestMissingNumber-imperative.dfy +++ b/Test/dafny2/SmallestMissingNumber-imperative.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Smallest missing number. // An imperative solution to the programming problem in Richard Bird's diff --git a/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect b/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect index cfb25913041..bc4a868fdff 100644 --- a/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect +++ b/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 8 verified, 0 errors 0 1 5 diff --git a/Test/dafny2/StoreAndRetrieve.dfy b/Test/dafny2/StoreAndRetrieve.dfy index f19239e234a..99a72697a71 100644 --- a/Test/dafny2/StoreAndRetrieve.dfy +++ b/Test/dafny2/StoreAndRetrieve.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // This file shows an example program that uses both refinement and :autocontracts // specify a class that stores a set of things that can be retrieved using a query. diff --git a/Test/dafny2/StoreAndRetrieve.dfy.expect b/Test/dafny2/StoreAndRetrieve.dfy.expect index 030f5bfab39..1d7d71d5202 100644 --- a/Test/dafny2/StoreAndRetrieve.dfy.expect +++ b/Test/dafny2/StoreAndRetrieve.dfy.expect @@ -1 +1,39 @@ +StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier finished with 19 verified, 0 errors +StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +20.3 +StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +20.3 +StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +20.3 +StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification 20.3 diff --git a/Test/dafny2/StoreAndRetrieve.dfy.verifier.expect b/Test/dafny2/StoreAndRetrieve.dfy.verifier.expect deleted file mode 100644 index 0c3d269cdc1..00000000000 --- a/Test/dafny2/StoreAndRetrieve.dfy.verifier.expect +++ /dev/null @@ -1,5 +0,0 @@ -StoreAndRetrieve.dfy(60,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(65,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(66,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(81,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(92,9): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny2/pq-intrinsic-extrinsic.dfy b/Test/dafny2/pq-intrinsic-extrinsic.dfy index 588c2f9e2b1..c797c92445d 100644 --- a/Test/dafny2/pq-intrinsic-extrinsic.dfy +++ b/Test/dafny2/pq-intrinsic-extrinsic.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // This file contains several versions of a priority queue implemented by Braun trees: // diff --git a/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect b/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect index 5c90c26e0eb..bc2608f44b7 100644 --- a/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect +++ b/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect @@ -1,3 +1,14 @@ + +Dafny program verifier finished with 32 verified, 0 errors + +Dafny program verifier did not attempt verification +PriorityQueue_extrinsic: 3 +PriorityQueue_layered: 3 +PriorityQueue_intrinsic: 3 +PriorityQueue_on_intrinsic: 3 +PriorityQueue_direct: 3 + +Dafny program verifier did not attempt verification PriorityQueue_extrinsic: 3 PriorityQueue_layered: 3 PriorityQueue_intrinsic: 3 diff --git a/Test/dafny3/Abstemious.dfy b/Test/dafny3/Abstemious.dfy index 62d891f950f..263c1f1fb00 100644 --- a/Test/dafny3/Abstemious.dfy +++ b/Test/dafny3/Abstemious.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Examples from https://www.haskell.org/tutorial/functions.html diff --git a/Test/dafny3/Abstemious.dfy.expect b/Test/dafny3/Abstemious.dfy.expect index 3511a04a840..96f109b0b58 100644 --- a/Test/dafny3/Abstemious.dfy.expect +++ b/Test/dafny3/Abstemious.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 19 verified, 0 errors ones(): 1 1 1 1 1 1 1 ... from(3): 3 4 5 6 7 8 9 ... Map(plus1, ones()): 2 2 2 2 2 2 2 ... diff --git a/Test/dafny3/CachedContainer.dfy b/Test/dafny3/CachedContainer.dfy index e36e76d6851..77c3e45897f 100644 --- a/Test/dafny3/CachedContainer.dfy +++ b/Test/dafny3/CachedContainer.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // This file contains an example chain of module refinements, starting from a // simple interface M0 to an implementation M3. Module Client.Test() is diff --git a/Test/dafny3/CachedContainer.dfy.expect b/Test/dafny3/CachedContainer.dfy.expect index ed2a587c3f1..08f4fb30b0a 100644 --- a/Test/dafny3/CachedContainer.dfy.expect +++ b/Test/dafny3/CachedContainer.dfy.expect @@ -1 +1,79 @@ +CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier finished with 29 verified, 0 errors +CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +false true false true +CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +false true false true +CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +false true false true +CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification false true false true diff --git a/Test/dafny3/CachedContainer.dfy.verifier.expect b/Test/dafny3/CachedContainer.dfy.verifier.expect deleted file mode 100644 index a037bc94ff6..00000000000 --- a/Test/dafny3/CachedContainer.dfy.verifier.expect +++ /dev/null @@ -1,13 +0,0 @@ -CachedContainer.dfy(112,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(119,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(122,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(129,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(132,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(153,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(154,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(162,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(163,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(166,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(178,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(179,13): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny3/Iter.dfy b/Test/dafny3/Iter.dfy index 46befa24dd8..81431f2c64b 100644 --- a/Test/dafny3/Iter.dfy +++ b/Test/dafny3/Iter.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" class List { ghost var Contents: seq diff --git a/Test/dafny3/Iter.dfy.expect b/Test/dafny3/Iter.dfy.expect index 0ed11070541..69d7373d5d5 100644 --- a/Test/dafny3/Iter.dfy.expect +++ b/Test/dafny3/Iter.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 12 verified, 0 errors 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 98 0 2 4 6 8 10 12 14 diff --git a/Test/dafny4/Ackermann.dfy b/Test/dafny4/Ackermann.dfy index a4ef351c96b..27968070e9b 100644 --- a/Test/dafny4/Ackermann.dfy +++ b/Test/dafny4/Ackermann.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Rustan Leino, 8 Sep 2015. // This file proves that the Ackermann function is monotonic in each argument diff --git a/Test/dafny4/Ackermann.dfy.expect b/Test/dafny4/Ackermann.dfy.expect index 43d9513ef4b..c995dac9c9a 100644 --- a/Test/dafny4/Ackermann.dfy.expect +++ b/Test/dafny4/Ackermann.dfy.expect @@ -1 +1,5 @@ +Ackermann.dfy(163,4): Warning: /!\ No terms found to trigger on. +Ackermann.dfy(181,4): Warning: /!\ No terms found to trigger on. + +Dafny program verifier finished with 14 verified, 0 errors Ack(3, 4) = 125 diff --git a/Test/dafny4/Ackermann.dfy.verifier.expect b/Test/dafny4/Ackermann.dfy.verifier.expect deleted file mode 100644 index b302e2b4daf..00000000000 --- a/Test/dafny4/Ackermann.dfy.verifier.expect +++ /dev/null @@ -1,2 +0,0 @@ -Ackermann.dfy(162,4): Warning: /!\ No terms found to trigger on. -Ackermann.dfy(180,4): Warning: /!\ No terms found to trigger on. diff --git a/Test/dafny4/Bug107.dfy b/Test/dafny4/Bug107.dfy index b7ab69c9a8d..e417fc90a53 100644 --- a/Test/dafny4/Bug107.dfy +++ b/Test/dafny4/Bug107.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny4/Bug107.dfy.expect b/Test/dafny4/Bug107.dfy.expect index 62f9457511f..ad79213a18c 100644 --- a/Test/dafny4/Bug107.dfy.expect +++ b/Test/dafny4/Bug107.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 1 verified, 0 errors 6 \ No newline at end of file diff --git a/Test/dafny4/Bug108.dfy b/Test/dafny4/Bug108.dfy index 8228fe44f87..c64ec32a340 100644 --- a/Test/dafny4/Bug108.dfy +++ b/Test/dafny4/Bug108.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var A := map[0 := 1]; diff --git a/Test/dafny4/Bug108.dfy.expect b/Test/dafny4/Bug108.dfy.expect index 0777a01b26d..c1c63f6c5c1 100644 --- a/Test/dafny4/Bug108.dfy.expect +++ b/Test/dafny4/Bug108.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 1 verified, 0 errors map[0 := 1] map[0 := 1] diff --git a/Test/dafny4/Bug113.dfy b/Test/dafny4/Bug113.dfy index 0bec0c1ce31..23c759540cd 100644 --- a/Test/dafny4/Bug113.dfy +++ b/Test/dafny4/Bug113.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype D = D(q:int, r:int, s:int, t:int) @@ -6,4 +7,4 @@ method Main() { print D(10, 20, 30, 40); print "\n"; -} +} \ No newline at end of file diff --git a/Test/dafny4/Bug113.dfy.expect b/Test/dafny4/Bug113.dfy.expect index e2eeff32e9a..3ea1396ad00 100644 --- a/Test/dafny4/Bug113.dfy.expect +++ b/Test/dafny4/Bug113.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 0 verified, 0 errors D.D(10, 20, 30, 40) diff --git a/Test/dafny4/Bug140.dfy b/Test/dafny4/Bug140.dfy index 8280db8f665..edde966c149 100644 --- a/Test/dafny4/Bug140.dfy +++ b/Test/dafny4/Bug140.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" class Node { ghost var List: seq diff --git a/Test/dafny4/Bug140.dfy.expect b/Test/dafny4/Bug140.dfy.expect index a40ee1166fb..bad48de4d6b 100644 --- a/Test/dafny4/Bug140.dfy.expect +++ b/Test/dafny4/Bug140.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 8 verified, 0 errors 1 2 diff --git a/Test/dafny4/Bug148.dfy b/Test/dafny4/Bug148.dfy index f31cef2cdc8..da1ebf99447 100644 --- a/Test/dafny4/Bug148.dfy +++ b/Test/dafny4/Bug148.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny4/Bug148.dfy.expect b/Test/dafny4/Bug148.dfy.expect index 9ed6ca4768b..79d02517ceb 100644 --- a/Test/dafny4/Bug148.dfy.expect +++ b/Test/dafny4/Bug148.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 0 verified, 0 errors true false true diff --git a/Test/dafny4/Bug49.dfy b/Test/dafny4/Bug49.dfy index 868f4a3964b..68722830422 100644 --- a/Test/dafny4/Bug49.dfy +++ b/Test/dafny4/Bug49.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny4/Bug49.dfy.expect b/Test/dafny4/Bug49.dfy.expect index 800c2bd15ba..4e02a08bbee 100644 --- a/Test/dafny4/Bug49.dfy.expect +++ b/Test/dafny4/Bug49.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 13 verified, 0 errors 6 6 5 diff --git a/Test/dafny4/Bug60.dfy b/Test/dafny4/Bug60.dfy index f4585753f5f..0aa9209269d 100644 --- a/Test/dafny4/Bug60.dfy +++ b/Test/dafny4/Bug60.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // This method can be used to test compilation. method Main() diff --git a/Test/dafny4/Bug60.dfy.expect b/Test/dafny4/Bug60.dfy.expect index fd56dc3fcbc..49740e95682 100644 --- a/Test/dafny4/Bug60.dfy.expect +++ b/Test/dafny4/Bug60.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 0 verified, 0 errors ({2, 3}, map[2 := 20, 3 := 30]) (2, 2) {2, 3} diff --git a/Test/dafny4/Bug67.dfy b/Test/dafny4/Bug67.dfy index f01d4239a75..731018a293b 100644 --- a/Test/dafny4/Bug67.dfy +++ b/Test/dafny4/Bug67.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype d = D(m:seq) @@ -7,4 +8,4 @@ method Main() assert D([10, 20]) == D([10, 20]); // succeeds print [10, 20] == [10, 20], "\n"; // prints True print D([10, 20]) == D([10, 20]); // prints False -} +} \ No newline at end of file diff --git a/Test/dafny4/Bug67.dfy.expect b/Test/dafny4/Bug67.dfy.expect index 0be5d980da4..c716cab3144 100644 --- a/Test/dafny4/Bug67.dfy.expect +++ b/Test/dafny4/Bug67.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 1 verified, 0 errors true true \ No newline at end of file diff --git a/Test/dafny4/Bug68.dfy b/Test/dafny4/Bug68.dfy index bf50015f90c..a211206acba 100644 --- a/Test/dafny4/Bug68.dfy +++ b/Test/dafny4/Bug68.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method M1() { @@ -61,4 +62,4 @@ method Main() M3(); M3'(); M4(); -} +} \ No newline at end of file diff --git a/Test/dafny4/Bug68.dfy.expect b/Test/dafny4/Bug68.dfy.expect index 814ccfee2df..f4ef534187d 100644 --- a/Test/dafny4/Bug68.dfy.expect +++ b/Test/dafny4/Bug68.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 8 verified, 0 errors true true true diff --git a/Test/dafny4/Bug89.dfy b/Test/dafny4/Bug89.dfy index c7b77b44f99..4aec1acb8b7 100644 --- a/Test/dafny4/Bug89.dfy +++ b/Test/dafny4/Bug89.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method F() returns(x:int) ensures x == 6 diff --git a/Test/dafny4/Bug89.dfy.expect b/Test/dafny4/Bug89.dfy.expect index 62f9457511f..ed41c274352 100644 --- a/Test/dafny4/Bug89.dfy.expect +++ b/Test/dafny4/Bug89.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors 6 \ No newline at end of file diff --git a/Test/dafny4/Bug94.dfy b/Test/dafny4/Bug94.dfy index c41458539fc..be931445654 100644 --- a/Test/dafny4/Bug94.dfy +++ b/Test/dafny4/Bug94.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" ghost function foo() : (int, int) { diff --git a/Test/dafny4/Bug94.dfy.expect b/Test/dafny4/Bug94.dfy.expect index 3f10ffe7a4c..ab0cfbb2d9e 100644 --- a/Test/dafny4/Bug94.dfy.expect +++ b/Test/dafny4/Bug94.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 1 verified, 0 errors 15 \ No newline at end of file diff --git a/Test/dafny4/ClassRefinement.dfy b/Test/dafny4/ClassRefinement.dfy index 3d5fd1006eb..320749ec197 100644 --- a/Test/dafny4/ClassRefinement.dfy +++ b/Test/dafny4/ClassRefinement.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" abstract module M0 { class Counter { diff --git a/Test/dafny4/ClassRefinement.dfy.expect b/Test/dafny4/ClassRefinement.dfy.expect index cba3471eb57..f456b6777f3 100644 --- a/Test/dafny4/ClassRefinement.dfy.expect +++ b/Test/dafny4/ClassRefinement.dfy.expect @@ -1 +1,44 @@ +ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated +ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier finished with 11 verified, 0 errors +ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated +ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +2 1 +ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated +ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +2 1 +ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated +ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +2 1 +ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated +ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification 2 1 diff --git a/Test/dafny4/ClassRefinement.dfy.verifier.expect b/Test/dafny4/ClassRefinement.dfy.verifier.expect deleted file mode 100644 index 543e77303b5..00000000000 --- a/Test/dafny4/ClassRefinement.dfy.verifier.expect +++ /dev/null @@ -1,6 +0,0 @@ -ClassRefinement.dfy(68,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(69,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(74,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(75,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(77,6): Warning: the modify statement with a block statement is deprecated -ClassRefinement.dfy(78,13): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny4/ExpandedGuardedness.dfy b/Test/dafny4/ExpandedGuardedness.dfy index af620ec40e8..5cd7828f932 100644 --- a/Test/dafny4/ExpandedGuardedness.dfy +++ b/Test/dafny4/ExpandedGuardedness.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny4/ExpandedGuardedness.dfy.expect b/Test/dafny4/ExpandedGuardedness.dfy.expect index e0f3b041a66..d05670701e0 100644 --- a/Test/dafny4/ExpandedGuardedness.dfy.expect +++ b/Test/dafny4/ExpandedGuardedness.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 12 verified, 0 errors Up 19 20 21 22 23 Up2 19 20 21 22 23 UpIf 19 20 22 24 26 diff --git a/Test/dafny4/FlyingRobots.dfy b/Test/dafny4/FlyingRobots.dfy index f14a2a467cd..41223cca1aa 100644 --- a/Test/dafny4/FlyingRobots.dfy +++ b/Test/dafny4/FlyingRobots.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // The flying robots examples from an F* tutorial. It demonstrates how to specify // mutable data structures in the heap. diff --git a/Test/dafny4/FlyingRobots.dfy.expect b/Test/dafny4/FlyingRobots.dfy.expect index e69de29bb2d..5ed0d97333e 100644 --- a/Test/dafny4/FlyingRobots.dfy.expect +++ b/Test/dafny4/FlyingRobots.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 31 verified, 0 errors diff --git a/Test/dafny4/Leq.dfy b/Test/dafny4/Leq.dfy index fdbc1078ca3..fac12757ba0 100644 --- a/Test/dafny4/Leq.dfy +++ b/Test/dafny4/Leq.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Rustan Leino, 22 Sep 2015. // This file considers two definitions of Leq on naturals+infinity. One diff --git a/Test/dafny4/Leq.dfy.expect b/Test/dafny4/Leq.dfy.expect index e69de29bb2d..15301952c57 100644 --- a/Test/dafny4/Leq.dfy.expect +++ b/Test/dafny4/Leq.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 16 verified, 0 errors diff --git a/Test/dafny4/McCarthy91.dfy b/Test/dafny4/McCarthy91.dfy index 428f11eb269..466d30328cc 100644 --- a/Test/dafny4/McCarthy91.dfy +++ b/Test/dafny4/McCarthy91.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // The usual recursive method for computing McCarthy's 91 function method Main() { diff --git a/Test/dafny4/McCarthy91.dfy.expect b/Test/dafny4/McCarthy91.dfy.expect index 1511cff2c81..b63f7a0b03b 100644 --- a/Test/dafny4/McCarthy91.dfy.expect +++ b/Test/dafny4/McCarthy91.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 5 verified, 0 errors M(3) = 91 M(99) = 91 M(100) = 91 diff --git a/Test/dafny4/NatList.dfy b/Test/dafny4/NatList.dfy index 5a1b0358eaf..567fd461259 100644 --- a/Test/dafny4/NatList.dfy +++ b/Test/dafny4/NatList.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // This file tests some programs where "nat" is a type parameter to // a datatype. diff --git a/Test/dafny4/NatList.dfy.expect b/Test/dafny4/NatList.dfy.expect index 5382a29cb9f..2ceb3169787 100644 --- a/Test/dafny4/NatList.dfy.expect +++ b/Test/dafny4/NatList.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 11 verified, 0 errors ns = List.Cons(4, List.Cons(10, List.Nil)) Sum(ns) = 14 ns' = List.Cons(20, List.Nil) diff --git a/Test/dafny4/Regression2.dfy b/Test/dafny4/Regression2.dfy index 0d28285e74c..213bf265401 100644 --- a/Test/dafny4/Regression2.dfy +++ b/Test/dafny4/Regression2.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" module NativeTypes { newtype uint64 = int diff --git a/Test/dafny4/Regression2.dfy.expect b/Test/dafny4/Regression2.dfy.expect index 8a739fb435a..3f8ac383f86 100644 --- a/Test/dafny4/Regression2.dfy.expect +++ b/Test/dafny4/Regression2.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 0 verified, 0 errors true true true diff --git a/Test/dafny4/Regression3.dfy b/Test/dafny4/Regression3.dfy index fc60fad3cb1..adaa0d2763d 100644 --- a/Test/dafny4/Regression3.dfy +++ b/Test/dafny4/Regression3.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny4/Regression3.dfy.expect b/Test/dafny4/Regression3.dfy.expect index 1223bf9ffaf..841338987c7 100644 --- a/Test/dafny4/Regression3.dfy.expect +++ b/Test/dafny4/Regression3.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 3 verified, 0 errors 55 Trunc( -3.0 ) = -3 (expected -3) Trunc( -2.8 ) = -3 (expected -3) diff --git a/Test/dafny4/Regression4.dfy b/Test/dafny4/Regression4.dfy index e4bc4cbef85..5f881a5083f 100644 --- a/Test/dafny4/Regression4.dfy +++ b/Test/dafny4/Regression4.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { } diff --git a/Test/dafny4/Regression4.dfy.expect b/Test/dafny4/Regression4.dfy.expect index e69de29bb2d..ba00363fc08 100644 --- a/Test/dafny4/Regression4.dfy.expect +++ b/Test/dafny4/Regression4.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 4 verified, 0 errors diff --git a/Test/dafny4/Regression6.dfy b/Test/dafny4/Regression6.dfy index b589ec0ce7d..f1551d3ef2d 100644 --- a/Test/dafny4/Regression6.dfy +++ b/Test/dafny4/Regression6.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" function Sum(a: array, lo: int, hi: int): int requires 0 <= lo <= hi <= a.Length diff --git a/Test/dafny4/Regression6.dfy.expect b/Test/dafny4/Regression6.dfy.expect index 54573bead10..17464f29e0b 100644 --- a/Test/dafny4/Regression6.dfy.expect +++ b/Test/dafny4/Regression6.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors 0 1028 0 diff --git a/Test/dafny4/Regression7.dfy b/Test/dafny4/Regression7.dfy index ef3ca5eea44..8ce421a62f3 100644 --- a/Test/dafny4/Regression7.dfy +++ b/Test/dafny4/Regression7.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /rprint:"%t.rprint" /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" module ListLibrary { datatype List = Nil | Cons(head: B, tail: List) diff --git a/Test/dafny4/Regression7.dfy.expect b/Test/dafny4/Regression7.dfy.expect index 4d38be23500..b7b2766a340 100644 --- a/Test/dafny4/Regression7.dfy.expect +++ b/Test/dafny4/Regression7.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors ListLibrary.List.Cons(28.0, ListLibrary.List.Nil) diff --git a/Test/dafny4/Regression9.dfy b/Test/dafny4/Regression9.dfy index 086007a3ef8..d9e44547252 100644 --- a/Test/dafny4/Regression9.dfy +++ b/Test/dafny4/Regression9.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Some tests for the type inference that was revamped // to better support subset types. diff --git a/Test/dafny4/Regression9.dfy.expect b/Test/dafny4/Regression9.dfy.expect index 2183b22cfa9..5a26eaeabfb 100644 --- a/Test/dafny4/Regression9.dfy.expect +++ b/Test/dafny4/Regression9.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors 'D''D''D' diff --git a/Test/dafny4/UnionFind.dfy b/Test/dafny4/UnionFind.dfy index 354f28accb7..b97b6ef5d61 100644 --- a/Test/dafny4/UnionFind.dfy +++ b/Test/dafny4/UnionFind.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Rustan Leino, Nov 2015 // Module M0 gives the high-level specification of the UnionFind data structure diff --git a/Test/dafny4/UnionFind.dfy.expect b/Test/dafny4/UnionFind.dfy.expect index 1cb72129e49..961b161b8dc 100644 --- a/Test/dafny4/UnionFind.dfy.expect +++ b/Test/dafny4/UnionFind.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 63 verified, 0 errors false true true false true true diff --git a/Test/dafny4/gcd.dfy b/Test/dafny4/gcd.dfy index fa92223fa49..384e338435f 100644 --- a/Test/dafny4/gcd.dfy +++ b/Test/dafny4/gcd.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // A text describing this file is found in a Dafny Power User note: http://leino.science/papers/krml279.html diff --git a/Test/dafny4/gcd.dfy.expect b/Test/dafny4/gcd.dfy.expect index c17551a37a4..ecbe2b6f64a 100644 --- a/Test/dafny4/gcd.dfy.expect +++ b/Test/dafny4/gcd.dfy.expect @@ -1,3 +1,34 @@ + +Dafny program verifier finished with 19 verified, 0 errors + +Dafny program verifier did not attempt verification +15 gcd 9 = 3 +14 gcd 22 = 2 +371 gcd 1 = 1 +1 gcd 2 = 1 +1 gcd 1 = 1 +13 gcd 13 = 13 +60 gcd 60 = 60 + +Dafny program verifier did not attempt verification +15 gcd 9 = 3 +14 gcd 22 = 2 +371 gcd 1 = 1 +1 gcd 2 = 1 +1 gcd 1 = 1 +13 gcd 13 = 13 +60 gcd 60 = 60 + +Dafny program verifier did not attempt verification +15 gcd 9 = 3 +14 gcd 22 = 2 +371 gcd 1 = 1 +1 gcd 2 = 1 +1 gcd 1 = 1 +13 gcd 13 = 13 +60 gcd 60 = 60 + +Dafny program verifier did not attempt verification 15 gcd 9 = 3 14 gcd 22 = 2 371 gcd 1 = 1 diff --git a/Test/dafny4/git-issue104.dfy b/Test/dafny4/git-issue104.dfy index b05ec4de1cc..86683a2ed88 100644 --- a/Test/dafny4/git-issue104.dfy +++ b/Test/dafny4/git-issue104.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" predicate bug(a: array) reads a diff --git a/Test/dafny4/git-issue104.dfy.expect b/Test/dafny4/git-issue104.dfy.expect index 836a5934c8f..f572edb2471 100644 --- a/Test/dafny4/git-issue104.dfy.expect +++ b/Test/dafny4/git-issue104.dfy.expect @@ -1 +1,17 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification +true false + +Dafny program verifier did not attempt verification +true false + +Dafny program verifier did not attempt verification +true false + +Dafny program verifier did not attempt verification +true false + +Dafny program verifier did not attempt verification true false diff --git a/Test/dafny4/git-issue105.dfy b/Test/dafny4/git-issue105.dfy index 4cff2330cba..09cfce29a6e 100644 --- a/Test/dafny4/git-issue105.dfy +++ b/Test/dafny4/git-issue105.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method lol() returns (c: int) { diff --git a/Test/dafny4/git-issue105.dfy.expect b/Test/dafny4/git-issue105.dfy.expect index e69de29bb2d..012f5b99379 100644 --- a/Test/dafny4/git-issue105.dfy.expect +++ b/Test/dafny4/git-issue105.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/dafny4/git-issue15.dfy b/Test/dafny4/git-issue15.dfy index 7c77a67ccf9..96905286209 100755 --- a/Test/dafny4/git-issue15.dfy +++ b/Test/dafny4/git-issue15.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype obj = Obj(fooBar:map) datatype foo = Foo diff --git a/Test/dafny4/git-issue15.dfy.expect b/Test/dafny4/git-issue15.dfy.expect index 00750edc07d..e52de78d0b1 100755 --- a/Test/dafny4/git-issue15.dfy.expect +++ b/Test/dafny4/git-issue15.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 1 verified, 0 errors 3 diff --git a/Test/dafny4/git-issue195.dfy b/Test/dafny4/git-issue195.dfy index fccdc5461c8..ac4b1306ac6 100644 --- a/Test/dafny4/git-issue195.dfy +++ b/Test/dafny4/git-issue195.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Block = Block(prevBlockHash:Hash, txs:seq, proof:VProof) diff --git a/Test/dafny4/git-issue195.dfy.expect b/Test/dafny4/git-issue195.dfy.expect index 638bfb50b2d..30692fdef2a 100644 --- a/Test/dafny4/git-issue195.dfy.expect +++ b/Test/dafny4/git-issue195.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 4 verified, 0 errors true true true true true diff --git a/Test/dafny4/git-issue196.dfy b/Test/dafny4/git-issue196.dfy index 056687ab1a5..64eb0e9123f 100644 --- a/Test/dafny4/git-issue196.dfy +++ b/Test/dafny4/git-issue196.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" class A { var a: array> diff --git a/Test/dafny4/git-issue196.dfy.expect b/Test/dafny4/git-issue196.dfy.expect index ee25a2c5027..a333f982b8f 100644 --- a/Test/dafny4/git-issue196.dfy.expect +++ b/Test/dafny4/git-issue196.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 9 verified, 0 errors 42 42 42 5000 5000 5000 5000 5000 diff --git a/Test/dafny4/git-issue4.dfy b/Test/dafny4/git-issue4.dfy index b17a545e219..b19cf3ce6df 100644 --- a/Test/dafny4/git-issue4.dfy +++ b/Test/dafny4/git-issue4.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" function IntToChar(i:int):char requires 0 <= i < 10 diff --git a/Test/dafny4/git-issue4.dfy.expect b/Test/dafny4/git-issue4.dfy.expect index 24e24eb63cc..33af1e040b7 100644 --- a/Test/dafny4/git-issue4.dfy.expect +++ b/Test/dafny4/git-issue4.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 5 verified, 0 errors '8' 8 '8' 56 56 diff --git a/Test/dafny4/git-issue43.dfy b/Test/dafny4/git-issue43.dfy index d320d7761bc..edf056a1a91 100644 --- a/Test/dafny4/git-issue43.dfy +++ b/Test/dafny4/git-issue43.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" class System { } diff --git a/Test/dafny4/git-issue43.dfy.expect b/Test/dafny4/git-issue43.dfy.expect index e69de29bb2d..012f5b99379 100644 --- a/Test/dafny4/git-issue43.dfy.expect +++ b/Test/dafny4/git-issue43.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/dafny4/git-issue76.dfy b/Test/dafny4/git-issue76.dfy index 85613dba2f2..708ee911b24 100644 --- a/Test/dafny4/git-issue76.dfy +++ b/Test/dafny4/git-issue76.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { M0(); diff --git a/Test/dafny4/git-issue76.dfy.expect b/Test/dafny4/git-issue76.dfy.expect index 0cfbf08886f..546da03a267 100644 --- a/Test/dafny4/git-issue76.dfy.expect +++ b/Test/dafny4/git-issue76.dfy.expect @@ -1 +1,8 @@ + +Dafny program verifier finished with 7 verified, 0 errors + +Dafny program verifier did not attempt verification +2 + +Dafny program verifier did not attempt verification 2 diff --git a/Test/dafny4/git-issue79.dfy b/Test/dafny4/git-issue79.dfy index f3fb17b8531..046a7c5e375 100644 --- a/Test/dafny4/git-issue79.dfy +++ b/Test/dafny4/git-issue79.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype EInt = Int(val: int) | Unknown type Pair = (string, EInt) diff --git a/Test/dafny4/git-issue79.dfy.expect b/Test/dafny4/git-issue79.dfy.expect index e69de29bb2d..012f5b99379 100644 --- a/Test/dafny4/git-issue79.dfy.expect +++ b/Test/dafny4/git-issue79.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/dafny4/git-issue88.dfy b/Test/dafny4/git-issue88.dfy index 83c0b4a8ef9..1c188333783 100644 --- a/Test/dafny4/git-issue88.dfy +++ b/Test/dafny4/git-issue88.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" type Grid = array2 diff --git a/Test/dafny4/git-issue88.dfy.expect b/Test/dafny4/git-issue88.dfy.expect index e69de29bb2d..00a51f822da 100644 --- a/Test/dafny4/git-issue88.dfy.expect +++ b/Test/dafny4/git-issue88.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 3 verified, 0 errors diff --git a/Test/exceptions/Exceptions1.dfy b/Test/exceptions/Exceptions1.dfy index 4ffd3291f2f..11bb2f7923d 100644 --- a/Test/exceptions/Exceptions1.dfy +++ b/Test/exceptions/Exceptions1.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" /rprint:"%t.rprint" > "%t" +// RUN: %diff "%s.expect" "%t" include "./NatOutcome.dfy" include "./VoidOutcome.dfy" diff --git a/Test/exceptions/Exceptions1.dfy.expect b/Test/exceptions/Exceptions1.dfy.expect index c87eb938c55..e61be2a11ad 100644 --- a/Test/exceptions/Exceptions1.dfy.expect +++ b/Test/exceptions/Exceptions1.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 7 verified, 0 errors true_true_true_88_42_33_Success=100 ___VoidSuccess true_true_false_88_42_Failure diff --git a/Test/exceptions/Exceptions1Expressions.dfy b/Test/exceptions/Exceptions1Expressions.dfy index a57e5b78c7e..c0f3c67cd39 100644 --- a/Test/exceptions/Exceptions1Expressions.dfy +++ b/Test/exceptions/Exceptions1Expressions.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" /rprint:"%t.rprint" > "%t" +// RUN: %diff "%s.expect" "%t" include "./NatOutcomeDt.dfy" include "./VoidOutcomeDt.dfy" diff --git a/Test/exceptions/Exceptions1Expressions.dfy.expect b/Test/exceptions/Exceptions1Expressions.dfy.expect index 3f1b38ab150..3da30f30d36 100644 --- a/Test/exceptions/Exceptions1Expressions.dfy.expect +++ b/Test/exceptions/Exceptions1Expressions.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 5 verified, 0 errors true_true_true_Success=100 VoidSuccess true_true_false_Failure diff --git a/Test/exports/FIFO.dfy b/Test/exports/FIFO.dfy index 95a8d25510c..173e412eaa9 100644 --- a/Test/exports/FIFO.dfy +++ b/Test/exports/FIFO.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" include "Queue.dfyi" diff --git a/Test/exports/FIFO.dfy.expect b/Test/exports/FIFO.dfy.expect index 4539bbf2d22..8350309cc2a 100644 --- a/Test/exports/FIFO.dfy.expect +++ b/Test/exports/FIFO.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 5 verified, 0 errors 0 1 2 diff --git a/Test/exports/LIFO.dfy b/Test/exports/LIFO.dfy index 513dd457c3f..ea691935620 100644 --- a/Test/exports/LIFO.dfy +++ b/Test/exports/LIFO.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" include "Queue.dfyi" diff --git a/Test/exports/LIFO.dfy.expect b/Test/exports/LIFO.dfy.expect index ae136939b64..48aa7787d09 100644 --- a/Test/exports/LIFO.dfy.expect +++ b/Test/exports/LIFO.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 5 verified, 0 errors 2 1 0 diff --git a/Test/exports/xrefine2.dfy b/Test/exports/xrefine2.dfy index 2409cc0509a..0b25240916c 100644 --- a/Test/exports/xrefine2.dfy +++ b/Test/exports/xrefine2.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" module ProtocolImpl { diff --git a/Test/exports/xrefine2.dfy.expect b/Test/exports/xrefine2.dfy.expect index 858dbd09862..34e1b357779 100644 --- a/Test/exports/xrefine2.dfy.expect +++ b/Test/exports/xrefine2.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 4 verified, 0 errors HI.foo(h1) => true HI.foo(h2) => true PI.orange(1) => 2 diff --git a/Test/exports/xrefine3.dfy b/Test/exports/xrefine3.dfy index bb2480bfed7..24d6fa062f0 100644 --- a/Test/exports/xrefine3.dfy +++ b/Test/exports/xrefine3.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" module AlphaImpl { diff --git a/Test/exports/xrefine3.dfy.expect b/Test/exports/xrefine3.dfy.expect index ae50cef0985..488ab11c36a 100644 --- a/Test/exports/xrefine3.dfy.expect +++ b/Test/exports/xrefine3.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors o hai! diff --git a/Test/git-issues/git-issue-032.dfy b/Test/git-issues/git-issue-032.dfy index d7dd61440a7..bde5b2f2a69 100644 --- a/Test/git-issues/git-issue-032.dfy +++ b/Test/git-issues/git-issue-032.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/git-issues/git-issue-032.dfy.expect b/Test/git-issues/git-issue-032.dfy.expect index 2a64997c6f7..91c285009c1 100644 --- a/Test/git-issues/git-issue-032.dfy.expect +++ b/Test/git-issues/git-issue-032.dfy.expect @@ -1,3 +1,40 @@ +git-issue-032.dfy(18,35): Warning: this branch is redundant +git-issue-032.dfy(27,34): Warning: this branch is redundant +git-issue-032.dfy(28,35): Warning: this branch is redundant + +Dafny program verifier finished with 1 verified, 0 errors +git-issue-032.dfy(18,35): Warning: this branch is redundant +git-issue-032.dfy(27,34): Warning: this branch is redundant +git-issue-032.dfy(28,35): Warning: this branch is redundant + +Dafny program verifier did not attempt verification +OK3 +OK +OKOK +00 +git-issue-032.dfy(18,35): Warning: this branch is redundant +git-issue-032.dfy(27,34): Warning: this branch is redundant +git-issue-032.dfy(28,35): Warning: this branch is redundant + +Dafny program verifier did not attempt verification +OK3 +OK +OKOK +00 +git-issue-032.dfy(18,35): Warning: this branch is redundant +git-issue-032.dfy(27,34): Warning: this branch is redundant +git-issue-032.dfy(28,35): Warning: this branch is redundant + +Dafny program verifier did not attempt verification +OK3 +OK +OKOK +00 +git-issue-032.dfy(18,35): Warning: this branch is redundant +git-issue-032.dfy(27,34): Warning: this branch is redundant +git-issue-032.dfy(28,35): Warning: this branch is redundant + +Dafny program verifier did not attempt verification OK3 OK OKOK diff --git a/Test/git-issues/git-issue-032.dfy.verifier.expect b/Test/git-issues/git-issue-032.dfy.verifier.expect deleted file mode 100644 index 1878351db97..00000000000 --- a/Test/git-issues/git-issue-032.dfy.verifier.expect +++ /dev/null @@ -1,3 +0,0 @@ -git-issue-032.dfy(13,35): Warning: this branch is redundant -git-issue-032.dfy(22,34): Warning: this branch is redundant -git-issue-032.dfy(23,35): Warning: this branch is redundant diff --git a/Test/git-issues/git-issue-1029.dfy b/Test/git-issues/git-issue-1029.dfy index 7e1e7a31cf2..a310a99c169 100644 --- a/Test/git-issues/git-issue-1029.dfy +++ b/Test/git-issues/git-issue-1029.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" module ValueType { export S diff --git a/Test/git-issues/git-issue-1029.dfy.expect b/Test/git-issues/git-issue-1029.dfy.expect index 116f2acb4ee..7108c86b0b5 100644 --- a/Test/git-issues/git-issue-1029.dfy.expect +++ b/Test/git-issues/git-issue-1029.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors [true, true, false] UI.Op2.GetOps([true, true, false], [true, true, false]) diff --git a/Test/git-issues/git-issue-1093.dfy b/Test/git-issues/git-issue-1093.dfy index 97797296680..9365397496f 100644 --- a/Test/git-issues/git-issue-1093.dfy +++ b/Test/git-issues/git-issue-1093.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { UnusedLabel(); diff --git a/Test/git-issues/git-issue-1093.dfy.expect b/Test/git-issues/git-issue-1093.dfy.expect index f599e28b8ab..0cadf5e4199 100644 --- a/Test/git-issues/git-issue-1093.dfy.expect +++ b/Test/git-issues/git-issue-1093.dfy.expect @@ -1 +1,17 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification +10 + +Dafny program verifier did not attempt verification +10 + +Dafny program verifier did not attempt verification +10 + +Dafny program verifier did not attempt verification +10 + +Dafny program verifier did not attempt verification 10 diff --git a/Test/git-issues/git-issue-1130.dfy b/Test/git-issues/git-issue-1130.dfy index f1f5ad5a54b..5b7fc5068e2 100644 --- a/Test/git-issues/git-issue-1130.dfy +++ b/Test/git-issues/git-issue-1130.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var a := new Issue.Foo(); diff --git a/Test/git-issues/git-issue-1130.dfy.expect b/Test/git-issues/git-issue-1130.dfy.expect index de97a6dc4ca..6c3dd07b1f1 100644 --- a/Test/git-issues/git-issue-1130.dfy.expect +++ b/Test/git-issues/git-issue-1130.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 13 verified, 0 errors 012 diff --git a/Test/git-issues/git-issue-1150.dfy b/Test/git-issues/git-issue-1150.dfy index d3416a53813..d4cee3c3ef2 100644 --- a/Test/git-issues/git-issue-1150.dfy +++ b/Test/git-issues/git-issue-1150.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Foo = Foo(x: nat) { diff --git a/Test/git-issues/git-issue-1150.dfy.expect b/Test/git-issues/git-issue-1150.dfy.expect index f34d8df4a11..fb4be1897cf 100644 --- a/Test/git-issues/git-issue-1150.dfy.expect +++ b/Test/git-issues/git-issue-1150.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 1 verified, 0 errors Foo.Foo(2) true Foo.Foo(5) false diff --git a/Test/git-issues/git-issue-1185.dfy b/Test/git-issues/git-issue-1185.dfy index c7ad72134d1..32c340b0736 100644 --- a/Test/git-issues/git-issue-1185.dfy +++ b/Test/git-issues/git-issue-1185.dfy @@ -1,5 +1,9 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" predicate P(s: set) requires s != {} diff --git a/Test/git-issues/git-issue-1185.dfy.expect b/Test/git-issues/git-issue-1185.dfy.expect index 525ce875525..90ab58a1f5a 100644 --- a/Test/git-issues/git-issue-1185.dfy.expect +++ b/Test/git-issues/git-issue-1185.dfy.expect @@ -1 +1,14 @@ + +Dafny program verifier finished with 3 verified, 0 errors + +Dafny program verifier did not attempt verification +{12, 20} true 6 + +Dafny program verifier did not attempt verification +{20, 12} true 6 + +Dafny program verifier did not attempt verification +{12, 20} true 6 + +Dafny program verifier did not attempt verification {12, 20} true 6 diff --git a/Test/git-issues/git-issue-1185.dfy.java.expect b/Test/git-issues/git-issue-1185.dfy.java.expect deleted file mode 100644 index 8ba669ad273..00000000000 --- a/Test/git-issues/git-issue-1185.dfy.java.expect +++ /dev/null @@ -1 +0,0 @@ -{20, 12} true 6 diff --git a/Test/git-issues/git-issue-1514.dfy b/Test/git-issues/git-issue-1514.dfy index 816eadce69b..74b75478609 100644 --- a/Test/git-issues/git-issue-1514.dfy +++ b/Test/git-issues/git-issue-1514.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" include "Wrappers.dfy" import opened Wrappers diff --git a/Test/git-issues/git-issue-1514.dfy.expect b/Test/git-issues/git-issue-1514.dfy.expect index b5754e20373..2f22d47cee8 100644 --- a/Test/git-issues/git-issue-1514.dfy.expect +++ b/Test/git-issues/git-issue-1514.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-1514b.dfy b/Test/git-issues/git-issue-1514b.dfy index 050a4a71760..1d8cd122d28 100644 --- a/Test/git-issues/git-issue-1514b.dfy +++ b/Test/git-issues/git-issue-1514b.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" include "Wrappers.dfy" import opened Wrappers diff --git a/Test/git-issues/git-issue-1514b.dfy.expect b/Test/git-issues/git-issue-1514b.dfy.expect index b5754e20373..2f22d47cee8 100644 --- a/Test/git-issues/git-issue-1514b.dfy.expect +++ b/Test/git-issues/git-issue-1514b.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-1514c.dfy b/Test/git-issues/git-issue-1514c.dfy index 578316f217c..d9df7d108c1 100644 --- a/Test/git-issues/git-issue-1514c.dfy +++ b/Test/git-issues/git-issue-1514c.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" include "Wrappers.dfy" import opened Wrappers diff --git a/Test/git-issues/git-issue-1514c.dfy.expect b/Test/git-issues/git-issue-1514c.dfy.expect index 9766475a418..694254c28aa 100644 --- a/Test/git-issues/git-issue-1514c.dfy.expect +++ b/Test/git-issues/git-issue-1514c.dfy.expect @@ -1 +1,8 @@ + +Dafny program verifier finished with 3 verified, 0 errors + +Dafny program verifier did not attempt verification +ok + +Dafny program verifier did not attempt verification ok diff --git a/Test/git-issues/git-issue-1553.dfy b/Test/git-issues/git-issue-1553.dfy index 81cbef7aa7e..6267018c92d 100644 --- a/Test/git-issues/git-issue-1553.dfy +++ b/Test/git-issues/git-issue-1553.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { } method Test() { diff --git a/Test/git-issues/git-issue-1553.dfy.expect b/Test/git-issues/git-issue-1553.dfy.expect index e69de29bb2d..65d3b5d6635 100644 --- a/Test/git-issues/git-issue-1553.dfy.expect +++ b/Test/git-issues/git-issue-1553.dfy.expect @@ -0,0 +1,10 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-1604b.dfy b/Test/git-issues/git-issue-1604b.dfy index d7c4169ec60..497ee5017d5 100644 --- a/Test/git-issues/git-issue-1604b.dfy +++ b/Test/git-issues/git-issue-1604b.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --error-limit:0 --relax-definite-assignment +// RUN: %dafny /compile:3 /errorLimit:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Double constraints. Will this still work? diff --git a/Test/git-issues/git-issue-1604b.dfy.expect b/Test/git-issues/git-issue-1604b.dfy.expect index b5754e20373..93d7203e654 100644 --- a/Test/git-issues/git-issue-1604b.dfy.expect +++ b/Test/git-issues/git-issue-1604b.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 5 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-1714.dfy b/Test/git-issues/git-issue-1714.dfy index 540a41c39cb..6ce8915a7af 100644 --- a/Test/git-issues/git-issue-1714.dfy +++ b/Test/git-issues/git-issue-1714.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" +// RUN: %diff "%s.expect" "%t" trait Base {} class Derived extends Base { var n: int constructor() { n := 0; } } diff --git a/Test/git-issues/git-issue-1714.dfy.expect b/Test/git-issues/git-issue-1714.dfy.expect index 88039063d09..67dd7d95642 100644 --- a/Test/git-issues/git-issue-1714.dfy.expect +++ b/Test/git-issues/git-issue-1714.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors (b as Derived).n == 0 diff --git a/Test/git-issues/git-issue-1815a.dfy b/Test/git-issues/git-issue-1815a.dfy index 72d55a1cb4f..91fb7a32aa6 100644 --- a/Test/git-issues/git-issue-1815a.dfy +++ b/Test/git-issues/git-issue-1815a.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Dt<+U> = Dt(x: U, i: int) diff --git a/Test/git-issues/git-issue-1815a.dfy.expect b/Test/git-issues/git-issue-1815a.dfy.expect index 19f86f493ab..7b2651302d9 100644 --- a/Test/git-issues/git-issue-1815a.dfy.expect +++ b/Test/git-issues/git-issue-1815a.dfy.expect @@ -1 +1,17 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification +done + +Dafny program verifier did not attempt verification +done + +Dafny program verifier did not attempt verification +done + +Dafny program verifier did not attempt verification +done + +Dafny program verifier did not attempt verification done diff --git a/Test/git-issues/git-issue-1852.dfy b/Test/git-issues/git-issue-1852.dfy index 046f3fca1fc..516835e8ea8 100644 --- a/Test/git-issues/git-issue-1852.dfy +++ b/Test/git-issues/git-issue-1852.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" module A { export diff --git a/Test/git-issues/git-issue-1852.dfy.expect b/Test/git-issues/git-issue-1852.dfy.expect index 299a71f3fe4..e9cd0ea2e07 100644 --- a/Test/git-issues/git-issue-1852.dfy.expect +++ b/Test/git-issues/git-issue-1852.dfy.expect @@ -1 +1,8 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification +5 5 + +Dafny program verifier did not attempt verification 5 5 diff --git a/Test/git-issues/git-issue-1903.dfy b/Test/git-issues/git-issue-1903.dfy index 60ee1c121ab..7edb2a46c61 100644 --- a/Test/git-issues/git-issue-1903.dfy +++ b/Test/git-issues/git-issue-1903.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method g(x : seq := []) { diff --git a/Test/git-issues/git-issue-1903.dfy.expect b/Test/git-issues/git-issue-1903.dfy.expect index 84cc8d360f9..3170fb0c7f2 100644 --- a/Test/git-issues/git-issue-1903.dfy.expect +++ b/Test/git-issues/git-issue-1903.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 1 verified, 0 errors worked! diff --git a/Test/git-issues/git-issue-1909.dfy b/Test/git-issues/git-issue-1909.dfy index 83d9ec1d785..7fb5b3b8c48 100644 --- a/Test/git-issues/git-issue-1909.dfy +++ b/Test/git-issues/git-issue-1909.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype ABC = ABC(nameonly a: int, nameonly b: int, nameonly c: int) diff --git a/Test/git-issues/git-issue-1909.dfy.expect b/Test/git-issues/git-issue-1909.dfy.expect index ab6f7d69d36..b4eb7e7774e 100644 --- a/Test/git-issues/git-issue-1909.dfy.expect +++ b/Test/git-issues/git-issue-1909.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 1 verified, 0 errors ABC.ABC(19, 21, 23) ABC.ABC(19, 42, 23) ABC.ABC(100, 42, 90) diff --git a/Test/git-issues/git-issue-2013.dfy b/Test/git-issues/git-issue-2013.dfy index 1f3962988ee..d1d3e15880e 100644 --- a/Test/git-issues/git-issue-2013.dfy +++ b/Test/git-issues/git-issue-2013.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/git-issues/git-issue-2013.dfy.expect b/Test/git-issues/git-issue-2013.dfy.expect index 22e56ce7263..7ff6ce957cf 100644 --- a/Test/git-issues/git-issue-2013.dfy.expect +++ b/Test/git-issues/git-issue-2013.dfy.expect @@ -1,3 +1,55 @@ + +Dafny program verifier finished with 12 verified, 0 errors + +Dafny program verifier did not attempt verification +16 +16 +12 30 30 +Result.Success(8) Result.Failure(_module.MyClassException) +{100} {100} {100} +{MoreTests.C} {MoreTests.C} {MoreTests.C} +100 100 100 +MoreTests.C MoreTests.C MoreTests.C +Conveyance.NonVariantResult.NVSuccess(Conveyance.Car) Conveyance.CovariantResult.CVSuccess(Conveyance.Car) +M.Stream.Next + +Dafny program verifier did not attempt verification +16 +16 +12 30 30 +Result.Success(8) Result.Failure(_module.MyClassException) +{100} {100} {100} +{MoreTests.C} {MoreTests.C} {MoreTests.C} +100 100 100 +MoreTests.C MoreTests.C MoreTests.C +Conveyance.NonVariantResult.NVSuccess(Conveyance.Car) Conveyance.CovariantResult.CVSuccess(Conveyance.Car) +M.Stream.Next + +Dafny program verifier did not attempt verification +16 +16 +12 30 30 +Result.Success(8) Result.Failure(_module.MyClassException) +{100} {100} {100} +{MoreTests.C} {MoreTests.C} {MoreTests.C} +100 100 100 +MoreTests.C MoreTests.C MoreTests.C +Conveyance.NonVariantResult.NVSuccess(Conveyance.Car) Conveyance.CovariantResult.CVSuccess(Conveyance.Car) +M.Stream.Next + +Dafny program verifier did not attempt verification +16 +16 +12 30 30 +Result.Success(8) Result.Failure(_module.MyClassException) +{100} {100} {100} +{MoreTests.C} {MoreTests.C} {MoreTests.C} +100 100 100 +MoreTests.C MoreTests.C MoreTests.C +Conveyance.NonVariantResult.NVSuccess(Conveyance.Car) Conveyance.CovariantResult.CVSuccess(Conveyance.Car) +M.Stream.Next + +Dafny program verifier did not attempt verification 16 16 12 30 30 diff --git a/Test/git-issues/git-issue-2441.dfy b/Test/git-issues/git-issue-2441.dfy index 4179ecc87bc..bc9c8721ee2 100644 --- a/Test/git-issues/git-issue-2441.dfy +++ b/Test/git-issues/git-issue-2441.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype A = A(B: B) datatype B = X diff --git a/Test/git-issues/git-issue-2441.dfy.expect b/Test/git-issues/git-issue-2441.dfy.expect index e69de29bb2d..0c3f603d584 100644 --- a/Test/git-issues/git-issue-2441.dfy.expect +++ b/Test/git-issues/git-issue-2441.dfy.expect @@ -0,0 +1,6 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-2510.dfy b/Test/git-issues/git-issue-2510.dfy index 11ee2877bb3..22ef8e47058 100644 --- a/Test/git-issues/git-issue-2510.dfy +++ b/Test/git-issues/git-issue-2510.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:4 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" /// Check that the compiler accepts `:- assume {:axiom} …`. diff --git a/Test/git-issues/git-issue-2510.dfy.expect b/Test/git-issues/git-issue-2510.dfy.expect index 56a6051ca2b..b341a39a78d 100644 --- a/Test/git-issues/git-issue-2510.dfy.expect +++ b/Test/git-issues/git-issue-2510.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors 1 \ No newline at end of file diff --git a/Test/git-issues/git-issue-2608.dfy b/Test/git-issues/git-issue-2608.dfy index c606177f94f..459c9ffbf94 100644 --- a/Test/git-issues/git-issue-2608.dfy +++ b/Test/git-issues/git-issue-2608.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /compileTarget:js "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method GetNext(i: int) returns (j: int, possible: bool) { if i == 1 { diff --git a/Test/git-issues/git-issue-2608.dfy.expect b/Test/git-issues/git-issue-2608.dfy.expect index d9ed583f710..dce7ba1814a 100644 --- a/Test/git-issues/git-issue-2608.dfy.expect +++ b/Test/git-issues/git-issue-2608.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors 82411246231944714271214 \ No newline at end of file diff --git a/Test/git-issues/git-issue-262.dfy b/Test/git-issues/git-issue-262.dfy index 22d9a31b2fe..2c00ad94a39 100644 --- a/Test/git-issues/git-issue-262.dfy +++ b/Test/git-issues/git-issue-262.dfy @@ -1,5 +1,8 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" +// RUN: %dafny /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" function tst(x: nat): nat { x + 1 diff --git a/Test/git-issues/git-issue-262.dfy.expect b/Test/git-issues/git-issue-262.dfy.expect index 41d8cd55158..76af42cd4a3 100644 --- a/Test/git-issues/git-issue-262.dfy.expect +++ b/Test/git-issues/git-issue-262.dfy.expect @@ -1,2 +1,20 @@ + +Dafny program verifier finished with 2 verified, 0 errors System.Func`2[System.Numerics.BigInteger,System.Numerics.BigInteger] System.Func`2[System.Numerics.BigInteger,System.Numerics.BigInteger] + +Dafny program verifier finished with 2 verified, 0 errors +tst(x) { + return (x).plus(_dafny.ONE); + } +tst(x) { + return (x).plus(_dafny.ONE); + } + +Dafny program verifier finished with 2 verified, 0 errors +func(dafny.Int) dafny.Int +func(dafny.Int) dafny.Int + +Dafny program verifier finished with 2 verified, 0 errors +Function +Function diff --git a/Test/git-issues/git-issue-262.dfy.go.expect b/Test/git-issues/git-issue-262.dfy.go.expect deleted file mode 100644 index 578754c176c..00000000000 --- a/Test/git-issues/git-issue-262.dfy.go.expect +++ /dev/null @@ -1,2 +0,0 @@ -func(dafny.Int) dafny.Int -func(dafny.Int) dafny.Int diff --git a/Test/git-issues/git-issue-262.dfy.java.expect b/Test/git-issues/git-issue-262.dfy.java.expect deleted file mode 100644 index aa5478ef8c9..00000000000 --- a/Test/git-issues/git-issue-262.dfy.java.expect +++ /dev/null @@ -1,2 +0,0 @@ -Function -Function diff --git a/Test/git-issues/git-issue-262.dfy.js.expect b/Test/git-issues/git-issue-262.dfy.js.expect deleted file mode 100644 index e181ef2fef8..00000000000 --- a/Test/git-issues/git-issue-262.dfy.js.expect +++ /dev/null @@ -1,6 +0,0 @@ -tst(x) { - return (x).plus(_dafny.ONE); - } -tst(x) { - return (x).plus(_dafny.ONE); - } diff --git a/Test/git-issues/git-issue-267.dfy b/Test/git-issues/git-issue-267.dfy index 2b0b3281589..cef2fcc6c17 100644 --- a/Test/git-issues/git-issue-267.dfy +++ b/Test/git-issues/git-issue-267.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var c := 1; diff --git a/Test/git-issues/git-issue-267.dfy.expect b/Test/git-issues/git-issue-267.dfy.expect index cd7da05e3d2..d71aef2f440 100644 --- a/Test/git-issues/git-issue-267.dfy.expect +++ b/Test/git-issues/git-issue-267.dfy.expect @@ -1 +1,14 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification +210 + +Dafny program verifier did not attempt verification +210 + +Dafny program verifier did not attempt verification +210 + +Dafny program verifier did not attempt verification 210 diff --git a/Test/git-issues/git-issue-2672.dfy b/Test/git-issues/git-issue-2672.dfy index 52c5b9c638c..338299ee8b7 100644 --- a/Test/git-issues/git-issue-2672.dfy +++ b/Test/git-issues/git-issue-2672.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" newtype sreal = r: real | r > -4 as real newtype sint = r: int | r > -4 as int diff --git a/Test/git-issues/git-issue-2672.dfy.expect b/Test/git-issues/git-issue-2672.dfy.expect index 43440a83d53..c9c3244b6f4 100644 --- a/Test/git-issues/git-issue-2672.dfy.expect +++ b/Test/git-issues/git-issue-2672.dfy.expect @@ -1,3 +1,47 @@ + +Dafny program verifier finished with 5 verified, 0 errors + +Dafny program verifier did not attempt verification +true true true true true true true true true true +false false false false false false false false false false +false false false false false false false false false false +true true true true true true true true true true +true true true true true true true true true true +false false false false false false false false false false +true true true +false false false + +Dafny program verifier did not attempt verification +true true true true true true true true true true +false false false false false false false false false false +false false false false false false false false false false +true true true true true true true true true true +true true true true true true true true true true +false false false false false false false false false false +true true true +false false false + +Dafny program verifier did not attempt verification +true true true true true true true true true true +false false false false false false false false false false +false false false false false false false false false false +true true true true true true true true true true +true true true true true true true true true true +false false false false false false false false false false +true true true +false false false + +Dafny program verifier did not attempt verification +true true true true true true true true true true +false false false false false false false false false false +false false false false false false false false false false +true true true true true true true true true true +true true true true true true true true true true +false false false false false false false false false false +true true true +false false false + +Dafny program verifier did not attempt verification true true true true true true true true true true false false false false false false false false false false false false false false false false false false false false diff --git a/Test/git-issues/git-issue-2726a.dfy b/Test/git-issues/git-issue-2726a.dfy index a43d5dd0107..641fefbbdc4 100644 --- a/Test/git-issues/git-issue-2726a.dfy +++ b/Test/git-issues/git-issue-2726a.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /compileTarget:cs "%s" > "%t" +// RUN: %diff "%s.expect" "%t" const digits := ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"] diff --git a/Test/git-issues/git-issue-2726a.dfy.expect b/Test/git-issues/git-issue-2726a.dfy.expect index 8e1bedb2a64..6985935c88c 100644 --- a/Test/git-issues/git-issue-2726a.dfy.expect +++ b/Test/git-issues/git-issue-2726a.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 1 verified, 0 errors 4 42 422 diff --git a/Test/git-issues/git-issue-2733.dfy b/Test/git-issues/git-issue-2733.dfy index 65bc2b991fd..232eab3cc74 100644 --- a/Test/git-issues/git-issue-2733.dfy +++ b/Test/git-issues/git-issue-2733.dfy @@ -1,4 +1,11 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cpp "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { print "XYZ"; // Checks that no extra newline is added to the output diff --git a/Test/git-issues/git-issue-2733.dfy.expect b/Test/git-issues/git-issue-2733.dfy.expect index 77bf25132db..b139e2f3d58 100644 --- a/Test/git-issues/git-issue-2733.dfy.expect +++ b/Test/git-issues/git-issue-2733.dfy.expect @@ -1 +1,15 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification +XYZ +Dafny program verifier did not attempt verification +XYZ +Dafny program verifier did not attempt verification +XYZ +Dafny program verifier did not attempt verification +XYZ +Dafny program verifier did not attempt verification +XYZ +Dafny program verifier did not attempt verification XYZ \ No newline at end of file diff --git a/Test/git-issues/git-issue-2792.dfy b/Test/git-issues/git-issue-2792.dfy index d2fb9db2055..89e736667c0 100644 --- a/Test/git-issues/git-issue-2792.dfy +++ b/Test/git-issues/git-issue-2792.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /compileTarget:java "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Wrapper = Wrapper(s: seq) { diff --git a/Test/git-issues/git-issue-2792.dfy.expect b/Test/git-issues/git-issue-2792.dfy.expect index ca1683c3020..c1e603c58fe 100644 --- a/Test/git-issues/git-issue-2792.dfy.expect +++ b/Test/git-issues/git-issue-2792.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 0 verified, 0 errors [] Wrapper2.Wrapper2([], 2792) diff --git a/Test/git-issues/git-issue-283.dfy b/Test/git-issues/git-issue-283.dfy index 1ca6d48d32c..c7c10f4aea3 100644 --- a/Test/git-issues/git-issue-283.dfy +++ b/Test/git-issues/git-issue-283.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Result = | Success(value: T) diff --git a/Test/git-issues/git-issue-283.dfy.expect b/Test/git-issues/git-issue-283.dfy.expect index a965a70ed4e..2adb114b8a0 100644 --- a/Test/git-issues/git-issue-283.dfy.expect +++ b/Test/git-issues/git-issue-283.dfy.expect @@ -1 +1,14 @@ + +Dafny program verifier finished with 9 verified, 0 errors + +Dafny program verifier did not attempt verification +Done + +Dafny program verifier did not attempt verification +Done + +Dafny program verifier did not attempt verification +Done + +Dafny program verifier did not attempt verification Done diff --git a/Test/git-issues/git-issue-283d.dfy b/Test/git-issues/git-issue-283d.dfy index 46c1056d5e1..54ee58fb456 100644 --- a/Test/git-issues/git-issue-283d.dfy +++ b/Test/git-issues/git-issue-283d.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Foo = R(v: int) diff --git a/Test/git-issues/git-issue-283d.dfy.expect b/Test/git-issues/git-issue-283d.dfy.expect index e69de29bb2d..8da23be5c8c 100644 --- a/Test/git-issues/git-issue-283d.dfy.expect +++ b/Test/git-issues/git-issue-283d.dfy.expect @@ -0,0 +1,10 @@ + +Dafny program verifier finished with 4 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-314.dfy b/Test/git-issues/git-issue-314.dfy index a7fc06564a5..5e3e93ca654 100644 --- a/Test/git-issues/git-issue-314.dfy +++ b/Test/git-issues/git-issue-314.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype S = S(G: array) datatype T = T(F: array, ghost Repr: set) diff --git a/Test/git-issues/git-issue-314.dfy.expect b/Test/git-issues/git-issue-314.dfy.expect index e69de29bb2d..f02fc57989a 100644 --- a/Test/git-issues/git-issue-314.dfy.expect +++ b/Test/git-issues/git-issue-314.dfy.expect @@ -0,0 +1,10 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-332.dfy b/Test/git-issues/git-issue-332.dfy index 5166441405d..ca2b08f3e8d 100644 --- a/Test/git-issues/git-issue-332.dfy +++ b/Test/git-issues/git-issue-332.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var foo := new B.Foo(15); diff --git a/Test/git-issues/git-issue-332.dfy.expect b/Test/git-issues/git-issue-332.dfy.expect index 209e3ef4b62..57cad39addf 100644 --- a/Test/git-issues/git-issue-332.dfy.expect +++ b/Test/git-issues/git-issue-332.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 6 verified, 0 errors 20 diff --git a/Test/git-issues/git-issue-354.dfy b/Test/git-issues/git-issue-354.dfy index c3d63021209..5938c2f71ae 100644 --- a/Test/git-issues/git-issue-354.dfy +++ b/Test/git-issues/git-issue-354.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" class C { static const u: X diff --git a/Test/git-issues/git-issue-354.dfy.expect b/Test/git-issues/git-issue-354.dfy.expect index 4368562357f..cb5ae21dc46 100644 --- a/Test/git-issues/git-issue-354.dfy.expect +++ b/Test/git-issues/git-issue-354.dfy.expect @@ -1,3 +1,25 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification +0 +0 +0.0 +false + +Dafny program verifier did not attempt verification +0 +0 +0.0 +false + +Dafny program verifier did not attempt verification +0 +0 +0.0 +false + +Dafny program verifier did not attempt verification 0 0 0.0 diff --git a/Test/git-issues/git-issue-356.dfy b/Test/git-issues/git-issue-356.dfy index 2d497c0531c..f5c34b0803b 100644 --- a/Test/git-issues/git-issue-356.dfy +++ b/Test/git-issues/git-issue-356.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" module M { type Tx = i: int | 0 <= i <= 100 diff --git a/Test/git-issues/git-issue-356.dfy.expect b/Test/git-issues/git-issue-356.dfy.expect index 9d984ec4ef4..cff4ed233e1 100644 --- a/Test/git-issues/git-issue-356.dfy.expect +++ b/Test/git-issues/git-issue-356.dfy.expect @@ -1,3 +1,39 @@ + +Dafny program verifier finished with 25 verified, 0 errors + +Dafny program verifier did not attempt verification +a d 57005 * * +Z 90 90.0 90 90 +* 42 42.0 42 42 +F 70 70.0 70 70 +# 35 35.0 35 35 +END + +Dafny program verifier did not attempt verification +a d 57005 * * +Z 90 90.0 90 90 +* 42 42.0 42 42 +F 70 70.0 70 70 +# 35 35.0 35 35 +END + +Dafny program verifier did not attempt verification +a d 57005 * * +Z 90 90.0 90 90 +* 42 42.0 42 42 +F 70 70.0 70 70 +# 35 35.0 35 35 +END + +Dafny program verifier did not attempt verification +a d 57005 * * +Z 90 90.0 90 90 +* 42 42.0 42 42 +F 70 70.0 70 70 +# 35 35.0 35 35 +END + +Dafny program verifier did not attempt verification a d 57005 * * Z 90 90.0 90 90 * 42 42.0 42 42 diff --git a/Test/git-issues/git-issue-364.dfy b/Test/git-issues/git-issue-364.dfy index 68c75931746..0fdedc7d9c0 100644 --- a/Test/git-issues/git-issue-364.dfy +++ b/Test/git-issues/git-issue-364.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype NatOutcome = | Success(value: nat) diff --git a/Test/git-issues/git-issue-364.dfy.expect b/Test/git-issues/git-issue-364.dfy.expect index 38478c6c688..1368349d437 100644 --- a/Test/git-issues/git-issue-364.dfy.expect +++ b/Test/git-issues/git-issue-364.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 4 verified, 0 errors NatOutcome.Success(55) false 55 12 0 NatOutcome.Failure("it could be worse") true NatOutcome.Failure("it could be worse") diff --git a/Test/git-issues/git-issue-374.dfy b/Test/git-issues/git-issue-374.dfy index 15b56ec6396..4c031b7d3ff 100644 --- a/Test/git-issues/git-issue-374.dfy +++ b/Test/git-issues/git-issue-374.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" class C { constructor(ghost x: int) diff --git a/Test/git-issues/git-issue-374.dfy.expect b/Test/git-issues/git-issue-374.dfy.expect index e69de29bb2d..f02fc57989a 100644 --- a/Test/git-issues/git-issue-374.dfy.expect +++ b/Test/git-issues/git-issue-374.dfy.expect @@ -0,0 +1,10 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-396.dfy b/Test/git-issues/git-issue-396.dfy index 7866d3d0498..2ab68e51e12 100644 --- a/Test/git-issues/git-issue-396.dfy +++ b/Test/git-issues/git-issue-396.dfy @@ -1,4 +1,8 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" +// RUN: %dafny /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Foo = Bar(value: int) diff --git a/Test/git-issues/git-issue-396.dfy.expect b/Test/git-issues/git-issue-396.dfy.expect index dee79f10940..3dd340d3178 100644 --- a/Test/git-issues/git-issue-396.dfy.expect +++ b/Test/git-issues/git-issue-396.dfy.expect @@ -1 +1,12 @@ + +Dafny program verifier finished with 1 verified, 0 errors +114 + +Dafny program verifier finished with 1 verified, 0 errors +114 + +Dafny program verifier finished with 1 verified, 0 errors +114 + +Dafny program verifier finished with 1 verified, 0 errors 114 diff --git a/Test/git-issues/git-issue-4007.dfy b/Test/git-issues/git-issue-4007.dfy index 5a279e7b8e6..e4c25b82bb8 100644 --- a/Test/git-issues/git-issue-4007.dfy +++ b/Test/git-issues/git-issue-4007.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:4 /compileTarget:py "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var a := 0; @@ -6,4 +7,4 @@ method Main() { a := a + 1; } print a, "\n"; -} +} \ No newline at end of file diff --git a/Test/git-issues/git-issue-4007.dfy.expect b/Test/git-issues/git-issue-4007.dfy.expect index 00750edc07d..3ce6919d35b 100644 --- a/Test/git-issues/git-issue-4007.dfy.expect +++ b/Test/git-issues/git-issue-4007.dfy.expect @@ -1 +1,4 @@ +git-issue-4007.dfy(6,20): Warning: /!\ No terms found to trigger on. + +Dafny program verifier finished with 1 verified, 0 errors 3 diff --git a/Test/git-issues/git-issue-4007.dfy.verifier.expect b/Test/git-issues/git-issue-4007.dfy.verifier.expect deleted file mode 100644 index 1d4310d09b5..00000000000 --- a/Test/git-issues/git-issue-4007.dfy.verifier.expect +++ /dev/null @@ -1 +0,0 @@ -git-issue-4007.dfy(5,20): Warning: /!\ No terms found to trigger on. diff --git a/Test/git-issues/git-issue-4012.dfy b/Test/git-issues/git-issue-4012.dfy index 5360c0e935b..e065393a211 100644 --- a/Test/git-issues/git-issue-4012.dfy +++ b/Test/git-issues/git-issue-4012.dfy @@ -1,7 +1,8 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:4 /compileTarget:py "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var x: multiset := multiset{}; x := x[1 := 18446744073709551616]; print |x|, "\n"; -} +} \ No newline at end of file diff --git a/Test/git-issues/git-issue-4012.dfy.expect b/Test/git-issues/git-issue-4012.dfy.expect index ab69b99fab4..230fbdbd384 100644 --- a/Test/git-issues/git-issue-4012.dfy.expect +++ b/Test/git-issues/git-issue-4012.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 1 verified, 0 errors 18446744073709551616 diff --git a/Test/git-issues/git-issue-425.dfy b/Test/git-issues/git-issue-425.dfy index 122a10e4fbb..4e555daaed0 100644 --- a/Test/git-issues/git-issue-425.dfy +++ b/Test/git-issues/git-issue-425.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method M() returns (x: int, ghost y: int) { return 42, 43; diff --git a/Test/git-issues/git-issue-425.dfy.expect b/Test/git-issues/git-issue-425.dfy.expect index daaac9e3030..c2284013d9e 100644 --- a/Test/git-issues/git-issue-425.dfy.expect +++ b/Test/git-issues/git-issue-425.dfy.expect @@ -1,2 +1,18 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification +42 +42 + +Dafny program verifier did not attempt verification +42 +42 + +Dafny program verifier did not attempt verification +42 +42 + +Dafny program verifier did not attempt verification 42 42 diff --git a/Test/git-issues/git-issue-443.dfy b/Test/git-issues/git-issue-443.dfy index 6702e37484f..e8745b5ddda 100644 --- a/Test/git-issues/git-issue-443.dfy +++ b/Test/git-issues/git-issue-443.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { print F(), " ", G(802.11), "\n"; // 12 15 diff --git a/Test/git-issues/git-issue-443.dfy.expect b/Test/git-issues/git-issue-443.dfy.expect index 0b64712fdcf..10af01216da 100644 --- a/Test/git-issues/git-issue-443.dfy.expect +++ b/Test/git-issues/git-issue-443.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors 12 15 diff --git a/Test/git-issues/git-issue-446.dfy b/Test/git-issues/git-issue-446.dfy index a66a9272d18..0656587fd03 100644 --- a/Test/git-issues/git-issue-446.dfy +++ b/Test/git-issues/git-issue-446.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Result = Success(value: T) | Failure(error: string) { diff --git a/Test/git-issues/git-issue-446.dfy.expect b/Test/git-issues/git-issue-446.dfy.expect index 8165c2056d0..18195d22344 100644 --- a/Test/git-issues/git-issue-446.dfy.expect +++ b/Test/git-issues/git-issue-446.dfy.expect @@ -1,3 +1,22 @@ + +Dafny program verifier finished with 9 verified, 0 errors + +Dafny program verifier did not attempt verification +true -2 +true 42 +End + +Dafny program verifier did not attempt verification +true -2 +true 42 +End + +Dafny program verifier did not attempt verification +true -2 +true 42 +End + +Dafny program verifier did not attempt verification true -2 true 42 End diff --git a/Test/git-issues/git-issue-446a.dfy b/Test/git-issues/git-issue-446a.dfy index 2c559cea76d..41917680fee 100644 --- a/Test/git-issues/git-issue-446a.dfy +++ b/Test/git-issues/git-issue-446a.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Result = Success(value: T) | Failure(error: string) { diff --git a/Test/git-issues/git-issue-446a.dfy.expect b/Test/git-issues/git-issue-446a.dfy.expect index 9897e1c3f56..fbf9ee6f31d 100644 --- a/Test/git-issues/git-issue-446a.dfy.expect +++ b/Test/git-issues/git-issue-446a.dfy.expect @@ -1,3 +1,22 @@ + +Dafny program verifier finished with 9 verified, 0 errors + +Dafny program verifier did not attempt verification +OK +true OK +true -2 End + +Dafny program verifier did not attempt verification +OK +true OK +true -2 End + +Dafny program verifier did not attempt verification +OK +true OK +true -2 End + +Dafny program verifier did not attempt verification OK true OK true -2 End diff --git a/Test/git-issues/git-issue-446b.dfy b/Test/git-issues/git-issue-446b.dfy index 79e55d9a1f8..aa7ac30d9a7 100644 --- a/Test/git-issues/git-issue-446b.dfy +++ b/Test/git-issues/git-issue-446b.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Result = Success(value: T) | Failure(error: string) { diff --git a/Test/git-issues/git-issue-446b.dfy.expect b/Test/git-issues/git-issue-446b.dfy.expect index 36fdd8ba47b..0e99363fdb9 100644 --- a/Test/git-issues/git-issue-446b.dfy.expect +++ b/Test/git-issues/git-issue-446b.dfy.expect @@ -1,3 +1,28 @@ + +Dafny program verifier finished with 10 verified, 0 errors + +Dafny program verifier did not attempt verification +OK +true OK +true -2 +true 100 +End + +Dafny program verifier did not attempt verification +OK +true OK +true -2 +true 100 +End + +Dafny program verifier did not attempt verification +OK +true OK +true -2 +true 100 +End + +Dafny program verifier did not attempt verification OK true OK true -2 diff --git a/Test/git-issues/git-issue-478-good.dfy b/Test/git-issues/git-issue-478-good.dfy index 9abce41e97c..b3fab26a312 100644 --- a/Test/git-issues/git-issue-478-good.dfy +++ b/Test/git-issues/git-issue-478-good.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // By first defining import LibA and then defining a module LibA, // the latter used to generate: diff --git a/Test/git-issues/git-issue-478-good.dfy.expect b/Test/git-issues/git-issue-478-good.dfy.expect index 6807b84eba5..17aea610943 100644 --- a/Test/git-issues/git-issue-478-good.dfy.expect +++ b/Test/git-issues/git-issue-478-good.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 1 verified, 0 errors hello hello hi diff --git a/Test/git-issues/git-issue-506.dfy b/Test/git-issues/git-issue-506.dfy index b2a409951a1..d25596621de 100644 --- a/Test/git-issues/git-issue-506.dfy +++ b/Test/git-issues/git-issue-506.dfy @@ -1,4 +1,8 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" +// RUN: %dafny /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/git-issues/git-issue-506.dfy.expect b/Test/git-issues/git-issue-506.dfy.expect index ef2606ec5dc..e2bb6d644d9 100644 --- a/Test/git-issues/git-issue-506.dfy.expect +++ b/Test/git-issues/git-issue-506.dfy.expect @@ -1,3 +1,29 @@ + +Dafny program verifier finished with 2 verified, 0 errors +7 301 +8 391 +2 2 +4 5 +6 7 +2 3 7 0 + +Dafny program verifier finished with 2 verified, 0 errors +7 301 +8 391 +2 2 +4 5 +6 7 +2 3 7 0 + +Dafny program verifier finished with 2 verified, 0 errors +7 301 +8 391 +2 2 +4 5 +6 7 +2 3 7 0 + +Dafny program verifier finished with 2 verified, 0 errors 7 301 8 391 2 2 diff --git a/Test/git-issues/git-issue-532.dfy b/Test/git-issues/git-issue-532.dfy index 2a2b5aaaf2e..3d511dbb4c8 100644 --- a/Test/git-issues/git-issue-532.dfy +++ b/Test/git-issues/git-issue-532.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" predicate SuppressNoTriggerWarning(x: X) { true } diff --git a/Test/git-issues/git-issue-532.dfy.expect b/Test/git-issues/git-issue-532.dfy.expect index 0f3ef3de427..1bd9e82cc5a 100644 --- a/Test/git-issues/git-issue-532.dfy.expect +++ b/Test/git-issues/git-issue-532.dfy.expect @@ -1,3 +1,22 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification +t.x=5 The given Tr is a C, and c.y=6 +t.x=100 The given Tr is not a C +t.x=5 The given Tr is a C, and c.y=16 + +Dafny program verifier did not attempt verification +t.x=5 The given Tr is a C, and c.y=6 +t.x=100 The given Tr is not a C +t.x=5 The given Tr is a C, and c.y=16 + +Dafny program verifier did not attempt verification +t.x=5 The given Tr is a C, and c.y=6 +t.x=100 The given Tr is not a C +t.x=5 The given Tr is a C, and c.y=16 + +Dafny program verifier did not attempt verification t.x=5 The given Tr is a C, and c.y=6 t.x=100 The given Tr is not a C t.x=5 The given Tr is a C, and c.y=16 diff --git a/Test/git-issues/git-issue-549.dfy b/Test/git-issues/git-issue-549.dfy index d362a0bd039..2e5ab322f23 100644 --- a/Test/git-issues/git-issue-549.dfy +++ b/Test/git-issues/git-issue-549.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" trait T { function bar(): bv8 diff --git a/Test/git-issues/git-issue-549.dfy.expect b/Test/git-issues/git-issue-549.dfy.expect index 6e0790e778e..3ae509fee5e 100644 --- a/Test/git-issues/git-issue-549.dfy.expect +++ b/Test/git-issues/git-issue-549.dfy.expect @@ -1,2 +1,10 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification +bar() = 1 +bar() = 1 + +Dafny program verifier did not attempt verification bar() = 1 bar() = 1 diff --git a/Test/git-issues/git-issue-622$f.dfy b/Test/git-issues/git-issue-622$f.dfy index 2a7003e0f4e..fe4fdf38e03 100644 --- a/Test/git-issues/git-issue-622$f.dfy +++ b/Test/git-issues/git-issue-622$f.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:3 /compileTarget:java /spillTargetCode:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { } diff --git a/Test/git-issues/git-issue-622$f.dfy.expect b/Test/git-issues/git-issue-622$f.dfy.expect index e69de29bb2d..012f5b99379 100644 --- a/Test/git-issues/git-issue-622$f.dfy.expect +++ b/Test/git-issues/git-issue-622$f.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/git-issues/git-issue-684.dfy b/Test/git-issues/git-issue-684.dfy index 4c2b0a8fa02..b1fbd7ab036 100644 --- a/Test/git-issues/git-issue-684.dfy +++ b/Test/git-issues/git-issue-684.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Level1 = Level1(u:int) datatype Level2 = Level2(u:int, l:Level1) diff --git a/Test/git-issues/git-issue-684.dfy.expect b/Test/git-issues/git-issue-684.dfy.expect index e69de29bb2d..65d3b5d6635 100644 --- a/Test/git-issues/git-issue-684.dfy.expect +++ b/Test/git-issues/git-issue-684.dfy.expect @@ -0,0 +1,10 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-686.dfy b/Test/git-issues/git-issue-686.dfy index 9845ce2b027..bbc975200c8 100644 --- a/Test/git-issues/git-issue-686.dfy +++ b/Test/git-issues/git-issue-686.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Color = Blue | Red diff --git a/Test/git-issues/git-issue-686.dfy.expect b/Test/git-issues/git-issue-686.dfy.expect index c12f8e66df2..f30b0581688 100644 --- a/Test/git-issues/git-issue-686.dfy.expect +++ b/Test/git-issues/git-issue-686.dfy.expect @@ -1 +1,24 @@ +git-issue-686.dfy(13,2): Warning: this branch is redundant +git-issue-686.dfy(21,2): Warning: this branch is redundant + +Dafny program verifier finished with 1 verified, 0 errors +git-issue-686.dfy(13,2): Warning: this branch is redundant +git-issue-686.dfy(21,2): Warning: this branch is redundant + +Dafny program verifier did not attempt verification +6 0 +git-issue-686.dfy(13,2): Warning: this branch is redundant +git-issue-686.dfy(21,2): Warning: this branch is redundant + +Dafny program verifier did not attempt verification +6 0 +git-issue-686.dfy(13,2): Warning: this branch is redundant +git-issue-686.dfy(21,2): Warning: this branch is redundant + +Dafny program verifier did not attempt verification +6 0 +git-issue-686.dfy(13,2): Warning: this branch is redundant +git-issue-686.dfy(21,2): Warning: this branch is redundant + +Dafny program verifier did not attempt verification 6 0 diff --git a/Test/git-issues/git-issue-686.dfy.verifier.expect b/Test/git-issues/git-issue-686.dfy.verifier.expect deleted file mode 100644 index 805bd55730c..00000000000 --- a/Test/git-issues/git-issue-686.dfy.verifier.expect +++ /dev/null @@ -1,2 +0,0 @@ -git-issue-686.dfy(8,2): Warning: this branch is redundant -git-issue-686.dfy(16,2): Warning: this branch is redundant diff --git a/Test/git-issues/git-issue-697.dfy b/Test/git-issues/git-issue-697.dfy index 23cce66dee7..095c1a02399 100644 --- a/Test/git-issues/git-issue-697.dfy +++ b/Test/git-issues/git-issue-697.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Cell = Cell(x: int) type EvenCell = c: Cell | c.x % 2 == 0 witness Cell(0) diff --git a/Test/git-issues/git-issue-697.dfy.expect b/Test/git-issues/git-issue-697.dfy.expect index f32a5804e29..188a72ebc36 100644 --- a/Test/git-issues/git-issue-697.dfy.expect +++ b/Test/git-issues/git-issue-697.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-697b.dfy b/Test/git-issues/git-issue-697b.dfy index cdb054d8d78..cfdd3fd0821 100644 --- a/Test/git-issues/git-issue-697b.dfy +++ b/Test/git-issues/git-issue-697b.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Cell = Cell(x: int) type EvenCell = c: Cell | c.x % 2 == 0 witness Cell(0) diff --git a/Test/git-issues/git-issue-697b.dfy.expect b/Test/git-issues/git-issue-697b.dfy.expect index 9c777ac6a0f..b355409912b 100644 --- a/Test/git-issues/git-issue-697b.dfy.expect +++ b/Test/git-issues/git-issue-697b.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors false 2 diff --git a/Test/git-issues/git-issue-697d.dfy b/Test/git-issues/git-issue-697d.dfy index 8b65c2da4f7..71a262fc985 100644 --- a/Test/git-issues/git-issue-697d.dfy +++ b/Test/git-issues/git-issue-697d.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" function nonGhostPredicate(x: int): bool { x % 2 == 0 diff --git a/Test/git-issues/git-issue-697d.dfy.expect b/Test/git-issues/git-issue-697d.dfy.expect index f32a5804e29..48fb59aeae5 100644 --- a/Test/git-issues/git-issue-697d.dfy.expect +++ b/Test/git-issues/git-issue-697d.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 4 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-697e.dfy b/Test/git-issues/git-issue-697e.dfy index 310851abf9a..e4500bfab28 100644 --- a/Test/git-issues/git-issue-697e.dfy +++ b/Test/git-issues/git-issue-697e.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Cell = Cell(x: int) type EvenCell = c: Cell | c.x % 2 == 0 witness Cell(0) diff --git a/Test/git-issues/git-issue-697e.dfy.expect b/Test/git-issues/git-issue-697e.dfy.expect index e69de29bb2d..00a51f822da 100644 --- a/Test/git-issues/git-issue-697e.dfy.expect +++ b/Test/git-issues/git-issue-697e.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 3 verified, 0 errors diff --git a/Test/git-issues/git-issue-697f.dfy b/Test/git-issues/git-issue-697f.dfy index acb8810dfbf..92d1cec2ed8 100644 --- a/Test/git-issues/git-issue-697f.dfy +++ b/Test/git-issues/git-issue-697f.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" ghost function ghostPredicate(x: int): bool { x % 2 == 0 diff --git a/Test/git-issues/git-issue-697f.dfy.expect b/Test/git-issues/git-issue-697f.dfy.expect index b5754e20373..3e2cf8d0f69 100644 --- a/Test/git-issues/git-issue-697f.dfy.expect +++ b/Test/git-issues/git-issue-697f.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 4 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-697g.dfy b/Test/git-issues/git-issue-697g.dfy index 7b30de7f3a0..c3b7581ff61 100644 --- a/Test/git-issues/git-issue-697g.dfy +++ b/Test/git-issues/git-issue-697g.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" function returnNat(c: nat): int { diff --git a/Test/git-issues/git-issue-697g.dfy.expect b/Test/git-issues/git-issue-697g.dfy.expect index f32a5804e29..d9157fa820a 100644 --- a/Test/git-issues/git-issue-697g.dfy.expect +++ b/Test/git-issues/git-issue-697g.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-698.dfy b/Test/git-issues/git-issue-698.dfy index 7b7a9ca15b8..b15295c9b46 100644 --- a/Test/git-issues/git-issue-698.dfy +++ b/Test/git-issues/git-issue-698.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" type Small = x: int | 0 <= x < 100 && x != 3 diff --git a/Test/git-issues/git-issue-698.dfy.expect b/Test/git-issues/git-issue-698.dfy.expect index 27ba77ddaf6..7f965a65d2e 100644 --- a/Test/git-issues/git-issue-698.dfy.expect +++ b/Test/git-issues/git-issue-698.dfy.expect @@ -1 +1,8 @@ + +Dafny program verifier finished with 3 verified, 0 errors + +Dafny program verifier did not attempt verification +true + +Dafny program verifier did not attempt verification true diff --git a/Test/git-issues/git-issue-698b.dfy b/Test/git-issues/git-issue-698b.dfy index dbdbc3b36d3..1d4a92456e6 100644 --- a/Test/git-issues/git-issue-698b.dfy +++ b/Test/git-issues/git-issue-698b.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" type Small = x: int | 0 <= x < 100 && x != 3 @@ -12,4 +13,4 @@ method Main() { var b := !exists n: Small :: F(n) != 100; assert b; print b; -} +} \ No newline at end of file diff --git a/Test/git-issues/git-issue-698b.dfy.expect b/Test/git-issues/git-issue-698b.dfy.expect index f32a5804e29..188a72ebc36 100644 --- a/Test/git-issues/git-issue-698b.dfy.expect +++ b/Test/git-issues/git-issue-698b.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-701.dfy b/Test/git-issues/git-issue-701.dfy index 38984df4ecf..af19f0d89e2 100644 --- a/Test/git-issues/git-issue-701.dfy +++ b/Test/git-issues/git-issue-701.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var ca := new ClassA; diff --git a/Test/git-issues/git-issue-701.dfy.expect b/Test/git-issues/git-issue-701.dfy.expect index 5198c09cbb1..4d20966e641 100644 --- a/Test/git-issues/git-issue-701.dfy.expect +++ b/Test/git-issues/git-issue-701.dfy.expect @@ -1,3 +1,22 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification +0 0 0 +[] [] [] +C.Nothing C.Nothing C.Nothing + +Dafny program verifier did not attempt verification +0 0 0 +[] [] [] +C.Nothing C.Nothing C.Nothing + +Dafny program verifier did not attempt verification +0 0 0 +[] [] [] +C.Nothing C.Nothing C.Nothing + +Dafny program verifier did not attempt verification 0 0 0 [] [] [] C.Nothing C.Nothing C.Nothing diff --git a/Test/git-issues/git-issue-705.dfy b/Test/git-issues/git-issue-705.dfy index 9c36a336e8e..d4b806800c2 100644 --- a/Test/git-issues/git-issue-705.dfy +++ b/Test/git-issues/git-issue-705.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs /spillTargetCode:3 "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js /spillTargetCode:3 "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go /spillTargetCode:3 "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java /spillTargetCode:3 "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype MyDataType = AAA { function toString(): int { 222 } diff --git a/Test/git-issues/git-issue-705.dfy.expect b/Test/git-issues/git-issue-705.dfy.expect index 79a1eee7c74..02cf409667a 100644 --- a/Test/git-issues/git-issue-705.dfy.expect +++ b/Test/git-issues/git-issue-705.dfy.expect @@ -1 +1,14 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification +MyDataType.AAA 222 + +Dafny program verifier did not attempt verification +MyDataType.AAA 222 + +Dafny program verifier did not attempt verification +MyDataType.AAA 222 + +Dafny program verifier did not attempt verification MyDataType.AAA 222 diff --git a/Test/git-issues/git-issue-731.dfy b/Test/git-issues/git-issue-731.dfy index 348d40fecea..05d02fea1af 100644 --- a/Test/git-issues/git-issue-731.dfy +++ b/Test/git-issues/git-issue-731.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" trait Trait { const y: Y diff --git a/Test/git-issues/git-issue-731.dfy.expect b/Test/git-issues/git-issue-731.dfy.expect index 7554a44901e..69b2e6af648 100644 --- a/Test/git-issues/git-issue-731.dfy.expect +++ b/Test/git-issues/git-issue-731.dfy.expect @@ -1,2 +1,18 @@ + +Dafny program verifier finished with 3 verified, 0 errors + +Dafny program verifier did not attempt verification +0 0 0 42 +0 0 0 9 + +Dafny program verifier did not attempt verification +0 0 0 42 +0 0 0 9 + +Dafny program verifier did not attempt verification +0 0 0 42 +0 0 0 9 + +Dafny program verifier did not attempt verification 0 0 0 42 0 0 0 9 diff --git a/Test/git-issues/git-issue-731b.dfy b/Test/git-issues/git-issue-731b.dfy index 2a0507839a2..a77dbd6323b 100644 --- a/Test/git-issues/git-issue-731b.dfy +++ b/Test/git-issues/git-issue-731b.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // Testing issue#731 when the class in question has type parameters diff --git a/Test/git-issues/git-issue-731b.dfy.expect b/Test/git-issues/git-issue-731b.dfy.expect index dd3226d2b73..97e6c041920 100644 --- a/Test/git-issues/git-issue-731b.dfy.expect +++ b/Test/git-issues/git-issue-731b.dfy.expect @@ -1 +1,14 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification +0 42 + +Dafny program verifier did not attempt verification +0 42 + +Dafny program verifier did not attempt verification +0 42 + +Dafny program verifier did not attempt verification 0 42 diff --git a/Test/git-issues/git-issue-784.dfy b/Test/git-issues/git-issue-784.dfy index 5f6cf59465c..78b83f01064 100644 --- a/Test/git-issues/git-issue-784.dfy +++ b/Test/git-issues/git-issue-784.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype List = Nil | Cons(T, List) { function App(ys: List): List { diff --git a/Test/git-issues/git-issue-784.dfy.expect b/Test/git-issues/git-issue-784.dfy.expect index e69de29bb2d..8da23be5c8c 100644 --- a/Test/git-issues/git-issue-784.dfy.expect +++ b/Test/git-issues/git-issue-784.dfy.expect @@ -0,0 +1,10 @@ + +Dafny program verifier finished with 4 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-953.dfy b/Test/git-issues/git-issue-953.dfy index 9c14e6e4e98..adebc946c35 100644 --- a/Test/git-issues/git-issue-953.dfy +++ b/Test/git-issues/git-issue-953.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" module P { datatype T_ = T() // the underscore in this name once caused a problem in Java compilation diff --git a/Test/git-issues/git-issue-953.dfy.expect b/Test/git-issues/git-issue-953.dfy.expect index 8eec6126a08..8466ea62f3f 100644 --- a/Test/git-issues/git-issue-953.dfy.expect +++ b/Test/git-issues/git-issue-953.dfy.expect @@ -1,3 +1,39 @@ + +Dafny program verifier finished with 6 verified, 0 errors + +Dafny program verifier did not attempt verification +C1.T_.T +P.T_.T +OtherNamesWithSpecialCharacters?_.A?_.A?_ OtherNamesWithSpecialCharacters?_.B?_.B?_ +17 17 0 0 +C2.C.C(10, 11) +9 + +Dafny program verifier did not attempt verification +C1.T_.T +P.T_.T +OtherNamesWithSpecialCharacters?_.A?_.A?_ OtherNamesWithSpecialCharacters?_.B?_.B?_ +17 17 0 0 +C2.C.C(10, 11) +9 + +Dafny program verifier did not attempt verification +C1.T_.T +P.T_.T +OtherNamesWithSpecialCharacters?_.A?_.A?_ OtherNamesWithSpecialCharacters?_.B?_.B?_ +17 17 0 0 +C2.C.C(10, 11) +9 + +Dafny program verifier did not attempt verification +C1.T_.T +P.T_.T +OtherNamesWithSpecialCharacters?_.A?_.A?_ OtherNamesWithSpecialCharacters?_.B?_.B?_ +17 17 0 0 +C2.C.C(10, 11) +9 + +Dafny program verifier did not attempt verification C1.T_.T P.T_.T OtherNamesWithSpecialCharacters?_.A?_.A?_ OtherNamesWithSpecialCharacters?_.B?_.B?_ diff --git a/Test/git-issues/github-issue-3343.dfy b/Test/git-issues/github-issue-3343.dfy index d518b2a1a41..517a11d7fc1 100644 --- a/Test/git-issues/github-issue-3343.dfy +++ b/Test/git-issues/github-issue-3343.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" +// RUN: %baredafny run "%s" -t:java > "%t" +// RUN: %diff "%s.expect" "%t" method Bug() { var zero := 0; var a := new int[zero] []; diff --git a/Test/git-issues/github-issue-3343.dfy.expect b/Test/git-issues/github-issue-3343.dfy.expect index e69de29bb2d..823a60a105c 100644 --- a/Test/git-issues/github-issue-3343.dfy.expect +++ b/Test/git-issues/github-issue-3343.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 1 verified, 0 errors diff --git a/Test/hofs/Compilation.dfy b/Test/hofs/Compilation.dfy index 7e9c674b495..99fd0a36506 100644 --- a/Test/hofs/Compilation.dfy +++ b/Test/hofs/Compilation.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" class Ref { var val : A diff --git a/Test/hofs/Compilation.dfy.expect b/Test/hofs/Compilation.dfy.expect index 6b7187d2557..760fafc6189 100644 --- a/Test/hofs/Compilation.dfy.expect +++ b/Test/hofs/Compilation.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 2 verified, 0 errors 1 = 1 3 = 3 3 = 3 diff --git a/Test/hofs/Examples.dfy b/Test/hofs/Examples.dfy index bebda559221..cdf177c001f 100644 --- a/Test/hofs/Examples.dfy +++ b/Test/hofs/Examples.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" function Apply(f: A ~> B, x: A): B reads f.reads(x) diff --git a/Test/hofs/Examples.dfy.expect b/Test/hofs/Examples.dfy.expect index e69de29bb2d..851aaf58286 100644 --- a/Test/hofs/Examples.dfy.expect +++ b/Test/hofs/Examples.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 7 verified, 0 errors diff --git a/Test/hofs/Fold.dfy b/Test/hofs/Fold.dfy index 96ddb01591f..336f9121b52 100644 --- a/Test/hofs/Fold.dfy +++ b/Test/hofs/Fold.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype List = Nil | Cons(A,List) diff --git a/Test/hofs/Fold.dfy.expect b/Test/hofs/Fold.dfy.expect index 3abcc310618..144ffab92db 100644 --- a/Test/hofs/Fold.dfy.expect +++ b/Test/hofs/Fold.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors 3 = 3 diff --git a/Test/hofs/Renaming.dfy b/Test/hofs/Renaming.dfy index 391c0e79ef6..cf21fdba2f8 100644 --- a/Test/hofs/Renaming.dfy +++ b/Test/hofs/Renaming.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" function OnId(f : (bool -> bool) -> int) : int reads f.reads(x => x) diff --git a/Test/hofs/Renaming.dfy.expect b/Test/hofs/Renaming.dfy.expect index 13a954d9043..e2b6636dbe4 100644 --- a/Test/hofs/Renaming.dfy.expect +++ b/Test/hofs/Renaming.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 4 verified, 0 errors 10 11 diff --git a/Test/hofs/Requires.dfy b/Test/hofs/Requires.dfy index f5e51244184..de5944b6744 100644 --- a/Test/hofs/Requires.dfy +++ b/Test/hofs/Requires.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/hofs/Requires.dfy.expect b/Test/hofs/Requires.dfy.expect index e69de29bb2d..1981561ca00 100644 --- a/Test/hofs/Requires.dfy.expect +++ b/Test/hofs/Requires.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 10 verified, 0 errors diff --git a/Test/hofs/TreeMapSimple.dfy b/Test/hofs/TreeMapSimple.dfy index b7baf6eb8d7..d93aea46403 100644 --- a/Test/hofs/TreeMapSimple.dfy +++ b/Test/hofs/TreeMapSimple.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { TestY(); diff --git a/Test/hofs/TreeMapSimple.dfy.expect b/Test/hofs/TreeMapSimple.dfy.expect index be0317f1016..9224d605f7e 100644 --- a/Test/hofs/TreeMapSimple.dfy.expect +++ b/Test/hofs/TreeMapSimple.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 11 verified, 0 errors Tree.Branch(100, List.Cons(Tree.Branch(50, List.Nil), List.Nil)) Tree.Branch(100, List.Cons(Tree.Branch(50, List.Nil), List.Nil)) diff --git a/Test/hofs/VectorUpdate.dfy b/Test/hofs/VectorUpdate.dfy index 70c0de3084e..848ed585ca6 100644 --- a/Test/hofs/VectorUpdate.dfy +++ b/Test/hofs/VectorUpdate.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // this is a rather verbose version of the VectorUpdate method method VectorUpdate(N: int, a : array, f : (int,A) ~> A) diff --git a/Test/hofs/VectorUpdate.dfy.expect b/Test/hofs/VectorUpdate.dfy.expect index 7645f125857..b8fae39eab8 100644 --- a/Test/hofs/VectorUpdate.dfy.expect +++ b/Test/hofs/VectorUpdate.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 8 verified, 0 errors 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 100, 50, 33, 25, 20, 16, 14, 12, 11, 10 diff --git a/Test/hofs/WhileLoop.dfy b/Test/hofs/WhileLoop.dfy index 914f47f4522..4af9fbd841b 100644 --- a/Test/hofs/WhileLoop.dfy +++ b/Test/hofs/WhileLoop.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" class Ref { var val: A diff --git a/Test/hofs/WhileLoop.dfy.expect b/Test/hofs/WhileLoop.dfy.expect index 83083b451e1..234ac298c9b 100644 --- a/Test/hofs/WhileLoop.dfy.expect +++ b/Test/hofs/WhileLoop.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 4 verified, 0 errors 22 22 22 diff --git a/Test/metatests/OutputEncoding.dfy b/Test/metatests/OutputEncoding.dfy index 59fa53bf298..68c390ac811 100644 --- a/Test/metatests/OutputEncoding.dfy +++ b/Test/metatests/OutputEncoding.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" +// RUN: %baredafny verify %args "%s" > "%t" +// RUN: %baredafny run --no-verify --target=cs %args "%s" >> "%t" +// RUN: %baredafny run --no-verify --target=js %args "%s" >> "%t" +// RUN: %baredafny run --no-verify --target=go %args "%s" >> "%t" +// RUN: %baredafny run --no-verify --target=py %args "%s" >> "%t" +// RUN: %baredafny run --no-verify --target=java %args "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { // This works fine in all languages because € is a single UTF-16 code unit. diff --git a/Test/metatests/OutputEncoding.dfy.expect b/Test/metatests/OutputEncoding.dfy.expect index b25a57298f1..a37241376f3 100644 --- a/Test/metatests/OutputEncoding.dfy.expect +++ b/Test/metatests/OutputEncoding.dfy.expect @@ -1 +1,17 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification +Euro sign: € + +Dafny program verifier did not attempt verification +Euro sign: € + +Dafny program verifier did not attempt verification +Euro sign: € + +Dafny program verifier did not attempt verification +Euro sign: € + +Dafny program verifier did not attempt verification Euro sign: € diff --git a/Test/patterns/OrPatterns.dfy b/Test/patterns/OrPatterns.dfy index 6385bd55c93..4f2610c9379 100644 --- a/Test/patterns/OrPatterns.dfy +++ b/Test/patterns/OrPatterns.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /rprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Enum = One | Two | Three { predicate Even() { diff --git a/Test/patterns/OrPatterns.dfy.expect b/Test/patterns/OrPatterns.dfy.expect index d86bac9de59..a6fce7c4a13 100644 --- a/Test/patterns/OrPatterns.dfy.expect +++ b/Test/patterns/OrPatterns.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 11 verified, 0 errors OK diff --git a/Test/patterns/PatternMatching.dfy b/Test/patterns/PatternMatching.dfy index e8a73b856e4..477126c066a 100644 --- a/Test/patterns/PatternMatching.dfy +++ b/Test/patterns/PatternMatching.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" /* * This file contains a collection of tests for features modified or introduced in PR 458 @@ -221,4 +222,4 @@ method Main() { var r5 := MultipleNestedMatch(A(0), t4, bb); print "Testing MultipleNestedMatch: ", r0, r1, r2, r3, r4, r5, ", should return 012345\n"; -} +} \ No newline at end of file diff --git a/Test/patterns/PatternMatching.dfy.expect b/Test/patterns/PatternMatching.dfy.expect index b4415971ca5..2970273cbfc 100644 --- a/Test/patterns/PatternMatching.dfy.expect +++ b/Test/patterns/PatternMatching.dfy.expect @@ -1,3 +1,6 @@ +PatternMatching.dfy(102,4): Warning: this branch is redundant + +Dafny program verifier finished with 9 verified, 0 errors NestingTest([6]) = 6, should return 6 NestedVariableTest([2::3::4::5::6]) = 0, should return 0 ConstantTest([3::4::5::6]) = 2, should return 2 diff --git a/Test/patterns/PatternMatching.dfy.verifier.expect b/Test/patterns/PatternMatching.dfy.verifier.expect deleted file mode 100644 index b486aadfb80..00000000000 --- a/Test/patterns/PatternMatching.dfy.verifier.expect +++ /dev/null @@ -1 +0,0 @@ -PatternMatching.dfy(101,4): Warning: this branch is redundant diff --git a/Test/traits/TraitCompile.dfy b/Test/traits/TraitCompile.dfy index 6e9b925fbc5..03cf3746c6f 100644 --- a/Test/traits/TraitCompile.dfy +++ b/Test/traits/TraitCompile.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" trait TT { @@ -814,4 +820,4 @@ module RedeclaringMembers { true } } -} +} \ No newline at end of file diff --git a/Test/traits/TraitCompile.dfy.expect b/Test/traits/TraitCompile.dfy.expect index b70a9b09d2e..8257b754de2 100644 --- a/Test/traits/TraitCompile.dfy.expect +++ b/Test/traits/TraitCompile.dfy.expect @@ -1,3 +1,259 @@ + +Dafny program verifier finished with 75 verified, 0 errors + +Dafny program verifier did not attempt verification +y=120 +x=12 +d=800 +a5=407 +t=1212 +z=30 +z'=30 +w=30 +d=1000 +a5=507 +t=1512 +t=1512 +t=1515 +This is OtherModule.P(7.0) +From OtherModule.Y: 7 and true +This is OtherModule.P(7.0) +From OtherModule.X: 7 and true +c.f= 15 j.f= 15 +c.f= 18 j.f= 18 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +x=126 +5.2 9 false +true true true true +false false false false +true true true true +false false false false +5.2 5.2 +1.2 1.2 +1.2 1.2 +15 30 +15 30 +15 30 +0 (0, 0) 0 +8 +0 0 0 0 0 0 0 0 0 0 0 0 +13 13 13 13 13 13 13 13 13 13 13 13 +14 14 14 14 14 14 14 14 14 14 14 14 +15 15 15 15 15 15 15 15 15 15 15 15 +16 16 16 16 16 16 16 16 16 16 16 16 +17 17 17 17 17 17 17 17 17 17 17 17 +18 18 18 18 18 18 18 18 18 18 18 18 +19 19 19 19 19 19 19 19 19 19 19 19 +20 20 20 20 20 20 20 20 20 20 20 20 +21 21 21 21 21 21 21 21 21 21 21 21 +22 22 22 22 22 22 22 22 22 22 22 22 +23 23 23 23 23 23 23 23 23 23 23 23 +24 24 24 24 24 24 24 24 24 24 24 24 +f(4) = 7 +f(4) = 7 +g(4) = 7 +g(4) = 7 +41 15 26 +true true +true true +true true +true true +true true true +true true true + +Dafny program verifier did not attempt verification +y=120 +x=12 +d=800 +a5=407 +t=1212 +z=30 +z'=30 +w=30 +d=1000 +a5=507 +t=1512 +t=1512 +t=1515 +This is OtherModule.P(7.0) +From OtherModule.Y: 7 and true +This is OtherModule.P(7.0) +From OtherModule.X: 7 and true +c.f= 15 j.f= 15 +c.f= 18 j.f= 18 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +x=126 +5.2 9 false +true true true true +false false false false +true true true true +false false false false +5.2 5.2 +1.2 1.2 +1.2 1.2 +15 30 +15 30 +15 30 +0 (0, 0) 0 +8 +0 0 0 0 0 0 0 0 0 0 0 0 +13 13 13 13 13 13 13 13 13 13 13 13 +14 14 14 14 14 14 14 14 14 14 14 14 +15 15 15 15 15 15 15 15 15 15 15 15 +16 16 16 16 16 16 16 16 16 16 16 16 +17 17 17 17 17 17 17 17 17 17 17 17 +18 18 18 18 18 18 18 18 18 18 18 18 +19 19 19 19 19 19 19 19 19 19 19 19 +20 20 20 20 20 20 20 20 20 20 20 20 +21 21 21 21 21 21 21 21 21 21 21 21 +22 22 22 22 22 22 22 22 22 22 22 22 +23 23 23 23 23 23 23 23 23 23 23 23 +24 24 24 24 24 24 24 24 24 24 24 24 +f(4) = 7 +f(4) = 7 +g(4) = 7 +g(4) = 7 +41 15 26 +true true +true true +true true +true true +true true true +true true true + +Dafny program verifier did not attempt verification +y=120 +x=12 +d=800 +a5=407 +t=1212 +z=30 +z'=30 +w=30 +d=1000 +a5=507 +t=1512 +t=1512 +t=1515 +This is OtherModule.P(7.0) +From OtherModule.Y: 7 and true +This is OtherModule.P(7.0) +From OtherModule.X: 7 and true +c.f= 15 j.f= 15 +c.f= 18 j.f= 18 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +x=126 +5.2 9 false +true true true true +false false false false +true true true true +false false false false +5.2 5.2 +1.2 1.2 +1.2 1.2 +15 30 +15 30 +15 30 +0 (0, 0) 0 +8 +0 0 0 0 0 0 0 0 0 0 0 0 +13 13 13 13 13 13 13 13 13 13 13 13 +14 14 14 14 14 14 14 14 14 14 14 14 +15 15 15 15 15 15 15 15 15 15 15 15 +16 16 16 16 16 16 16 16 16 16 16 16 +17 17 17 17 17 17 17 17 17 17 17 17 +18 18 18 18 18 18 18 18 18 18 18 18 +19 19 19 19 19 19 19 19 19 19 19 19 +20 20 20 20 20 20 20 20 20 20 20 20 +21 21 21 21 21 21 21 21 21 21 21 21 +22 22 22 22 22 22 22 22 22 22 22 22 +23 23 23 23 23 23 23 23 23 23 23 23 +24 24 24 24 24 24 24 24 24 24 24 24 +f(4) = 7 +f(4) = 7 +g(4) = 7 +g(4) = 7 +41 15 26 +true true +true true +true true +true true +true true true +true true true + +Dafny program verifier did not attempt verification +y=120 +x=12 +d=800 +a5=407 +t=1212 +z=30 +z'=30 +w=30 +d=1000 +a5=507 +t=1512 +t=1512 +t=1515 +This is OtherModule.P(7.0) +From OtherModule.Y: 7 and true +This is OtherModule.P(7.0) +From OtherModule.X: 7 and true +c.f= 15 j.f= 15 +c.f= 18 j.f= 18 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +x=126 +5.2 9 false +true true true true +false false false false +true true true true +false false false false +5.2 5.2 +1.2 1.2 +1.2 1.2 +15 30 +15 30 +15 30 +0 (0, 0) 0 +8 +0 0 0 0 0 0 0 0 0 0 0 0 +13 13 13 13 13 13 13 13 13 13 13 13 +14 14 14 14 14 14 14 14 14 14 14 14 +15 15 15 15 15 15 15 15 15 15 15 15 +16 16 16 16 16 16 16 16 16 16 16 16 +17 17 17 17 17 17 17 17 17 17 17 17 +18 18 18 18 18 18 18 18 18 18 18 18 +19 19 19 19 19 19 19 19 19 19 19 19 +20 20 20 20 20 20 20 20 20 20 20 20 +21 21 21 21 21 21 21 21 21 21 21 21 +22 22 22 22 22 22 22 22 22 22 22 22 +23 23 23 23 23 23 23 23 23 23 23 23 +24 24 24 24 24 24 24 24 24 24 24 24 +f(4) = 7 +f(4) = 7 +g(4) = 7 +g(4) = 7 +41 15 26 +true true +true true +true true +true true +true true true +true true true + +Dafny program verifier did not attempt verification y=120 x=12 d=800 diff --git a/Test/traits/TraitExample.dfy b/Test/traits/TraitExample.dfy index 54c5cbbec6f..d6afb4ce70b 100644 --- a/Test/traits/TraitExample.dfy +++ b/Test/traits/TraitExample.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" trait Automobile { ghost var Repr: set diff --git a/Test/traits/TraitExample.dfy.expect b/Test/traits/TraitExample.dfy.expect index b9783e62141..c1b4ac93962 100644 --- a/Test/traits/TraitExample.dfy.expect +++ b/Test/traits/TraitExample.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 29 verified, 0 errors Fiat: 6 Volvo: 20 Catacar: 26 diff --git a/Test/traits/Traits-Fields.dfy b/Test/traits/Traits-Fields.dfy index 6ae1aaab6d9..2da609c33c8 100644 --- a/Test/traits/Traits-Fields.dfy +++ b/Test/traits/Traits-Fields.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" trait J { diff --git a/Test/traits/Traits-Fields.dfy.expect b/Test/traits/Traits-Fields.dfy.expect index c39bd8b5d5d..cc460fc52f4 100644 --- a/Test/traits/Traits-Fields.dfy.expect +++ b/Test/traits/Traits-Fields.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 2 verified, 0 errors j.x = 9 c.x = 9 diff --git a/Test/traits/TraitsMultipleInheritance.dfy b/Test/traits/TraitsMultipleInheritance.dfy index 67fd8673488..12590e47828 100644 --- a/Test/traits/TraitsMultipleInheritance.dfy +++ b/Test/traits/TraitsMultipleInheritance.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" trait J1{ var x: int diff --git a/Test/traits/TraitsMultipleInheritance.dfy.expect b/Test/traits/TraitsMultipleInheritance.dfy.expect index b116b2d070d..ad1a1011a25 100644 --- a/Test/traits/TraitsMultipleInheritance.dfy.expect +++ b/Test/traits/TraitsMultipleInheritance.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 1 verified, 0 errors c.x + c.y = 30 j1.x + j2.y = 30 diff --git a/Test/unicodechars/comp/Collections.dfy b/Test/unicodechars/comp/Collections.dfy index 14d241ed5ab..fb3e451eb83 100644 --- a/Test/unicodechars/comp/Collections.dfy +++ b/Test/unicodechars/comp/Collections.dfy @@ -1,3 +1,8 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:true --verify-included-files +// RUN: %dafny /compile:0 /verifyAllModules /unicodeChar:1 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" include "../../comp/Collections.dfy" diff --git a/Test/unicodechars/comp/Collections.dfy.expect b/Test/unicodechars/comp/Collections.dfy.expect index 89f08b08d75..70586502b0d 100644 --- a/Test/unicodechars/comp/Collections.dfy.expect +++ b/Test/unicodechars/comp/Collections.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 40 verified, 0 errors + +Dafny program verifier did not attempt verification Sets: {} {17, 82} {12, 17} cardinality: 0 2 2 union: {17, 82} {12, 17, 82} @@ -123,3 +127,511 @@ Multiset=== 1 3 |s|=2 |u|=4 1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Yellow := 21, Color.Blue := 30] +keys: {Color.Yellow, Color.Blue} +values: {21, 30} +items: {(Color.Yellow, 21), (Color.Blue, 30)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {21, 30} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.go.expect b/Test/unicodechars/comp/Collections.dfy.go.expect deleted file mode 100644 index 2fc0f3b7093..00000000000 --- a/Test/unicodechars/comp/Collections.dfy.go.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.java.expect b/Test/unicodechars/comp/Collections.dfy.java.expect deleted file mode 100644 index 39975cadfc4..00000000000 --- a/Test/unicodechars/comp/Collections.dfy.java.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Yellow := 21, Color.Blue := 30] -keys: {Color.Yellow, Color.Blue} -values: {21, 30} -items: {(Color.Yellow, 21), (Color.Blue, 30)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.js.expect b/Test/unicodechars/comp/Collections.dfy.js.expect deleted file mode 100644 index 2fc0f3b7093..00000000000 --- a/Test/unicodechars/comp/Collections.dfy.js.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.py.expect b/Test/unicodechars/comp/Collections.dfy.py.expect deleted file mode 100644 index e4e346dede0..00000000000 --- a/Test/unicodechars/comp/Collections.dfy.py.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {21, 30} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/unicodechars/comp/Comprehensions.dfy b/Test/unicodechars/comp/Comprehensions.dfy index 8bd5f67525e..274f8d3a150 100644 --- a/Test/unicodechars/comp/Comprehensions.dfy +++ b/Test/unicodechars/comp/Comprehensions.dfy @@ -1,3 +1,8 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:true --verify-included-files -include "../../comp/Comprehensions.dfy" +// RUN: %dafny /compile:0 /unicodeChar:1 /verifyAllModules "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" +include "../../comp/Comprehensions.dfy" \ No newline at end of file diff --git a/Test/unicodechars/comp/Comprehensions.dfy.expect b/Test/unicodechars/comp/Comprehensions.dfy.expect index c9703fc9397..18159ddde0a 100644 --- a/Test/unicodechars/comp/Comprehensions.dfy.expect +++ b/Test/unicodechars/comp/Comprehensions.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 32 verified, 0 errors + +Dafny program verifier did not attempt verification x=13 y=14 x=13 y=14 b=yes true false @@ -60,3 +64,259 @@ true true [137438953474, 137438953475, 137438953476, 137438953477, 137438953479] cdefh cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[14 := 7, 12 := 6, 13 := 6] +map[18 := 14, 17 := 13, 16 := 12] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh diff --git a/Test/unicodechars/comp/Comprehensions.dfy.py.expect b/Test/unicodechars/comp/Comprehensions.dfy.py.expect deleted file mode 100644 index aeaa31fc0f3..00000000000 --- a/Test/unicodechars/comp/Comprehensions.dfy.py.expect +++ /dev/null @@ -1,62 +0,0 @@ -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[14 := 7, 12 := 6, 13 := 6] -map[18 := 14, 17 := 13, 16 := 12] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh diff --git a/Test/unicodechars/comp/NativeNumbers.dfy b/Test/unicodechars/comp/NativeNumbers.dfy index 20cdb1e214f..764b4b3b384 100644 --- a/Test/unicodechars/comp/NativeNumbers.dfy +++ b/Test/unicodechars/comp/NativeNumbers.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:true --verify-included-files // Skip JavaScript because JavaScript doesn't have the same native types -include "../../comp/NativeNumbers.dfy" +// RUN: %dafny /compile:0 /verifyAllModules /unicodeChar:1 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" +include "../../comp/NativeNumbers.dfy" \ No newline at end of file diff --git a/Test/unicodechars/comp/NativeNumbers.dfy.expect b/Test/unicodechars/comp/NativeNumbers.dfy.expect index 354d931a151..b0fc6754f84 100644 --- a/Test/unicodechars/comp/NativeNumbers.dfy.expect +++ b/Test/unicodechars/comp/NativeNumbers.dfy.expect @@ -1,3 +1,259 @@ + +Dafny program verifier finished with 25 verified, 0 errors + +Dafny program verifier did not attempt verification +Casting: + +Small numbers: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 +5 5 5 5 5 5 5 5 5 +6 6 6 6 6 6 6 6 6 +7 7 7 7 7 7 7 7 7 +8 8 8 8 8 8 8 8 8 + +Large unsigned numbers: +255 255 255 255 255 255 255 255 +65535 65535 65535 65535 65535 65535 +4294967295 4294967295 4294967295 4294967295 +18446744073709551615 18446744073709551615 + +Int to large unsigned: +255 65535 4294967295 18446744073709551615 + +Cast from cardinality operator: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 + +Characters: +'C' 67 67 67 67 67 67 67 67 67 +0 127 32767 65535 65535 255 65535 65535 65535 + +Defaults: + +0 0 0 0 0 0 0 0 0 + +Byte arithmetic: + +20 30 +10 10 18 + +Short arithmetic: + +20 30 +10 10 18 + +Bitvectors: + +0 3 4 1 + +Comparison to zero: + +int8: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int16: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int32: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int64: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint8: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint16: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint32: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint64: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N + + +Dafny program verifier did not attempt verification +Casting: + +Small numbers: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 +5 5 5 5 5 5 5 5 5 +6 6 6 6 6 6 6 6 6 +7 7 7 7 7 7 7 7 7 +8 8 8 8 8 8 8 8 8 + +Large unsigned numbers: +255 255 255 255 255 255 255 255 +65535 65535 65535 65535 65535 65535 +4294967295 4294967295 4294967295 4294967295 +18446744073709551615 18446744073709551615 + +Int to large unsigned: +255 65535 4294967295 18446744073709551615 + +Cast from cardinality operator: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 + +Characters: +'C' 67 67 67 67 67 67 67 67 67 +0 127 32767 65535 65535 255 65535 65535 65535 + +Defaults: + +0 0 0 0 0 0 0 0 0 + +Byte arithmetic: + +20 30 +10 10 18 + +Short arithmetic: + +20 30 +10 10 18 + +Bitvectors: + +0 3 4 1 + +Comparison to zero: + +int8: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int16: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int32: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int64: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint8: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint16: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint32: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint64: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N + + +Dafny program verifier did not attempt verification +Casting: + +Small numbers: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 +5 5 5 5 5 5 5 5 5 +6 6 6 6 6 6 6 6 6 +7 7 7 7 7 7 7 7 7 +8 8 8 8 8 8 8 8 8 + +Large unsigned numbers: +255 255 255 255 255 255 255 255 +65535 65535 65535 65535 65535 65535 +4294967295 4294967295 4294967295 4294967295 +18446744073709551615 18446744073709551615 + +Int to large unsigned: +255 65535 4294967295 18446744073709551615 + +Cast from cardinality operator: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 + +Characters: +'C' 67 67 67 67 67 67 67 67 67 +0 127 32767 65535 65535 255 65535 65535 65535 + +Defaults: + +0 0 0 0 0 0 0 0 0 + +Byte arithmetic: + +20 30 +10 10 18 + +Short arithmetic: + +20 30 +10 10 18 + +Bitvectors: + +0 3 4 1 + +Comparison to zero: + +int8: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int16: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int32: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int64: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint8: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint16: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint32: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint64: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N + + +Dafny program verifier did not attempt verification Casting: Small numbers: diff --git a/Test/unicodechars/comp/Numbers.dfy b/Test/unicodechars/comp/Numbers.dfy index e5e36180234..2c9170fe4d7 100644 --- a/Test/unicodechars/comp/Numbers.dfy +++ b/Test/unicodechars/comp/Numbers.dfy @@ -1,3 +1,8 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:true --verify-included-files -include "../../comp/Numbers.dfy" +// RUN: %dafny /compile:0 /verifyAllModules /unicodeChar:1 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" +include "../../comp/Numbers.dfy" \ No newline at end of file diff --git a/Test/unicodechars/comp/Numbers.dfy.expect b/Test/unicodechars/comp/Numbers.dfy.expect index cce193e1cce..6fa2f59f340 100644 --- a/Test/unicodechars/comp/Numbers.dfy.expect +++ b/Test/unicodechars/comp/Numbers.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 59 verified, 0 errors + +Dafny program verifier did not attempt verification 0 0 3 @@ -109,3 +113,455 @@ true false true false false true false true true false true false 20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +'g' 'Q' '2' +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +(312.0 / 40.0) (1248.0 / 40.0) +(-312.0 / 40.0) (-1248.0 / 40.0) +(-312.0 / 40.0) (1248.0 / 40.0) +(312.0 / 40.0) (-1248.0 / 40.0) +0.0 0.0 0.0 +120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) +123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 (8100.0 / 8100.0) +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +'g' 'Q' '2' +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +'g' 'Q' '2' +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +(312.0 / 40.0) (1248.0 / 40.0) +(-312.0 / 40.0) (-1248.0 / 40.0) +(-312.0 / 40.0) (1248.0 / 40.0) +(312.0 / 40.0) (-1248.0 / 40.0) +0.0 0.0 0.0 +120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) +123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 (8100.0 / 8100.0) +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +'g' 'Q' '2' +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 diff --git a/Test/unicodechars/comp/Numbers.dfy.go.expect b/Test/unicodechars/comp/Numbers.dfy.go.expect deleted file mode 100644 index 95d8ac259c7..00000000000 --- a/Test/unicodechars/comp/Numbers.dfy.go.expect +++ /dev/null @@ -1,111 +0,0 @@ -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -'g' 'Q' '2' -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 diff --git a/Test/unicodechars/comp/Numbers.dfy.py.expect b/Test/unicodechars/comp/Numbers.dfy.py.expect deleted file mode 100644 index 95d8ac259c7..00000000000 --- a/Test/unicodechars/comp/Numbers.dfy.py.expect +++ /dev/null @@ -1,111 +0,0 @@ -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -'g' 'Q' '2' -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 From 70c4be2df53d3290b05a2f1d9a8614daf83256eb Mon Sep 17 00:00:00 2001 From: Robin Salkeld Date: Tue, 13 Jun 2023 10:41:15 -0700 Subject: [PATCH 62/68] PR feedback --- Source/TestDafny/README.md | 8 +++++++- Source/XUnitExtensions/Lit/OutputCheckCommand.cs | 4 ++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/Source/TestDafny/README.md b/Source/TestDafny/README.md index 9a3e0701ea2..57cbdf9cdda 100644 --- a/Source/TestDafny/README.md +++ b/Source/TestDafny/README.md @@ -51,6 +51,12 @@ for individual backends: 2. `..check` - Similarly, these files provide the output patterns to look for + Similarly, these files provide the [OutputCheck](https://github.com/stp/OutputCheck) patterns to look for when a backend is known to fail on a particular input program. `TestDafny` only looks for these files when `dafny` produces a non-zero exit code. + For example (from `Bug116.dfy.js.check` at the time of writing this): + + ``` + // https://github.com/dafny-lang/dafny/issues/4161 + // CHECK: SyntaxError: Unexpected reserved word + ``` diff --git a/Source/XUnitExtensions/Lit/OutputCheckCommand.cs b/Source/XUnitExtensions/Lit/OutputCheckCommand.cs index e73bbddb1f8..9eed590c2ed 100644 --- a/Source/XUnitExtensions/Lit/OutputCheckCommand.cs +++ b/Source/XUnitExtensions/Lit/OutputCheckCommand.cs @@ -188,8 +188,8 @@ public static ILitCommand Parse(IEnumerable args, LitTestConfiguration c public static IList ParseCheckFile(string fileName) { var result = File.ReadAllLines(fileName) .Select((line, index) => CheckDirective.Parse(fileName, index + 1, line)) - .Where(e => e != null).Cast() - .Select(e => e!) + .Where(e => e != null) + .Cast() .ToList(); if (!result.Any()) { throw new ArgumentException($"'{fileName}' does not contain any CHECK directives"); From 3d08f4df5cda5c8a9e93a1ccd12a4d5b4b348cce Mon Sep 17 00:00:00 2001 From: Robin Salkeld Date: Tue, 13 Jun 2023 10:43:36 -0700 Subject: [PATCH 63/68] Convert all tests --- Test/VerifyThis2015/Problem1.dfy | 3 +- Test/VerifyThis2015/Problem1.dfy.expect | 2 - Test/VerifyThis2015/Problem2.dfy | 3 +- Test/VerifyThis2015/Problem2.dfy.expect | 2 - Test/VerifyThis2015/Problem3.dfy | 3 +- Test/VerifyThis2015/Problem3.dfy.expect | 2 - Test/c++/arrays.dfy | 3 +- Test/c++/arrays.dfy.expect | 2 - Test/c++/bit-vectors.dfy | 3 +- Test/c++/bit-vectors.dfy.expect | 2 - Test/c++/class.dfy | 3 +- Test/c++/class.dfy.expect | 2 - Test/c++/const.dfy | 3 +- Test/c++/const.dfy.expect | 2 - Test/c++/datatypes.dfy | 3 +- Test/c++/datatypes.dfy.expect | 2 - Test/c++/generic.dfy | 3 +- Test/c++/generic.dfy.expect | 2 - Test/c++/hello.dfy | 3 +- Test/c++/hello.dfy.expect | 2 - Test/c++/ints.dfy | 3 +- Test/c++/ints.dfy.expect | 2 - Test/c++/recursion.dfy | 3 +- Test/c++/recursion.dfy.expect | 2 - Test/c++/returns.dfy | 3 +- Test/c++/returns.dfy.expect | 2 - Test/c++/seqs.dfy | 3 +- Test/c++/seqs.dfy.expect | 2 - Test/c++/sets.dfy | 3 +- Test/c++/sets.dfy.expect | 2 - Test/c++/while.dfy | 3 +- Test/c++/while.dfy.expect | 2 - Test/comp/Arrays.dfy | 9 +- Test/comp/Arrays.dfy.expect | 396 ------------ Test/comp/Arrays.dfy.go.expect | 96 +++ Test/comp/AsIs-Compile.dfy | 8 +- Test/comp/AsIs-Compile.dfy.expect | 160 ----- Test/comp/AutoInit.dfy | 8 +- Test/comp/AutoInit.dfy.expect | 160 ----- Test/comp/ByMethodCompilation.dfy | 8 +- Test/comp/ByMethodCompilation.dfy.expect | 32 - Test/comp/Calls.dfy | 8 +- Test/comp/Calls.dfy.expect | 40 -- Test/comp/Class.dfy | 8 +- Test/comp/Class.dfy.expect | 72 --- Test/comp/Collections.dfy | 9 +- Test/comp/Collections.dfy.expect | 512 ---------------- Test/comp/Collections.dfy.go.expect | 125 ++++ Test/comp/Collections.dfy.java.expect | 125 ++++ Test/comp/Collections.dfy.js.expect | 125 ++++ Test/comp/Collections.dfy.py.expect | 125 ++++ Test/comp/Comprehensions.dfy | 9 +- Test/comp/Comprehensions.dfy.expect | 260 -------- Test/comp/Comprehensions.dfy.py.expect | 62 ++ Test/comp/ComprehensionsNewSyntax.dfy | 9 +- Test/comp/ComprehensionsNewSyntax.dfy.expect | 148 ----- .../ComprehensionsNewSyntax.dfy.py.expect | 34 ++ Test/comp/CovariantCollections.dfy | 8 +- Test/comp/CovariantCollections.dfy.expect | 220 ------- Test/comp/Datatype.dfy | 9 +- Test/comp/Datatype.dfy.expect | 100 --- Test/comp/Datatype.dfy.java.expect | 22 + Test/comp/Datatype.dfy.py.expect | 22 + Test/comp/DefaultParameters-Compile.dfy | 8 +- .../comp/DefaultParameters-Compile.dfy.expect | 48 -- Test/comp/DowncastClone.dfy | 8 +- Test/comp/DowncastClone.dfy.expect | 40 -- Test/comp/ErasableTypeWrappers.dfy | 8 +- Test/comp/ErasableTypeWrappers.dfy.expect | 84 --- Test/comp/EuclideanDivision.dfy | 8 +- Test/comp/EuclideanDivision.dfy.expect | 36 -- Test/comp/ForLoops-Compilation.dfy | 8 +- Test/comp/ForLoops-Compilation.dfy.expect | 200 ------ Test/comp/ForallNewSyntax.dfy | 8 +- Test/comp/ForallNewSyntax.dfy.expect | 180 ------ Test/comp/Ghosts.dfy | 8 +- Test/comp/Ghosts.dfy.expect | 52 -- Test/comp/Let.dfy | 7 +- Test/comp/Let.dfy.expect | 34 -- Test/comp/MoreAutoInit.dfy | 8 +- Test/comp/MoreAutoInit.dfy.expect | 572 ------------------ Test/comp/NativeNumbers.dfy | 7 +- Test/comp/NativeNumbers.dfy.expect | 256 -------- Test/comp/NestedArrays.dfy | 7 +- Test/comp/NestedArrays.dfy.expect | 16 - Test/comp/Numbers.dfy | 9 +- Test/comp/Numbers.dfy.expect | 456 -------------- Test/comp/Numbers.dfy.go.expect | 111 ++++ Test/comp/Numbers.dfy.py.expect | 111 ++++ Test/comp/Poly.dfy | 9 +- Test/comp/Poly.dfy.expect | 60 -- Test/comp/Poly.dfy.go.expect | 12 + Test/comp/Poly.dfy.py.expect | 12 + Test/comp/StaticMembersOfGenericTypes.dfy | 8 +- .../StaticMembersOfGenericTypes.dfy.expect | 76 --- Test/comp/TailRecursion.dfy | 8 +- Test/comp/TailRecursion.dfy.expect | 76 --- Test/comp/TypeDescriptors.dfy | 8 +- Test/comp/TypeDescriptors.dfy.expect | 152 ----- Test/comp/TypeParams.dfy | 11 +- Test/comp/TypeParams.dfy.expect | 88 --- Test/comp/TypeParams.dfy.go.expect | 19 + Test/comp/TypeParams.dfy.java.expect | 19 + Test/comp/TypeParams.dfy.js.expect | 19 + Test/comp/TypeParams.dfy.py.expect | 19 + Test/comp/UnoptimizedErasableTypeWrappers.dfy | 8 +- ...UnoptimizedErasableTypeWrappers.dfy.expect | 28 - Test/comp/Variance.dfy | 8 +- Test/comp/Variance.dfy.expect | 64 -- Test/comp/Various.dfy | 8 +- Test/comp/Various.dfy.expect | 40 -- Test/comp/firstSteps/0_IKnowThisMuchIs.dfy | 4 +- .../firstSteps/0_IKnowThisMuchIs.dfy.expect | 4 - Test/comp/firstSteps/1_Calls-F.dfy | 4 +- Test/comp/firstSteps/1_Calls-F.dfy.expect | 4 - Test/comp/firstSteps/2_Modules.dfy | 4 +- Test/comp/firstSteps/2_Modules.dfy.expect | 4 - Test/comp/firstSteps/3_Calls-As.dfy | 4 +- Test/comp/firstSteps/3_Calls-As.dfy.expect | 4 - .../4_Calls-FunctionsValues-Class+NT.dfy | 4 +- ..._Calls-FunctionsValues-Class+NT.dfy.expect | 4 - .../firstSteps/5_Calls-FunctionsValues-Dt.dfy | 4 +- .../5_Calls-FunctionsValues-Dt.dfy.expect | 4 - .../firstSteps/6_Calls-VariableCapture.dfy | 4 +- .../6_Calls-VariableCapture.dfy.expect | 4 - Test/comp/firstSteps/7_Arrays.dfy | 4 +- Test/comp/firstSteps/7_Arrays.dfy.expect | 4 - Test/comp/firstSteps/7_Dt_Algebraic.dfy | 6 +- .../firstSteps/7_Dt_Algebraic.dfy.cs.expect | 11 + .../comp/firstSteps/7_Dt_Algebraic.dfy.expect | 17 - Test/dafny0/ArrayElementInitCompile.dfy | 8 +- .../dafny0/ArrayElementInitCompile.dfy.expect | 76 --- Test/dafny0/Bitvectors.dfy | 5 +- Test/dafny0/Bitvectors.dfy.expect | 49 -- Test/dafny0/Constant.dfy | 3 +- Test/dafny0/Constant.dfy.expect | 2 - Test/dafny0/Deprecation.dfy | 3 +- Test/dafny0/Deprecation.dfy.expect | 7 - Test/dafny0/Deprecation.dfy.verifier.expect | 5 + Test/dafny0/DiscoverBounds.dfy | 3 +- Test/dafny0/DiscoverBounds.dfy.expect | 7 - .../dafny0/DiscoverBounds.dfy.verifier.expect | 5 + Test/dafny0/DividedConstructors.dfy | 3 +- Test/dafny0/DividedConstructors.dfy.expect | 3 - .../DividedConstructors.dfy.verifier.expect | 1 + Test/dafny0/EqualityTypesCompile.dfy | 3 +- Test/dafny0/EqualityTypesCompile.dfy.expect | 2 - Test/dafny0/ForallCompilationNewSyntax.dfy | 3 +- .../ForallCompilationNewSyntax.dfy.expect | 6 - ...llCompilationNewSyntax.dfy.verifier.expect | 4 + Test/dafny0/GhostITECompilation.dfy | 8 +- Test/dafny0/GhostITECompilation.dfy.expect | 28 - Test/dafny0/InitialValues.dfy | 3 +- Test/dafny0/InitialValues.dfy.expect | 2 - Test/dafny0/MatchBraces.dfy | 5 +- Test/dafny0/MatchBraces.dfy.expect | 8 - Test/dafny0/MoForallCompilation.dfy | 3 +- Test/dafny0/MoForallCompilation.dfy.expect | 2 - Test/dafny0/NameclashesCompile.dfy | 3 +- Test/dafny0/NameclashesCompile.dfy.expect | 2 - Test/dafny0/NonZeroInitializationCompile.dfy | 7 +- .../NonZeroInitializationCompile.dfy.expect | 73 --- Test/dafny0/NullComparisonWarnings.dfy | 3 +- Test/dafny0/NullComparisonWarnings.dfy.expect | 13 - ...NullComparisonWarnings.dfy.verifier.expect | 11 + Test/dafny0/PrintUTF8.dfy | 3 +- Test/dafny0/PrintUTF8.dfy.expect | 2 - Test/dafny0/RangeCompilation.dfy | 3 +- Test/dafny0/RangeCompilation.dfy.expect | 2 - Test/dafny0/SeqFromArray.dfy | 3 +- Test/dafny0/SeqFromArray.dfy.expect | 2 - Test/dafny0/SharedDestructorsCompile.dfy | 5 +- .../SharedDestructorsCompile.dfy.expect | 17 - Test/dafny0/SiblingImports.dfy | 3 +- Test/dafny0/SiblingImports.dfy.expect | 2 - Test/dafny0/TypeConversionsCompile.dfy | 3 +- Test/dafny0/TypeConversionsCompile.dfy.expect | 2 - Test/dafny0/TypeMembers.dfy | 5 +- Test/dafny0/TypeMembers.dfy.expect | 29 - Test/dafny0/TypeMembers.dfy.verifier.expect | 1 + Test/dafny0/Wellfounded.dfy | 3 +- Test/dafny0/Wellfounded.dfy.expect | 4 - Test/dafny0/Wellfounded.dfy.verifier.expect | 2 + Test/dafny2/MinWindowMax.dfy | 3 +- Test/dafny2/MinWindowMax.dfy.expect | 2 - .../SmallestMissingNumber-functional.dfy | 3 +- ...mallestMissingNumber-functional.dfy.expect | 3 - ...ssingNumber-functional.dfy.verifier.expect | 1 + .../SmallestMissingNumber-imperative.dfy | 3 +- ...mallestMissingNumber-imperative.dfy.expect | 2 - Test/dafny2/StoreAndRetrieve.dfy | 7 +- Test/dafny2/StoreAndRetrieve.dfy.expect | 38 -- .../StoreAndRetrieve.dfy.verifier.expect | 5 + Test/dafny2/pq-intrinsic-extrinsic.dfy | 5 +- Test/dafny2/pq-intrinsic-extrinsic.dfy.expect | 11 - Test/dafny3/Abstemious.dfy | 3 +- Test/dafny3/Abstemious.dfy.expect | 2 - Test/dafny3/CachedContainer.dfy | 7 +- Test/dafny3/CachedContainer.dfy.expect | 78 --- .../CachedContainer.dfy.verifier.expect | 13 + Test/dafny3/Iter.dfy | 3 +- Test/dafny3/Iter.dfy.expect | 2 - Test/dafny4/Ackermann.dfy | 3 +- Test/dafny4/Ackermann.dfy.expect | 4 - Test/dafny4/Ackermann.dfy.verifier.expect | 2 + Test/dafny4/Bug107.dfy | 3 +- Test/dafny4/Bug107.dfy.expect | 2 - Test/dafny4/Bug108.dfy | 3 +- Test/dafny4/Bug108.dfy.expect | 2 - Test/dafny4/Bug113.dfy | 5 +- Test/dafny4/Bug113.dfy.expect | 2 - Test/dafny4/Bug140.dfy | 3 +- Test/dafny4/Bug140.dfy.expect | 2 - Test/dafny4/Bug148.dfy | 3 +- Test/dafny4/Bug148.dfy.expect | 2 - Test/dafny4/Bug49.dfy | 3 +- Test/dafny4/Bug49.dfy.expect | 2 - Test/dafny4/Bug60.dfy | 3 +- Test/dafny4/Bug60.dfy.expect | 2 - Test/dafny4/Bug67.dfy | 5 +- Test/dafny4/Bug67.dfy.expect | 2 - Test/dafny4/Bug68.dfy | 5 +- Test/dafny4/Bug68.dfy.expect | 2 - Test/dafny4/Bug89.dfy | 3 +- Test/dafny4/Bug89.dfy.expect | 2 - Test/dafny4/Bug94.dfy | 3 +- Test/dafny4/Bug94.dfy.expect | 2 - Test/dafny4/ClassRefinement.dfy | 7 +- Test/dafny4/ClassRefinement.dfy.expect | 43 -- .../ClassRefinement.dfy.verifier.expect | 6 + Test/dafny4/ExpandedGuardedness.dfy | 3 +- Test/dafny4/ExpandedGuardedness.dfy.expect | 2 - Test/dafny4/FlyingRobots.dfy | 3 +- Test/dafny4/FlyingRobots.dfy.expect | 2 - Test/dafny4/Leq.dfy | 3 +- Test/dafny4/Leq.dfy.expect | 2 - Test/dafny4/McCarthy91.dfy | 3 +- Test/dafny4/McCarthy91.dfy.expect | 2 - Test/dafny4/NatList.dfy | 3 +- Test/dafny4/NatList.dfy.expect | 2 - Test/dafny4/Regression2.dfy | 3 +- Test/dafny4/Regression2.dfy.expect | 2 - Test/dafny4/Regression3.dfy | 3 +- Test/dafny4/Regression3.dfy.expect | 2 - Test/dafny4/Regression4.dfy | 3 +- Test/dafny4/Regression4.dfy.expect | 2 - Test/dafny4/Regression6.dfy | 3 +- Test/dafny4/Regression6.dfy.expect | 2 - Test/dafny4/Regression7.dfy | 3 +- Test/dafny4/Regression7.dfy.expect | 2 - Test/dafny4/Regression9.dfy | 3 +- Test/dafny4/Regression9.dfy.expect | 2 - Test/dafny4/UnionFind.dfy | 3 +- Test/dafny4/UnionFind.dfy.expect | 2 - Test/dafny4/gcd.dfy | 7 +- Test/dafny4/gcd.dfy.expect | 31 - Test/dafny4/git-issue104.dfy | 8 +- Test/dafny4/git-issue104.dfy.expect | 16 - Test/dafny4/git-issue105.dfy | 3 +- Test/dafny4/git-issue105.dfy.expect | 2 - Test/dafny4/git-issue15.dfy | 3 +- Test/dafny4/git-issue15.dfy.expect | 2 - Test/dafny4/git-issue195.dfy | 3 +- Test/dafny4/git-issue195.dfy.expect | 2 - Test/dafny4/git-issue196.dfy | 3 +- Test/dafny4/git-issue196.dfy.expect | 2 - Test/dafny4/git-issue4.dfy | 3 +- Test/dafny4/git-issue4.dfy.expect | 2 - Test/dafny4/git-issue43.dfy | 3 +- Test/dafny4/git-issue43.dfy.expect | 2 - Test/dafny4/git-issue76.dfy | 5 +- Test/dafny4/git-issue76.dfy.expect | 7 - Test/dafny4/git-issue79.dfy | 3 +- Test/dafny4/git-issue79.dfy.expect | 2 - Test/dafny4/git-issue88.dfy | 3 +- Test/dafny4/git-issue88.dfy.expect | 2 - Test/exceptions/Exceptions1.dfy | 3 +- Test/exceptions/Exceptions1.dfy.expect | 2 - Test/exceptions/Exceptions1Expressions.dfy | 3 +- .../Exceptions1Expressions.dfy.expect | 2 - Test/exports/FIFO.dfy | 3 +- Test/exports/FIFO.dfy.expect | 2 - Test/exports/LIFO.dfy | 3 +- Test/exports/LIFO.dfy.expect | 2 - Test/exports/xrefine2.dfy | 3 +- Test/exports/xrefine2.dfy.expect | 2 - Test/exports/xrefine3.dfy | 3 +- Test/exports/xrefine3.dfy.expect | 2 - Test/git-issues/git-issue-032.dfy | 7 +- Test/git-issues/git-issue-032.dfy.expect | 37 -- .../git-issue-032.dfy.verifier.expect | 3 + Test/git-issues/git-issue-1029.dfy | 3 +- Test/git-issues/git-issue-1029.dfy.expect | 2 - Test/git-issues/git-issue-1093.dfy | 8 +- Test/git-issues/git-issue-1093.dfy.expect | 16 - Test/git-issues/git-issue-1130.dfy | 3 +- Test/git-issues/git-issue-1130.dfy.expect | 2 - Test/git-issues/git-issue-1150.dfy | 3 +- Test/git-issues/git-issue-1150.dfy.expect | 2 - Test/git-issues/git-issue-1185.dfy | 8 +- Test/git-issues/git-issue-1185.dfy.expect | 13 - .../git-issues/git-issue-1185.dfy.java.expect | 1 + Test/git-issues/git-issue-1514.dfy | 3 +- Test/git-issues/git-issue-1514.dfy.expect | 2 - Test/git-issues/git-issue-1514b.dfy | 3 +- Test/git-issues/git-issue-1514b.dfy.expect | 2 - Test/git-issues/git-issue-1514c.dfy | 5 +- Test/git-issues/git-issue-1514c.dfy.expect | 7 - Test/git-issues/git-issue-1553.dfy | 7 +- Test/git-issues/git-issue-1553.dfy.expect | 10 - Test/git-issues/git-issue-1604b.dfy | 3 +- Test/git-issues/git-issue-1604b.dfy.expect | 2 - Test/git-issues/git-issue-1714.dfy | 3 +- Test/git-issues/git-issue-1714.dfy.expect | 2 - Test/git-issues/git-issue-1815a.dfy | 8 +- Test/git-issues/git-issue-1815a.dfy.expect | 16 - Test/git-issues/git-issue-1852.dfy | 5 +- Test/git-issues/git-issue-1852.dfy.expect | 7 - Test/git-issues/git-issue-1903.dfy | 3 +- Test/git-issues/git-issue-1903.dfy.expect | 2 - Test/git-issues/git-issue-1909.dfy | 3 +- Test/git-issues/git-issue-1909.dfy.expect | 2 - Test/git-issues/git-issue-2013.dfy | 8 +- Test/git-issues/git-issue-2013.dfy.expect | 52 -- Test/git-issues/git-issue-2441.dfy | 5 +- Test/git-issues/git-issue-2441.dfy.expect | 6 - Test/git-issues/git-issue-2510.dfy | 3 +- Test/git-issues/git-issue-2510.dfy.expect | 2 - Test/git-issues/git-issue-2608.dfy | 3 +- Test/git-issues/git-issue-2608.dfy.expect | 2 - Test/git-issues/git-issue-262.dfy | 7 +- Test/git-issues/git-issue-262.dfy.expect | 18 - Test/git-issues/git-issue-262.dfy.go.expect | 2 + Test/git-issues/git-issue-262.dfy.java.expect | 2 + Test/git-issues/git-issue-262.dfy.js.expect | 6 + Test/git-issues/git-issue-267.dfy | 7 +- Test/git-issues/git-issue-267.dfy.expect | 13 - Test/git-issues/git-issue-2672.dfy | 8 +- Test/git-issues/git-issue-2672.dfy.expect | 44 -- Test/git-issues/git-issue-2726a.dfy | 3 +- Test/git-issues/git-issue-2726a.dfy.expect | 2 - Test/git-issues/git-issue-2733.dfy | 9 +- Test/git-issues/git-issue-2733.dfy.expect | 14 - Test/git-issues/git-issue-2792.dfy | 3 +- Test/git-issues/git-issue-2792.dfy.expect | 2 - Test/git-issues/git-issue-283.dfy | 7 +- Test/git-issues/git-issue-283.dfy.expect | 13 - Test/git-issues/git-issue-283d.dfy | 7 +- Test/git-issues/git-issue-283d.dfy.expect | 10 - Test/git-issues/git-issue-314.dfy | 7 +- Test/git-issues/git-issue-314.dfy.expect | 10 - Test/git-issues/git-issue-332.dfy | 3 +- Test/git-issues/git-issue-332.dfy.expect | 2 - Test/git-issues/git-issue-354.dfy | 7 +- Test/git-issues/git-issue-354.dfy.expect | 22 - Test/git-issues/git-issue-356.dfy | 8 +- Test/git-issues/git-issue-356.dfy.expect | 36 -- Test/git-issues/git-issue-364.dfy | 3 +- Test/git-issues/git-issue-364.dfy.expect | 2 - Test/git-issues/git-issue-374.dfy | 7 +- Test/git-issues/git-issue-374.dfy.expect | 10 - Test/git-issues/git-issue-396.dfy | 6 +- Test/git-issues/git-issue-396.dfy.expect | 11 - Test/git-issues/git-issue-4007.dfy | 5 +- Test/git-issues/git-issue-4007.dfy.expect | 3 - .../git-issue-4007.dfy.verifier.expect | 1 + Test/git-issues/git-issue-4012.dfy | 5 +- Test/git-issues/git-issue-4012.dfy.expect | 2 - Test/git-issues/git-issue-425.dfy | 7 +- Test/git-issues/git-issue-425.dfy.expect | 16 - Test/git-issues/git-issue-443.dfy | 3 +- Test/git-issues/git-issue-443.dfy.expect | 2 - Test/git-issues/git-issue-446.dfy | 7 +- Test/git-issues/git-issue-446.dfy.expect | 19 - Test/git-issues/git-issue-446a.dfy | 7 +- Test/git-issues/git-issue-446a.dfy.expect | 19 - Test/git-issues/git-issue-446b.dfy | 7 +- Test/git-issues/git-issue-446b.dfy.expect | 25 - Test/git-issues/git-issue-478-good.dfy | 3 +- Test/git-issues/git-issue-478-good.dfy.expect | 2 - Test/git-issues/git-issue-506.dfy | 6 +- Test/git-issues/git-issue-506.dfy.expect | 26 - Test/git-issues/git-issue-532.dfy | 7 +- Test/git-issues/git-issue-532.dfy.expect | 19 - Test/git-issues/git-issue-549.dfy | 5 +- Test/git-issues/git-issue-549.dfy.expect | 8 - Test/git-issues/git-issue-622$f.dfy | 3 +- Test/git-issues/git-issue-622$f.dfy.expect | 2 - Test/git-issues/git-issue-684.dfy | 7 +- Test/git-issues/git-issue-684.dfy.expect | 10 - Test/git-issues/git-issue-686.dfy | 7 +- Test/git-issues/git-issue-686.dfy.expect | 23 - .../git-issue-686.dfy.verifier.expect | 2 + Test/git-issues/git-issue-697.dfy | 3 +- Test/git-issues/git-issue-697.dfy.expect | 2 - Test/git-issues/git-issue-697b.dfy | 3 +- Test/git-issues/git-issue-697b.dfy.expect | 2 - Test/git-issues/git-issue-697d.dfy | 3 +- Test/git-issues/git-issue-697d.dfy.expect | 2 - Test/git-issues/git-issue-697e.dfy | 3 +- Test/git-issues/git-issue-697e.dfy.expect | 2 - Test/git-issues/git-issue-697f.dfy | 3 +- Test/git-issues/git-issue-697f.dfy.expect | 2 - Test/git-issues/git-issue-697g.dfy | 3 +- Test/git-issues/git-issue-697g.dfy.expect | 2 - Test/git-issues/git-issue-698.dfy | 5 +- Test/git-issues/git-issue-698.dfy.expect | 7 - Test/git-issues/git-issue-698b.dfy | 5 +- Test/git-issues/git-issue-698b.dfy.expect | 2 - Test/git-issues/git-issue-701.dfy | 7 +- Test/git-issues/git-issue-701.dfy.expect | 19 - Test/git-issues/git-issue-705.dfy | 7 +- Test/git-issues/git-issue-705.dfy.expect | 13 - Test/git-issues/git-issue-731.dfy | 7 +- Test/git-issues/git-issue-731.dfy.expect | 16 - Test/git-issues/git-issue-731b.dfy | 7 +- Test/git-issues/git-issue-731b.dfy.expect | 13 - Test/git-issues/git-issue-784.dfy | 7 +- Test/git-issues/git-issue-784.dfy.expect | 10 - Test/git-issues/git-issue-953.dfy | 8 +- Test/git-issues/git-issue-953.dfy.expect | 36 -- Test/git-issues/github-issue-3343.dfy | 3 +- Test/git-issues/github-issue-3343.dfy.expect | 2 - Test/hofs/Compilation.dfy | 3 +- Test/hofs/Compilation.dfy.expect | 2 - Test/hofs/Examples.dfy | 3 +- Test/hofs/Examples.dfy.expect | 2 - Test/hofs/Fold.dfy | 3 +- Test/hofs/Fold.dfy.expect | 2 - Test/hofs/Renaming.dfy | 3 +- Test/hofs/Renaming.dfy.expect | 2 - Test/hofs/Requires.dfy | 3 +- Test/hofs/Requires.dfy.expect | 2 - Test/hofs/TreeMapSimple.dfy | 3 +- Test/hofs/TreeMapSimple.dfy.expect | 2 - Test/hofs/VectorUpdate.dfy | 3 +- Test/hofs/VectorUpdate.dfy.expect | 2 - Test/hofs/WhileLoop.dfy | 3 +- Test/hofs/WhileLoop.dfy.expect | 2 - Test/metatests/OutputEncoding.dfy | 8 +- Test/metatests/OutputEncoding.dfy.expect | 16 - Test/patterns/OrPatterns.dfy | 3 +- Test/patterns/OrPatterns.dfy.expect | 2 - Test/patterns/PatternMatching.dfy | 5 +- Test/patterns/PatternMatching.dfy.expect | 3 - .../PatternMatching.dfy.verifier.expect | 1 + Test/traits/TraitCompile.dfy | 10 +- Test/traits/TraitCompile.dfy.expect | 256 -------- Test/traits/TraitExample.dfy | 3 +- Test/traits/TraitExample.dfy.expect | 2 - Test/traits/Traits-Fields.dfy | 3 +- Test/traits/Traits-Fields.dfy.expect | 2 - Test/traits/TraitsMultipleInheritance.dfy | 3 +- .../TraitsMultipleInheritance.dfy.expect | 2 - Test/unicodechars/comp/Collections.dfy | 9 +- Test/unicodechars/comp/Collections.dfy.expect | 512 ---------------- .../comp/Collections.dfy.go.expect | 125 ++++ .../comp/Collections.dfy.java.expect | 125 ++++ .../comp/Collections.dfy.js.expect | 125 ++++ .../comp/Collections.dfy.py.expect | 125 ++++ Test/unicodechars/comp/Comprehensions.dfy | 11 +- .../comp/Comprehensions.dfy.expect | 260 -------- .../comp/Comprehensions.dfy.py.expect | 62 ++ Test/unicodechars/comp/NativeNumbers.dfy | 9 +- .../comp/NativeNumbers.dfy.expect | 256 -------- Test/unicodechars/comp/Numbers.dfy | 11 +- Test/unicodechars/comp/Numbers.dfy.expect | 456 -------------- Test/unicodechars/comp/Numbers.dfy.go.expect | 111 ++++ Test/unicodechars/comp/Numbers.dfy.py.expect | 111 ++++ 469 files changed, 2165 insertions(+), 8689 deletions(-) create mode 100644 Test/comp/Arrays.dfy.go.expect create mode 100644 Test/comp/Collections.dfy.go.expect create mode 100644 Test/comp/Collections.dfy.java.expect create mode 100644 Test/comp/Collections.dfy.js.expect create mode 100644 Test/comp/Collections.dfy.py.expect create mode 100644 Test/comp/Comprehensions.dfy.py.expect create mode 100644 Test/comp/ComprehensionsNewSyntax.dfy.py.expect create mode 100644 Test/comp/Datatype.dfy.java.expect create mode 100644 Test/comp/Datatype.dfy.py.expect create mode 100644 Test/comp/Numbers.dfy.go.expect create mode 100644 Test/comp/Numbers.dfy.py.expect create mode 100644 Test/comp/Poly.dfy.go.expect create mode 100644 Test/comp/Poly.dfy.py.expect create mode 100644 Test/comp/TypeParams.dfy.go.expect create mode 100644 Test/comp/TypeParams.dfy.java.expect create mode 100644 Test/comp/TypeParams.dfy.js.expect create mode 100644 Test/comp/TypeParams.dfy.py.expect create mode 100644 Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect create mode 100644 Test/dafny0/Deprecation.dfy.verifier.expect create mode 100644 Test/dafny0/DiscoverBounds.dfy.verifier.expect create mode 100644 Test/dafny0/DividedConstructors.dfy.verifier.expect create mode 100644 Test/dafny0/ForallCompilationNewSyntax.dfy.verifier.expect create mode 100644 Test/dafny0/NullComparisonWarnings.dfy.verifier.expect create mode 100644 Test/dafny0/TypeMembers.dfy.verifier.expect create mode 100644 Test/dafny0/Wellfounded.dfy.verifier.expect create mode 100644 Test/dafny2/SmallestMissingNumber-functional.dfy.verifier.expect create mode 100644 Test/dafny2/StoreAndRetrieve.dfy.verifier.expect create mode 100644 Test/dafny3/CachedContainer.dfy.verifier.expect create mode 100644 Test/dafny4/Ackermann.dfy.verifier.expect create mode 100644 Test/dafny4/ClassRefinement.dfy.verifier.expect create mode 100644 Test/git-issues/git-issue-032.dfy.verifier.expect create mode 100644 Test/git-issues/git-issue-1185.dfy.java.expect create mode 100644 Test/git-issues/git-issue-262.dfy.go.expect create mode 100644 Test/git-issues/git-issue-262.dfy.java.expect create mode 100644 Test/git-issues/git-issue-262.dfy.js.expect create mode 100644 Test/git-issues/git-issue-4007.dfy.verifier.expect create mode 100644 Test/git-issues/git-issue-686.dfy.verifier.expect create mode 100644 Test/patterns/PatternMatching.dfy.verifier.expect create mode 100644 Test/unicodechars/comp/Collections.dfy.go.expect create mode 100644 Test/unicodechars/comp/Collections.dfy.java.expect create mode 100644 Test/unicodechars/comp/Collections.dfy.js.expect create mode 100644 Test/unicodechars/comp/Collections.dfy.py.expect create mode 100644 Test/unicodechars/comp/Comprehensions.dfy.py.expect create mode 100644 Test/unicodechars/comp/Numbers.dfy.go.expect create mode 100644 Test/unicodechars/comp/Numbers.dfy.py.expect diff --git a/Test/VerifyThis2015/Problem1.dfy b/Test/VerifyThis2015/Problem1.dfy index 20bd154ab8d..ab227e1ab85 100644 --- a/Test/VerifyThis2015/Problem1.dfy +++ b/Test/VerifyThis2015/Problem1.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Rustan Leino // 12 April 2015 diff --git a/Test/VerifyThis2015/Problem1.dfy.expect b/Test/VerifyThis2015/Problem1.dfy.expect index 110dd45761d..9e8a46acf90 100644 --- a/Test/VerifyThis2015/Problem1.dfy.expect +++ b/Test/VerifyThis2015/Problem1.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 18 verified, 0 errors true true false diff --git a/Test/VerifyThis2015/Problem2.dfy b/Test/VerifyThis2015/Problem2.dfy index 7466df6d410..9b57395e68b 100644 --- a/Test/VerifyThis2015/Problem2.dfy +++ b/Test/VerifyThis2015/Problem2.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Rustan Leino // 13 April 2015, and many subsequent enhancements and revisions diff --git a/Test/VerifyThis2015/Problem2.dfy.expect b/Test/VerifyThis2015/Problem2.dfy.expect index b49c1470365..e69de29bb2d 100644 --- a/Test/VerifyThis2015/Problem2.dfy.expect +++ b/Test/VerifyThis2015/Problem2.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 32 verified, 0 errors diff --git a/Test/VerifyThis2015/Problem3.dfy b/Test/VerifyThis2015/Problem3.dfy index 3be60b5d81a..1348acf0f4d 100644 --- a/Test/VerifyThis2015/Problem3.dfy +++ b/Test/VerifyThis2015/Problem3.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Rustan Leino // 12 April 2015 // VerifyThis 2015 diff --git a/Test/VerifyThis2015/Problem3.dfy.expect b/Test/VerifyThis2015/Problem3.dfy.expect index 4bb1c2c7251..e69de29bb2d 100644 --- a/Test/VerifyThis2015/Problem3.dfy.expect +++ b/Test/VerifyThis2015/Problem3.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 18 verified, 0 errors diff --git a/Test/c++/arrays.dfy b/Test/c++/arrays.dfy index 47140146468..a02b57e5ff8 100644 --- a/Test/c++/arrays.dfy +++ b/Test/c++/arrays.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/arrays.dfy.expect b/Test/c++/arrays.dfy.expect index 552f9355593..2ce9320d8c2 100644 --- a/Test/c++/arrays.dfy.expect +++ b/Test/c++/arrays.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 9 verified, 0 errors 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/c++/bit-vectors.dfy b/Test/c++/bit-vectors.dfy index b7f5d35df07..d27469e4ca5 100644 --- a/Test/c++/bit-vectors.dfy +++ b/Test/c++/bit-vectors.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint64 = i:int | 0 <= i < 0x10000000000000000 diff --git a/Test/c++/bit-vectors.dfy.expect b/Test/c++/bit-vectors.dfy.expect index e327aa2f73b..c491236b12b 100644 --- a/Test/c++/bit-vectors.dfy.expect +++ b/Test/c++/bit-vectors.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 6 verified, 0 errors 084841024 diff --git a/Test/c++/class.dfy b/Test/c++/class.dfy index 3039bd0466b..b10d703c981 100644 --- a/Test/c++/class.dfy +++ b/Test/c++/class.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/class.dfy.expect b/Test/c++/class.dfy.expect index 93717ecfa9e..80f1587d0a2 100644 --- a/Test/c++/class.dfy.expect +++ b/Test/c++/class.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 16 verified, 0 errors true true false 103 102 102 106 105 105 203 17 0 18 8 9 69 70 diff --git a/Test/c++/const.dfy b/Test/c++/const.dfy index 5ab9a62e0e9..1bfb79f0361 100644 --- a/Test/c++/const.dfy +++ b/Test/c++/const.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false module Holder { const x:bool := false diff --git a/Test/c++/const.dfy.expect b/Test/c++/const.dfy.expect index 823a60a105c..e69de29bb2d 100644 --- a/Test/c++/const.dfy.expect +++ b/Test/c++/const.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 1 verified, 0 errors diff --git a/Test/c++/datatypes.dfy b/Test/c++/datatypes.dfy index 9d077b97575..f56b7907cc3 100644 --- a/Test/c++/datatypes.dfy +++ b/Test/c++/datatypes.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/datatypes.dfy.expect b/Test/c++/datatypes.dfy.expect index efa71b43546..c122f5af791 100644 --- a/Test/c++/datatypes.dfy.expect +++ b/Test/c++/datatypes.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 12 verified, 0 errors Case A: 42 Case B: true This is expected diff --git a/Test/c++/generic.dfy b/Test/c++/generic.dfy index 7995928f93f..374c545b9c1 100644 --- a/Test/c++/generic.dfy +++ b/Test/c++/generic.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false class Test { var t:T diff --git a/Test/c++/generic.dfy.expect b/Test/c++/generic.dfy.expect index 00a51f822da..e69de29bb2d 100644 --- a/Test/c++/generic.dfy.expect +++ b/Test/c++/generic.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 3 verified, 0 errors diff --git a/Test/c++/hello.dfy b/Test/c++/hello.dfy index c887337c7e1..523d3152209 100644 --- a/Test/c++/hello.dfy +++ b/Test/c++/hello.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false method Main() { print "Hello world\n"; diff --git a/Test/c++/hello.dfy.expect b/Test/c++/hello.dfy.expect index 87101fec036..802992c4220 100644 --- a/Test/c++/hello.dfy.expect +++ b/Test/c++/hello.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors Hello world diff --git a/Test/c++/ints.dfy b/Test/c++/ints.dfy index cf7ae63e0da..4490a54817a 100644 --- a/Test/c++/ints.dfy +++ b/Test/c++/ints.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype sbyte = i:int | -0x80 <= i < 0x80 newtype byte = i:int | 0 <= i < 0x100 diff --git a/Test/c++/ints.dfy.expect b/Test/c++/ints.dfy.expect index aeabccf73b0..5fcb7b811cb 100644 --- a/Test/c++/ints.dfy.expect +++ b/Test/c++/ints.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 15 verified, 0 errors Result is z = 42 diff --git a/Test/c++/recursion.dfy b/Test/c++/recursion.dfy index e255b8e6b08..36048aab527 100644 --- a/Test/c++/recursion.dfy +++ b/Test/c++/recursion.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/recursion.dfy.expect b/Test/c++/recursion.dfy.expect index 15dbfe2bcd1..1ea14926e89 100644 --- a/Test/c++/recursion.dfy.expect +++ b/Test/c++/recursion.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors x !y 3 diff --git a/Test/c++/returns.dfy b/Test/c++/returns.dfy index 1ad19a8ce83..9e23121d26a 100644 --- a/Test/c++/returns.dfy +++ b/Test/c++/returns.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint64 = i:int | 0 <= i < 0x10000000000000000 diff --git a/Test/c++/returns.dfy.expect b/Test/c++/returns.dfy.expect index 8db105eaba8..48082f72f08 100644 --- a/Test/c++/returns.dfy.expect +++ b/Test/c++/returns.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors 12 diff --git a/Test/c++/seqs.dfy b/Test/c++/seqs.dfy index f97a42b2851..903208b07f8 100644 --- a/Test/c++/seqs.dfy +++ b/Test/c++/seqs.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint8 = i:int | 0 <= i < 0x100 newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/seqs.dfy.expect b/Test/c++/seqs.dfy.expect index 23f01695bc9..16f5f9d22ea 100644 --- a/Test/c++/seqs.dfy.expect +++ b/Test/c++/seqs.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 11 verified, 0 errors Head second:2 Trunc first:2 Head trunc: This is expected diff --git a/Test/c++/sets.dfy b/Test/c++/sets.dfy index 5bfb6f80f1e..10e2fe0501d 100644 --- a/Test/c++/sets.dfy +++ b/Test/c++/sets.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/sets.dfy.expect b/Test/c++/sets.dfy.expect index 1c8ede8765e..52a1e67717e 100644 --- a/Test/c++/sets.dfy.expect +++ b/Test/c++/sets.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 8 verified, 0 errors Identity: This is expected ValuesIdentity: This is expected DiffIdentity: This is expected diff --git a/Test/c++/while.dfy b/Test/c++/while.dfy index 40dc4699d11..0c0d7ee98df 100644 --- a/Test/c++/while.dfy +++ b/Test/c++/while.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/while.dfy.expect b/Test/c++/while.dfy.expect index 8dfe872ca51..9a44de1e2a3 100644 --- a/Test/c++/while.dfy.expect +++ b/Test/c++/while.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 2 verified, 0 errors 0 1 2 diff --git a/Test/comp/Arrays.dfy b/Test/comp/Arrays.dfy index 566f052e0a6..acb4225b358 100644 --- a/Test/comp/Arrays.dfy +++ b/Test/comp/Arrays.dfy @@ -1,10 +1,5 @@ -// RUN: %baredafny verify %args --relax-definite-assignment "%s" > "%t" -// RUN: %baredafny run --unicode-char:false --no-verify --target=cs %args "%s" >> "%t" -// RUN: %baredafny run --unicode-char:false --no-verify --target=js %args "%s" >> "%t" -// RUN: %baredafny run --unicode-char:false --no-verify --target=go %args "%s" >> "%t" -// RUN: %baredafny run --unicode-char:false --no-verify --target=java %args "%s" >> "%t" -// RUN: %baredafny run --unicode-char:false --no-verify --target=py %args "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false method LinearSearch(a: array, key: int) returns (n: nat) ensures 0 <= n <= a.Length diff --git a/Test/comp/Arrays.dfy.expect b/Test/comp/Arrays.dfy.expect index 8559e2f3c5c..ef3b884f98a 100644 --- a/Test/comp/Arrays.dfy.expect +++ b/Test/comp/Arrays.dfy.expect @@ -1,399 +1,3 @@ - -Dafny program verifier finished with 89 verified, 0 errors - -Dafny program verifier did not attempt verification -0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 -17 -[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] -[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] -[20, 21, 22] -[0, 1, 2, 3, 4, 5, 6, 7] -[0, 1, 2, 3, 4, 5, 6, 7] -d d d -h e l l o -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -1 0 0 0 0 -0 1 0 0 0 -0 0 1 0 0 -cube dims: 3 0 4 -[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] -It's null -hi hello tjena hej hola -hi hello tjena hej hola -hi hello tjena hej hola -d d d -h e l l o -8 8 8 8 -true true true -1 1 1 1 1 -2 2 2 2 2 -3 3 3 3 3 -4 4 4 4 4 -(d, 8, true, 1, 2, 3, 4) -D D D -0 0 0 0 -false false false -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -(D, 0, false, 0, 0, 0, 0) -8 0 -false 0 null null -8 8 -8 8 -8 8 -8 8 -D D D -D D D -D D D -D D r (D, D, r) -D D r -[19, 18, 9, 8] - true - false - true - false - false - false - true - true - false - true - false - true - true - false -hello there -false false -true true -false false -false false -uninitialized bytes: array[0, 0, 0] -bytes from display: array[7, 8, 9] -bytes from lambda: array[20, 21, 22] -uninitialized 1bytes: array[1, 1, 1] -1bytes from display: array[7, 8, 9] -1bytes from lambda: array[20, 21, 22] -17 19 18 20 -100 200 300 120 38 -hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -DDDDDabcdeabcdeggggg -DDDDDabcdeabcdeggggg -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] -DDDDDDDDDDagggggaggg -0 69 50 -0 69 50 -D k n -false false -true true -false false -false false -true true - -Dafny program verifier did not attempt verification -0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 -17 -[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] -[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] -[20, 21, 22] -[0, 1, 2, 3, 4, 5, 6, 7] -[0, 1, 2, 3, 4, 5, 6, 7] -d d d -h e l l o -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -1 0 0 0 0 -0 1 0 0 0 -0 0 1 0 0 -cube dims: 3 0 4 -[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] -It's null -hi hello tjena hej hola -hi hello tjena hej hola -hi hello tjena hej hola -d d d -h e l l o -8 8 8 8 -true true true -1 1 1 1 1 -2 2 2 2 2 -3 3 3 3 3 -4 4 4 4 4 -(d, 8, true, 1, 2, 3, 4) -D D D -0 0 0 0 -false false false -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -(D, 0, false, 0, 0, 0, 0) -8 0 -false 0 null null -8 8 -8 8 -8 8 -8 8 -D D D -D D D -D D D -D D r (D, D, r) -D D r -[19, 18, 9, 8] - true - false - true - false - false - false - true - true - false - true - false - true - true - false -hello there -false false -true true -false false -false false -uninitialized bytes: array[0, 0, 0] -bytes from display: array[7, 8, 9] -bytes from lambda: array[20, 21, 22] -uninitialized 1bytes: array[1, 1, 1] -1bytes from display: array[7, 8, 9] -1bytes from lambda: array[20, 21, 22] -17 19 18 20 -100 200 300 120 38 -hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -DDDDDabcdeabcdeggggg -DDDDDabcdeabcdeggggg -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] -DDDDDDDDDDagggggaggg -0 69 50 -0 69 50 -D k n -false false -true true -false false -false false -true true - -Dafny program verifier did not attempt verification -0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 -17 -[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] -[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] -[20, 21, 22] -[0, 1, 2, 3, 4, 5, 6, 7] -[0, 1, 2, 3, 4, 5, 6, 7] -d d d -h e l l o -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -1 0 0 0 0 -0 1 0 0 0 -0 0 1 0 0 -cube dims: 3 0 4 -[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] -It's null -hi hello tjena hej hola -hi hello tjena hej hola -hi hello tjena hej hola -d d d -h e l l o -8 8 8 8 -true true true -1 1 1 1 1 -2 2 2 2 2 -3 3 3 3 3 -4 4 4 4 4 -(d, 8, true, 1, 2, 3, 4) -D D D -0 0 0 0 -false false false -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -(D, 0, false, 0, 0, 0, 0) -8 0 -false 0 null null -8 8 -8 8 -8 8 -8 8 -D D D -D D D -D D D -D D r (D, D, r) -D D r -[19, 18, 9, 8] - true - false - true - false - false - false - true - true - false - true - false - true - true - false -hello there -false false -true true -false false -false false -uninitialized bytes: array[0, 0, 0] -bytes from display: array[7, 8, 9] -bytes from lambda: array[20, 21, 22] -uninitialized 1bytes: array[1, 1, 1] -1bytes from display: array[7, 8, 9] -1bytes from lambda: array[20, 21, 22] -17 19 18 20 -100 200 300 120 38 -hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -DDDDDabcdeabcdeggggg -DDDDDabcdeabcdeggggg -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] -[D, D, D, D, D, D, D, D, D, D, a, g, g, g, g, g, a, g, g, g] -0 69 50 -0 69 50 -D k n -false false -true true -false false -false false -true true - -Dafny program verifier did not attempt verification -0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 -17 -[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] -[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] -[20, 21, 22] -[0, 1, 2, 3, 4, 5, 6, 7] -[0, 1, 2, 3, 4, 5, 6, 7] -d d d -h e l l o -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -1 0 0 0 0 -0 1 0 0 0 -0 0 1 0 0 -cube dims: 3 0 4 -[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] -It's null -hi hello tjena hej hola -hi hello tjena hej hola -hi hello tjena hej hola -d d d -h e l l o -8 8 8 8 -true true true -1 1 1 1 1 -2 2 2 2 2 -3 3 3 3 3 -4 4 4 4 4 -(d, 8, true, 1, 2, 3, 4) -D D D -0 0 0 0 -false false false -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -(D, 0, false, 0, 0, 0, 0) -8 0 -false 0 null null -8 8 -8 8 -8 8 -8 8 -D D D -D D D -D D D -D D r (D, D, r) -D D r -[19, 18, 9, 8] - true - false - true - false - false - false - true - true - false - true - false - true - true - false -hello there -false false -true true -false false -false false -uninitialized bytes: array[0, 0, 0] -bytes from display: array[7, 8, 9] -bytes from lambda: array[20, 21, 22] -uninitialized 1bytes: array[1, 1, 1] -1bytes from display: array[7, 8, 9] -1bytes from lambda: array[20, 21, 22] -17 19 18 20 -100 200 300 120 38 -hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -DDDDDabcdeabcdeggggg -DDDDDabcdeabcdeggggg -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] -DDDDDDDDDDagggggaggg -0 69 50 -0 69 50 -D k n -false false -true true -false false -false false -true true - -Dafny program verifier did not attempt verification 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/comp/Arrays.dfy.go.expect b/Test/comp/Arrays.dfy.go.expect new file mode 100644 index 00000000000..1217623d90c --- /dev/null +++ b/Test/comp/Arrays.dfy.go.expect @@ -0,0 +1,96 @@ +0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 +17 +[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] +[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] +[20, 21, 22] +[0, 1, 2, 3, 4, 5, 6, 7] +[0, 1, 2, 3, 4, 5, 6, 7] +d d d +h e l l o +0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 +1 0 0 0 0 +0 1 0 0 0 +0 0 1 0 0 +cube dims: 3 0 4 +[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] +It's null +hi hello tjena hej hola +hi hello tjena hej hola +hi hello tjena hej hola +d d d +h e l l o +8 8 8 8 +true true true +1 1 1 1 1 +2 2 2 2 2 +3 3 3 3 3 +4 4 4 4 4 +(d, 8, true, 1, 2, 3, 4) +D D D +0 0 0 0 +false false false +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +(D, 0, false, 0, 0, 0, 0) +8 0 +false 0 null null +8 8 +8 8 +8 8 +8 8 +D D D +D D D +D D D +D D r (D, D, r) +D D r +[19, 18, 9, 8] + true + false + true + false + false + false + true + true + false + true + false + true + true + false +hello there +false false +true true +false false +false false +uninitialized bytes: array[0, 0, 0] +bytes from display: array[7, 8, 9] +bytes from lambda: array[20, 21, 22] +uninitialized 1bytes: array[1, 1, 1] +1bytes from display: array[7, 8, 9] +1bytes from lambda: array[20, 21, 22] +17 19 18 20 +100 200 300 120 38 +hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +DDDDDabcdeabcdeggggg +DDDDDabcdeabcdeggggg +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] +[D, D, D, D, D, D, D, D, D, D, a, g, g, g, g, g, a, g, g, g] +0 69 50 +0 69 50 +D k n +false false +true true +false false +false false +true true diff --git a/Test/comp/AsIs-Compile.dfy b/Test/comp/AsIs-Compile.dfy index 47084ed7633..319847564e2 100644 --- a/Test/comp/AsIs-Compile.dfy +++ b/Test/comp/AsIs-Compile.dfy @@ -1,10 +1,4 @@ -// RUN: %baredafny verify %args "%s" > "%t" -// RUN: %baredafny run --no-verify -t=cs %args "%s" >> "%t" -// RUN: %baredafny run --no-verify -t=js %args "%s" >> "%t" -// RUN: %baredafny run --no-verify -t=go %args "%s" >> "%t" -// RUN: %baredafny run --no-verify -t=java %args "%s" >> "%t" -// RUN: %baredafny run --no-verify -t=py %args "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" method Main() { var a: A, b: B, c: C, k: K, l: L := new M, new M, new M, new K, new L; diff --git a/Test/comp/AsIs-Compile.dfy.expect b/Test/comp/AsIs-Compile.dfy.expect index 36dfe46e91d..acc78c6e155 100644 --- a/Test/comp/AsIs-Compile.dfy.expect +++ b/Test/comp/AsIs-Compile.dfy.expect @@ -1,163 +1,3 @@ - -Dafny program verifier finished with 6 verified, 0 errors - -Dafny program verifier did not attempt verification -true true true true true -true true true true true -IsComparisons ---- -false true false false - true false false - true false -false false true false - false true false - false false -false false false true - false false true - false true -false true false false - false true false - false false -true true -false true -TestNullIs ---- -true true -true true -true true true true true true -true true true true true true -true true true true true true -true true true true true true -true true -false true -true true true true true true -false true false true false true -true true true true true true -false true false true false true -TestFromTraits ---- -5 -0 -4 -4 -4 -4 - -Dafny program verifier did not attempt verification -true true true true true -true true true true true -IsComparisons ---- -false true false false - true false false - true false -false false true false - false true false - false false -false false false true - false false true - false true -false true false false - false true false - false false -true true -false true -TestNullIs ---- -true true -true true -true true true true true true -true true true true true true -true true true true true true -true true true true true true -true true -false true -true true true true true true -false true false true false true -true true true true true true -false true false true false true -TestFromTraits ---- -5 -0 -4 -4 -4 -4 - -Dafny program verifier did not attempt verification -true true true true true -true true true true true -IsComparisons ---- -false true false false - true false false - true false -false false true false - false true false - false false -false false false true - false false true - false true -false true false false - false true false - false false -true true -false true -TestNullIs ---- -true true -true true -true true true true true true -true true true true true true -true true true true true true -true true true true true true -true true -false true -true true true true true true -false true false true false true -true true true true true true -false true false true false true -TestFromTraits ---- -5 -0 -4 -4 -4 -4 - -Dafny program verifier did not attempt verification -true true true true true -true true true true true -IsComparisons ---- -false true false false - true false false - true false -false false true false - false true false - false false -false false false true - false false true - false true -false true false false - false true false - false false -true true -false true -TestNullIs ---- -true true -true true -true true true true true true -true true true true true true -true true true true true true -true true true true true true -true true -false true -true true true true true true -false true false true false true -true true true true true true -false true false true false true -TestFromTraits ---- -5 -0 -4 -4 -4 -4 - -Dafny program verifier did not attempt verification true true true true true true true true true true IsComparisons ---- diff --git a/Test/comp/AutoInit.dfy b/Test/comp/AutoInit.dfy index b284619a80c..c0e752efa36 100644 --- a/Test/comp/AutoInit.dfy +++ b/Test/comp/AutoInit.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This file tests the compilation of some default values. It also includes some // regression tests for equality, printing, and tuples. diff --git a/Test/comp/AutoInit.dfy.expect b/Test/comp/AutoInit.dfy.expect index 51533cc6d5e..e68e2e43764 100644 --- a/Test/comp/AutoInit.dfy.expect +++ b/Test/comp/AutoInit.dfy.expect @@ -1,163 +1,3 @@ - -Dafny program verifier finished with 21 verified, 0 errors - -Dafny program verifier did not attempt verification -3 false 0 -false false true -() (0, false, false, []) -(null, 0) (null, 0) true -(null, null, null, 0) (null, null, null, 0) true -true false false true -true false false true -17 -1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or -(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) -1 -ww == null -- yes, as expected -true true true true -true true true -true true true -null null -null null -null null null -null null null -null null null -null null null -null null -null null null -null null null -DatatypeDefaultValues.EnumDatatype.MakeZero - DatatypeDefaultValues.IntList.Nil - 0 -DatatypeDefaultValues.GenericTree.Leaf - DatatypeDefaultValues.Complicated.ComplA(0, false) - DatatypeDefaultValues.CellCell.MakeCellCell(0) -null - null -Library.Color.Red(0) and Library.Color.Red(0) -Library.CoColor.Yellow and Library.CoColor.Yellow -Library.MoColor.MoYellow and Library.MoColor.MoYellow -0.0 and 0.0 -13 - -Dafny program verifier did not attempt verification -3 false 0 -false false true -() (0, false, false, []) -(null, 0) (null, 0) true -(null, null, null, 0) (null, null, null, 0) true -true false false true -true false false true -17 -1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or -(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) -1 -ww == null -- yes, as expected -true true true true -true true true -true true true -null null -null null -null null null -null null null -null null null -null null null -null null -null null null -null null null -DatatypeDefaultValues.EnumDatatype.MakeZero - DatatypeDefaultValues.IntList.Nil - 0 -DatatypeDefaultValues.GenericTree.Leaf - DatatypeDefaultValues.Complicated.ComplA(0, false) - DatatypeDefaultValues.CellCell.MakeCellCell(0) -null - null -Library.Color.Red(0) and Library.Color.Red(0) -Library.CoColor.Yellow and Library.CoColor.Yellow -Library.MoColor.MoYellow and Library.MoColor.MoYellow -0.0 and 0.0 -13 - -Dafny program verifier did not attempt verification -3 false 0 -false false true -() (0, false, false, []) -(null, 0) (null, 0) true -(null, null, null, 0) (null, null, null, 0) true -true false false true -true false false true -17 -1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or -(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) -1 -ww == null -- yes, as expected -true true true true -true true true -true true true -null null -null null -null null null -null null null -null null null -null null null -null null -null null null -null null null -DatatypeDefaultValues.EnumDatatype.MakeZero - DatatypeDefaultValues.IntList.Nil - 0 -DatatypeDefaultValues.GenericTree.Leaf - DatatypeDefaultValues.Complicated.ComplA(0, false) - DatatypeDefaultValues.CellCell.MakeCellCell(0) -null - null -Library.Color.Red(0) and Library.Color.Red(0) -Library.CoColor.Yellow and Library.CoColor.Yellow -Library.MoColor.MoYellow and Library.MoColor.MoYellow -0.0 and 0.0 -13 - -Dafny program verifier did not attempt verification -3 false 0 -false false true -() (0, false, false, []) -(null, 0) (null, 0) true -(null, null, null, 0) (null, null, null, 0) true -true false false true -true false false true -17 -1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or -(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) -1 -ww == null -- yes, as expected -true true true true -true true true -true true true -null null -null null -null null null -null null null -null null null -null null null -null null -null null null -null null null -DatatypeDefaultValues.EnumDatatype.MakeZero - DatatypeDefaultValues.IntList.Nil - 0 -DatatypeDefaultValues.GenericTree.Leaf - DatatypeDefaultValues.Complicated.ComplA(0, false) - DatatypeDefaultValues.CellCell.MakeCellCell(0) -null - null -Library.Color.Red(0) and Library.Color.Red(0) -Library.CoColor.Yellow and Library.CoColor.Yellow -Library.MoColor.MoYellow and Library.MoColor.MoYellow -0.0 and 0.0 -13 - -Dafny program verifier did not attempt verification 3 false 0 false false true () (0, false, false, []) diff --git a/Test/comp/ByMethodCompilation.dfy b/Test/comp/ByMethodCompilation.dfy index ea62d84b21e..7432f72f7d4 100644 --- a/Test/comp/ByMethodCompilation.dfy +++ b/Test/comp/ByMethodCompilation.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method Main() { var four := Four(); diff --git a/Test/comp/ByMethodCompilation.dfy.expect b/Test/comp/ByMethodCompilation.dfy.expect index 1519a955b0c..d61780e3fb8 100644 --- a/Test/comp/ByMethodCompilation.dfy.expect +++ b/Test/comp/ByMethodCompilation.dfy.expect @@ -1,35 +1,3 @@ - -Dafny program verifier finished with 13 verified, 0 errors - -Dafny program verifier did not attempt verification -hello -four is 4 -Recursive(7) = 14 -NonCompilableFunction: 4 7 -Sums: 14 3 - -Dafny program verifier did not attempt verification -hello -four is 4 -Recursive(7) = 14 -NonCompilableFunction: 4 7 -Sums: 14 3 - -Dafny program verifier did not attempt verification -hello -four is 4 -Recursive(7) = 14 -NonCompilableFunction: 4 7 -Sums: 14 3 - -Dafny program verifier did not attempt verification -hello -four is 4 -Recursive(7) = 14 -NonCompilableFunction: 4 7 -Sums: 14 3 - -Dafny program verifier did not attempt verification hello four is 4 Recursive(7) = 14 diff --git a/Test/comp/Calls.dfy b/Test/comp/Calls.dfy index 4a4916aea0c..c56bc3e5286 100644 --- a/Test/comp/Calls.dfy +++ b/Test/comp/Calls.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function F(x: int, y: bool): int { x + if y then 2 else 3 diff --git a/Test/comp/Calls.dfy.expect b/Test/comp/Calls.dfy.expect index 3317b8be164..cf4e1bc155b 100644 --- a/Test/comp/Calls.dfy.expect +++ b/Test/comp/Calls.dfy.expect @@ -1,43 +1,3 @@ - -Dafny program verifier finished with 6 verified, 0 errors - -Dafny program verifier did not attempt verification -5 0 0 false 0 false 0 -5 3 5 3 5 3 -5 3 5 3 5 3 -15 -[0, 1, 2, 4] -[0, 2, 4] ---> 5 <-- - -Dafny program verifier did not attempt verification -5 0 0 false 0 false 0 -5 3 5 3 5 3 -5 3 5 3 5 3 -15 -[0, 1, 2, 4] -[0, 2, 4] ---> 5 <-- - -Dafny program verifier did not attempt verification -5 0 0 false 0 false 0 -5 3 5 3 5 3 -5 3 5 3 5 3 -15 -[0, 1, 2, 4] -[0, 2, 4] ---> 5 <-- - -Dafny program verifier did not attempt verification -5 0 0 false 0 false 0 -5 3 5 3 5 3 -5 3 5 3 5 3 -15 -[0, 1, 2, 4] -[0, 2, 4] ---> 5 <-- - -Dafny program verifier did not attempt verification 5 0 0 false 0 false 0 5 3 5 3 5 3 5 3 5 3 5 3 diff --git a/Test/comp/Class.dfy b/Test/comp/Class.dfy index fb994f008e7..23591e43450 100644 --- a/Test/comp/Class.dfy +++ b/Test/comp/Class.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation class MyClass { var a: int diff --git a/Test/comp/Class.dfy.expect b/Test/comp/Class.dfy.expect index ba1482a164b..47e49966664 100644 --- a/Test/comp/Class.dfy.expect +++ b/Test/comp/Class.dfy.expect @@ -1,75 +1,3 @@ - -Dafny program verifier finished with 16 verified, 0 errors - -Dafny program verifier did not attempt verification -true true false -103 103 103 106 106 106 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -0 18 9 70 -0 18 9 70 -0 18 9 70 -70 -hi later -21 4 42 5 1 -TestGhostables -15 -Init called with x=15 -16 - -Dafny program verifier did not attempt verification -true true false -103 103 103 106 106 106 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -0 18 9 70 -0 18 9 70 -0 18 9 70 -70 -hi later -21 4 42 5 1 -TestGhostables -15 -Init called with x=15 -16 - -Dafny program verifier did not attempt verification -true true false -103 103 103 106 106 106 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -0 18 9 70 -0 18 9 70 -0 18 9 70 -70 -hi later -21 4 42 5 1 -TestGhostables -15 -Init called with x=15 -16 - -Dafny program verifier did not attempt verification -true true false -103 103 103 106 106 106 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -0 18 9 70 -0 18 9 70 -0 18 9 70 -70 -hi later -21 4 42 5 1 -TestGhostables -15 -Init called with x=15 -16 - -Dafny program verifier did not attempt verification true true false 103 103 103 106 106 106 203 17 0 18 8 9 69 70 diff --git a/Test/comp/Collections.dfy b/Test/comp/Collections.dfy index 104eb9f90ac..9457e44b170 100644 --- a/Test/comp/Collections.dfy +++ b/Test/comp/Collections.dfy @@ -1,10 +1,5 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false method Main() { Sets(); diff --git a/Test/comp/Collections.dfy.expect b/Test/comp/Collections.dfy.expect index 2361c1a88db..e705d887a7d 100644 --- a/Test/comp/Collections.dfy.expect +++ b/Test/comp/Collections.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 40 verified, 0 errors - -Dafny program verifier did not attempt verification Sets: {} {17, 82} {12, 17} cardinality: 0 2 2 union: {17, 82} {12, 17, 82} @@ -127,511 +123,3 @@ Multiset=== 1 3 |s|=2 |u|=4 1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Yellow := 21, Color.Blue := 30] -keys: {Color.Yellow, Color.Blue} -values: {21, 30} -items: {(Color.Yellow, 21), (Color.Blue, 30)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {21, 30} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/comp/Collections.dfy.go.expect b/Test/comp/Collections.dfy.go.expect new file mode 100644 index 00000000000..309d0c550c4 --- /dev/null +++ b/Test/comp/Collections.dfy.go.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/comp/Collections.dfy.java.expect b/Test/comp/Collections.dfy.java.expect new file mode 100644 index 00000000000..ed929a4d34c --- /dev/null +++ b/Test/comp/Collections.dfy.java.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Yellow := 21, Color.Blue := 30] +keys: {Color.Yellow, Color.Blue} +values: {21, 30} +items: {(Color.Yellow, 21), (Color.Blue, 30)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/comp/Collections.dfy.js.expect b/Test/comp/Collections.dfy.js.expect new file mode 100644 index 00000000000..309d0c550c4 --- /dev/null +++ b/Test/comp/Collections.dfy.js.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/comp/Collections.dfy.py.expect b/Test/comp/Collections.dfy.py.expect new file mode 100644 index 00000000000..61b4217bbaf --- /dev/null +++ b/Test/comp/Collections.dfy.py.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {21, 30} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/comp/Comprehensions.dfy b/Test/comp/Comprehensions.dfy index 29ac368f2c3..73c43b22bfa 100644 --- a/Test/comp/Comprehensions.dfy +++ b/Test/comp/Comprehensions.dfy @@ -1,10 +1,5 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false method Main() { AssignSuchThat(); diff --git a/Test/comp/Comprehensions.dfy.expect b/Test/comp/Comprehensions.dfy.expect index 18159ddde0a..c9703fc9397 100644 --- a/Test/comp/Comprehensions.dfy.expect +++ b/Test/comp/Comprehensions.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 32 verified, 0 errors - -Dafny program verifier did not attempt verification x=13 y=14 x=13 y=14 b=yes true false @@ -64,259 +60,3 @@ true true [137438953474, 137438953475, 137438953476, 137438953477, 137438953479] cdefh cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[14 := 7, 12 := 6, 13 := 6] -map[18 := 14, 17 := 13, 16 := 12] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh diff --git a/Test/comp/Comprehensions.dfy.py.expect b/Test/comp/Comprehensions.dfy.py.expect new file mode 100644 index 00000000000..aeaa31fc0f3 --- /dev/null +++ b/Test/comp/Comprehensions.dfy.py.expect @@ -0,0 +1,62 @@ +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[14 := 7, 12 := 6, 13 := 6] +map[18 := 14, 17 := 13, 16 := 12] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh diff --git a/Test/comp/ComprehensionsNewSyntax.dfy b/Test/comp/ComprehensionsNewSyntax.dfy index a324b622e8a..6cd88aeb4f7 100644 --- a/Test/comp/ComprehensionsNewSyntax.dfy +++ b/Test/comp/ComprehensionsNewSyntax.dfy @@ -1,10 +1,5 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method Main() { Quantifier(); diff --git a/Test/comp/ComprehensionsNewSyntax.dfy.expect b/Test/comp/ComprehensionsNewSyntax.dfy.expect index 408769f4b67..b70314ff87b 100644 --- a/Test/comp/ComprehensionsNewSyntax.dfy.expect +++ b/Test/comp/ComprehensionsNewSyntax.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 10 verified, 0 errors - -Dafny program verifier did not attempt verification true false true false map[12 := 6, 13 := 6, 14 := 7] @@ -36,147 +32,3 @@ false false false false true true true true false false false false true true true true - -Dafny program verifier did not attempt verification -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true - -Dafny program verifier did not attempt verification -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true - -Dafny program verifier did not attempt verification -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true - -Dafny program verifier did not attempt verification -true false -true false -map[14 := 7, 12 := 6, 13 := 6] -map[18 := 14, 17 := 13, 16 := 12] -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true diff --git a/Test/comp/ComprehensionsNewSyntax.dfy.py.expect b/Test/comp/ComprehensionsNewSyntax.dfy.py.expect new file mode 100644 index 00000000000..b19cef0ba0e --- /dev/null +++ b/Test/comp/ComprehensionsNewSyntax.dfy.py.expect @@ -0,0 +1,34 @@ +true false +true false +map[14 := 7, 12 := 6, 13 := 6] +map[18 := 14, 17 := 13, 16 := 12] +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true diff --git a/Test/comp/CovariantCollections.dfy b/Test/comp/CovariantCollections.dfy index 12301df3b09..6dd73ee7fea 100644 --- a/Test/comp/CovariantCollections.dfy +++ b/Test/comp/CovariantCollections.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method Main() { Sequences(); diff --git a/Test/comp/CovariantCollections.dfy.expect b/Test/comp/CovariantCollections.dfy.expect index e029d3abc3b..a9d00f4a65d 100644 --- a/Test/comp/CovariantCollections.dfy.expect +++ b/Test/comp/CovariantCollections.dfy.expect @@ -1,223 +1,3 @@ - -Dafny program verifier finished with 25 verified, 0 errors - -Dafny program verifier did not attempt verification -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17] [12, 17] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - comprehension: {82} - union: {17, 82} {12, 17, 82} - intersection: {} {17} - difference: {} {82} - subset: true false true - proper subset: true false false - membership: false true true -Multisets: {} {17, 17, 82, 82} {12, 17} - cardinality: 0 4 2 - update: {17, 17, 42, 42, 42} {12, 17, 42} - multiplicity: 2 0 20 - union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} - intersection: {} {17, 82, 82} - difference: {} {17, 82, 82} - subset: true false true - proper subset: true false false - membership: false true true -Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} - cardinality: 0 3 2 - update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} - comprehension: {17 := 12, 82 := 12} - Keys: {12, 17, 82} - Values: {17, 82} - eq: false true true - eq: true true true true true true - eq: true true true true true true - eq: true false true false true false - eq: true false true false true false - eq: true true true true true true - eq: true true true true true true -set: {20, 30} -multiset: {20, 30} -seq: [20, 30] -map: {20 := 30, 30 := 20} -true -true -1 1 -1 1 - -Dafny program verifier did not attempt verification -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17] [12, 17] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - comprehension: {82} - union: {17, 82} {12, 17, 82} - intersection: {} {17} - difference: {} {82} - subset: true false true - proper subset: true false false - membership: false true true -Multisets: {} {17, 17, 82, 82} {12, 17} - cardinality: 0 4 2 - update: {17, 17, 42, 42, 42} {12, 17, 42} - multiplicity: 2 0 20 - union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} - intersection: {} {17, 82, 82} - difference: {} {17, 82, 82} - subset: true false true - proper subset: true false false - membership: false true true -Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} - cardinality: 0 3 2 - update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} - comprehension: {17 := 12, 82 := 12} - Keys: {12, 17, 82} - Values: {17, 82} - eq: false true true - eq: true true true true true true - eq: true true true true true true - eq: true false true false true false - eq: true false true false true false - eq: true true true true true true - eq: true true true true true true -set: {20, 30} -multiset: {20, 30} -seq: [20, 30] -map: {20 := 30, 30 := 20} -true -true -1 1 -1 1 - -Dafny program verifier did not attempt verification -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17] [12, 17] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - comprehension: {82} - union: {17, 82} {12, 17, 82} - intersection: {} {17} - difference: {} {82} - subset: true false true - proper subset: true false false - membership: false true true -Multisets: {} {17, 17, 82, 82} {12, 17} - cardinality: 0 4 2 - update: {17, 17, 42, 42, 42} {12, 17, 42} - multiplicity: 2 0 20 - union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} - intersection: {} {17, 82, 82} - difference: {} {17, 82, 82} - subset: true false true - proper subset: true false false - membership: false true true -Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} - cardinality: 0 3 2 - update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} - comprehension: {17 := 12, 82 := 12} - Keys: {12, 17, 82} - Values: {17, 82} - eq: false true true - eq: true true true true true true - eq: true true true true true true - eq: true false true false true false - eq: true false true false true false - eq: true true true true true true - eq: true true true true true true -set: {20, 30} -multiset: {20, 30} -seq: [20, 30] -map: {20 := 30, 30 := 20} -true -true -1 1 -1 1 - -Dafny program verifier did not attempt verification -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17] [12, 17] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - comprehension: {82} - union: {17, 82} {12, 17, 82} - intersection: {} {17} - difference: {} {82} - subset: true false true - proper subset: true false false - membership: false true true -Multisets: {} {17, 17, 82, 82} {12, 17} - cardinality: 0 4 2 - update: {17, 17, 42, 42, 42} {12, 17, 42} - multiplicity: 2 0 20 - union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} - intersection: {} {17, 82, 82} - difference: {} {17, 82, 82} - subset: true false true - proper subset: true false false - membership: false true true -Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} - cardinality: 0 3 2 - update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} - comprehension: {17 := 12, 82 := 12} - Keys: {12, 17, 82} - Values: {17, 82} - eq: false true true - eq: true true true true true true - eq: true true true true true true - eq: true false true false true false - eq: true false true false true false - eq: true true true true true true - eq: true true true true true true -set: {20, 30} -multiset: {20, 30} -seq: [20, 30] -map: {20 := 30, 30 := 20} -true -true -1 1 -1 1 - -Dafny program verifier did not attempt verification Sequences: [] [17, 82, 17, 82] [12, 17] cardinality: 0 4 2 update: [42, 82, 17, 82] [42, 17] diff --git a/Test/comp/Datatype.dfy b/Test/comp/Datatype.dfy index 2599907a94c..44579383e5c 100644 --- a/Test/comp/Datatype.dfy +++ b/Test/comp/Datatype.dfy @@ -1,10 +1,5 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation datatype List = Nil | Cons(head: int, tail: List) diff --git a/Test/comp/Datatype.dfy.expect b/Test/comp/Datatype.dfy.expect index 84dceeb16e6..93e37a9562a 100644 --- a/Test/comp/Datatype.dfy.expect +++ b/Test/comp/Datatype.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 12 verified, 0 errors - -Dafny program verifier did not attempt verification List.Nil List.Cons(5, List.Nil) (List.Nil, List.Cons(5, List.Nil)) @@ -24,99 +20,3 @@ Record.Record(58, true) 199 800 801 802 800 801 802 - -Dafny program verifier did not attempt verification -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) -0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) -Stream.Next -Stream.Next -{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} -CoBerry.Hjortron true true false -false -42 'q' hello -1701 -Record.Record(58, true) -199 -800 801 802 -800 801 802 - -Dafny program verifier did not attempt verification -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) -0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) -Stream.Next -Stream.Next -{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} -CoBerry.Hjortron true true false -false -42 'q' hello -1701 -Record.Record(58, true) -199 -800 801 802 -800 801 802 - -Dafny program verifier did not attempt verification -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) -0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) -Stream.Next -Stream.Next -{Berry.Jordgubb, Berry.Smultron, Berry.Hallon} -CoBerry.Hjortron true true false -false -42 'q' hello -1701 -Record.Record(58, true) -199 -800 801 802 -800 801 802 - -Dafny program verifier did not attempt verification -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) -0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) -Stream.Next -Stream.Next -{Berry.Hallon, Berry.Smultron, Berry.Jordgubb} -CoBerry.Hjortron true true false -false -42 'q' hello -1701 -Record.Record(58, true) -199 -800 801 802 -800 801 802 diff --git a/Test/comp/Datatype.dfy.java.expect b/Test/comp/Datatype.dfy.java.expect new file mode 100644 index 00000000000..e5a32fd58bc --- /dev/null +++ b/Test/comp/Datatype.dfy.java.expect @@ -0,0 +1,22 @@ +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) +0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) +Stream.Next +Stream.Next +{Berry.Jordgubb, Berry.Smultron, Berry.Hallon} +CoBerry.Hjortron true true false +false +42 'q' hello +1701 +Record.Record(58, true) +199 +800 801 802 +800 801 802 diff --git a/Test/comp/Datatype.dfy.py.expect b/Test/comp/Datatype.dfy.py.expect new file mode 100644 index 00000000000..0f64b73ba2d --- /dev/null +++ b/Test/comp/Datatype.dfy.py.expect @@ -0,0 +1,22 @@ +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) +0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) +Stream.Next +Stream.Next +{Berry.Hallon, Berry.Smultron, Berry.Jordgubb} +CoBerry.Hjortron true true false +false +42 'q' hello +1701 +Record.Record(58, true) +199 +800 801 802 +800 801 802 diff --git a/Test/comp/DefaultParameters-Compile.dfy b/Test/comp/DefaultParameters-Compile.dfy index 145b8670647..cd6ba1163b1 100644 --- a/Test/comp/DefaultParameters-Compile.dfy +++ b/Test/comp/DefaultParameters-Compile.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method M(x: int := 16) { print x, "\n"; diff --git a/Test/comp/DefaultParameters-Compile.dfy.expect b/Test/comp/DefaultParameters-Compile.dfy.expect index b94739d5be1..b4b87321eb5 100644 --- a/Test/comp/DefaultParameters-Compile.dfy.expect +++ b/Test/comp/DefaultParameters-Compile.dfy.expect @@ -1,51 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification -12 -16 -1 2 -1 3 -10 20 -11 13 -Color.Blue(2, 1) Color.Red(3, 4) -5 5 6 -6 6 7 - -Dafny program verifier did not attempt verification -12 -16 -1 2 -1 3 -10 20 -11 13 -Color.Blue(2, 1) Color.Red(3, 4) -5 5 6 -6 6 7 - -Dafny program verifier did not attempt verification -12 -16 -1 2 -1 3 -10 20 -11 13 -Color.Blue(2, 1) Color.Red(3, 4) -5 5 6 -6 6 7 - -Dafny program verifier did not attempt verification -12 -16 -1 2 -1 3 -10 20 -11 13 -Color.Blue(2, 1) Color.Red(3, 4) -5 5 6 -6 6 7 - -Dafny program verifier did not attempt verification 12 16 1 2 diff --git a/Test/comp/DowncastClone.dfy b/Test/comp/DowncastClone.dfy index b90066da781..cb1f095b3f4 100644 --- a/Test/comp/DowncastClone.dfy +++ b/Test/comp/DowncastClone.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Co<+T> = Co(T) | C datatype ReCo<+T> = ReCo(T) diff --git a/Test/comp/DowncastClone.dfy.expect b/Test/comp/DowncastClone.dfy.expect index 982b36b396c..b0613294f3c 100644 --- a/Test/comp/DowncastClone.dfy.expect +++ b/Test/comp/DowncastClone.dfy.expect @@ -1,43 +1,3 @@ - -Dafny program verifier finished with 7 verified, 0 errors - -Dafny program verifier did not attempt verification -Co.Co(_module.Y) and Co.Co(_module.Y) -_module.Y and _module.Y -_module.Y _module.Y -false and false -false and false -_module.Y and _module.Y -Done - -Dafny program verifier did not attempt verification -Co.Co(_module.Y) and Co.Co(_module.Y) -_module.Y and _module.Y -_module.Y _module.Y -false and false -false and false -_module.Y and _module.Y -Done - -Dafny program verifier did not attempt verification -Co.Co(_module.Y) and Co.Co(_module.Y) -_module.Y and _module.Y -_module.Y _module.Y -false and false -false and false -_module.Y and _module.Y -Done - -Dafny program verifier did not attempt verification -Co.Co(_module.Y) and Co.Co(_module.Y) -_module.Y and _module.Y -_module.Y _module.Y -false and false -false and false -_module.Y and _module.Y -Done - -Dafny program verifier did not attempt verification Co.Co(_module.Y) and Co.Co(_module.Y) _module.Y and _module.Y _module.Y _module.Y diff --git a/Test/comp/ErasableTypeWrappers.dfy b/Test/comp/ErasableTypeWrappers.dfy index d62d3736622..a280099699f 100644 --- a/Test/comp/ErasableTypeWrappers.dfy +++ b/Test/comp/ErasableTypeWrappers.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false datatype SingletonRecord = SingletonRecord(u: int) datatype GhostOrNot = ghost Ghost(a: int, b: int) | Compiled(x: int) diff --git a/Test/comp/ErasableTypeWrappers.dfy.expect b/Test/comp/ErasableTypeWrappers.dfy.expect index 5013d9fc327..2a82d776c64 100644 --- a/Test/comp/ErasableTypeWrappers.dfy.expect +++ b/Test/comp/ErasableTypeWrappers.dfy.expect @@ -1,87 +1,3 @@ - -Dafny program verifier finished with 10 verified, 0 errors - -Dafny program verifier did not attempt verification -62 63 (2, 5) (2, 5) 3 -62 63 5 5 3 -5 5 3 -1062 1063 1005 1005 1003 -true true true -20 20 *20 21 20 -20 20 *20 21 20 -true false -true false true false -true false -0 (0, 0) 0 Color.Pink -13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false - 3.14 2.7 -18.0 18.0 3.0 false -18.0 4.0 true -HasConst.MakeC(4) (4, 4) -4 (4, 4) -OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.AnotherIntsWrapper(OptimizationChecks.Ints.Ints(5, 7)) - -Dafny program verifier did not attempt verification -62 63 (2, 5) (2, 5) 3 -62 63 5 5 3 -5 5 3 -1062 1063 1005 1005 1003 -true true true -20 20 *20 21 20 -20 20 *20 21 20 -true false -true false true false -true false -0 (0, 0) 0 Color.Pink -13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false - 3.14 2.7 -18.0 18.0 3.0 false -18.0 4.0 true -HasConst.MakeC(4) (4, 4) -4 (4, 4) -OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.AnotherIntsWrapper(OptimizationChecks.Ints.Ints(5, 7)) - -Dafny program verifier did not attempt verification -62 63 (2, 5) (2, 5) 3 -62 63 5 5 3 -5 5 3 -1062 1063 1005 1005 1003 -true true true -20 20 *20 21 20 -20 20 *20 21 20 -true false -true false true false -true false -0 (0, 0) 0 Color.Pink -13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false - 3.14 2.7 -18.0 18.0 3.0 false -18.0 4.0 true -HasConst.MakeC(4) (4, 4) -4 (4, 4) -OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.AnotherIntsWrapper(OptimizationChecks.Ints.Ints(5, 7)) - -Dafny program verifier did not attempt verification -62 63 (2, 5) (2, 5) 3 -62 63 5 5 3 -5 5 3 -1062 1063 1005 1005 1003 -true true true -20 20 *20 21 20 -20 20 *20 21 20 -true false -true false true false -true false -0 (0, 0) 0 Color.Pink -13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false - 3.14 2.7 -18.0 18.0 3.0 false -18.0 4.0 true -HasConst.MakeC(4) (4, 4) -4 (4, 4) -OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.AnotherIntsWrapper(OptimizationChecks.Ints.Ints(5, 7)) - -Dafny program verifier did not attempt verification 62 63 (2, 5) (2, 5) 3 62 63 5 5 3 5 5 3 diff --git a/Test/comp/EuclideanDivision.dfy b/Test/comp/EuclideanDivision.dfy index 7ae1803cad8..1286dcd125b 100644 --- a/Test/comp/EuclideanDivision.dfy +++ b/Test/comp/EuclideanDivision.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Some runtimes (like the one for C#) have three implementations // of Euclidean div/mod: one for `int`, one for `long`, and one diff --git a/Test/comp/EuclideanDivision.dfy.expect b/Test/comp/EuclideanDivision.dfy.expect index b538c9494de..e2585ff8c70 100644 --- a/Test/comp/EuclideanDivision.dfy.expect +++ b/Test/comp/EuclideanDivision.dfy.expect @@ -1,39 +1,3 @@ - -Dafny program verifier finished with 11 verified, 0 errors - -Dafny program verifier did not attempt verification -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 - -Dafny program verifier did not attempt verification -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 - -Dafny program verifier did not attempt verification -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 - -Dafny program verifier did not attempt verification -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 - -Dafny program verifier did not attempt verification 2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 diff --git a/Test/comp/ForLoops-Compilation.dfy b/Test/comp/ForLoops-Compilation.dfy index 97101b82961..b468d21f69f 100644 --- a/Test/comp/ForLoops-Compilation.dfy +++ b/Test/comp/ForLoops-Compilation.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method Main() { TestM(0, 0); diff --git a/Test/comp/ForLoops-Compilation.dfy.expect b/Test/comp/ForLoops-Compilation.dfy.expect index d67a5429fed..97724a714bc 100644 --- a/Test/comp/ForLoops-Compilation.dfy.expect +++ b/Test/comp/ForLoops-Compilation.dfy.expect @@ -1,203 +1,3 @@ - -Dafny program verifier finished with 23 verified, 0 errors - -Dafny program verifier did not attempt verification -0 0 0 0 --2 -2 -2 -2 -0 0 0 0 -145 145 145 145 -0 0 -0 0 -57 57 -0 0 -32385 32385 -0 0 --128 -128 -126 126 -0 0 -0 * 2 == 0 -2 * 0 == 0 -1 * 1 == 1 -6 * 5 == 30 -0 + 3 == 3 -3 + 0 == 3 -4 + 0 == 4 -0 + 0 == 0 -19 + 14 == 33 -4 4 4 -== BC10 == -0 --++--++---- *** -1 --++--++----++-- -2 --++--++----++--++--++--++--++--++--++ *** -3 --++--++----++--++--++--++--++--++--++ *** -4 --++--++----++--++--++--++--++--++--++ *** -5 --++--++----++--++--++--++--++--++--++ *** -6 --++--++----++--++--++--++--++--++--++ *** -7 --++--++----++--++--++--++--++--++--++ *** -8 --++--++----++--++--++--++--++--++--++ *** -9 --++--++----++--++--++--++--++--++--++ *** -== BC11 == -0 ||--++----++-- *** -1 ||--++----++--++-- -2 ||--++----++--++--++--++--++--++--++--++ *** -3 ||--++----++--++--++--++--++--++--++--++ *** -4 ||--++----++--++--++--++--++--++--++--++ *** -5 ||--++----++--++--++--++--++--++--++--++ *** -6 ||--++----++--++--++--++--++--++--++--++ *** -7 ||--++----++--++--++--++--++--++--++--++ *** -8 ||--++----++--++--++--++--++--++--++--++ *** -9 ||--++----++--++--++--++--++--++--++--++ *** -true true true 15 -all good - -Dafny program verifier did not attempt verification -0 0 0 0 --2 -2 -2 -2 -0 0 0 0 -145 145 145 145 -0 0 -0 0 -57 57 -0 0 -32385 32385 -0 0 --128 -128 -126 126 -0 0 -0 * 2 == 0 -2 * 0 == 0 -1 * 1 == 1 -6 * 5 == 30 -0 + 3 == 3 -3 + 0 == 3 -4 + 0 == 4 -0 + 0 == 0 -19 + 14 == 33 -4 4 4 -== BC10 == -0 --++--++---- *** -1 --++--++----++-- -2 --++--++----++--++--++--++--++--++--++ *** -3 --++--++----++--++--++--++--++--++--++ *** -4 --++--++----++--++--++--++--++--++--++ *** -5 --++--++----++--++--++--++--++--++--++ *** -6 --++--++----++--++--++--++--++--++--++ *** -7 --++--++----++--++--++--++--++--++--++ *** -8 --++--++----++--++--++--++--++--++--++ *** -9 --++--++----++--++--++--++--++--++--++ *** -== BC11 == -0 ||--++----++-- *** -1 ||--++----++--++-- -2 ||--++----++--++--++--++--++--++--++--++ *** -3 ||--++----++--++--++--++--++--++--++--++ *** -4 ||--++----++--++--++--++--++--++--++--++ *** -5 ||--++----++--++--++--++--++--++--++--++ *** -6 ||--++----++--++--++--++--++--++--++--++ *** -7 ||--++----++--++--++--++--++--++--++--++ *** -8 ||--++----++--++--++--++--++--++--++--++ *** -9 ||--++----++--++--++--++--++--++--++--++ *** -true true true 15 -all good - -Dafny program verifier did not attempt verification -0 0 0 0 --2 -2 -2 -2 -0 0 0 0 -145 145 145 145 -0 0 -0 0 -57 57 -0 0 -32385 32385 -0 0 --128 -128 -126 126 -0 0 -0 * 2 == 0 -2 * 0 == 0 -1 * 1 == 1 -6 * 5 == 30 -0 + 3 == 3 -3 + 0 == 3 -4 + 0 == 4 -0 + 0 == 0 -19 + 14 == 33 -4 4 4 -== BC10 == -0 --++--++---- *** -1 --++--++----++-- -2 --++--++----++--++--++--++--++--++--++ *** -3 --++--++----++--++--++--++--++--++--++ *** -4 --++--++----++--++--++--++--++--++--++ *** -5 --++--++----++--++--++--++--++--++--++ *** -6 --++--++----++--++--++--++--++--++--++ *** -7 --++--++----++--++--++--++--++--++--++ *** -8 --++--++----++--++--++--++--++--++--++ *** -9 --++--++----++--++--++--++--++--++--++ *** -== BC11 == -0 ||--++----++-- *** -1 ||--++----++--++-- -2 ||--++----++--++--++--++--++--++--++--++ *** -3 ||--++----++--++--++--++--++--++--++--++ *** -4 ||--++----++--++--++--++--++--++--++--++ *** -5 ||--++----++--++--++--++--++--++--++--++ *** -6 ||--++----++--++--++--++--++--++--++--++ *** -7 ||--++----++--++--++--++--++--++--++--++ *** -8 ||--++----++--++--++--++--++--++--++--++ *** -9 ||--++----++--++--++--++--++--++--++--++ *** -true true true 15 -all good - -Dafny program verifier did not attempt verification -0 0 0 0 --2 -2 -2 -2 -0 0 0 0 -145 145 145 145 -0 0 -0 0 -57 57 -0 0 -32385 32385 -0 0 --128 -128 -126 126 -0 0 -0 * 2 == 0 -2 * 0 == 0 -1 * 1 == 1 -6 * 5 == 30 -0 + 3 == 3 -3 + 0 == 3 -4 + 0 == 4 -0 + 0 == 0 -19 + 14 == 33 -4 4 4 -== BC10 == -0 --++--++---- *** -1 --++--++----++-- -2 --++--++----++--++--++--++--++--++--++ *** -3 --++--++----++--++--++--++--++--++--++ *** -4 --++--++----++--++--++--++--++--++--++ *** -5 --++--++----++--++--++--++--++--++--++ *** -6 --++--++----++--++--++--++--++--++--++ *** -7 --++--++----++--++--++--++--++--++--++ *** -8 --++--++----++--++--++--++--++--++--++ *** -9 --++--++----++--++--++--++--++--++--++ *** -== BC11 == -0 ||--++----++-- *** -1 ||--++----++--++-- -2 ||--++----++--++--++--++--++--++--++--++ *** -3 ||--++----++--++--++--++--++--++--++--++ *** -4 ||--++----++--++--++--++--++--++--++--++ *** -5 ||--++----++--++--++--++--++--++--++--++ *** -6 ||--++----++--++--++--++--++--++--++--++ *** -7 ||--++----++--++--++--++--++--++--++--++ *** -8 ||--++----++--++--++--++--++--++--++--++ *** -9 ||--++----++--++--++--++--++--++--++--++ *** -true true true 15 -all good - -Dafny program verifier did not attempt verification 0 0 0 0 -2 -2 -2 -2 0 0 0 0 diff --git a/Test/comp/ForallNewSyntax.dfy b/Test/comp/ForallNewSyntax.dfy index c17bf86830e..85e609b37b3 100644 --- a/Test/comp/ForallNewSyntax.dfy +++ b/Test/comp/ForallNewSyntax.dfy @@ -1,10 +1,4 @@ -// RUN: %baredafny verify %args --relax-definite-assignment --function-syntax:3 --quantifier-syntax:4 "%s" > "%t" -// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:cs "%s" >> "%t" -// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:js "%s" >> "%t" -// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:go "%s" >> "%t" -// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:java "%s" >> "%t" -// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --function-syntax:3 --quantifier-syntax:4 --relax-definite-assignment method Main() { var arrayTests := new ArrayTests(); diff --git a/Test/comp/ForallNewSyntax.dfy.expect b/Test/comp/ForallNewSyntax.dfy.expect index 241ea9ea521..5b33d939607 100644 --- a/Test/comp/ForallNewSyntax.dfy.expect +++ b/Test/comp/ForallNewSyntax.dfy.expect @@ -1,183 +1,3 @@ - -Dafny program verifier finished with 25 verified, 0 errors - -Dafny program verifier did not attempt verification -Arrays: Basic cases -[0, 1, 2, 3, 4] -[0, 1, 2, 3, 4] -[0, 1, 4, 3, 8] - -Arrays: Wrong index -[0, 0, 1, 2, 3] -[0, 0, 1, 2, 3] -[1, 2, 3, 4, 5] - -Arrays: Sequence conversion -[2, 1, 4, 5, 6] -[0, 3, 3, 3, 4] - -Arrays: Index collection -[1, 1, 2, 3, 4] -[1, 1, 2, 3, 4] - -Arrays: Functions -[1, 1, 3, 4, 5] -[1, 1, 3, 4, 5] -[1, 2, 3, 3, 5] -[1, 2, 3, 4, 5] - -Multi-dimensional arrays -[[0, 2, 4], [1, 3, 5], [2, 4, 6]] -[[0, 1, 2], [2, 3, 4], [4, 5, 6]] - -Objects: Basic cases -[(0, 1.0), (0, 2.0), (0, 3.0)] -[(2, 1.0), (2, 2.0), (4, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] - -Objects: Bad field accesses -[(2, 1.0), (3, 2.0), (4, 3.0)] -[(2, 1.0), (2, 2.0), (2, 3.0)] -[(2, 1.0), (3, 2.0), (1, 3.0)] - -Objects: Functions -[(2, 1.0), (4, 2.0), (6, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] -[(3, 1.0), (4, 2.0), (5, 3.0)] - -Dafny program verifier did not attempt verification -Arrays: Basic cases -[0, 1, 2, 3, 4] -[0, 1, 2, 3, 4] -[0, 1, 4, 3, 8] - -Arrays: Wrong index -[0, 0, 1, 2, 3] -[0, 0, 1, 2, 3] -[1, 2, 3, 4, 5] - -Arrays: Sequence conversion -[2, 1, 4, 5, 6] -[0, 3, 3, 3, 4] - -Arrays: Index collection -[1, 1, 2, 3, 4] -[1, 1, 2, 3, 4] - -Arrays: Functions -[1, 1, 3, 4, 5] -[1, 1, 3, 4, 5] -[1, 2, 3, 3, 5] -[1, 2, 3, 4, 5] - -Multi-dimensional arrays -[[0, 2, 4], [1, 3, 5], [2, 4, 6]] -[[0, 1, 2], [2, 3, 4], [4, 5, 6]] - -Objects: Basic cases -[(0, 1.0), (0, 2.0), (0, 3.0)] -[(2, 1.0), (2, 2.0), (4, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] - -Objects: Bad field accesses -[(2, 1.0), (3, 2.0), (4, 3.0)] -[(2, 1.0), (2, 2.0), (2, 3.0)] -[(2, 1.0), (3, 2.0), (1, 3.0)] - -Objects: Functions -[(2, 1.0), (4, 2.0), (6, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] -[(3, 1.0), (4, 2.0), (5, 3.0)] - -Dafny program verifier did not attempt verification -Arrays: Basic cases -[0, 1, 2, 3, 4] -[0, 1, 2, 3, 4] -[0, 1, 4, 3, 8] - -Arrays: Wrong index -[0, 0, 1, 2, 3] -[0, 0, 1, 2, 3] -[1, 2, 3, 4, 5] - -Arrays: Sequence conversion -[2, 1, 4, 5, 6] -[0, 3, 3, 3, 4] - -Arrays: Index collection -[1, 1, 2, 3, 4] -[1, 1, 2, 3, 4] - -Arrays: Functions -[1, 1, 3, 4, 5] -[1, 1, 3, 4, 5] -[1, 2, 3, 3, 5] -[1, 2, 3, 4, 5] - -Multi-dimensional arrays -[[0, 2, 4], [1, 3, 5], [2, 4, 6]] -[[0, 1, 2], [2, 3, 4], [4, 5, 6]] - -Objects: Basic cases -[(0, 1.0), (0, 2.0), (0, 3.0)] -[(2, 1.0), (2, 2.0), (4, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] - -Objects: Bad field accesses -[(2, 1.0), (3, 2.0), (4, 3.0)] -[(2, 1.0), (2, 2.0), (2, 3.0)] -[(2, 1.0), (3, 2.0), (1, 3.0)] - -Objects: Functions -[(2, 1.0), (4, 2.0), (6, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] -[(3, 1.0), (4, 2.0), (5, 3.0)] - -Dafny program verifier did not attempt verification -Arrays: Basic cases -[0, 1, 2, 3, 4] -[0, 1, 2, 3, 4] -[0, 1, 4, 3, 8] - -Arrays: Wrong index -[0, 0, 1, 2, 3] -[0, 0, 1, 2, 3] -[1, 2, 3, 4, 5] - -Arrays: Sequence conversion -[2, 1, 4, 5, 6] -[0, 3, 3, 3, 4] - -Arrays: Index collection -[1, 1, 2, 3, 4] -[1, 1, 2, 3, 4] - -Arrays: Functions -[1, 1, 3, 4, 5] -[1, 1, 3, 4, 5] -[1, 2, 3, 3, 5] -[1, 2, 3, 4, 5] - -Multi-dimensional arrays -[[0, 2, 4], [1, 3, 5], [2, 4, 6]] -[[0, 1, 2], [2, 3, 4], [4, 5, 6]] - -Objects: Basic cases -[(0, 1.0), (0, 2.0), (0, 3.0)] -[(2, 1.0), (2, 2.0), (4, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] - -Objects: Bad field accesses -[(2, 1.0), (3, 2.0), (4, 3.0)] -[(2, 1.0), (2, 2.0), (2, 3.0)] -[(2, 1.0), (3, 2.0), (1, 3.0)] - -Objects: Functions -[(2, 1.0), (4, 2.0), (6, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] -[(3, 1.0), (4, 2.0), (5, 3.0)] - -Dafny program verifier did not attempt verification Arrays: Basic cases [0, 1, 2, 3, 4] [0, 1, 2, 3, 4] diff --git a/Test/comp/Ghosts.dfy b/Test/comp/Ghosts.dfy index 506fe0facb1..8afe8a36d3f 100644 --- a/Test/comp/Ghosts.dfy +++ b/Test/comp/Ghosts.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method M1() returns (x: int) { diff --git a/Test/comp/Ghosts.dfy.expect b/Test/comp/Ghosts.dfy.expect index 430a9c18fc0..d075ea048c1 100644 --- a/Test/comp/Ghosts.dfy.expect +++ b/Test/comp/Ghosts.dfy.expect @@ -1,55 +1,3 @@ - -Dafny program verifier finished with 8 verified, 0 errors - -Dafny program verifier did not attempt verification -hello, M2 -hello, M2 -hello, M3 -hello, M1 -hello, M1 -hello, M1 -hello, M2 -hello, M3 -hello, N0 -hello, N1 - -Dafny program verifier did not attempt verification -hello, M2 -hello, M2 -hello, M3 -hello, M1 -hello, M1 -hello, M1 -hello, M2 -hello, M3 -hello, N0 -hello, N1 - -Dafny program verifier did not attempt verification -hello, M2 -hello, M2 -hello, M3 -hello, M1 -hello, M1 -hello, M1 -hello, M2 -hello, M3 -hello, N0 -hello, N1 - -Dafny program verifier did not attempt verification -hello, M2 -hello, M2 -hello, M3 -hello, M1 -hello, M1 -hello, M1 -hello, M2 -hello, M3 -hello, N0 -hello, N1 - -Dafny program verifier did not attempt verification hello, M2 hello, M2 hello, M3 diff --git a/Test/comp/Let.dfy b/Test/comp/Let.dfy index 64dce8b90e6..2a639009c78 100644 --- a/Test/comp/Let.dfy +++ b/Test/comp/Let.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cs "%s" > "%t" -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method M() returns (x: int) { x := var y := 50; y; // non-top-level let diff --git a/Test/comp/Let.dfy.expect b/Test/comp/Let.dfy.expect index 667abc32458..f05dfc414c1 100644 --- a/Test/comp/Let.dfy.expect +++ b/Test/comp/Let.dfy.expect @@ -1,37 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors -50 58 -Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) -5 7 9 10 12 30 -5 7 -5 7 -12.0 15.0 15.0 15.0 - -Dafny program verifier finished with 5 verified, 0 errors -50 58 -Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) -5 7 9 10 12 30 -5 7 -5 7 -12.0 15.0 15.0 15.0 - -Dafny program verifier finished with 5 verified, 0 errors -50 58 -Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) -5 7 9 10 12 30 -5 7 -5 7 -12.0 15.0 15.0 15.0 - -Dafny program verifier finished with 5 verified, 0 errors -50 58 -Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) -5 7 9 10 12 30 -5 7 -5 7 -12.0 15.0 15.0 15.0 - -Dafny program verifier finished with 5 verified, 0 errors 50 58 Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) 5 7 9 10 12 30 diff --git a/Test/comp/MoreAutoInit.dfy b/Test/comp/MoreAutoInit.dfy index 46bdf7148f1..c72083f1be5 100644 --- a/Test/comp/MoreAutoInit.dfy +++ b/Test/comp/MoreAutoInit.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { Methods.TestStart(); diff --git a/Test/comp/MoreAutoInit.dfy.expect b/Test/comp/MoreAutoInit.dfy.expect index e707d9ea27a..a077ee0daa9 100644 --- a/Test/comp/MoreAutoInit.dfy.expect +++ b/Test/comp/MoreAutoInit.dfy.expect @@ -1,575 +1,3 @@ - -Dafny program verifier finished with 38 verified, 0 errors - -Dafny program verifier did not attempt verification -Methods.Uni.Uni - ++ Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -{} - ++ {} -[] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -Functions.Uni.Uni - ++ Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -{2} - ++ {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni -[] ++ [] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] - ** [] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] - ** [] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] - ++ [Consts.Uni.Uni] ++ [] - ** [] ++ [] ++ [] -15 -0-0 0.0-0.0 false-false 'D'-'D' 0 -0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 -0-0 0-0 0-0 0-0 1 1 -0.0-0.0 68.0 -null-null null-null null-null null-null -0 -0:0:0 -0-0 -{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] -DefaultValuedExpressions.Color.Red-DefaultValuedExpressions.Color.Red DefaultValuedExpressions.PossibleCell.Nothing-DefaultValuedExpressions.PossibleCell.Nothing DefaultValuedExpressions.Cell.LittleCell(0)-DefaultValuedExpressions.Cell.LittleCell(0) -()-() (0, 0.0)-(0, 0.0) -(DefaultValuedExpressions.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions.Color.Red, (0, 0.0), ()) -null-null null-null -0-0 0-0 0-0 3 4 5 -0-0 11 0-0 8 - -Dafny program verifier did not attempt verification -Methods.Uni.Uni - ++ Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -{} - ++ {} -[] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -Functions.Uni.Uni - ++ Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -{2} - ++ {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni -[] ++ [] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] - ** [] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] - ** [] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] - ++ [Consts.Uni.Uni] ++ [] - ** [] ++ [] ++ [] -15 -0-0 0.0-0.0 false-false 'D'-'D' 0 -0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 -0-0 0-0 0-0 0-0 1 1 -0.0-0.0 68.0 -null-null null-null null-null null-null -0 -0:0:0 -0-0 -{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] -DefaultValuedExpressions.Color.Red-DefaultValuedExpressions.Color.Red DefaultValuedExpressions.PossibleCell.Nothing-DefaultValuedExpressions.PossibleCell.Nothing DefaultValuedExpressions.Cell.LittleCell(0)-DefaultValuedExpressions.Cell.LittleCell(0) -()-() (0, 0.0)-(0, 0.0) -(DefaultValuedExpressions.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions.Color.Red, (0, 0.0), ()) -null-null null-null -0-0 0-0 0-0 3 4 5 -0-0 11 0-0 8 - -Dafny program verifier did not attempt verification -Methods.Uni.Uni - ++ Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -{} - ++ {} -[] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -Functions.Uni.Uni - ++ Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -{2} - ++ {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni -[] ++ [] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] - ** [] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] - ** [] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] - ++ [Consts.Uni.Uni] ++ [] - ** [] ++ [] ++ [] -15 -0-0 0.0-0.0 false-false 'D'-'D' 0 -0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 -0-0 0-0 0-0 0-0 1 1 -0.0-0.0 68.0 -null-null null-null null-null null-null -0 -0:0:0 -0-0 -{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] -DefaultValuedExpressions.Color.Red-DefaultValuedExpressions.Color.Red DefaultValuedExpressions.PossibleCell.Nothing-DefaultValuedExpressions.PossibleCell.Nothing DefaultValuedExpressions.Cell.LittleCell(0)-DefaultValuedExpressions.Cell.LittleCell(0) -()-() (0, 0.0)-(0, 0.0) -(DefaultValuedExpressions.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions.Color.Red, (0, 0.0), ()) -null-null null-null -0-0 0-0 0-0 3 4 5 -0-0 11 0-0 8 - -Dafny program verifier did not attempt verification -Methods.Uni.Uni - ++ Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -{} - ++ {} -[] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -Functions.Uni.Uni - ++ Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -{2} - ++ {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni -[] ++ [] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] - ** [] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] - ** [] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] - ++ [Consts.Uni.Uni] ++ [] - ** [] ++ [] ++ [] -15 -0-0 0.0-0.0 false-false 'D'-'D' 0 -0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 -0-0 0-0 0-0 0-0 1 1 -0.0-0.0 68.0 -null-null null-null null-null null-null -0 -0:0:0 -0-0 -{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] -DefaultValuedExpressions.Color.Red-DefaultValuedExpressions.Color.Red DefaultValuedExpressions.PossibleCell.Nothing-DefaultValuedExpressions.PossibleCell.Nothing DefaultValuedExpressions.Cell.LittleCell(0)-DefaultValuedExpressions.Cell.LittleCell(0) -()-() (0, 0.0)-(0, 0.0) -(DefaultValuedExpressions.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions.Color.Red, (0, 0.0), ()) -null-null null-null -0-0 0-0 0-0 3 4 5 -0-0 11 0-0 8 - -Dafny program verifier did not attempt verification Methods.Uni.Uni ++ Methods.Uni.Uni Methods.Uni.Uni Methods.Uni.Uni diff --git a/Test/comp/NativeNumbers.dfy b/Test/comp/NativeNumbers.dfy index c63d02cf643..e1fadb1c406 100644 --- a/Test/comp/NativeNumbers.dfy +++ b/Test/comp/NativeNumbers.dfy @@ -1,11 +1,6 @@ +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false // Skip JavaScript because JavaScript doesn't have the same native types -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" method Main() { CastTests(); diff --git a/Test/comp/NativeNumbers.dfy.expect b/Test/comp/NativeNumbers.dfy.expect index 2be030252cf..6a9d263fc73 100644 --- a/Test/comp/NativeNumbers.dfy.expect +++ b/Test/comp/NativeNumbers.dfy.expect @@ -1,259 +1,3 @@ - -Dafny program verifier finished with 25 verified, 0 errors - -Dafny program verifier did not attempt verification -Casting: - -Small numbers: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 -5 5 5 5 5 5 5 5 5 -6 6 6 6 6 6 6 6 6 -7 7 7 7 7 7 7 7 7 -8 8 8 8 8 8 8 8 8 - -Large unsigned numbers: -255 255 255 255 255 255 255 255 -65535 65535 65535 65535 65535 65535 -4294967295 4294967295 4294967295 4294967295 -18446744073709551615 18446744073709551615 - -Int to large unsigned: -255 65535 4294967295 18446744073709551615 - -Cast from cardinality operator: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 - -Characters: -C 67 67 67 67 67 67 67 67 67 -0 127 32767 65535 65535 255 65535 65535 65535 - -Defaults: - -0 0 0 0 0 0 0 0 0 - -Byte arithmetic: - -20 30 -10 10 18 - -Short arithmetic: - -20 30 -10 10 18 - -Bitvectors: - -0 3 4 1 - -Comparison to zero: - -int8: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int16: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int32: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int64: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint8: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint16: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint32: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint64: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N - - -Dafny program verifier did not attempt verification -Casting: - -Small numbers: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 -5 5 5 5 5 5 5 5 5 -6 6 6 6 6 6 6 6 6 -7 7 7 7 7 7 7 7 7 -8 8 8 8 8 8 8 8 8 - -Large unsigned numbers: -255 255 255 255 255 255 255 255 -65535 65535 65535 65535 65535 65535 -4294967295 4294967295 4294967295 4294967295 -18446744073709551615 18446744073709551615 - -Int to large unsigned: -255 65535 4294967295 18446744073709551615 - -Cast from cardinality operator: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 - -Characters: -C 67 67 67 67 67 67 67 67 67 -0 127 32767 65535 65535 255 65535 65535 65535 - -Defaults: - -0 0 0 0 0 0 0 0 0 - -Byte arithmetic: - -20 30 -10 10 18 - -Short arithmetic: - -20 30 -10 10 18 - -Bitvectors: - -0 3 4 1 - -Comparison to zero: - -int8: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int16: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int32: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int64: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint8: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint16: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint32: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint64: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N - - -Dafny program verifier did not attempt verification -Casting: - -Small numbers: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 -5 5 5 5 5 5 5 5 5 -6 6 6 6 6 6 6 6 6 -7 7 7 7 7 7 7 7 7 -8 8 8 8 8 8 8 8 8 - -Large unsigned numbers: -255 255 255 255 255 255 255 255 -65535 65535 65535 65535 65535 65535 -4294967295 4294967295 4294967295 4294967295 -18446744073709551615 18446744073709551615 - -Int to large unsigned: -255 65535 4294967295 18446744073709551615 - -Cast from cardinality operator: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 - -Characters: -C 67 67 67 67 67 67 67 67 67 -0 127 32767 65535 65535 255 65535 65535 65535 - -Defaults: - -0 0 0 0 0 0 0 0 0 - -Byte arithmetic: - -20 30 -10 10 18 - -Short arithmetic: - -20 30 -10 10 18 - -Bitvectors: - -0 3 4 1 - -Comparison to zero: - -int8: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int16: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int32: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int64: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint8: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint16: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint32: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint64: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N - - -Dafny program verifier did not attempt verification Casting: Small numbers: diff --git a/Test/comp/NestedArrays.dfy b/Test/comp/NestedArrays.dfy index 0c2b313a32c..39d256f4936 100644 --- a/Test/comp/NestedArrays.dfy +++ b/Test/comp/NestedArrays.dfy @@ -1,9 +1,4 @@ -// RUN: %baredafny verify --relax-definite-assignment %args "%s" > "%t" -// RUN: %baredafny run --no-verify --target=cs %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=js %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=go %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=py %args "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /* Note, compiling to arrays in Java is difficult. In fact, this is currently * broken, see https://github.com/dafny-lang/dafny/issues/3055. Until this gets diff --git a/Test/comp/NestedArrays.dfy.expect b/Test/comp/NestedArrays.dfy.expect index a24d140b9d4..aa47d0d46d4 100644 --- a/Test/comp/NestedArrays.dfy.expect +++ b/Test/comp/NestedArrays.dfy.expect @@ -1,18 +1,2 @@ - -Dafny program verifier finished with 4 verified, 0 errors - -Dafny program verifier did not attempt verification -0 -0 - -Dafny program verifier did not attempt verification -0 -0 - -Dafny program verifier did not attempt verification -0 -0 - -Dafny program verifier did not attempt verification 0 0 diff --git a/Test/comp/Numbers.dfy b/Test/comp/Numbers.dfy index 36bf24dcdb4..c76bc87fdc0 100644 --- a/Test/comp/Numbers.dfy +++ b/Test/comp/Numbers.dfy @@ -1,10 +1,5 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false method Main() { Literals(); diff --git a/Test/comp/Numbers.dfy.expect b/Test/comp/Numbers.dfy.expect index 8d994e1c7c6..7eacf4e709d 100644 --- a/Test/comp/Numbers.dfy.expect +++ b/Test/comp/Numbers.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 59 verified, 0 errors - -Dafny program verifier did not attempt verification 0 0 3 @@ -113,455 +109,3 @@ true false true false false true false true true false true false 20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -g Q 2 -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -(312.0 / 40.0) (1248.0 / 40.0) -(-312.0 / 40.0) (-1248.0 / 40.0) -(-312.0 / 40.0) (1248.0 / 40.0) -(312.0 / 40.0) (-1248.0 / 40.0) -0.0 0.0 0.0 -120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) -123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 (8100.0 / 8100.0) -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -g Q 2 -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -g Q 2 -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -(312.0 / 40.0) (1248.0 / 40.0) -(-312.0 / 40.0) (-1248.0 / 40.0) -(-312.0 / 40.0) (1248.0 / 40.0) -(312.0 / 40.0) (-1248.0 / 40.0) -0.0 0.0 0.0 -120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) -123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 (8100.0 / 8100.0) -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -g Q 2 -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 diff --git a/Test/comp/Numbers.dfy.go.expect b/Test/comp/Numbers.dfy.go.expect new file mode 100644 index 00000000000..ce109553619 --- /dev/null +++ b/Test/comp/Numbers.dfy.go.expect @@ -0,0 +1,111 @@ +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +g Q 2 +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 diff --git a/Test/comp/Numbers.dfy.py.expect b/Test/comp/Numbers.dfy.py.expect new file mode 100644 index 00000000000..ce109553619 --- /dev/null +++ b/Test/comp/Numbers.dfy.py.expect @@ -0,0 +1,111 @@ +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +g Q 2 +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 diff --git a/Test/comp/Poly.dfy b/Test/comp/Poly.dfy index f3c3aa58599..5af5e8134e9 100644 --- a/Test/comp/Poly.dfy +++ b/Test/comp/Poly.dfy @@ -1,10 +1,5 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation trait Shape { function Center(): (real, real) reads this diff --git a/Test/comp/Poly.dfy.expect b/Test/comp/Poly.dfy.expect index 4ffff82d5ab..7dc24821586 100644 --- a/Test/comp/Poly.dfy.expect +++ b/Test/comp/Poly.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 15 verified, 0 errors - -Dafny program verifier did not attempt verification Center of square: ((1.0 / 2.0), (1.0 / 2.0)) Center of circle: (1.0, 1.0) Center: ((1.0 / 2.0), (1.0 / 2.0)) @@ -14,59 +10,3 @@ Center: ((1.0 / 2.0), (1.0 / 2.0)) Center: (1.0, 1.0) Center: ((1.0 / 2.0), (1.0 / 2.0)) Center: (1.0, 1.0) - -Dafny program verifier did not attempt verification -Center of square: ((1.0 / 2.0), (1.0 / 2.0)) -Center of circle: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) - -Dafny program verifier did not attempt verification -Center of square: ((1.0 / 2.0), (1.0 / 2.0)) -Center of circle: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) - -Dafny program verifier did not attempt verification -Center of square: (0.5, 0.5) -Center of circle: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) - -Dafny program verifier did not attempt verification -Center of square: (0.5, 0.5) -Center of circle: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) diff --git a/Test/comp/Poly.dfy.go.expect b/Test/comp/Poly.dfy.go.expect new file mode 100644 index 00000000000..88e09c5e6ff --- /dev/null +++ b/Test/comp/Poly.dfy.go.expect @@ -0,0 +1,12 @@ +Center of square: (0.5, 0.5) +Center of circle: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) diff --git a/Test/comp/Poly.dfy.py.expect b/Test/comp/Poly.dfy.py.expect new file mode 100644 index 00000000000..88e09c5e6ff --- /dev/null +++ b/Test/comp/Poly.dfy.py.expect @@ -0,0 +1,12 @@ +Center of square: (0.5, 0.5) +Center of circle: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) diff --git a/Test/comp/StaticMembersOfGenericTypes.dfy b/Test/comp/StaticMembersOfGenericTypes.dfy index 8c402dab951..8a8614d21a5 100644 --- a/Test/comp/StaticMembersOfGenericTypes.dfy +++ b/Test/comp/StaticMembersOfGenericTypes.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { GenericClass(); diff --git a/Test/comp/StaticMembersOfGenericTypes.dfy.expect b/Test/comp/StaticMembersOfGenericTypes.dfy.expect index 54e32b42ee5..196f1295e12 100644 --- a/Test/comp/StaticMembersOfGenericTypes.dfy.expect +++ b/Test/comp/StaticMembersOfGenericTypes.dfy.expect @@ -1,79 +1,3 @@ - -Dafny program verifier finished with 9 verified, 0 errors - -Dafny program verifier did not attempt verification -(0, 1) (true, 2, 3) -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -(2.0, true) (3.0, false) -(2.0, true) (3.0, false) -true false -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -50 3 4 -149 - -Dafny program verifier did not attempt verification -(0, 1) (true, 2, 3) -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -(2.0, true) (3.0, false) -(2.0, true) (3.0, false) -true false -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -50 3 4 -149 - -Dafny program verifier did not attempt verification -(0, 1) (true, 2, 3) -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -(2.0, true) (3.0, false) -(2.0, true) (3.0, false) -true false -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -50 3 4 -149 - -Dafny program verifier did not attempt verification -(0, 1) (true, 2, 3) -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -(2.0, true) (3.0, false) -(2.0, true) (3.0, false) -true false -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -50 3 4 -149 - -Dafny program verifier did not attempt verification (0, 1) (true, 2, 3) 0 25 (20, 21) (20, 21) 23 22 0 25 (20, 21) (20, 21) 23 22 diff --git a/Test/comp/TailRecursion.dfy b/Test/comp/TailRecursion.dfy index 68ba6ee4669..b3631d5eccc 100644 --- a/Test/comp/TailRecursion.dfy +++ b/Test/comp/TailRecursion.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { // In the following, 2_000_000 is too large an argument without tail-calls diff --git a/Test/comp/TailRecursion.dfy.expect b/Test/comp/TailRecursion.dfy.expect index 23c852a41fe..4b9da7e5093 100644 --- a/Test/comp/TailRecursion.dfy.expect +++ b/Test/comp/TailRecursion.dfy.expect @@ -1,79 +1,3 @@ - -Dafny program verifier finished with 28 verified, 0 errors - -Dafny program verifier did not attempt verification -2000000 2000000 -2000000 2000000 -1000000 1000000 -10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 -TriangleNumber(10) = 55 -TriangleNumber_Real(10) = 55.0 -TriangleNumber_ORDINAL(10) = 55 -Factorial(5) = 120 -Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] -UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] -Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 -TheBigSubtract(100) = -12 -TailNat(10) = 50 -17 17 17 -2000000 - -Dafny program verifier did not attempt verification -2000000 2000000 -2000000 2000000 -1000000 1000000 -10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 -TriangleNumber(10) = 55 -TriangleNumber_Real(10) = 55.0 -TriangleNumber_ORDINAL(10) = 55 -Factorial(5) = 120 -Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] -UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] -Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 -TheBigSubtract(100) = -12 -TailNat(10) = 50 -17 17 17 -2000000 - -Dafny program verifier did not attempt verification -2000000 2000000 -2000000 2000000 -1000000 1000000 -10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 -TriangleNumber(10) = 55 -TriangleNumber_Real(10) = 55.0 -TriangleNumber_ORDINAL(10) = 55 -Factorial(5) = 120 -Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] -UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] -Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 -TheBigSubtract(100) = -12 -TailNat(10) = 50 -17 17 17 -2000000 - -Dafny program verifier did not attempt verification -2000000 2000000 -2000000 2000000 -1000000 1000000 -10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 -TriangleNumber(10) = 55 -TriangleNumber_Real(10) = 55.0 -TriangleNumber_ORDINAL(10) = 55 -Factorial(5) = 120 -Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] -UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] -Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 -TheBigSubtract(100) = -12 -TailNat(10) = 50 -17 17 17 -2000000 - -Dafny program verifier did not attempt verification 2000000 2000000 2000000 2000000 1000000 1000000 diff --git a/Test/comp/TypeDescriptors.dfy b/Test/comp/TypeDescriptors.dfy index 636cb3db583..5bedbb900e4 100644 --- a/Test/comp/TypeDescriptors.dfy +++ b/Test/comp/TypeDescriptors.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Method(s: string, g: G) { var zero: G; diff --git a/Test/comp/TypeDescriptors.dfy.expect b/Test/comp/TypeDescriptors.dfy.expect index 9b1e8487bdc..1b09338c83d 100644 --- a/Test/comp/TypeDescriptors.dfy.expect +++ b/Test/comp/TypeDescriptors.dfy.expect @@ -1,155 +1,3 @@ - -Dafny program verifier finished with 11 verified, 0 errors - -Dafny program verifier did not attempt verification -int: 8 0 -bool: true false -char: 'r' 'D' -real: 1.618 0.0 -ORDINAL: 0 -bv0: 0 0 -bv21: 121 0 -bv32: 132 0 -bv191: 191 0 -set: {7} {} -multiset: multiset{7, 7} multiset{} -seq: [7] [] -map: map[2 := 7] map[] -pos: 3 1 -Hundred: 6 0 -HundredOdd: 13 19 -JustOdd: 131 5 -(): () () -(int, real): (2, 3.2) (0, 0.0) -(int, pos): (2, 3) (0, 1) -AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) -Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) -Stream: Stream.More -A=int: 15 0 -B=int: 16 0 -datatype.B=: {14} {} -object?: null -Class?>: null -Trait?>: null -array?: null -array2?: null -int --> bool: null -array? ~> bool: null - -Dafny program verifier did not attempt verification -int: 8 0 -bool: true false -char: 'r' 'D' -real: 1.618 0.0 -ORDINAL: 0 -bv0: 0 0 -bv21: 121 0 -bv32: 132 0 -bv191: 191 0 -set: {7} {} -multiset: multiset{7, 7} multiset{} -seq: [7] [] -map: map[2 := 7] map[] -pos: 3 1 -Hundred: 6 0 -HundredOdd: 13 19 -JustOdd: 131 5 -(): () () -(int, real): (2, 3.2) (0, 0.0) -(int, pos): (2, 3) (0, 1) -AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) -Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) -Stream: Stream.More -A=int: 15 0 -B=int: 16 0 -datatype.B=: {14} {} -object?: null -Class?>: null -Trait?>: null -array?: null -array2?: null -int --> bool: null -array? ~> bool: null - -Dafny program verifier did not attempt verification -int: 8 0 -bool: true false -char: 'r' 'D' -real: 1.618 0.0 -ORDINAL: 0 -bv0: 0 0 -bv21: 121 0 -bv32: 132 0 -bv191: 191 0 -set: {7} {} -multiset: multiset{7, 7} multiset{} -seq: [7] [] -map: map[2 := 7] map[] -pos: 3 1 -Hundred: 6 0 -HundredOdd: 13 19 -JustOdd: 131 5 -(): () () -(int, real): (2, 3.2) (0, 0.0) -(int, pos): (2, 3) (0, 1) -AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) -Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) -Stream: Stream.More -A=int: 15 0 -B=int: 16 0 -datatype.B=: {14} {} -object?: null -Class?>: null -Trait?>: null -array?: null -array2?: null -int --> bool: null -array? ~> bool: null - -Dafny program verifier did not attempt verification -int: 8 0 -bool: true false -char: 'r' 'D' -real: 1.618 0.0 -ORDINAL: 0 -bv0: 0 0 -bv21: 121 0 -bv32: 132 0 -bv191: 191 0 -set: {7} {} -multiset: multiset{7, 7} multiset{} -seq: [7] [] -map: map[2 := 7] map[] -pos: 3 1 -Hundred: 6 0 -HundredOdd: 13 19 -JustOdd: 131 5 -(): () () -(int, real): (2, 3.2) (0, 0.0) -(int, pos): (2, 3) (0, 1) -AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) -Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) -Stream: Stream.More -A=int: 15 0 -B=int: 16 0 -datatype.B=: {14} {} -object?: null -Class?>: null -Trait?>: null -array?: null -array2?: null -int --> bool: null -array? ~> bool: null - -Dafny program verifier did not attempt verification int: 8 0 bool: true false char: 'r' 'D' diff --git a/Test/comp/TypeParams.dfy b/Test/comp/TypeParams.dfy index 11d1b3bac6a..c595881e028 100644 --- a/Test/comp/TypeParams.dfy +++ b/Test/comp/TypeParams.dfy @@ -1,11 +1,6 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" - -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation + datatype Color = Orange | Pink | Teal type Six = x | x <= 6 diff --git a/Test/comp/TypeParams.dfy.expect b/Test/comp/TypeParams.dfy.expect index ac8ef1c58e5..1381a030f65 100644 --- a/Test/comp/TypeParams.dfy.expect +++ b/Test/comp/TypeParams.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 17 verified, 0 errors - -Dafny program verifier did not attempt verification 0 0 0 false Color.Orange 0.0 {} Color.Orange null null null null null {} multiset{} [] map[] {} map[] @@ -21,87 +17,3 @@ System.Func`2[Dafny.BigRational,System.Boolean] System.Func`1[System.Numerics.BigInteger] System.Func`3[_module._IColor,Dafny.ISet`1[System.UInt16],System.UInt32] 0 0 - -Dafny program verifier did not attempt verification -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -function () { return false; } -function () { return _dafny.ZERO; } -function () { return _dafny.ZERO; } -0 0 - -Dafny program verifier did not attempt verification -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -func(dafny.Real) bool -func() dafny.Int -func(main.Color, dafny.Set) uint32 -0 0 - -Dafny program verifier did not attempt verification -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -Function -Function -Function -0 0 - -Dafny program verifier did not attempt verification -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -Function -Function -Function -0 0 diff --git a/Test/comp/TypeParams.dfy.go.expect b/Test/comp/TypeParams.dfy.go.expect new file mode 100644 index 00000000000..e3a8e67d066 --- /dev/null +++ b/Test/comp/TypeParams.dfy.go.expect @@ -0,0 +1,19 @@ +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +func(dafny.Real) bool +func() dafny.Int +func(main.Color, dafny.Set) uint32 +0 0 diff --git a/Test/comp/TypeParams.dfy.java.expect b/Test/comp/TypeParams.dfy.java.expect new file mode 100644 index 00000000000..5f843ba06d1 --- /dev/null +++ b/Test/comp/TypeParams.dfy.java.expect @@ -0,0 +1,19 @@ +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +Function +Function +Function +0 0 diff --git a/Test/comp/TypeParams.dfy.js.expect b/Test/comp/TypeParams.dfy.js.expect new file mode 100644 index 00000000000..865c33ea48b --- /dev/null +++ b/Test/comp/TypeParams.dfy.js.expect @@ -0,0 +1,19 @@ +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +function () { return false; } +function () { return _dafny.ZERO; } +function () { return _dafny.ZERO; } +0 0 diff --git a/Test/comp/TypeParams.dfy.py.expect b/Test/comp/TypeParams.dfy.py.expect new file mode 100644 index 00000000000..5f843ba06d1 --- /dev/null +++ b/Test/comp/TypeParams.dfy.py.expect @@ -0,0 +1,19 @@ +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +Function +Function +Function +0 0 diff --git a/Test/comp/UnoptimizedErasableTypeWrappers.dfy b/Test/comp/UnoptimizedErasableTypeWrappers.dfy index 58f0682ed41..b7911aed9db 100644 --- a/Test/comp/UnoptimizedErasableTypeWrappers.dfy +++ b/Test/comp/UnoptimizedErasableTypeWrappers.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --optimize-erasable-datatype-wrapper:false --relax-definite-assignment --spill-translation datatype SingletonRecord = SingletonRecord(u: int) datatype WithGhost = WithGhost(u: int, ghost v: int) diff --git a/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect b/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect index be1d7190b0f..3371376a52b 100644 --- a/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect +++ b/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect @@ -1,31 +1,3 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification -SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) -() (30) (31) (30, 32) -15 20 -30 31 30 32 - -Dafny program verifier did not attempt verification -SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) -() (30) (31) (30, 32) -15 20 -30 31 30 32 - -Dafny program verifier did not attempt verification -SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) -() (30) (31) (30, 32) -15 20 -30 31 30 32 - -Dafny program verifier did not attempt verification -SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) -() (30) (31) (30, 32) -15 20 -30 31 30 32 - -Dafny program verifier did not attempt verification SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) () (30) (31) (30, 32) 15 20 diff --git a/Test/comp/Variance.dfy b/Test/comp/Variance.dfy index 6c198495209..ddcde6cd7d7 100644 --- a/Test/comp/Variance.dfy +++ b/Test/comp/Variance.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 /deprecation:0 "%s" > "%t" -// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --warn-deprecation:false datatype Co<+T> = Co(z: T) { const x: int; diff --git a/Test/comp/Variance.dfy.expect b/Test/comp/Variance.dfy.expect index cf08d82ac07..5bb565b6bb4 100644 --- a/Test/comp/Variance.dfy.expect +++ b/Test/comp/Variance.dfy.expect @@ -1,67 +1,3 @@ - -Dafny program verifier finished with 13 verified, 0 errors - -Dafny program verifier did not attempt verification -Co.Co(_module.Int) and Co.Co(_module.Int) -true0[]0000 -Non.Non(_module.Int) and Non.Non(_module.Int) -true0[]0000 -0 and 0 -_module.Int0[]0000 -CCo.CCo and CCo.CCo -true0[]0000 -CNon.CNon and CNon.CNon -true0[]0000 -CCon.CCon and CCon.CCon -_module.Int0[]0000 -Done - -Dafny program verifier did not attempt verification -Co.Co(_module.Int) and Co.Co(_module.Int) -true0[]0000 -Non.Non(_module.Int) and Non.Non(_module.Int) -true0[]0000 -0 and 0 -_module.Int0[]0000 -CCo.CCo and CCo.CCo -true0[]0000 -CNon.CNon and CNon.CNon -true0[]0000 -CCon.CCon and CCon.CCon -_module.Int0[]0000 -Done - -Dafny program verifier did not attempt verification -Co.Co(_module.Int) and Co.Co(_module.Int) -true0[]0000 -Non.Non(_module.Int) and Non.Non(_module.Int) -true0[]0000 -0 and 0 -_module.Int0[]0000 -CCo.CCo and CCo.CCo -true0[]0000 -CNon.CNon and CNon.CNon -true0[]0000 -CCon.CCon and CCon.CCon -_module.Int0[]0000 -Done - -Dafny program verifier did not attempt verification -Co.Co(_module.Int) and Co.Co(_module.Int) -true0[]0000 -Non.Non(_module.Int) and Non.Non(_module.Int) -true0[]0000 -0 and 0 -_module.Int0[]0000 -CCo.CCo and CCo.CCo -true0[]0000 -CNon.CNon and CNon.CNon -true0[]0000 -CCon.CCon and CCon.CCon -_module.Int0[]0000 -Done - -Dafny program verifier did not attempt verification Co.Co(_module.Int) and Co.Co(_module.Int) true0[]0000 Non.Non(_module.Int) and Non.Non(_module.Int) diff --git a/Test/comp/Various.dfy b/Test/comp/Various.dfy index 1f29c511a83..502801e4c2a 100644 --- a/Test/comp/Various.dfy +++ b/Test/comp/Various.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Match(tp: (nat, nat)) { match tp diff --git a/Test/comp/Various.dfy.expect b/Test/comp/Various.dfy.expect index 502e2d04792..66f013c00f7 100644 --- a/Test/comp/Various.dfy.expect +++ b/Test/comp/Various.dfy.expect @@ -1,43 +1,3 @@ - -Dafny program verifier finished with 4 verified, 0 errors - -Dafny program verifier did not attempt verification -match -1 -Kablammo!! -0 -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] - -Dafny program verifier did not attempt verification -match -1 -Kablammo!! -0 -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] - -Dafny program verifier did not attempt verification -match -1 -Kablammo!! -0 -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] - -Dafny program verifier did not attempt verification -match -1 -Kablammo!! -0 -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] - -Dafny program verifier did not attempt verification match 1 Kablammo!! diff --git a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy index 10fe57dec8f..2cf77360cab 100644 --- a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy +++ b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // An extremely small program intended to be the first target input for // brand new Dafny compilers. Avoids any use of strings (and therefore sequences) diff --git a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect index e1dcaef650b..f32a5804e29 100644 --- a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect +++ b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect @@ -1,5 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification true \ No newline at end of file diff --git a/Test/comp/firstSteps/1_Calls-F.dfy b/Test/comp/firstSteps/1_Calls-F.dfy index 32566f59f3b..4fe5b83e551 100644 --- a/Test/comp/firstSteps/1_Calls-F.dfy +++ b/Test/comp/firstSteps/1_Calls-F.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/1_Calls-F.dfy.expect b/Test/comp/firstSteps/1_Calls-F.dfy.expect index 58e0a68ec1c..7ed6ff82de6 100644 --- a/Test/comp/firstSteps/1_Calls-F.dfy.expect +++ b/Test/comp/firstSteps/1_Calls-F.dfy.expect @@ -1,5 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification 5 diff --git a/Test/comp/firstSteps/2_Modules.dfy b/Test/comp/firstSteps/2_Modules.dfy index 750b8d60c21..d0effcb5a71 100644 --- a/Test/comp/firstSteps/2_Modules.dfy +++ b/Test/comp/firstSteps/2_Modules.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module A { const i: nat := 1 diff --git a/Test/comp/firstSteps/2_Modules.dfy.expect b/Test/comp/firstSteps/2_Modules.dfy.expect index 9a4b57459c7..b85905ec0b9 100644 --- a/Test/comp/firstSteps/2_Modules.dfy.expect +++ b/Test/comp/firstSteps/2_Modules.dfy.expect @@ -1,5 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification 1 2 3 diff --git a/Test/comp/firstSteps/3_Calls-As.dfy b/Test/comp/firstSteps/3_Calls-As.dfy index f22bbdbd3f6..38889421865 100644 --- a/Test/comp/firstSteps/3_Calls-As.dfy +++ b/Test/comp/firstSteps/3_Calls-As.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/3_Calls-As.dfy.expect b/Test/comp/firstSteps/3_Calls-As.dfy.expect index eea6c52592c..a1c59bb761f 100644 --- a/Test/comp/firstSteps/3_Calls-As.dfy.expect +++ b/Test/comp/firstSteps/3_Calls-As.dfy.expect @@ -1,5 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification 0 0 false 0 false 0 diff --git a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy index 89fb669dca0..6a66781ff0d 100644 --- a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy +++ b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect index e7498a27e3e..a8d09f0a6f5 100644 --- a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect +++ b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect @@ -1,6 +1,2 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification 5 3 5 3 5 3 5 3 diff --git a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy index 096523f8956..1175b1eca8f 100644 --- a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy +++ b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect index 8954da2b386..ef3de96e567 100644 --- a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect +++ b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect @@ -1,6 +1,2 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification 5 3 5 3 diff --git a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy index 1fbaebdf4e9..5d970ac4de5 100644 --- a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy +++ b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect index b6ffe78bcbb..4ff62e33956 100644 --- a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect +++ b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 4 verified, 0 errors - -Dafny program verifier did not attempt verification 15 [0, 1, 2, 4] [0, 2, 4] diff --git a/Test/comp/firstSteps/7_Arrays.dfy b/Test/comp/firstSteps/7_Arrays.dfy index 07ddf89594b..d02c942c9bb 100644 --- a/Test/comp/firstSteps/7_Arrays.dfy +++ b/Test/comp/firstSteps/7_Arrays.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Arrays.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/7_Arrays.dfy.expect b/Test/comp/firstSteps/7_Arrays.dfy.expect index 75e824c80bb..fa00285c692 100644 --- a/Test/comp/firstSteps/7_Arrays.dfy.expect +++ b/Test/comp/firstSteps/7_Arrays.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 7 verified, 0 errors - -Dafny program verifier did not attempt verification 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/comp/firstSteps/7_Dt_Algebraic.dfy b/Test/comp/firstSteps/7_Dt_Algebraic.dfy index 991462d8bdf..46a2995b37f 100644 --- a/Test/comp/firstSteps/7_Dt_Algebraic.dfy +++ b/Test/comp/firstSteps/7_Dt_Algebraic.dfy @@ -1,7 +1,5 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Dt.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect new file mode 100644 index 00000000000..ba1b72ea6f7 --- /dev/null +++ b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect @@ -0,0 +1,11 @@ +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} +42 'q' hello +1701 diff --git a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect index ec9b49fe420..e3ff7faba6e 100644 --- a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect +++ b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 7 verified, 0 errors - -Dafny program verifier did not attempt verification List.Nil List.Cons(5, List.Nil) (List.Nil, List.Cons(5, List.Nil)) @@ -13,16 +9,3 @@ List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, Li {Berry.Hallon, Berry.Smultron, Berry.Jordgubb} 42 'q' hello 1701 - -Dafny program verifier did not attempt verification -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} -42 'q' hello -1701 diff --git a/Test/dafny0/ArrayElementInitCompile.dfy b/Test/dafny0/ArrayElementInitCompile.dfy index 7d652486b9e..3714cf0fe8e 100644 --- a/Test/dafny0/ArrayElementInitCompile.dfy +++ b/Test/dafny0/ArrayElementInitCompile.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 /print:"%t.print" /rprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false method Main() { diff --git a/Test/dafny0/ArrayElementInitCompile.dfy.expect b/Test/dafny0/ArrayElementInitCompile.dfy.expect index a5241c75f19..eaa3e759999 100644 --- a/Test/dafny0/ArrayElementInitCompile.dfy.expect +++ b/Test/dafny0/ArrayElementInitCompile.dfy.expect @@ -1,79 +1,3 @@ - -Dafny program verifier finished with 18 verified, 0 errors - -Dafny program verifier did not attempt verification -67 67 67 67 67 67 67 67 -0 1 2 3 -1 2 3 4 -2 3 4 5 -3 4 5 6 -4 5 6 7 -O . O . O . O . O . O . -12 12 12 12 12 12 12 12 12 12 12 12 -D E -y z -4 3 -7 -100 75 98 25 - -looks like this rocks --2 -1 0 1 2 3 4 - -Dafny program verifier did not attempt verification -67 67 67 67 67 67 67 67 -0 1 2 3 -1 2 3 4 -2 3 4 5 -3 4 5 6 -4 5 6 7 -O . O . O . O . O . O . -12 12 12 12 12 12 12 12 12 12 12 12 -D E -y z -4 3 -7 -100 75 98 25 - -looks like this rocks --2 -1 0 1 2 3 4 - -Dafny program verifier did not attempt verification -67 67 67 67 67 67 67 67 -0 1 2 3 -1 2 3 4 -2 3 4 5 -3 4 5 6 -4 5 6 7 -O . O . O . O . O . O . -12 12 12 12 12 12 12 12 12 12 12 12 -D E -y z -4 3 -7 -100 75 98 25 - -looks like this rocks --2 -1 0 1 2 3 4 - -Dafny program verifier did not attempt verification -67 67 67 67 67 67 67 67 -0 1 2 3 -1 2 3 4 -2 3 4 5 -3 4 5 6 -4 5 6 7 -O . O . O . O . O . O . -12 12 12 12 12 12 12 12 12 12 12 12 -D E -y z -4 3 -7 -100 75 98 25 - -looks like this rocks --2 -1 0 1 2 3 4 - -Dafny program verifier did not attempt verification 67 67 67 67 67 67 67 67 0 1 2 3 1 2 3 4 diff --git a/Test/dafny0/Bitvectors.dfy b/Test/dafny0/Bitvectors.dfy index 6e0c9270b99..4c8e1094455 100644 --- a/Test/dafny0/Bitvectors.dfy +++ b/Test/dafny0/Bitvectors.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /print:"%t.print" /env:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Note the difference in Java output is due to // https://github.com/dafny-lang/dafny/issues/4152 diff --git a/Test/dafny0/Bitvectors.dfy.expect b/Test/dafny0/Bitvectors.dfy.expect index 51fda88f97b..ed1c7328e83 100644 --- a/Test/dafny0/Bitvectors.dfy.expect +++ b/Test/dafny0/Bitvectors.dfy.expect @@ -1,52 +1,3 @@ - -Dafny program verifier finished with 11 verified, 0 errors - -Dafny program verifier did not attempt verification -4000 4000 4000 0 -1 2053 1099 -185 55 -2 4 -Comparisons: true true false false -bv16: 5 - 2 == 3 -bv16: 1 - 2 == 65535 -3 2 -0 0 -false true true false -bv67: 147573952589676412927 + 3 == 2 - 3 == 147573952589676412925 !! 3 == ! 147573952589676412924 == 3 -bv64: 18446744073709551615 + 3 == 2 - 3 == 18446744073709551613 !! 3 == ! 18446744073709551612 == 3 -bv53: 9007199254740991 + 3 == 2 - 3 == 9007199254740989 !! 3 == ! 9007199254740988 == 3 -bv33: 8589934591 + 3 == 2 - 3 == 8589934589 !! 3 == ! 8589934588 == 3 -bv32: 4294967295 + 3 == 2 - 3 == 4294967293 !! 3 == ! 4294967292 == 3 -bv31: 2147483647 + 3 == 2 - 3 == 2147483645 !! 3 == ! 2147483644 == 3 -bv16: 65535 + 3 == 2 - 3 == 65533 !! 3 == ! 65532 == 3 -bv15: 32767 + 3 == 2 - 3 == 32765 !! 3 == ! 32764 == 3 -bv8: 255 + 3 == 2 - 3 == 253 !! 3 == ! 252 == 3 -bv6: 63 + 3 == 2 - 3 == 61 !! 3 == ! 60 == 3 -bv1: 1 + 1 == 0 - 1 == 1 !! 1 == ! 0 == 1 -bv0: 0 + 0 == 0 - 0 == 0 !! 0 == ! 0 == 0 -bv2: - 3 + 2 == 1 - 3 - 2 == 1 - 3 * 2 == 2 - 3 / 2 == 1 - 3 % 2 == 1 -PrintShifts: bv67: 5 40 40 40 -PrintShifts: bv32: 5 40 40 40 -PrintShifts: bv7: 5 40 40 40 -PrintShifts: bv2: 1 2 2 2 -PrintShifts: bv0: 0 0 0 0 -PrintShifts: bv67 again: 2 2 2 73786976294838206465 -PrintShifts: bv32 again: 8000 8000 2147487648 3221227472 -PrintShifts: bv7 again: 124 124 124 127 -PrintShifts: bv0 again: 0 0 0 0 -PrintRotates: bv12: 5 5 -PrintRotates: bv7: 5 5 -PrintRotates: bv2: 1 1 -PrintRotates: bv0: 0 0 -PrintRotates: bv12 again: 976 976 -PrintRotates: bv7 again: 127 127 - -Dafny program verifier did not attempt verification 4000 4000 4000 0 1 2053 1099 185 55 diff --git a/Test/dafny0/Constant.dfy b/Test/dafny0/Constant.dfy index f021e7d4482..1fdeedc3335 100644 --- a/Test/dafny0/Constant.dfy +++ b/Test/dafny0/Constant.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment const one:int := 1 const two:int := one * 2 diff --git a/Test/dafny0/Constant.dfy.expect b/Test/dafny0/Constant.dfy.expect index 6099b08c38c..1a7b981715f 100644 --- a/Test/dafny0/Constant.dfy.expect +++ b/Test/dafny0/Constant.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 17 verified, 0 errors one := 1 two := 2 three := 3 diff --git a/Test/dafny0/Deprecation.dfy b/Test/dafny0/Deprecation.dfy index 8c9c688d463..86521043d43 100644 --- a/Test/dafny0/Deprecation.dfy +++ b/Test/dafny0/Deprecation.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This file contains tests for messags about various deprecated features. // As those features go away completely, so can the corresponding tests. diff --git a/Test/dafny0/Deprecation.dfy.expect b/Test/dafny0/Deprecation.dfy.expect index 4ff88d31ade..0dffd975ac7 100644 --- a/Test/dafny0/Deprecation.dfy.expect +++ b/Test/dafny0/Deprecation.dfy.expect @@ -1,8 +1 @@ -Deprecation.dfy(16,13): Warning: constructors no longer need 'this' to be listed in modifies clauses -Deprecation.dfy(23,0): Warning: the old keyword phrase 'inductive predicate' has been renamed to 'least predicate' -Deprecation.dfy(26,0): Warning: the old keyword 'copredicate' has been renamed to the keyword phrase 'greatest predicate' -Deprecation.dfy(29,0): Warning: the old keyword phrase 'inductive lemma' has been renamed to 'least lemma' -Deprecation.dfy(32,0): Warning: the old keyword 'colemma' has been renamed to the keyword phrase 'greatest lemma' - -Dafny program verifier finished with 0 verified, 0 errors yet here we are diff --git a/Test/dafny0/Deprecation.dfy.verifier.expect b/Test/dafny0/Deprecation.dfy.verifier.expect new file mode 100644 index 00000000000..c0851e9888c --- /dev/null +++ b/Test/dafny0/Deprecation.dfy.verifier.expect @@ -0,0 +1,5 @@ +Deprecation.dfy(15,13): Warning: constructors no longer need 'this' to be listed in modifies clauses +Deprecation.dfy(22,0): Warning: the old keyword phrase 'inductive predicate' has been renamed to 'least predicate' +Deprecation.dfy(25,0): Warning: the old keyword 'copredicate' has been renamed to the keyword phrase 'greatest predicate' +Deprecation.dfy(28,0): Warning: the old keyword phrase 'inductive lemma' has been renamed to 'least lemma' +Deprecation.dfy(31,0): Warning: the old keyword 'colemma' has been renamed to the keyword phrase 'greatest lemma' diff --git a/Test/dafny0/DiscoverBounds.dfy b/Test/dafny0/DiscoverBounds.dfy index 31f9717ee79..18e56158613 100644 --- a/Test/dafny0/DiscoverBounds.dfy +++ b/Test/dafny0/DiscoverBounds.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /print:"%t.print" /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment newtype NT = x | 0 <= x < 100 newtype UT = NT diff --git a/Test/dafny0/DiscoverBounds.dfy.expect b/Test/dafny0/DiscoverBounds.dfy.expect index e43954c7be1..909a58326d0 100644 --- a/Test/dafny0/DiscoverBounds.dfy.expect +++ b/Test/dafny0/DiscoverBounds.dfy.expect @@ -1,10 +1,3 @@ -DiscoverBounds.dfy(32,7): Warning: /!\ No terms found to trigger on. -DiscoverBounds.dfy(33,7): Warning: /!\ No terms found to trigger on. -DiscoverBounds.dfy(34,7): Warning: /!\ No terms found to trigger on. -DiscoverBounds.dfy(35,7): Warning: /!\ No terms found to trigger on. -DiscoverBounds.dfy(36,7): Warning: /!\ No terms found to trigger on. - -Dafny program verifier finished with 7 verified, 0 errors 0 0 -2 diff --git a/Test/dafny0/DiscoverBounds.dfy.verifier.expect b/Test/dafny0/DiscoverBounds.dfy.verifier.expect new file mode 100644 index 00000000000..7c4de01ee0e --- /dev/null +++ b/Test/dafny0/DiscoverBounds.dfy.verifier.expect @@ -0,0 +1,5 @@ +DiscoverBounds.dfy(31,7): Warning: /!\ No terms found to trigger on. +DiscoverBounds.dfy(32,7): Warning: /!\ No terms found to trigger on. +DiscoverBounds.dfy(33,7): Warning: /!\ No terms found to trigger on. +DiscoverBounds.dfy(34,7): Warning: /!\ No terms found to trigger on. +DiscoverBounds.dfy(35,7): Warning: /!\ No terms found to trigger on. diff --git a/Test/dafny0/DividedConstructors.dfy b/Test/dafny0/DividedConstructors.dfy index 169bf4ee7df..e6f63a35f11 100644 --- a/Test/dafny0/DividedConstructors.dfy +++ b/Test/dafny0/DividedConstructors.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /env:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var m := new M0.MyClass.Init(20); diff --git a/Test/dafny0/DividedConstructors.dfy.expect b/Test/dafny0/DividedConstructors.dfy.expect index eaa3ed7d379..2dcc1ba6402 100644 --- a/Test/dafny0/DividedConstructors.dfy.expect +++ b/Test/dafny0/DividedConstructors.dfy.expect @@ -1,5 +1,2 @@ -DividedConstructors.dfy(62,9): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier finished with 17 verified, 0 errors 37, 17, 3.14 false, true diff --git a/Test/dafny0/DividedConstructors.dfy.verifier.expect b/Test/dafny0/DividedConstructors.dfy.verifier.expect new file mode 100644 index 00000000000..f3fdfadddbf --- /dev/null +++ b/Test/dafny0/DividedConstructors.dfy.verifier.expect @@ -0,0 +1 @@ +DividedConstructors.dfy(61,9): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny0/EqualityTypesCompile.dfy b/Test/dafny0/EqualityTypesCompile.dfy index de7954710e9..a36d1818c1d 100644 --- a/Test/dafny0/EqualityTypesCompile.dfy +++ b/Test/dafny0/EqualityTypesCompile.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype List = Nil | Cons(A, List) | ICons(int, List) datatype TwoLists = Two(List, List) diff --git a/Test/dafny0/EqualityTypesCompile.dfy.expect b/Test/dafny0/EqualityTypesCompile.dfy.expect index d2f1950e7f7..0246dc39633 100644 --- a/Test/dafny0/EqualityTypesCompile.dfy.expect +++ b/Test/dafny0/EqualityTypesCompile.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors from M: false from N: false from H: false diff --git a/Test/dafny0/ForallCompilationNewSyntax.dfy b/Test/dafny0/ForallCompilationNewSyntax.dfy index b7132df78ae..ac354d6338c 100644 --- a/Test/dafny0/ForallCompilationNewSyntax.dfy +++ b/Test/dafny0/ForallCompilationNewSyntax.dfy @@ -1,5 +1,4 @@ -// RUN: %baredafny run %args --relax-definite-assignment --quantifier-syntax:4 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --quantifier-syntax:4 --relax-definite-assignment method Main() { var c := new MyClass; diff --git a/Test/dafny0/ForallCompilationNewSyntax.dfy.expect b/Test/dafny0/ForallCompilationNewSyntax.dfy.expect index 5b7ec4613bb..e69de29bb2d 100644 --- a/Test/dafny0/ForallCompilationNewSyntax.dfy.expect +++ b/Test/dafny0/ForallCompilationNewSyntax.dfy.expect @@ -1,6 +0,0 @@ -ForallCompilationNewSyntax.dfy(26,4): Warning: /!\ No terms found to trigger on. -ForallCompilationNewSyntax.dfy(35,4): Warning: /!\ No terms found to trigger on. -ForallCompilationNewSyntax.dfy(44,4): Warning: /!\ No terms found to trigger on. -ForallCompilationNewSyntax.dfy(64,4): Warning: /!\ No trigger covering all quantified variables found. - -Dafny program verifier finished with 14 verified, 0 errors diff --git a/Test/dafny0/ForallCompilationNewSyntax.dfy.verifier.expect b/Test/dafny0/ForallCompilationNewSyntax.dfy.verifier.expect new file mode 100644 index 00000000000..a94cd5ea608 --- /dev/null +++ b/Test/dafny0/ForallCompilationNewSyntax.dfy.verifier.expect @@ -0,0 +1,4 @@ +ForallCompilationNewSyntax.dfy(25,4): Warning: /!\ No terms found to trigger on. +ForallCompilationNewSyntax.dfy(34,4): Warning: /!\ No terms found to trigger on. +ForallCompilationNewSyntax.dfy(43,4): Warning: /!\ No terms found to trigger on. +ForallCompilationNewSyntax.dfy(63,4): Warning: /!\ No trigger covering all quantified variables found. diff --git a/Test/dafny0/GhostITECompilation.dfy b/Test/dafny0/GhostITECompilation.dfy index d761ddbc6ea..bd7cfa28a95 100644 --- a/Test/dafny0/GhostITECompilation.dfy +++ b/Test/dafny0/GhostITECompilation.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 /functionSyntax:4 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --function-syntax:4 --relax-definite-assignment function F(x: nat, ghost y: nat): nat { diff --git a/Test/dafny0/GhostITECompilation.dfy.expect b/Test/dafny0/GhostITECompilation.dfy.expect index 1ec406bf52c..b4988e5cf11 100644 --- a/Test/dafny0/GhostITECompilation.dfy.expect +++ b/Test/dafny0/GhostITECompilation.dfy.expect @@ -1,31 +1,3 @@ - -Dafny program verifier finished with 6 verified, 0 errors - -Dafny program verifier did not attempt verification -65 -65 -65 -65 - -Dafny program verifier did not attempt verification -65 -65 -65 -65 - -Dafny program verifier did not attempt verification -65 -65 -65 -65 - -Dafny program verifier did not attempt verification -65 -65 -65 -65 - -Dafny program verifier did not attempt verification 65 65 65 diff --git a/Test/dafny0/InitialValues.dfy b/Test/dafny0/InitialValues.dfy index 7dcb05cc9c9..0848d244d71 100644 --- a/Test/dafny0/InitialValues.dfy +++ b/Test/dafny0/InitialValues.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/dafny0/InitialValues.dfy.expect b/Test/dafny0/InitialValues.dfy.expect index ada1b783c16..18903dcc3dd 100644 --- a/Test/dafny0/InitialValues.dfy.expect +++ b/Test/dafny0/InitialValues.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 2 verified, 0 errors r= 0.0 s= 3.4 a= 0.0 b= 3.4 z= 0.0 a==z = true diff --git a/Test/dafny0/MatchBraces.dfy b/Test/dafny0/MatchBraces.dfy index ddd1924774b..4ac380f2739 100644 --- a/Test/dafny0/MatchBraces.dfy +++ b/Test/dafny0/MatchBraces.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /print:"%t.print" /env:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Color = Red | Green | Blue diff --git a/Test/dafny0/MatchBraces.dfy.expect b/Test/dafny0/MatchBraces.dfy.expect index 88f6cf4f56e..4f89bff47e5 100644 --- a/Test/dafny0/MatchBraces.dfy.expect +++ b/Test/dafny0/MatchBraces.dfy.expect @@ -1,10 +1,2 @@ - -Dafny program verifier finished with 5 verified, 0 errors - -Dafny program verifier did not attempt verification -7 0.18 Color.Red 13 12 -11 98.0 Color.Green 14 115 - -Dafny program verifier did not attempt verification 7 0.18 Color.Red 13 12 11 98.0 Color.Green 14 115 diff --git a/Test/dafny0/MoForallCompilation.dfy b/Test/dafny0/MoForallCompilation.dfy index 835712edbce..af080853463 100644 --- a/Test/dafny0/MoForallCompilation.dfy +++ b/Test/dafny0/MoForallCompilation.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { TestAggregateArrayUpdate(); diff --git a/Test/dafny0/MoForallCompilation.dfy.expect b/Test/dafny0/MoForallCompilation.dfy.expect index c431c74c6aa..7bb606c1528 100644 --- a/Test/dafny0/MoForallCompilation.dfy.expect +++ b/Test/dafny0/MoForallCompilation.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 18 verified, 0 errors -4.0 -3.0 -2.0 -1.0 0.0 1.0 2.0 3.0 7.0 6.0 5.0 4.0 3.0 2.0 1.0 0.0 true true true true true true false false diff --git a/Test/dafny0/NameclashesCompile.dfy b/Test/dafny0/NameclashesCompile.dfy index 4d06065c675..46cae4b2338 100644 --- a/Test/dafny0/NameclashesCompile.dfy +++ b/Test/dafny0/NameclashesCompile.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var r0, r1; diff --git a/Test/dafny0/NameclashesCompile.dfy.expect b/Test/dafny0/NameclashesCompile.dfy.expect index 1434bb632f6..f001bdaeb1e 100644 --- a/Test/dafny0/NameclashesCompile.dfy.expect +++ b/Test/dafny0/NameclashesCompile.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 2 verified, 0 errors 15.0 15.1 94 99 0.8 14.3 14.4 18.9 18.92 diff --git a/Test/dafny0/NonZeroInitializationCompile.dfy b/Test/dafny0/NonZeroInitializationCompile.dfy index 48b61a39369..2fedae6d60d 100644 --- a/Test/dafny0/NonZeroInitializationCompile.dfy +++ b/Test/dafny0/NonZeroInitializationCompile.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment type MyInt = x | 6 <= x witness 6 newtype MyNewInt = x | 6 <= x witness 12 diff --git a/Test/dafny0/NonZeroInitializationCompile.dfy.expect b/Test/dafny0/NonZeroInitializationCompile.dfy.expect index 72b333efb85..c682dccf3fc 100644 --- a/Test/dafny0/NonZeroInitializationCompile.dfy.expect +++ b/Test/dafny0/NonZeroInitializationCompile.dfy.expect @@ -1,76 +1,3 @@ - -Dafny program verifier finished with 15 verified, 0 errors - -Dafny program verifier did not attempt verification -These are the arbitrary values chosen by the compiler: 6, 12 -short, short': 0, -35 -nes: {57} -f0, f1: (0, false), (29, true) -dt: Dt.Atom(-35) -cl { u: 12, x: 0, r: 3.14, nes: {57} } -cl' { u: 12, x: 0, ': 3.14, nes: {20, 57} } - -x: real :: 0.0 versus 0.0 -ch: char :: 'D' versus 'D' -s: set :: {} versus {} -d: Xt :: AdvancedZeroInitialization.Xt.MakeXt(0, []) versus AdvancedZeroInitialization.Xt.MakeXt(0, []) -y: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, []) versus AdvancedZeroInitialization.Yt.MakeYt(0, []) -z: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization.Yt.MakeYt(0, 0) - -x: real :: 0.0 versus 0.0 -ch: char :: 'D' versus 'D' -s: set :: {} versus {} -d: Xt :: AdvancedZeroInitialization.Xt.MakeXt(0, []) versus AdvancedZeroInitialization.Xt.MakeXt(0, []) -y: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, []) versus AdvancedZeroInitialization.Yt.MakeYt(0, []) -z: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization.Yt.MakeYt(0, 0) - -Dafny program verifier did not attempt verification -These are the arbitrary values chosen by the compiler: 6, 12 -short, short': 0, -35 -nes: {57} -f0, f1: (0, false), (29, true) -dt: Dt.Atom(-35) -cl { u: 12, x: 0, r: 3.14, nes: {57} } -cl' { u: 12, x: 0, ': 3.14, nes: {20, 57} } - -x: real :: 0.0 versus 0.0 -ch: char :: 'D' versus 'D' -s: set :: {} versus {} -d: Xt :: AdvancedZeroInitialization.Xt.MakeXt(0, []) versus AdvancedZeroInitialization.Xt.MakeXt(0, []) -y: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, []) versus AdvancedZeroInitialization.Yt.MakeYt(0, []) -z: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization.Yt.MakeYt(0, 0) - -x: real :: 0.0 versus 0.0 -ch: char :: 'D' versus 'D' -s: set :: {} versus {} -d: Xt :: AdvancedZeroInitialization.Xt.MakeXt(0, []) versus AdvancedZeroInitialization.Xt.MakeXt(0, []) -y: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, []) versus AdvancedZeroInitialization.Yt.MakeYt(0, []) -z: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization.Yt.MakeYt(0, 0) - -Dafny program verifier did not attempt verification -These are the arbitrary values chosen by the compiler: 6, 12 -short, short': 0, -35 -nes: {57} -f0, f1: (0, false), (29, true) -dt: Dt.Atom(-35) -cl { u: 12, x: 0, r: 3.14, nes: {57} } -cl' { u: 12, x: 0, ': 3.14, nes: {20, 57} } - -x: real :: 0.0 versus 0.0 -ch: char :: 'D' versus 'D' -s: set :: {} versus {} -d: Xt :: AdvancedZeroInitialization.Xt.MakeXt(0, []) versus AdvancedZeroInitialization.Xt.MakeXt(0, []) -y: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, []) versus AdvancedZeroInitialization.Yt.MakeYt(0, []) -z: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization.Yt.MakeYt(0, 0) - -x: real :: 0.0 versus 0.0 -ch: char :: 'D' versus 'D' -s: set :: {} versus {} -d: Xt :: AdvancedZeroInitialization.Xt.MakeXt(0, []) versus AdvancedZeroInitialization.Xt.MakeXt(0, []) -y: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, []) versus AdvancedZeroInitialization.Yt.MakeYt(0, []) -z: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization.Yt.MakeYt(0, 0) - -Dafny program verifier did not attempt verification These are the arbitrary values chosen by the compiler: 6, 12 short, short': 0, -35 nes: {57} diff --git a/Test/dafny0/NullComparisonWarnings.dfy b/Test/dafny0/NullComparisonWarnings.dfy index eb9183040bc..35fd5ffb3f4 100644 --- a/Test/dafny0/NullComparisonWarnings.dfy +++ b/Test/dafny0/NullComparisonWarnings.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { print "despite the warnings, the program still compiles\n"; diff --git a/Test/dafny0/NullComparisonWarnings.dfy.expect b/Test/dafny0/NullComparisonWarnings.dfy.expect index d8cf4a9960c..f2b4545fac7 100644 --- a/Test/dafny0/NullComparisonWarnings.dfy.expect +++ b/Test/dafny0/NullComparisonWarnings.dfy.expect @@ -1,14 +1 @@ -NullComparisonWarnings.dfy(27,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(28,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'y' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(29,14): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for field 'next' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(30,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(31,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'y' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(32,14): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for field 'next' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(34,12): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(37,12): Warning: the type of the other operand is a set of non-null elements, so the inclusion test of 'null' will always return 'false' -NullComparisonWarnings.dfy(38,12): Warning: the type of the other operand is a set of non-null elements, so the non-inclusion test of 'null' will always return 'true' -NullComparisonWarnings.dfy(40,41): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'u' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(45,12): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' - -Dafny program verifier finished with 4 verified, 0 errors despite the warnings, the program still compiles diff --git a/Test/dafny0/NullComparisonWarnings.dfy.verifier.expect b/Test/dafny0/NullComparisonWarnings.dfy.verifier.expect new file mode 100644 index 00000000000..24f9074ecc9 --- /dev/null +++ b/Test/dafny0/NullComparisonWarnings.dfy.verifier.expect @@ -0,0 +1,11 @@ +NullComparisonWarnings.dfy(26,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(27,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'y' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(28,14): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for field 'next' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(29,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(30,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'y' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(31,14): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for field 'next' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(33,12): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(36,12): Warning: the type of the other operand is a set of non-null elements, so the inclusion test of 'null' will always return 'false' +NullComparisonWarnings.dfy(37,12): Warning: the type of the other operand is a set of non-null elements, so the non-inclusion test of 'null' will always return 'true' +NullComparisonWarnings.dfy(39,41): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'u' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(44,12): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' diff --git a/Test/dafny0/PrintUTF8.dfy b/Test/dafny0/PrintUTF8.dfy index 5d4e376b19d..eff7baa32a9 100644 --- a/Test/dafny0/PrintUTF8.dfy +++ b/Test/dafny0/PrintUTF8.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { print "Mikaël fixed UTF8\n"; diff --git a/Test/dafny0/PrintUTF8.dfy.expect b/Test/dafny0/PrintUTF8.dfy.expect index 52a23e906cc..818549280d3 100644 --- a/Test/dafny0/PrintUTF8.dfy.expect +++ b/Test/dafny0/PrintUTF8.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors Mikaël fixed UTF8 diff --git a/Test/dafny0/RangeCompilation.dfy b/Test/dafny0/RangeCompilation.dfy index 53a8d6e33e5..3f3e6aed0f8 100644 --- a/Test/dafny0/RangeCompilation.dfy +++ b/Test/dafny0/RangeCompilation.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment newtype Byte = x | 0 <= x < 256 predicate GoodByte(b: Byte) { diff --git a/Test/dafny0/RangeCompilation.dfy.expect b/Test/dafny0/RangeCompilation.dfy.expect index 82fbbb9b698..9e0f9e5f028 100644 --- a/Test/dafny0/RangeCompilation.dfy.expect +++ b/Test/dafny0/RangeCompilation.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 4 verified, 0 errors b=2 i=4 diff --git a/Test/dafny0/SeqFromArray.dfy b/Test/dafny0/SeqFromArray.dfy index 6bab732c906..39f72303d18 100644 --- a/Test/dafny0/SeqFromArray.dfy +++ b/Test/dafny0/SeqFromArray.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // /autoTriggers:1 added to suppress instabilities diff --git a/Test/dafny0/SeqFromArray.dfy.expect b/Test/dafny0/SeqFromArray.dfy.expect index 1981561ca00..e69de29bb2d 100644 --- a/Test/dafny0/SeqFromArray.dfy.expect +++ b/Test/dafny0/SeqFromArray.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 10 verified, 0 errors diff --git a/Test/dafny0/SharedDestructorsCompile.dfy b/Test/dafny0/SharedDestructorsCompile.dfy index 8171cf72404..64d8b245b58 100644 --- a/Test/dafny0/SharedDestructorsCompile.dfy +++ b/Test/dafny0/SharedDestructorsCompile.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Dt = | A(x: int, y: real) diff --git a/Test/dafny0/SharedDestructorsCompile.dfy.expect b/Test/dafny0/SharedDestructorsCompile.dfy.expect index e037db03c40..060d152d77b 100644 --- a/Test/dafny0/SharedDestructorsCompile.dfy.expect +++ b/Test/dafny0/SharedDestructorsCompile.dfy.expect @@ -1,20 +1,3 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification -Dt.A(10, 12.0): x=10 y=12.0 -Dt.B(_module.MyClass, 6): h=_module.MyClass x=6 -Dt.C(3.14): y=3.14 -Dt.C(3.14) -Dt.A(71, 0.1) -Klef.C3(44, 100, 66, 200) -Datte.AA(10, 2) Datte.AA(10, 5) -Datte.BB(false, 12) Datte.BB(false, 6) -Datte.CC(3.2) Datte.CC(3.4) -Datte.DD(100, {7}, 5, 9.0) Datte.DD(30, {7}, 5, 9.0) -Datte.DD(100, {7}, 5, 9.0) Datte.DD(30, {7}, 5, 2.0) - -Dafny program verifier did not attempt verification Dt.A(10, 12.0): x=10 y=12.0 Dt.B(_module.MyClass, 6): h=_module.MyClass x=6 Dt.C(3.14): y=3.14 diff --git a/Test/dafny0/SiblingImports.dfy b/Test/dafny0/SiblingImports.dfy index 3fb01d9d1b8..756e4b253f3 100644 --- a/Test/dafny0/SiblingImports.dfy +++ b/Test/dafny0/SiblingImports.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { ClientA.Test(); diff --git a/Test/dafny0/SiblingImports.dfy.expect b/Test/dafny0/SiblingImports.dfy.expect index ba4df82a925..fb6171563ac 100644 --- a/Test/dafny0/SiblingImports.dfy.expect +++ b/Test/dafny0/SiblingImports.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors ClientA.Inner.Five: 5 ClientB.Inner.Five: 5 ClientC.Inner.Five: 5 diff --git a/Test/dafny0/TypeConversionsCompile.dfy b/Test/dafny0/TypeConversionsCompile.dfy index 90075fb74a8..5b1e32b9258 100644 --- a/Test/dafny0/TypeConversionsCompile.dfy +++ b/Test/dafny0/TypeConversionsCompile.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /env:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Note the difference in output in Java's case is due to // https://github.com/dafny-lang/dafny/issues/4152 diff --git a/Test/dafny0/TypeConversionsCompile.dfy.expect b/Test/dafny0/TypeConversionsCompile.dfy.expect index 893938a0226..78990cf4a30 100644 --- a/Test/dafny0/TypeConversionsCompile.dfy.expect +++ b/Test/dafny0/TypeConversionsCompile.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 8 verified, 0 errors 3 4 5.0 5 6 -1.0 147573952589676412927 4294967295 127 0 got 3, expected 3 got 0, expected 0 diff --git a/Test/dafny0/TypeMembers.dfy b/Test/dafny0/TypeMembers.dfy index 2ab57767ad5..f2bea4039c9 100644 --- a/Test/dafny0/TypeMembers.dfy +++ b/Test/dafny0/TypeMembers.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { BasicTests(); diff --git a/Test/dafny0/TypeMembers.dfy.expect b/Test/dafny0/TypeMembers.dfy.expect index 1d406ca85dc..923cb07e841 100644 --- a/Test/dafny0/TypeMembers.dfy.expect +++ b/Test/dafny0/TypeMembers.dfy.expect @@ -1,32 +1,3 @@ -TypeMembers.dfy(117,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect - -Dafny program verifier finished with 29 verified, 0 errors -TypeMembers.dfy(117,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect - -Dafny program verifier did not attempt verification -DaTy.Yes 10 26 -8 11 10 11 10 -35 10 14 -22 22 -9 Dt.Business(false, 5) -76 77 -19 -0 0 -19 82 83 -93 Co.Cobalt -27 27 -18 -11 18 18 22 -15 30 29 -95 11 -162 165 -11 18 18 3 -15 30 29 -95 11 -162 165 -TypeMembers.dfy(117,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect - -Dafny program verifier did not attempt verification DaTy.Yes 10 26 8 11 10 11 10 35 10 14 diff --git a/Test/dafny0/TypeMembers.dfy.verifier.expect b/Test/dafny0/TypeMembers.dfy.verifier.expect new file mode 100644 index 00000000000..62f55c943d2 --- /dev/null +++ b/Test/dafny0/TypeMembers.dfy.verifier.expect @@ -0,0 +1 @@ +TypeMembers.dfy(114,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect diff --git a/Test/dafny0/Wellfounded.dfy b/Test/dafny0/Wellfounded.dfy index 2ed488974c6..7ec2be06b38 100644 --- a/Test/dafny0/Wellfounded.dfy +++ b/Test/dafny0/Wellfounded.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var d := Int(10); diff --git a/Test/dafny0/Wellfounded.dfy.expect b/Test/dafny0/Wellfounded.dfy.expect index 73d7a1e7ca2..52742a67098 100644 --- a/Test/dafny0/Wellfounded.dfy.expect +++ b/Test/dafny0/Wellfounded.dfy.expect @@ -1,7 +1,3 @@ -Wellfounded.dfy(49,14): Warning: /!\ No terms found to trigger on. -Wellfounded.dfy(77,5): Warning: /!\ No terms found to trigger on. - -Dafny program verifier finished with 3 verified, 0 errors M(d, d) = 10 M(a1, d) = 10 M(a2, d) = 10 diff --git a/Test/dafny0/Wellfounded.dfy.verifier.expect b/Test/dafny0/Wellfounded.dfy.verifier.expect new file mode 100644 index 00000000000..e61f12f01b2 --- /dev/null +++ b/Test/dafny0/Wellfounded.dfy.verifier.expect @@ -0,0 +1,2 @@ +Wellfounded.dfy(48,14): Warning: /!\ No terms found to trigger on. +Wellfounded.dfy(76,5): Warning: /!\ No terms found to trigger on. diff --git a/Test/dafny2/MinWindowMax.dfy b/Test/dafny2/MinWindowMax.dfy index 71ccb539d7d..32342cdd8b9 100644 --- a/Test/dafny2/MinWindowMax.dfy +++ b/Test/dafny2/MinWindowMax.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Minimum window-max problem. // Rustan Leino diff --git a/Test/dafny2/MinWindowMax.dfy.expect b/Test/dafny2/MinWindowMax.dfy.expect index f6f6e52d9bc..1bb5609994e 100644 --- a/Test/dafny2/MinWindowMax.dfy.expect +++ b/Test/dafny2/MinWindowMax.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 12 verified, 0 errors Window size 1: min window-max is -5 Window size 2: min window-max is 2 Window size 3: min window-max is 3 diff --git a/Test/dafny2/SmallestMissingNumber-functional.dfy b/Test/dafny2/SmallestMissingNumber-functional.dfy index 047475c2680..a1544efab5f 100644 --- a/Test/dafny2/SmallestMissingNumber-functional.dfy +++ b/Test/dafny2/SmallestMissingNumber-functional.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Smallest missing number problem, functional version without duplicates. // A purely functional solution to the programming problem in Richard Bird's diff --git a/Test/dafny2/SmallestMissingNumber-functional.dfy.expect b/Test/dafny2/SmallestMissingNumber-functional.dfy.expect index 208b183ee3e..5d75da8ddd3 100644 --- a/Test/dafny2/SmallestMissingNumber-functional.dfy.expect +++ b/Test/dafny2/SmallestMissingNumber-functional.dfy.expect @@ -1,4 +1 @@ -SmallestMissingNumber-functional.dfy(213,11): Warning: /!\ No terms found to trigger on. - -Dafny program verifier finished with 21 verified, 0 errors 0 1 4 5 diff --git a/Test/dafny2/SmallestMissingNumber-functional.dfy.verifier.expect b/Test/dafny2/SmallestMissingNumber-functional.dfy.verifier.expect new file mode 100644 index 00000000000..cf10280f376 --- /dev/null +++ b/Test/dafny2/SmallestMissingNumber-functional.dfy.verifier.expect @@ -0,0 +1 @@ +SmallestMissingNumber-functional.dfy(212,11): Warning: /!\ No terms found to trigger on. diff --git a/Test/dafny2/SmallestMissingNumber-imperative.dfy b/Test/dafny2/SmallestMissingNumber-imperative.dfy index b8539481a54..314bf4e464c 100644 --- a/Test/dafny2/SmallestMissingNumber-imperative.dfy +++ b/Test/dafny2/SmallestMissingNumber-imperative.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Smallest missing number. // An imperative solution to the programming problem in Richard Bird's diff --git a/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect b/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect index bc4a868fdff..cfb25913041 100644 --- a/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect +++ b/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 8 verified, 0 errors 0 1 5 diff --git a/Test/dafny2/StoreAndRetrieve.dfy b/Test/dafny2/StoreAndRetrieve.dfy index 99a72697a71..f19239e234a 100644 --- a/Test/dafny2/StoreAndRetrieve.dfy +++ b/Test/dafny2/StoreAndRetrieve.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This file shows an example program that uses both refinement and :autocontracts // specify a class that stores a set of things that can be retrieved using a query. diff --git a/Test/dafny2/StoreAndRetrieve.dfy.expect b/Test/dafny2/StoreAndRetrieve.dfy.expect index 1d7d71d5202..030f5bfab39 100644 --- a/Test/dafny2/StoreAndRetrieve.dfy.expect +++ b/Test/dafny2/StoreAndRetrieve.dfy.expect @@ -1,39 +1 @@ -StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier finished with 19 verified, 0 errors -StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -20.3 -StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -20.3 -StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -20.3 -StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification 20.3 diff --git a/Test/dafny2/StoreAndRetrieve.dfy.verifier.expect b/Test/dafny2/StoreAndRetrieve.dfy.verifier.expect new file mode 100644 index 00000000000..0c3d269cdc1 --- /dev/null +++ b/Test/dafny2/StoreAndRetrieve.dfy.verifier.expect @@ -0,0 +1,5 @@ +StoreAndRetrieve.dfy(60,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(65,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(66,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(81,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(92,9): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny2/pq-intrinsic-extrinsic.dfy b/Test/dafny2/pq-intrinsic-extrinsic.dfy index c797c92445d..588c2f9e2b1 100644 --- a/Test/dafny2/pq-intrinsic-extrinsic.dfy +++ b/Test/dafny2/pq-intrinsic-extrinsic.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This file contains several versions of a priority queue implemented by Braun trees: // diff --git a/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect b/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect index bc2608f44b7..5c90c26e0eb 100644 --- a/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect +++ b/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect @@ -1,14 +1,3 @@ - -Dafny program verifier finished with 32 verified, 0 errors - -Dafny program verifier did not attempt verification -PriorityQueue_extrinsic: 3 -PriorityQueue_layered: 3 -PriorityQueue_intrinsic: 3 -PriorityQueue_on_intrinsic: 3 -PriorityQueue_direct: 3 - -Dafny program verifier did not attempt verification PriorityQueue_extrinsic: 3 PriorityQueue_layered: 3 PriorityQueue_intrinsic: 3 diff --git a/Test/dafny3/Abstemious.dfy b/Test/dafny3/Abstemious.dfy index 263c1f1fb00..62d891f950f 100644 --- a/Test/dafny3/Abstemious.dfy +++ b/Test/dafny3/Abstemious.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Examples from https://www.haskell.org/tutorial/functions.html diff --git a/Test/dafny3/Abstemious.dfy.expect b/Test/dafny3/Abstemious.dfy.expect index 96f109b0b58..3511a04a840 100644 --- a/Test/dafny3/Abstemious.dfy.expect +++ b/Test/dafny3/Abstemious.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 19 verified, 0 errors ones(): 1 1 1 1 1 1 1 ... from(3): 3 4 5 6 7 8 9 ... Map(plus1, ones()): 2 2 2 2 2 2 2 ... diff --git a/Test/dafny3/CachedContainer.dfy b/Test/dafny3/CachedContainer.dfy index 77c3e45897f..e36e76d6851 100644 --- a/Test/dafny3/CachedContainer.dfy +++ b/Test/dafny3/CachedContainer.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This file contains an example chain of module refinements, starting from a // simple interface M0 to an implementation M3. Module Client.Test() is diff --git a/Test/dafny3/CachedContainer.dfy.expect b/Test/dafny3/CachedContainer.dfy.expect index 08f4fb30b0a..ed2a587c3f1 100644 --- a/Test/dafny3/CachedContainer.dfy.expect +++ b/Test/dafny3/CachedContainer.dfy.expect @@ -1,79 +1 @@ -CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier finished with 29 verified, 0 errors -CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -false true false true -CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -false true false true -CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -false true false true -CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification false true false true diff --git a/Test/dafny3/CachedContainer.dfy.verifier.expect b/Test/dafny3/CachedContainer.dfy.verifier.expect new file mode 100644 index 00000000000..a037bc94ff6 --- /dev/null +++ b/Test/dafny3/CachedContainer.dfy.verifier.expect @@ -0,0 +1,13 @@ +CachedContainer.dfy(112,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(119,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(122,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(129,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(132,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(153,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(154,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(162,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(163,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(166,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(178,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(179,13): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny3/Iter.dfy b/Test/dafny3/Iter.dfy index 81431f2c64b..46befa24dd8 100644 --- a/Test/dafny3/Iter.dfy +++ b/Test/dafny3/Iter.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class List { ghost var Contents: seq diff --git a/Test/dafny3/Iter.dfy.expect b/Test/dafny3/Iter.dfy.expect index 69d7373d5d5..0ed11070541 100644 --- a/Test/dafny3/Iter.dfy.expect +++ b/Test/dafny3/Iter.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 12 verified, 0 errors 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 98 0 2 4 6 8 10 12 14 diff --git a/Test/dafny4/Ackermann.dfy b/Test/dafny4/Ackermann.dfy index 27968070e9b..a4ef351c96b 100644 --- a/Test/dafny4/Ackermann.dfy +++ b/Test/dafny4/Ackermann.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Rustan Leino, 8 Sep 2015. // This file proves that the Ackermann function is monotonic in each argument diff --git a/Test/dafny4/Ackermann.dfy.expect b/Test/dafny4/Ackermann.dfy.expect index c995dac9c9a..43d9513ef4b 100644 --- a/Test/dafny4/Ackermann.dfy.expect +++ b/Test/dafny4/Ackermann.dfy.expect @@ -1,5 +1 @@ -Ackermann.dfy(163,4): Warning: /!\ No terms found to trigger on. -Ackermann.dfy(181,4): Warning: /!\ No terms found to trigger on. - -Dafny program verifier finished with 14 verified, 0 errors Ack(3, 4) = 125 diff --git a/Test/dafny4/Ackermann.dfy.verifier.expect b/Test/dafny4/Ackermann.dfy.verifier.expect new file mode 100644 index 00000000000..b302e2b4daf --- /dev/null +++ b/Test/dafny4/Ackermann.dfy.verifier.expect @@ -0,0 +1,2 @@ +Ackermann.dfy(162,4): Warning: /!\ No terms found to trigger on. +Ackermann.dfy(180,4): Warning: /!\ No terms found to trigger on. diff --git a/Test/dafny4/Bug107.dfy b/Test/dafny4/Bug107.dfy index e417fc90a53..b7ab69c9a8d 100644 --- a/Test/dafny4/Bug107.dfy +++ b/Test/dafny4/Bug107.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/dafny4/Bug107.dfy.expect b/Test/dafny4/Bug107.dfy.expect index ad79213a18c..62f9457511f 100644 --- a/Test/dafny4/Bug107.dfy.expect +++ b/Test/dafny4/Bug107.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors 6 \ No newline at end of file diff --git a/Test/dafny4/Bug108.dfy b/Test/dafny4/Bug108.dfy index c64ec32a340..8228fe44f87 100644 --- a/Test/dafny4/Bug108.dfy +++ b/Test/dafny4/Bug108.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var A := map[0 := 1]; diff --git a/Test/dafny4/Bug108.dfy.expect b/Test/dafny4/Bug108.dfy.expect index c1c63f6c5c1..0777a01b26d 100644 --- a/Test/dafny4/Bug108.dfy.expect +++ b/Test/dafny4/Bug108.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 1 verified, 0 errors map[0 := 1] map[0 := 1] diff --git a/Test/dafny4/Bug113.dfy b/Test/dafny4/Bug113.dfy index 23c759540cd..0bec0c1ce31 100644 --- a/Test/dafny4/Bug113.dfy +++ b/Test/dafny4/Bug113.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype D = D(q:int, r:int, s:int, t:int) @@ -7,4 +6,4 @@ method Main() { print D(10, 20, 30, 40); print "\n"; -} \ No newline at end of file +} diff --git a/Test/dafny4/Bug113.dfy.expect b/Test/dafny4/Bug113.dfy.expect index 3ea1396ad00..e2eeff32e9a 100644 --- a/Test/dafny4/Bug113.dfy.expect +++ b/Test/dafny4/Bug113.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors D.D(10, 20, 30, 40) diff --git a/Test/dafny4/Bug140.dfy b/Test/dafny4/Bug140.dfy index edde966c149..8280db8f665 100644 --- a/Test/dafny4/Bug140.dfy +++ b/Test/dafny4/Bug140.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class Node { ghost var List: seq diff --git a/Test/dafny4/Bug140.dfy.expect b/Test/dafny4/Bug140.dfy.expect index bad48de4d6b..a40ee1166fb 100644 --- a/Test/dafny4/Bug140.dfy.expect +++ b/Test/dafny4/Bug140.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 8 verified, 0 errors 1 2 diff --git a/Test/dafny4/Bug148.dfy b/Test/dafny4/Bug148.dfy index da1ebf99447..f31cef2cdc8 100644 --- a/Test/dafny4/Bug148.dfy +++ b/Test/dafny4/Bug148.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/dafny4/Bug148.dfy.expect b/Test/dafny4/Bug148.dfy.expect index 79d02517ceb..9ed6ca4768b 100644 --- a/Test/dafny4/Bug148.dfy.expect +++ b/Test/dafny4/Bug148.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 0 verified, 0 errors true false true diff --git a/Test/dafny4/Bug49.dfy b/Test/dafny4/Bug49.dfy index 68722830422..868f4a3964b 100644 --- a/Test/dafny4/Bug49.dfy +++ b/Test/dafny4/Bug49.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/dafny4/Bug49.dfy.expect b/Test/dafny4/Bug49.dfy.expect index 4e02a08bbee..800c2bd15ba 100644 --- a/Test/dafny4/Bug49.dfy.expect +++ b/Test/dafny4/Bug49.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 13 verified, 0 errors 6 6 5 diff --git a/Test/dafny4/Bug60.dfy b/Test/dafny4/Bug60.dfy index 0aa9209269d..f4585753f5f 100644 --- a/Test/dafny4/Bug60.dfy +++ b/Test/dafny4/Bug60.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This method can be used to test compilation. method Main() diff --git a/Test/dafny4/Bug60.dfy.expect b/Test/dafny4/Bug60.dfy.expect index 49740e95682..fd56dc3fcbc 100644 --- a/Test/dafny4/Bug60.dfy.expect +++ b/Test/dafny4/Bug60.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 0 verified, 0 errors ({2, 3}, map[2 := 20, 3 := 30]) (2, 2) {2, 3} diff --git a/Test/dafny4/Bug67.dfy b/Test/dafny4/Bug67.dfy index 731018a293b..f01d4239a75 100644 --- a/Test/dafny4/Bug67.dfy +++ b/Test/dafny4/Bug67.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype d = D(m:seq) @@ -8,4 +7,4 @@ method Main() assert D([10, 20]) == D([10, 20]); // succeeds print [10, 20] == [10, 20], "\n"; // prints True print D([10, 20]) == D([10, 20]); // prints False -} \ No newline at end of file +} diff --git a/Test/dafny4/Bug67.dfy.expect b/Test/dafny4/Bug67.dfy.expect index c716cab3144..0be5d980da4 100644 --- a/Test/dafny4/Bug67.dfy.expect +++ b/Test/dafny4/Bug67.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 1 verified, 0 errors true true \ No newline at end of file diff --git a/Test/dafny4/Bug68.dfy b/Test/dafny4/Bug68.dfy index a211206acba..bf50015f90c 100644 --- a/Test/dafny4/Bug68.dfy +++ b/Test/dafny4/Bug68.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method M1() { @@ -62,4 +61,4 @@ method Main() M3(); M3'(); M4(); -} \ No newline at end of file +} diff --git a/Test/dafny4/Bug68.dfy.expect b/Test/dafny4/Bug68.dfy.expect index f4ef534187d..814ccfee2df 100644 --- a/Test/dafny4/Bug68.dfy.expect +++ b/Test/dafny4/Bug68.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 8 verified, 0 errors true true true diff --git a/Test/dafny4/Bug89.dfy b/Test/dafny4/Bug89.dfy index 4aec1acb8b7..c7b77b44f99 100644 --- a/Test/dafny4/Bug89.dfy +++ b/Test/dafny4/Bug89.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method F() returns(x:int) ensures x == 6 diff --git a/Test/dafny4/Bug89.dfy.expect b/Test/dafny4/Bug89.dfy.expect index ed41c274352..62f9457511f 100644 --- a/Test/dafny4/Bug89.dfy.expect +++ b/Test/dafny4/Bug89.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors 6 \ No newline at end of file diff --git a/Test/dafny4/Bug94.dfy b/Test/dafny4/Bug94.dfy index be931445654..c41458539fc 100644 --- a/Test/dafny4/Bug94.dfy +++ b/Test/dafny4/Bug94.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment ghost function foo() : (int, int) { diff --git a/Test/dafny4/Bug94.dfy.expect b/Test/dafny4/Bug94.dfy.expect index ab0cfbb2d9e..3f10ffe7a4c 100644 --- a/Test/dafny4/Bug94.dfy.expect +++ b/Test/dafny4/Bug94.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors 15 \ No newline at end of file diff --git a/Test/dafny4/ClassRefinement.dfy b/Test/dafny4/ClassRefinement.dfy index 320749ec197..3d5fd1006eb 100644 --- a/Test/dafny4/ClassRefinement.dfy +++ b/Test/dafny4/ClassRefinement.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment abstract module M0 { class Counter { diff --git a/Test/dafny4/ClassRefinement.dfy.expect b/Test/dafny4/ClassRefinement.dfy.expect index f456b6777f3..cba3471eb57 100644 --- a/Test/dafny4/ClassRefinement.dfy.expect +++ b/Test/dafny4/ClassRefinement.dfy.expect @@ -1,44 +1 @@ -ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated -ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier finished with 11 verified, 0 errors -ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated -ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -2 1 -ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated -ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -2 1 -ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated -ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -2 1 -ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated -ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification 2 1 diff --git a/Test/dafny4/ClassRefinement.dfy.verifier.expect b/Test/dafny4/ClassRefinement.dfy.verifier.expect new file mode 100644 index 00000000000..543e77303b5 --- /dev/null +++ b/Test/dafny4/ClassRefinement.dfy.verifier.expect @@ -0,0 +1,6 @@ +ClassRefinement.dfy(68,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(69,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(74,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(75,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(77,6): Warning: the modify statement with a block statement is deprecated +ClassRefinement.dfy(78,13): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny4/ExpandedGuardedness.dfy b/Test/dafny4/ExpandedGuardedness.dfy index 5cd7828f932..af620ec40e8 100644 --- a/Test/dafny4/ExpandedGuardedness.dfy +++ b/Test/dafny4/ExpandedGuardedness.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/dafny4/ExpandedGuardedness.dfy.expect b/Test/dafny4/ExpandedGuardedness.dfy.expect index d05670701e0..e0f3b041a66 100644 --- a/Test/dafny4/ExpandedGuardedness.dfy.expect +++ b/Test/dafny4/ExpandedGuardedness.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 12 verified, 0 errors Up 19 20 21 22 23 Up2 19 20 21 22 23 UpIf 19 20 22 24 26 diff --git a/Test/dafny4/FlyingRobots.dfy b/Test/dafny4/FlyingRobots.dfy index 41223cca1aa..f14a2a467cd 100644 --- a/Test/dafny4/FlyingRobots.dfy +++ b/Test/dafny4/FlyingRobots.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // The flying robots examples from an F* tutorial. It demonstrates how to specify // mutable data structures in the heap. diff --git a/Test/dafny4/FlyingRobots.dfy.expect b/Test/dafny4/FlyingRobots.dfy.expect index 5ed0d97333e..e69de29bb2d 100644 --- a/Test/dafny4/FlyingRobots.dfy.expect +++ b/Test/dafny4/FlyingRobots.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 31 verified, 0 errors diff --git a/Test/dafny4/Leq.dfy b/Test/dafny4/Leq.dfy index fac12757ba0..fdbc1078ca3 100644 --- a/Test/dafny4/Leq.dfy +++ b/Test/dafny4/Leq.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Rustan Leino, 22 Sep 2015. // This file considers two definitions of Leq on naturals+infinity. One diff --git a/Test/dafny4/Leq.dfy.expect b/Test/dafny4/Leq.dfy.expect index 15301952c57..e69de29bb2d 100644 --- a/Test/dafny4/Leq.dfy.expect +++ b/Test/dafny4/Leq.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 16 verified, 0 errors diff --git a/Test/dafny4/McCarthy91.dfy b/Test/dafny4/McCarthy91.dfy index 466d30328cc..428f11eb269 100644 --- a/Test/dafny4/McCarthy91.dfy +++ b/Test/dafny4/McCarthy91.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // The usual recursive method for computing McCarthy's 91 function method Main() { diff --git a/Test/dafny4/McCarthy91.dfy.expect b/Test/dafny4/McCarthy91.dfy.expect index b63f7a0b03b..1511cff2c81 100644 --- a/Test/dafny4/McCarthy91.dfy.expect +++ b/Test/dafny4/McCarthy91.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors M(3) = 91 M(99) = 91 M(100) = 91 diff --git a/Test/dafny4/NatList.dfy b/Test/dafny4/NatList.dfy index 567fd461259..5a1b0358eaf 100644 --- a/Test/dafny4/NatList.dfy +++ b/Test/dafny4/NatList.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This file tests some programs where "nat" is a type parameter to // a datatype. diff --git a/Test/dafny4/NatList.dfy.expect b/Test/dafny4/NatList.dfy.expect index 2ceb3169787..5382a29cb9f 100644 --- a/Test/dafny4/NatList.dfy.expect +++ b/Test/dafny4/NatList.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 11 verified, 0 errors ns = List.Cons(4, List.Cons(10, List.Nil)) Sum(ns) = 14 ns' = List.Cons(20, List.Nil) diff --git a/Test/dafny4/Regression2.dfy b/Test/dafny4/Regression2.dfy index 213bf265401..0d28285e74c 100644 --- a/Test/dafny4/Regression2.dfy +++ b/Test/dafny4/Regression2.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module NativeTypes { newtype uint64 = int diff --git a/Test/dafny4/Regression2.dfy.expect b/Test/dafny4/Regression2.dfy.expect index 3f8ac383f86..8a739fb435a 100644 --- a/Test/dafny4/Regression2.dfy.expect +++ b/Test/dafny4/Regression2.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors true true true diff --git a/Test/dafny4/Regression3.dfy b/Test/dafny4/Regression3.dfy index adaa0d2763d..fc60fad3cb1 100644 --- a/Test/dafny4/Regression3.dfy +++ b/Test/dafny4/Regression3.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/dafny4/Regression3.dfy.expect b/Test/dafny4/Regression3.dfy.expect index 841338987c7..1223bf9ffaf 100644 --- a/Test/dafny4/Regression3.dfy.expect +++ b/Test/dafny4/Regression3.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 3 verified, 0 errors 55 Trunc( -3.0 ) = -3 (expected -3) Trunc( -2.8 ) = -3 (expected -3) diff --git a/Test/dafny4/Regression4.dfy b/Test/dafny4/Regression4.dfy index 5f881a5083f..e4bc4cbef85 100644 --- a/Test/dafny4/Regression4.dfy +++ b/Test/dafny4/Regression4.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { } diff --git a/Test/dafny4/Regression4.dfy.expect b/Test/dafny4/Regression4.dfy.expect index ba00363fc08..e69de29bb2d 100644 --- a/Test/dafny4/Regression4.dfy.expect +++ b/Test/dafny4/Regression4.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 4 verified, 0 errors diff --git a/Test/dafny4/Regression6.dfy b/Test/dafny4/Regression6.dfy index f1551d3ef2d..b589ec0ce7d 100644 --- a/Test/dafny4/Regression6.dfy +++ b/Test/dafny4/Regression6.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function Sum(a: array, lo: int, hi: int): int requires 0 <= lo <= hi <= a.Length diff --git a/Test/dafny4/Regression6.dfy.expect b/Test/dafny4/Regression6.dfy.expect index 17464f29e0b..54573bead10 100644 --- a/Test/dafny4/Regression6.dfy.expect +++ b/Test/dafny4/Regression6.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors 0 1028 0 diff --git a/Test/dafny4/Regression7.dfy b/Test/dafny4/Regression7.dfy index 8ce421a62f3..ef3ca5eea44 100644 --- a/Test/dafny4/Regression7.dfy +++ b/Test/dafny4/Regression7.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /rprint:"%t.rprint" /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module ListLibrary { datatype List = Nil | Cons(head: B, tail: List) diff --git a/Test/dafny4/Regression7.dfy.expect b/Test/dafny4/Regression7.dfy.expect index b7b2766a340..4d38be23500 100644 --- a/Test/dafny4/Regression7.dfy.expect +++ b/Test/dafny4/Regression7.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors ListLibrary.List.Cons(28.0, ListLibrary.List.Nil) diff --git a/Test/dafny4/Regression9.dfy b/Test/dafny4/Regression9.dfy index d9e44547252..086007a3ef8 100644 --- a/Test/dafny4/Regression9.dfy +++ b/Test/dafny4/Regression9.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Some tests for the type inference that was revamped // to better support subset types. diff --git a/Test/dafny4/Regression9.dfy.expect b/Test/dafny4/Regression9.dfy.expect index 5a26eaeabfb..2183b22cfa9 100644 --- a/Test/dafny4/Regression9.dfy.expect +++ b/Test/dafny4/Regression9.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors 'D''D''D' diff --git a/Test/dafny4/UnionFind.dfy b/Test/dafny4/UnionFind.dfy index b97b6ef5d61..354f28accb7 100644 --- a/Test/dafny4/UnionFind.dfy +++ b/Test/dafny4/UnionFind.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Rustan Leino, Nov 2015 // Module M0 gives the high-level specification of the UnionFind data structure diff --git a/Test/dafny4/UnionFind.dfy.expect b/Test/dafny4/UnionFind.dfy.expect index 961b161b8dc..1cb72129e49 100644 --- a/Test/dafny4/UnionFind.dfy.expect +++ b/Test/dafny4/UnionFind.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 63 verified, 0 errors false true true false true true diff --git a/Test/dafny4/gcd.dfy b/Test/dafny4/gcd.dfy index 384e338435f..fa92223fa49 100644 --- a/Test/dafny4/gcd.dfy +++ b/Test/dafny4/gcd.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation // A text describing this file is found in a Dafny Power User note: http://leino.science/papers/krml279.html diff --git a/Test/dafny4/gcd.dfy.expect b/Test/dafny4/gcd.dfy.expect index ecbe2b6f64a..c17551a37a4 100644 --- a/Test/dafny4/gcd.dfy.expect +++ b/Test/dafny4/gcd.dfy.expect @@ -1,34 +1,3 @@ - -Dafny program verifier finished with 19 verified, 0 errors - -Dafny program verifier did not attempt verification -15 gcd 9 = 3 -14 gcd 22 = 2 -371 gcd 1 = 1 -1 gcd 2 = 1 -1 gcd 1 = 1 -13 gcd 13 = 13 -60 gcd 60 = 60 - -Dafny program verifier did not attempt verification -15 gcd 9 = 3 -14 gcd 22 = 2 -371 gcd 1 = 1 -1 gcd 2 = 1 -1 gcd 1 = 1 -13 gcd 13 = 13 -60 gcd 60 = 60 - -Dafny program verifier did not attempt verification -15 gcd 9 = 3 -14 gcd 22 = 2 -371 gcd 1 = 1 -1 gcd 2 = 1 -1 gcd 1 = 1 -13 gcd 13 = 13 -60 gcd 60 = 60 - -Dafny program verifier did not attempt verification 15 gcd 9 = 3 14 gcd 22 = 2 371 gcd 1 = 1 diff --git a/Test/dafny4/git-issue104.dfy b/Test/dafny4/git-issue104.dfy index 86683a2ed88..b05ec4de1cc 100644 --- a/Test/dafny4/git-issue104.dfy +++ b/Test/dafny4/git-issue104.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment predicate bug(a: array) reads a diff --git a/Test/dafny4/git-issue104.dfy.expect b/Test/dafny4/git-issue104.dfy.expect index f572edb2471..836a5934c8f 100644 --- a/Test/dafny4/git-issue104.dfy.expect +++ b/Test/dafny4/git-issue104.dfy.expect @@ -1,17 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification -true false - -Dafny program verifier did not attempt verification -true false - -Dafny program verifier did not attempt verification -true false - -Dafny program verifier did not attempt verification -true false - -Dafny program verifier did not attempt verification true false diff --git a/Test/dafny4/git-issue105.dfy b/Test/dafny4/git-issue105.dfy index 09cfce29a6e..4cff2330cba 100644 --- a/Test/dafny4/git-issue105.dfy +++ b/Test/dafny4/git-issue105.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method lol() returns (c: int) { diff --git a/Test/dafny4/git-issue105.dfy.expect b/Test/dafny4/git-issue105.dfy.expect index 012f5b99379..e69de29bb2d 100644 --- a/Test/dafny4/git-issue105.dfy.expect +++ b/Test/dafny4/git-issue105.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/dafny4/git-issue15.dfy b/Test/dafny4/git-issue15.dfy index 96905286209..7c77a67ccf9 100755 --- a/Test/dafny4/git-issue15.dfy +++ b/Test/dafny4/git-issue15.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype obj = Obj(fooBar:map) datatype foo = Foo diff --git a/Test/dafny4/git-issue15.dfy.expect b/Test/dafny4/git-issue15.dfy.expect index e52de78d0b1..00750edc07d 100755 --- a/Test/dafny4/git-issue15.dfy.expect +++ b/Test/dafny4/git-issue15.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors 3 diff --git a/Test/dafny4/git-issue195.dfy b/Test/dafny4/git-issue195.dfy index ac4b1306ac6..fccdc5461c8 100644 --- a/Test/dafny4/git-issue195.dfy +++ b/Test/dafny4/git-issue195.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Block = Block(prevBlockHash:Hash, txs:seq, proof:VProof) diff --git a/Test/dafny4/git-issue195.dfy.expect b/Test/dafny4/git-issue195.dfy.expect index 30692fdef2a..638bfb50b2d 100644 --- a/Test/dafny4/git-issue195.dfy.expect +++ b/Test/dafny4/git-issue195.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 4 verified, 0 errors true true true true true diff --git a/Test/dafny4/git-issue196.dfy b/Test/dafny4/git-issue196.dfy index 64eb0e9123f..056687ab1a5 100644 --- a/Test/dafny4/git-issue196.dfy +++ b/Test/dafny4/git-issue196.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class A { var a: array> diff --git a/Test/dafny4/git-issue196.dfy.expect b/Test/dafny4/git-issue196.dfy.expect index a333f982b8f..ee25a2c5027 100644 --- a/Test/dafny4/git-issue196.dfy.expect +++ b/Test/dafny4/git-issue196.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 9 verified, 0 errors 42 42 42 5000 5000 5000 5000 5000 diff --git a/Test/dafny4/git-issue4.dfy b/Test/dafny4/git-issue4.dfy index b19cf3ce6df..b17a545e219 100644 --- a/Test/dafny4/git-issue4.dfy +++ b/Test/dafny4/git-issue4.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function IntToChar(i:int):char requires 0 <= i < 10 diff --git a/Test/dafny4/git-issue4.dfy.expect b/Test/dafny4/git-issue4.dfy.expect index 33af1e040b7..24e24eb63cc 100644 --- a/Test/dafny4/git-issue4.dfy.expect +++ b/Test/dafny4/git-issue4.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors '8' 8 '8' 56 56 diff --git a/Test/dafny4/git-issue43.dfy b/Test/dafny4/git-issue43.dfy index edf056a1a91..d320d7761bc 100644 --- a/Test/dafny4/git-issue43.dfy +++ b/Test/dafny4/git-issue43.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class System { } diff --git a/Test/dafny4/git-issue43.dfy.expect b/Test/dafny4/git-issue43.dfy.expect index 012f5b99379..e69de29bb2d 100644 --- a/Test/dafny4/git-issue43.dfy.expect +++ b/Test/dafny4/git-issue43.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/dafny4/git-issue76.dfy b/Test/dafny4/git-issue76.dfy index 708ee911b24..85613dba2f2 100644 --- a/Test/dafny4/git-issue76.dfy +++ b/Test/dafny4/git-issue76.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { M0(); diff --git a/Test/dafny4/git-issue76.dfy.expect b/Test/dafny4/git-issue76.dfy.expect index 546da03a267..0cfbf08886f 100644 --- a/Test/dafny4/git-issue76.dfy.expect +++ b/Test/dafny4/git-issue76.dfy.expect @@ -1,8 +1 @@ - -Dafny program verifier finished with 7 verified, 0 errors - -Dafny program verifier did not attempt verification -2 - -Dafny program verifier did not attempt verification 2 diff --git a/Test/dafny4/git-issue79.dfy b/Test/dafny4/git-issue79.dfy index 046a7c5e375..f3fb17b8531 100644 --- a/Test/dafny4/git-issue79.dfy +++ b/Test/dafny4/git-issue79.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype EInt = Int(val: int) | Unknown type Pair = (string, EInt) diff --git a/Test/dafny4/git-issue79.dfy.expect b/Test/dafny4/git-issue79.dfy.expect index 012f5b99379..e69de29bb2d 100644 --- a/Test/dafny4/git-issue79.dfy.expect +++ b/Test/dafny4/git-issue79.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/dafny4/git-issue88.dfy b/Test/dafny4/git-issue88.dfy index 1c188333783..83c0b4a8ef9 100644 --- a/Test/dafny4/git-issue88.dfy +++ b/Test/dafny4/git-issue88.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment type Grid = array2 diff --git a/Test/dafny4/git-issue88.dfy.expect b/Test/dafny4/git-issue88.dfy.expect index 00a51f822da..e69de29bb2d 100644 --- a/Test/dafny4/git-issue88.dfy.expect +++ b/Test/dafny4/git-issue88.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 3 verified, 0 errors diff --git a/Test/exceptions/Exceptions1.dfy b/Test/exceptions/Exceptions1.dfy index 11bb2f7923d..4ffd3291f2f 100644 --- a/Test/exceptions/Exceptions1.dfy +++ b/Test/exceptions/Exceptions1.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" /rprint:"%t.rprint" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "./NatOutcome.dfy" include "./VoidOutcome.dfy" diff --git a/Test/exceptions/Exceptions1.dfy.expect b/Test/exceptions/Exceptions1.dfy.expect index e61be2a11ad..c87eb938c55 100644 --- a/Test/exceptions/Exceptions1.dfy.expect +++ b/Test/exceptions/Exceptions1.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 7 verified, 0 errors true_true_true_88_42_33_Success=100 ___VoidSuccess true_true_false_88_42_Failure diff --git a/Test/exceptions/Exceptions1Expressions.dfy b/Test/exceptions/Exceptions1Expressions.dfy index c0f3c67cd39..a57e5b78c7e 100644 --- a/Test/exceptions/Exceptions1Expressions.dfy +++ b/Test/exceptions/Exceptions1Expressions.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" /rprint:"%t.rprint" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "./NatOutcomeDt.dfy" include "./VoidOutcomeDt.dfy" diff --git a/Test/exceptions/Exceptions1Expressions.dfy.expect b/Test/exceptions/Exceptions1Expressions.dfy.expect index 3da30f30d36..3f1b38ab150 100644 --- a/Test/exceptions/Exceptions1Expressions.dfy.expect +++ b/Test/exceptions/Exceptions1Expressions.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors true_true_true_Success=100 VoidSuccess true_true_false_Failure diff --git a/Test/exports/FIFO.dfy b/Test/exports/FIFO.dfy index 173e412eaa9..95a8d25510c 100644 --- a/Test/exports/FIFO.dfy +++ b/Test/exports/FIFO.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "Queue.dfyi" diff --git a/Test/exports/FIFO.dfy.expect b/Test/exports/FIFO.dfy.expect index 8350309cc2a..4539bbf2d22 100644 --- a/Test/exports/FIFO.dfy.expect +++ b/Test/exports/FIFO.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors 0 1 2 diff --git a/Test/exports/LIFO.dfy b/Test/exports/LIFO.dfy index ea691935620..513dd457c3f 100644 --- a/Test/exports/LIFO.dfy +++ b/Test/exports/LIFO.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "Queue.dfyi" diff --git a/Test/exports/LIFO.dfy.expect b/Test/exports/LIFO.dfy.expect index 48aa7787d09..ae136939b64 100644 --- a/Test/exports/LIFO.dfy.expect +++ b/Test/exports/LIFO.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors 2 1 0 diff --git a/Test/exports/xrefine2.dfy b/Test/exports/xrefine2.dfy index 0b25240916c..2409cc0509a 100644 --- a/Test/exports/xrefine2.dfy +++ b/Test/exports/xrefine2.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module ProtocolImpl { diff --git a/Test/exports/xrefine2.dfy.expect b/Test/exports/xrefine2.dfy.expect index 34e1b357779..858dbd09862 100644 --- a/Test/exports/xrefine2.dfy.expect +++ b/Test/exports/xrefine2.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 4 verified, 0 errors HI.foo(h1) => true HI.foo(h2) => true PI.orange(1) => 2 diff --git a/Test/exports/xrefine3.dfy b/Test/exports/xrefine3.dfy index 24d6fa062f0..bb2480bfed7 100644 --- a/Test/exports/xrefine3.dfy +++ b/Test/exports/xrefine3.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module AlphaImpl { diff --git a/Test/exports/xrefine3.dfy.expect b/Test/exports/xrefine3.dfy.expect index 488ab11c36a..ae50cef0985 100644 --- a/Test/exports/xrefine3.dfy.expect +++ b/Test/exports/xrefine3.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors o hai! diff --git a/Test/git-issues/git-issue-032.dfy b/Test/git-issues/git-issue-032.dfy index bde5b2f2a69..d7dd61440a7 100644 --- a/Test/git-issues/git-issue-032.dfy +++ b/Test/git-issues/git-issue-032.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/git-issues/git-issue-032.dfy.expect b/Test/git-issues/git-issue-032.dfy.expect index 91c285009c1..2a64997c6f7 100644 --- a/Test/git-issues/git-issue-032.dfy.expect +++ b/Test/git-issues/git-issue-032.dfy.expect @@ -1,40 +1,3 @@ -git-issue-032.dfy(18,35): Warning: this branch is redundant -git-issue-032.dfy(27,34): Warning: this branch is redundant -git-issue-032.dfy(28,35): Warning: this branch is redundant - -Dafny program verifier finished with 1 verified, 0 errors -git-issue-032.dfy(18,35): Warning: this branch is redundant -git-issue-032.dfy(27,34): Warning: this branch is redundant -git-issue-032.dfy(28,35): Warning: this branch is redundant - -Dafny program verifier did not attempt verification -OK3 -OK -OKOK -00 -git-issue-032.dfy(18,35): Warning: this branch is redundant -git-issue-032.dfy(27,34): Warning: this branch is redundant -git-issue-032.dfy(28,35): Warning: this branch is redundant - -Dafny program verifier did not attempt verification -OK3 -OK -OKOK -00 -git-issue-032.dfy(18,35): Warning: this branch is redundant -git-issue-032.dfy(27,34): Warning: this branch is redundant -git-issue-032.dfy(28,35): Warning: this branch is redundant - -Dafny program verifier did not attempt verification -OK3 -OK -OKOK -00 -git-issue-032.dfy(18,35): Warning: this branch is redundant -git-issue-032.dfy(27,34): Warning: this branch is redundant -git-issue-032.dfy(28,35): Warning: this branch is redundant - -Dafny program verifier did not attempt verification OK3 OK OKOK diff --git a/Test/git-issues/git-issue-032.dfy.verifier.expect b/Test/git-issues/git-issue-032.dfy.verifier.expect new file mode 100644 index 00000000000..1878351db97 --- /dev/null +++ b/Test/git-issues/git-issue-032.dfy.verifier.expect @@ -0,0 +1,3 @@ +git-issue-032.dfy(13,35): Warning: this branch is redundant +git-issue-032.dfy(22,34): Warning: this branch is redundant +git-issue-032.dfy(23,35): Warning: this branch is redundant diff --git a/Test/git-issues/git-issue-1029.dfy b/Test/git-issues/git-issue-1029.dfy index a310a99c169..7e1e7a31cf2 100644 --- a/Test/git-issues/git-issue-1029.dfy +++ b/Test/git-issues/git-issue-1029.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module ValueType { export S diff --git a/Test/git-issues/git-issue-1029.dfy.expect b/Test/git-issues/git-issue-1029.dfy.expect index 7108c86b0b5..116f2acb4ee 100644 --- a/Test/git-issues/git-issue-1029.dfy.expect +++ b/Test/git-issues/git-issue-1029.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors [true, true, false] UI.Op2.GetOps([true, true, false], [true, true, false]) diff --git a/Test/git-issues/git-issue-1093.dfy b/Test/git-issues/git-issue-1093.dfy index 9365397496f..97797296680 100644 --- a/Test/git-issues/git-issue-1093.dfy +++ b/Test/git-issues/git-issue-1093.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { UnusedLabel(); diff --git a/Test/git-issues/git-issue-1093.dfy.expect b/Test/git-issues/git-issue-1093.dfy.expect index 0cadf5e4199..f599e28b8ab 100644 --- a/Test/git-issues/git-issue-1093.dfy.expect +++ b/Test/git-issues/git-issue-1093.dfy.expect @@ -1,17 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification -10 - -Dafny program verifier did not attempt verification -10 - -Dafny program verifier did not attempt verification -10 - -Dafny program verifier did not attempt verification -10 - -Dafny program verifier did not attempt verification 10 diff --git a/Test/git-issues/git-issue-1130.dfy b/Test/git-issues/git-issue-1130.dfy index 5b7fc5068e2..f1f5ad5a54b 100644 --- a/Test/git-issues/git-issue-1130.dfy +++ b/Test/git-issues/git-issue-1130.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var a := new Issue.Foo(); diff --git a/Test/git-issues/git-issue-1130.dfy.expect b/Test/git-issues/git-issue-1130.dfy.expect index 6c3dd07b1f1..de97a6dc4ca 100644 --- a/Test/git-issues/git-issue-1130.dfy.expect +++ b/Test/git-issues/git-issue-1130.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 13 verified, 0 errors 012 diff --git a/Test/git-issues/git-issue-1150.dfy b/Test/git-issues/git-issue-1150.dfy index d4cee3c3ef2..d3416a53813 100644 --- a/Test/git-issues/git-issue-1150.dfy +++ b/Test/git-issues/git-issue-1150.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Foo = Foo(x: nat) { diff --git a/Test/git-issues/git-issue-1150.dfy.expect b/Test/git-issues/git-issue-1150.dfy.expect index fb4be1897cf..f34d8df4a11 100644 --- a/Test/git-issues/git-issue-1150.dfy.expect +++ b/Test/git-issues/git-issue-1150.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 1 verified, 0 errors Foo.Foo(2) true Foo.Foo(5) false diff --git a/Test/git-issues/git-issue-1185.dfy b/Test/git-issues/git-issue-1185.dfy index 32c340b0736..c7ad72134d1 100644 --- a/Test/git-issues/git-issue-1185.dfy +++ b/Test/git-issues/git-issue-1185.dfy @@ -1,9 +1,5 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment predicate P(s: set) requires s != {} diff --git a/Test/git-issues/git-issue-1185.dfy.expect b/Test/git-issues/git-issue-1185.dfy.expect index 90ab58a1f5a..525ce875525 100644 --- a/Test/git-issues/git-issue-1185.dfy.expect +++ b/Test/git-issues/git-issue-1185.dfy.expect @@ -1,14 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification -{12, 20} true 6 - -Dafny program verifier did not attempt verification -{20, 12} true 6 - -Dafny program verifier did not attempt verification -{12, 20} true 6 - -Dafny program verifier did not attempt verification {12, 20} true 6 diff --git a/Test/git-issues/git-issue-1185.dfy.java.expect b/Test/git-issues/git-issue-1185.dfy.java.expect new file mode 100644 index 00000000000..8ba669ad273 --- /dev/null +++ b/Test/git-issues/git-issue-1185.dfy.java.expect @@ -0,0 +1 @@ +{20, 12} true 6 diff --git a/Test/git-issues/git-issue-1514.dfy b/Test/git-issues/git-issue-1514.dfy index 74b75478609..816eadce69b 100644 --- a/Test/git-issues/git-issue-1514.dfy +++ b/Test/git-issues/git-issue-1514.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "Wrappers.dfy" import opened Wrappers diff --git a/Test/git-issues/git-issue-1514.dfy.expect b/Test/git-issues/git-issue-1514.dfy.expect index 2f22d47cee8..b5754e20373 100644 --- a/Test/git-issues/git-issue-1514.dfy.expect +++ b/Test/git-issues/git-issue-1514.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-1514b.dfy b/Test/git-issues/git-issue-1514b.dfy index 1d8cd122d28..050a4a71760 100644 --- a/Test/git-issues/git-issue-1514b.dfy +++ b/Test/git-issues/git-issue-1514b.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "Wrappers.dfy" import opened Wrappers diff --git a/Test/git-issues/git-issue-1514b.dfy.expect b/Test/git-issues/git-issue-1514b.dfy.expect index 2f22d47cee8..b5754e20373 100644 --- a/Test/git-issues/git-issue-1514b.dfy.expect +++ b/Test/git-issues/git-issue-1514b.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-1514c.dfy b/Test/git-issues/git-issue-1514c.dfy index d9df7d108c1..578316f217c 100644 --- a/Test/git-issues/git-issue-1514c.dfy +++ b/Test/git-issues/git-issue-1514c.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "Wrappers.dfy" import opened Wrappers diff --git a/Test/git-issues/git-issue-1514c.dfy.expect b/Test/git-issues/git-issue-1514c.dfy.expect index 694254c28aa..9766475a418 100644 --- a/Test/git-issues/git-issue-1514c.dfy.expect +++ b/Test/git-issues/git-issue-1514c.dfy.expect @@ -1,8 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification -ok - -Dafny program verifier did not attempt verification ok diff --git a/Test/git-issues/git-issue-1553.dfy b/Test/git-issues/git-issue-1553.dfy index 6267018c92d..81cbef7aa7e 100644 --- a/Test/git-issues/git-issue-1553.dfy +++ b/Test/git-issues/git-issue-1553.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { } method Test() { diff --git a/Test/git-issues/git-issue-1553.dfy.expect b/Test/git-issues/git-issue-1553.dfy.expect index 65d3b5d6635..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-1553.dfy.expect +++ b/Test/git-issues/git-issue-1553.dfy.expect @@ -1,10 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-1604b.dfy b/Test/git-issues/git-issue-1604b.dfy index 497ee5017d5..d7c4169ec60 100644 --- a/Test/git-issues/git-issue-1604b.dfy +++ b/Test/git-issues/git-issue-1604b.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /errorLimit:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --error-limit:0 --relax-definite-assignment // Double constraints. Will this still work? diff --git a/Test/git-issues/git-issue-1604b.dfy.expect b/Test/git-issues/git-issue-1604b.dfy.expect index 93d7203e654..b5754e20373 100644 --- a/Test/git-issues/git-issue-1604b.dfy.expect +++ b/Test/git-issues/git-issue-1604b.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 5 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-1714.dfy b/Test/git-issues/git-issue-1714.dfy index 6ce8915a7af..540a41c39cb 100644 --- a/Test/git-issues/git-issue-1714.dfy +++ b/Test/git-issues/git-issue-1714.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait Base {} class Derived extends Base { var n: int constructor() { n := 0; } } diff --git a/Test/git-issues/git-issue-1714.dfy.expect b/Test/git-issues/git-issue-1714.dfy.expect index 67dd7d95642..88039063d09 100644 --- a/Test/git-issues/git-issue-1714.dfy.expect +++ b/Test/git-issues/git-issue-1714.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors (b as Derived).n == 0 diff --git a/Test/git-issues/git-issue-1815a.dfy b/Test/git-issues/git-issue-1815a.dfy index 91fb7a32aa6..72d55a1cb4f 100644 --- a/Test/git-issues/git-issue-1815a.dfy +++ b/Test/git-issues/git-issue-1815a.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Dt<+U> = Dt(x: U, i: int) diff --git a/Test/git-issues/git-issue-1815a.dfy.expect b/Test/git-issues/git-issue-1815a.dfy.expect index 7b2651302d9..19f86f493ab 100644 --- a/Test/git-issues/git-issue-1815a.dfy.expect +++ b/Test/git-issues/git-issue-1815a.dfy.expect @@ -1,17 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification -done - -Dafny program verifier did not attempt verification -done - -Dafny program verifier did not attempt verification -done - -Dafny program verifier did not attempt verification -done - -Dafny program verifier did not attempt verification done diff --git a/Test/git-issues/git-issue-1852.dfy b/Test/git-issues/git-issue-1852.dfy index 516835e8ea8..046f3fca1fc 100644 --- a/Test/git-issues/git-issue-1852.dfy +++ b/Test/git-issues/git-issue-1852.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module A { export diff --git a/Test/git-issues/git-issue-1852.dfy.expect b/Test/git-issues/git-issue-1852.dfy.expect index e9cd0ea2e07..299a71f3fe4 100644 --- a/Test/git-issues/git-issue-1852.dfy.expect +++ b/Test/git-issues/git-issue-1852.dfy.expect @@ -1,8 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification -5 5 - -Dafny program verifier did not attempt verification 5 5 diff --git a/Test/git-issues/git-issue-1903.dfy b/Test/git-issues/git-issue-1903.dfy index 7edb2a46c61..60ee1c121ab 100644 --- a/Test/git-issues/git-issue-1903.dfy +++ b/Test/git-issues/git-issue-1903.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method g(x : seq := []) { diff --git a/Test/git-issues/git-issue-1903.dfy.expect b/Test/git-issues/git-issue-1903.dfy.expect index 3170fb0c7f2..84cc8d360f9 100644 --- a/Test/git-issues/git-issue-1903.dfy.expect +++ b/Test/git-issues/git-issue-1903.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors worked! diff --git a/Test/git-issues/git-issue-1909.dfy b/Test/git-issues/git-issue-1909.dfy index 7fb5b3b8c48..83d9ec1d785 100644 --- a/Test/git-issues/git-issue-1909.dfy +++ b/Test/git-issues/git-issue-1909.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype ABC = ABC(nameonly a: int, nameonly b: int, nameonly c: int) diff --git a/Test/git-issues/git-issue-1909.dfy.expect b/Test/git-issues/git-issue-1909.dfy.expect index b4eb7e7774e..ab6f7d69d36 100644 --- a/Test/git-issues/git-issue-1909.dfy.expect +++ b/Test/git-issues/git-issue-1909.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors ABC.ABC(19, 21, 23) ABC.ABC(19, 42, 23) ABC.ABC(100, 42, 90) diff --git a/Test/git-issues/git-issue-2013.dfy b/Test/git-issues/git-issue-2013.dfy index d1d3e15880e..1f3962988ee 100644 --- a/Test/git-issues/git-issue-2013.dfy +++ b/Test/git-issues/git-issue-2013.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/git-issues/git-issue-2013.dfy.expect b/Test/git-issues/git-issue-2013.dfy.expect index 7ff6ce957cf..22e56ce7263 100644 --- a/Test/git-issues/git-issue-2013.dfy.expect +++ b/Test/git-issues/git-issue-2013.dfy.expect @@ -1,55 +1,3 @@ - -Dafny program verifier finished with 12 verified, 0 errors - -Dafny program verifier did not attempt verification -16 -16 -12 30 30 -Result.Success(8) Result.Failure(_module.MyClassException) -{100} {100} {100} -{MoreTests.C} {MoreTests.C} {MoreTests.C} -100 100 100 -MoreTests.C MoreTests.C MoreTests.C -Conveyance.NonVariantResult.NVSuccess(Conveyance.Car) Conveyance.CovariantResult.CVSuccess(Conveyance.Car) -M.Stream.Next - -Dafny program verifier did not attempt verification -16 -16 -12 30 30 -Result.Success(8) Result.Failure(_module.MyClassException) -{100} {100} {100} -{MoreTests.C} {MoreTests.C} {MoreTests.C} -100 100 100 -MoreTests.C MoreTests.C MoreTests.C -Conveyance.NonVariantResult.NVSuccess(Conveyance.Car) Conveyance.CovariantResult.CVSuccess(Conveyance.Car) -M.Stream.Next - -Dafny program verifier did not attempt verification -16 -16 -12 30 30 -Result.Success(8) Result.Failure(_module.MyClassException) -{100} {100} {100} -{MoreTests.C} {MoreTests.C} {MoreTests.C} -100 100 100 -MoreTests.C MoreTests.C MoreTests.C -Conveyance.NonVariantResult.NVSuccess(Conveyance.Car) Conveyance.CovariantResult.CVSuccess(Conveyance.Car) -M.Stream.Next - -Dafny program verifier did not attempt verification -16 -16 -12 30 30 -Result.Success(8) Result.Failure(_module.MyClassException) -{100} {100} {100} -{MoreTests.C} {MoreTests.C} {MoreTests.C} -100 100 100 -MoreTests.C MoreTests.C MoreTests.C -Conveyance.NonVariantResult.NVSuccess(Conveyance.Car) Conveyance.CovariantResult.CVSuccess(Conveyance.Car) -M.Stream.Next - -Dafny program verifier did not attempt verification 16 16 12 30 30 diff --git a/Test/git-issues/git-issue-2441.dfy b/Test/git-issues/git-issue-2441.dfy index bc9c8721ee2..4179ecc87bc 100644 --- a/Test/git-issues/git-issue-2441.dfy +++ b/Test/git-issues/git-issue-2441.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype A = A(B: B) datatype B = X diff --git a/Test/git-issues/git-issue-2441.dfy.expect b/Test/git-issues/git-issue-2441.dfy.expect index 0c3f603d584..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-2441.dfy.expect +++ b/Test/git-issues/git-issue-2441.dfy.expect @@ -1,6 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-2510.dfy b/Test/git-issues/git-issue-2510.dfy index 22ef8e47058..11ee2877bb3 100644 --- a/Test/git-issues/git-issue-2510.dfy +++ b/Test/git-issues/git-issue-2510.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:4 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /// Check that the compiler accepts `:- assume {:axiom} …`. diff --git a/Test/git-issues/git-issue-2510.dfy.expect b/Test/git-issues/git-issue-2510.dfy.expect index b341a39a78d..56a6051ca2b 100644 --- a/Test/git-issues/git-issue-2510.dfy.expect +++ b/Test/git-issues/git-issue-2510.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors 1 \ No newline at end of file diff --git a/Test/git-issues/git-issue-2608.dfy b/Test/git-issues/git-issue-2608.dfy index 459c9ffbf94..c606177f94f 100644 --- a/Test/git-issues/git-issue-2608.dfy +++ b/Test/git-issues/git-issue-2608.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /compileTarget:js "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method GetNext(i: int) returns (j: int, possible: bool) { if i == 1 { diff --git a/Test/git-issues/git-issue-2608.dfy.expect b/Test/git-issues/git-issue-2608.dfy.expect index dce7ba1814a..d9ed583f710 100644 --- a/Test/git-issues/git-issue-2608.dfy.expect +++ b/Test/git-issues/git-issue-2608.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors 82411246231944714271214 \ No newline at end of file diff --git a/Test/git-issues/git-issue-262.dfy b/Test/git-issues/git-issue-262.dfy index 2c00ad94a39..22d9a31b2fe 100644 --- a/Test/git-issues/git-issue-262.dfy +++ b/Test/git-issues/git-issue-262.dfy @@ -1,8 +1,5 @@ -// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" -// RUN: %dafny /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function tst(x: nat): nat { x + 1 diff --git a/Test/git-issues/git-issue-262.dfy.expect b/Test/git-issues/git-issue-262.dfy.expect index 76af42cd4a3..41d8cd55158 100644 --- a/Test/git-issues/git-issue-262.dfy.expect +++ b/Test/git-issues/git-issue-262.dfy.expect @@ -1,20 +1,2 @@ - -Dafny program verifier finished with 2 verified, 0 errors System.Func`2[System.Numerics.BigInteger,System.Numerics.BigInteger] System.Func`2[System.Numerics.BigInteger,System.Numerics.BigInteger] - -Dafny program verifier finished with 2 verified, 0 errors -tst(x) { - return (x).plus(_dafny.ONE); - } -tst(x) { - return (x).plus(_dafny.ONE); - } - -Dafny program verifier finished with 2 verified, 0 errors -func(dafny.Int) dafny.Int -func(dafny.Int) dafny.Int - -Dafny program verifier finished with 2 verified, 0 errors -Function -Function diff --git a/Test/git-issues/git-issue-262.dfy.go.expect b/Test/git-issues/git-issue-262.dfy.go.expect new file mode 100644 index 00000000000..578754c176c --- /dev/null +++ b/Test/git-issues/git-issue-262.dfy.go.expect @@ -0,0 +1,2 @@ +func(dafny.Int) dafny.Int +func(dafny.Int) dafny.Int diff --git a/Test/git-issues/git-issue-262.dfy.java.expect b/Test/git-issues/git-issue-262.dfy.java.expect new file mode 100644 index 00000000000..aa5478ef8c9 --- /dev/null +++ b/Test/git-issues/git-issue-262.dfy.java.expect @@ -0,0 +1,2 @@ +Function +Function diff --git a/Test/git-issues/git-issue-262.dfy.js.expect b/Test/git-issues/git-issue-262.dfy.js.expect new file mode 100644 index 00000000000..e181ef2fef8 --- /dev/null +++ b/Test/git-issues/git-issue-262.dfy.js.expect @@ -0,0 +1,6 @@ +tst(x) { + return (x).plus(_dafny.ONE); + } +tst(x) { + return (x).plus(_dafny.ONE); + } diff --git a/Test/git-issues/git-issue-267.dfy b/Test/git-issues/git-issue-267.dfy index cef2fcc6c17..2b0b3281589 100644 --- a/Test/git-issues/git-issue-267.dfy +++ b/Test/git-issues/git-issue-267.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var c := 1; diff --git a/Test/git-issues/git-issue-267.dfy.expect b/Test/git-issues/git-issue-267.dfy.expect index d71aef2f440..cd7da05e3d2 100644 --- a/Test/git-issues/git-issue-267.dfy.expect +++ b/Test/git-issues/git-issue-267.dfy.expect @@ -1,14 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification -210 - -Dafny program verifier did not attempt verification -210 - -Dafny program verifier did not attempt verification -210 - -Dafny program verifier did not attempt verification 210 diff --git a/Test/git-issues/git-issue-2672.dfy b/Test/git-issues/git-issue-2672.dfy index 338299ee8b7..52c5b9c638c 100644 --- a/Test/git-issues/git-issue-2672.dfy +++ b/Test/git-issues/git-issue-2672.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment newtype sreal = r: real | r > -4 as real newtype sint = r: int | r > -4 as int diff --git a/Test/git-issues/git-issue-2672.dfy.expect b/Test/git-issues/git-issue-2672.dfy.expect index c9c3244b6f4..43440a83d53 100644 --- a/Test/git-issues/git-issue-2672.dfy.expect +++ b/Test/git-issues/git-issue-2672.dfy.expect @@ -1,47 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors - -Dafny program verifier did not attempt verification -true true true true true true true true true true -false false false false false false false false false false -false false false false false false false false false false -true true true true true true true true true true -true true true true true true true true true true -false false false false false false false false false false -true true true -false false false - -Dafny program verifier did not attempt verification -true true true true true true true true true true -false false false false false false false false false false -false false false false false false false false false false -true true true true true true true true true true -true true true true true true true true true true -false false false false false false false false false false -true true true -false false false - -Dafny program verifier did not attempt verification -true true true true true true true true true true -false false false false false false false false false false -false false false false false false false false false false -true true true true true true true true true true -true true true true true true true true true true -false false false false false false false false false false -true true true -false false false - -Dafny program verifier did not attempt verification -true true true true true true true true true true -false false false false false false false false false false -false false false false false false false false false false -true true true true true true true true true true -true true true true true true true true true true -false false false false false false false false false false -true true true -false false false - -Dafny program verifier did not attempt verification true true true true true true true true true true false false false false false false false false false false false false false false false false false false false false diff --git a/Test/git-issues/git-issue-2726a.dfy b/Test/git-issues/git-issue-2726a.dfy index 641fefbbdc4..a43d5dd0107 100644 --- a/Test/git-issues/git-issue-2726a.dfy +++ b/Test/git-issues/git-issue-2726a.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /compileTarget:cs "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment const digits := ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"] diff --git a/Test/git-issues/git-issue-2726a.dfy.expect b/Test/git-issues/git-issue-2726a.dfy.expect index 6985935c88c..8e1bedb2a64 100644 --- a/Test/git-issues/git-issue-2726a.dfy.expect +++ b/Test/git-issues/git-issue-2726a.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors 4 42 422 diff --git a/Test/git-issues/git-issue-2733.dfy b/Test/git-issues/git-issue-2733.dfy index 232eab3cc74..65bc2b991fd 100644 --- a/Test/git-issues/git-issue-2733.dfy +++ b/Test/git-issues/git-issue-2733.dfy @@ -1,11 +1,4 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cpp "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false method Main() { print "XYZ"; // Checks that no extra newline is added to the output diff --git a/Test/git-issues/git-issue-2733.dfy.expect b/Test/git-issues/git-issue-2733.dfy.expect index b139e2f3d58..77bf25132db 100644 --- a/Test/git-issues/git-issue-2733.dfy.expect +++ b/Test/git-issues/git-issue-2733.dfy.expect @@ -1,15 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification -XYZ -Dafny program verifier did not attempt verification -XYZ -Dafny program verifier did not attempt verification -XYZ -Dafny program verifier did not attempt verification -XYZ -Dafny program verifier did not attempt verification -XYZ -Dafny program verifier did not attempt verification XYZ \ No newline at end of file diff --git a/Test/git-issues/git-issue-2792.dfy b/Test/git-issues/git-issue-2792.dfy index 89e736667c0..d2fb9db2055 100644 --- a/Test/git-issues/git-issue-2792.dfy +++ b/Test/git-issues/git-issue-2792.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /compileTarget:java "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Wrapper = Wrapper(s: seq) { diff --git a/Test/git-issues/git-issue-2792.dfy.expect b/Test/git-issues/git-issue-2792.dfy.expect index c1e603c58fe..ca1683c3020 100644 --- a/Test/git-issues/git-issue-2792.dfy.expect +++ b/Test/git-issues/git-issue-2792.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors [] Wrapper2.Wrapper2([], 2792) diff --git a/Test/git-issues/git-issue-283.dfy b/Test/git-issues/git-issue-283.dfy index c7c10f4aea3..1ca6d48d32c 100644 --- a/Test/git-issues/git-issue-283.dfy +++ b/Test/git-issues/git-issue-283.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Result = | Success(value: T) diff --git a/Test/git-issues/git-issue-283.dfy.expect b/Test/git-issues/git-issue-283.dfy.expect index 2adb114b8a0..a965a70ed4e 100644 --- a/Test/git-issues/git-issue-283.dfy.expect +++ b/Test/git-issues/git-issue-283.dfy.expect @@ -1,14 +1 @@ - -Dafny program verifier finished with 9 verified, 0 errors - -Dafny program verifier did not attempt verification -Done - -Dafny program verifier did not attempt verification -Done - -Dafny program verifier did not attempt verification -Done - -Dafny program verifier did not attempt verification Done diff --git a/Test/git-issues/git-issue-283d.dfy b/Test/git-issues/git-issue-283d.dfy index 54ee58fb456..46c1056d5e1 100644 --- a/Test/git-issues/git-issue-283d.dfy +++ b/Test/git-issues/git-issue-283d.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Foo = R(v: int) diff --git a/Test/git-issues/git-issue-283d.dfy.expect b/Test/git-issues/git-issue-283d.dfy.expect index 8da23be5c8c..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-283d.dfy.expect +++ b/Test/git-issues/git-issue-283d.dfy.expect @@ -1,10 +0,0 @@ - -Dafny program verifier finished with 4 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-314.dfy b/Test/git-issues/git-issue-314.dfy index 5e3e93ca654..a7fc06564a5 100644 --- a/Test/git-issues/git-issue-314.dfy +++ b/Test/git-issues/git-issue-314.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype S = S(G: array) datatype T = T(F: array, ghost Repr: set) diff --git a/Test/git-issues/git-issue-314.dfy.expect b/Test/git-issues/git-issue-314.dfy.expect index f02fc57989a..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-314.dfy.expect +++ b/Test/git-issues/git-issue-314.dfy.expect @@ -1,10 +0,0 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-332.dfy b/Test/git-issues/git-issue-332.dfy index ca2b08f3e8d..5166441405d 100644 --- a/Test/git-issues/git-issue-332.dfy +++ b/Test/git-issues/git-issue-332.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var foo := new B.Foo(15); diff --git a/Test/git-issues/git-issue-332.dfy.expect b/Test/git-issues/git-issue-332.dfy.expect index 57cad39addf..209e3ef4b62 100644 --- a/Test/git-issues/git-issue-332.dfy.expect +++ b/Test/git-issues/git-issue-332.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 6 verified, 0 errors 20 diff --git a/Test/git-issues/git-issue-354.dfy b/Test/git-issues/git-issue-354.dfy index 5938c2f71ae..c3d63021209 100644 --- a/Test/git-issues/git-issue-354.dfy +++ b/Test/git-issues/git-issue-354.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class C { static const u: X diff --git a/Test/git-issues/git-issue-354.dfy.expect b/Test/git-issues/git-issue-354.dfy.expect index cb5ae21dc46..4368562357f 100644 --- a/Test/git-issues/git-issue-354.dfy.expect +++ b/Test/git-issues/git-issue-354.dfy.expect @@ -1,25 +1,3 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification -0 -0 -0.0 -false - -Dafny program verifier did not attempt verification -0 -0 -0.0 -false - -Dafny program verifier did not attempt verification -0 -0 -0.0 -false - -Dafny program verifier did not attempt verification 0 0 0.0 diff --git a/Test/git-issues/git-issue-356.dfy b/Test/git-issues/git-issue-356.dfy index f5c34b0803b..2d497c0531c 100644 --- a/Test/git-issues/git-issue-356.dfy +++ b/Test/git-issues/git-issue-356.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false module M { type Tx = i: int | 0 <= i <= 100 diff --git a/Test/git-issues/git-issue-356.dfy.expect b/Test/git-issues/git-issue-356.dfy.expect index cff4ed233e1..9d984ec4ef4 100644 --- a/Test/git-issues/git-issue-356.dfy.expect +++ b/Test/git-issues/git-issue-356.dfy.expect @@ -1,39 +1,3 @@ - -Dafny program verifier finished with 25 verified, 0 errors - -Dafny program verifier did not attempt verification -a d 57005 * * -Z 90 90.0 90 90 -* 42 42.0 42 42 -F 70 70.0 70 70 -# 35 35.0 35 35 -END - -Dafny program verifier did not attempt verification -a d 57005 * * -Z 90 90.0 90 90 -* 42 42.0 42 42 -F 70 70.0 70 70 -# 35 35.0 35 35 -END - -Dafny program verifier did not attempt verification -a d 57005 * * -Z 90 90.0 90 90 -* 42 42.0 42 42 -F 70 70.0 70 70 -# 35 35.0 35 35 -END - -Dafny program verifier did not attempt verification -a d 57005 * * -Z 90 90.0 90 90 -* 42 42.0 42 42 -F 70 70.0 70 70 -# 35 35.0 35 35 -END - -Dafny program verifier did not attempt verification a d 57005 * * Z 90 90.0 90 90 * 42 42.0 42 42 diff --git a/Test/git-issues/git-issue-364.dfy b/Test/git-issues/git-issue-364.dfy index 0fdedc7d9c0..68c75931746 100644 --- a/Test/git-issues/git-issue-364.dfy +++ b/Test/git-issues/git-issue-364.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype NatOutcome = | Success(value: nat) diff --git a/Test/git-issues/git-issue-364.dfy.expect b/Test/git-issues/git-issue-364.dfy.expect index 1368349d437..38478c6c688 100644 --- a/Test/git-issues/git-issue-364.dfy.expect +++ b/Test/git-issues/git-issue-364.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 4 verified, 0 errors NatOutcome.Success(55) false 55 12 0 NatOutcome.Failure("it could be worse") true NatOutcome.Failure("it could be worse") diff --git a/Test/git-issues/git-issue-374.dfy b/Test/git-issues/git-issue-374.dfy index 4c031b7d3ff..15b56ec6396 100644 --- a/Test/git-issues/git-issue-374.dfy +++ b/Test/git-issues/git-issue-374.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class C { constructor(ghost x: int) diff --git a/Test/git-issues/git-issue-374.dfy.expect b/Test/git-issues/git-issue-374.dfy.expect index f02fc57989a..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-374.dfy.expect +++ b/Test/git-issues/git-issue-374.dfy.expect @@ -1,10 +0,0 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-396.dfy b/Test/git-issues/git-issue-396.dfy index 2ab68e51e12..7866d3d0498 100644 --- a/Test/git-issues/git-issue-396.dfy +++ b/Test/git-issues/git-issue-396.dfy @@ -1,8 +1,4 @@ -// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" -// RUN: %dafny /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Foo = Bar(value: int) diff --git a/Test/git-issues/git-issue-396.dfy.expect b/Test/git-issues/git-issue-396.dfy.expect index 3dd340d3178..dee79f10940 100644 --- a/Test/git-issues/git-issue-396.dfy.expect +++ b/Test/git-issues/git-issue-396.dfy.expect @@ -1,12 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors -114 - -Dafny program verifier finished with 1 verified, 0 errors -114 - -Dafny program verifier finished with 1 verified, 0 errors -114 - -Dafny program verifier finished with 1 verified, 0 errors 114 diff --git a/Test/git-issues/git-issue-4007.dfy b/Test/git-issues/git-issue-4007.dfy index e4c25b82bb8..5a279e7b8e6 100644 --- a/Test/git-issues/git-issue-4007.dfy +++ b/Test/git-issues/git-issue-4007.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:4 /compileTarget:py "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var a := 0; @@ -7,4 +6,4 @@ method Main() { a := a + 1; } print a, "\n"; -} \ No newline at end of file +} diff --git a/Test/git-issues/git-issue-4007.dfy.expect b/Test/git-issues/git-issue-4007.dfy.expect index 3ce6919d35b..00750edc07d 100644 --- a/Test/git-issues/git-issue-4007.dfy.expect +++ b/Test/git-issues/git-issue-4007.dfy.expect @@ -1,4 +1 @@ -git-issue-4007.dfy(6,20): Warning: /!\ No terms found to trigger on. - -Dafny program verifier finished with 1 verified, 0 errors 3 diff --git a/Test/git-issues/git-issue-4007.dfy.verifier.expect b/Test/git-issues/git-issue-4007.dfy.verifier.expect new file mode 100644 index 00000000000..1d4310d09b5 --- /dev/null +++ b/Test/git-issues/git-issue-4007.dfy.verifier.expect @@ -0,0 +1 @@ +git-issue-4007.dfy(5,20): Warning: /!\ No terms found to trigger on. diff --git a/Test/git-issues/git-issue-4012.dfy b/Test/git-issues/git-issue-4012.dfy index e065393a211..5360c0e935b 100644 --- a/Test/git-issues/git-issue-4012.dfy +++ b/Test/git-issues/git-issue-4012.dfy @@ -1,8 +1,7 @@ -// RUN: %dafny /compile:4 /compileTarget:py "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var x: multiset := multiset{}; x := x[1 := 18446744073709551616]; print |x|, "\n"; -} \ No newline at end of file +} diff --git a/Test/git-issues/git-issue-4012.dfy.expect b/Test/git-issues/git-issue-4012.dfy.expect index 230fbdbd384..ab69b99fab4 100644 --- a/Test/git-issues/git-issue-4012.dfy.expect +++ b/Test/git-issues/git-issue-4012.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors 18446744073709551616 diff --git a/Test/git-issues/git-issue-425.dfy b/Test/git-issues/git-issue-425.dfy index 4e555daaed0..122a10e4fbb 100644 --- a/Test/git-issues/git-issue-425.dfy +++ b/Test/git-issues/git-issue-425.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method M() returns (x: int, ghost y: int) { return 42, 43; diff --git a/Test/git-issues/git-issue-425.dfy.expect b/Test/git-issues/git-issue-425.dfy.expect index c2284013d9e..daaac9e3030 100644 --- a/Test/git-issues/git-issue-425.dfy.expect +++ b/Test/git-issues/git-issue-425.dfy.expect @@ -1,18 +1,2 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification -42 -42 - -Dafny program verifier did not attempt verification -42 -42 - -Dafny program verifier did not attempt verification -42 -42 - -Dafny program verifier did not attempt verification 42 42 diff --git a/Test/git-issues/git-issue-443.dfy b/Test/git-issues/git-issue-443.dfy index e8745b5ddda..6702e37484f 100644 --- a/Test/git-issues/git-issue-443.dfy +++ b/Test/git-issues/git-issue-443.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { print F(), " ", G(802.11), "\n"; // 12 15 diff --git a/Test/git-issues/git-issue-443.dfy.expect b/Test/git-issues/git-issue-443.dfy.expect index 10af01216da..0b64712fdcf 100644 --- a/Test/git-issues/git-issue-443.dfy.expect +++ b/Test/git-issues/git-issue-443.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors 12 15 diff --git a/Test/git-issues/git-issue-446.dfy b/Test/git-issues/git-issue-446.dfy index 0656587fd03..a66a9272d18 100644 --- a/Test/git-issues/git-issue-446.dfy +++ b/Test/git-issues/git-issue-446.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Result = Success(value: T) | Failure(error: string) { diff --git a/Test/git-issues/git-issue-446.dfy.expect b/Test/git-issues/git-issue-446.dfy.expect index 18195d22344..8165c2056d0 100644 --- a/Test/git-issues/git-issue-446.dfy.expect +++ b/Test/git-issues/git-issue-446.dfy.expect @@ -1,22 +1,3 @@ - -Dafny program verifier finished with 9 verified, 0 errors - -Dafny program verifier did not attempt verification -true -2 -true 42 -End - -Dafny program verifier did not attempt verification -true -2 -true 42 -End - -Dafny program verifier did not attempt verification -true -2 -true 42 -End - -Dafny program verifier did not attempt verification true -2 true 42 End diff --git a/Test/git-issues/git-issue-446a.dfy b/Test/git-issues/git-issue-446a.dfy index 41917680fee..2c559cea76d 100644 --- a/Test/git-issues/git-issue-446a.dfy +++ b/Test/git-issues/git-issue-446a.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Result = Success(value: T) | Failure(error: string) { diff --git a/Test/git-issues/git-issue-446a.dfy.expect b/Test/git-issues/git-issue-446a.dfy.expect index fbf9ee6f31d..9897e1c3f56 100644 --- a/Test/git-issues/git-issue-446a.dfy.expect +++ b/Test/git-issues/git-issue-446a.dfy.expect @@ -1,22 +1,3 @@ - -Dafny program verifier finished with 9 verified, 0 errors - -Dafny program verifier did not attempt verification -OK -true OK -true -2 End - -Dafny program verifier did not attempt verification -OK -true OK -true -2 End - -Dafny program verifier did not attempt verification -OK -true OK -true -2 End - -Dafny program verifier did not attempt verification OK true OK true -2 End diff --git a/Test/git-issues/git-issue-446b.dfy b/Test/git-issues/git-issue-446b.dfy index aa7ac30d9a7..79e55d9a1f8 100644 --- a/Test/git-issues/git-issue-446b.dfy +++ b/Test/git-issues/git-issue-446b.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Result = Success(value: T) | Failure(error: string) { diff --git a/Test/git-issues/git-issue-446b.dfy.expect b/Test/git-issues/git-issue-446b.dfy.expect index 0e99363fdb9..36fdd8ba47b 100644 --- a/Test/git-issues/git-issue-446b.dfy.expect +++ b/Test/git-issues/git-issue-446b.dfy.expect @@ -1,28 +1,3 @@ - -Dafny program verifier finished with 10 verified, 0 errors - -Dafny program verifier did not attempt verification -OK -true OK -true -2 -true 100 -End - -Dafny program verifier did not attempt verification -OK -true OK -true -2 -true 100 -End - -Dafny program verifier did not attempt verification -OK -true OK -true -2 -true 100 -End - -Dafny program verifier did not attempt verification OK true OK true -2 diff --git a/Test/git-issues/git-issue-478-good.dfy b/Test/git-issues/git-issue-478-good.dfy index b3fab26a312..9abce41e97c 100644 --- a/Test/git-issues/git-issue-478-good.dfy +++ b/Test/git-issues/git-issue-478-good.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // By first defining import LibA and then defining a module LibA, // the latter used to generate: diff --git a/Test/git-issues/git-issue-478-good.dfy.expect b/Test/git-issues/git-issue-478-good.dfy.expect index 17aea610943..6807b84eba5 100644 --- a/Test/git-issues/git-issue-478-good.dfy.expect +++ b/Test/git-issues/git-issue-478-good.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors hello hello hi diff --git a/Test/git-issues/git-issue-506.dfy b/Test/git-issues/git-issue-506.dfy index d25596621de..b2a409951a1 100644 --- a/Test/git-issues/git-issue-506.dfy +++ b/Test/git-issues/git-issue-506.dfy @@ -1,8 +1,4 @@ -// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" -// RUN: %dafny /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/git-issues/git-issue-506.dfy.expect b/Test/git-issues/git-issue-506.dfy.expect index e2bb6d644d9..ef2606ec5dc 100644 --- a/Test/git-issues/git-issue-506.dfy.expect +++ b/Test/git-issues/git-issue-506.dfy.expect @@ -1,29 +1,3 @@ - -Dafny program verifier finished with 2 verified, 0 errors -7 301 -8 391 -2 2 -4 5 -6 7 -2 3 7 0 - -Dafny program verifier finished with 2 verified, 0 errors -7 301 -8 391 -2 2 -4 5 -6 7 -2 3 7 0 - -Dafny program verifier finished with 2 verified, 0 errors -7 301 -8 391 -2 2 -4 5 -6 7 -2 3 7 0 - -Dafny program verifier finished with 2 verified, 0 errors 7 301 8 391 2 2 diff --git a/Test/git-issues/git-issue-532.dfy b/Test/git-issues/git-issue-532.dfy index 3d511dbb4c8..2a2b5aaaf2e 100644 --- a/Test/git-issues/git-issue-532.dfy +++ b/Test/git-issues/git-issue-532.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment predicate SuppressNoTriggerWarning(x: X) { true } diff --git a/Test/git-issues/git-issue-532.dfy.expect b/Test/git-issues/git-issue-532.dfy.expect index 1bd9e82cc5a..0f3ef3de427 100644 --- a/Test/git-issues/git-issue-532.dfy.expect +++ b/Test/git-issues/git-issue-532.dfy.expect @@ -1,22 +1,3 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification -t.x=5 The given Tr is a C, and c.y=6 -t.x=100 The given Tr is not a C -t.x=5 The given Tr is a C, and c.y=16 - -Dafny program verifier did not attempt verification -t.x=5 The given Tr is a C, and c.y=6 -t.x=100 The given Tr is not a C -t.x=5 The given Tr is a C, and c.y=16 - -Dafny program verifier did not attempt verification -t.x=5 The given Tr is a C, and c.y=6 -t.x=100 The given Tr is not a C -t.x=5 The given Tr is a C, and c.y=16 - -Dafny program verifier did not attempt verification t.x=5 The given Tr is a C, and c.y=6 t.x=100 The given Tr is not a C t.x=5 The given Tr is a C, and c.y=16 diff --git a/Test/git-issues/git-issue-549.dfy b/Test/git-issues/git-issue-549.dfy index 2e5ab322f23..d362a0bd039 100644 --- a/Test/git-issues/git-issue-549.dfy +++ b/Test/git-issues/git-issue-549.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait T { function bar(): bv8 diff --git a/Test/git-issues/git-issue-549.dfy.expect b/Test/git-issues/git-issue-549.dfy.expect index 3ae509fee5e..6e0790e778e 100644 --- a/Test/git-issues/git-issue-549.dfy.expect +++ b/Test/git-issues/git-issue-549.dfy.expect @@ -1,10 +1,2 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification -bar() = 1 -bar() = 1 - -Dafny program verifier did not attempt verification bar() = 1 bar() = 1 diff --git a/Test/git-issues/git-issue-622$f.dfy b/Test/git-issues/git-issue-622$f.dfy index fe4fdf38e03..2a7003e0f4e 100644 --- a/Test/git-issues/git-issue-622$f.dfy +++ b/Test/git-issues/git-issue-622$f.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /compileTarget:java /spillTargetCode:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method Main() { } diff --git a/Test/git-issues/git-issue-622$f.dfy.expect b/Test/git-issues/git-issue-622$f.dfy.expect index 012f5b99379..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-622$f.dfy.expect +++ b/Test/git-issues/git-issue-622$f.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/git-issues/git-issue-684.dfy b/Test/git-issues/git-issue-684.dfy index b1fbd7ab036..4c2b0a8fa02 100644 --- a/Test/git-issues/git-issue-684.dfy +++ b/Test/git-issues/git-issue-684.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Level1 = Level1(u:int) datatype Level2 = Level2(u:int, l:Level1) diff --git a/Test/git-issues/git-issue-684.dfy.expect b/Test/git-issues/git-issue-684.dfy.expect index 65d3b5d6635..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-684.dfy.expect +++ b/Test/git-issues/git-issue-684.dfy.expect @@ -1,10 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-686.dfy b/Test/git-issues/git-issue-686.dfy index bbc975200c8..9845ce2b027 100644 --- a/Test/git-issues/git-issue-686.dfy +++ b/Test/git-issues/git-issue-686.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Color = Blue | Red diff --git a/Test/git-issues/git-issue-686.dfy.expect b/Test/git-issues/git-issue-686.dfy.expect index f30b0581688..c12f8e66df2 100644 --- a/Test/git-issues/git-issue-686.dfy.expect +++ b/Test/git-issues/git-issue-686.dfy.expect @@ -1,24 +1 @@ -git-issue-686.dfy(13,2): Warning: this branch is redundant -git-issue-686.dfy(21,2): Warning: this branch is redundant - -Dafny program verifier finished with 1 verified, 0 errors -git-issue-686.dfy(13,2): Warning: this branch is redundant -git-issue-686.dfy(21,2): Warning: this branch is redundant - -Dafny program verifier did not attempt verification -6 0 -git-issue-686.dfy(13,2): Warning: this branch is redundant -git-issue-686.dfy(21,2): Warning: this branch is redundant - -Dafny program verifier did not attempt verification -6 0 -git-issue-686.dfy(13,2): Warning: this branch is redundant -git-issue-686.dfy(21,2): Warning: this branch is redundant - -Dafny program verifier did not attempt verification -6 0 -git-issue-686.dfy(13,2): Warning: this branch is redundant -git-issue-686.dfy(21,2): Warning: this branch is redundant - -Dafny program verifier did not attempt verification 6 0 diff --git a/Test/git-issues/git-issue-686.dfy.verifier.expect b/Test/git-issues/git-issue-686.dfy.verifier.expect new file mode 100644 index 00000000000..805bd55730c --- /dev/null +++ b/Test/git-issues/git-issue-686.dfy.verifier.expect @@ -0,0 +1,2 @@ +git-issue-686.dfy(8,2): Warning: this branch is redundant +git-issue-686.dfy(16,2): Warning: this branch is redundant diff --git a/Test/git-issues/git-issue-697.dfy b/Test/git-issues/git-issue-697.dfy index 095c1a02399..23cce66dee7 100644 --- a/Test/git-issues/git-issue-697.dfy +++ b/Test/git-issues/git-issue-697.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Cell = Cell(x: int) type EvenCell = c: Cell | c.x % 2 == 0 witness Cell(0) diff --git a/Test/git-issues/git-issue-697.dfy.expect b/Test/git-issues/git-issue-697.dfy.expect index 188a72ebc36..f32a5804e29 100644 --- a/Test/git-issues/git-issue-697.dfy.expect +++ b/Test/git-issues/git-issue-697.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-697b.dfy b/Test/git-issues/git-issue-697b.dfy index cfdd3fd0821..cdb054d8d78 100644 --- a/Test/git-issues/git-issue-697b.dfy +++ b/Test/git-issues/git-issue-697b.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Cell = Cell(x: int) type EvenCell = c: Cell | c.x % 2 == 0 witness Cell(0) diff --git a/Test/git-issues/git-issue-697b.dfy.expect b/Test/git-issues/git-issue-697b.dfy.expect index b355409912b..9c777ac6a0f 100644 --- a/Test/git-issues/git-issue-697b.dfy.expect +++ b/Test/git-issues/git-issue-697b.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors false 2 diff --git a/Test/git-issues/git-issue-697d.dfy b/Test/git-issues/git-issue-697d.dfy index 71a262fc985..8b65c2da4f7 100644 --- a/Test/git-issues/git-issue-697d.dfy +++ b/Test/git-issues/git-issue-697d.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function nonGhostPredicate(x: int): bool { x % 2 == 0 diff --git a/Test/git-issues/git-issue-697d.dfy.expect b/Test/git-issues/git-issue-697d.dfy.expect index 48fb59aeae5..f32a5804e29 100644 --- a/Test/git-issues/git-issue-697d.dfy.expect +++ b/Test/git-issues/git-issue-697d.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 4 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-697e.dfy b/Test/git-issues/git-issue-697e.dfy index e4500bfab28..310851abf9a 100644 --- a/Test/git-issues/git-issue-697e.dfy +++ b/Test/git-issues/git-issue-697e.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Cell = Cell(x: int) type EvenCell = c: Cell | c.x % 2 == 0 witness Cell(0) diff --git a/Test/git-issues/git-issue-697e.dfy.expect b/Test/git-issues/git-issue-697e.dfy.expect index 00a51f822da..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-697e.dfy.expect +++ b/Test/git-issues/git-issue-697e.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 3 verified, 0 errors diff --git a/Test/git-issues/git-issue-697f.dfy b/Test/git-issues/git-issue-697f.dfy index 92d1cec2ed8..acb8810dfbf 100644 --- a/Test/git-issues/git-issue-697f.dfy +++ b/Test/git-issues/git-issue-697f.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment ghost function ghostPredicate(x: int): bool { x % 2 == 0 diff --git a/Test/git-issues/git-issue-697f.dfy.expect b/Test/git-issues/git-issue-697f.dfy.expect index 3e2cf8d0f69..b5754e20373 100644 --- a/Test/git-issues/git-issue-697f.dfy.expect +++ b/Test/git-issues/git-issue-697f.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 4 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-697g.dfy b/Test/git-issues/git-issue-697g.dfy index c3b7581ff61..7b30de7f3a0 100644 --- a/Test/git-issues/git-issue-697g.dfy +++ b/Test/git-issues/git-issue-697g.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function returnNat(c: nat): int { diff --git a/Test/git-issues/git-issue-697g.dfy.expect b/Test/git-issues/git-issue-697g.dfy.expect index d9157fa820a..f32a5804e29 100644 --- a/Test/git-issues/git-issue-697g.dfy.expect +++ b/Test/git-issues/git-issue-697g.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-698.dfy b/Test/git-issues/git-issue-698.dfy index b15295c9b46..7b7a9ca15b8 100644 --- a/Test/git-issues/git-issue-698.dfy +++ b/Test/git-issues/git-issue-698.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment type Small = x: int | 0 <= x < 100 && x != 3 diff --git a/Test/git-issues/git-issue-698.dfy.expect b/Test/git-issues/git-issue-698.dfy.expect index 7f965a65d2e..27ba77ddaf6 100644 --- a/Test/git-issues/git-issue-698.dfy.expect +++ b/Test/git-issues/git-issue-698.dfy.expect @@ -1,8 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification -true - -Dafny program verifier did not attempt verification true diff --git a/Test/git-issues/git-issue-698b.dfy b/Test/git-issues/git-issue-698b.dfy index 1d4a92456e6..dbdbc3b36d3 100644 --- a/Test/git-issues/git-issue-698b.dfy +++ b/Test/git-issues/git-issue-698b.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment type Small = x: int | 0 <= x < 100 && x != 3 @@ -13,4 +12,4 @@ method Main() { var b := !exists n: Small :: F(n) != 100; assert b; print b; -} \ No newline at end of file +} diff --git a/Test/git-issues/git-issue-698b.dfy.expect b/Test/git-issues/git-issue-698b.dfy.expect index 188a72ebc36..f32a5804e29 100644 --- a/Test/git-issues/git-issue-698b.dfy.expect +++ b/Test/git-issues/git-issue-698b.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-701.dfy b/Test/git-issues/git-issue-701.dfy index af19f0d89e2..38984df4ecf 100644 --- a/Test/git-issues/git-issue-701.dfy +++ b/Test/git-issues/git-issue-701.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var ca := new ClassA; diff --git a/Test/git-issues/git-issue-701.dfy.expect b/Test/git-issues/git-issue-701.dfy.expect index 4d20966e641..5198c09cbb1 100644 --- a/Test/git-issues/git-issue-701.dfy.expect +++ b/Test/git-issues/git-issue-701.dfy.expect @@ -1,22 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification -0 0 0 -[] [] [] -C.Nothing C.Nothing C.Nothing - -Dafny program verifier did not attempt verification -0 0 0 -[] [] [] -C.Nothing C.Nothing C.Nothing - -Dafny program verifier did not attempt verification -0 0 0 -[] [] [] -C.Nothing C.Nothing C.Nothing - -Dafny program verifier did not attempt verification 0 0 0 [] [] [] C.Nothing C.Nothing C.Nothing diff --git a/Test/git-issues/git-issue-705.dfy b/Test/git-issues/git-issue-705.dfy index d4b806800c2..9c36a336e8e 100644 --- a/Test/git-issues/git-issue-705.dfy +++ b/Test/git-issues/git-issue-705.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs /spillTargetCode:3 "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js /spillTargetCode:3 "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go /spillTargetCode:3 "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java /spillTargetCode:3 "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation datatype MyDataType = AAA { function toString(): int { 222 } diff --git a/Test/git-issues/git-issue-705.dfy.expect b/Test/git-issues/git-issue-705.dfy.expect index 02cf409667a..79a1eee7c74 100644 --- a/Test/git-issues/git-issue-705.dfy.expect +++ b/Test/git-issues/git-issue-705.dfy.expect @@ -1,14 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification -MyDataType.AAA 222 - -Dafny program verifier did not attempt verification -MyDataType.AAA 222 - -Dafny program verifier did not attempt verification -MyDataType.AAA 222 - -Dafny program verifier did not attempt verification MyDataType.AAA 222 diff --git a/Test/git-issues/git-issue-731.dfy b/Test/git-issues/git-issue-731.dfy index 05d02fea1af..348d40fecea 100644 --- a/Test/git-issues/git-issue-731.dfy +++ b/Test/git-issues/git-issue-731.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait Trait { const y: Y diff --git a/Test/git-issues/git-issue-731.dfy.expect b/Test/git-issues/git-issue-731.dfy.expect index 69b2e6af648..7554a44901e 100644 --- a/Test/git-issues/git-issue-731.dfy.expect +++ b/Test/git-issues/git-issue-731.dfy.expect @@ -1,18 +1,2 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification -0 0 0 42 -0 0 0 9 - -Dafny program verifier did not attempt verification -0 0 0 42 -0 0 0 9 - -Dafny program verifier did not attempt verification -0 0 0 42 -0 0 0 9 - -Dafny program verifier did not attempt verification 0 0 0 42 0 0 0 9 diff --git a/Test/git-issues/git-issue-731b.dfy b/Test/git-issues/git-issue-731b.dfy index a77dbd6323b..2a0507839a2 100644 --- a/Test/git-issues/git-issue-731b.dfy +++ b/Test/git-issues/git-issue-731b.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Testing issue#731 when the class in question has type parameters diff --git a/Test/git-issues/git-issue-731b.dfy.expect b/Test/git-issues/git-issue-731b.dfy.expect index 97e6c041920..dd3226d2b73 100644 --- a/Test/git-issues/git-issue-731b.dfy.expect +++ b/Test/git-issues/git-issue-731b.dfy.expect @@ -1,14 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification -0 42 - -Dafny program verifier did not attempt verification -0 42 - -Dafny program verifier did not attempt verification -0 42 - -Dafny program verifier did not attempt verification 0 42 diff --git a/Test/git-issues/git-issue-784.dfy b/Test/git-issues/git-issue-784.dfy index 78b83f01064..5f6cf59465c 100644 --- a/Test/git-issues/git-issue-784.dfy +++ b/Test/git-issues/git-issue-784.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype List = Nil | Cons(T, List) { function App(ys: List): List { diff --git a/Test/git-issues/git-issue-784.dfy.expect b/Test/git-issues/git-issue-784.dfy.expect index 8da23be5c8c..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-784.dfy.expect +++ b/Test/git-issues/git-issue-784.dfy.expect @@ -1,10 +0,0 @@ - -Dafny program verifier finished with 4 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-953.dfy b/Test/git-issues/git-issue-953.dfy index adebc946c35..9c14e6e4e98 100644 --- a/Test/git-issues/git-issue-953.dfy +++ b/Test/git-issues/git-issue-953.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module P { datatype T_ = T() // the underscore in this name once caused a problem in Java compilation diff --git a/Test/git-issues/git-issue-953.dfy.expect b/Test/git-issues/git-issue-953.dfy.expect index 8466ea62f3f..8eec6126a08 100644 --- a/Test/git-issues/git-issue-953.dfy.expect +++ b/Test/git-issues/git-issue-953.dfy.expect @@ -1,39 +1,3 @@ - -Dafny program verifier finished with 6 verified, 0 errors - -Dafny program verifier did not attempt verification -C1.T_.T -P.T_.T -OtherNamesWithSpecialCharacters?_.A?_.A?_ OtherNamesWithSpecialCharacters?_.B?_.B?_ -17 17 0 0 -C2.C.C(10, 11) -9 - -Dafny program verifier did not attempt verification -C1.T_.T -P.T_.T -OtherNamesWithSpecialCharacters?_.A?_.A?_ OtherNamesWithSpecialCharacters?_.B?_.B?_ -17 17 0 0 -C2.C.C(10, 11) -9 - -Dafny program verifier did not attempt verification -C1.T_.T -P.T_.T -OtherNamesWithSpecialCharacters?_.A?_.A?_ OtherNamesWithSpecialCharacters?_.B?_.B?_ -17 17 0 0 -C2.C.C(10, 11) -9 - -Dafny program verifier did not attempt verification -C1.T_.T -P.T_.T -OtherNamesWithSpecialCharacters?_.A?_.A?_ OtherNamesWithSpecialCharacters?_.B?_.B?_ -17 17 0 0 -C2.C.C(10, 11) -9 - -Dafny program verifier did not attempt verification C1.T_.T P.T_.T OtherNamesWithSpecialCharacters?_.A?_.A?_ OtherNamesWithSpecialCharacters?_.B?_.B?_ diff --git a/Test/git-issues/github-issue-3343.dfy b/Test/git-issues/github-issue-3343.dfy index 517a11d7fc1..d518b2a1a41 100644 --- a/Test/git-issues/github-issue-3343.dfy +++ b/Test/git-issues/github-issue-3343.dfy @@ -1,5 +1,4 @@ -// RUN: %baredafny run "%s" -t:java > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" method Bug() { var zero := 0; var a := new int[zero] []; diff --git a/Test/git-issues/github-issue-3343.dfy.expect b/Test/git-issues/github-issue-3343.dfy.expect index 823a60a105c..e69de29bb2d 100644 --- a/Test/git-issues/github-issue-3343.dfy.expect +++ b/Test/git-issues/github-issue-3343.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 1 verified, 0 errors diff --git a/Test/hofs/Compilation.dfy b/Test/hofs/Compilation.dfy index 99fd0a36506..7e9c674b495 100644 --- a/Test/hofs/Compilation.dfy +++ b/Test/hofs/Compilation.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class Ref { var val : A diff --git a/Test/hofs/Compilation.dfy.expect b/Test/hofs/Compilation.dfy.expect index 760fafc6189..6b7187d2557 100644 --- a/Test/hofs/Compilation.dfy.expect +++ b/Test/hofs/Compilation.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 2 verified, 0 errors 1 = 1 3 = 3 3 = 3 diff --git a/Test/hofs/Examples.dfy b/Test/hofs/Examples.dfy index cdf177c001f..bebda559221 100644 --- a/Test/hofs/Examples.dfy +++ b/Test/hofs/Examples.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function Apply(f: A ~> B, x: A): B reads f.reads(x) diff --git a/Test/hofs/Examples.dfy.expect b/Test/hofs/Examples.dfy.expect index 851aaf58286..e69de29bb2d 100644 --- a/Test/hofs/Examples.dfy.expect +++ b/Test/hofs/Examples.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 7 verified, 0 errors diff --git a/Test/hofs/Fold.dfy b/Test/hofs/Fold.dfy index 336f9121b52..96ddb01591f 100644 --- a/Test/hofs/Fold.dfy +++ b/Test/hofs/Fold.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype List = Nil | Cons(A,List) diff --git a/Test/hofs/Fold.dfy.expect b/Test/hofs/Fold.dfy.expect index 144ffab92db..3abcc310618 100644 --- a/Test/hofs/Fold.dfy.expect +++ b/Test/hofs/Fold.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors 3 = 3 diff --git a/Test/hofs/Renaming.dfy b/Test/hofs/Renaming.dfy index cf21fdba2f8..391c0e79ef6 100644 --- a/Test/hofs/Renaming.dfy +++ b/Test/hofs/Renaming.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function OnId(f : (bool -> bool) -> int) : int reads f.reads(x => x) diff --git a/Test/hofs/Renaming.dfy.expect b/Test/hofs/Renaming.dfy.expect index e2b6636dbe4..13a954d9043 100644 --- a/Test/hofs/Renaming.dfy.expect +++ b/Test/hofs/Renaming.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 4 verified, 0 errors 10 11 diff --git a/Test/hofs/Requires.dfy b/Test/hofs/Requires.dfy index de5944b6744..f5e51244184 100644 --- a/Test/hofs/Requires.dfy +++ b/Test/hofs/Requires.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/hofs/Requires.dfy.expect b/Test/hofs/Requires.dfy.expect index 1981561ca00..e69de29bb2d 100644 --- a/Test/hofs/Requires.dfy.expect +++ b/Test/hofs/Requires.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 10 verified, 0 errors diff --git a/Test/hofs/TreeMapSimple.dfy b/Test/hofs/TreeMapSimple.dfy index d93aea46403..b7baf6eb8d7 100644 --- a/Test/hofs/TreeMapSimple.dfy +++ b/Test/hofs/TreeMapSimple.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { TestY(); diff --git a/Test/hofs/TreeMapSimple.dfy.expect b/Test/hofs/TreeMapSimple.dfy.expect index 9224d605f7e..be0317f1016 100644 --- a/Test/hofs/TreeMapSimple.dfy.expect +++ b/Test/hofs/TreeMapSimple.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 11 verified, 0 errors Tree.Branch(100, List.Cons(Tree.Branch(50, List.Nil), List.Nil)) Tree.Branch(100, List.Cons(Tree.Branch(50, List.Nil), List.Nil)) diff --git a/Test/hofs/VectorUpdate.dfy b/Test/hofs/VectorUpdate.dfy index 848ed585ca6..70c0de3084e 100644 --- a/Test/hofs/VectorUpdate.dfy +++ b/Test/hofs/VectorUpdate.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // this is a rather verbose version of the VectorUpdate method method VectorUpdate(N: int, a : array, f : (int,A) ~> A) diff --git a/Test/hofs/VectorUpdate.dfy.expect b/Test/hofs/VectorUpdate.dfy.expect index b8fae39eab8..7645f125857 100644 --- a/Test/hofs/VectorUpdate.dfy.expect +++ b/Test/hofs/VectorUpdate.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 8 verified, 0 errors 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 100, 50, 33, 25, 20, 16, 14, 12, 11, 10 diff --git a/Test/hofs/WhileLoop.dfy b/Test/hofs/WhileLoop.dfy index 4af9fbd841b..914f47f4522 100644 --- a/Test/hofs/WhileLoop.dfy +++ b/Test/hofs/WhileLoop.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class Ref { var val: A diff --git a/Test/hofs/WhileLoop.dfy.expect b/Test/hofs/WhileLoop.dfy.expect index 234ac298c9b..83083b451e1 100644 --- a/Test/hofs/WhileLoop.dfy.expect +++ b/Test/hofs/WhileLoop.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 4 verified, 0 errors 22 22 22 diff --git a/Test/metatests/OutputEncoding.dfy b/Test/metatests/OutputEncoding.dfy index 68c390ac811..59fa53bf298 100644 --- a/Test/metatests/OutputEncoding.dfy +++ b/Test/metatests/OutputEncoding.dfy @@ -1,10 +1,4 @@ -// RUN: %baredafny verify %args "%s" > "%t" -// RUN: %baredafny run --no-verify --target=cs %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=js %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=go %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=py %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=java %args "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" method Main() { // This works fine in all languages because € is a single UTF-16 code unit. diff --git a/Test/metatests/OutputEncoding.dfy.expect b/Test/metatests/OutputEncoding.dfy.expect index a37241376f3..b25a57298f1 100644 --- a/Test/metatests/OutputEncoding.dfy.expect +++ b/Test/metatests/OutputEncoding.dfy.expect @@ -1,17 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification -Euro sign: € - -Dafny program verifier did not attempt verification -Euro sign: € - -Dafny program verifier did not attempt verification -Euro sign: € - -Dafny program verifier did not attempt verification -Euro sign: € - -Dafny program verifier did not attempt verification Euro sign: € diff --git a/Test/patterns/OrPatterns.dfy b/Test/patterns/OrPatterns.dfy index 4f2610c9379..6385bd55c93 100644 --- a/Test/patterns/OrPatterns.dfy +++ b/Test/patterns/OrPatterns.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /rprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Enum = One | Two | Three { predicate Even() { diff --git a/Test/patterns/OrPatterns.dfy.expect b/Test/patterns/OrPatterns.dfy.expect index a6fce7c4a13..d86bac9de59 100644 --- a/Test/patterns/OrPatterns.dfy.expect +++ b/Test/patterns/OrPatterns.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 11 verified, 0 errors OK diff --git a/Test/patterns/PatternMatching.dfy b/Test/patterns/PatternMatching.dfy index 477126c066a..e8a73b856e4 100644 --- a/Test/patterns/PatternMatching.dfy +++ b/Test/patterns/PatternMatching.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /* * This file contains a collection of tests for features modified or introduced in PR 458 @@ -222,4 +221,4 @@ method Main() { var r5 := MultipleNestedMatch(A(0), t4, bb); print "Testing MultipleNestedMatch: ", r0, r1, r2, r3, r4, r5, ", should return 012345\n"; -} \ No newline at end of file +} diff --git a/Test/patterns/PatternMatching.dfy.expect b/Test/patterns/PatternMatching.dfy.expect index 2970273cbfc..b4415971ca5 100644 --- a/Test/patterns/PatternMatching.dfy.expect +++ b/Test/patterns/PatternMatching.dfy.expect @@ -1,6 +1,3 @@ -PatternMatching.dfy(102,4): Warning: this branch is redundant - -Dafny program verifier finished with 9 verified, 0 errors NestingTest([6]) = 6, should return 6 NestedVariableTest([2::3::4::5::6]) = 0, should return 0 ConstantTest([3::4::5::6]) = 2, should return 2 diff --git a/Test/patterns/PatternMatching.dfy.verifier.expect b/Test/patterns/PatternMatching.dfy.verifier.expect new file mode 100644 index 00000000000..b486aadfb80 --- /dev/null +++ b/Test/patterns/PatternMatching.dfy.verifier.expect @@ -0,0 +1 @@ +PatternMatching.dfy(101,4): Warning: this branch is redundant diff --git a/Test/traits/TraitCompile.dfy b/Test/traits/TraitCompile.dfy index 03cf3746c6f..6e9b925fbc5 100644 --- a/Test/traits/TraitCompile.dfy +++ b/Test/traits/TraitCompile.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait TT { @@ -820,4 +814,4 @@ module RedeclaringMembers { true } } -} \ No newline at end of file +} diff --git a/Test/traits/TraitCompile.dfy.expect b/Test/traits/TraitCompile.dfy.expect index 8257b754de2..b70a9b09d2e 100644 --- a/Test/traits/TraitCompile.dfy.expect +++ b/Test/traits/TraitCompile.dfy.expect @@ -1,259 +1,3 @@ - -Dafny program verifier finished with 75 verified, 0 errors - -Dafny program verifier did not attempt verification -y=120 -x=12 -d=800 -a5=407 -t=1212 -z=30 -z'=30 -w=30 -d=1000 -a5=507 -t=1512 -t=1512 -t=1515 -This is OtherModule.P(7.0) -From OtherModule.Y: 7 and true -This is OtherModule.P(7.0) -From OtherModule.X: 7 and true -c.f= 15 j.f= 15 -c.f= 18 j.f= 18 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -x=126 -5.2 9 false -true true true true -false false false false -true true true true -false false false false -5.2 5.2 -1.2 1.2 -1.2 1.2 -15 30 -15 30 -15 30 -0 (0, 0) 0 -8 -0 0 0 0 0 0 0 0 0 0 0 0 -13 13 13 13 13 13 13 13 13 13 13 13 -14 14 14 14 14 14 14 14 14 14 14 14 -15 15 15 15 15 15 15 15 15 15 15 15 -16 16 16 16 16 16 16 16 16 16 16 16 -17 17 17 17 17 17 17 17 17 17 17 17 -18 18 18 18 18 18 18 18 18 18 18 18 -19 19 19 19 19 19 19 19 19 19 19 19 -20 20 20 20 20 20 20 20 20 20 20 20 -21 21 21 21 21 21 21 21 21 21 21 21 -22 22 22 22 22 22 22 22 22 22 22 22 -23 23 23 23 23 23 23 23 23 23 23 23 -24 24 24 24 24 24 24 24 24 24 24 24 -f(4) = 7 -f(4) = 7 -g(4) = 7 -g(4) = 7 -41 15 26 -true true -true true -true true -true true -true true true -true true true - -Dafny program verifier did not attempt verification -y=120 -x=12 -d=800 -a5=407 -t=1212 -z=30 -z'=30 -w=30 -d=1000 -a5=507 -t=1512 -t=1512 -t=1515 -This is OtherModule.P(7.0) -From OtherModule.Y: 7 and true -This is OtherModule.P(7.0) -From OtherModule.X: 7 and true -c.f= 15 j.f= 15 -c.f= 18 j.f= 18 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -x=126 -5.2 9 false -true true true true -false false false false -true true true true -false false false false -5.2 5.2 -1.2 1.2 -1.2 1.2 -15 30 -15 30 -15 30 -0 (0, 0) 0 -8 -0 0 0 0 0 0 0 0 0 0 0 0 -13 13 13 13 13 13 13 13 13 13 13 13 -14 14 14 14 14 14 14 14 14 14 14 14 -15 15 15 15 15 15 15 15 15 15 15 15 -16 16 16 16 16 16 16 16 16 16 16 16 -17 17 17 17 17 17 17 17 17 17 17 17 -18 18 18 18 18 18 18 18 18 18 18 18 -19 19 19 19 19 19 19 19 19 19 19 19 -20 20 20 20 20 20 20 20 20 20 20 20 -21 21 21 21 21 21 21 21 21 21 21 21 -22 22 22 22 22 22 22 22 22 22 22 22 -23 23 23 23 23 23 23 23 23 23 23 23 -24 24 24 24 24 24 24 24 24 24 24 24 -f(4) = 7 -f(4) = 7 -g(4) = 7 -g(4) = 7 -41 15 26 -true true -true true -true true -true true -true true true -true true true - -Dafny program verifier did not attempt verification -y=120 -x=12 -d=800 -a5=407 -t=1212 -z=30 -z'=30 -w=30 -d=1000 -a5=507 -t=1512 -t=1512 -t=1515 -This is OtherModule.P(7.0) -From OtherModule.Y: 7 and true -This is OtherModule.P(7.0) -From OtherModule.X: 7 and true -c.f= 15 j.f= 15 -c.f= 18 j.f= 18 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -x=126 -5.2 9 false -true true true true -false false false false -true true true true -false false false false -5.2 5.2 -1.2 1.2 -1.2 1.2 -15 30 -15 30 -15 30 -0 (0, 0) 0 -8 -0 0 0 0 0 0 0 0 0 0 0 0 -13 13 13 13 13 13 13 13 13 13 13 13 -14 14 14 14 14 14 14 14 14 14 14 14 -15 15 15 15 15 15 15 15 15 15 15 15 -16 16 16 16 16 16 16 16 16 16 16 16 -17 17 17 17 17 17 17 17 17 17 17 17 -18 18 18 18 18 18 18 18 18 18 18 18 -19 19 19 19 19 19 19 19 19 19 19 19 -20 20 20 20 20 20 20 20 20 20 20 20 -21 21 21 21 21 21 21 21 21 21 21 21 -22 22 22 22 22 22 22 22 22 22 22 22 -23 23 23 23 23 23 23 23 23 23 23 23 -24 24 24 24 24 24 24 24 24 24 24 24 -f(4) = 7 -f(4) = 7 -g(4) = 7 -g(4) = 7 -41 15 26 -true true -true true -true true -true true -true true true -true true true - -Dafny program verifier did not attempt verification -y=120 -x=12 -d=800 -a5=407 -t=1212 -z=30 -z'=30 -w=30 -d=1000 -a5=507 -t=1512 -t=1512 -t=1515 -This is OtherModule.P(7.0) -From OtherModule.Y: 7 and true -This is OtherModule.P(7.0) -From OtherModule.X: 7 and true -c.f= 15 j.f= 15 -c.f= 18 j.f= 18 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -x=126 -5.2 9 false -true true true true -false false false false -true true true true -false false false false -5.2 5.2 -1.2 1.2 -1.2 1.2 -15 30 -15 30 -15 30 -0 (0, 0) 0 -8 -0 0 0 0 0 0 0 0 0 0 0 0 -13 13 13 13 13 13 13 13 13 13 13 13 -14 14 14 14 14 14 14 14 14 14 14 14 -15 15 15 15 15 15 15 15 15 15 15 15 -16 16 16 16 16 16 16 16 16 16 16 16 -17 17 17 17 17 17 17 17 17 17 17 17 -18 18 18 18 18 18 18 18 18 18 18 18 -19 19 19 19 19 19 19 19 19 19 19 19 -20 20 20 20 20 20 20 20 20 20 20 20 -21 21 21 21 21 21 21 21 21 21 21 21 -22 22 22 22 22 22 22 22 22 22 22 22 -23 23 23 23 23 23 23 23 23 23 23 23 -24 24 24 24 24 24 24 24 24 24 24 24 -f(4) = 7 -f(4) = 7 -g(4) = 7 -g(4) = 7 -41 15 26 -true true -true true -true true -true true -true true true -true true true - -Dafny program verifier did not attempt verification y=120 x=12 d=800 diff --git a/Test/traits/TraitExample.dfy b/Test/traits/TraitExample.dfy index d6afb4ce70b..54c5cbbec6f 100644 --- a/Test/traits/TraitExample.dfy +++ b/Test/traits/TraitExample.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait Automobile { ghost var Repr: set diff --git a/Test/traits/TraitExample.dfy.expect b/Test/traits/TraitExample.dfy.expect index c1b4ac93962..b9783e62141 100644 --- a/Test/traits/TraitExample.dfy.expect +++ b/Test/traits/TraitExample.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 29 verified, 0 errors Fiat: 6 Volvo: 20 Catacar: 26 diff --git a/Test/traits/Traits-Fields.dfy b/Test/traits/Traits-Fields.dfy index 2da609c33c8..6ae1aaab6d9 100644 --- a/Test/traits/Traits-Fields.dfy +++ b/Test/traits/Traits-Fields.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait J { diff --git a/Test/traits/Traits-Fields.dfy.expect b/Test/traits/Traits-Fields.dfy.expect index cc460fc52f4..c39bd8b5d5d 100644 --- a/Test/traits/Traits-Fields.dfy.expect +++ b/Test/traits/Traits-Fields.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 2 verified, 0 errors j.x = 9 c.x = 9 diff --git a/Test/traits/TraitsMultipleInheritance.dfy b/Test/traits/TraitsMultipleInheritance.dfy index 12590e47828..67fd8673488 100644 --- a/Test/traits/TraitsMultipleInheritance.dfy +++ b/Test/traits/TraitsMultipleInheritance.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait J1{ var x: int diff --git a/Test/traits/TraitsMultipleInheritance.dfy.expect b/Test/traits/TraitsMultipleInheritance.dfy.expect index ad1a1011a25..b116b2d070d 100644 --- a/Test/traits/TraitsMultipleInheritance.dfy.expect +++ b/Test/traits/TraitsMultipleInheritance.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 1 verified, 0 errors c.x + c.y = 30 j1.x + j2.y = 30 diff --git a/Test/unicodechars/comp/Collections.dfy b/Test/unicodechars/comp/Collections.dfy index fb3e451eb83..14d241ed5ab 100644 --- a/Test/unicodechars/comp/Collections.dfy +++ b/Test/unicodechars/comp/Collections.dfy @@ -1,8 +1,3 @@ -// RUN: %dafny /compile:0 /verifyAllModules /unicodeChar:1 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:true --verify-included-files include "../../comp/Collections.dfy" diff --git a/Test/unicodechars/comp/Collections.dfy.expect b/Test/unicodechars/comp/Collections.dfy.expect index 70586502b0d..89f08b08d75 100644 --- a/Test/unicodechars/comp/Collections.dfy.expect +++ b/Test/unicodechars/comp/Collections.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 40 verified, 0 errors - -Dafny program verifier did not attempt verification Sets: {} {17, 82} {12, 17} cardinality: 0 2 2 union: {17, 82} {12, 17, 82} @@ -127,511 +123,3 @@ Multiset=== 1 3 |s|=2 |u|=4 1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Yellow := 21, Color.Blue := 30] -keys: {Color.Yellow, Color.Blue} -values: {21, 30} -items: {(Color.Yellow, 21), (Color.Blue, 30)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {21, 30} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.go.expect b/Test/unicodechars/comp/Collections.dfy.go.expect new file mode 100644 index 00000000000..2fc0f3b7093 --- /dev/null +++ b/Test/unicodechars/comp/Collections.dfy.go.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.java.expect b/Test/unicodechars/comp/Collections.dfy.java.expect new file mode 100644 index 00000000000..39975cadfc4 --- /dev/null +++ b/Test/unicodechars/comp/Collections.dfy.java.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Yellow := 21, Color.Blue := 30] +keys: {Color.Yellow, Color.Blue} +values: {21, 30} +items: {(Color.Yellow, 21), (Color.Blue, 30)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.js.expect b/Test/unicodechars/comp/Collections.dfy.js.expect new file mode 100644 index 00000000000..2fc0f3b7093 --- /dev/null +++ b/Test/unicodechars/comp/Collections.dfy.js.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.py.expect b/Test/unicodechars/comp/Collections.dfy.py.expect new file mode 100644 index 00000000000..e4e346dede0 --- /dev/null +++ b/Test/unicodechars/comp/Collections.dfy.py.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {21, 30} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/unicodechars/comp/Comprehensions.dfy b/Test/unicodechars/comp/Comprehensions.dfy index 274f8d3a150..8bd5f67525e 100644 --- a/Test/unicodechars/comp/Comprehensions.dfy +++ b/Test/unicodechars/comp/Comprehensions.dfy @@ -1,8 +1,3 @@ -// RUN: %dafny /compile:0 /unicodeChar:1 /verifyAllModules "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" -include "../../comp/Comprehensions.dfy" \ No newline at end of file +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:true --verify-included-files +include "../../comp/Comprehensions.dfy" diff --git a/Test/unicodechars/comp/Comprehensions.dfy.expect b/Test/unicodechars/comp/Comprehensions.dfy.expect index 18159ddde0a..c9703fc9397 100644 --- a/Test/unicodechars/comp/Comprehensions.dfy.expect +++ b/Test/unicodechars/comp/Comprehensions.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 32 verified, 0 errors - -Dafny program verifier did not attempt verification x=13 y=14 x=13 y=14 b=yes true false @@ -64,259 +60,3 @@ true true [137438953474, 137438953475, 137438953476, 137438953477, 137438953479] cdefh cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[14 := 7, 12 := 6, 13 := 6] -map[18 := 14, 17 := 13, 16 := 12] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh diff --git a/Test/unicodechars/comp/Comprehensions.dfy.py.expect b/Test/unicodechars/comp/Comprehensions.dfy.py.expect new file mode 100644 index 00000000000..aeaa31fc0f3 --- /dev/null +++ b/Test/unicodechars/comp/Comprehensions.dfy.py.expect @@ -0,0 +1,62 @@ +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[14 := 7, 12 := 6, 13 := 6] +map[18 := 14, 17 := 13, 16 := 12] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh diff --git a/Test/unicodechars/comp/NativeNumbers.dfy b/Test/unicodechars/comp/NativeNumbers.dfy index 764b4b3b384..20cdb1e214f 100644 --- a/Test/unicodechars/comp/NativeNumbers.dfy +++ b/Test/unicodechars/comp/NativeNumbers.dfy @@ -1,9 +1,4 @@ +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:true --verify-included-files // Skip JavaScript because JavaScript doesn't have the same native types -// RUN: %dafny /compile:0 /verifyAllModules /unicodeChar:1 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" -include "../../comp/NativeNumbers.dfy" \ No newline at end of file +include "../../comp/NativeNumbers.dfy" diff --git a/Test/unicodechars/comp/NativeNumbers.dfy.expect b/Test/unicodechars/comp/NativeNumbers.dfy.expect index b0fc6754f84..354d931a151 100644 --- a/Test/unicodechars/comp/NativeNumbers.dfy.expect +++ b/Test/unicodechars/comp/NativeNumbers.dfy.expect @@ -1,259 +1,3 @@ - -Dafny program verifier finished with 25 verified, 0 errors - -Dafny program verifier did not attempt verification -Casting: - -Small numbers: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 -5 5 5 5 5 5 5 5 5 -6 6 6 6 6 6 6 6 6 -7 7 7 7 7 7 7 7 7 -8 8 8 8 8 8 8 8 8 - -Large unsigned numbers: -255 255 255 255 255 255 255 255 -65535 65535 65535 65535 65535 65535 -4294967295 4294967295 4294967295 4294967295 -18446744073709551615 18446744073709551615 - -Int to large unsigned: -255 65535 4294967295 18446744073709551615 - -Cast from cardinality operator: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 - -Characters: -'C' 67 67 67 67 67 67 67 67 67 -0 127 32767 65535 65535 255 65535 65535 65535 - -Defaults: - -0 0 0 0 0 0 0 0 0 - -Byte arithmetic: - -20 30 -10 10 18 - -Short arithmetic: - -20 30 -10 10 18 - -Bitvectors: - -0 3 4 1 - -Comparison to zero: - -int8: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int16: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int32: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int64: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint8: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint16: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint32: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint64: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N - - -Dafny program verifier did not attempt verification -Casting: - -Small numbers: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 -5 5 5 5 5 5 5 5 5 -6 6 6 6 6 6 6 6 6 -7 7 7 7 7 7 7 7 7 -8 8 8 8 8 8 8 8 8 - -Large unsigned numbers: -255 255 255 255 255 255 255 255 -65535 65535 65535 65535 65535 65535 -4294967295 4294967295 4294967295 4294967295 -18446744073709551615 18446744073709551615 - -Int to large unsigned: -255 65535 4294967295 18446744073709551615 - -Cast from cardinality operator: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 - -Characters: -'C' 67 67 67 67 67 67 67 67 67 -0 127 32767 65535 65535 255 65535 65535 65535 - -Defaults: - -0 0 0 0 0 0 0 0 0 - -Byte arithmetic: - -20 30 -10 10 18 - -Short arithmetic: - -20 30 -10 10 18 - -Bitvectors: - -0 3 4 1 - -Comparison to zero: - -int8: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int16: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int32: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int64: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint8: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint16: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint32: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint64: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N - - -Dafny program verifier did not attempt verification -Casting: - -Small numbers: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 -5 5 5 5 5 5 5 5 5 -6 6 6 6 6 6 6 6 6 -7 7 7 7 7 7 7 7 7 -8 8 8 8 8 8 8 8 8 - -Large unsigned numbers: -255 255 255 255 255 255 255 255 -65535 65535 65535 65535 65535 65535 -4294967295 4294967295 4294967295 4294967295 -18446744073709551615 18446744073709551615 - -Int to large unsigned: -255 65535 4294967295 18446744073709551615 - -Cast from cardinality operator: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 - -Characters: -'C' 67 67 67 67 67 67 67 67 67 -0 127 32767 65535 65535 255 65535 65535 65535 - -Defaults: - -0 0 0 0 0 0 0 0 0 - -Byte arithmetic: - -20 30 -10 10 18 - -Short arithmetic: - -20 30 -10 10 18 - -Bitvectors: - -0 3 4 1 - -Comparison to zero: - -int8: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int16: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int32: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int64: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint8: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint16: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint32: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint64: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N - - -Dafny program verifier did not attempt verification Casting: Small numbers: diff --git a/Test/unicodechars/comp/Numbers.dfy b/Test/unicodechars/comp/Numbers.dfy index 2c9170fe4d7..e5e36180234 100644 --- a/Test/unicodechars/comp/Numbers.dfy +++ b/Test/unicodechars/comp/Numbers.dfy @@ -1,8 +1,3 @@ -// RUN: %dafny /compile:0 /verifyAllModules /unicodeChar:1 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" -include "../../comp/Numbers.dfy" \ No newline at end of file +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:true --verify-included-files +include "../../comp/Numbers.dfy" diff --git a/Test/unicodechars/comp/Numbers.dfy.expect b/Test/unicodechars/comp/Numbers.dfy.expect index 6fa2f59f340..cce193e1cce 100644 --- a/Test/unicodechars/comp/Numbers.dfy.expect +++ b/Test/unicodechars/comp/Numbers.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 59 verified, 0 errors - -Dafny program verifier did not attempt verification 0 0 3 @@ -113,455 +109,3 @@ true false true false false true false true true false true false 20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -'g' 'Q' '2' -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -(312.0 / 40.0) (1248.0 / 40.0) -(-312.0 / 40.0) (-1248.0 / 40.0) -(-312.0 / 40.0) (1248.0 / 40.0) -(312.0 / 40.0) (-1248.0 / 40.0) -0.0 0.0 0.0 -120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) -123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 (8100.0 / 8100.0) -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -'g' 'Q' '2' -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -'g' 'Q' '2' -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -(312.0 / 40.0) (1248.0 / 40.0) -(-312.0 / 40.0) (-1248.0 / 40.0) -(-312.0 / 40.0) (1248.0 / 40.0) -(312.0 / 40.0) (-1248.0 / 40.0) -0.0 0.0 0.0 -120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) -123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 (8100.0 / 8100.0) -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -'g' 'Q' '2' -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 diff --git a/Test/unicodechars/comp/Numbers.dfy.go.expect b/Test/unicodechars/comp/Numbers.dfy.go.expect new file mode 100644 index 00000000000..95d8ac259c7 --- /dev/null +++ b/Test/unicodechars/comp/Numbers.dfy.go.expect @@ -0,0 +1,111 @@ +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +'g' 'Q' '2' +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 diff --git a/Test/unicodechars/comp/Numbers.dfy.py.expect b/Test/unicodechars/comp/Numbers.dfy.py.expect new file mode 100644 index 00000000000..95d8ac259c7 --- /dev/null +++ b/Test/unicodechars/comp/Numbers.dfy.py.expect @@ -0,0 +1,111 @@ +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +'g' 'Q' '2' +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 From e09c231528da77e1f7953fc3fd14e64fbc45a7a4 Mon Sep 17 00:00:00 2001 From: Robin Salkeld Date: Tue, 13 Jun 2023 12:54:06 -0700 Subject: [PATCH 64/68] Revert "Convert all tests" This reverts commit 3d08f4df5cda5c8a9e93a1ccd12a4d5b4b348cce. --- Test/VerifyThis2015/Problem1.dfy | 3 +- Test/VerifyThis2015/Problem1.dfy.expect | 2 + Test/VerifyThis2015/Problem2.dfy | 3 +- Test/VerifyThis2015/Problem2.dfy.expect | 2 + Test/VerifyThis2015/Problem3.dfy | 3 +- Test/VerifyThis2015/Problem3.dfy.expect | 2 + Test/c++/arrays.dfy | 3 +- Test/c++/arrays.dfy.expect | 2 + Test/c++/bit-vectors.dfy | 3 +- Test/c++/bit-vectors.dfy.expect | 2 + Test/c++/class.dfy | 3 +- Test/c++/class.dfy.expect | 2 + Test/c++/const.dfy | 3 +- Test/c++/const.dfy.expect | 2 + Test/c++/datatypes.dfy | 3 +- Test/c++/datatypes.dfy.expect | 2 + Test/c++/generic.dfy | 3 +- Test/c++/generic.dfy.expect | 2 + Test/c++/hello.dfy | 3 +- Test/c++/hello.dfy.expect | 2 + Test/c++/ints.dfy | 3 +- Test/c++/ints.dfy.expect | 2 + Test/c++/recursion.dfy | 3 +- Test/c++/recursion.dfy.expect | 2 + Test/c++/returns.dfy | 3 +- Test/c++/returns.dfy.expect | 2 + Test/c++/seqs.dfy | 3 +- Test/c++/seqs.dfy.expect | 2 + Test/c++/sets.dfy | 3 +- Test/c++/sets.dfy.expect | 2 + Test/c++/while.dfy | 3 +- Test/c++/while.dfy.expect | 2 + Test/comp/Arrays.dfy | 9 +- Test/comp/Arrays.dfy.expect | 396 ++++++++++++ Test/comp/Arrays.dfy.go.expect | 96 --- Test/comp/AsIs-Compile.dfy | 8 +- Test/comp/AsIs-Compile.dfy.expect | 160 +++++ Test/comp/AutoInit.dfy | 8 +- Test/comp/AutoInit.dfy.expect | 160 +++++ Test/comp/ByMethodCompilation.dfy | 8 +- Test/comp/ByMethodCompilation.dfy.expect | 32 + Test/comp/Calls.dfy | 8 +- Test/comp/Calls.dfy.expect | 40 ++ Test/comp/Class.dfy | 8 +- Test/comp/Class.dfy.expect | 72 +++ Test/comp/Collections.dfy | 9 +- Test/comp/Collections.dfy.expect | 512 ++++++++++++++++ Test/comp/Collections.dfy.go.expect | 125 ---- Test/comp/Collections.dfy.java.expect | 125 ---- Test/comp/Collections.dfy.js.expect | 125 ---- Test/comp/Collections.dfy.py.expect | 125 ---- Test/comp/Comprehensions.dfy | 9 +- Test/comp/Comprehensions.dfy.expect | 260 ++++++++ Test/comp/Comprehensions.dfy.py.expect | 62 -- Test/comp/ComprehensionsNewSyntax.dfy | 9 +- Test/comp/ComprehensionsNewSyntax.dfy.expect | 148 +++++ .../ComprehensionsNewSyntax.dfy.py.expect | 34 -- Test/comp/CovariantCollections.dfy | 8 +- Test/comp/CovariantCollections.dfy.expect | 220 +++++++ Test/comp/Datatype.dfy | 9 +- Test/comp/Datatype.dfy.expect | 100 +++ Test/comp/Datatype.dfy.java.expect | 22 - Test/comp/Datatype.dfy.py.expect | 22 - Test/comp/DefaultParameters-Compile.dfy | 8 +- .../comp/DefaultParameters-Compile.dfy.expect | 48 ++ Test/comp/DowncastClone.dfy | 8 +- Test/comp/DowncastClone.dfy.expect | 40 ++ Test/comp/ErasableTypeWrappers.dfy | 8 +- Test/comp/ErasableTypeWrappers.dfy.expect | 84 +++ Test/comp/EuclideanDivision.dfy | 8 +- Test/comp/EuclideanDivision.dfy.expect | 36 ++ Test/comp/ForLoops-Compilation.dfy | 8 +- Test/comp/ForLoops-Compilation.dfy.expect | 200 ++++++ Test/comp/ForallNewSyntax.dfy | 8 +- Test/comp/ForallNewSyntax.dfy.expect | 180 ++++++ Test/comp/Ghosts.dfy | 8 +- Test/comp/Ghosts.dfy.expect | 52 ++ Test/comp/Let.dfy | 7 +- Test/comp/Let.dfy.expect | 34 ++ Test/comp/MoreAutoInit.dfy | 8 +- Test/comp/MoreAutoInit.dfy.expect | 572 ++++++++++++++++++ Test/comp/NativeNumbers.dfy | 7 +- Test/comp/NativeNumbers.dfy.expect | 256 ++++++++ Test/comp/NestedArrays.dfy | 7 +- Test/comp/NestedArrays.dfy.expect | 16 + Test/comp/Numbers.dfy | 9 +- Test/comp/Numbers.dfy.expect | 456 ++++++++++++++ Test/comp/Numbers.dfy.go.expect | 111 ---- Test/comp/Numbers.dfy.py.expect | 111 ---- Test/comp/Poly.dfy | 9 +- Test/comp/Poly.dfy.expect | 60 ++ Test/comp/Poly.dfy.go.expect | 12 - Test/comp/Poly.dfy.py.expect | 12 - Test/comp/StaticMembersOfGenericTypes.dfy | 8 +- .../StaticMembersOfGenericTypes.dfy.expect | 76 +++ Test/comp/TailRecursion.dfy | 8 +- Test/comp/TailRecursion.dfy.expect | 76 +++ Test/comp/TypeDescriptors.dfy | 8 +- Test/comp/TypeDescriptors.dfy.expect | 152 +++++ Test/comp/TypeParams.dfy | 11 +- Test/comp/TypeParams.dfy.expect | 88 +++ Test/comp/TypeParams.dfy.go.expect | 19 - Test/comp/TypeParams.dfy.java.expect | 19 - Test/comp/TypeParams.dfy.js.expect | 19 - Test/comp/TypeParams.dfy.py.expect | 19 - Test/comp/UnoptimizedErasableTypeWrappers.dfy | 8 +- ...UnoptimizedErasableTypeWrappers.dfy.expect | 28 + Test/comp/Variance.dfy | 8 +- Test/comp/Variance.dfy.expect | 64 ++ Test/comp/Various.dfy | 8 +- Test/comp/Various.dfy.expect | 40 ++ Test/comp/firstSteps/0_IKnowThisMuchIs.dfy | 4 +- .../firstSteps/0_IKnowThisMuchIs.dfy.expect | 4 + Test/comp/firstSteps/1_Calls-F.dfy | 4 +- Test/comp/firstSteps/1_Calls-F.dfy.expect | 4 + Test/comp/firstSteps/2_Modules.dfy | 4 +- Test/comp/firstSteps/2_Modules.dfy.expect | 4 + Test/comp/firstSteps/3_Calls-As.dfy | 4 +- Test/comp/firstSteps/3_Calls-As.dfy.expect | 4 + .../4_Calls-FunctionsValues-Class+NT.dfy | 4 +- ..._Calls-FunctionsValues-Class+NT.dfy.expect | 4 + .../firstSteps/5_Calls-FunctionsValues-Dt.dfy | 4 +- .../5_Calls-FunctionsValues-Dt.dfy.expect | 4 + .../firstSteps/6_Calls-VariableCapture.dfy | 4 +- .../6_Calls-VariableCapture.dfy.expect | 4 + Test/comp/firstSteps/7_Arrays.dfy | 4 +- Test/comp/firstSteps/7_Arrays.dfy.expect | 4 + Test/comp/firstSteps/7_Dt_Algebraic.dfy | 6 +- .../firstSteps/7_Dt_Algebraic.dfy.cs.expect | 11 - .../comp/firstSteps/7_Dt_Algebraic.dfy.expect | 17 + Test/dafny0/ArrayElementInitCompile.dfy | 8 +- .../dafny0/ArrayElementInitCompile.dfy.expect | 76 +++ Test/dafny0/Bitvectors.dfy | 5 +- Test/dafny0/Bitvectors.dfy.expect | 49 ++ Test/dafny0/Constant.dfy | 3 +- Test/dafny0/Constant.dfy.expect | 2 + Test/dafny0/Deprecation.dfy | 3 +- Test/dafny0/Deprecation.dfy.expect | 7 + Test/dafny0/Deprecation.dfy.verifier.expect | 5 - Test/dafny0/DiscoverBounds.dfy | 3 +- Test/dafny0/DiscoverBounds.dfy.expect | 7 + .../dafny0/DiscoverBounds.dfy.verifier.expect | 5 - Test/dafny0/DividedConstructors.dfy | 3 +- Test/dafny0/DividedConstructors.dfy.expect | 3 + .../DividedConstructors.dfy.verifier.expect | 1 - Test/dafny0/EqualityTypesCompile.dfy | 3 +- Test/dafny0/EqualityTypesCompile.dfy.expect | 2 + Test/dafny0/ForallCompilationNewSyntax.dfy | 3 +- .../ForallCompilationNewSyntax.dfy.expect | 6 + ...llCompilationNewSyntax.dfy.verifier.expect | 4 - Test/dafny0/GhostITECompilation.dfy | 8 +- Test/dafny0/GhostITECompilation.dfy.expect | 28 + Test/dafny0/InitialValues.dfy | 3 +- Test/dafny0/InitialValues.dfy.expect | 2 + Test/dafny0/MatchBraces.dfy | 5 +- Test/dafny0/MatchBraces.dfy.expect | 8 + Test/dafny0/MoForallCompilation.dfy | 3 +- Test/dafny0/MoForallCompilation.dfy.expect | 2 + Test/dafny0/NameclashesCompile.dfy | 3 +- Test/dafny0/NameclashesCompile.dfy.expect | 2 + Test/dafny0/NonZeroInitializationCompile.dfy | 7 +- .../NonZeroInitializationCompile.dfy.expect | 73 +++ Test/dafny0/NullComparisonWarnings.dfy | 3 +- Test/dafny0/NullComparisonWarnings.dfy.expect | 13 + ...NullComparisonWarnings.dfy.verifier.expect | 11 - Test/dafny0/PrintUTF8.dfy | 3 +- Test/dafny0/PrintUTF8.dfy.expect | 2 + Test/dafny0/RangeCompilation.dfy | 3 +- Test/dafny0/RangeCompilation.dfy.expect | 2 + Test/dafny0/SeqFromArray.dfy | 3 +- Test/dafny0/SeqFromArray.dfy.expect | 2 + Test/dafny0/SharedDestructorsCompile.dfy | 5 +- .../SharedDestructorsCompile.dfy.expect | 17 + Test/dafny0/SiblingImports.dfy | 3 +- Test/dafny0/SiblingImports.dfy.expect | 2 + Test/dafny0/TypeConversionsCompile.dfy | 3 +- Test/dafny0/TypeConversionsCompile.dfy.expect | 2 + Test/dafny0/TypeMembers.dfy | 5 +- Test/dafny0/TypeMembers.dfy.expect | 29 + Test/dafny0/TypeMembers.dfy.verifier.expect | 1 - Test/dafny0/Wellfounded.dfy | 3 +- Test/dafny0/Wellfounded.dfy.expect | 4 + Test/dafny0/Wellfounded.dfy.verifier.expect | 2 - Test/dafny2/MinWindowMax.dfy | 3 +- Test/dafny2/MinWindowMax.dfy.expect | 2 + .../SmallestMissingNumber-functional.dfy | 3 +- ...mallestMissingNumber-functional.dfy.expect | 3 + ...ssingNumber-functional.dfy.verifier.expect | 1 - .../SmallestMissingNumber-imperative.dfy | 3 +- ...mallestMissingNumber-imperative.dfy.expect | 2 + Test/dafny2/StoreAndRetrieve.dfy | 7 +- Test/dafny2/StoreAndRetrieve.dfy.expect | 38 ++ .../StoreAndRetrieve.dfy.verifier.expect | 5 - Test/dafny2/pq-intrinsic-extrinsic.dfy | 5 +- Test/dafny2/pq-intrinsic-extrinsic.dfy.expect | 11 + Test/dafny3/Abstemious.dfy | 3 +- Test/dafny3/Abstemious.dfy.expect | 2 + Test/dafny3/CachedContainer.dfy | 7 +- Test/dafny3/CachedContainer.dfy.expect | 78 +++ .../CachedContainer.dfy.verifier.expect | 13 - Test/dafny3/Iter.dfy | 3 +- Test/dafny3/Iter.dfy.expect | 2 + Test/dafny4/Ackermann.dfy | 3 +- Test/dafny4/Ackermann.dfy.expect | 4 + Test/dafny4/Ackermann.dfy.verifier.expect | 2 - Test/dafny4/Bug107.dfy | 3 +- Test/dafny4/Bug107.dfy.expect | 2 + Test/dafny4/Bug108.dfy | 3 +- Test/dafny4/Bug108.dfy.expect | 2 + Test/dafny4/Bug113.dfy | 5 +- Test/dafny4/Bug113.dfy.expect | 2 + Test/dafny4/Bug140.dfy | 3 +- Test/dafny4/Bug140.dfy.expect | 2 + Test/dafny4/Bug148.dfy | 3 +- Test/dafny4/Bug148.dfy.expect | 2 + Test/dafny4/Bug49.dfy | 3 +- Test/dafny4/Bug49.dfy.expect | 2 + Test/dafny4/Bug60.dfy | 3 +- Test/dafny4/Bug60.dfy.expect | 2 + Test/dafny4/Bug67.dfy | 5 +- Test/dafny4/Bug67.dfy.expect | 2 + Test/dafny4/Bug68.dfy | 5 +- Test/dafny4/Bug68.dfy.expect | 2 + Test/dafny4/Bug89.dfy | 3 +- Test/dafny4/Bug89.dfy.expect | 2 + Test/dafny4/Bug94.dfy | 3 +- Test/dafny4/Bug94.dfy.expect | 2 + Test/dafny4/ClassRefinement.dfy | 7 +- Test/dafny4/ClassRefinement.dfy.expect | 43 ++ .../ClassRefinement.dfy.verifier.expect | 6 - Test/dafny4/ExpandedGuardedness.dfy | 3 +- Test/dafny4/ExpandedGuardedness.dfy.expect | 2 + Test/dafny4/FlyingRobots.dfy | 3 +- Test/dafny4/FlyingRobots.dfy.expect | 2 + Test/dafny4/Leq.dfy | 3 +- Test/dafny4/Leq.dfy.expect | 2 + Test/dafny4/McCarthy91.dfy | 3 +- Test/dafny4/McCarthy91.dfy.expect | 2 + Test/dafny4/NatList.dfy | 3 +- Test/dafny4/NatList.dfy.expect | 2 + Test/dafny4/Regression2.dfy | 3 +- Test/dafny4/Regression2.dfy.expect | 2 + Test/dafny4/Regression3.dfy | 3 +- Test/dafny4/Regression3.dfy.expect | 2 + Test/dafny4/Regression4.dfy | 3 +- Test/dafny4/Regression4.dfy.expect | 2 + Test/dafny4/Regression6.dfy | 3 +- Test/dafny4/Regression6.dfy.expect | 2 + Test/dafny4/Regression7.dfy | 3 +- Test/dafny4/Regression7.dfy.expect | 2 + Test/dafny4/Regression9.dfy | 3 +- Test/dafny4/Regression9.dfy.expect | 2 + Test/dafny4/UnionFind.dfy | 3 +- Test/dafny4/UnionFind.dfy.expect | 2 + Test/dafny4/gcd.dfy | 7 +- Test/dafny4/gcd.dfy.expect | 31 + Test/dafny4/git-issue104.dfy | 8 +- Test/dafny4/git-issue104.dfy.expect | 16 + Test/dafny4/git-issue105.dfy | 3 +- Test/dafny4/git-issue105.dfy.expect | 2 + Test/dafny4/git-issue15.dfy | 3 +- Test/dafny4/git-issue15.dfy.expect | 2 + Test/dafny4/git-issue195.dfy | 3 +- Test/dafny4/git-issue195.dfy.expect | 2 + Test/dafny4/git-issue196.dfy | 3 +- Test/dafny4/git-issue196.dfy.expect | 2 + Test/dafny4/git-issue4.dfy | 3 +- Test/dafny4/git-issue4.dfy.expect | 2 + Test/dafny4/git-issue43.dfy | 3 +- Test/dafny4/git-issue43.dfy.expect | 2 + Test/dafny4/git-issue76.dfy | 5 +- Test/dafny4/git-issue76.dfy.expect | 7 + Test/dafny4/git-issue79.dfy | 3 +- Test/dafny4/git-issue79.dfy.expect | 2 + Test/dafny4/git-issue88.dfy | 3 +- Test/dafny4/git-issue88.dfy.expect | 2 + Test/exceptions/Exceptions1.dfy | 3 +- Test/exceptions/Exceptions1.dfy.expect | 2 + Test/exceptions/Exceptions1Expressions.dfy | 3 +- .../Exceptions1Expressions.dfy.expect | 2 + Test/exports/FIFO.dfy | 3 +- Test/exports/FIFO.dfy.expect | 2 + Test/exports/LIFO.dfy | 3 +- Test/exports/LIFO.dfy.expect | 2 + Test/exports/xrefine2.dfy | 3 +- Test/exports/xrefine2.dfy.expect | 2 + Test/exports/xrefine3.dfy | 3 +- Test/exports/xrefine3.dfy.expect | 2 + Test/git-issues/git-issue-032.dfy | 7 +- Test/git-issues/git-issue-032.dfy.expect | 37 ++ .../git-issue-032.dfy.verifier.expect | 3 - Test/git-issues/git-issue-1029.dfy | 3 +- Test/git-issues/git-issue-1029.dfy.expect | 2 + Test/git-issues/git-issue-1093.dfy | 8 +- Test/git-issues/git-issue-1093.dfy.expect | 16 + Test/git-issues/git-issue-1130.dfy | 3 +- Test/git-issues/git-issue-1130.dfy.expect | 2 + Test/git-issues/git-issue-1150.dfy | 3 +- Test/git-issues/git-issue-1150.dfy.expect | 2 + Test/git-issues/git-issue-1185.dfy | 8 +- Test/git-issues/git-issue-1185.dfy.expect | 13 + .../git-issues/git-issue-1185.dfy.java.expect | 1 - Test/git-issues/git-issue-1514.dfy | 3 +- Test/git-issues/git-issue-1514.dfy.expect | 2 + Test/git-issues/git-issue-1514b.dfy | 3 +- Test/git-issues/git-issue-1514b.dfy.expect | 2 + Test/git-issues/git-issue-1514c.dfy | 5 +- Test/git-issues/git-issue-1514c.dfy.expect | 7 + Test/git-issues/git-issue-1553.dfy | 7 +- Test/git-issues/git-issue-1553.dfy.expect | 10 + Test/git-issues/git-issue-1604b.dfy | 3 +- Test/git-issues/git-issue-1604b.dfy.expect | 2 + Test/git-issues/git-issue-1714.dfy | 3 +- Test/git-issues/git-issue-1714.dfy.expect | 2 + Test/git-issues/git-issue-1815a.dfy | 8 +- Test/git-issues/git-issue-1815a.dfy.expect | 16 + Test/git-issues/git-issue-1852.dfy | 5 +- Test/git-issues/git-issue-1852.dfy.expect | 7 + Test/git-issues/git-issue-1903.dfy | 3 +- Test/git-issues/git-issue-1903.dfy.expect | 2 + Test/git-issues/git-issue-1909.dfy | 3 +- Test/git-issues/git-issue-1909.dfy.expect | 2 + Test/git-issues/git-issue-2013.dfy | 8 +- Test/git-issues/git-issue-2013.dfy.expect | 52 ++ Test/git-issues/git-issue-2441.dfy | 5 +- Test/git-issues/git-issue-2441.dfy.expect | 6 + Test/git-issues/git-issue-2510.dfy | 3 +- Test/git-issues/git-issue-2510.dfy.expect | 2 + Test/git-issues/git-issue-2608.dfy | 3 +- Test/git-issues/git-issue-2608.dfy.expect | 2 + Test/git-issues/git-issue-262.dfy | 7 +- Test/git-issues/git-issue-262.dfy.expect | 18 + Test/git-issues/git-issue-262.dfy.go.expect | 2 - Test/git-issues/git-issue-262.dfy.java.expect | 2 - Test/git-issues/git-issue-262.dfy.js.expect | 6 - Test/git-issues/git-issue-267.dfy | 7 +- Test/git-issues/git-issue-267.dfy.expect | 13 + Test/git-issues/git-issue-2672.dfy | 8 +- Test/git-issues/git-issue-2672.dfy.expect | 44 ++ Test/git-issues/git-issue-2726a.dfy | 3 +- Test/git-issues/git-issue-2726a.dfy.expect | 2 + Test/git-issues/git-issue-2733.dfy | 9 +- Test/git-issues/git-issue-2733.dfy.expect | 14 + Test/git-issues/git-issue-2792.dfy | 3 +- Test/git-issues/git-issue-2792.dfy.expect | 2 + Test/git-issues/git-issue-283.dfy | 7 +- Test/git-issues/git-issue-283.dfy.expect | 13 + Test/git-issues/git-issue-283d.dfy | 7 +- Test/git-issues/git-issue-283d.dfy.expect | 10 + Test/git-issues/git-issue-314.dfy | 7 +- Test/git-issues/git-issue-314.dfy.expect | 10 + Test/git-issues/git-issue-332.dfy | 3 +- Test/git-issues/git-issue-332.dfy.expect | 2 + Test/git-issues/git-issue-354.dfy | 7 +- Test/git-issues/git-issue-354.dfy.expect | 22 + Test/git-issues/git-issue-356.dfy | 8 +- Test/git-issues/git-issue-356.dfy.expect | 36 ++ Test/git-issues/git-issue-364.dfy | 3 +- Test/git-issues/git-issue-364.dfy.expect | 2 + Test/git-issues/git-issue-374.dfy | 7 +- Test/git-issues/git-issue-374.dfy.expect | 10 + Test/git-issues/git-issue-396.dfy | 6 +- Test/git-issues/git-issue-396.dfy.expect | 11 + Test/git-issues/git-issue-4007.dfy | 5 +- Test/git-issues/git-issue-4007.dfy.expect | 3 + .../git-issue-4007.dfy.verifier.expect | 1 - Test/git-issues/git-issue-4012.dfy | 5 +- Test/git-issues/git-issue-4012.dfy.expect | 2 + Test/git-issues/git-issue-425.dfy | 7 +- Test/git-issues/git-issue-425.dfy.expect | 16 + Test/git-issues/git-issue-443.dfy | 3 +- Test/git-issues/git-issue-443.dfy.expect | 2 + Test/git-issues/git-issue-446.dfy | 7 +- Test/git-issues/git-issue-446.dfy.expect | 19 + Test/git-issues/git-issue-446a.dfy | 7 +- Test/git-issues/git-issue-446a.dfy.expect | 19 + Test/git-issues/git-issue-446b.dfy | 7 +- Test/git-issues/git-issue-446b.dfy.expect | 25 + Test/git-issues/git-issue-478-good.dfy | 3 +- Test/git-issues/git-issue-478-good.dfy.expect | 2 + Test/git-issues/git-issue-506.dfy | 6 +- Test/git-issues/git-issue-506.dfy.expect | 26 + Test/git-issues/git-issue-532.dfy | 7 +- Test/git-issues/git-issue-532.dfy.expect | 19 + Test/git-issues/git-issue-549.dfy | 5 +- Test/git-issues/git-issue-549.dfy.expect | 8 + Test/git-issues/git-issue-622$f.dfy | 3 +- Test/git-issues/git-issue-622$f.dfy.expect | 2 + Test/git-issues/git-issue-684.dfy | 7 +- Test/git-issues/git-issue-684.dfy.expect | 10 + Test/git-issues/git-issue-686.dfy | 7 +- Test/git-issues/git-issue-686.dfy.expect | 23 + .../git-issue-686.dfy.verifier.expect | 2 - Test/git-issues/git-issue-697.dfy | 3 +- Test/git-issues/git-issue-697.dfy.expect | 2 + Test/git-issues/git-issue-697b.dfy | 3 +- Test/git-issues/git-issue-697b.dfy.expect | 2 + Test/git-issues/git-issue-697d.dfy | 3 +- Test/git-issues/git-issue-697d.dfy.expect | 2 + Test/git-issues/git-issue-697e.dfy | 3 +- Test/git-issues/git-issue-697e.dfy.expect | 2 + Test/git-issues/git-issue-697f.dfy | 3 +- Test/git-issues/git-issue-697f.dfy.expect | 2 + Test/git-issues/git-issue-697g.dfy | 3 +- Test/git-issues/git-issue-697g.dfy.expect | 2 + Test/git-issues/git-issue-698.dfy | 5 +- Test/git-issues/git-issue-698.dfy.expect | 7 + Test/git-issues/git-issue-698b.dfy | 5 +- Test/git-issues/git-issue-698b.dfy.expect | 2 + Test/git-issues/git-issue-701.dfy | 7 +- Test/git-issues/git-issue-701.dfy.expect | 19 + Test/git-issues/git-issue-705.dfy | 7 +- Test/git-issues/git-issue-705.dfy.expect | 13 + Test/git-issues/git-issue-731.dfy | 7 +- Test/git-issues/git-issue-731.dfy.expect | 16 + Test/git-issues/git-issue-731b.dfy | 7 +- Test/git-issues/git-issue-731b.dfy.expect | 13 + Test/git-issues/git-issue-784.dfy | 7 +- Test/git-issues/git-issue-784.dfy.expect | 10 + Test/git-issues/git-issue-953.dfy | 8 +- Test/git-issues/git-issue-953.dfy.expect | 36 ++ Test/git-issues/github-issue-3343.dfy | 3 +- Test/git-issues/github-issue-3343.dfy.expect | 2 + Test/hofs/Compilation.dfy | 3 +- Test/hofs/Compilation.dfy.expect | 2 + Test/hofs/Examples.dfy | 3 +- Test/hofs/Examples.dfy.expect | 2 + Test/hofs/Fold.dfy | 3 +- Test/hofs/Fold.dfy.expect | 2 + Test/hofs/Renaming.dfy | 3 +- Test/hofs/Renaming.dfy.expect | 2 + Test/hofs/Requires.dfy | 3 +- Test/hofs/Requires.dfy.expect | 2 + Test/hofs/TreeMapSimple.dfy | 3 +- Test/hofs/TreeMapSimple.dfy.expect | 2 + Test/hofs/VectorUpdate.dfy | 3 +- Test/hofs/VectorUpdate.dfy.expect | 2 + Test/hofs/WhileLoop.dfy | 3 +- Test/hofs/WhileLoop.dfy.expect | 2 + Test/metatests/OutputEncoding.dfy | 8 +- Test/metatests/OutputEncoding.dfy.expect | 16 + Test/patterns/OrPatterns.dfy | 3 +- Test/patterns/OrPatterns.dfy.expect | 2 + Test/patterns/PatternMatching.dfy | 5 +- Test/patterns/PatternMatching.dfy.expect | 3 + .../PatternMatching.dfy.verifier.expect | 1 - Test/traits/TraitCompile.dfy | 10 +- Test/traits/TraitCompile.dfy.expect | 256 ++++++++ Test/traits/TraitExample.dfy | 3 +- Test/traits/TraitExample.dfy.expect | 2 + Test/traits/Traits-Fields.dfy | 3 +- Test/traits/Traits-Fields.dfy.expect | 2 + Test/traits/TraitsMultipleInheritance.dfy | 3 +- .../TraitsMultipleInheritance.dfy.expect | 2 + Test/unicodechars/comp/Collections.dfy | 9 +- Test/unicodechars/comp/Collections.dfy.expect | 512 ++++++++++++++++ .../comp/Collections.dfy.go.expect | 125 ---- .../comp/Collections.dfy.java.expect | 125 ---- .../comp/Collections.dfy.js.expect | 125 ---- .../comp/Collections.dfy.py.expect | 125 ---- Test/unicodechars/comp/Comprehensions.dfy | 11 +- .../comp/Comprehensions.dfy.expect | 260 ++++++++ .../comp/Comprehensions.dfy.py.expect | 62 -- Test/unicodechars/comp/NativeNumbers.dfy | 9 +- .../comp/NativeNumbers.dfy.expect | 256 ++++++++ Test/unicodechars/comp/Numbers.dfy | 11 +- Test/unicodechars/comp/Numbers.dfy.expect | 456 ++++++++++++++ Test/unicodechars/comp/Numbers.dfy.go.expect | 111 ---- Test/unicodechars/comp/Numbers.dfy.py.expect | 111 ---- 469 files changed, 8689 insertions(+), 2165 deletions(-) delete mode 100644 Test/comp/Arrays.dfy.go.expect delete mode 100644 Test/comp/Collections.dfy.go.expect delete mode 100644 Test/comp/Collections.dfy.java.expect delete mode 100644 Test/comp/Collections.dfy.js.expect delete mode 100644 Test/comp/Collections.dfy.py.expect delete mode 100644 Test/comp/Comprehensions.dfy.py.expect delete mode 100644 Test/comp/ComprehensionsNewSyntax.dfy.py.expect delete mode 100644 Test/comp/Datatype.dfy.java.expect delete mode 100644 Test/comp/Datatype.dfy.py.expect delete mode 100644 Test/comp/Numbers.dfy.go.expect delete mode 100644 Test/comp/Numbers.dfy.py.expect delete mode 100644 Test/comp/Poly.dfy.go.expect delete mode 100644 Test/comp/Poly.dfy.py.expect delete mode 100644 Test/comp/TypeParams.dfy.go.expect delete mode 100644 Test/comp/TypeParams.dfy.java.expect delete mode 100644 Test/comp/TypeParams.dfy.js.expect delete mode 100644 Test/comp/TypeParams.dfy.py.expect delete mode 100644 Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect delete mode 100644 Test/dafny0/Deprecation.dfy.verifier.expect delete mode 100644 Test/dafny0/DiscoverBounds.dfy.verifier.expect delete mode 100644 Test/dafny0/DividedConstructors.dfy.verifier.expect delete mode 100644 Test/dafny0/ForallCompilationNewSyntax.dfy.verifier.expect delete mode 100644 Test/dafny0/NullComparisonWarnings.dfy.verifier.expect delete mode 100644 Test/dafny0/TypeMembers.dfy.verifier.expect delete mode 100644 Test/dafny0/Wellfounded.dfy.verifier.expect delete mode 100644 Test/dafny2/SmallestMissingNumber-functional.dfy.verifier.expect delete mode 100644 Test/dafny2/StoreAndRetrieve.dfy.verifier.expect delete mode 100644 Test/dafny3/CachedContainer.dfy.verifier.expect delete mode 100644 Test/dafny4/Ackermann.dfy.verifier.expect delete mode 100644 Test/dafny4/ClassRefinement.dfy.verifier.expect delete mode 100644 Test/git-issues/git-issue-032.dfy.verifier.expect delete mode 100644 Test/git-issues/git-issue-1185.dfy.java.expect delete mode 100644 Test/git-issues/git-issue-262.dfy.go.expect delete mode 100644 Test/git-issues/git-issue-262.dfy.java.expect delete mode 100644 Test/git-issues/git-issue-262.dfy.js.expect delete mode 100644 Test/git-issues/git-issue-4007.dfy.verifier.expect delete mode 100644 Test/git-issues/git-issue-686.dfy.verifier.expect delete mode 100644 Test/patterns/PatternMatching.dfy.verifier.expect delete mode 100644 Test/unicodechars/comp/Collections.dfy.go.expect delete mode 100644 Test/unicodechars/comp/Collections.dfy.java.expect delete mode 100644 Test/unicodechars/comp/Collections.dfy.js.expect delete mode 100644 Test/unicodechars/comp/Collections.dfy.py.expect delete mode 100644 Test/unicodechars/comp/Comprehensions.dfy.py.expect delete mode 100644 Test/unicodechars/comp/Numbers.dfy.go.expect delete mode 100644 Test/unicodechars/comp/Numbers.dfy.py.expect diff --git a/Test/VerifyThis2015/Problem1.dfy b/Test/VerifyThis2015/Problem1.dfy index ab227e1ab85..20bd154ab8d 100644 --- a/Test/VerifyThis2015/Problem1.dfy +++ b/Test/VerifyThis2015/Problem1.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Rustan Leino // 12 April 2015 diff --git a/Test/VerifyThis2015/Problem1.dfy.expect b/Test/VerifyThis2015/Problem1.dfy.expect index 9e8a46acf90..110dd45761d 100644 --- a/Test/VerifyThis2015/Problem1.dfy.expect +++ b/Test/VerifyThis2015/Problem1.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 18 verified, 0 errors true true false diff --git a/Test/VerifyThis2015/Problem2.dfy b/Test/VerifyThis2015/Problem2.dfy index 9b57395e68b..7466df6d410 100644 --- a/Test/VerifyThis2015/Problem2.dfy +++ b/Test/VerifyThis2015/Problem2.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Rustan Leino // 13 April 2015, and many subsequent enhancements and revisions diff --git a/Test/VerifyThis2015/Problem2.dfy.expect b/Test/VerifyThis2015/Problem2.dfy.expect index e69de29bb2d..b49c1470365 100644 --- a/Test/VerifyThis2015/Problem2.dfy.expect +++ b/Test/VerifyThis2015/Problem2.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 32 verified, 0 errors diff --git a/Test/VerifyThis2015/Problem3.dfy b/Test/VerifyThis2015/Problem3.dfy index 1348acf0f4d..3be60b5d81a 100644 --- a/Test/VerifyThis2015/Problem3.dfy +++ b/Test/VerifyThis2015/Problem3.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Rustan Leino // 12 April 2015 // VerifyThis 2015 diff --git a/Test/VerifyThis2015/Problem3.dfy.expect b/Test/VerifyThis2015/Problem3.dfy.expect index e69de29bb2d..4bb1c2c7251 100644 --- a/Test/VerifyThis2015/Problem3.dfy.expect +++ b/Test/VerifyThis2015/Problem3.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 18 verified, 0 errors diff --git a/Test/c++/arrays.dfy b/Test/c++/arrays.dfy index a02b57e5ff8..47140146468 100644 --- a/Test/c++/arrays.dfy +++ b/Test/c++/arrays.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/arrays.dfy.expect b/Test/c++/arrays.dfy.expect index 2ce9320d8c2..552f9355593 100644 --- a/Test/c++/arrays.dfy.expect +++ b/Test/c++/arrays.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 9 verified, 0 errors 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/c++/bit-vectors.dfy b/Test/c++/bit-vectors.dfy index d27469e4ca5..b7f5d35df07 100644 --- a/Test/c++/bit-vectors.dfy +++ b/Test/c++/bit-vectors.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint64 = i:int | 0 <= i < 0x10000000000000000 diff --git a/Test/c++/bit-vectors.dfy.expect b/Test/c++/bit-vectors.dfy.expect index c491236b12b..e327aa2f73b 100644 --- a/Test/c++/bit-vectors.dfy.expect +++ b/Test/c++/bit-vectors.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 6 verified, 0 errors 084841024 diff --git a/Test/c++/class.dfy b/Test/c++/class.dfy index b10d703c981..3039bd0466b 100644 --- a/Test/c++/class.dfy +++ b/Test/c++/class.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/class.dfy.expect b/Test/c++/class.dfy.expect index 80f1587d0a2..93717ecfa9e 100644 --- a/Test/c++/class.dfy.expect +++ b/Test/c++/class.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 16 verified, 0 errors true true false 103 102 102 106 105 105 203 17 0 18 8 9 69 70 diff --git a/Test/c++/const.dfy b/Test/c++/const.dfy index 1bfb79f0361..5ab9a62e0e9 100644 --- a/Test/c++/const.dfy +++ b/Test/c++/const.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" module Holder { const x:bool := false diff --git a/Test/c++/const.dfy.expect b/Test/c++/const.dfy.expect index e69de29bb2d..823a60a105c 100644 --- a/Test/c++/const.dfy.expect +++ b/Test/c++/const.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 1 verified, 0 errors diff --git a/Test/c++/datatypes.dfy b/Test/c++/datatypes.dfy index f56b7907cc3..9d077b97575 100644 --- a/Test/c++/datatypes.dfy +++ b/Test/c++/datatypes.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/datatypes.dfy.expect b/Test/c++/datatypes.dfy.expect index c122f5af791..efa71b43546 100644 --- a/Test/c++/datatypes.dfy.expect +++ b/Test/c++/datatypes.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 12 verified, 0 errors Case A: 42 Case B: true This is expected diff --git a/Test/c++/generic.dfy b/Test/c++/generic.dfy index 374c545b9c1..7995928f93f 100644 --- a/Test/c++/generic.dfy +++ b/Test/c++/generic.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" class Test { var t:T diff --git a/Test/c++/generic.dfy.expect b/Test/c++/generic.dfy.expect index e69de29bb2d..00a51f822da 100644 --- a/Test/c++/generic.dfy.expect +++ b/Test/c++/generic.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 3 verified, 0 errors diff --git a/Test/c++/hello.dfy b/Test/c++/hello.dfy index 523d3152209..c887337c7e1 100644 --- a/Test/c++/hello.dfy +++ b/Test/c++/hello.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { print "Hello world\n"; diff --git a/Test/c++/hello.dfy.expect b/Test/c++/hello.dfy.expect index 802992c4220..87101fec036 100644 --- a/Test/c++/hello.dfy.expect +++ b/Test/c++/hello.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 0 verified, 0 errors Hello world diff --git a/Test/c++/ints.dfy b/Test/c++/ints.dfy index 4490a54817a..cf7ae63e0da 100644 --- a/Test/c++/ints.dfy +++ b/Test/c++/ints.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype sbyte = i:int | -0x80 <= i < 0x80 newtype byte = i:int | 0 <= i < 0x100 diff --git a/Test/c++/ints.dfy.expect b/Test/c++/ints.dfy.expect index 5fcb7b811cb..aeabccf73b0 100644 --- a/Test/c++/ints.dfy.expect +++ b/Test/c++/ints.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 15 verified, 0 errors Result is z = 42 diff --git a/Test/c++/recursion.dfy b/Test/c++/recursion.dfy index 36048aab527..e255b8e6b08 100644 --- a/Test/c++/recursion.dfy +++ b/Test/c++/recursion.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/recursion.dfy.expect b/Test/c++/recursion.dfy.expect index 1ea14926e89..15dbfe2bcd1 100644 --- a/Test/c++/recursion.dfy.expect +++ b/Test/c++/recursion.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 5 verified, 0 errors x !y 3 diff --git a/Test/c++/returns.dfy b/Test/c++/returns.dfy index 9e23121d26a..1ad19a8ce83 100644 --- a/Test/c++/returns.dfy +++ b/Test/c++/returns.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint64 = i:int | 0 <= i < 0x10000000000000000 diff --git a/Test/c++/returns.dfy.expect b/Test/c++/returns.dfy.expect index 48082f72f08..8db105eaba8 100644 --- a/Test/c++/returns.dfy.expect +++ b/Test/c++/returns.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors 12 diff --git a/Test/c++/seqs.dfy b/Test/c++/seqs.dfy index 903208b07f8..f97a42b2851 100644 --- a/Test/c++/seqs.dfy +++ b/Test/c++/seqs.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint8 = i:int | 0 <= i < 0x100 newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/seqs.dfy.expect b/Test/c++/seqs.dfy.expect index 16f5f9d22ea..23f01695bc9 100644 --- a/Test/c++/seqs.dfy.expect +++ b/Test/c++/seqs.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 11 verified, 0 errors Head second:2 Trunc first:2 Head trunc: This is expected diff --git a/Test/c++/sets.dfy b/Test/c++/sets.dfy index 10e2fe0501d..5bfb6f80f1e 100644 --- a/Test/c++/sets.dfy +++ b/Test/c++/sets.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/sets.dfy.expect b/Test/c++/sets.dfy.expect index 52a1e67717e..1c8ede8765e 100644 --- a/Test/c++/sets.dfy.expect +++ b/Test/c++/sets.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 8 verified, 0 errors Identity: This is expected ValuesIdentity: This is expected DiffIdentity: This is expected diff --git a/Test/c++/while.dfy b/Test/c++/while.dfy index 0c0d7ee98df..40dc4699d11 100644 --- a/Test/c++/while.dfy +++ b/Test/c++/while.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/while.dfy.expect b/Test/c++/while.dfy.expect index 9a44de1e2a3..8dfe872ca51 100644 --- a/Test/c++/while.dfy.expect +++ b/Test/c++/while.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 2 verified, 0 errors 0 1 2 diff --git a/Test/comp/Arrays.dfy b/Test/comp/Arrays.dfy index acb4225b358..566f052e0a6 100644 --- a/Test/comp/Arrays.dfy +++ b/Test/comp/Arrays.dfy @@ -1,5 +1,10 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false +// RUN: %baredafny verify %args --relax-definite-assignment "%s" > "%t" +// RUN: %baredafny run --unicode-char:false --no-verify --target=cs %args "%s" >> "%t" +// RUN: %baredafny run --unicode-char:false --no-verify --target=js %args "%s" >> "%t" +// RUN: %baredafny run --unicode-char:false --no-verify --target=go %args "%s" >> "%t" +// RUN: %baredafny run --unicode-char:false --no-verify --target=java %args "%s" >> "%t" +// RUN: %baredafny run --unicode-char:false --no-verify --target=py %args "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method LinearSearch(a: array, key: int) returns (n: nat) ensures 0 <= n <= a.Length diff --git a/Test/comp/Arrays.dfy.expect b/Test/comp/Arrays.dfy.expect index ef3b884f98a..8559e2f3c5c 100644 --- a/Test/comp/Arrays.dfy.expect +++ b/Test/comp/Arrays.dfy.expect @@ -1,3 +1,399 @@ + +Dafny program verifier finished with 89 verified, 0 errors + +Dafny program verifier did not attempt verification +0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 +17 +[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] +[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] +[20, 21, 22] +[0, 1, 2, 3, 4, 5, 6, 7] +[0, 1, 2, 3, 4, 5, 6, 7] +d d d +h e l l o +0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 +1 0 0 0 0 +0 1 0 0 0 +0 0 1 0 0 +cube dims: 3 0 4 +[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] +It's null +hi hello tjena hej hola +hi hello tjena hej hola +hi hello tjena hej hola +d d d +h e l l o +8 8 8 8 +true true true +1 1 1 1 1 +2 2 2 2 2 +3 3 3 3 3 +4 4 4 4 4 +(d, 8, true, 1, 2, 3, 4) +D D D +0 0 0 0 +false false false +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +(D, 0, false, 0, 0, 0, 0) +8 0 +false 0 null null +8 8 +8 8 +8 8 +8 8 +D D D +D D D +D D D +D D r (D, D, r) +D D r +[19, 18, 9, 8] + true + false + true + false + false + false + true + true + false + true + false + true + true + false +hello there +false false +true true +false false +false false +uninitialized bytes: array[0, 0, 0] +bytes from display: array[7, 8, 9] +bytes from lambda: array[20, 21, 22] +uninitialized 1bytes: array[1, 1, 1] +1bytes from display: array[7, 8, 9] +1bytes from lambda: array[20, 21, 22] +17 19 18 20 +100 200 300 120 38 +hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +DDDDDabcdeabcdeggggg +DDDDDabcdeabcdeggggg +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] +DDDDDDDDDDagggggaggg +0 69 50 +0 69 50 +D k n +false false +true true +false false +false false +true true + +Dafny program verifier did not attempt verification +0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 +17 +[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] +[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] +[20, 21, 22] +[0, 1, 2, 3, 4, 5, 6, 7] +[0, 1, 2, 3, 4, 5, 6, 7] +d d d +h e l l o +0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 +1 0 0 0 0 +0 1 0 0 0 +0 0 1 0 0 +cube dims: 3 0 4 +[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] +It's null +hi hello tjena hej hola +hi hello tjena hej hola +hi hello tjena hej hola +d d d +h e l l o +8 8 8 8 +true true true +1 1 1 1 1 +2 2 2 2 2 +3 3 3 3 3 +4 4 4 4 4 +(d, 8, true, 1, 2, 3, 4) +D D D +0 0 0 0 +false false false +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +(D, 0, false, 0, 0, 0, 0) +8 0 +false 0 null null +8 8 +8 8 +8 8 +8 8 +D D D +D D D +D D D +D D r (D, D, r) +D D r +[19, 18, 9, 8] + true + false + true + false + false + false + true + true + false + true + false + true + true + false +hello there +false false +true true +false false +false false +uninitialized bytes: array[0, 0, 0] +bytes from display: array[7, 8, 9] +bytes from lambda: array[20, 21, 22] +uninitialized 1bytes: array[1, 1, 1] +1bytes from display: array[7, 8, 9] +1bytes from lambda: array[20, 21, 22] +17 19 18 20 +100 200 300 120 38 +hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +DDDDDabcdeabcdeggggg +DDDDDabcdeabcdeggggg +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] +DDDDDDDDDDagggggaggg +0 69 50 +0 69 50 +D k n +false false +true true +false false +false false +true true + +Dafny program verifier did not attempt verification +0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 +17 +[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] +[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] +[20, 21, 22] +[0, 1, 2, 3, 4, 5, 6, 7] +[0, 1, 2, 3, 4, 5, 6, 7] +d d d +h e l l o +0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 +1 0 0 0 0 +0 1 0 0 0 +0 0 1 0 0 +cube dims: 3 0 4 +[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] +It's null +hi hello tjena hej hola +hi hello tjena hej hola +hi hello tjena hej hola +d d d +h e l l o +8 8 8 8 +true true true +1 1 1 1 1 +2 2 2 2 2 +3 3 3 3 3 +4 4 4 4 4 +(d, 8, true, 1, 2, 3, 4) +D D D +0 0 0 0 +false false false +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +(D, 0, false, 0, 0, 0, 0) +8 0 +false 0 null null +8 8 +8 8 +8 8 +8 8 +D D D +D D D +D D D +D D r (D, D, r) +D D r +[19, 18, 9, 8] + true + false + true + false + false + false + true + true + false + true + false + true + true + false +hello there +false false +true true +false false +false false +uninitialized bytes: array[0, 0, 0] +bytes from display: array[7, 8, 9] +bytes from lambda: array[20, 21, 22] +uninitialized 1bytes: array[1, 1, 1] +1bytes from display: array[7, 8, 9] +1bytes from lambda: array[20, 21, 22] +17 19 18 20 +100 200 300 120 38 +hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +DDDDDabcdeabcdeggggg +DDDDDabcdeabcdeggggg +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] +[D, D, D, D, D, D, D, D, D, D, a, g, g, g, g, g, a, g, g, g] +0 69 50 +0 69 50 +D k n +false false +true true +false false +false false +true true + +Dafny program verifier did not attempt verification +0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 +17 +[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] +[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] +[20, 21, 22] +[0, 1, 2, 3, 4, 5, 6, 7] +[0, 1, 2, 3, 4, 5, 6, 7] +d d d +h e l l o +0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 +1 0 0 0 0 +0 1 0 0 0 +0 0 1 0 0 +cube dims: 3 0 4 +[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] +It's null +hi hello tjena hej hola +hi hello tjena hej hola +hi hello tjena hej hola +d d d +h e l l o +8 8 8 8 +true true true +1 1 1 1 1 +2 2 2 2 2 +3 3 3 3 3 +4 4 4 4 4 +(d, 8, true, 1, 2, 3, 4) +D D D +0 0 0 0 +false false false +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +(D, 0, false, 0, 0, 0, 0) +8 0 +false 0 null null +8 8 +8 8 +8 8 +8 8 +D D D +D D D +D D D +D D r (D, D, r) +D D r +[19, 18, 9, 8] + true + false + true + false + false + false + true + true + false + true + false + true + true + false +hello there +false false +true true +false false +false false +uninitialized bytes: array[0, 0, 0] +bytes from display: array[7, 8, 9] +bytes from lambda: array[20, 21, 22] +uninitialized 1bytes: array[1, 1, 1] +1bytes from display: array[7, 8, 9] +1bytes from lambda: array[20, 21, 22] +17 19 18 20 +100 200 300 120 38 +hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +DDDDDabcdeabcdeggggg +DDDDDabcdeabcdeggggg +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] +DDDDDDDDDDagggggaggg +0 69 50 +0 69 50 +D k n +false false +true true +false false +false false +true true + +Dafny program verifier did not attempt verification 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/comp/Arrays.dfy.go.expect b/Test/comp/Arrays.dfy.go.expect deleted file mode 100644 index 1217623d90c..00000000000 --- a/Test/comp/Arrays.dfy.go.expect +++ /dev/null @@ -1,96 +0,0 @@ -0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 -17 -[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] -[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] -[20, 21, 22] -[0, 1, 2, 3, 4, 5, 6, 7] -[0, 1, 2, 3, 4, 5, 6, 7] -d d d -h e l l o -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -1 0 0 0 0 -0 1 0 0 0 -0 0 1 0 0 -cube dims: 3 0 4 -[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] -It's null -hi hello tjena hej hola -hi hello tjena hej hola -hi hello tjena hej hola -d d d -h e l l o -8 8 8 8 -true true true -1 1 1 1 1 -2 2 2 2 2 -3 3 3 3 3 -4 4 4 4 4 -(d, 8, true, 1, 2, 3, 4) -D D D -0 0 0 0 -false false false -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -(D, 0, false, 0, 0, 0, 0) -8 0 -false 0 null null -8 8 -8 8 -8 8 -8 8 -D D D -D D D -D D D -D D r (D, D, r) -D D r -[19, 18, 9, 8] - true - false - true - false - false - false - true - true - false - true - false - true - true - false -hello there -false false -true true -false false -false false -uninitialized bytes: array[0, 0, 0] -bytes from display: array[7, 8, 9] -bytes from lambda: array[20, 21, 22] -uninitialized 1bytes: array[1, 1, 1] -1bytes from display: array[7, 8, 9] -1bytes from lambda: array[20, 21, 22] -17 19 18 20 -100 200 300 120 38 -hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -DDDDDabcdeabcdeggggg -DDDDDabcdeabcdeggggg -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] -[D, D, D, D, D, D, D, D, D, D, a, g, g, g, g, g, a, g, g, g] -0 69 50 -0 69 50 -D k n -false false -true true -false false -false false -true true diff --git a/Test/comp/AsIs-Compile.dfy b/Test/comp/AsIs-Compile.dfy index 319847564e2..47084ed7633 100644 --- a/Test/comp/AsIs-Compile.dfy +++ b/Test/comp/AsIs-Compile.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" +// RUN: %baredafny verify %args "%s" > "%t" +// RUN: %baredafny run --no-verify -t=cs %args "%s" >> "%t" +// RUN: %baredafny run --no-verify -t=js %args "%s" >> "%t" +// RUN: %baredafny run --no-verify -t=go %args "%s" >> "%t" +// RUN: %baredafny run --no-verify -t=java %args "%s" >> "%t" +// RUN: %baredafny run --no-verify -t=py %args "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var a: A, b: B, c: C, k: K, l: L := new M, new M, new M, new K, new L; diff --git a/Test/comp/AsIs-Compile.dfy.expect b/Test/comp/AsIs-Compile.dfy.expect index acc78c6e155..36dfe46e91d 100644 --- a/Test/comp/AsIs-Compile.dfy.expect +++ b/Test/comp/AsIs-Compile.dfy.expect @@ -1,3 +1,163 @@ + +Dafny program verifier finished with 6 verified, 0 errors + +Dafny program verifier did not attempt verification +true true true true true +true true true true true +IsComparisons ---- +false true false false + true false false + true false +false false true false + false true false + false false +false false false true + false false true + false true +false true false false + false true false + false false +true true +false true +TestNullIs ---- +true true +true true +true true true true true true +true true true true true true +true true true true true true +true true true true true true +true true +false true +true true true true true true +false true false true false true +true true true true true true +false true false true false true +TestFromTraits ---- +5 +0 +4 +4 +4 +4 + +Dafny program verifier did not attempt verification +true true true true true +true true true true true +IsComparisons ---- +false true false false + true false false + true false +false false true false + false true false + false false +false false false true + false false true + false true +false true false false + false true false + false false +true true +false true +TestNullIs ---- +true true +true true +true true true true true true +true true true true true true +true true true true true true +true true true true true true +true true +false true +true true true true true true +false true false true false true +true true true true true true +false true false true false true +TestFromTraits ---- +5 +0 +4 +4 +4 +4 + +Dafny program verifier did not attempt verification +true true true true true +true true true true true +IsComparisons ---- +false true false false + true false false + true false +false false true false + false true false + false false +false false false true + false false true + false true +false true false false + false true false + false false +true true +false true +TestNullIs ---- +true true +true true +true true true true true true +true true true true true true +true true true true true true +true true true true true true +true true +false true +true true true true true true +false true false true false true +true true true true true true +false true false true false true +TestFromTraits ---- +5 +0 +4 +4 +4 +4 + +Dafny program verifier did not attempt verification +true true true true true +true true true true true +IsComparisons ---- +false true false false + true false false + true false +false false true false + false true false + false false +false false false true + false false true + false true +false true false false + false true false + false false +true true +false true +TestNullIs ---- +true true +true true +true true true true true true +true true true true true true +true true true true true true +true true true true true true +true true +false true +true true true true true true +false true false true false true +true true true true true true +false true false true false true +TestFromTraits ---- +5 +0 +4 +4 +4 +4 + +Dafny program verifier did not attempt verification true true true true true true true true true true IsComparisons ---- diff --git a/Test/comp/AutoInit.dfy b/Test/comp/AutoInit.dfy index c0e752efa36..b284619a80c 100644 --- a/Test/comp/AutoInit.dfy +++ b/Test/comp/AutoInit.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // This file tests the compilation of some default values. It also includes some // regression tests for equality, printing, and tuples. diff --git a/Test/comp/AutoInit.dfy.expect b/Test/comp/AutoInit.dfy.expect index e68e2e43764..51533cc6d5e 100644 --- a/Test/comp/AutoInit.dfy.expect +++ b/Test/comp/AutoInit.dfy.expect @@ -1,3 +1,163 @@ + +Dafny program verifier finished with 21 verified, 0 errors + +Dafny program verifier did not attempt verification +3 false 0 +false false true +() (0, false, false, []) +(null, 0) (null, 0) true +(null, null, null, 0) (null, null, null, 0) true +true false false true +true false false true +17 +1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or +(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) +1 +ww == null -- yes, as expected +true true true true +true true true +true true true +null null +null null +null null null +null null null +null null null +null null null +null null +null null null +null null null +DatatypeDefaultValues.EnumDatatype.MakeZero + DatatypeDefaultValues.IntList.Nil + 0 +DatatypeDefaultValues.GenericTree.Leaf + DatatypeDefaultValues.Complicated.ComplA(0, false) + DatatypeDefaultValues.CellCell.MakeCellCell(0) +null + null +Library.Color.Red(0) and Library.Color.Red(0) +Library.CoColor.Yellow and Library.CoColor.Yellow +Library.MoColor.MoYellow and Library.MoColor.MoYellow +0.0 and 0.0 +13 + +Dafny program verifier did not attempt verification +3 false 0 +false false true +() (0, false, false, []) +(null, 0) (null, 0) true +(null, null, null, 0) (null, null, null, 0) true +true false false true +true false false true +17 +1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or +(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) +1 +ww == null -- yes, as expected +true true true true +true true true +true true true +null null +null null +null null null +null null null +null null null +null null null +null null +null null null +null null null +DatatypeDefaultValues.EnumDatatype.MakeZero + DatatypeDefaultValues.IntList.Nil + 0 +DatatypeDefaultValues.GenericTree.Leaf + DatatypeDefaultValues.Complicated.ComplA(0, false) + DatatypeDefaultValues.CellCell.MakeCellCell(0) +null + null +Library.Color.Red(0) and Library.Color.Red(0) +Library.CoColor.Yellow and Library.CoColor.Yellow +Library.MoColor.MoYellow and Library.MoColor.MoYellow +0.0 and 0.0 +13 + +Dafny program verifier did not attempt verification +3 false 0 +false false true +() (0, false, false, []) +(null, 0) (null, 0) true +(null, null, null, 0) (null, null, null, 0) true +true false false true +true false false true +17 +1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or +(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) +1 +ww == null -- yes, as expected +true true true true +true true true +true true true +null null +null null +null null null +null null null +null null null +null null null +null null +null null null +null null null +DatatypeDefaultValues.EnumDatatype.MakeZero + DatatypeDefaultValues.IntList.Nil + 0 +DatatypeDefaultValues.GenericTree.Leaf + DatatypeDefaultValues.Complicated.ComplA(0, false) + DatatypeDefaultValues.CellCell.MakeCellCell(0) +null + null +Library.Color.Red(0) and Library.Color.Red(0) +Library.CoColor.Yellow and Library.CoColor.Yellow +Library.MoColor.MoYellow and Library.MoColor.MoYellow +0.0 and 0.0 +13 + +Dafny program verifier did not attempt verification +3 false 0 +false false true +() (0, false, false, []) +(null, 0) (null, 0) true +(null, null, null, 0) (null, null, null, 0) true +true false false true +true false false true +17 +1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or +(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) +1 +ww == null -- yes, as expected +true true true true +true true true +true true true +null null +null null +null null null +null null null +null null null +null null null +null null +null null null +null null null +DatatypeDefaultValues.EnumDatatype.MakeZero + DatatypeDefaultValues.IntList.Nil + 0 +DatatypeDefaultValues.GenericTree.Leaf + DatatypeDefaultValues.Complicated.ComplA(0, false) + DatatypeDefaultValues.CellCell.MakeCellCell(0) +null + null +Library.Color.Red(0) and Library.Color.Red(0) +Library.CoColor.Yellow and Library.CoColor.Yellow +Library.MoColor.MoYellow and Library.MoColor.MoYellow +0.0 and 0.0 +13 + +Dafny program verifier did not attempt verification 3 false 0 false false true () (0, false, false, []) diff --git a/Test/comp/ByMethodCompilation.dfy b/Test/comp/ByMethodCompilation.dfy index 7432f72f7d4..ea62d84b21e 100644 --- a/Test/comp/ByMethodCompilation.dfy +++ b/Test/comp/ByMethodCompilation.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var four := Four(); diff --git a/Test/comp/ByMethodCompilation.dfy.expect b/Test/comp/ByMethodCompilation.dfy.expect index d61780e3fb8..1519a955b0c 100644 --- a/Test/comp/ByMethodCompilation.dfy.expect +++ b/Test/comp/ByMethodCompilation.dfy.expect @@ -1,3 +1,35 @@ + +Dafny program verifier finished with 13 verified, 0 errors + +Dafny program verifier did not attempt verification +hello +four is 4 +Recursive(7) = 14 +NonCompilableFunction: 4 7 +Sums: 14 3 + +Dafny program verifier did not attempt verification +hello +four is 4 +Recursive(7) = 14 +NonCompilableFunction: 4 7 +Sums: 14 3 + +Dafny program verifier did not attempt verification +hello +four is 4 +Recursive(7) = 14 +NonCompilableFunction: 4 7 +Sums: 14 3 + +Dafny program verifier did not attempt verification +hello +four is 4 +Recursive(7) = 14 +NonCompilableFunction: 4 7 +Sums: 14 3 + +Dafny program verifier did not attempt verification hello four is 4 Recursive(7) = 14 diff --git a/Test/comp/Calls.dfy b/Test/comp/Calls.dfy index c56bc3e5286..4a4916aea0c 100644 --- a/Test/comp/Calls.dfy +++ b/Test/comp/Calls.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" function F(x: int, y: bool): int { x + if y then 2 else 3 diff --git a/Test/comp/Calls.dfy.expect b/Test/comp/Calls.dfy.expect index cf4e1bc155b..3317b8be164 100644 --- a/Test/comp/Calls.dfy.expect +++ b/Test/comp/Calls.dfy.expect @@ -1,3 +1,43 @@ + +Dafny program verifier finished with 6 verified, 0 errors + +Dafny program verifier did not attempt verification +5 0 0 false 0 false 0 +5 3 5 3 5 3 +5 3 5 3 5 3 +15 +[0, 1, 2, 4] +[0, 2, 4] +--> 5 <-- + +Dafny program verifier did not attempt verification +5 0 0 false 0 false 0 +5 3 5 3 5 3 +5 3 5 3 5 3 +15 +[0, 1, 2, 4] +[0, 2, 4] +--> 5 <-- + +Dafny program verifier did not attempt verification +5 0 0 false 0 false 0 +5 3 5 3 5 3 +5 3 5 3 5 3 +15 +[0, 1, 2, 4] +[0, 2, 4] +--> 5 <-- + +Dafny program verifier did not attempt verification +5 0 0 false 0 false 0 +5 3 5 3 5 3 +5 3 5 3 5 3 +15 +[0, 1, 2, 4] +[0, 2, 4] +--> 5 <-- + +Dafny program verifier did not attempt verification 5 0 0 false 0 false 0 5 3 5 3 5 3 5 3 5 3 5 3 diff --git a/Test/comp/Class.dfy b/Test/comp/Class.dfy index 23591e43450..fb994f008e7 100644 --- a/Test/comp/Class.dfy +++ b/Test/comp/Class.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" class MyClass { var a: int diff --git a/Test/comp/Class.dfy.expect b/Test/comp/Class.dfy.expect index 47e49966664..ba1482a164b 100644 --- a/Test/comp/Class.dfy.expect +++ b/Test/comp/Class.dfy.expect @@ -1,3 +1,75 @@ + +Dafny program verifier finished with 16 verified, 0 errors + +Dafny program verifier did not attempt verification +true true false +103 103 103 106 106 106 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +0 18 9 70 +0 18 9 70 +0 18 9 70 +70 +hi later +21 4 42 5 1 +TestGhostables +15 +Init called with x=15 +16 + +Dafny program verifier did not attempt verification +true true false +103 103 103 106 106 106 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +0 18 9 70 +0 18 9 70 +0 18 9 70 +70 +hi later +21 4 42 5 1 +TestGhostables +15 +Init called with x=15 +16 + +Dafny program verifier did not attempt verification +true true false +103 103 103 106 106 106 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +0 18 9 70 +0 18 9 70 +0 18 9 70 +70 +hi later +21 4 42 5 1 +TestGhostables +15 +Init called with x=15 +16 + +Dafny program verifier did not attempt verification +true true false +103 103 103 106 106 106 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +203 17 0 18 8 9 69 70 +0 18 9 70 +0 18 9 70 +0 18 9 70 +70 +hi later +21 4 42 5 1 +TestGhostables +15 +Init called with x=15 +16 + +Dafny program verifier did not attempt verification true true false 103 103 103 106 106 106 203 17 0 18 8 9 69 70 diff --git a/Test/comp/Collections.dfy b/Test/comp/Collections.dfy index 9457e44b170..104eb9f90ac 100644 --- a/Test/comp/Collections.dfy +++ b/Test/comp/Collections.dfy @@ -1,5 +1,10 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { Sets(); diff --git a/Test/comp/Collections.dfy.expect b/Test/comp/Collections.dfy.expect index e705d887a7d..2361c1a88db 100644 --- a/Test/comp/Collections.dfy.expect +++ b/Test/comp/Collections.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 40 verified, 0 errors + +Dafny program verifier did not attempt verification Sets: {} {17, 82} {12, 17} cardinality: 0 2 2 union: {17, 82} {12, 17, 82} @@ -123,3 +127,511 @@ Multiset=== 1 3 |s|=2 |u|=4 1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Yellow := 21, Color.Blue := 30] +keys: {Color.Yellow, Color.Blue} +values: {21, 30} +items: {(Color.Yellow, 21), (Color.Blue, 30)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {21, 30} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/comp/Collections.dfy.go.expect b/Test/comp/Collections.dfy.go.expect deleted file mode 100644 index 309d0c550c4..00000000000 --- a/Test/comp/Collections.dfy.go.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/comp/Collections.dfy.java.expect b/Test/comp/Collections.dfy.java.expect deleted file mode 100644 index ed929a4d34c..00000000000 --- a/Test/comp/Collections.dfy.java.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Yellow := 21, Color.Blue := 30] -keys: {Color.Yellow, Color.Blue} -values: {21, 30} -items: {(Color.Yellow, 21), (Color.Blue, 30)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/comp/Collections.dfy.js.expect b/Test/comp/Collections.dfy.js.expect deleted file mode 100644 index 309d0c550c4..00000000000 --- a/Test/comp/Collections.dfy.js.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/comp/Collections.dfy.py.expect b/Test/comp/Collections.dfy.py.expect deleted file mode 100644 index 61b4217bbaf..00000000000 --- a/Test/comp/Collections.dfy.py.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {21, 30} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/comp/Comprehensions.dfy b/Test/comp/Comprehensions.dfy index 73c43b22bfa..29ac368f2c3 100644 --- a/Test/comp/Comprehensions.dfy +++ b/Test/comp/Comprehensions.dfy @@ -1,5 +1,10 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { AssignSuchThat(); diff --git a/Test/comp/Comprehensions.dfy.expect b/Test/comp/Comprehensions.dfy.expect index c9703fc9397..18159ddde0a 100644 --- a/Test/comp/Comprehensions.dfy.expect +++ b/Test/comp/Comprehensions.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 32 verified, 0 errors + +Dafny program verifier did not attempt verification x=13 y=14 x=13 y=14 b=yes true false @@ -60,3 +64,259 @@ true true [137438953474, 137438953475, 137438953476, 137438953477, 137438953479] cdefh cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[14 := 7, 12 := 6, 13 := 6] +map[18 := 14, 17 := 13, 16 := 12] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh diff --git a/Test/comp/Comprehensions.dfy.py.expect b/Test/comp/Comprehensions.dfy.py.expect deleted file mode 100644 index aeaa31fc0f3..00000000000 --- a/Test/comp/Comprehensions.dfy.py.expect +++ /dev/null @@ -1,62 +0,0 @@ -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[14 := 7, 12 := 6, 13 := 6] -map[18 := 14, 17 := 13, 16 := 12] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh diff --git a/Test/comp/ComprehensionsNewSyntax.dfy b/Test/comp/ComprehensionsNewSyntax.dfy index 6cd88aeb4f7..a324b622e8a 100644 --- a/Test/comp/ComprehensionsNewSyntax.dfy +++ b/Test/comp/ComprehensionsNewSyntax.dfy @@ -1,5 +1,10 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { Quantifier(); diff --git a/Test/comp/ComprehensionsNewSyntax.dfy.expect b/Test/comp/ComprehensionsNewSyntax.dfy.expect index b70314ff87b..408769f4b67 100644 --- a/Test/comp/ComprehensionsNewSyntax.dfy.expect +++ b/Test/comp/ComprehensionsNewSyntax.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 10 verified, 0 errors + +Dafny program verifier did not attempt verification true false true false map[12 := 6, 13 := 6, 14 := 7] @@ -32,3 +36,147 @@ false false false false true true true true false false false false true true true true + +Dafny program verifier did not attempt verification +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true + +Dafny program verifier did not attempt verification +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true + +Dafny program verifier did not attempt verification +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true + +Dafny program verifier did not attempt verification +true false +true false +map[14 := 7, 12 := 6, 13 := 6] +map[18 := 14, 17 := 13, 16 := 12] +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true diff --git a/Test/comp/ComprehensionsNewSyntax.dfy.py.expect b/Test/comp/ComprehensionsNewSyntax.dfy.py.expect deleted file mode 100644 index b19cef0ba0e..00000000000 --- a/Test/comp/ComprehensionsNewSyntax.dfy.py.expect +++ /dev/null @@ -1,34 +0,0 @@ -true false -true false -map[14 := 7, 12 := 6, 13 := 6] -map[18 := 14, 17 := 13, 16 := 12] -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true diff --git a/Test/comp/CovariantCollections.dfy b/Test/comp/CovariantCollections.dfy index 6dd73ee7fea..12301df3b09 100644 --- a/Test/comp/CovariantCollections.dfy +++ b/Test/comp/CovariantCollections.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { Sequences(); diff --git a/Test/comp/CovariantCollections.dfy.expect b/Test/comp/CovariantCollections.dfy.expect index a9d00f4a65d..e029d3abc3b 100644 --- a/Test/comp/CovariantCollections.dfy.expect +++ b/Test/comp/CovariantCollections.dfy.expect @@ -1,3 +1,223 @@ + +Dafny program verifier finished with 25 verified, 0 errors + +Dafny program verifier did not attempt verification +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17] [12, 17] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + comprehension: {82} + union: {17, 82} {12, 17, 82} + intersection: {} {17} + difference: {} {82} + subset: true false true + proper subset: true false false + membership: false true true +Multisets: {} {17, 17, 82, 82} {12, 17} + cardinality: 0 4 2 + update: {17, 17, 42, 42, 42} {12, 17, 42} + multiplicity: 2 0 20 + union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} + intersection: {} {17, 82, 82} + difference: {} {17, 82, 82} + subset: true false true + proper subset: true false false + membership: false true true +Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} + cardinality: 0 3 2 + update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} + comprehension: {17 := 12, 82 := 12} + Keys: {12, 17, 82} + Values: {17, 82} + eq: false true true + eq: true true true true true true + eq: true true true true true true + eq: true false true false true false + eq: true false true false true false + eq: true true true true true true + eq: true true true true true true +set: {20, 30} +multiset: {20, 30} +seq: [20, 30] +map: {20 := 30, 30 := 20} +true +true +1 1 +1 1 + +Dafny program verifier did not attempt verification +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17] [12, 17] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + comprehension: {82} + union: {17, 82} {12, 17, 82} + intersection: {} {17} + difference: {} {82} + subset: true false true + proper subset: true false false + membership: false true true +Multisets: {} {17, 17, 82, 82} {12, 17} + cardinality: 0 4 2 + update: {17, 17, 42, 42, 42} {12, 17, 42} + multiplicity: 2 0 20 + union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} + intersection: {} {17, 82, 82} + difference: {} {17, 82, 82} + subset: true false true + proper subset: true false false + membership: false true true +Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} + cardinality: 0 3 2 + update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} + comprehension: {17 := 12, 82 := 12} + Keys: {12, 17, 82} + Values: {17, 82} + eq: false true true + eq: true true true true true true + eq: true true true true true true + eq: true false true false true false + eq: true false true false true false + eq: true true true true true true + eq: true true true true true true +set: {20, 30} +multiset: {20, 30} +seq: [20, 30] +map: {20 := 30, 30 := 20} +true +true +1 1 +1 1 + +Dafny program verifier did not attempt verification +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17] [12, 17] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + comprehension: {82} + union: {17, 82} {12, 17, 82} + intersection: {} {17} + difference: {} {82} + subset: true false true + proper subset: true false false + membership: false true true +Multisets: {} {17, 17, 82, 82} {12, 17} + cardinality: 0 4 2 + update: {17, 17, 42, 42, 42} {12, 17, 42} + multiplicity: 2 0 20 + union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} + intersection: {} {17, 82, 82} + difference: {} {17, 82, 82} + subset: true false true + proper subset: true false false + membership: false true true +Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} + cardinality: 0 3 2 + update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} + comprehension: {17 := 12, 82 := 12} + Keys: {12, 17, 82} + Values: {17, 82} + eq: false true true + eq: true true true true true true + eq: true true true true true true + eq: true false true false true false + eq: true false true false true false + eq: true true true true true true + eq: true true true true true true +set: {20, 30} +multiset: {20, 30} +seq: [20, 30] +map: {20 := 30, 30 := 20} +true +true +1 1 +1 1 + +Dafny program verifier did not attempt verification +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17] [12, 17] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + comprehension: {82} + union: {17, 82} {12, 17, 82} + intersection: {} {17} + difference: {} {82} + subset: true false true + proper subset: true false false + membership: false true true +Multisets: {} {17, 17, 82, 82} {12, 17} + cardinality: 0 4 2 + update: {17, 17, 42, 42, 42} {12, 17, 42} + multiplicity: 2 0 20 + union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} + intersection: {} {17, 82, 82} + difference: {} {17, 82, 82} + subset: true false true + proper subset: true false false + membership: false true true +Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} + cardinality: 0 3 2 + update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} + comprehension: {17 := 12, 82 := 12} + Keys: {12, 17, 82} + Values: {17, 82} + eq: false true true + eq: true true true true true true + eq: true true true true true true + eq: true false true false true false + eq: true false true false true false + eq: true true true true true true + eq: true true true true true true +set: {20, 30} +multiset: {20, 30} +seq: [20, 30] +map: {20 := 30, 30 := 20} +true +true +1 1 +1 1 + +Dafny program verifier did not attempt verification Sequences: [] [17, 82, 17, 82] [12, 17] cardinality: 0 4 2 update: [42, 82, 17, 82] [42, 17] diff --git a/Test/comp/Datatype.dfy b/Test/comp/Datatype.dfy index 44579383e5c..2599907a94c 100644 --- a/Test/comp/Datatype.dfy +++ b/Test/comp/Datatype.dfy @@ -1,5 +1,10 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype List = Nil | Cons(head: int, tail: List) diff --git a/Test/comp/Datatype.dfy.expect b/Test/comp/Datatype.dfy.expect index 93e37a9562a..84dceeb16e6 100644 --- a/Test/comp/Datatype.dfy.expect +++ b/Test/comp/Datatype.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 12 verified, 0 errors + +Dafny program verifier did not attempt verification List.Nil List.Cons(5, List.Nil) (List.Nil, List.Cons(5, List.Nil)) @@ -20,3 +24,99 @@ Record.Record(58, true) 199 800 801 802 800 801 802 + +Dafny program verifier did not attempt verification +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) +0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) +Stream.Next +Stream.Next +{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} +CoBerry.Hjortron true true false +false +42 'q' hello +1701 +Record.Record(58, true) +199 +800 801 802 +800 801 802 + +Dafny program verifier did not attempt verification +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) +0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) +Stream.Next +Stream.Next +{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} +CoBerry.Hjortron true true false +false +42 'q' hello +1701 +Record.Record(58, true) +199 +800 801 802 +800 801 802 + +Dafny program verifier did not attempt verification +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) +0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) +Stream.Next +Stream.Next +{Berry.Jordgubb, Berry.Smultron, Berry.Hallon} +CoBerry.Hjortron true true false +false +42 'q' hello +1701 +Record.Record(58, true) +199 +800 801 802 +800 801 802 + +Dafny program verifier did not attempt verification +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) +0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) +Stream.Next +Stream.Next +{Berry.Hallon, Berry.Smultron, Berry.Jordgubb} +CoBerry.Hjortron true true false +false +42 'q' hello +1701 +Record.Record(58, true) +199 +800 801 802 +800 801 802 diff --git a/Test/comp/Datatype.dfy.java.expect b/Test/comp/Datatype.dfy.java.expect deleted file mode 100644 index e5a32fd58bc..00000000000 --- a/Test/comp/Datatype.dfy.java.expect +++ /dev/null @@ -1,22 +0,0 @@ -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) -0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) -Stream.Next -Stream.Next -{Berry.Jordgubb, Berry.Smultron, Berry.Hallon} -CoBerry.Hjortron true true false -false -42 'q' hello -1701 -Record.Record(58, true) -199 -800 801 802 -800 801 802 diff --git a/Test/comp/Datatype.dfy.py.expect b/Test/comp/Datatype.dfy.py.expect deleted file mode 100644 index 0f64b73ba2d..00000000000 --- a/Test/comp/Datatype.dfy.py.expect +++ /dev/null @@ -1,22 +0,0 @@ -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) -0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) -Stream.Next -Stream.Next -{Berry.Hallon, Berry.Smultron, Berry.Jordgubb} -CoBerry.Hjortron true true false -false -42 'q' hello -1701 -Record.Record(58, true) -199 -800 801 802 -800 801 802 diff --git a/Test/comp/DefaultParameters-Compile.dfy b/Test/comp/DefaultParameters-Compile.dfy index cd6ba1163b1..145b8670647 100644 --- a/Test/comp/DefaultParameters-Compile.dfy +++ b/Test/comp/DefaultParameters-Compile.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method M(x: int := 16) { print x, "\n"; diff --git a/Test/comp/DefaultParameters-Compile.dfy.expect b/Test/comp/DefaultParameters-Compile.dfy.expect index b4b87321eb5..b94739d5be1 100644 --- a/Test/comp/DefaultParameters-Compile.dfy.expect +++ b/Test/comp/DefaultParameters-Compile.dfy.expect @@ -1,3 +1,51 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification +12 +16 +1 2 +1 3 +10 20 +11 13 +Color.Blue(2, 1) Color.Red(3, 4) +5 5 6 +6 6 7 + +Dafny program verifier did not attempt verification +12 +16 +1 2 +1 3 +10 20 +11 13 +Color.Blue(2, 1) Color.Red(3, 4) +5 5 6 +6 6 7 + +Dafny program verifier did not attempt verification +12 +16 +1 2 +1 3 +10 20 +11 13 +Color.Blue(2, 1) Color.Red(3, 4) +5 5 6 +6 6 7 + +Dafny program verifier did not attempt verification +12 +16 +1 2 +1 3 +10 20 +11 13 +Color.Blue(2, 1) Color.Red(3, 4) +5 5 6 +6 6 7 + +Dafny program verifier did not attempt verification 12 16 1 2 diff --git a/Test/comp/DowncastClone.dfy b/Test/comp/DowncastClone.dfy index cb1f095b3f4..b90066da781 100644 --- a/Test/comp/DowncastClone.dfy +++ b/Test/comp/DowncastClone.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Co<+T> = Co(T) | C datatype ReCo<+T> = ReCo(T) diff --git a/Test/comp/DowncastClone.dfy.expect b/Test/comp/DowncastClone.dfy.expect index b0613294f3c..982b36b396c 100644 --- a/Test/comp/DowncastClone.dfy.expect +++ b/Test/comp/DowncastClone.dfy.expect @@ -1,3 +1,43 @@ + +Dafny program verifier finished with 7 verified, 0 errors + +Dafny program verifier did not attempt verification +Co.Co(_module.Y) and Co.Co(_module.Y) +_module.Y and _module.Y +_module.Y _module.Y +false and false +false and false +_module.Y and _module.Y +Done + +Dafny program verifier did not attempt verification +Co.Co(_module.Y) and Co.Co(_module.Y) +_module.Y and _module.Y +_module.Y _module.Y +false and false +false and false +_module.Y and _module.Y +Done + +Dafny program verifier did not attempt verification +Co.Co(_module.Y) and Co.Co(_module.Y) +_module.Y and _module.Y +_module.Y _module.Y +false and false +false and false +_module.Y and _module.Y +Done + +Dafny program verifier did not attempt verification +Co.Co(_module.Y) and Co.Co(_module.Y) +_module.Y and _module.Y +_module.Y _module.Y +false and false +false and false +_module.Y and _module.Y +Done + +Dafny program verifier did not attempt verification Co.Co(_module.Y) and Co.Co(_module.Y) _module.Y and _module.Y _module.Y _module.Y diff --git a/Test/comp/ErasableTypeWrappers.dfy b/Test/comp/ErasableTypeWrappers.dfy index a280099699f..d62d3736622 100644 --- a/Test/comp/ErasableTypeWrappers.dfy +++ b/Test/comp/ErasableTypeWrappers.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype SingletonRecord = SingletonRecord(u: int) datatype GhostOrNot = ghost Ghost(a: int, b: int) | Compiled(x: int) diff --git a/Test/comp/ErasableTypeWrappers.dfy.expect b/Test/comp/ErasableTypeWrappers.dfy.expect index 2a82d776c64..5013d9fc327 100644 --- a/Test/comp/ErasableTypeWrappers.dfy.expect +++ b/Test/comp/ErasableTypeWrappers.dfy.expect @@ -1,3 +1,87 @@ + +Dafny program verifier finished with 10 verified, 0 errors + +Dafny program verifier did not attempt verification +62 63 (2, 5) (2, 5) 3 +62 63 5 5 3 +5 5 3 +1062 1063 1005 1005 1003 +true true true +20 20 *20 21 20 +20 20 *20 21 20 +true false +true false true false +true false +0 (0, 0) 0 Color.Pink +13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false + 3.14 2.7 +18.0 18.0 3.0 false +18.0 4.0 true +HasConst.MakeC(4) (4, 4) +4 (4, 4) +OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.AnotherIntsWrapper(OptimizationChecks.Ints.Ints(5, 7)) + +Dafny program verifier did not attempt verification +62 63 (2, 5) (2, 5) 3 +62 63 5 5 3 +5 5 3 +1062 1063 1005 1005 1003 +true true true +20 20 *20 21 20 +20 20 *20 21 20 +true false +true false true false +true false +0 (0, 0) 0 Color.Pink +13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false + 3.14 2.7 +18.0 18.0 3.0 false +18.0 4.0 true +HasConst.MakeC(4) (4, 4) +4 (4, 4) +OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.AnotherIntsWrapper(OptimizationChecks.Ints.Ints(5, 7)) + +Dafny program verifier did not attempt verification +62 63 (2, 5) (2, 5) 3 +62 63 5 5 3 +5 5 3 +1062 1063 1005 1005 1003 +true true true +20 20 *20 21 20 +20 20 *20 21 20 +true false +true false true false +true false +0 (0, 0) 0 Color.Pink +13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false + 3.14 2.7 +18.0 18.0 3.0 false +18.0 4.0 true +HasConst.MakeC(4) (4, 4) +4 (4, 4) +OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.AnotherIntsWrapper(OptimizationChecks.Ints.Ints(5, 7)) + +Dafny program verifier did not attempt verification +62 63 (2, 5) (2, 5) 3 +62 63 5 5 3 +5 5 3 +1062 1063 1005 1005 1003 +true true true +20 20 *20 21 20 +20 20 *20 21 20 +true false +true false true false +true false +0 (0, 0) 0 Color.Pink +13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false + 3.14 2.7 +18.0 18.0 3.0 false +18.0 4.0 true +HasConst.MakeC(4) (4, 4) +4 (4, 4) +OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.AnotherIntsWrapper(OptimizationChecks.Ints.Ints(5, 7)) + +Dafny program verifier did not attempt verification 62 63 (2, 5) (2, 5) 3 62 63 5 5 3 5 5 3 diff --git a/Test/comp/EuclideanDivision.dfy b/Test/comp/EuclideanDivision.dfy index 1286dcd125b..7ae1803cad8 100644 --- a/Test/comp/EuclideanDivision.dfy +++ b/Test/comp/EuclideanDivision.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // Some runtimes (like the one for C#) have three implementations // of Euclidean div/mod: one for `int`, one for `long`, and one diff --git a/Test/comp/EuclideanDivision.dfy.expect b/Test/comp/EuclideanDivision.dfy.expect index e2585ff8c70..b538c9494de 100644 --- a/Test/comp/EuclideanDivision.dfy.expect +++ b/Test/comp/EuclideanDivision.dfy.expect @@ -1,3 +1,39 @@ + +Dafny program verifier finished with 11 verified, 0 errors + +Dafny program verifier did not attempt verification +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 + +Dafny program verifier did not attempt verification +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 + +Dafny program verifier did not attempt verification +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 + +Dafny program verifier did not attempt verification +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 +2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 + +Dafny program verifier did not attempt verification 2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 diff --git a/Test/comp/ForLoops-Compilation.dfy b/Test/comp/ForLoops-Compilation.dfy index b468d21f69f..97101b82961 100644 --- a/Test/comp/ForLoops-Compilation.dfy +++ b/Test/comp/ForLoops-Compilation.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { TestM(0, 0); diff --git a/Test/comp/ForLoops-Compilation.dfy.expect b/Test/comp/ForLoops-Compilation.dfy.expect index 97724a714bc..d67a5429fed 100644 --- a/Test/comp/ForLoops-Compilation.dfy.expect +++ b/Test/comp/ForLoops-Compilation.dfy.expect @@ -1,3 +1,203 @@ + +Dafny program verifier finished with 23 verified, 0 errors + +Dafny program verifier did not attempt verification +0 0 0 0 +-2 -2 -2 -2 +0 0 0 0 +145 145 145 145 +0 0 +0 0 +57 57 +0 0 +32385 32385 +0 0 +-128 -128 +126 126 +0 0 +0 * 2 == 0 +2 * 0 == 0 +1 * 1 == 1 +6 * 5 == 30 +0 + 3 == 3 +3 + 0 == 3 +4 + 0 == 4 +0 + 0 == 0 +19 + 14 == 33 +4 4 4 +== BC10 == +0 --++--++---- *** +1 --++--++----++-- +2 --++--++----++--++--++--++--++--++--++ *** +3 --++--++----++--++--++--++--++--++--++ *** +4 --++--++----++--++--++--++--++--++--++ *** +5 --++--++----++--++--++--++--++--++--++ *** +6 --++--++----++--++--++--++--++--++--++ *** +7 --++--++----++--++--++--++--++--++--++ *** +8 --++--++----++--++--++--++--++--++--++ *** +9 --++--++----++--++--++--++--++--++--++ *** +== BC11 == +0 ||--++----++-- *** +1 ||--++----++--++-- +2 ||--++----++--++--++--++--++--++--++--++ *** +3 ||--++----++--++--++--++--++--++--++--++ *** +4 ||--++----++--++--++--++--++--++--++--++ *** +5 ||--++----++--++--++--++--++--++--++--++ *** +6 ||--++----++--++--++--++--++--++--++--++ *** +7 ||--++----++--++--++--++--++--++--++--++ *** +8 ||--++----++--++--++--++--++--++--++--++ *** +9 ||--++----++--++--++--++--++--++--++--++ *** +true true true 15 +all good + +Dafny program verifier did not attempt verification +0 0 0 0 +-2 -2 -2 -2 +0 0 0 0 +145 145 145 145 +0 0 +0 0 +57 57 +0 0 +32385 32385 +0 0 +-128 -128 +126 126 +0 0 +0 * 2 == 0 +2 * 0 == 0 +1 * 1 == 1 +6 * 5 == 30 +0 + 3 == 3 +3 + 0 == 3 +4 + 0 == 4 +0 + 0 == 0 +19 + 14 == 33 +4 4 4 +== BC10 == +0 --++--++---- *** +1 --++--++----++-- +2 --++--++----++--++--++--++--++--++--++ *** +3 --++--++----++--++--++--++--++--++--++ *** +4 --++--++----++--++--++--++--++--++--++ *** +5 --++--++----++--++--++--++--++--++--++ *** +6 --++--++----++--++--++--++--++--++--++ *** +7 --++--++----++--++--++--++--++--++--++ *** +8 --++--++----++--++--++--++--++--++--++ *** +9 --++--++----++--++--++--++--++--++--++ *** +== BC11 == +0 ||--++----++-- *** +1 ||--++----++--++-- +2 ||--++----++--++--++--++--++--++--++--++ *** +3 ||--++----++--++--++--++--++--++--++--++ *** +4 ||--++----++--++--++--++--++--++--++--++ *** +5 ||--++----++--++--++--++--++--++--++--++ *** +6 ||--++----++--++--++--++--++--++--++--++ *** +7 ||--++----++--++--++--++--++--++--++--++ *** +8 ||--++----++--++--++--++--++--++--++--++ *** +9 ||--++----++--++--++--++--++--++--++--++ *** +true true true 15 +all good + +Dafny program verifier did not attempt verification +0 0 0 0 +-2 -2 -2 -2 +0 0 0 0 +145 145 145 145 +0 0 +0 0 +57 57 +0 0 +32385 32385 +0 0 +-128 -128 +126 126 +0 0 +0 * 2 == 0 +2 * 0 == 0 +1 * 1 == 1 +6 * 5 == 30 +0 + 3 == 3 +3 + 0 == 3 +4 + 0 == 4 +0 + 0 == 0 +19 + 14 == 33 +4 4 4 +== BC10 == +0 --++--++---- *** +1 --++--++----++-- +2 --++--++----++--++--++--++--++--++--++ *** +3 --++--++----++--++--++--++--++--++--++ *** +4 --++--++----++--++--++--++--++--++--++ *** +5 --++--++----++--++--++--++--++--++--++ *** +6 --++--++----++--++--++--++--++--++--++ *** +7 --++--++----++--++--++--++--++--++--++ *** +8 --++--++----++--++--++--++--++--++--++ *** +9 --++--++----++--++--++--++--++--++--++ *** +== BC11 == +0 ||--++----++-- *** +1 ||--++----++--++-- +2 ||--++----++--++--++--++--++--++--++--++ *** +3 ||--++----++--++--++--++--++--++--++--++ *** +4 ||--++----++--++--++--++--++--++--++--++ *** +5 ||--++----++--++--++--++--++--++--++--++ *** +6 ||--++----++--++--++--++--++--++--++--++ *** +7 ||--++----++--++--++--++--++--++--++--++ *** +8 ||--++----++--++--++--++--++--++--++--++ *** +9 ||--++----++--++--++--++--++--++--++--++ *** +true true true 15 +all good + +Dafny program verifier did not attempt verification +0 0 0 0 +-2 -2 -2 -2 +0 0 0 0 +145 145 145 145 +0 0 +0 0 +57 57 +0 0 +32385 32385 +0 0 +-128 -128 +126 126 +0 0 +0 * 2 == 0 +2 * 0 == 0 +1 * 1 == 1 +6 * 5 == 30 +0 + 3 == 3 +3 + 0 == 3 +4 + 0 == 4 +0 + 0 == 0 +19 + 14 == 33 +4 4 4 +== BC10 == +0 --++--++---- *** +1 --++--++----++-- +2 --++--++----++--++--++--++--++--++--++ *** +3 --++--++----++--++--++--++--++--++--++ *** +4 --++--++----++--++--++--++--++--++--++ *** +5 --++--++----++--++--++--++--++--++--++ *** +6 --++--++----++--++--++--++--++--++--++ *** +7 --++--++----++--++--++--++--++--++--++ *** +8 --++--++----++--++--++--++--++--++--++ *** +9 --++--++----++--++--++--++--++--++--++ *** +== BC11 == +0 ||--++----++-- *** +1 ||--++----++--++-- +2 ||--++----++--++--++--++--++--++--++--++ *** +3 ||--++----++--++--++--++--++--++--++--++ *** +4 ||--++----++--++--++--++--++--++--++--++ *** +5 ||--++----++--++--++--++--++--++--++--++ *** +6 ||--++----++--++--++--++--++--++--++--++ *** +7 ||--++----++--++--++--++--++--++--++--++ *** +8 ||--++----++--++--++--++--++--++--++--++ *** +9 ||--++----++--++--++--++--++--++--++--++ *** +true true true 15 +all good + +Dafny program verifier did not attempt verification 0 0 0 0 -2 -2 -2 -2 0 0 0 0 diff --git a/Test/comp/ForallNewSyntax.dfy b/Test/comp/ForallNewSyntax.dfy index 85e609b37b3..c17bf86830e 100644 --- a/Test/comp/ForallNewSyntax.dfy +++ b/Test/comp/ForallNewSyntax.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --function-syntax:3 --quantifier-syntax:4 --relax-definite-assignment +// RUN: %baredafny verify %args --relax-definite-assignment --function-syntax:3 --quantifier-syntax:4 "%s" > "%t" +// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:cs "%s" >> "%t" +// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:js "%s" >> "%t" +// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:go "%s" >> "%t" +// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:java "%s" >> "%t" +// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var arrayTests := new ArrayTests(); diff --git a/Test/comp/ForallNewSyntax.dfy.expect b/Test/comp/ForallNewSyntax.dfy.expect index 5b33d939607..241ea9ea521 100644 --- a/Test/comp/ForallNewSyntax.dfy.expect +++ b/Test/comp/ForallNewSyntax.dfy.expect @@ -1,3 +1,183 @@ + +Dafny program verifier finished with 25 verified, 0 errors + +Dafny program verifier did not attempt verification +Arrays: Basic cases +[0, 1, 2, 3, 4] +[0, 1, 2, 3, 4] +[0, 1, 4, 3, 8] + +Arrays: Wrong index +[0, 0, 1, 2, 3] +[0, 0, 1, 2, 3] +[1, 2, 3, 4, 5] + +Arrays: Sequence conversion +[2, 1, 4, 5, 6] +[0, 3, 3, 3, 4] + +Arrays: Index collection +[1, 1, 2, 3, 4] +[1, 1, 2, 3, 4] + +Arrays: Functions +[1, 1, 3, 4, 5] +[1, 1, 3, 4, 5] +[1, 2, 3, 3, 5] +[1, 2, 3, 4, 5] + +Multi-dimensional arrays +[[0, 2, 4], [1, 3, 5], [2, 4, 6]] +[[0, 1, 2], [2, 3, 4], [4, 5, 6]] + +Objects: Basic cases +[(0, 1.0), (0, 2.0), (0, 3.0)] +[(2, 1.0), (2, 2.0), (4, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] + +Objects: Bad field accesses +[(2, 1.0), (3, 2.0), (4, 3.0)] +[(2, 1.0), (2, 2.0), (2, 3.0)] +[(2, 1.0), (3, 2.0), (1, 3.0)] + +Objects: Functions +[(2, 1.0), (4, 2.0), (6, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] +[(3, 1.0), (4, 2.0), (5, 3.0)] + +Dafny program verifier did not attempt verification +Arrays: Basic cases +[0, 1, 2, 3, 4] +[0, 1, 2, 3, 4] +[0, 1, 4, 3, 8] + +Arrays: Wrong index +[0, 0, 1, 2, 3] +[0, 0, 1, 2, 3] +[1, 2, 3, 4, 5] + +Arrays: Sequence conversion +[2, 1, 4, 5, 6] +[0, 3, 3, 3, 4] + +Arrays: Index collection +[1, 1, 2, 3, 4] +[1, 1, 2, 3, 4] + +Arrays: Functions +[1, 1, 3, 4, 5] +[1, 1, 3, 4, 5] +[1, 2, 3, 3, 5] +[1, 2, 3, 4, 5] + +Multi-dimensional arrays +[[0, 2, 4], [1, 3, 5], [2, 4, 6]] +[[0, 1, 2], [2, 3, 4], [4, 5, 6]] + +Objects: Basic cases +[(0, 1.0), (0, 2.0), (0, 3.0)] +[(2, 1.0), (2, 2.0), (4, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] + +Objects: Bad field accesses +[(2, 1.0), (3, 2.0), (4, 3.0)] +[(2, 1.0), (2, 2.0), (2, 3.0)] +[(2, 1.0), (3, 2.0), (1, 3.0)] + +Objects: Functions +[(2, 1.0), (4, 2.0), (6, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] +[(3, 1.0), (4, 2.0), (5, 3.0)] + +Dafny program verifier did not attempt verification +Arrays: Basic cases +[0, 1, 2, 3, 4] +[0, 1, 2, 3, 4] +[0, 1, 4, 3, 8] + +Arrays: Wrong index +[0, 0, 1, 2, 3] +[0, 0, 1, 2, 3] +[1, 2, 3, 4, 5] + +Arrays: Sequence conversion +[2, 1, 4, 5, 6] +[0, 3, 3, 3, 4] + +Arrays: Index collection +[1, 1, 2, 3, 4] +[1, 1, 2, 3, 4] + +Arrays: Functions +[1, 1, 3, 4, 5] +[1, 1, 3, 4, 5] +[1, 2, 3, 3, 5] +[1, 2, 3, 4, 5] + +Multi-dimensional arrays +[[0, 2, 4], [1, 3, 5], [2, 4, 6]] +[[0, 1, 2], [2, 3, 4], [4, 5, 6]] + +Objects: Basic cases +[(0, 1.0), (0, 2.0), (0, 3.0)] +[(2, 1.0), (2, 2.0), (4, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] + +Objects: Bad field accesses +[(2, 1.0), (3, 2.0), (4, 3.0)] +[(2, 1.0), (2, 2.0), (2, 3.0)] +[(2, 1.0), (3, 2.0), (1, 3.0)] + +Objects: Functions +[(2, 1.0), (4, 2.0), (6, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] +[(3, 1.0), (4, 2.0), (5, 3.0)] + +Dafny program verifier did not attempt verification +Arrays: Basic cases +[0, 1, 2, 3, 4] +[0, 1, 2, 3, 4] +[0, 1, 4, 3, 8] + +Arrays: Wrong index +[0, 0, 1, 2, 3] +[0, 0, 1, 2, 3] +[1, 2, 3, 4, 5] + +Arrays: Sequence conversion +[2, 1, 4, 5, 6] +[0, 3, 3, 3, 4] + +Arrays: Index collection +[1, 1, 2, 3, 4] +[1, 1, 2, 3, 4] + +Arrays: Functions +[1, 1, 3, 4, 5] +[1, 1, 3, 4, 5] +[1, 2, 3, 3, 5] +[1, 2, 3, 4, 5] + +Multi-dimensional arrays +[[0, 2, 4], [1, 3, 5], [2, 4, 6]] +[[0, 1, 2], [2, 3, 4], [4, 5, 6]] + +Objects: Basic cases +[(0, 1.0), (0, 2.0), (0, 3.0)] +[(2, 1.0), (2, 2.0), (4, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] + +Objects: Bad field accesses +[(2, 1.0), (3, 2.0), (4, 3.0)] +[(2, 1.0), (2, 2.0), (2, 3.0)] +[(2, 1.0), (3, 2.0), (1, 3.0)] + +Objects: Functions +[(2, 1.0), (4, 2.0), (6, 3.0)] +[(2, 1.0), (3, 2.0), (3, 3.0)] +[(3, 1.0), (4, 2.0), (5, 3.0)] + +Dafny program verifier did not attempt verification Arrays: Basic cases [0, 1, 2, 3, 4] [0, 1, 2, 3, 4] diff --git a/Test/comp/Ghosts.dfy b/Test/comp/Ghosts.dfy index 8afe8a36d3f..506fe0facb1 100644 --- a/Test/comp/Ghosts.dfy +++ b/Test/comp/Ghosts.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method M1() returns (x: int) { diff --git a/Test/comp/Ghosts.dfy.expect b/Test/comp/Ghosts.dfy.expect index d075ea048c1..430a9c18fc0 100644 --- a/Test/comp/Ghosts.dfy.expect +++ b/Test/comp/Ghosts.dfy.expect @@ -1,3 +1,55 @@ + +Dafny program verifier finished with 8 verified, 0 errors + +Dafny program verifier did not attempt verification +hello, M2 +hello, M2 +hello, M3 +hello, M1 +hello, M1 +hello, M1 +hello, M2 +hello, M3 +hello, N0 +hello, N1 + +Dafny program verifier did not attempt verification +hello, M2 +hello, M2 +hello, M3 +hello, M1 +hello, M1 +hello, M1 +hello, M2 +hello, M3 +hello, N0 +hello, N1 + +Dafny program verifier did not attempt verification +hello, M2 +hello, M2 +hello, M3 +hello, M1 +hello, M1 +hello, M1 +hello, M2 +hello, M3 +hello, N0 +hello, N1 + +Dafny program verifier did not attempt verification +hello, M2 +hello, M2 +hello, M3 +hello, M1 +hello, M1 +hello, M1 +hello, M2 +hello, M3 +hello, N0 +hello, N1 + +Dafny program verifier did not attempt verification hello, M2 hello, M2 hello, M3 diff --git a/Test/comp/Let.dfy b/Test/comp/Let.dfy index 2a639009c78..64dce8b90e6 100644 --- a/Test/comp/Let.dfy +++ b/Test/comp/Let.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cs "%s" > "%t" +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method M() returns (x: int) { x := var y := 50; y; // non-top-level let diff --git a/Test/comp/Let.dfy.expect b/Test/comp/Let.dfy.expect index f05dfc414c1..667abc32458 100644 --- a/Test/comp/Let.dfy.expect +++ b/Test/comp/Let.dfy.expect @@ -1,3 +1,37 @@ + +Dafny program verifier finished with 5 verified, 0 errors +50 58 +Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) +5 7 9 10 12 30 +5 7 +5 7 +12.0 15.0 15.0 15.0 + +Dafny program verifier finished with 5 verified, 0 errors +50 58 +Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) +5 7 9 10 12 30 +5 7 +5 7 +12.0 15.0 15.0 15.0 + +Dafny program verifier finished with 5 verified, 0 errors +50 58 +Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) +5 7 9 10 12 30 +5 7 +5 7 +12.0 15.0 15.0 15.0 + +Dafny program verifier finished with 5 verified, 0 errors +50 58 +Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) +5 7 9 10 12 30 +5 7 +5 7 +12.0 15.0 15.0 15.0 + +Dafny program verifier finished with 5 verified, 0 errors 50 58 Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) 5 7 9 10 12 30 diff --git a/Test/comp/MoreAutoInit.dfy b/Test/comp/MoreAutoInit.dfy index c72083f1be5..46bdf7148f1 100644 --- a/Test/comp/MoreAutoInit.dfy +++ b/Test/comp/MoreAutoInit.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { Methods.TestStart(); diff --git a/Test/comp/MoreAutoInit.dfy.expect b/Test/comp/MoreAutoInit.dfy.expect index a077ee0daa9..e707d9ea27a 100644 --- a/Test/comp/MoreAutoInit.dfy.expect +++ b/Test/comp/MoreAutoInit.dfy.expect @@ -1,3 +1,575 @@ + +Dafny program verifier finished with 38 verified, 0 errors + +Dafny program verifier did not attempt verification +Methods.Uni.Uni + ++ Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +{} + ++ {} +[] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +Functions.Uni.Uni + ++ Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +{2} + ++ {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ** Consts.Uni.Uni ++ Consts.Uni.Uni +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ** Consts.Uni.Uni ++ Consts.Uni.Uni +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ** Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni +[] ++ [] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] + ** [] ++ [] +[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] + ** [] ++ [] +[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] +[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] + ++ [Consts.Uni.Uni] ++ [] + ** [] ++ [] ++ [] +15 +0-0 0.0-0.0 false-false 'D'-'D' 0 +0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 +0-0 0-0 0-0 0-0 1 1 +0.0-0.0 68.0 +null-null null-null null-null null-null +0 +0:0:0 +0-0 +{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] +DefaultValuedExpressions.Color.Red-DefaultValuedExpressions.Color.Red DefaultValuedExpressions.PossibleCell.Nothing-DefaultValuedExpressions.PossibleCell.Nothing DefaultValuedExpressions.Cell.LittleCell(0)-DefaultValuedExpressions.Cell.LittleCell(0) +()-() (0, 0.0)-(0, 0.0) +(DefaultValuedExpressions.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions.Color.Red, (0, 0.0), ()) +null-null null-null +0-0 0-0 0-0 3 4 5 +0-0 11 0-0 8 + +Dafny program verifier did not attempt verification +Methods.Uni.Uni + ++ Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +{} + ++ {} +[] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +Functions.Uni.Uni + ++ Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +{2} + ++ {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ** Consts.Uni.Uni ++ Consts.Uni.Uni +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ** Consts.Uni.Uni ++ Consts.Uni.Uni +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ** Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni +[] ++ [] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] + ** [] ++ [] +[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] + ** [] ++ [] +[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] +[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] + ++ [Consts.Uni.Uni] ++ [] + ** [] ++ [] ++ [] +15 +0-0 0.0-0.0 false-false 'D'-'D' 0 +0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 +0-0 0-0 0-0 0-0 1 1 +0.0-0.0 68.0 +null-null null-null null-null null-null +0 +0:0:0 +0-0 +{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] +DefaultValuedExpressions.Color.Red-DefaultValuedExpressions.Color.Red DefaultValuedExpressions.PossibleCell.Nothing-DefaultValuedExpressions.PossibleCell.Nothing DefaultValuedExpressions.Cell.LittleCell(0)-DefaultValuedExpressions.Cell.LittleCell(0) +()-() (0, 0.0)-(0, 0.0) +(DefaultValuedExpressions.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions.Color.Red, (0, 0.0), ()) +null-null null-null +0-0 0-0 0-0 3 4 5 +0-0 11 0-0 8 + +Dafny program verifier did not attempt verification +Methods.Uni.Uni + ++ Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +{} + ++ {} +[] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +Functions.Uni.Uni + ++ Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +{2} + ++ {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ** Consts.Uni.Uni ++ Consts.Uni.Uni +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ** Consts.Uni.Uni ++ Consts.Uni.Uni +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ** Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni +[] ++ [] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] + ** [] ++ [] +[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] + ** [] ++ [] +[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] +[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] + ++ [Consts.Uni.Uni] ++ [] + ** [] ++ [] ++ [] +15 +0-0 0.0-0.0 false-false 'D'-'D' 0 +0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 +0-0 0-0 0-0 0-0 1 1 +0.0-0.0 68.0 +null-null null-null null-null null-null +0 +0:0:0 +0-0 +{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] +DefaultValuedExpressions.Color.Red-DefaultValuedExpressions.Color.Red DefaultValuedExpressions.PossibleCell.Nothing-DefaultValuedExpressions.PossibleCell.Nothing DefaultValuedExpressions.Cell.LittleCell(0)-DefaultValuedExpressions.Cell.LittleCell(0) +()-() (0, 0.0)-(0, 0.0) +(DefaultValuedExpressions.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions.Color.Red, (0, 0.0), ()) +null-null null-null +0-0 0-0 0-0 3 4 5 +0-0 11 0-0 8 + +Dafny program verifier did not attempt verification +Methods.Uni.Uni + ++ Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni + ++ Methods.Uni.Uni Methods.Uni.Uni +{} + ++ {} +[] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +[] {} + ++ [] {} + ++ [] {} + ++ [] {} +Functions.Uni.Uni + ++ Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni + ++ Functions.Uni.Uni Functions.Uni.Uni +{2} + ++ {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +[Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} + ++ [Functions.Uni.Uni] {2} +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ** Consts.Uni.Uni ++ Consts.Uni.Uni +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ** Consts.Uni.Uni ++ Consts.Uni.Uni +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni +Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ++ Consts.Uni.Uni ++ Consts.Uni.Uni + ** Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni +[] ++ [] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] + ** [] ++ [] +[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] + ** [] ++ [] +[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] +[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] + ++ [Consts.Uni.Uni] ++ [] + ** [] ++ [] ++ [] +15 +0-0 0.0-0.0 false-false 'D'-'D' 0 +0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 +0-0 0-0 0-0 0-0 1 1 +0.0-0.0 68.0 +null-null null-null null-null null-null +0 +0:0:0 +0-0 +{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] +DefaultValuedExpressions.Color.Red-DefaultValuedExpressions.Color.Red DefaultValuedExpressions.PossibleCell.Nothing-DefaultValuedExpressions.PossibleCell.Nothing DefaultValuedExpressions.Cell.LittleCell(0)-DefaultValuedExpressions.Cell.LittleCell(0) +()-() (0, 0.0)-(0, 0.0) +(DefaultValuedExpressions.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions.Color.Red, (0, 0.0), ()) +null-null null-null +0-0 0-0 0-0 3 4 5 +0-0 11 0-0 8 + +Dafny program verifier did not attempt verification Methods.Uni.Uni ++ Methods.Uni.Uni Methods.Uni.Uni Methods.Uni.Uni diff --git a/Test/comp/NativeNumbers.dfy b/Test/comp/NativeNumbers.dfy index e1fadb1c406..c63d02cf643 100644 --- a/Test/comp/NativeNumbers.dfy +++ b/Test/comp/NativeNumbers.dfy @@ -1,6 +1,11 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false // Skip JavaScript because JavaScript doesn't have the same native types +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { CastTests(); diff --git a/Test/comp/NativeNumbers.dfy.expect b/Test/comp/NativeNumbers.dfy.expect index 6a9d263fc73..2be030252cf 100644 --- a/Test/comp/NativeNumbers.dfy.expect +++ b/Test/comp/NativeNumbers.dfy.expect @@ -1,3 +1,259 @@ + +Dafny program verifier finished with 25 verified, 0 errors + +Dafny program verifier did not attempt verification +Casting: + +Small numbers: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 +5 5 5 5 5 5 5 5 5 +6 6 6 6 6 6 6 6 6 +7 7 7 7 7 7 7 7 7 +8 8 8 8 8 8 8 8 8 + +Large unsigned numbers: +255 255 255 255 255 255 255 255 +65535 65535 65535 65535 65535 65535 +4294967295 4294967295 4294967295 4294967295 +18446744073709551615 18446744073709551615 + +Int to large unsigned: +255 65535 4294967295 18446744073709551615 + +Cast from cardinality operator: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 + +Characters: +C 67 67 67 67 67 67 67 67 67 +0 127 32767 65535 65535 255 65535 65535 65535 + +Defaults: + +0 0 0 0 0 0 0 0 0 + +Byte arithmetic: + +20 30 +10 10 18 + +Short arithmetic: + +20 30 +10 10 18 + +Bitvectors: + +0 3 4 1 + +Comparison to zero: + +int8: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int16: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int32: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int64: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint8: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint16: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint32: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint64: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N + + +Dafny program verifier did not attempt verification +Casting: + +Small numbers: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 +5 5 5 5 5 5 5 5 5 +6 6 6 6 6 6 6 6 6 +7 7 7 7 7 7 7 7 7 +8 8 8 8 8 8 8 8 8 + +Large unsigned numbers: +255 255 255 255 255 255 255 255 +65535 65535 65535 65535 65535 65535 +4294967295 4294967295 4294967295 4294967295 +18446744073709551615 18446744073709551615 + +Int to large unsigned: +255 65535 4294967295 18446744073709551615 + +Cast from cardinality operator: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 + +Characters: +C 67 67 67 67 67 67 67 67 67 +0 127 32767 65535 65535 255 65535 65535 65535 + +Defaults: + +0 0 0 0 0 0 0 0 0 + +Byte arithmetic: + +20 30 +10 10 18 + +Short arithmetic: + +20 30 +10 10 18 + +Bitvectors: + +0 3 4 1 + +Comparison to zero: + +int8: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int16: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int32: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int64: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint8: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint16: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint32: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint64: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N + + +Dafny program verifier did not attempt verification +Casting: + +Small numbers: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 +5 5 5 5 5 5 5 5 5 +6 6 6 6 6 6 6 6 6 +7 7 7 7 7 7 7 7 7 +8 8 8 8 8 8 8 8 8 + +Large unsigned numbers: +255 255 255 255 255 255 255 255 +65535 65535 65535 65535 65535 65535 +4294967295 4294967295 4294967295 4294967295 +18446744073709551615 18446744073709551615 + +Int to large unsigned: +255 65535 4294967295 18446744073709551615 + +Cast from cardinality operator: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 + +Characters: +C 67 67 67 67 67 67 67 67 67 +0 127 32767 65535 65535 255 65535 65535 65535 + +Defaults: + +0 0 0 0 0 0 0 0 0 + +Byte arithmetic: + +20 30 +10 10 18 + +Short arithmetic: + +20 30 +10 10 18 + +Bitvectors: + +0 3 4 1 + +Comparison to zero: + +int8: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int16: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int32: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int64: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint8: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint16: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint32: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint64: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N + + +Dafny program verifier did not attempt verification Casting: Small numbers: diff --git a/Test/comp/NestedArrays.dfy b/Test/comp/NestedArrays.dfy index 39d256f4936..0c2b313a32c 100644 --- a/Test/comp/NestedArrays.dfy +++ b/Test/comp/NestedArrays.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %baredafny verify --relax-definite-assignment %args "%s" > "%t" +// RUN: %baredafny run --no-verify --target=cs %args "%s" >> "%t" +// RUN: %baredafny run --no-verify --target=js %args "%s" >> "%t" +// RUN: %baredafny run --no-verify --target=go %args "%s" >> "%t" +// RUN: %baredafny run --no-verify --target=py %args "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" /* Note, compiling to arrays in Java is difficult. In fact, this is currently * broken, see https://github.com/dafny-lang/dafny/issues/3055. Until this gets diff --git a/Test/comp/NestedArrays.dfy.expect b/Test/comp/NestedArrays.dfy.expect index aa47d0d46d4..a24d140b9d4 100644 --- a/Test/comp/NestedArrays.dfy.expect +++ b/Test/comp/NestedArrays.dfy.expect @@ -1,2 +1,18 @@ + +Dafny program verifier finished with 4 verified, 0 errors + +Dafny program verifier did not attempt verification +0 +0 + +Dafny program verifier did not attempt verification +0 +0 + +Dafny program verifier did not attempt verification +0 +0 + +Dafny program verifier did not attempt verification 0 0 diff --git a/Test/comp/Numbers.dfy b/Test/comp/Numbers.dfy index c76bc87fdc0..36bf24dcdb4 100644 --- a/Test/comp/Numbers.dfy +++ b/Test/comp/Numbers.dfy @@ -1,5 +1,10 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { Literals(); diff --git a/Test/comp/Numbers.dfy.expect b/Test/comp/Numbers.dfy.expect index 7eacf4e709d..8d994e1c7c6 100644 --- a/Test/comp/Numbers.dfy.expect +++ b/Test/comp/Numbers.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 59 verified, 0 errors + +Dafny program verifier did not attempt verification 0 0 3 @@ -109,3 +113,455 @@ true false true false false true false true true false true false 20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +g Q 2 +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +(312.0 / 40.0) (1248.0 / 40.0) +(-312.0 / 40.0) (-1248.0 / 40.0) +(-312.0 / 40.0) (1248.0 / 40.0) +(312.0 / 40.0) (-1248.0 / 40.0) +0.0 0.0 0.0 +120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) +123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 (8100.0 / 8100.0) +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +g Q 2 +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +g Q 2 +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +(312.0 / 40.0) (1248.0 / 40.0) +(-312.0 / 40.0) (-1248.0 / 40.0) +(-312.0 / 40.0) (1248.0 / 40.0) +(312.0 / 40.0) (-1248.0 / 40.0) +0.0 0.0 0.0 +120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) +123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 (8100.0 / 8100.0) +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +g Q 2 +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 diff --git a/Test/comp/Numbers.dfy.go.expect b/Test/comp/Numbers.dfy.go.expect deleted file mode 100644 index ce109553619..00000000000 --- a/Test/comp/Numbers.dfy.go.expect +++ /dev/null @@ -1,111 +0,0 @@ -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -g Q 2 -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 diff --git a/Test/comp/Numbers.dfy.py.expect b/Test/comp/Numbers.dfy.py.expect deleted file mode 100644 index ce109553619..00000000000 --- a/Test/comp/Numbers.dfy.py.expect +++ /dev/null @@ -1,111 +0,0 @@ -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -g Q 2 -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 diff --git a/Test/comp/Poly.dfy b/Test/comp/Poly.dfy index 5af5e8134e9..f3c3aa58599 100644 --- a/Test/comp/Poly.dfy +++ b/Test/comp/Poly.dfy @@ -1,5 +1,10 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" trait Shape { function Center(): (real, real) reads this diff --git a/Test/comp/Poly.dfy.expect b/Test/comp/Poly.dfy.expect index 7dc24821586..4ffff82d5ab 100644 --- a/Test/comp/Poly.dfy.expect +++ b/Test/comp/Poly.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 15 verified, 0 errors + +Dafny program verifier did not attempt verification Center of square: ((1.0 / 2.0), (1.0 / 2.0)) Center of circle: (1.0, 1.0) Center: ((1.0 / 2.0), (1.0 / 2.0)) @@ -10,3 +14,59 @@ Center: ((1.0 / 2.0), (1.0 / 2.0)) Center: (1.0, 1.0) Center: ((1.0 / 2.0), (1.0 / 2.0)) Center: (1.0, 1.0) + +Dafny program verifier did not attempt verification +Center of square: ((1.0 / 2.0), (1.0 / 2.0)) +Center of circle: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) + +Dafny program verifier did not attempt verification +Center of square: ((1.0 / 2.0), (1.0 / 2.0)) +Center of circle: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) +Center: ((1.0 / 2.0), (1.0 / 2.0)) +Center: (1.0, 1.0) + +Dafny program verifier did not attempt verification +Center of square: (0.5, 0.5) +Center of circle: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) + +Dafny program verifier did not attempt verification +Center of square: (0.5, 0.5) +Center of circle: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) diff --git a/Test/comp/Poly.dfy.go.expect b/Test/comp/Poly.dfy.go.expect deleted file mode 100644 index 88e09c5e6ff..00000000000 --- a/Test/comp/Poly.dfy.go.expect +++ /dev/null @@ -1,12 +0,0 @@ -Center of square: (0.5, 0.5) -Center of circle: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) diff --git a/Test/comp/Poly.dfy.py.expect b/Test/comp/Poly.dfy.py.expect deleted file mode 100644 index 88e09c5e6ff..00000000000 --- a/Test/comp/Poly.dfy.py.expect +++ /dev/null @@ -1,12 +0,0 @@ -Center of square: (0.5, 0.5) -Center of circle: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) diff --git a/Test/comp/StaticMembersOfGenericTypes.dfy b/Test/comp/StaticMembersOfGenericTypes.dfy index 8a8614d21a5..8c402dab951 100644 --- a/Test/comp/StaticMembersOfGenericTypes.dfy +++ b/Test/comp/StaticMembersOfGenericTypes.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { GenericClass(); diff --git a/Test/comp/StaticMembersOfGenericTypes.dfy.expect b/Test/comp/StaticMembersOfGenericTypes.dfy.expect index 196f1295e12..54e32b42ee5 100644 --- a/Test/comp/StaticMembersOfGenericTypes.dfy.expect +++ b/Test/comp/StaticMembersOfGenericTypes.dfy.expect @@ -1,3 +1,79 @@ + +Dafny program verifier finished with 9 verified, 0 errors + +Dafny program verifier did not attempt verification +(0, 1) (true, 2, 3) +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +(2.0, true) (3.0, false) +(2.0, true) (3.0, false) +true false +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +50 3 4 +149 + +Dafny program verifier did not attempt verification +(0, 1) (true, 2, 3) +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +(2.0, true) (3.0, false) +(2.0, true) (3.0, false) +true false +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +50 3 4 +149 + +Dafny program verifier did not attempt verification +(0, 1) (true, 2, 3) +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +(2.0, true) (3.0, false) +(2.0, true) (3.0, false) +true false +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +50 3 4 +149 + +Dafny program verifier did not attempt verification +(0, 1) (true, 2, 3) +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (20, 21) (20, 21) 23 22 +0 25 (20, 21) (20, 21) 23 22 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +0 25 (true, 20, 21) (true, 20, 21) true 22 23 +(2.0, true) (3.0, false) +(2.0, true) (3.0, false) +true false +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) +50 3 4 +149 + +Dafny program verifier did not attempt verification (0, 1) (true, 2, 3) 0 25 (20, 21) (20, 21) 23 22 0 25 (20, 21) (20, 21) 23 22 diff --git a/Test/comp/TailRecursion.dfy b/Test/comp/TailRecursion.dfy index b3631d5eccc..68ba6ee4669 100644 --- a/Test/comp/TailRecursion.dfy +++ b/Test/comp/TailRecursion.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { // In the following, 2_000_000 is too large an argument without tail-calls diff --git a/Test/comp/TailRecursion.dfy.expect b/Test/comp/TailRecursion.dfy.expect index 4b9da7e5093..23c852a41fe 100644 --- a/Test/comp/TailRecursion.dfy.expect +++ b/Test/comp/TailRecursion.dfy.expect @@ -1,3 +1,79 @@ + +Dafny program verifier finished with 28 verified, 0 errors + +Dafny program verifier did not attempt verification +2000000 2000000 +2000000 2000000 +1000000 1000000 +10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 +TriangleNumber(10) = 55 +TriangleNumber_Real(10) = 55.0 +TriangleNumber_ORDINAL(10) = 55 +Factorial(5) = 120 +Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] +UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] +Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 +TheBigSubtract(100) = -12 +TailNat(10) = 50 +17 17 17 +2000000 + +Dafny program verifier did not attempt verification +2000000 2000000 +2000000 2000000 +1000000 1000000 +10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 +TriangleNumber(10) = 55 +TriangleNumber_Real(10) = 55.0 +TriangleNumber_ORDINAL(10) = 55 +Factorial(5) = 120 +Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] +UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] +Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 +TheBigSubtract(100) = -12 +TailNat(10) = 50 +17 17 17 +2000000 + +Dafny program verifier did not attempt verification +2000000 2000000 +2000000 2000000 +1000000 1000000 +10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 +TriangleNumber(10) = 55 +TriangleNumber_Real(10) = 55.0 +TriangleNumber_ORDINAL(10) = 55 +Factorial(5) = 120 +Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] +UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] +Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 +TheBigSubtract(100) = -12 +TailNat(10) = 50 +17 17 17 +2000000 + +Dafny program verifier did not attempt verification +2000000 2000000 +2000000 2000000 +1000000 1000000 +10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 +TriangleNumber(10) = 55 +TriangleNumber_Real(10) = 55.0 +TriangleNumber_ORDINAL(10) = 55 +Factorial(5) = 120 +Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] +UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] +Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 +TheBigSubtract(100) = -12 +TailNat(10) = 50 +17 17 17 +2000000 + +Dafny program verifier did not attempt verification 2000000 2000000 2000000 2000000 1000000 1000000 diff --git a/Test/comp/TypeDescriptors.dfy b/Test/comp/TypeDescriptors.dfy index 5bedbb900e4..636cb3db583 100644 --- a/Test/comp/TypeDescriptors.dfy +++ b/Test/comp/TypeDescriptors.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Method(s: string, g: G) { var zero: G; diff --git a/Test/comp/TypeDescriptors.dfy.expect b/Test/comp/TypeDescriptors.dfy.expect index 1b09338c83d..9b1e8487bdc 100644 --- a/Test/comp/TypeDescriptors.dfy.expect +++ b/Test/comp/TypeDescriptors.dfy.expect @@ -1,3 +1,155 @@ + +Dafny program verifier finished with 11 verified, 0 errors + +Dafny program verifier did not attempt verification +int: 8 0 +bool: true false +char: 'r' 'D' +real: 1.618 0.0 +ORDINAL: 0 +bv0: 0 0 +bv21: 121 0 +bv32: 132 0 +bv191: 191 0 +set: {7} {} +multiset: multiset{7, 7} multiset{} +seq: [7] [] +map: map[2 := 7] map[] +pos: 3 1 +Hundred: 6 0 +HundredOdd: 13 19 +JustOdd: 131 5 +(): () () +(int, real): (2, 3.2) (0, 0.0) +(int, pos): (2, 3) (0, 1) +AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) +Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) +Stream: Stream.More +A=int: 15 0 +B=int: 16 0 +datatype.B=: {14} {} +object?: null +Class?>: null +Trait?>: null +array?: null +array2?: null +int --> bool: null +array? ~> bool: null + +Dafny program verifier did not attempt verification +int: 8 0 +bool: true false +char: 'r' 'D' +real: 1.618 0.0 +ORDINAL: 0 +bv0: 0 0 +bv21: 121 0 +bv32: 132 0 +bv191: 191 0 +set: {7} {} +multiset: multiset{7, 7} multiset{} +seq: [7] [] +map: map[2 := 7] map[] +pos: 3 1 +Hundred: 6 0 +HundredOdd: 13 19 +JustOdd: 131 5 +(): () () +(int, real): (2, 3.2) (0, 0.0) +(int, pos): (2, 3) (0, 1) +AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) +Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) +Stream: Stream.More +A=int: 15 0 +B=int: 16 0 +datatype.B=: {14} {} +object?: null +Class?>: null +Trait?>: null +array?: null +array2?: null +int --> bool: null +array? ~> bool: null + +Dafny program verifier did not attempt verification +int: 8 0 +bool: true false +char: 'r' 'D' +real: 1.618 0.0 +ORDINAL: 0 +bv0: 0 0 +bv21: 121 0 +bv32: 132 0 +bv191: 191 0 +set: {7} {} +multiset: multiset{7, 7} multiset{} +seq: [7] [] +map: map[2 := 7] map[] +pos: 3 1 +Hundred: 6 0 +HundredOdd: 13 19 +JustOdd: 131 5 +(): () () +(int, real): (2, 3.2) (0, 0.0) +(int, pos): (2, 3) (0, 1) +AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) +Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) +Stream: Stream.More +A=int: 15 0 +B=int: 16 0 +datatype.B=: {14} {} +object?: null +Class?>: null +Trait?>: null +array?: null +array2?: null +int --> bool: null +array? ~> bool: null + +Dafny program verifier did not attempt verification +int: 8 0 +bool: true false +char: 'r' 'D' +real: 1.618 0.0 +ORDINAL: 0 +bv0: 0 0 +bv21: 121 0 +bv32: 132 0 +bv191: 191 0 +set: {7} {} +multiset: multiset{7, 7} multiset{} +seq: [7] [] +map: map[2 := 7] map[] +pos: 3 1 +Hundred: 6 0 +HundredOdd: 13 19 +JustOdd: 131 5 +(): () () +(int, real): (2, 3.2) (0, 0.0) +(int, pos): (2, 3) (0, 1) +AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) +AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) +Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) +Stream: Stream.More +A=int: 15 0 +B=int: 16 0 +datatype.B=: {14} {} +object?: null +Class?>: null +Trait?>: null +array?: null +array2?: null +int --> bool: null +array? ~> bool: null + +Dafny program verifier did not attempt verification int: 8 0 bool: true false char: 'r' 'D' diff --git a/Test/comp/TypeParams.dfy b/Test/comp/TypeParams.dfy index c595881e028..11d1b3bac6a 100644 --- a/Test/comp/TypeParams.dfy +++ b/Test/comp/TypeParams.dfy @@ -1,6 +1,11 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation - +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" + +// RUN: %diff "%s.expect" "%t" datatype Color = Orange | Pink | Teal type Six = x | x <= 6 diff --git a/Test/comp/TypeParams.dfy.expect b/Test/comp/TypeParams.dfy.expect index 1381a030f65..ac8ef1c58e5 100644 --- a/Test/comp/TypeParams.dfy.expect +++ b/Test/comp/TypeParams.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 17 verified, 0 errors + +Dafny program verifier did not attempt verification 0 0 0 false Color.Orange 0.0 {} Color.Orange null null null null null {} multiset{} [] map[] {} map[] @@ -17,3 +21,87 @@ System.Func`2[Dafny.BigRational,System.Boolean] System.Func`1[System.Numerics.BigInteger] System.Func`3[_module._IColor,Dafny.ISet`1[System.UInt16],System.UInt32] 0 0 + +Dafny program verifier did not attempt verification +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +function () { return false; } +function () { return _dafny.ZERO; } +function () { return _dafny.ZERO; } +0 0 + +Dafny program verifier did not attempt verification +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +func(dafny.Real) bool +func() dafny.Int +func(main.Color, dafny.Set) uint32 +0 0 + +Dafny program verifier did not attempt verification +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +Function +Function +Function +0 0 + +Dafny program verifier did not attempt verification +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +Function +Function +Function +0 0 diff --git a/Test/comp/TypeParams.dfy.go.expect b/Test/comp/TypeParams.dfy.go.expect deleted file mode 100644 index e3a8e67d066..00000000000 --- a/Test/comp/TypeParams.dfy.go.expect +++ /dev/null @@ -1,19 +0,0 @@ -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -func(dafny.Real) bool -func() dafny.Int -func(main.Color, dafny.Set) uint32 -0 0 diff --git a/Test/comp/TypeParams.dfy.java.expect b/Test/comp/TypeParams.dfy.java.expect deleted file mode 100644 index 5f843ba06d1..00000000000 --- a/Test/comp/TypeParams.dfy.java.expect +++ /dev/null @@ -1,19 +0,0 @@ -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -Function -Function -Function -0 0 diff --git a/Test/comp/TypeParams.dfy.js.expect b/Test/comp/TypeParams.dfy.js.expect deleted file mode 100644 index 865c33ea48b..00000000000 --- a/Test/comp/TypeParams.dfy.js.expect +++ /dev/null @@ -1,19 +0,0 @@ -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -function () { return false; } -function () { return _dafny.ZERO; } -function () { return _dafny.ZERO; } -0 0 diff --git a/Test/comp/TypeParams.dfy.py.expect b/Test/comp/TypeParams.dfy.py.expect deleted file mode 100644 index 5f843ba06d1..00000000000 --- a/Test/comp/TypeParams.dfy.py.expect +++ /dev/null @@ -1,19 +0,0 @@ -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -Function -Function -Function -0 0 diff --git a/Test/comp/UnoptimizedErasableTypeWrappers.dfy b/Test/comp/UnoptimizedErasableTypeWrappers.dfy index b7911aed9db..58f0682ed41 100644 --- a/Test/comp/UnoptimizedErasableTypeWrappers.dfy +++ b/Test/comp/UnoptimizedErasableTypeWrappers.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --optimize-erasable-datatype-wrapper:false --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype SingletonRecord = SingletonRecord(u: int) datatype WithGhost = WithGhost(u: int, ghost v: int) diff --git a/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect b/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect index 3371376a52b..be1d7190b0f 100644 --- a/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect +++ b/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect @@ -1,3 +1,31 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification +SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) +() (30) (31) (30, 32) +15 20 +30 31 30 32 + +Dafny program verifier did not attempt verification +SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) +() (30) (31) (30, 32) +15 20 +30 31 30 32 + +Dafny program verifier did not attempt verification +SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) +() (30) (31) (30, 32) +15 20 +30 31 30 32 + +Dafny program verifier did not attempt verification +SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) +() (30) (31) (30, 32) +15 20 +30 31 30 32 + +Dafny program verifier did not attempt verification SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) () (30) (31) (30, 32) 15 20 diff --git a/Test/comp/Variance.dfy b/Test/comp/Variance.dfy index ddcde6cd7d7..6c198495209 100644 --- a/Test/comp/Variance.dfy +++ b/Test/comp/Variance.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --warn-deprecation:false +// RUN: %dafny /compile:0 /deprecation:0 "%s" > "%t" +// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Co<+T> = Co(z: T) { const x: int; diff --git a/Test/comp/Variance.dfy.expect b/Test/comp/Variance.dfy.expect index 5bb565b6bb4..cf08d82ac07 100644 --- a/Test/comp/Variance.dfy.expect +++ b/Test/comp/Variance.dfy.expect @@ -1,3 +1,67 @@ + +Dafny program verifier finished with 13 verified, 0 errors + +Dafny program verifier did not attempt verification +Co.Co(_module.Int) and Co.Co(_module.Int) +true0[]0000 +Non.Non(_module.Int) and Non.Non(_module.Int) +true0[]0000 +0 and 0 +_module.Int0[]0000 +CCo.CCo and CCo.CCo +true0[]0000 +CNon.CNon and CNon.CNon +true0[]0000 +CCon.CCon and CCon.CCon +_module.Int0[]0000 +Done + +Dafny program verifier did not attempt verification +Co.Co(_module.Int) and Co.Co(_module.Int) +true0[]0000 +Non.Non(_module.Int) and Non.Non(_module.Int) +true0[]0000 +0 and 0 +_module.Int0[]0000 +CCo.CCo and CCo.CCo +true0[]0000 +CNon.CNon and CNon.CNon +true0[]0000 +CCon.CCon and CCon.CCon +_module.Int0[]0000 +Done + +Dafny program verifier did not attempt verification +Co.Co(_module.Int) and Co.Co(_module.Int) +true0[]0000 +Non.Non(_module.Int) and Non.Non(_module.Int) +true0[]0000 +0 and 0 +_module.Int0[]0000 +CCo.CCo and CCo.CCo +true0[]0000 +CNon.CNon and CNon.CNon +true0[]0000 +CCon.CCon and CCon.CCon +_module.Int0[]0000 +Done + +Dafny program verifier did not attempt verification +Co.Co(_module.Int) and Co.Co(_module.Int) +true0[]0000 +Non.Non(_module.Int) and Non.Non(_module.Int) +true0[]0000 +0 and 0 +_module.Int0[]0000 +CCo.CCo and CCo.CCo +true0[]0000 +CNon.CNon and CNon.CNon +true0[]0000 +CCon.CCon and CCon.CCon +_module.Int0[]0000 +Done + +Dafny program verifier did not attempt verification Co.Co(_module.Int) and Co.Co(_module.Int) true0[]0000 Non.Non(_module.Int) and Non.Non(_module.Int) diff --git a/Test/comp/Various.dfy b/Test/comp/Various.dfy index 502801e4c2a..1f29c511a83 100644 --- a/Test/comp/Various.dfy +++ b/Test/comp/Various.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Match(tp: (nat, nat)) { match tp diff --git a/Test/comp/Various.dfy.expect b/Test/comp/Various.dfy.expect index 66f013c00f7..502e2d04792 100644 --- a/Test/comp/Various.dfy.expect +++ b/Test/comp/Various.dfy.expect @@ -1,3 +1,43 @@ + +Dafny program verifier finished with 4 verified, 0 errors + +Dafny program verifier did not attempt verification +match +1 +Kablammo!! +0 +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] + +Dafny program verifier did not attempt verification +match +1 +Kablammo!! +0 +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] + +Dafny program verifier did not attempt verification +match +1 +Kablammo!! +0 +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] + +Dafny program verifier did not attempt verification +match +1 +Kablammo!! +0 +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] +[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] + +Dafny program verifier did not attempt verification match 1 Kablammo!! diff --git a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy index 2cf77360cab..10fe57dec8f 100644 --- a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy +++ b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // An extremely small program intended to be the first target input for // brand new Dafny compilers. Avoids any use of strings (and therefore sequences) diff --git a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect index f32a5804e29..e1dcaef650b 100644 --- a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect +++ b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect @@ -1 +1,5 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification true \ No newline at end of file diff --git a/Test/comp/firstSteps/1_Calls-F.dfy b/Test/comp/firstSteps/1_Calls-F.dfy index 4fe5b83e551..32566f59f3b 100644 --- a/Test/comp/firstSteps/1_Calls-F.dfy +++ b/Test/comp/firstSteps/1_Calls-F.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/1_Calls-F.dfy.expect b/Test/comp/firstSteps/1_Calls-F.dfy.expect index 7ed6ff82de6..58e0a68ec1c 100644 --- a/Test/comp/firstSteps/1_Calls-F.dfy.expect +++ b/Test/comp/firstSteps/1_Calls-F.dfy.expect @@ -1 +1,5 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification 5 diff --git a/Test/comp/firstSteps/2_Modules.dfy b/Test/comp/firstSteps/2_Modules.dfy index d0effcb5a71..750b8d60c21 100644 --- a/Test/comp/firstSteps/2_Modules.dfy +++ b/Test/comp/firstSteps/2_Modules.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" module A { const i: nat := 1 diff --git a/Test/comp/firstSteps/2_Modules.dfy.expect b/Test/comp/firstSteps/2_Modules.dfy.expect index b85905ec0b9..9a4b57459c7 100644 --- a/Test/comp/firstSteps/2_Modules.dfy.expect +++ b/Test/comp/firstSteps/2_Modules.dfy.expect @@ -1 +1,5 @@ + +Dafny program verifier finished with 3 verified, 0 errors + +Dafny program verifier did not attempt verification 1 2 3 diff --git a/Test/comp/firstSteps/3_Calls-As.dfy b/Test/comp/firstSteps/3_Calls-As.dfy index 38889421865..f22bbdbd3f6 100644 --- a/Test/comp/firstSteps/3_Calls-As.dfy +++ b/Test/comp/firstSteps/3_Calls-As.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/3_Calls-As.dfy.expect b/Test/comp/firstSteps/3_Calls-As.dfy.expect index a1c59bb761f..eea6c52592c 100644 --- a/Test/comp/firstSteps/3_Calls-As.dfy.expect +++ b/Test/comp/firstSteps/3_Calls-As.dfy.expect @@ -1 +1,5 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification 0 0 false 0 false 0 diff --git a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy index 6a66781ff0d..89fb669dca0 100644 --- a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy +++ b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect index a8d09f0a6f5..e7498a27e3e 100644 --- a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect +++ b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect @@ -1,2 +1,6 @@ + +Dafny program verifier finished with 3 verified, 0 errors + +Dafny program verifier did not attempt verification 5 3 5 3 5 3 5 3 diff --git a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy index 1175b1eca8f..096523f8956 100644 --- a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy +++ b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect index ef3de96e567..8954da2b386 100644 --- a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect +++ b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect @@ -1,2 +1,6 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification 5 3 5 3 diff --git a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy index 5d970ac4de5..1fbaebdf4e9 100644 --- a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy +++ b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect index 4ff62e33956..b6ffe78bcbb 100644 --- a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect +++ b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 4 verified, 0 errors + +Dafny program verifier did not attempt verification 15 [0, 1, 2, 4] [0, 2, 4] diff --git a/Test/comp/firstSteps/7_Arrays.dfy b/Test/comp/firstSteps/7_Arrays.dfy index d02c942c9bb..07ddf89594b 100644 --- a/Test/comp/firstSteps/7_Arrays.dfy +++ b/Test/comp/firstSteps/7_Arrays.dfy @@ -1,4 +1,6 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // This fragment of comp/Arrays.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/7_Arrays.dfy.expect b/Test/comp/firstSteps/7_Arrays.dfy.expect index fa00285c692..75e824c80bb 100644 --- a/Test/comp/firstSteps/7_Arrays.dfy.expect +++ b/Test/comp/firstSteps/7_Arrays.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 7 verified, 0 errors + +Dafny program verifier did not attempt verification 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/comp/firstSteps/7_Dt_Algebraic.dfy b/Test/comp/firstSteps/7_Dt_Algebraic.dfy index 46a2995b37f..991462d8bdf 100644 --- a/Test/comp/firstSteps/7_Dt_Algebraic.dfy +++ b/Test/comp/firstSteps/7_Dt_Algebraic.dfy @@ -1,5 +1,7 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // // This fragment of comp/Dt.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect deleted file mode 100644 index ba1b72ea6f7..00000000000 --- a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect +++ /dev/null @@ -1,11 +0,0 @@ -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} -42 'q' hello -1701 diff --git a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect index e3ff7faba6e..ec9b49fe420 100644 --- a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect +++ b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 7 verified, 0 errors + +Dafny program verifier did not attempt verification List.Nil List.Cons(5, List.Nil) (List.Nil, List.Cons(5, List.Nil)) @@ -9,3 +13,16 @@ List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, Li {Berry.Hallon, Berry.Smultron, Berry.Jordgubb} 42 'q' hello 1701 + +Dafny program verifier did not attempt verification +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} +42 'q' hello +1701 diff --git a/Test/dafny0/ArrayElementInitCompile.dfy b/Test/dafny0/ArrayElementInitCompile.dfy index 3714cf0fe8e..7d652486b9e 100644 --- a/Test/dafny0/ArrayElementInitCompile.dfy +++ b/Test/dafny0/ArrayElementInitCompile.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 /print:"%t.print" /rprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny0/ArrayElementInitCompile.dfy.expect b/Test/dafny0/ArrayElementInitCompile.dfy.expect index eaa3e759999..a5241c75f19 100644 --- a/Test/dafny0/ArrayElementInitCompile.dfy.expect +++ b/Test/dafny0/ArrayElementInitCompile.dfy.expect @@ -1,3 +1,79 @@ + +Dafny program verifier finished with 18 verified, 0 errors + +Dafny program verifier did not attempt verification +67 67 67 67 67 67 67 67 +0 1 2 3 +1 2 3 4 +2 3 4 5 +3 4 5 6 +4 5 6 7 +O . O . O . O . O . O . +12 12 12 12 12 12 12 12 12 12 12 12 +D E +y z +4 3 +7 +100 75 98 25 + +looks like this rocks +-2 -1 0 1 2 3 4 + +Dafny program verifier did not attempt verification +67 67 67 67 67 67 67 67 +0 1 2 3 +1 2 3 4 +2 3 4 5 +3 4 5 6 +4 5 6 7 +O . O . O . O . O . O . +12 12 12 12 12 12 12 12 12 12 12 12 +D E +y z +4 3 +7 +100 75 98 25 + +looks like this rocks +-2 -1 0 1 2 3 4 + +Dafny program verifier did not attempt verification +67 67 67 67 67 67 67 67 +0 1 2 3 +1 2 3 4 +2 3 4 5 +3 4 5 6 +4 5 6 7 +O . O . O . O . O . O . +12 12 12 12 12 12 12 12 12 12 12 12 +D E +y z +4 3 +7 +100 75 98 25 + +looks like this rocks +-2 -1 0 1 2 3 4 + +Dafny program verifier did not attempt verification +67 67 67 67 67 67 67 67 +0 1 2 3 +1 2 3 4 +2 3 4 5 +3 4 5 6 +4 5 6 7 +O . O . O . O . O . O . +12 12 12 12 12 12 12 12 12 12 12 12 +D E +y z +4 3 +7 +100 75 98 25 + +looks like this rocks +-2 -1 0 1 2 3 4 + +Dafny program verifier did not attempt verification 67 67 67 67 67 67 67 67 0 1 2 3 1 2 3 4 diff --git a/Test/dafny0/Bitvectors.dfy b/Test/dafny0/Bitvectors.dfy index 4c8e1094455..6e0c9270b99 100644 --- a/Test/dafny0/Bitvectors.dfy +++ b/Test/dafny0/Bitvectors.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /print:"%t.print" /env:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // Note the difference in Java output is due to // https://github.com/dafny-lang/dafny/issues/4152 diff --git a/Test/dafny0/Bitvectors.dfy.expect b/Test/dafny0/Bitvectors.dfy.expect index ed1c7328e83..51fda88f97b 100644 --- a/Test/dafny0/Bitvectors.dfy.expect +++ b/Test/dafny0/Bitvectors.dfy.expect @@ -1,3 +1,52 @@ + +Dafny program verifier finished with 11 verified, 0 errors + +Dafny program verifier did not attempt verification +4000 4000 4000 0 +1 2053 1099 +185 55 +2 4 +Comparisons: true true false false +bv16: 5 - 2 == 3 +bv16: 1 - 2 == 65535 +3 2 +0 0 +false true true false +bv67: 147573952589676412927 + 3 == 2 - 3 == 147573952589676412925 !! 3 == ! 147573952589676412924 == 3 +bv64: 18446744073709551615 + 3 == 2 - 3 == 18446744073709551613 !! 3 == ! 18446744073709551612 == 3 +bv53: 9007199254740991 + 3 == 2 - 3 == 9007199254740989 !! 3 == ! 9007199254740988 == 3 +bv33: 8589934591 + 3 == 2 - 3 == 8589934589 !! 3 == ! 8589934588 == 3 +bv32: 4294967295 + 3 == 2 - 3 == 4294967293 !! 3 == ! 4294967292 == 3 +bv31: 2147483647 + 3 == 2 - 3 == 2147483645 !! 3 == ! 2147483644 == 3 +bv16: 65535 + 3 == 2 - 3 == 65533 !! 3 == ! 65532 == 3 +bv15: 32767 + 3 == 2 - 3 == 32765 !! 3 == ! 32764 == 3 +bv8: 255 + 3 == 2 - 3 == 253 !! 3 == ! 252 == 3 +bv6: 63 + 3 == 2 - 3 == 61 !! 3 == ! 60 == 3 +bv1: 1 + 1 == 0 - 1 == 1 !! 1 == ! 0 == 1 +bv0: 0 + 0 == 0 - 0 == 0 !! 0 == ! 0 == 0 +bv2: + 3 + 2 == 1 + 3 - 2 == 1 + 3 * 2 == 2 + 3 / 2 == 1 + 3 % 2 == 1 +PrintShifts: bv67: 5 40 40 40 +PrintShifts: bv32: 5 40 40 40 +PrintShifts: bv7: 5 40 40 40 +PrintShifts: bv2: 1 2 2 2 +PrintShifts: bv0: 0 0 0 0 +PrintShifts: bv67 again: 2 2 2 73786976294838206465 +PrintShifts: bv32 again: 8000 8000 2147487648 3221227472 +PrintShifts: bv7 again: 124 124 124 127 +PrintShifts: bv0 again: 0 0 0 0 +PrintRotates: bv12: 5 5 +PrintRotates: bv7: 5 5 +PrintRotates: bv2: 1 1 +PrintRotates: bv0: 0 0 +PrintRotates: bv12 again: 976 976 +PrintRotates: bv7 again: 127 127 + +Dafny program verifier did not attempt verification 4000 4000 4000 0 1 2053 1099 185 55 diff --git a/Test/dafny0/Constant.dfy b/Test/dafny0/Constant.dfy index 1fdeedc3335..f021e7d4482 100644 --- a/Test/dafny0/Constant.dfy +++ b/Test/dafny0/Constant.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" const one:int := 1 const two:int := one * 2 diff --git a/Test/dafny0/Constant.dfy.expect b/Test/dafny0/Constant.dfy.expect index 1a7b981715f..6099b08c38c 100644 --- a/Test/dafny0/Constant.dfy.expect +++ b/Test/dafny0/Constant.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 17 verified, 0 errors one := 1 two := 2 three := 3 diff --git a/Test/dafny0/Deprecation.dfy b/Test/dafny0/Deprecation.dfy index 86521043d43..8c9c688d463 100644 --- a/Test/dafny0/Deprecation.dfy +++ b/Test/dafny0/Deprecation.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // This file contains tests for messags about various deprecated features. // As those features go away completely, so can the corresponding tests. diff --git a/Test/dafny0/Deprecation.dfy.expect b/Test/dafny0/Deprecation.dfy.expect index 0dffd975ac7..4ff88d31ade 100644 --- a/Test/dafny0/Deprecation.dfy.expect +++ b/Test/dafny0/Deprecation.dfy.expect @@ -1 +1,8 @@ +Deprecation.dfy(16,13): Warning: constructors no longer need 'this' to be listed in modifies clauses +Deprecation.dfy(23,0): Warning: the old keyword phrase 'inductive predicate' has been renamed to 'least predicate' +Deprecation.dfy(26,0): Warning: the old keyword 'copredicate' has been renamed to the keyword phrase 'greatest predicate' +Deprecation.dfy(29,0): Warning: the old keyword phrase 'inductive lemma' has been renamed to 'least lemma' +Deprecation.dfy(32,0): Warning: the old keyword 'colemma' has been renamed to the keyword phrase 'greatest lemma' + +Dafny program verifier finished with 0 verified, 0 errors yet here we are diff --git a/Test/dafny0/Deprecation.dfy.verifier.expect b/Test/dafny0/Deprecation.dfy.verifier.expect deleted file mode 100644 index c0851e9888c..00000000000 --- a/Test/dafny0/Deprecation.dfy.verifier.expect +++ /dev/null @@ -1,5 +0,0 @@ -Deprecation.dfy(15,13): Warning: constructors no longer need 'this' to be listed in modifies clauses -Deprecation.dfy(22,0): Warning: the old keyword phrase 'inductive predicate' has been renamed to 'least predicate' -Deprecation.dfy(25,0): Warning: the old keyword 'copredicate' has been renamed to the keyword phrase 'greatest predicate' -Deprecation.dfy(28,0): Warning: the old keyword phrase 'inductive lemma' has been renamed to 'least lemma' -Deprecation.dfy(31,0): Warning: the old keyword 'colemma' has been renamed to the keyword phrase 'greatest lemma' diff --git a/Test/dafny0/DiscoverBounds.dfy b/Test/dafny0/DiscoverBounds.dfy index 18e56158613..31f9717ee79 100644 --- a/Test/dafny0/DiscoverBounds.dfy +++ b/Test/dafny0/DiscoverBounds.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /print:"%t.print" /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype NT = x | 0 <= x < 100 newtype UT = NT diff --git a/Test/dafny0/DiscoverBounds.dfy.expect b/Test/dafny0/DiscoverBounds.dfy.expect index 909a58326d0..e43954c7be1 100644 --- a/Test/dafny0/DiscoverBounds.dfy.expect +++ b/Test/dafny0/DiscoverBounds.dfy.expect @@ -1,3 +1,10 @@ +DiscoverBounds.dfy(32,7): Warning: /!\ No terms found to trigger on. +DiscoverBounds.dfy(33,7): Warning: /!\ No terms found to trigger on. +DiscoverBounds.dfy(34,7): Warning: /!\ No terms found to trigger on. +DiscoverBounds.dfy(35,7): Warning: /!\ No terms found to trigger on. +DiscoverBounds.dfy(36,7): Warning: /!\ No terms found to trigger on. + +Dafny program verifier finished with 7 verified, 0 errors 0 0 -2 diff --git a/Test/dafny0/DiscoverBounds.dfy.verifier.expect b/Test/dafny0/DiscoverBounds.dfy.verifier.expect deleted file mode 100644 index 7c4de01ee0e..00000000000 --- a/Test/dafny0/DiscoverBounds.dfy.verifier.expect +++ /dev/null @@ -1,5 +0,0 @@ -DiscoverBounds.dfy(31,7): Warning: /!\ No terms found to trigger on. -DiscoverBounds.dfy(32,7): Warning: /!\ No terms found to trigger on. -DiscoverBounds.dfy(33,7): Warning: /!\ No terms found to trigger on. -DiscoverBounds.dfy(34,7): Warning: /!\ No terms found to trigger on. -DiscoverBounds.dfy(35,7): Warning: /!\ No terms found to trigger on. diff --git a/Test/dafny0/DividedConstructors.dfy b/Test/dafny0/DividedConstructors.dfy index e6f63a35f11..169bf4ee7df 100644 --- a/Test/dafny0/DividedConstructors.dfy +++ b/Test/dafny0/DividedConstructors.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /env:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var m := new M0.MyClass.Init(20); diff --git a/Test/dafny0/DividedConstructors.dfy.expect b/Test/dafny0/DividedConstructors.dfy.expect index 2dcc1ba6402..eaa3ed7d379 100644 --- a/Test/dafny0/DividedConstructors.dfy.expect +++ b/Test/dafny0/DividedConstructors.dfy.expect @@ -1,2 +1,5 @@ +DividedConstructors.dfy(62,9): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier finished with 17 verified, 0 errors 37, 17, 3.14 false, true diff --git a/Test/dafny0/DividedConstructors.dfy.verifier.expect b/Test/dafny0/DividedConstructors.dfy.verifier.expect deleted file mode 100644 index f3fdfadddbf..00000000000 --- a/Test/dafny0/DividedConstructors.dfy.verifier.expect +++ /dev/null @@ -1 +0,0 @@ -DividedConstructors.dfy(61,9): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny0/EqualityTypesCompile.dfy b/Test/dafny0/EqualityTypesCompile.dfy index a36d1818c1d..de7954710e9 100644 --- a/Test/dafny0/EqualityTypesCompile.dfy +++ b/Test/dafny0/EqualityTypesCompile.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype List = Nil | Cons(A, List) | ICons(int, List) datatype TwoLists = Two(List, List) diff --git a/Test/dafny0/EqualityTypesCompile.dfy.expect b/Test/dafny0/EqualityTypesCompile.dfy.expect index 0246dc39633..d2f1950e7f7 100644 --- a/Test/dafny0/EqualityTypesCompile.dfy.expect +++ b/Test/dafny0/EqualityTypesCompile.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 1 verified, 0 errors from M: false from N: false from H: false diff --git a/Test/dafny0/ForallCompilationNewSyntax.dfy b/Test/dafny0/ForallCompilationNewSyntax.dfy index ac354d6338c..b7132df78ae 100644 --- a/Test/dafny0/ForallCompilationNewSyntax.dfy +++ b/Test/dafny0/ForallCompilationNewSyntax.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --quantifier-syntax:4 --relax-definite-assignment +// RUN: %baredafny run %args --relax-definite-assignment --quantifier-syntax:4 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var c := new MyClass; diff --git a/Test/dafny0/ForallCompilationNewSyntax.dfy.expect b/Test/dafny0/ForallCompilationNewSyntax.dfy.expect index e69de29bb2d..5b7ec4613bb 100644 --- a/Test/dafny0/ForallCompilationNewSyntax.dfy.expect +++ b/Test/dafny0/ForallCompilationNewSyntax.dfy.expect @@ -0,0 +1,6 @@ +ForallCompilationNewSyntax.dfy(26,4): Warning: /!\ No terms found to trigger on. +ForallCompilationNewSyntax.dfy(35,4): Warning: /!\ No terms found to trigger on. +ForallCompilationNewSyntax.dfy(44,4): Warning: /!\ No terms found to trigger on. +ForallCompilationNewSyntax.dfy(64,4): Warning: /!\ No trigger covering all quantified variables found. + +Dafny program verifier finished with 14 verified, 0 errors diff --git a/Test/dafny0/ForallCompilationNewSyntax.dfy.verifier.expect b/Test/dafny0/ForallCompilationNewSyntax.dfy.verifier.expect deleted file mode 100644 index a94cd5ea608..00000000000 --- a/Test/dafny0/ForallCompilationNewSyntax.dfy.verifier.expect +++ /dev/null @@ -1,4 +0,0 @@ -ForallCompilationNewSyntax.dfy(25,4): Warning: /!\ No terms found to trigger on. -ForallCompilationNewSyntax.dfy(34,4): Warning: /!\ No terms found to trigger on. -ForallCompilationNewSyntax.dfy(43,4): Warning: /!\ No terms found to trigger on. -ForallCompilationNewSyntax.dfy(63,4): Warning: /!\ No trigger covering all quantified variables found. diff --git a/Test/dafny0/GhostITECompilation.dfy b/Test/dafny0/GhostITECompilation.dfy index bd7cfa28a95..d761ddbc6ea 100644 --- a/Test/dafny0/GhostITECompilation.dfy +++ b/Test/dafny0/GhostITECompilation.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --function-syntax:4 --relax-definite-assignment +// RUN: %dafny /compile:0 /functionSyntax:4 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" function F(x: nat, ghost y: nat): nat { diff --git a/Test/dafny0/GhostITECompilation.dfy.expect b/Test/dafny0/GhostITECompilation.dfy.expect index b4988e5cf11..1ec406bf52c 100644 --- a/Test/dafny0/GhostITECompilation.dfy.expect +++ b/Test/dafny0/GhostITECompilation.dfy.expect @@ -1,3 +1,31 @@ + +Dafny program verifier finished with 6 verified, 0 errors + +Dafny program verifier did not attempt verification +65 +65 +65 +65 + +Dafny program verifier did not attempt verification +65 +65 +65 +65 + +Dafny program verifier did not attempt verification +65 +65 +65 +65 + +Dafny program verifier did not attempt verification +65 +65 +65 +65 + +Dafny program verifier did not attempt verification 65 65 65 diff --git a/Test/dafny0/InitialValues.dfy b/Test/dafny0/InitialValues.dfy index 0848d244d71..7dcb05cc9c9 100644 --- a/Test/dafny0/InitialValues.dfy +++ b/Test/dafny0/InitialValues.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny0/InitialValues.dfy.expect b/Test/dafny0/InitialValues.dfy.expect index 18903dcc3dd..ada1b783c16 100644 --- a/Test/dafny0/InitialValues.dfy.expect +++ b/Test/dafny0/InitialValues.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 2 verified, 0 errors r= 0.0 s= 3.4 a= 0.0 b= 3.4 z= 0.0 a==z = true diff --git a/Test/dafny0/MatchBraces.dfy b/Test/dafny0/MatchBraces.dfy index 4ac380f2739..ddd1924774b 100644 --- a/Test/dafny0/MatchBraces.dfy +++ b/Test/dafny0/MatchBraces.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /print:"%t.print" /env:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Color = Red | Green | Blue diff --git a/Test/dafny0/MatchBraces.dfy.expect b/Test/dafny0/MatchBraces.dfy.expect index 4f89bff47e5..88f6cf4f56e 100644 --- a/Test/dafny0/MatchBraces.dfy.expect +++ b/Test/dafny0/MatchBraces.dfy.expect @@ -1,2 +1,10 @@ + +Dafny program verifier finished with 5 verified, 0 errors + +Dafny program verifier did not attempt verification +7 0.18 Color.Red 13 12 +11 98.0 Color.Green 14 115 + +Dafny program verifier did not attempt verification 7 0.18 Color.Red 13 12 11 98.0 Color.Green 14 115 diff --git a/Test/dafny0/MoForallCompilation.dfy b/Test/dafny0/MoForallCompilation.dfy index af080853463..835712edbce 100644 --- a/Test/dafny0/MoForallCompilation.dfy +++ b/Test/dafny0/MoForallCompilation.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { TestAggregateArrayUpdate(); diff --git a/Test/dafny0/MoForallCompilation.dfy.expect b/Test/dafny0/MoForallCompilation.dfy.expect index 7bb606c1528..c431c74c6aa 100644 --- a/Test/dafny0/MoForallCompilation.dfy.expect +++ b/Test/dafny0/MoForallCompilation.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 18 verified, 0 errors -4.0 -3.0 -2.0 -1.0 0.0 1.0 2.0 3.0 7.0 6.0 5.0 4.0 3.0 2.0 1.0 0.0 true true true true true true false false diff --git a/Test/dafny0/NameclashesCompile.dfy b/Test/dafny0/NameclashesCompile.dfy index 46cae4b2338..4d06065c675 100644 --- a/Test/dafny0/NameclashesCompile.dfy +++ b/Test/dafny0/NameclashesCompile.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var r0, r1; diff --git a/Test/dafny0/NameclashesCompile.dfy.expect b/Test/dafny0/NameclashesCompile.dfy.expect index f001bdaeb1e..1434bb632f6 100644 --- a/Test/dafny0/NameclashesCompile.dfy.expect +++ b/Test/dafny0/NameclashesCompile.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 2 verified, 0 errors 15.0 15.1 94 99 0.8 14.3 14.4 18.9 18.92 diff --git a/Test/dafny0/NonZeroInitializationCompile.dfy b/Test/dafny0/NonZeroInitializationCompile.dfy index 2fedae6d60d..48b61a39369 100644 --- a/Test/dafny0/NonZeroInitializationCompile.dfy +++ b/Test/dafny0/NonZeroInitializationCompile.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" type MyInt = x | 6 <= x witness 6 newtype MyNewInt = x | 6 <= x witness 12 diff --git a/Test/dafny0/NonZeroInitializationCompile.dfy.expect b/Test/dafny0/NonZeroInitializationCompile.dfy.expect index c682dccf3fc..72b333efb85 100644 --- a/Test/dafny0/NonZeroInitializationCompile.dfy.expect +++ b/Test/dafny0/NonZeroInitializationCompile.dfy.expect @@ -1,3 +1,76 @@ + +Dafny program verifier finished with 15 verified, 0 errors + +Dafny program verifier did not attempt verification +These are the arbitrary values chosen by the compiler: 6, 12 +short, short': 0, -35 +nes: {57} +f0, f1: (0, false), (29, true) +dt: Dt.Atom(-35) +cl { u: 12, x: 0, r: 3.14, nes: {57} } +cl' { u: 12, x: 0, ': 3.14, nes: {20, 57} } + +x: real :: 0.0 versus 0.0 +ch: char :: 'D' versus 'D' +s: set :: {} versus {} +d: Xt :: AdvancedZeroInitialization.Xt.MakeXt(0, []) versus AdvancedZeroInitialization.Xt.MakeXt(0, []) +y: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, []) versus AdvancedZeroInitialization.Yt.MakeYt(0, []) +z: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization.Yt.MakeYt(0, 0) + +x: real :: 0.0 versus 0.0 +ch: char :: 'D' versus 'D' +s: set :: {} versus {} +d: Xt :: AdvancedZeroInitialization.Xt.MakeXt(0, []) versus AdvancedZeroInitialization.Xt.MakeXt(0, []) +y: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, []) versus AdvancedZeroInitialization.Yt.MakeYt(0, []) +z: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization.Yt.MakeYt(0, 0) + +Dafny program verifier did not attempt verification +These are the arbitrary values chosen by the compiler: 6, 12 +short, short': 0, -35 +nes: {57} +f0, f1: (0, false), (29, true) +dt: Dt.Atom(-35) +cl { u: 12, x: 0, r: 3.14, nes: {57} } +cl' { u: 12, x: 0, ': 3.14, nes: {20, 57} } + +x: real :: 0.0 versus 0.0 +ch: char :: 'D' versus 'D' +s: set :: {} versus {} +d: Xt :: AdvancedZeroInitialization.Xt.MakeXt(0, []) versus AdvancedZeroInitialization.Xt.MakeXt(0, []) +y: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, []) versus AdvancedZeroInitialization.Yt.MakeYt(0, []) +z: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization.Yt.MakeYt(0, 0) + +x: real :: 0.0 versus 0.0 +ch: char :: 'D' versus 'D' +s: set :: {} versus {} +d: Xt :: AdvancedZeroInitialization.Xt.MakeXt(0, []) versus AdvancedZeroInitialization.Xt.MakeXt(0, []) +y: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, []) versus AdvancedZeroInitialization.Yt.MakeYt(0, []) +z: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization.Yt.MakeYt(0, 0) + +Dafny program verifier did not attempt verification +These are the arbitrary values chosen by the compiler: 6, 12 +short, short': 0, -35 +nes: {57} +f0, f1: (0, false), (29, true) +dt: Dt.Atom(-35) +cl { u: 12, x: 0, r: 3.14, nes: {57} } +cl' { u: 12, x: 0, ': 3.14, nes: {20, 57} } + +x: real :: 0.0 versus 0.0 +ch: char :: 'D' versus 'D' +s: set :: {} versus {} +d: Xt :: AdvancedZeroInitialization.Xt.MakeXt(0, []) versus AdvancedZeroInitialization.Xt.MakeXt(0, []) +y: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, []) versus AdvancedZeroInitialization.Yt.MakeYt(0, []) +z: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization.Yt.MakeYt(0, 0) + +x: real :: 0.0 versus 0.0 +ch: char :: 'D' versus 'D' +s: set :: {} versus {} +d: Xt :: AdvancedZeroInitialization.Xt.MakeXt(0, []) versus AdvancedZeroInitialization.Xt.MakeXt(0, []) +y: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, []) versus AdvancedZeroInitialization.Yt.MakeYt(0, []) +z: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization.Yt.MakeYt(0, 0) + +Dafny program verifier did not attempt verification These are the arbitrary values chosen by the compiler: 6, 12 short, short': 0, -35 nes: {57} diff --git a/Test/dafny0/NullComparisonWarnings.dfy b/Test/dafny0/NullComparisonWarnings.dfy index 35fd5ffb3f4..eb9183040bc 100644 --- a/Test/dafny0/NullComparisonWarnings.dfy +++ b/Test/dafny0/NullComparisonWarnings.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { print "despite the warnings, the program still compiles\n"; diff --git a/Test/dafny0/NullComparisonWarnings.dfy.expect b/Test/dafny0/NullComparisonWarnings.dfy.expect index f2b4545fac7..d8cf4a9960c 100644 --- a/Test/dafny0/NullComparisonWarnings.dfy.expect +++ b/Test/dafny0/NullComparisonWarnings.dfy.expect @@ -1 +1,14 @@ +NullComparisonWarnings.dfy(27,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(28,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'y' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(29,14): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for field 'next' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(30,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(31,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'y' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(32,14): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for field 'next' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(34,12): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(37,12): Warning: the type of the other operand is a set of non-null elements, so the inclusion test of 'null' will always return 'false' +NullComparisonWarnings.dfy(38,12): Warning: the type of the other operand is a set of non-null elements, so the non-inclusion test of 'null' will always return 'true' +NullComparisonWarnings.dfy(40,41): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'u' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(45,12): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' + +Dafny program verifier finished with 4 verified, 0 errors despite the warnings, the program still compiles diff --git a/Test/dafny0/NullComparisonWarnings.dfy.verifier.expect b/Test/dafny0/NullComparisonWarnings.dfy.verifier.expect deleted file mode 100644 index 24f9074ecc9..00000000000 --- a/Test/dafny0/NullComparisonWarnings.dfy.verifier.expect +++ /dev/null @@ -1,11 +0,0 @@ -NullComparisonWarnings.dfy(26,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(27,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'y' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(28,14): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for field 'next' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(29,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(30,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'y' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(31,14): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for field 'next' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(33,12): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(36,12): Warning: the type of the other operand is a set of non-null elements, so the inclusion test of 'null' will always return 'false' -NullComparisonWarnings.dfy(37,12): Warning: the type of the other operand is a set of non-null elements, so the non-inclusion test of 'null' will always return 'true' -NullComparisonWarnings.dfy(39,41): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'u' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(44,12): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' diff --git a/Test/dafny0/PrintUTF8.dfy b/Test/dafny0/PrintUTF8.dfy index eff7baa32a9..5d4e376b19d 100644 --- a/Test/dafny0/PrintUTF8.dfy +++ b/Test/dafny0/PrintUTF8.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { print "Mikaël fixed UTF8\n"; diff --git a/Test/dafny0/PrintUTF8.dfy.expect b/Test/dafny0/PrintUTF8.dfy.expect index 818549280d3..52a23e906cc 100644 --- a/Test/dafny0/PrintUTF8.dfy.expect +++ b/Test/dafny0/PrintUTF8.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 0 verified, 0 errors Mikaël fixed UTF8 diff --git a/Test/dafny0/RangeCompilation.dfy b/Test/dafny0/RangeCompilation.dfy index 3f3e6aed0f8..53a8d6e33e5 100644 --- a/Test/dafny0/RangeCompilation.dfy +++ b/Test/dafny0/RangeCompilation.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" newtype Byte = x | 0 <= x < 256 predicate GoodByte(b: Byte) { diff --git a/Test/dafny0/RangeCompilation.dfy.expect b/Test/dafny0/RangeCompilation.dfy.expect index 9e0f9e5f028..82fbbb9b698 100644 --- a/Test/dafny0/RangeCompilation.dfy.expect +++ b/Test/dafny0/RangeCompilation.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 4 verified, 0 errors b=2 i=4 diff --git a/Test/dafny0/SeqFromArray.dfy b/Test/dafny0/SeqFromArray.dfy index 39f72303d18..6bab732c906 100644 --- a/Test/dafny0/SeqFromArray.dfy +++ b/Test/dafny0/SeqFromArray.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // /autoTriggers:1 added to suppress instabilities diff --git a/Test/dafny0/SeqFromArray.dfy.expect b/Test/dafny0/SeqFromArray.dfy.expect index e69de29bb2d..1981561ca00 100644 --- a/Test/dafny0/SeqFromArray.dfy.expect +++ b/Test/dafny0/SeqFromArray.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 10 verified, 0 errors diff --git a/Test/dafny0/SharedDestructorsCompile.dfy b/Test/dafny0/SharedDestructorsCompile.dfy index 64d8b245b58..8171cf72404 100644 --- a/Test/dafny0/SharedDestructorsCompile.dfy +++ b/Test/dafny0/SharedDestructorsCompile.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Dt = | A(x: int, y: real) diff --git a/Test/dafny0/SharedDestructorsCompile.dfy.expect b/Test/dafny0/SharedDestructorsCompile.dfy.expect index 060d152d77b..e037db03c40 100644 --- a/Test/dafny0/SharedDestructorsCompile.dfy.expect +++ b/Test/dafny0/SharedDestructorsCompile.dfy.expect @@ -1,3 +1,20 @@ + +Dafny program verifier finished with 3 verified, 0 errors + +Dafny program verifier did not attempt verification +Dt.A(10, 12.0): x=10 y=12.0 +Dt.B(_module.MyClass, 6): h=_module.MyClass x=6 +Dt.C(3.14): y=3.14 +Dt.C(3.14) +Dt.A(71, 0.1) +Klef.C3(44, 100, 66, 200) +Datte.AA(10, 2) Datte.AA(10, 5) +Datte.BB(false, 12) Datte.BB(false, 6) +Datte.CC(3.2) Datte.CC(3.4) +Datte.DD(100, {7}, 5, 9.0) Datte.DD(30, {7}, 5, 9.0) +Datte.DD(100, {7}, 5, 9.0) Datte.DD(30, {7}, 5, 2.0) + +Dafny program verifier did not attempt verification Dt.A(10, 12.0): x=10 y=12.0 Dt.B(_module.MyClass, 6): h=_module.MyClass x=6 Dt.C(3.14): y=3.14 diff --git a/Test/dafny0/SiblingImports.dfy b/Test/dafny0/SiblingImports.dfy index 756e4b253f3..3fb01d9d1b8 100644 --- a/Test/dafny0/SiblingImports.dfy +++ b/Test/dafny0/SiblingImports.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { ClientA.Test(); diff --git a/Test/dafny0/SiblingImports.dfy.expect b/Test/dafny0/SiblingImports.dfy.expect index fb6171563ac..ba4df82a925 100644 --- a/Test/dafny0/SiblingImports.dfy.expect +++ b/Test/dafny0/SiblingImports.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 1 verified, 0 errors ClientA.Inner.Five: 5 ClientB.Inner.Five: 5 ClientC.Inner.Five: 5 diff --git a/Test/dafny0/TypeConversionsCompile.dfy b/Test/dafny0/TypeConversionsCompile.dfy index 5b1e32b9258..90075fb74a8 100644 --- a/Test/dafny0/TypeConversionsCompile.dfy +++ b/Test/dafny0/TypeConversionsCompile.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /env:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Note the difference in output in Java's case is due to // https://github.com/dafny-lang/dafny/issues/4152 diff --git a/Test/dafny0/TypeConversionsCompile.dfy.expect b/Test/dafny0/TypeConversionsCompile.dfy.expect index 78990cf4a30..893938a0226 100644 --- a/Test/dafny0/TypeConversionsCompile.dfy.expect +++ b/Test/dafny0/TypeConversionsCompile.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 8 verified, 0 errors 3 4 5.0 5 6 -1.0 147573952589676412927 4294967295 127 0 got 3, expected 3 got 0, expected 0 diff --git a/Test/dafny0/TypeMembers.dfy b/Test/dafny0/TypeMembers.dfy index f2bea4039c9..2ab57767ad5 100644 --- a/Test/dafny0/TypeMembers.dfy +++ b/Test/dafny0/TypeMembers.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { BasicTests(); diff --git a/Test/dafny0/TypeMembers.dfy.expect b/Test/dafny0/TypeMembers.dfy.expect index 923cb07e841..1d406ca85dc 100644 --- a/Test/dafny0/TypeMembers.dfy.expect +++ b/Test/dafny0/TypeMembers.dfy.expect @@ -1,3 +1,32 @@ +TypeMembers.dfy(117,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect + +Dafny program verifier finished with 29 verified, 0 errors +TypeMembers.dfy(117,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect + +Dafny program verifier did not attempt verification +DaTy.Yes 10 26 +8 11 10 11 10 +35 10 14 +22 22 +9 Dt.Business(false, 5) +76 77 +19 +0 0 +19 82 83 +93 Co.Cobalt +27 27 +18 +11 18 18 22 +15 30 29 +95 11 +162 165 +11 18 18 3 +15 30 29 +95 11 +162 165 +TypeMembers.dfy(117,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect + +Dafny program verifier did not attempt verification DaTy.Yes 10 26 8 11 10 11 10 35 10 14 diff --git a/Test/dafny0/TypeMembers.dfy.verifier.expect b/Test/dafny0/TypeMembers.dfy.verifier.expect deleted file mode 100644 index 62f55c943d2..00000000000 --- a/Test/dafny0/TypeMembers.dfy.verifier.expect +++ /dev/null @@ -1 +0,0 @@ -TypeMembers.dfy(114,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect diff --git a/Test/dafny0/Wellfounded.dfy b/Test/dafny0/Wellfounded.dfy index 7ec2be06b38..2ed488974c6 100644 --- a/Test/dafny0/Wellfounded.dfy +++ b/Test/dafny0/Wellfounded.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var d := Int(10); diff --git a/Test/dafny0/Wellfounded.dfy.expect b/Test/dafny0/Wellfounded.dfy.expect index 52742a67098..73d7a1e7ca2 100644 --- a/Test/dafny0/Wellfounded.dfy.expect +++ b/Test/dafny0/Wellfounded.dfy.expect @@ -1,3 +1,7 @@ +Wellfounded.dfy(49,14): Warning: /!\ No terms found to trigger on. +Wellfounded.dfy(77,5): Warning: /!\ No terms found to trigger on. + +Dafny program verifier finished with 3 verified, 0 errors M(d, d) = 10 M(a1, d) = 10 M(a2, d) = 10 diff --git a/Test/dafny0/Wellfounded.dfy.verifier.expect b/Test/dafny0/Wellfounded.dfy.verifier.expect deleted file mode 100644 index e61f12f01b2..00000000000 --- a/Test/dafny0/Wellfounded.dfy.verifier.expect +++ /dev/null @@ -1,2 +0,0 @@ -Wellfounded.dfy(48,14): Warning: /!\ No terms found to trigger on. -Wellfounded.dfy(76,5): Warning: /!\ No terms found to trigger on. diff --git a/Test/dafny2/MinWindowMax.dfy b/Test/dafny2/MinWindowMax.dfy index 32342cdd8b9..71ccb539d7d 100644 --- a/Test/dafny2/MinWindowMax.dfy +++ b/Test/dafny2/MinWindowMax.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Minimum window-max problem. // Rustan Leino diff --git a/Test/dafny2/MinWindowMax.dfy.expect b/Test/dafny2/MinWindowMax.dfy.expect index 1bb5609994e..f6f6e52d9bc 100644 --- a/Test/dafny2/MinWindowMax.dfy.expect +++ b/Test/dafny2/MinWindowMax.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 12 verified, 0 errors Window size 1: min window-max is -5 Window size 2: min window-max is 2 Window size 3: min window-max is 3 diff --git a/Test/dafny2/SmallestMissingNumber-functional.dfy b/Test/dafny2/SmallestMissingNumber-functional.dfy index a1544efab5f..047475c2680 100644 --- a/Test/dafny2/SmallestMissingNumber-functional.dfy +++ b/Test/dafny2/SmallestMissingNumber-functional.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Smallest missing number problem, functional version without duplicates. // A purely functional solution to the programming problem in Richard Bird's diff --git a/Test/dafny2/SmallestMissingNumber-functional.dfy.expect b/Test/dafny2/SmallestMissingNumber-functional.dfy.expect index 5d75da8ddd3..208b183ee3e 100644 --- a/Test/dafny2/SmallestMissingNumber-functional.dfy.expect +++ b/Test/dafny2/SmallestMissingNumber-functional.dfy.expect @@ -1 +1,4 @@ +SmallestMissingNumber-functional.dfy(213,11): Warning: /!\ No terms found to trigger on. + +Dafny program verifier finished with 21 verified, 0 errors 0 1 4 5 diff --git a/Test/dafny2/SmallestMissingNumber-functional.dfy.verifier.expect b/Test/dafny2/SmallestMissingNumber-functional.dfy.verifier.expect deleted file mode 100644 index cf10280f376..00000000000 --- a/Test/dafny2/SmallestMissingNumber-functional.dfy.verifier.expect +++ /dev/null @@ -1 +0,0 @@ -SmallestMissingNumber-functional.dfy(212,11): Warning: /!\ No terms found to trigger on. diff --git a/Test/dafny2/SmallestMissingNumber-imperative.dfy b/Test/dafny2/SmallestMissingNumber-imperative.dfy index 314bf4e464c..b8539481a54 100644 --- a/Test/dafny2/SmallestMissingNumber-imperative.dfy +++ b/Test/dafny2/SmallestMissingNumber-imperative.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Smallest missing number. // An imperative solution to the programming problem in Richard Bird's diff --git a/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect b/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect index cfb25913041..bc4a868fdff 100644 --- a/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect +++ b/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 8 verified, 0 errors 0 1 5 diff --git a/Test/dafny2/StoreAndRetrieve.dfy b/Test/dafny2/StoreAndRetrieve.dfy index f19239e234a..99a72697a71 100644 --- a/Test/dafny2/StoreAndRetrieve.dfy +++ b/Test/dafny2/StoreAndRetrieve.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // This file shows an example program that uses both refinement and :autocontracts // specify a class that stores a set of things that can be retrieved using a query. diff --git a/Test/dafny2/StoreAndRetrieve.dfy.expect b/Test/dafny2/StoreAndRetrieve.dfy.expect index 030f5bfab39..1d7d71d5202 100644 --- a/Test/dafny2/StoreAndRetrieve.dfy.expect +++ b/Test/dafny2/StoreAndRetrieve.dfy.expect @@ -1 +1,39 @@ +StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier finished with 19 verified, 0 errors +StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +20.3 +StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +20.3 +StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +20.3 +StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification 20.3 diff --git a/Test/dafny2/StoreAndRetrieve.dfy.verifier.expect b/Test/dafny2/StoreAndRetrieve.dfy.verifier.expect deleted file mode 100644 index 0c3d269cdc1..00000000000 --- a/Test/dafny2/StoreAndRetrieve.dfy.verifier.expect +++ /dev/null @@ -1,5 +0,0 @@ -StoreAndRetrieve.dfy(60,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(65,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(66,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(81,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(92,9): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny2/pq-intrinsic-extrinsic.dfy b/Test/dafny2/pq-intrinsic-extrinsic.dfy index 588c2f9e2b1..c797c92445d 100644 --- a/Test/dafny2/pq-intrinsic-extrinsic.dfy +++ b/Test/dafny2/pq-intrinsic-extrinsic.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // This file contains several versions of a priority queue implemented by Braun trees: // diff --git a/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect b/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect index 5c90c26e0eb..bc2608f44b7 100644 --- a/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect +++ b/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect @@ -1,3 +1,14 @@ + +Dafny program verifier finished with 32 verified, 0 errors + +Dafny program verifier did not attempt verification +PriorityQueue_extrinsic: 3 +PriorityQueue_layered: 3 +PriorityQueue_intrinsic: 3 +PriorityQueue_on_intrinsic: 3 +PriorityQueue_direct: 3 + +Dafny program verifier did not attempt verification PriorityQueue_extrinsic: 3 PriorityQueue_layered: 3 PriorityQueue_intrinsic: 3 diff --git a/Test/dafny3/Abstemious.dfy b/Test/dafny3/Abstemious.dfy index 62d891f950f..263c1f1fb00 100644 --- a/Test/dafny3/Abstemious.dfy +++ b/Test/dafny3/Abstemious.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Examples from https://www.haskell.org/tutorial/functions.html diff --git a/Test/dafny3/Abstemious.dfy.expect b/Test/dafny3/Abstemious.dfy.expect index 3511a04a840..96f109b0b58 100644 --- a/Test/dafny3/Abstemious.dfy.expect +++ b/Test/dafny3/Abstemious.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 19 verified, 0 errors ones(): 1 1 1 1 1 1 1 ... from(3): 3 4 5 6 7 8 9 ... Map(plus1, ones()): 2 2 2 2 2 2 2 ... diff --git a/Test/dafny3/CachedContainer.dfy b/Test/dafny3/CachedContainer.dfy index e36e76d6851..77c3e45897f 100644 --- a/Test/dafny3/CachedContainer.dfy +++ b/Test/dafny3/CachedContainer.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // This file contains an example chain of module refinements, starting from a // simple interface M0 to an implementation M3. Module Client.Test() is diff --git a/Test/dafny3/CachedContainer.dfy.expect b/Test/dafny3/CachedContainer.dfy.expect index ed2a587c3f1..08f4fb30b0a 100644 --- a/Test/dafny3/CachedContainer.dfy.expect +++ b/Test/dafny3/CachedContainer.dfy.expect @@ -1 +1,79 @@ +CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier finished with 29 verified, 0 errors +CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +false true false true +CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +false true false true +CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +false true false true +CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification false true false true diff --git a/Test/dafny3/CachedContainer.dfy.verifier.expect b/Test/dafny3/CachedContainer.dfy.verifier.expect deleted file mode 100644 index a037bc94ff6..00000000000 --- a/Test/dafny3/CachedContainer.dfy.verifier.expect +++ /dev/null @@ -1,13 +0,0 @@ -CachedContainer.dfy(112,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(119,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(122,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(129,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(132,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(153,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(154,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(162,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(163,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(166,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(178,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(179,13): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny3/Iter.dfy b/Test/dafny3/Iter.dfy index 46befa24dd8..81431f2c64b 100644 --- a/Test/dafny3/Iter.dfy +++ b/Test/dafny3/Iter.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" class List { ghost var Contents: seq diff --git a/Test/dafny3/Iter.dfy.expect b/Test/dafny3/Iter.dfy.expect index 0ed11070541..69d7373d5d5 100644 --- a/Test/dafny3/Iter.dfy.expect +++ b/Test/dafny3/Iter.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 12 verified, 0 errors 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 98 0 2 4 6 8 10 12 14 diff --git a/Test/dafny4/Ackermann.dfy b/Test/dafny4/Ackermann.dfy index a4ef351c96b..27968070e9b 100644 --- a/Test/dafny4/Ackermann.dfy +++ b/Test/dafny4/Ackermann.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Rustan Leino, 8 Sep 2015. // This file proves that the Ackermann function is monotonic in each argument diff --git a/Test/dafny4/Ackermann.dfy.expect b/Test/dafny4/Ackermann.dfy.expect index 43d9513ef4b..c995dac9c9a 100644 --- a/Test/dafny4/Ackermann.dfy.expect +++ b/Test/dafny4/Ackermann.dfy.expect @@ -1 +1,5 @@ +Ackermann.dfy(163,4): Warning: /!\ No terms found to trigger on. +Ackermann.dfy(181,4): Warning: /!\ No terms found to trigger on. + +Dafny program verifier finished with 14 verified, 0 errors Ack(3, 4) = 125 diff --git a/Test/dafny4/Ackermann.dfy.verifier.expect b/Test/dafny4/Ackermann.dfy.verifier.expect deleted file mode 100644 index b302e2b4daf..00000000000 --- a/Test/dafny4/Ackermann.dfy.verifier.expect +++ /dev/null @@ -1,2 +0,0 @@ -Ackermann.dfy(162,4): Warning: /!\ No terms found to trigger on. -Ackermann.dfy(180,4): Warning: /!\ No terms found to trigger on. diff --git a/Test/dafny4/Bug107.dfy b/Test/dafny4/Bug107.dfy index b7ab69c9a8d..e417fc90a53 100644 --- a/Test/dafny4/Bug107.dfy +++ b/Test/dafny4/Bug107.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny4/Bug107.dfy.expect b/Test/dafny4/Bug107.dfy.expect index 62f9457511f..ad79213a18c 100644 --- a/Test/dafny4/Bug107.dfy.expect +++ b/Test/dafny4/Bug107.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 1 verified, 0 errors 6 \ No newline at end of file diff --git a/Test/dafny4/Bug108.dfy b/Test/dafny4/Bug108.dfy index 8228fe44f87..c64ec32a340 100644 --- a/Test/dafny4/Bug108.dfy +++ b/Test/dafny4/Bug108.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var A := map[0 := 1]; diff --git a/Test/dafny4/Bug108.dfy.expect b/Test/dafny4/Bug108.dfy.expect index 0777a01b26d..c1c63f6c5c1 100644 --- a/Test/dafny4/Bug108.dfy.expect +++ b/Test/dafny4/Bug108.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 1 verified, 0 errors map[0 := 1] map[0 := 1] diff --git a/Test/dafny4/Bug113.dfy b/Test/dafny4/Bug113.dfy index 0bec0c1ce31..23c759540cd 100644 --- a/Test/dafny4/Bug113.dfy +++ b/Test/dafny4/Bug113.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype D = D(q:int, r:int, s:int, t:int) @@ -6,4 +7,4 @@ method Main() { print D(10, 20, 30, 40); print "\n"; -} +} \ No newline at end of file diff --git a/Test/dafny4/Bug113.dfy.expect b/Test/dafny4/Bug113.dfy.expect index e2eeff32e9a..3ea1396ad00 100644 --- a/Test/dafny4/Bug113.dfy.expect +++ b/Test/dafny4/Bug113.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 0 verified, 0 errors D.D(10, 20, 30, 40) diff --git a/Test/dafny4/Bug140.dfy b/Test/dafny4/Bug140.dfy index 8280db8f665..edde966c149 100644 --- a/Test/dafny4/Bug140.dfy +++ b/Test/dafny4/Bug140.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" class Node { ghost var List: seq diff --git a/Test/dafny4/Bug140.dfy.expect b/Test/dafny4/Bug140.dfy.expect index a40ee1166fb..bad48de4d6b 100644 --- a/Test/dafny4/Bug140.dfy.expect +++ b/Test/dafny4/Bug140.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 8 verified, 0 errors 1 2 diff --git a/Test/dafny4/Bug148.dfy b/Test/dafny4/Bug148.dfy index f31cef2cdc8..da1ebf99447 100644 --- a/Test/dafny4/Bug148.dfy +++ b/Test/dafny4/Bug148.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny4/Bug148.dfy.expect b/Test/dafny4/Bug148.dfy.expect index 9ed6ca4768b..79d02517ceb 100644 --- a/Test/dafny4/Bug148.dfy.expect +++ b/Test/dafny4/Bug148.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 0 verified, 0 errors true false true diff --git a/Test/dafny4/Bug49.dfy b/Test/dafny4/Bug49.dfy index 868f4a3964b..68722830422 100644 --- a/Test/dafny4/Bug49.dfy +++ b/Test/dafny4/Bug49.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny4/Bug49.dfy.expect b/Test/dafny4/Bug49.dfy.expect index 800c2bd15ba..4e02a08bbee 100644 --- a/Test/dafny4/Bug49.dfy.expect +++ b/Test/dafny4/Bug49.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 13 verified, 0 errors 6 6 5 diff --git a/Test/dafny4/Bug60.dfy b/Test/dafny4/Bug60.dfy index f4585753f5f..0aa9209269d 100644 --- a/Test/dafny4/Bug60.dfy +++ b/Test/dafny4/Bug60.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // This method can be used to test compilation. method Main() diff --git a/Test/dafny4/Bug60.dfy.expect b/Test/dafny4/Bug60.dfy.expect index fd56dc3fcbc..49740e95682 100644 --- a/Test/dafny4/Bug60.dfy.expect +++ b/Test/dafny4/Bug60.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 0 verified, 0 errors ({2, 3}, map[2 := 20, 3 := 30]) (2, 2) {2, 3} diff --git a/Test/dafny4/Bug67.dfy b/Test/dafny4/Bug67.dfy index f01d4239a75..731018a293b 100644 --- a/Test/dafny4/Bug67.dfy +++ b/Test/dafny4/Bug67.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype d = D(m:seq) @@ -7,4 +8,4 @@ method Main() assert D([10, 20]) == D([10, 20]); // succeeds print [10, 20] == [10, 20], "\n"; // prints True print D([10, 20]) == D([10, 20]); // prints False -} +} \ No newline at end of file diff --git a/Test/dafny4/Bug67.dfy.expect b/Test/dafny4/Bug67.dfy.expect index 0be5d980da4..c716cab3144 100644 --- a/Test/dafny4/Bug67.dfy.expect +++ b/Test/dafny4/Bug67.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 1 verified, 0 errors true true \ No newline at end of file diff --git a/Test/dafny4/Bug68.dfy b/Test/dafny4/Bug68.dfy index bf50015f90c..a211206acba 100644 --- a/Test/dafny4/Bug68.dfy +++ b/Test/dafny4/Bug68.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method M1() { @@ -61,4 +62,4 @@ method Main() M3(); M3'(); M4(); -} +} \ No newline at end of file diff --git a/Test/dafny4/Bug68.dfy.expect b/Test/dafny4/Bug68.dfy.expect index 814ccfee2df..f4ef534187d 100644 --- a/Test/dafny4/Bug68.dfy.expect +++ b/Test/dafny4/Bug68.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 8 verified, 0 errors true true true diff --git a/Test/dafny4/Bug89.dfy b/Test/dafny4/Bug89.dfy index c7b77b44f99..4aec1acb8b7 100644 --- a/Test/dafny4/Bug89.dfy +++ b/Test/dafny4/Bug89.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method F() returns(x:int) ensures x == 6 diff --git a/Test/dafny4/Bug89.dfy.expect b/Test/dafny4/Bug89.dfy.expect index 62f9457511f..ed41c274352 100644 --- a/Test/dafny4/Bug89.dfy.expect +++ b/Test/dafny4/Bug89.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors 6 \ No newline at end of file diff --git a/Test/dafny4/Bug94.dfy b/Test/dafny4/Bug94.dfy index c41458539fc..be931445654 100644 --- a/Test/dafny4/Bug94.dfy +++ b/Test/dafny4/Bug94.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" ghost function foo() : (int, int) { diff --git a/Test/dafny4/Bug94.dfy.expect b/Test/dafny4/Bug94.dfy.expect index 3f10ffe7a4c..ab0cfbb2d9e 100644 --- a/Test/dafny4/Bug94.dfy.expect +++ b/Test/dafny4/Bug94.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 1 verified, 0 errors 15 \ No newline at end of file diff --git a/Test/dafny4/ClassRefinement.dfy b/Test/dafny4/ClassRefinement.dfy index 3d5fd1006eb..320749ec197 100644 --- a/Test/dafny4/ClassRefinement.dfy +++ b/Test/dafny4/ClassRefinement.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" abstract module M0 { class Counter { diff --git a/Test/dafny4/ClassRefinement.dfy.expect b/Test/dafny4/ClassRefinement.dfy.expect index cba3471eb57..f456b6777f3 100644 --- a/Test/dafny4/ClassRefinement.dfy.expect +++ b/Test/dafny4/ClassRefinement.dfy.expect @@ -1 +1,44 @@ +ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated +ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier finished with 11 verified, 0 errors +ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated +ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +2 1 +ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated +ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +2 1 +ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated +ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification +2 1 +ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated +ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated + +Dafny program verifier did not attempt verification 2 1 diff --git a/Test/dafny4/ClassRefinement.dfy.verifier.expect b/Test/dafny4/ClassRefinement.dfy.verifier.expect deleted file mode 100644 index 543e77303b5..00000000000 --- a/Test/dafny4/ClassRefinement.dfy.verifier.expect +++ /dev/null @@ -1,6 +0,0 @@ -ClassRefinement.dfy(68,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(69,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(74,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(75,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(77,6): Warning: the modify statement with a block statement is deprecated -ClassRefinement.dfy(78,13): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny4/ExpandedGuardedness.dfy b/Test/dafny4/ExpandedGuardedness.dfy index af620ec40e8..5cd7828f932 100644 --- a/Test/dafny4/ExpandedGuardedness.dfy +++ b/Test/dafny4/ExpandedGuardedness.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny4/ExpandedGuardedness.dfy.expect b/Test/dafny4/ExpandedGuardedness.dfy.expect index e0f3b041a66..d05670701e0 100644 --- a/Test/dafny4/ExpandedGuardedness.dfy.expect +++ b/Test/dafny4/ExpandedGuardedness.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 12 verified, 0 errors Up 19 20 21 22 23 Up2 19 20 21 22 23 UpIf 19 20 22 24 26 diff --git a/Test/dafny4/FlyingRobots.dfy b/Test/dafny4/FlyingRobots.dfy index f14a2a467cd..41223cca1aa 100644 --- a/Test/dafny4/FlyingRobots.dfy +++ b/Test/dafny4/FlyingRobots.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // The flying robots examples from an F* tutorial. It demonstrates how to specify // mutable data structures in the heap. diff --git a/Test/dafny4/FlyingRobots.dfy.expect b/Test/dafny4/FlyingRobots.dfy.expect index e69de29bb2d..5ed0d97333e 100644 --- a/Test/dafny4/FlyingRobots.dfy.expect +++ b/Test/dafny4/FlyingRobots.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 31 verified, 0 errors diff --git a/Test/dafny4/Leq.dfy b/Test/dafny4/Leq.dfy index fdbc1078ca3..fac12757ba0 100644 --- a/Test/dafny4/Leq.dfy +++ b/Test/dafny4/Leq.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Rustan Leino, 22 Sep 2015. // This file considers two definitions of Leq on naturals+infinity. One diff --git a/Test/dafny4/Leq.dfy.expect b/Test/dafny4/Leq.dfy.expect index e69de29bb2d..15301952c57 100644 --- a/Test/dafny4/Leq.dfy.expect +++ b/Test/dafny4/Leq.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 16 verified, 0 errors diff --git a/Test/dafny4/McCarthy91.dfy b/Test/dafny4/McCarthy91.dfy index 428f11eb269..466d30328cc 100644 --- a/Test/dafny4/McCarthy91.dfy +++ b/Test/dafny4/McCarthy91.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // The usual recursive method for computing McCarthy's 91 function method Main() { diff --git a/Test/dafny4/McCarthy91.dfy.expect b/Test/dafny4/McCarthy91.dfy.expect index 1511cff2c81..b63f7a0b03b 100644 --- a/Test/dafny4/McCarthy91.dfy.expect +++ b/Test/dafny4/McCarthy91.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 5 verified, 0 errors M(3) = 91 M(99) = 91 M(100) = 91 diff --git a/Test/dafny4/NatList.dfy b/Test/dafny4/NatList.dfy index 5a1b0358eaf..567fd461259 100644 --- a/Test/dafny4/NatList.dfy +++ b/Test/dafny4/NatList.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // This file tests some programs where "nat" is a type parameter to // a datatype. diff --git a/Test/dafny4/NatList.dfy.expect b/Test/dafny4/NatList.dfy.expect index 5382a29cb9f..2ceb3169787 100644 --- a/Test/dafny4/NatList.dfy.expect +++ b/Test/dafny4/NatList.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 11 verified, 0 errors ns = List.Cons(4, List.Cons(10, List.Nil)) Sum(ns) = 14 ns' = List.Cons(20, List.Nil) diff --git a/Test/dafny4/Regression2.dfy b/Test/dafny4/Regression2.dfy index 0d28285e74c..213bf265401 100644 --- a/Test/dafny4/Regression2.dfy +++ b/Test/dafny4/Regression2.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" module NativeTypes { newtype uint64 = int diff --git a/Test/dafny4/Regression2.dfy.expect b/Test/dafny4/Regression2.dfy.expect index 8a739fb435a..3f8ac383f86 100644 --- a/Test/dafny4/Regression2.dfy.expect +++ b/Test/dafny4/Regression2.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 0 verified, 0 errors true true true diff --git a/Test/dafny4/Regression3.dfy b/Test/dafny4/Regression3.dfy index fc60fad3cb1..adaa0d2763d 100644 --- a/Test/dafny4/Regression3.dfy +++ b/Test/dafny4/Regression3.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/dafny4/Regression3.dfy.expect b/Test/dafny4/Regression3.dfy.expect index 1223bf9ffaf..841338987c7 100644 --- a/Test/dafny4/Regression3.dfy.expect +++ b/Test/dafny4/Regression3.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 3 verified, 0 errors 55 Trunc( -3.0 ) = -3 (expected -3) Trunc( -2.8 ) = -3 (expected -3) diff --git a/Test/dafny4/Regression4.dfy b/Test/dafny4/Regression4.dfy index e4bc4cbef85..5f881a5083f 100644 --- a/Test/dafny4/Regression4.dfy +++ b/Test/dafny4/Regression4.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { } diff --git a/Test/dafny4/Regression4.dfy.expect b/Test/dafny4/Regression4.dfy.expect index e69de29bb2d..ba00363fc08 100644 --- a/Test/dafny4/Regression4.dfy.expect +++ b/Test/dafny4/Regression4.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 4 verified, 0 errors diff --git a/Test/dafny4/Regression6.dfy b/Test/dafny4/Regression6.dfy index b589ec0ce7d..f1551d3ef2d 100644 --- a/Test/dafny4/Regression6.dfy +++ b/Test/dafny4/Regression6.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" function Sum(a: array, lo: int, hi: int): int requires 0 <= lo <= hi <= a.Length diff --git a/Test/dafny4/Regression6.dfy.expect b/Test/dafny4/Regression6.dfy.expect index 54573bead10..17464f29e0b 100644 --- a/Test/dafny4/Regression6.dfy.expect +++ b/Test/dafny4/Regression6.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors 0 1028 0 diff --git a/Test/dafny4/Regression7.dfy b/Test/dafny4/Regression7.dfy index ef3ca5eea44..8ce421a62f3 100644 --- a/Test/dafny4/Regression7.dfy +++ b/Test/dafny4/Regression7.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /rprint:"%t.rprint" /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" module ListLibrary { datatype List = Nil | Cons(head: B, tail: List) diff --git a/Test/dafny4/Regression7.dfy.expect b/Test/dafny4/Regression7.dfy.expect index 4d38be23500..b7b2766a340 100644 --- a/Test/dafny4/Regression7.dfy.expect +++ b/Test/dafny4/Regression7.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors ListLibrary.List.Cons(28.0, ListLibrary.List.Nil) diff --git a/Test/dafny4/Regression9.dfy b/Test/dafny4/Regression9.dfy index 086007a3ef8..d9e44547252 100644 --- a/Test/dafny4/Regression9.dfy +++ b/Test/dafny4/Regression9.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Some tests for the type inference that was revamped // to better support subset types. diff --git a/Test/dafny4/Regression9.dfy.expect b/Test/dafny4/Regression9.dfy.expect index 2183b22cfa9..5a26eaeabfb 100644 --- a/Test/dafny4/Regression9.dfy.expect +++ b/Test/dafny4/Regression9.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors 'D''D''D' diff --git a/Test/dafny4/UnionFind.dfy b/Test/dafny4/UnionFind.dfy index 354f28accb7..b97b6ef5d61 100644 --- a/Test/dafny4/UnionFind.dfy +++ b/Test/dafny4/UnionFind.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Rustan Leino, Nov 2015 // Module M0 gives the high-level specification of the UnionFind data structure diff --git a/Test/dafny4/UnionFind.dfy.expect b/Test/dafny4/UnionFind.dfy.expect index 1cb72129e49..961b161b8dc 100644 --- a/Test/dafny4/UnionFind.dfy.expect +++ b/Test/dafny4/UnionFind.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 63 verified, 0 errors false true true false true true diff --git a/Test/dafny4/gcd.dfy b/Test/dafny4/gcd.dfy index fa92223fa49..384e338435f 100644 --- a/Test/dafny4/gcd.dfy +++ b/Test/dafny4/gcd.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // A text describing this file is found in a Dafny Power User note: http://leino.science/papers/krml279.html diff --git a/Test/dafny4/gcd.dfy.expect b/Test/dafny4/gcd.dfy.expect index c17551a37a4..ecbe2b6f64a 100644 --- a/Test/dafny4/gcd.dfy.expect +++ b/Test/dafny4/gcd.dfy.expect @@ -1,3 +1,34 @@ + +Dafny program verifier finished with 19 verified, 0 errors + +Dafny program verifier did not attempt verification +15 gcd 9 = 3 +14 gcd 22 = 2 +371 gcd 1 = 1 +1 gcd 2 = 1 +1 gcd 1 = 1 +13 gcd 13 = 13 +60 gcd 60 = 60 + +Dafny program verifier did not attempt verification +15 gcd 9 = 3 +14 gcd 22 = 2 +371 gcd 1 = 1 +1 gcd 2 = 1 +1 gcd 1 = 1 +13 gcd 13 = 13 +60 gcd 60 = 60 + +Dafny program verifier did not attempt verification +15 gcd 9 = 3 +14 gcd 22 = 2 +371 gcd 1 = 1 +1 gcd 2 = 1 +1 gcd 1 = 1 +13 gcd 13 = 13 +60 gcd 60 = 60 + +Dafny program verifier did not attempt verification 15 gcd 9 = 3 14 gcd 22 = 2 371 gcd 1 = 1 diff --git a/Test/dafny4/git-issue104.dfy b/Test/dafny4/git-issue104.dfy index b05ec4de1cc..86683a2ed88 100644 --- a/Test/dafny4/git-issue104.dfy +++ b/Test/dafny4/git-issue104.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" predicate bug(a: array) reads a diff --git a/Test/dafny4/git-issue104.dfy.expect b/Test/dafny4/git-issue104.dfy.expect index 836a5934c8f..f572edb2471 100644 --- a/Test/dafny4/git-issue104.dfy.expect +++ b/Test/dafny4/git-issue104.dfy.expect @@ -1 +1,17 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification +true false + +Dafny program verifier did not attempt verification +true false + +Dafny program verifier did not attempt verification +true false + +Dafny program verifier did not attempt verification +true false + +Dafny program verifier did not attempt verification true false diff --git a/Test/dafny4/git-issue105.dfy b/Test/dafny4/git-issue105.dfy index 4cff2330cba..09cfce29a6e 100644 --- a/Test/dafny4/git-issue105.dfy +++ b/Test/dafny4/git-issue105.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method lol() returns (c: int) { diff --git a/Test/dafny4/git-issue105.dfy.expect b/Test/dafny4/git-issue105.dfy.expect index e69de29bb2d..012f5b99379 100644 --- a/Test/dafny4/git-issue105.dfy.expect +++ b/Test/dafny4/git-issue105.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/dafny4/git-issue15.dfy b/Test/dafny4/git-issue15.dfy index 7c77a67ccf9..96905286209 100755 --- a/Test/dafny4/git-issue15.dfy +++ b/Test/dafny4/git-issue15.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype obj = Obj(fooBar:map) datatype foo = Foo diff --git a/Test/dafny4/git-issue15.dfy.expect b/Test/dafny4/git-issue15.dfy.expect index 00750edc07d..e52de78d0b1 100755 --- a/Test/dafny4/git-issue15.dfy.expect +++ b/Test/dafny4/git-issue15.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 1 verified, 0 errors 3 diff --git a/Test/dafny4/git-issue195.dfy b/Test/dafny4/git-issue195.dfy index fccdc5461c8..ac4b1306ac6 100644 --- a/Test/dafny4/git-issue195.dfy +++ b/Test/dafny4/git-issue195.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Block = Block(prevBlockHash:Hash, txs:seq, proof:VProof) diff --git a/Test/dafny4/git-issue195.dfy.expect b/Test/dafny4/git-issue195.dfy.expect index 638bfb50b2d..30692fdef2a 100644 --- a/Test/dafny4/git-issue195.dfy.expect +++ b/Test/dafny4/git-issue195.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 4 verified, 0 errors true true true true true diff --git a/Test/dafny4/git-issue196.dfy b/Test/dafny4/git-issue196.dfy index 056687ab1a5..64eb0e9123f 100644 --- a/Test/dafny4/git-issue196.dfy +++ b/Test/dafny4/git-issue196.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" class A { var a: array> diff --git a/Test/dafny4/git-issue196.dfy.expect b/Test/dafny4/git-issue196.dfy.expect index ee25a2c5027..a333f982b8f 100644 --- a/Test/dafny4/git-issue196.dfy.expect +++ b/Test/dafny4/git-issue196.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 9 verified, 0 errors 42 42 42 5000 5000 5000 5000 5000 diff --git a/Test/dafny4/git-issue4.dfy b/Test/dafny4/git-issue4.dfy index b17a545e219..b19cf3ce6df 100644 --- a/Test/dafny4/git-issue4.dfy +++ b/Test/dafny4/git-issue4.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" function IntToChar(i:int):char requires 0 <= i < 10 diff --git a/Test/dafny4/git-issue4.dfy.expect b/Test/dafny4/git-issue4.dfy.expect index 24e24eb63cc..33af1e040b7 100644 --- a/Test/dafny4/git-issue4.dfy.expect +++ b/Test/dafny4/git-issue4.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 5 verified, 0 errors '8' 8 '8' 56 56 diff --git a/Test/dafny4/git-issue43.dfy b/Test/dafny4/git-issue43.dfy index d320d7761bc..edf056a1a91 100644 --- a/Test/dafny4/git-issue43.dfy +++ b/Test/dafny4/git-issue43.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" class System { } diff --git a/Test/dafny4/git-issue43.dfy.expect b/Test/dafny4/git-issue43.dfy.expect index e69de29bb2d..012f5b99379 100644 --- a/Test/dafny4/git-issue43.dfy.expect +++ b/Test/dafny4/git-issue43.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/dafny4/git-issue76.dfy b/Test/dafny4/git-issue76.dfy index 85613dba2f2..708ee911b24 100644 --- a/Test/dafny4/git-issue76.dfy +++ b/Test/dafny4/git-issue76.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { M0(); diff --git a/Test/dafny4/git-issue76.dfy.expect b/Test/dafny4/git-issue76.dfy.expect index 0cfbf08886f..546da03a267 100644 --- a/Test/dafny4/git-issue76.dfy.expect +++ b/Test/dafny4/git-issue76.dfy.expect @@ -1 +1,8 @@ + +Dafny program verifier finished with 7 verified, 0 errors + +Dafny program verifier did not attempt verification +2 + +Dafny program verifier did not attempt verification 2 diff --git a/Test/dafny4/git-issue79.dfy b/Test/dafny4/git-issue79.dfy index f3fb17b8531..046a7c5e375 100644 --- a/Test/dafny4/git-issue79.dfy +++ b/Test/dafny4/git-issue79.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype EInt = Int(val: int) | Unknown type Pair = (string, EInt) diff --git a/Test/dafny4/git-issue79.dfy.expect b/Test/dafny4/git-issue79.dfy.expect index e69de29bb2d..012f5b99379 100644 --- a/Test/dafny4/git-issue79.dfy.expect +++ b/Test/dafny4/git-issue79.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/dafny4/git-issue88.dfy b/Test/dafny4/git-issue88.dfy index 83c0b4a8ef9..1c188333783 100644 --- a/Test/dafny4/git-issue88.dfy +++ b/Test/dafny4/git-issue88.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" type Grid = array2 diff --git a/Test/dafny4/git-issue88.dfy.expect b/Test/dafny4/git-issue88.dfy.expect index e69de29bb2d..00a51f822da 100644 --- a/Test/dafny4/git-issue88.dfy.expect +++ b/Test/dafny4/git-issue88.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 3 verified, 0 errors diff --git a/Test/exceptions/Exceptions1.dfy b/Test/exceptions/Exceptions1.dfy index 4ffd3291f2f..11bb2f7923d 100644 --- a/Test/exceptions/Exceptions1.dfy +++ b/Test/exceptions/Exceptions1.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" /rprint:"%t.rprint" > "%t" +// RUN: %diff "%s.expect" "%t" include "./NatOutcome.dfy" include "./VoidOutcome.dfy" diff --git a/Test/exceptions/Exceptions1.dfy.expect b/Test/exceptions/Exceptions1.dfy.expect index c87eb938c55..e61be2a11ad 100644 --- a/Test/exceptions/Exceptions1.dfy.expect +++ b/Test/exceptions/Exceptions1.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 7 verified, 0 errors true_true_true_88_42_33_Success=100 ___VoidSuccess true_true_false_88_42_Failure diff --git a/Test/exceptions/Exceptions1Expressions.dfy b/Test/exceptions/Exceptions1Expressions.dfy index a57e5b78c7e..c0f3c67cd39 100644 --- a/Test/exceptions/Exceptions1Expressions.dfy +++ b/Test/exceptions/Exceptions1Expressions.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" /rprint:"%t.rprint" > "%t" +// RUN: %diff "%s.expect" "%t" include "./NatOutcomeDt.dfy" include "./VoidOutcomeDt.dfy" diff --git a/Test/exceptions/Exceptions1Expressions.dfy.expect b/Test/exceptions/Exceptions1Expressions.dfy.expect index 3f1b38ab150..3da30f30d36 100644 --- a/Test/exceptions/Exceptions1Expressions.dfy.expect +++ b/Test/exceptions/Exceptions1Expressions.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 5 verified, 0 errors true_true_true_Success=100 VoidSuccess true_true_false_Failure diff --git a/Test/exports/FIFO.dfy b/Test/exports/FIFO.dfy index 95a8d25510c..173e412eaa9 100644 --- a/Test/exports/FIFO.dfy +++ b/Test/exports/FIFO.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" include "Queue.dfyi" diff --git a/Test/exports/FIFO.dfy.expect b/Test/exports/FIFO.dfy.expect index 4539bbf2d22..8350309cc2a 100644 --- a/Test/exports/FIFO.dfy.expect +++ b/Test/exports/FIFO.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 5 verified, 0 errors 0 1 2 diff --git a/Test/exports/LIFO.dfy b/Test/exports/LIFO.dfy index 513dd457c3f..ea691935620 100644 --- a/Test/exports/LIFO.dfy +++ b/Test/exports/LIFO.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" include "Queue.dfyi" diff --git a/Test/exports/LIFO.dfy.expect b/Test/exports/LIFO.dfy.expect index ae136939b64..48aa7787d09 100644 --- a/Test/exports/LIFO.dfy.expect +++ b/Test/exports/LIFO.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 5 verified, 0 errors 2 1 0 diff --git a/Test/exports/xrefine2.dfy b/Test/exports/xrefine2.dfy index 2409cc0509a..0b25240916c 100644 --- a/Test/exports/xrefine2.dfy +++ b/Test/exports/xrefine2.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" module ProtocolImpl { diff --git a/Test/exports/xrefine2.dfy.expect b/Test/exports/xrefine2.dfy.expect index 858dbd09862..34e1b357779 100644 --- a/Test/exports/xrefine2.dfy.expect +++ b/Test/exports/xrefine2.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 4 verified, 0 errors HI.foo(h1) => true HI.foo(h2) => true PI.orange(1) => 2 diff --git a/Test/exports/xrefine3.dfy b/Test/exports/xrefine3.dfy index bb2480bfed7..24d6fa062f0 100644 --- a/Test/exports/xrefine3.dfy +++ b/Test/exports/xrefine3.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" module AlphaImpl { diff --git a/Test/exports/xrefine3.dfy.expect b/Test/exports/xrefine3.dfy.expect index ae50cef0985..488ab11c36a 100644 --- a/Test/exports/xrefine3.dfy.expect +++ b/Test/exports/xrefine3.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors o hai! diff --git a/Test/git-issues/git-issue-032.dfy b/Test/git-issues/git-issue-032.dfy index d7dd61440a7..bde5b2f2a69 100644 --- a/Test/git-issues/git-issue-032.dfy +++ b/Test/git-issues/git-issue-032.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/git-issues/git-issue-032.dfy.expect b/Test/git-issues/git-issue-032.dfy.expect index 2a64997c6f7..91c285009c1 100644 --- a/Test/git-issues/git-issue-032.dfy.expect +++ b/Test/git-issues/git-issue-032.dfy.expect @@ -1,3 +1,40 @@ +git-issue-032.dfy(18,35): Warning: this branch is redundant +git-issue-032.dfy(27,34): Warning: this branch is redundant +git-issue-032.dfy(28,35): Warning: this branch is redundant + +Dafny program verifier finished with 1 verified, 0 errors +git-issue-032.dfy(18,35): Warning: this branch is redundant +git-issue-032.dfy(27,34): Warning: this branch is redundant +git-issue-032.dfy(28,35): Warning: this branch is redundant + +Dafny program verifier did not attempt verification +OK3 +OK +OKOK +00 +git-issue-032.dfy(18,35): Warning: this branch is redundant +git-issue-032.dfy(27,34): Warning: this branch is redundant +git-issue-032.dfy(28,35): Warning: this branch is redundant + +Dafny program verifier did not attempt verification +OK3 +OK +OKOK +00 +git-issue-032.dfy(18,35): Warning: this branch is redundant +git-issue-032.dfy(27,34): Warning: this branch is redundant +git-issue-032.dfy(28,35): Warning: this branch is redundant + +Dafny program verifier did not attempt verification +OK3 +OK +OKOK +00 +git-issue-032.dfy(18,35): Warning: this branch is redundant +git-issue-032.dfy(27,34): Warning: this branch is redundant +git-issue-032.dfy(28,35): Warning: this branch is redundant + +Dafny program verifier did not attempt verification OK3 OK OKOK diff --git a/Test/git-issues/git-issue-032.dfy.verifier.expect b/Test/git-issues/git-issue-032.dfy.verifier.expect deleted file mode 100644 index 1878351db97..00000000000 --- a/Test/git-issues/git-issue-032.dfy.verifier.expect +++ /dev/null @@ -1,3 +0,0 @@ -git-issue-032.dfy(13,35): Warning: this branch is redundant -git-issue-032.dfy(22,34): Warning: this branch is redundant -git-issue-032.dfy(23,35): Warning: this branch is redundant diff --git a/Test/git-issues/git-issue-1029.dfy b/Test/git-issues/git-issue-1029.dfy index 7e1e7a31cf2..a310a99c169 100644 --- a/Test/git-issues/git-issue-1029.dfy +++ b/Test/git-issues/git-issue-1029.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" module ValueType { export S diff --git a/Test/git-issues/git-issue-1029.dfy.expect b/Test/git-issues/git-issue-1029.dfy.expect index 116f2acb4ee..7108c86b0b5 100644 --- a/Test/git-issues/git-issue-1029.dfy.expect +++ b/Test/git-issues/git-issue-1029.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors [true, true, false] UI.Op2.GetOps([true, true, false], [true, true, false]) diff --git a/Test/git-issues/git-issue-1093.dfy b/Test/git-issues/git-issue-1093.dfy index 97797296680..9365397496f 100644 --- a/Test/git-issues/git-issue-1093.dfy +++ b/Test/git-issues/git-issue-1093.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { UnusedLabel(); diff --git a/Test/git-issues/git-issue-1093.dfy.expect b/Test/git-issues/git-issue-1093.dfy.expect index f599e28b8ab..0cadf5e4199 100644 --- a/Test/git-issues/git-issue-1093.dfy.expect +++ b/Test/git-issues/git-issue-1093.dfy.expect @@ -1 +1,17 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification +10 + +Dafny program verifier did not attempt verification +10 + +Dafny program verifier did not attempt verification +10 + +Dafny program verifier did not attempt verification +10 + +Dafny program verifier did not attempt verification 10 diff --git a/Test/git-issues/git-issue-1130.dfy b/Test/git-issues/git-issue-1130.dfy index f1f5ad5a54b..5b7fc5068e2 100644 --- a/Test/git-issues/git-issue-1130.dfy +++ b/Test/git-issues/git-issue-1130.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var a := new Issue.Foo(); diff --git a/Test/git-issues/git-issue-1130.dfy.expect b/Test/git-issues/git-issue-1130.dfy.expect index de97a6dc4ca..6c3dd07b1f1 100644 --- a/Test/git-issues/git-issue-1130.dfy.expect +++ b/Test/git-issues/git-issue-1130.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 13 verified, 0 errors 012 diff --git a/Test/git-issues/git-issue-1150.dfy b/Test/git-issues/git-issue-1150.dfy index d3416a53813..d4cee3c3ef2 100644 --- a/Test/git-issues/git-issue-1150.dfy +++ b/Test/git-issues/git-issue-1150.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Foo = Foo(x: nat) { diff --git a/Test/git-issues/git-issue-1150.dfy.expect b/Test/git-issues/git-issue-1150.dfy.expect index f34d8df4a11..fb4be1897cf 100644 --- a/Test/git-issues/git-issue-1150.dfy.expect +++ b/Test/git-issues/git-issue-1150.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 1 verified, 0 errors Foo.Foo(2) true Foo.Foo(5) false diff --git a/Test/git-issues/git-issue-1185.dfy b/Test/git-issues/git-issue-1185.dfy index c7ad72134d1..32c340b0736 100644 --- a/Test/git-issues/git-issue-1185.dfy +++ b/Test/git-issues/git-issue-1185.dfy @@ -1,5 +1,9 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" predicate P(s: set) requires s != {} diff --git a/Test/git-issues/git-issue-1185.dfy.expect b/Test/git-issues/git-issue-1185.dfy.expect index 525ce875525..90ab58a1f5a 100644 --- a/Test/git-issues/git-issue-1185.dfy.expect +++ b/Test/git-issues/git-issue-1185.dfy.expect @@ -1 +1,14 @@ + +Dafny program verifier finished with 3 verified, 0 errors + +Dafny program verifier did not attempt verification +{12, 20} true 6 + +Dafny program verifier did not attempt verification +{20, 12} true 6 + +Dafny program verifier did not attempt verification +{12, 20} true 6 + +Dafny program verifier did not attempt verification {12, 20} true 6 diff --git a/Test/git-issues/git-issue-1185.dfy.java.expect b/Test/git-issues/git-issue-1185.dfy.java.expect deleted file mode 100644 index 8ba669ad273..00000000000 --- a/Test/git-issues/git-issue-1185.dfy.java.expect +++ /dev/null @@ -1 +0,0 @@ -{20, 12} true 6 diff --git a/Test/git-issues/git-issue-1514.dfy b/Test/git-issues/git-issue-1514.dfy index 816eadce69b..74b75478609 100644 --- a/Test/git-issues/git-issue-1514.dfy +++ b/Test/git-issues/git-issue-1514.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" include "Wrappers.dfy" import opened Wrappers diff --git a/Test/git-issues/git-issue-1514.dfy.expect b/Test/git-issues/git-issue-1514.dfy.expect index b5754e20373..2f22d47cee8 100644 --- a/Test/git-issues/git-issue-1514.dfy.expect +++ b/Test/git-issues/git-issue-1514.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-1514b.dfy b/Test/git-issues/git-issue-1514b.dfy index 050a4a71760..1d8cd122d28 100644 --- a/Test/git-issues/git-issue-1514b.dfy +++ b/Test/git-issues/git-issue-1514b.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" include "Wrappers.dfy" import opened Wrappers diff --git a/Test/git-issues/git-issue-1514b.dfy.expect b/Test/git-issues/git-issue-1514b.dfy.expect index b5754e20373..2f22d47cee8 100644 --- a/Test/git-issues/git-issue-1514b.dfy.expect +++ b/Test/git-issues/git-issue-1514b.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-1514c.dfy b/Test/git-issues/git-issue-1514c.dfy index 578316f217c..d9df7d108c1 100644 --- a/Test/git-issues/git-issue-1514c.dfy +++ b/Test/git-issues/git-issue-1514c.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" include "Wrappers.dfy" import opened Wrappers diff --git a/Test/git-issues/git-issue-1514c.dfy.expect b/Test/git-issues/git-issue-1514c.dfy.expect index 9766475a418..694254c28aa 100644 --- a/Test/git-issues/git-issue-1514c.dfy.expect +++ b/Test/git-issues/git-issue-1514c.dfy.expect @@ -1 +1,8 @@ + +Dafny program verifier finished with 3 verified, 0 errors + +Dafny program verifier did not attempt verification +ok + +Dafny program verifier did not attempt verification ok diff --git a/Test/git-issues/git-issue-1553.dfy b/Test/git-issues/git-issue-1553.dfy index 81cbef7aa7e..6267018c92d 100644 --- a/Test/git-issues/git-issue-1553.dfy +++ b/Test/git-issues/git-issue-1553.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { } method Test() { diff --git a/Test/git-issues/git-issue-1553.dfy.expect b/Test/git-issues/git-issue-1553.dfy.expect index e69de29bb2d..65d3b5d6635 100644 --- a/Test/git-issues/git-issue-1553.dfy.expect +++ b/Test/git-issues/git-issue-1553.dfy.expect @@ -0,0 +1,10 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-1604b.dfy b/Test/git-issues/git-issue-1604b.dfy index d7c4169ec60..497ee5017d5 100644 --- a/Test/git-issues/git-issue-1604b.dfy +++ b/Test/git-issues/git-issue-1604b.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --error-limit:0 --relax-definite-assignment +// RUN: %dafny /compile:3 /errorLimit:0 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // Double constraints. Will this still work? diff --git a/Test/git-issues/git-issue-1604b.dfy.expect b/Test/git-issues/git-issue-1604b.dfy.expect index b5754e20373..93d7203e654 100644 --- a/Test/git-issues/git-issue-1604b.dfy.expect +++ b/Test/git-issues/git-issue-1604b.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 5 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-1714.dfy b/Test/git-issues/git-issue-1714.dfy index 540a41c39cb..6ce8915a7af 100644 --- a/Test/git-issues/git-issue-1714.dfy +++ b/Test/git-issues/git-issue-1714.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" +// RUN: %diff "%s.expect" "%t" trait Base {} class Derived extends Base { var n: int constructor() { n := 0; } } diff --git a/Test/git-issues/git-issue-1714.dfy.expect b/Test/git-issues/git-issue-1714.dfy.expect index 88039063d09..67dd7d95642 100644 --- a/Test/git-issues/git-issue-1714.dfy.expect +++ b/Test/git-issues/git-issue-1714.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors (b as Derived).n == 0 diff --git a/Test/git-issues/git-issue-1815a.dfy b/Test/git-issues/git-issue-1815a.dfy index 72d55a1cb4f..91fb7a32aa6 100644 --- a/Test/git-issues/git-issue-1815a.dfy +++ b/Test/git-issues/git-issue-1815a.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Dt<+U> = Dt(x: U, i: int) diff --git a/Test/git-issues/git-issue-1815a.dfy.expect b/Test/git-issues/git-issue-1815a.dfy.expect index 19f86f493ab..7b2651302d9 100644 --- a/Test/git-issues/git-issue-1815a.dfy.expect +++ b/Test/git-issues/git-issue-1815a.dfy.expect @@ -1 +1,17 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification +done + +Dafny program verifier did not attempt verification +done + +Dafny program verifier did not attempt verification +done + +Dafny program verifier did not attempt verification +done + +Dafny program verifier did not attempt verification done diff --git a/Test/git-issues/git-issue-1852.dfy b/Test/git-issues/git-issue-1852.dfy index 046f3fca1fc..516835e8ea8 100644 --- a/Test/git-issues/git-issue-1852.dfy +++ b/Test/git-issues/git-issue-1852.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" module A { export diff --git a/Test/git-issues/git-issue-1852.dfy.expect b/Test/git-issues/git-issue-1852.dfy.expect index 299a71f3fe4..e9cd0ea2e07 100644 --- a/Test/git-issues/git-issue-1852.dfy.expect +++ b/Test/git-issues/git-issue-1852.dfy.expect @@ -1 +1,8 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification +5 5 + +Dafny program verifier did not attempt verification 5 5 diff --git a/Test/git-issues/git-issue-1903.dfy b/Test/git-issues/git-issue-1903.dfy index 60ee1c121ab..7edb2a46c61 100644 --- a/Test/git-issues/git-issue-1903.dfy +++ b/Test/git-issues/git-issue-1903.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method g(x : seq := []) { diff --git a/Test/git-issues/git-issue-1903.dfy.expect b/Test/git-issues/git-issue-1903.dfy.expect index 84cc8d360f9..3170fb0c7f2 100644 --- a/Test/git-issues/git-issue-1903.dfy.expect +++ b/Test/git-issues/git-issue-1903.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 1 verified, 0 errors worked! diff --git a/Test/git-issues/git-issue-1909.dfy b/Test/git-issues/git-issue-1909.dfy index 83d9ec1d785..7fb5b3b8c48 100644 --- a/Test/git-issues/git-issue-1909.dfy +++ b/Test/git-issues/git-issue-1909.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype ABC = ABC(nameonly a: int, nameonly b: int, nameonly c: int) diff --git a/Test/git-issues/git-issue-1909.dfy.expect b/Test/git-issues/git-issue-1909.dfy.expect index ab6f7d69d36..b4eb7e7774e 100644 --- a/Test/git-issues/git-issue-1909.dfy.expect +++ b/Test/git-issues/git-issue-1909.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 1 verified, 0 errors ABC.ABC(19, 21, 23) ABC.ABC(19, 42, 23) ABC.ABC(100, 42, 90) diff --git a/Test/git-issues/git-issue-2013.dfy b/Test/git-issues/git-issue-2013.dfy index 1f3962988ee..d1d3e15880e 100644 --- a/Test/git-issues/git-issue-2013.dfy +++ b/Test/git-issues/git-issue-2013.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/git-issues/git-issue-2013.dfy.expect b/Test/git-issues/git-issue-2013.dfy.expect index 22e56ce7263..7ff6ce957cf 100644 --- a/Test/git-issues/git-issue-2013.dfy.expect +++ b/Test/git-issues/git-issue-2013.dfy.expect @@ -1,3 +1,55 @@ + +Dafny program verifier finished with 12 verified, 0 errors + +Dafny program verifier did not attempt verification +16 +16 +12 30 30 +Result.Success(8) Result.Failure(_module.MyClassException) +{100} {100} {100} +{MoreTests.C} {MoreTests.C} {MoreTests.C} +100 100 100 +MoreTests.C MoreTests.C MoreTests.C +Conveyance.NonVariantResult.NVSuccess(Conveyance.Car) Conveyance.CovariantResult.CVSuccess(Conveyance.Car) +M.Stream.Next + +Dafny program verifier did not attempt verification +16 +16 +12 30 30 +Result.Success(8) Result.Failure(_module.MyClassException) +{100} {100} {100} +{MoreTests.C} {MoreTests.C} {MoreTests.C} +100 100 100 +MoreTests.C MoreTests.C MoreTests.C +Conveyance.NonVariantResult.NVSuccess(Conveyance.Car) Conveyance.CovariantResult.CVSuccess(Conveyance.Car) +M.Stream.Next + +Dafny program verifier did not attempt verification +16 +16 +12 30 30 +Result.Success(8) Result.Failure(_module.MyClassException) +{100} {100} {100} +{MoreTests.C} {MoreTests.C} {MoreTests.C} +100 100 100 +MoreTests.C MoreTests.C MoreTests.C +Conveyance.NonVariantResult.NVSuccess(Conveyance.Car) Conveyance.CovariantResult.CVSuccess(Conveyance.Car) +M.Stream.Next + +Dafny program verifier did not attempt verification +16 +16 +12 30 30 +Result.Success(8) Result.Failure(_module.MyClassException) +{100} {100} {100} +{MoreTests.C} {MoreTests.C} {MoreTests.C} +100 100 100 +MoreTests.C MoreTests.C MoreTests.C +Conveyance.NonVariantResult.NVSuccess(Conveyance.Car) Conveyance.CovariantResult.CVSuccess(Conveyance.Car) +M.Stream.Next + +Dafny program verifier did not attempt verification 16 16 12 30 30 diff --git a/Test/git-issues/git-issue-2441.dfy b/Test/git-issues/git-issue-2441.dfy index 4179ecc87bc..bc9c8721ee2 100644 --- a/Test/git-issues/git-issue-2441.dfy +++ b/Test/git-issues/git-issue-2441.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype A = A(B: B) datatype B = X diff --git a/Test/git-issues/git-issue-2441.dfy.expect b/Test/git-issues/git-issue-2441.dfy.expect index e69de29bb2d..0c3f603d584 100644 --- a/Test/git-issues/git-issue-2441.dfy.expect +++ b/Test/git-issues/git-issue-2441.dfy.expect @@ -0,0 +1,6 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-2510.dfy b/Test/git-issues/git-issue-2510.dfy index 11ee2877bb3..22ef8e47058 100644 --- a/Test/git-issues/git-issue-2510.dfy +++ b/Test/git-issues/git-issue-2510.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:4 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" /// Check that the compiler accepts `:- assume {:axiom} …`. diff --git a/Test/git-issues/git-issue-2510.dfy.expect b/Test/git-issues/git-issue-2510.dfy.expect index 56a6051ca2b..b341a39a78d 100644 --- a/Test/git-issues/git-issue-2510.dfy.expect +++ b/Test/git-issues/git-issue-2510.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors 1 \ No newline at end of file diff --git a/Test/git-issues/git-issue-2608.dfy b/Test/git-issues/git-issue-2608.dfy index c606177f94f..459c9ffbf94 100644 --- a/Test/git-issues/git-issue-2608.dfy +++ b/Test/git-issues/git-issue-2608.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /compileTarget:js "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method GetNext(i: int) returns (j: int, possible: bool) { if i == 1 { diff --git a/Test/git-issues/git-issue-2608.dfy.expect b/Test/git-issues/git-issue-2608.dfy.expect index d9ed583f710..dce7ba1814a 100644 --- a/Test/git-issues/git-issue-2608.dfy.expect +++ b/Test/git-issues/git-issue-2608.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors 82411246231944714271214 \ No newline at end of file diff --git a/Test/git-issues/git-issue-262.dfy b/Test/git-issues/git-issue-262.dfy index 22d9a31b2fe..2c00ad94a39 100644 --- a/Test/git-issues/git-issue-262.dfy +++ b/Test/git-issues/git-issue-262.dfy @@ -1,5 +1,8 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" +// RUN: %dafny /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" function tst(x: nat): nat { x + 1 diff --git a/Test/git-issues/git-issue-262.dfy.expect b/Test/git-issues/git-issue-262.dfy.expect index 41d8cd55158..76af42cd4a3 100644 --- a/Test/git-issues/git-issue-262.dfy.expect +++ b/Test/git-issues/git-issue-262.dfy.expect @@ -1,2 +1,20 @@ + +Dafny program verifier finished with 2 verified, 0 errors System.Func`2[System.Numerics.BigInteger,System.Numerics.BigInteger] System.Func`2[System.Numerics.BigInteger,System.Numerics.BigInteger] + +Dafny program verifier finished with 2 verified, 0 errors +tst(x) { + return (x).plus(_dafny.ONE); + } +tst(x) { + return (x).plus(_dafny.ONE); + } + +Dafny program verifier finished with 2 verified, 0 errors +func(dafny.Int) dafny.Int +func(dafny.Int) dafny.Int + +Dafny program verifier finished with 2 verified, 0 errors +Function +Function diff --git a/Test/git-issues/git-issue-262.dfy.go.expect b/Test/git-issues/git-issue-262.dfy.go.expect deleted file mode 100644 index 578754c176c..00000000000 --- a/Test/git-issues/git-issue-262.dfy.go.expect +++ /dev/null @@ -1,2 +0,0 @@ -func(dafny.Int) dafny.Int -func(dafny.Int) dafny.Int diff --git a/Test/git-issues/git-issue-262.dfy.java.expect b/Test/git-issues/git-issue-262.dfy.java.expect deleted file mode 100644 index aa5478ef8c9..00000000000 --- a/Test/git-issues/git-issue-262.dfy.java.expect +++ /dev/null @@ -1,2 +0,0 @@ -Function -Function diff --git a/Test/git-issues/git-issue-262.dfy.js.expect b/Test/git-issues/git-issue-262.dfy.js.expect deleted file mode 100644 index e181ef2fef8..00000000000 --- a/Test/git-issues/git-issue-262.dfy.js.expect +++ /dev/null @@ -1,6 +0,0 @@ -tst(x) { - return (x).plus(_dafny.ONE); - } -tst(x) { - return (x).plus(_dafny.ONE); - } diff --git a/Test/git-issues/git-issue-267.dfy b/Test/git-issues/git-issue-267.dfy index 2b0b3281589..cef2fcc6c17 100644 --- a/Test/git-issues/git-issue-267.dfy +++ b/Test/git-issues/git-issue-267.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var c := 1; diff --git a/Test/git-issues/git-issue-267.dfy.expect b/Test/git-issues/git-issue-267.dfy.expect index cd7da05e3d2..d71aef2f440 100644 --- a/Test/git-issues/git-issue-267.dfy.expect +++ b/Test/git-issues/git-issue-267.dfy.expect @@ -1 +1,14 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification +210 + +Dafny program verifier did not attempt verification +210 + +Dafny program verifier did not attempt verification +210 + +Dafny program verifier did not attempt verification 210 diff --git a/Test/git-issues/git-issue-2672.dfy b/Test/git-issues/git-issue-2672.dfy index 52c5b9c638c..338299ee8b7 100644 --- a/Test/git-issues/git-issue-2672.dfy +++ b/Test/git-issues/git-issue-2672.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" newtype sreal = r: real | r > -4 as real newtype sint = r: int | r > -4 as int diff --git a/Test/git-issues/git-issue-2672.dfy.expect b/Test/git-issues/git-issue-2672.dfy.expect index 43440a83d53..c9c3244b6f4 100644 --- a/Test/git-issues/git-issue-2672.dfy.expect +++ b/Test/git-issues/git-issue-2672.dfy.expect @@ -1,3 +1,47 @@ + +Dafny program verifier finished with 5 verified, 0 errors + +Dafny program verifier did not attempt verification +true true true true true true true true true true +false false false false false false false false false false +false false false false false false false false false false +true true true true true true true true true true +true true true true true true true true true true +false false false false false false false false false false +true true true +false false false + +Dafny program verifier did not attempt verification +true true true true true true true true true true +false false false false false false false false false false +false false false false false false false false false false +true true true true true true true true true true +true true true true true true true true true true +false false false false false false false false false false +true true true +false false false + +Dafny program verifier did not attempt verification +true true true true true true true true true true +false false false false false false false false false false +false false false false false false false false false false +true true true true true true true true true true +true true true true true true true true true true +false false false false false false false false false false +true true true +false false false + +Dafny program verifier did not attempt verification +true true true true true true true true true true +false false false false false false false false false false +false false false false false false false false false false +true true true true true true true true true true +true true true true true true true true true true +false false false false false false false false false false +true true true +false false false + +Dafny program verifier did not attempt verification true true true true true true true true true true false false false false false false false false false false false false false false false false false false false false diff --git a/Test/git-issues/git-issue-2726a.dfy b/Test/git-issues/git-issue-2726a.dfy index a43d5dd0107..641fefbbdc4 100644 --- a/Test/git-issues/git-issue-2726a.dfy +++ b/Test/git-issues/git-issue-2726a.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /compileTarget:cs "%s" > "%t" +// RUN: %diff "%s.expect" "%t" const digits := ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"] diff --git a/Test/git-issues/git-issue-2726a.dfy.expect b/Test/git-issues/git-issue-2726a.dfy.expect index 8e1bedb2a64..6985935c88c 100644 --- a/Test/git-issues/git-issue-2726a.dfy.expect +++ b/Test/git-issues/git-issue-2726a.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 1 verified, 0 errors 4 42 422 diff --git a/Test/git-issues/git-issue-2733.dfy b/Test/git-issues/git-issue-2733.dfy index 65bc2b991fd..232eab3cc74 100644 --- a/Test/git-issues/git-issue-2733.dfy +++ b/Test/git-issues/git-issue-2733.dfy @@ -1,4 +1,11 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cpp "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { print "XYZ"; // Checks that no extra newline is added to the output diff --git a/Test/git-issues/git-issue-2733.dfy.expect b/Test/git-issues/git-issue-2733.dfy.expect index 77bf25132db..b139e2f3d58 100644 --- a/Test/git-issues/git-issue-2733.dfy.expect +++ b/Test/git-issues/git-issue-2733.dfy.expect @@ -1 +1,15 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification +XYZ +Dafny program verifier did not attempt verification +XYZ +Dafny program verifier did not attempt verification +XYZ +Dafny program verifier did not attempt verification +XYZ +Dafny program verifier did not attempt verification +XYZ +Dafny program verifier did not attempt verification XYZ \ No newline at end of file diff --git a/Test/git-issues/git-issue-2792.dfy b/Test/git-issues/git-issue-2792.dfy index d2fb9db2055..89e736667c0 100644 --- a/Test/git-issues/git-issue-2792.dfy +++ b/Test/git-issues/git-issue-2792.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /compileTarget:java "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Wrapper = Wrapper(s: seq) { diff --git a/Test/git-issues/git-issue-2792.dfy.expect b/Test/git-issues/git-issue-2792.dfy.expect index ca1683c3020..c1e603c58fe 100644 --- a/Test/git-issues/git-issue-2792.dfy.expect +++ b/Test/git-issues/git-issue-2792.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 0 verified, 0 errors [] Wrapper2.Wrapper2([], 2792) diff --git a/Test/git-issues/git-issue-283.dfy b/Test/git-issues/git-issue-283.dfy index 1ca6d48d32c..c7c10f4aea3 100644 --- a/Test/git-issues/git-issue-283.dfy +++ b/Test/git-issues/git-issue-283.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Result = | Success(value: T) diff --git a/Test/git-issues/git-issue-283.dfy.expect b/Test/git-issues/git-issue-283.dfy.expect index a965a70ed4e..2adb114b8a0 100644 --- a/Test/git-issues/git-issue-283.dfy.expect +++ b/Test/git-issues/git-issue-283.dfy.expect @@ -1 +1,14 @@ + +Dafny program verifier finished with 9 verified, 0 errors + +Dafny program verifier did not attempt verification +Done + +Dafny program verifier did not attempt verification +Done + +Dafny program verifier did not attempt verification +Done + +Dafny program verifier did not attempt verification Done diff --git a/Test/git-issues/git-issue-283d.dfy b/Test/git-issues/git-issue-283d.dfy index 46c1056d5e1..54ee58fb456 100644 --- a/Test/git-issues/git-issue-283d.dfy +++ b/Test/git-issues/git-issue-283d.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Foo = R(v: int) diff --git a/Test/git-issues/git-issue-283d.dfy.expect b/Test/git-issues/git-issue-283d.dfy.expect index e69de29bb2d..8da23be5c8c 100644 --- a/Test/git-issues/git-issue-283d.dfy.expect +++ b/Test/git-issues/git-issue-283d.dfy.expect @@ -0,0 +1,10 @@ + +Dafny program verifier finished with 4 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-314.dfy b/Test/git-issues/git-issue-314.dfy index a7fc06564a5..5e3e93ca654 100644 --- a/Test/git-issues/git-issue-314.dfy +++ b/Test/git-issues/git-issue-314.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype S = S(G: array) datatype T = T(F: array, ghost Repr: set) diff --git a/Test/git-issues/git-issue-314.dfy.expect b/Test/git-issues/git-issue-314.dfy.expect index e69de29bb2d..f02fc57989a 100644 --- a/Test/git-issues/git-issue-314.dfy.expect +++ b/Test/git-issues/git-issue-314.dfy.expect @@ -0,0 +1,10 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-332.dfy b/Test/git-issues/git-issue-332.dfy index 5166441405d..ca2b08f3e8d 100644 --- a/Test/git-issues/git-issue-332.dfy +++ b/Test/git-issues/git-issue-332.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var foo := new B.Foo(15); diff --git a/Test/git-issues/git-issue-332.dfy.expect b/Test/git-issues/git-issue-332.dfy.expect index 209e3ef4b62..57cad39addf 100644 --- a/Test/git-issues/git-issue-332.dfy.expect +++ b/Test/git-issues/git-issue-332.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 6 verified, 0 errors 20 diff --git a/Test/git-issues/git-issue-354.dfy b/Test/git-issues/git-issue-354.dfy index c3d63021209..5938c2f71ae 100644 --- a/Test/git-issues/git-issue-354.dfy +++ b/Test/git-issues/git-issue-354.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" class C { static const u: X diff --git a/Test/git-issues/git-issue-354.dfy.expect b/Test/git-issues/git-issue-354.dfy.expect index 4368562357f..cb5ae21dc46 100644 --- a/Test/git-issues/git-issue-354.dfy.expect +++ b/Test/git-issues/git-issue-354.dfy.expect @@ -1,3 +1,25 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification +0 +0 +0.0 +false + +Dafny program verifier did not attempt verification +0 +0 +0.0 +false + +Dafny program verifier did not attempt verification +0 +0 +0.0 +false + +Dafny program verifier did not attempt verification 0 0 0.0 diff --git a/Test/git-issues/git-issue-356.dfy b/Test/git-issues/git-issue-356.dfy index 2d497c0531c..f5c34b0803b 100644 --- a/Test/git-issues/git-issue-356.dfy +++ b/Test/git-issues/git-issue-356.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false +// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" module M { type Tx = i: int | 0 <= i <= 100 diff --git a/Test/git-issues/git-issue-356.dfy.expect b/Test/git-issues/git-issue-356.dfy.expect index 9d984ec4ef4..cff4ed233e1 100644 --- a/Test/git-issues/git-issue-356.dfy.expect +++ b/Test/git-issues/git-issue-356.dfy.expect @@ -1,3 +1,39 @@ + +Dafny program verifier finished with 25 verified, 0 errors + +Dafny program verifier did not attempt verification +a d 57005 * * +Z 90 90.0 90 90 +* 42 42.0 42 42 +F 70 70.0 70 70 +# 35 35.0 35 35 +END + +Dafny program verifier did not attempt verification +a d 57005 * * +Z 90 90.0 90 90 +* 42 42.0 42 42 +F 70 70.0 70 70 +# 35 35.0 35 35 +END + +Dafny program verifier did not attempt verification +a d 57005 * * +Z 90 90.0 90 90 +* 42 42.0 42 42 +F 70 70.0 70 70 +# 35 35.0 35 35 +END + +Dafny program verifier did not attempt verification +a d 57005 * * +Z 90 90.0 90 90 +* 42 42.0 42 42 +F 70 70.0 70 70 +# 35 35.0 35 35 +END + +Dafny program verifier did not attempt verification a d 57005 * * Z 90 90.0 90 90 * 42 42.0 42 42 diff --git a/Test/git-issues/git-issue-364.dfy b/Test/git-issues/git-issue-364.dfy index 68c75931746..0fdedc7d9c0 100644 --- a/Test/git-issues/git-issue-364.dfy +++ b/Test/git-issues/git-issue-364.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype NatOutcome = | Success(value: nat) diff --git a/Test/git-issues/git-issue-364.dfy.expect b/Test/git-issues/git-issue-364.dfy.expect index 38478c6c688..1368349d437 100644 --- a/Test/git-issues/git-issue-364.dfy.expect +++ b/Test/git-issues/git-issue-364.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 4 verified, 0 errors NatOutcome.Success(55) false 55 12 0 NatOutcome.Failure("it could be worse") true NatOutcome.Failure("it could be worse") diff --git a/Test/git-issues/git-issue-374.dfy b/Test/git-issues/git-issue-374.dfy index 15b56ec6396..4c031b7d3ff 100644 --- a/Test/git-issues/git-issue-374.dfy +++ b/Test/git-issues/git-issue-374.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" class C { constructor(ghost x: int) diff --git a/Test/git-issues/git-issue-374.dfy.expect b/Test/git-issues/git-issue-374.dfy.expect index e69de29bb2d..f02fc57989a 100644 --- a/Test/git-issues/git-issue-374.dfy.expect +++ b/Test/git-issues/git-issue-374.dfy.expect @@ -0,0 +1,10 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-396.dfy b/Test/git-issues/git-issue-396.dfy index 7866d3d0498..2ab68e51e12 100644 --- a/Test/git-issues/git-issue-396.dfy +++ b/Test/git-issues/git-issue-396.dfy @@ -1,4 +1,8 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" +// RUN: %dafny /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Foo = Bar(value: int) diff --git a/Test/git-issues/git-issue-396.dfy.expect b/Test/git-issues/git-issue-396.dfy.expect index dee79f10940..3dd340d3178 100644 --- a/Test/git-issues/git-issue-396.dfy.expect +++ b/Test/git-issues/git-issue-396.dfy.expect @@ -1 +1,12 @@ + +Dafny program verifier finished with 1 verified, 0 errors +114 + +Dafny program verifier finished with 1 verified, 0 errors +114 + +Dafny program verifier finished with 1 verified, 0 errors +114 + +Dafny program verifier finished with 1 verified, 0 errors 114 diff --git a/Test/git-issues/git-issue-4007.dfy b/Test/git-issues/git-issue-4007.dfy index 5a279e7b8e6..e4c25b82bb8 100644 --- a/Test/git-issues/git-issue-4007.dfy +++ b/Test/git-issues/git-issue-4007.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:4 /compileTarget:py "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var a := 0; @@ -6,4 +7,4 @@ method Main() { a := a + 1; } print a, "\n"; -} +} \ No newline at end of file diff --git a/Test/git-issues/git-issue-4007.dfy.expect b/Test/git-issues/git-issue-4007.dfy.expect index 00750edc07d..3ce6919d35b 100644 --- a/Test/git-issues/git-issue-4007.dfy.expect +++ b/Test/git-issues/git-issue-4007.dfy.expect @@ -1 +1,4 @@ +git-issue-4007.dfy(6,20): Warning: /!\ No terms found to trigger on. + +Dafny program verifier finished with 1 verified, 0 errors 3 diff --git a/Test/git-issues/git-issue-4007.dfy.verifier.expect b/Test/git-issues/git-issue-4007.dfy.verifier.expect deleted file mode 100644 index 1d4310d09b5..00000000000 --- a/Test/git-issues/git-issue-4007.dfy.verifier.expect +++ /dev/null @@ -1 +0,0 @@ -git-issue-4007.dfy(5,20): Warning: /!\ No terms found to trigger on. diff --git a/Test/git-issues/git-issue-4012.dfy b/Test/git-issues/git-issue-4012.dfy index 5360c0e935b..e065393a211 100644 --- a/Test/git-issues/git-issue-4012.dfy +++ b/Test/git-issues/git-issue-4012.dfy @@ -1,7 +1,8 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:4 /compileTarget:py "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var x: multiset := multiset{}; x := x[1 := 18446744073709551616]; print |x|, "\n"; -} +} \ No newline at end of file diff --git a/Test/git-issues/git-issue-4012.dfy.expect b/Test/git-issues/git-issue-4012.dfy.expect index ab69b99fab4..230fbdbd384 100644 --- a/Test/git-issues/git-issue-4012.dfy.expect +++ b/Test/git-issues/git-issue-4012.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 1 verified, 0 errors 18446744073709551616 diff --git a/Test/git-issues/git-issue-425.dfy b/Test/git-issues/git-issue-425.dfy index 122a10e4fbb..4e555daaed0 100644 --- a/Test/git-issues/git-issue-425.dfy +++ b/Test/git-issues/git-issue-425.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method M() returns (x: int, ghost y: int) { return 42, 43; diff --git a/Test/git-issues/git-issue-425.dfy.expect b/Test/git-issues/git-issue-425.dfy.expect index daaac9e3030..c2284013d9e 100644 --- a/Test/git-issues/git-issue-425.dfy.expect +++ b/Test/git-issues/git-issue-425.dfy.expect @@ -1,2 +1,18 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification +42 +42 + +Dafny program verifier did not attempt verification +42 +42 + +Dafny program verifier did not attempt verification +42 +42 + +Dafny program verifier did not attempt verification 42 42 diff --git a/Test/git-issues/git-issue-443.dfy b/Test/git-issues/git-issue-443.dfy index 6702e37484f..e8745b5ddda 100644 --- a/Test/git-issues/git-issue-443.dfy +++ b/Test/git-issues/git-issue-443.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { print F(), " ", G(802.11), "\n"; // 12 15 diff --git a/Test/git-issues/git-issue-443.dfy.expect b/Test/git-issues/git-issue-443.dfy.expect index 0b64712fdcf..10af01216da 100644 --- a/Test/git-issues/git-issue-443.dfy.expect +++ b/Test/git-issues/git-issue-443.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors 12 15 diff --git a/Test/git-issues/git-issue-446.dfy b/Test/git-issues/git-issue-446.dfy index a66a9272d18..0656587fd03 100644 --- a/Test/git-issues/git-issue-446.dfy +++ b/Test/git-issues/git-issue-446.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Result = Success(value: T) | Failure(error: string) { diff --git a/Test/git-issues/git-issue-446.dfy.expect b/Test/git-issues/git-issue-446.dfy.expect index 8165c2056d0..18195d22344 100644 --- a/Test/git-issues/git-issue-446.dfy.expect +++ b/Test/git-issues/git-issue-446.dfy.expect @@ -1,3 +1,22 @@ + +Dafny program verifier finished with 9 verified, 0 errors + +Dafny program verifier did not attempt verification +true -2 +true 42 +End + +Dafny program verifier did not attempt verification +true -2 +true 42 +End + +Dafny program verifier did not attempt verification +true -2 +true 42 +End + +Dafny program verifier did not attempt verification true -2 true 42 End diff --git a/Test/git-issues/git-issue-446a.dfy b/Test/git-issues/git-issue-446a.dfy index 2c559cea76d..41917680fee 100644 --- a/Test/git-issues/git-issue-446a.dfy +++ b/Test/git-issues/git-issue-446a.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Result = Success(value: T) | Failure(error: string) { diff --git a/Test/git-issues/git-issue-446a.dfy.expect b/Test/git-issues/git-issue-446a.dfy.expect index 9897e1c3f56..fbf9ee6f31d 100644 --- a/Test/git-issues/git-issue-446a.dfy.expect +++ b/Test/git-issues/git-issue-446a.dfy.expect @@ -1,3 +1,22 @@ + +Dafny program verifier finished with 9 verified, 0 errors + +Dafny program verifier did not attempt verification +OK +true OK +true -2 End + +Dafny program verifier did not attempt verification +OK +true OK +true -2 End + +Dafny program verifier did not attempt verification +OK +true OK +true -2 End + +Dafny program verifier did not attempt verification OK true OK true -2 End diff --git a/Test/git-issues/git-issue-446b.dfy b/Test/git-issues/git-issue-446b.dfy index 79e55d9a1f8..aa7ac30d9a7 100644 --- a/Test/git-issues/git-issue-446b.dfy +++ b/Test/git-issues/git-issue-446b.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Result = Success(value: T) | Failure(error: string) { diff --git a/Test/git-issues/git-issue-446b.dfy.expect b/Test/git-issues/git-issue-446b.dfy.expect index 36fdd8ba47b..0e99363fdb9 100644 --- a/Test/git-issues/git-issue-446b.dfy.expect +++ b/Test/git-issues/git-issue-446b.dfy.expect @@ -1,3 +1,28 @@ + +Dafny program verifier finished with 10 verified, 0 errors + +Dafny program verifier did not attempt verification +OK +true OK +true -2 +true 100 +End + +Dafny program verifier did not attempt verification +OK +true OK +true -2 +true 100 +End + +Dafny program verifier did not attempt verification +OK +true OK +true -2 +true 100 +End + +Dafny program verifier did not attempt verification OK true OK true -2 diff --git a/Test/git-issues/git-issue-478-good.dfy b/Test/git-issues/git-issue-478-good.dfy index 9abce41e97c..b3fab26a312 100644 --- a/Test/git-issues/git-issue-478-good.dfy +++ b/Test/git-issues/git-issue-478-good.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // By first defining import LibA and then defining a module LibA, // the latter used to generate: diff --git a/Test/git-issues/git-issue-478-good.dfy.expect b/Test/git-issues/git-issue-478-good.dfy.expect index 6807b84eba5..17aea610943 100644 --- a/Test/git-issues/git-issue-478-good.dfy.expect +++ b/Test/git-issues/git-issue-478-good.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 1 verified, 0 errors hello hello hi diff --git a/Test/git-issues/git-issue-506.dfy b/Test/git-issues/git-issue-506.dfy index b2a409951a1..d25596621de 100644 --- a/Test/git-issues/git-issue-506.dfy +++ b/Test/git-issues/git-issue-506.dfy @@ -1,4 +1,8 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" +// RUN: %dafny /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/git-issues/git-issue-506.dfy.expect b/Test/git-issues/git-issue-506.dfy.expect index ef2606ec5dc..e2bb6d644d9 100644 --- a/Test/git-issues/git-issue-506.dfy.expect +++ b/Test/git-issues/git-issue-506.dfy.expect @@ -1,3 +1,29 @@ + +Dafny program verifier finished with 2 verified, 0 errors +7 301 +8 391 +2 2 +4 5 +6 7 +2 3 7 0 + +Dafny program verifier finished with 2 verified, 0 errors +7 301 +8 391 +2 2 +4 5 +6 7 +2 3 7 0 + +Dafny program verifier finished with 2 verified, 0 errors +7 301 +8 391 +2 2 +4 5 +6 7 +2 3 7 0 + +Dafny program verifier finished with 2 verified, 0 errors 7 301 8 391 2 2 diff --git a/Test/git-issues/git-issue-532.dfy b/Test/git-issues/git-issue-532.dfy index 2a2b5aaaf2e..3d511dbb4c8 100644 --- a/Test/git-issues/git-issue-532.dfy +++ b/Test/git-issues/git-issue-532.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" predicate SuppressNoTriggerWarning(x: X) { true } diff --git a/Test/git-issues/git-issue-532.dfy.expect b/Test/git-issues/git-issue-532.dfy.expect index 0f3ef3de427..1bd9e82cc5a 100644 --- a/Test/git-issues/git-issue-532.dfy.expect +++ b/Test/git-issues/git-issue-532.dfy.expect @@ -1,3 +1,22 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification +t.x=5 The given Tr is a C, and c.y=6 +t.x=100 The given Tr is not a C +t.x=5 The given Tr is a C, and c.y=16 + +Dafny program verifier did not attempt verification +t.x=5 The given Tr is a C, and c.y=6 +t.x=100 The given Tr is not a C +t.x=5 The given Tr is a C, and c.y=16 + +Dafny program verifier did not attempt verification +t.x=5 The given Tr is a C, and c.y=6 +t.x=100 The given Tr is not a C +t.x=5 The given Tr is a C, and c.y=16 + +Dafny program verifier did not attempt verification t.x=5 The given Tr is a C, and c.y=6 t.x=100 The given Tr is not a C t.x=5 The given Tr is a C, and c.y=16 diff --git a/Test/git-issues/git-issue-549.dfy b/Test/git-issues/git-issue-549.dfy index d362a0bd039..2e5ab322f23 100644 --- a/Test/git-issues/git-issue-549.dfy +++ b/Test/git-issues/git-issue-549.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" trait T { function bar(): bv8 diff --git a/Test/git-issues/git-issue-549.dfy.expect b/Test/git-issues/git-issue-549.dfy.expect index 6e0790e778e..3ae509fee5e 100644 --- a/Test/git-issues/git-issue-549.dfy.expect +++ b/Test/git-issues/git-issue-549.dfy.expect @@ -1,2 +1,10 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification +bar() = 1 +bar() = 1 + +Dafny program verifier did not attempt verification bar() = 1 bar() = 1 diff --git a/Test/git-issues/git-issue-622$f.dfy b/Test/git-issues/git-issue-622$f.dfy index 2a7003e0f4e..fe4fdf38e03 100644 --- a/Test/git-issues/git-issue-622$f.dfy +++ b/Test/git-issues/git-issue-622$f.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:3 /compileTarget:java /spillTargetCode:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { } diff --git a/Test/git-issues/git-issue-622$f.dfy.expect b/Test/git-issues/git-issue-622$f.dfy.expect index e69de29bb2d..012f5b99379 100644 --- a/Test/git-issues/git-issue-622$f.dfy.expect +++ b/Test/git-issues/git-issue-622$f.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/git-issues/git-issue-684.dfy b/Test/git-issues/git-issue-684.dfy index 4c2b0a8fa02..b1fbd7ab036 100644 --- a/Test/git-issues/git-issue-684.dfy +++ b/Test/git-issues/git-issue-684.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Level1 = Level1(u:int) datatype Level2 = Level2(u:int, l:Level1) diff --git a/Test/git-issues/git-issue-684.dfy.expect b/Test/git-issues/git-issue-684.dfy.expect index e69de29bb2d..65d3b5d6635 100644 --- a/Test/git-issues/git-issue-684.dfy.expect +++ b/Test/git-issues/git-issue-684.dfy.expect @@ -0,0 +1,10 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-686.dfy b/Test/git-issues/git-issue-686.dfy index 9845ce2b027..bbc975200c8 100644 --- a/Test/git-issues/git-issue-686.dfy +++ b/Test/git-issues/git-issue-686.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype Color = Blue | Red diff --git a/Test/git-issues/git-issue-686.dfy.expect b/Test/git-issues/git-issue-686.dfy.expect index c12f8e66df2..f30b0581688 100644 --- a/Test/git-issues/git-issue-686.dfy.expect +++ b/Test/git-issues/git-issue-686.dfy.expect @@ -1 +1,24 @@ +git-issue-686.dfy(13,2): Warning: this branch is redundant +git-issue-686.dfy(21,2): Warning: this branch is redundant + +Dafny program verifier finished with 1 verified, 0 errors +git-issue-686.dfy(13,2): Warning: this branch is redundant +git-issue-686.dfy(21,2): Warning: this branch is redundant + +Dafny program verifier did not attempt verification +6 0 +git-issue-686.dfy(13,2): Warning: this branch is redundant +git-issue-686.dfy(21,2): Warning: this branch is redundant + +Dafny program verifier did not attempt verification +6 0 +git-issue-686.dfy(13,2): Warning: this branch is redundant +git-issue-686.dfy(21,2): Warning: this branch is redundant + +Dafny program verifier did not attempt verification +6 0 +git-issue-686.dfy(13,2): Warning: this branch is redundant +git-issue-686.dfy(21,2): Warning: this branch is redundant + +Dafny program verifier did not attempt verification 6 0 diff --git a/Test/git-issues/git-issue-686.dfy.verifier.expect b/Test/git-issues/git-issue-686.dfy.verifier.expect deleted file mode 100644 index 805bd55730c..00000000000 --- a/Test/git-issues/git-issue-686.dfy.verifier.expect +++ /dev/null @@ -1,2 +0,0 @@ -git-issue-686.dfy(8,2): Warning: this branch is redundant -git-issue-686.dfy(16,2): Warning: this branch is redundant diff --git a/Test/git-issues/git-issue-697.dfy b/Test/git-issues/git-issue-697.dfy index 23cce66dee7..095c1a02399 100644 --- a/Test/git-issues/git-issue-697.dfy +++ b/Test/git-issues/git-issue-697.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Cell = Cell(x: int) type EvenCell = c: Cell | c.x % 2 == 0 witness Cell(0) diff --git a/Test/git-issues/git-issue-697.dfy.expect b/Test/git-issues/git-issue-697.dfy.expect index f32a5804e29..188a72ebc36 100644 --- a/Test/git-issues/git-issue-697.dfy.expect +++ b/Test/git-issues/git-issue-697.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-697b.dfy b/Test/git-issues/git-issue-697b.dfy index cdb054d8d78..cfdd3fd0821 100644 --- a/Test/git-issues/git-issue-697b.dfy +++ b/Test/git-issues/git-issue-697b.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Cell = Cell(x: int) type EvenCell = c: Cell | c.x % 2 == 0 witness Cell(0) diff --git a/Test/git-issues/git-issue-697b.dfy.expect b/Test/git-issues/git-issue-697b.dfy.expect index 9c777ac6a0f..b355409912b 100644 --- a/Test/git-issues/git-issue-697b.dfy.expect +++ b/Test/git-issues/git-issue-697b.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors false 2 diff --git a/Test/git-issues/git-issue-697d.dfy b/Test/git-issues/git-issue-697d.dfy index 8b65c2da4f7..71a262fc985 100644 --- a/Test/git-issues/git-issue-697d.dfy +++ b/Test/git-issues/git-issue-697d.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" function nonGhostPredicate(x: int): bool { x % 2 == 0 diff --git a/Test/git-issues/git-issue-697d.dfy.expect b/Test/git-issues/git-issue-697d.dfy.expect index f32a5804e29..48fb59aeae5 100644 --- a/Test/git-issues/git-issue-697d.dfy.expect +++ b/Test/git-issues/git-issue-697d.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 4 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-697e.dfy b/Test/git-issues/git-issue-697e.dfy index 310851abf9a..e4500bfab28 100644 --- a/Test/git-issues/git-issue-697e.dfy +++ b/Test/git-issues/git-issue-697e.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Cell = Cell(x: int) type EvenCell = c: Cell | c.x % 2 == 0 witness Cell(0) diff --git a/Test/git-issues/git-issue-697e.dfy.expect b/Test/git-issues/git-issue-697e.dfy.expect index e69de29bb2d..00a51f822da 100644 --- a/Test/git-issues/git-issue-697e.dfy.expect +++ b/Test/git-issues/git-issue-697e.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 3 verified, 0 errors diff --git a/Test/git-issues/git-issue-697f.dfy b/Test/git-issues/git-issue-697f.dfy index acb8810dfbf..92d1cec2ed8 100644 --- a/Test/git-issues/git-issue-697f.dfy +++ b/Test/git-issues/git-issue-697f.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" ghost function ghostPredicate(x: int): bool { x % 2 == 0 diff --git a/Test/git-issues/git-issue-697f.dfy.expect b/Test/git-issues/git-issue-697f.dfy.expect index b5754e20373..3e2cf8d0f69 100644 --- a/Test/git-issues/git-issue-697f.dfy.expect +++ b/Test/git-issues/git-issue-697f.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 4 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-697g.dfy b/Test/git-issues/git-issue-697g.dfy index 7b30de7f3a0..c3b7581ff61 100644 --- a/Test/git-issues/git-issue-697g.dfy +++ b/Test/git-issues/git-issue-697g.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" function returnNat(c: nat): int { diff --git a/Test/git-issues/git-issue-697g.dfy.expect b/Test/git-issues/git-issue-697g.dfy.expect index f32a5804e29..d9157fa820a 100644 --- a/Test/git-issues/git-issue-697g.dfy.expect +++ b/Test/git-issues/git-issue-697g.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 2 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-698.dfy b/Test/git-issues/git-issue-698.dfy index 7b7a9ca15b8..b15295c9b46 100644 --- a/Test/git-issues/git-issue-698.dfy +++ b/Test/git-issues/git-issue-698.dfy @@ -1,4 +1,7 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" type Small = x: int | 0 <= x < 100 && x != 3 diff --git a/Test/git-issues/git-issue-698.dfy.expect b/Test/git-issues/git-issue-698.dfy.expect index 27ba77ddaf6..7f965a65d2e 100644 --- a/Test/git-issues/git-issue-698.dfy.expect +++ b/Test/git-issues/git-issue-698.dfy.expect @@ -1 +1,8 @@ + +Dafny program verifier finished with 3 verified, 0 errors + +Dafny program verifier did not attempt verification +true + +Dafny program verifier did not attempt verification true diff --git a/Test/git-issues/git-issue-698b.dfy b/Test/git-issues/git-issue-698b.dfy index dbdbc3b36d3..1d4a92456e6 100644 --- a/Test/git-issues/git-issue-698b.dfy +++ b/Test/git-issues/git-issue-698b.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" type Small = x: int | 0 <= x < 100 && x != 3 @@ -12,4 +13,4 @@ method Main() { var b := !exists n: Small :: F(n) != 100; assert b; print b; -} +} \ No newline at end of file diff --git a/Test/git-issues/git-issue-698b.dfy.expect b/Test/git-issues/git-issue-698b.dfy.expect index f32a5804e29..188a72ebc36 100644 --- a/Test/git-issues/git-issue-698b.dfy.expect +++ b/Test/git-issues/git-issue-698b.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-701.dfy b/Test/git-issues/git-issue-701.dfy index 38984df4ecf..af19f0d89e2 100644 --- a/Test/git-issues/git-issue-701.dfy +++ b/Test/git-issues/git-issue-701.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { var ca := new ClassA; diff --git a/Test/git-issues/git-issue-701.dfy.expect b/Test/git-issues/git-issue-701.dfy.expect index 5198c09cbb1..4d20966e641 100644 --- a/Test/git-issues/git-issue-701.dfy.expect +++ b/Test/git-issues/git-issue-701.dfy.expect @@ -1,3 +1,22 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification +0 0 0 +[] [] [] +C.Nothing C.Nothing C.Nothing + +Dafny program verifier did not attempt verification +0 0 0 +[] [] [] +C.Nothing C.Nothing C.Nothing + +Dafny program verifier did not attempt verification +0 0 0 +[] [] [] +C.Nothing C.Nothing C.Nothing + +Dafny program verifier did not attempt verification 0 0 0 [] [] [] C.Nothing C.Nothing C.Nothing diff --git a/Test/git-issues/git-issue-705.dfy b/Test/git-issues/git-issue-705.dfy index 9c36a336e8e..d4b806800c2 100644 --- a/Test/git-issues/git-issue-705.dfy +++ b/Test/git-issues/git-issue-705.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs /spillTargetCode:3 "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js /spillTargetCode:3 "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go /spillTargetCode:3 "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java /spillTargetCode:3 "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype MyDataType = AAA { function toString(): int { 222 } diff --git a/Test/git-issues/git-issue-705.dfy.expect b/Test/git-issues/git-issue-705.dfy.expect index 79a1eee7c74..02cf409667a 100644 --- a/Test/git-issues/git-issue-705.dfy.expect +++ b/Test/git-issues/git-issue-705.dfy.expect @@ -1 +1,14 @@ + +Dafny program verifier finished with 0 verified, 0 errors + +Dafny program verifier did not attempt verification +MyDataType.AAA 222 + +Dafny program verifier did not attempt verification +MyDataType.AAA 222 + +Dafny program verifier did not attempt verification +MyDataType.AAA 222 + +Dafny program verifier did not attempt verification MyDataType.AAA 222 diff --git a/Test/git-issues/git-issue-731.dfy b/Test/git-issues/git-issue-731.dfy index 348d40fecea..05d02fea1af 100644 --- a/Test/git-issues/git-issue-731.dfy +++ b/Test/git-issues/git-issue-731.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" trait Trait { const y: Y diff --git a/Test/git-issues/git-issue-731.dfy.expect b/Test/git-issues/git-issue-731.dfy.expect index 7554a44901e..69b2e6af648 100644 --- a/Test/git-issues/git-issue-731.dfy.expect +++ b/Test/git-issues/git-issue-731.dfy.expect @@ -1,2 +1,18 @@ + +Dafny program verifier finished with 3 verified, 0 errors + +Dafny program verifier did not attempt verification +0 0 0 42 +0 0 0 9 + +Dafny program verifier did not attempt verification +0 0 0 42 +0 0 0 9 + +Dafny program verifier did not attempt verification +0 0 0 42 +0 0 0 9 + +Dafny program verifier did not attempt verification 0 0 0 42 0 0 0 9 diff --git a/Test/git-issues/git-issue-731b.dfy b/Test/git-issues/git-issue-731b.dfy index 2a0507839a2..a77dbd6323b 100644 --- a/Test/git-issues/git-issue-731b.dfy +++ b/Test/git-issues/git-issue-731b.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" // Testing issue#731 when the class in question has type parameters diff --git a/Test/git-issues/git-issue-731b.dfy.expect b/Test/git-issues/git-issue-731b.dfy.expect index dd3226d2b73..97e6c041920 100644 --- a/Test/git-issues/git-issue-731b.dfy.expect +++ b/Test/git-issues/git-issue-731b.dfy.expect @@ -1 +1,14 @@ + +Dafny program verifier finished with 2 verified, 0 errors + +Dafny program verifier did not attempt verification +0 42 + +Dafny program verifier did not attempt verification +0 42 + +Dafny program verifier did not attempt verification +0 42 + +Dafny program verifier did not attempt verification 0 42 diff --git a/Test/git-issues/git-issue-784.dfy b/Test/git-issues/git-issue-784.dfy index 5f6cf59465c..78b83f01064 100644 --- a/Test/git-issues/git-issue-784.dfy +++ b/Test/git-issues/git-issue-784.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" datatype List = Nil | Cons(T, List) { function App(ys: List): List { diff --git a/Test/git-issues/git-issue-784.dfy.expect b/Test/git-issues/git-issue-784.dfy.expect index e69de29bb2d..8da23be5c8c 100644 --- a/Test/git-issues/git-issue-784.dfy.expect +++ b/Test/git-issues/git-issue-784.dfy.expect @@ -0,0 +1,10 @@ + +Dafny program verifier finished with 4 verified, 0 errors + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification + +Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-953.dfy b/Test/git-issues/git-issue-953.dfy index 9c14e6e4e98..adebc946c35 100644 --- a/Test/git-issues/git-issue-953.dfy +++ b/Test/git-issues/git-issue-953.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" module P { datatype T_ = T() // the underscore in this name once caused a problem in Java compilation diff --git a/Test/git-issues/git-issue-953.dfy.expect b/Test/git-issues/git-issue-953.dfy.expect index 8eec6126a08..8466ea62f3f 100644 --- a/Test/git-issues/git-issue-953.dfy.expect +++ b/Test/git-issues/git-issue-953.dfy.expect @@ -1,3 +1,39 @@ + +Dafny program verifier finished with 6 verified, 0 errors + +Dafny program verifier did not attempt verification +C1.T_.T +P.T_.T +OtherNamesWithSpecialCharacters?_.A?_.A?_ OtherNamesWithSpecialCharacters?_.B?_.B?_ +17 17 0 0 +C2.C.C(10, 11) +9 + +Dafny program verifier did not attempt verification +C1.T_.T +P.T_.T +OtherNamesWithSpecialCharacters?_.A?_.A?_ OtherNamesWithSpecialCharacters?_.B?_.B?_ +17 17 0 0 +C2.C.C(10, 11) +9 + +Dafny program verifier did not attempt verification +C1.T_.T +P.T_.T +OtherNamesWithSpecialCharacters?_.A?_.A?_ OtherNamesWithSpecialCharacters?_.B?_.B?_ +17 17 0 0 +C2.C.C(10, 11) +9 + +Dafny program verifier did not attempt verification +C1.T_.T +P.T_.T +OtherNamesWithSpecialCharacters?_.A?_.A?_ OtherNamesWithSpecialCharacters?_.B?_.B?_ +17 17 0 0 +C2.C.C(10, 11) +9 + +Dafny program verifier did not attempt verification C1.T_.T P.T_.T OtherNamesWithSpecialCharacters?_.A?_.A?_ OtherNamesWithSpecialCharacters?_.B?_.B?_ diff --git a/Test/git-issues/github-issue-3343.dfy b/Test/git-issues/github-issue-3343.dfy index d518b2a1a41..517a11d7fc1 100644 --- a/Test/git-issues/github-issue-3343.dfy +++ b/Test/git-issues/github-issue-3343.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" +// RUN: %baredafny run "%s" -t:java > "%t" +// RUN: %diff "%s.expect" "%t" method Bug() { var zero := 0; var a := new int[zero] []; diff --git a/Test/git-issues/github-issue-3343.dfy.expect b/Test/git-issues/github-issue-3343.dfy.expect index e69de29bb2d..823a60a105c 100644 --- a/Test/git-issues/github-issue-3343.dfy.expect +++ b/Test/git-issues/github-issue-3343.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 1 verified, 0 errors diff --git a/Test/hofs/Compilation.dfy b/Test/hofs/Compilation.dfy index 7e9c674b495..99fd0a36506 100644 --- a/Test/hofs/Compilation.dfy +++ b/Test/hofs/Compilation.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" class Ref { var val : A diff --git a/Test/hofs/Compilation.dfy.expect b/Test/hofs/Compilation.dfy.expect index 6b7187d2557..760fafc6189 100644 --- a/Test/hofs/Compilation.dfy.expect +++ b/Test/hofs/Compilation.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 2 verified, 0 errors 1 = 1 3 = 3 3 = 3 diff --git a/Test/hofs/Examples.dfy b/Test/hofs/Examples.dfy index bebda559221..cdf177c001f 100644 --- a/Test/hofs/Examples.dfy +++ b/Test/hofs/Examples.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" function Apply(f: A ~> B, x: A): B reads f.reads(x) diff --git a/Test/hofs/Examples.dfy.expect b/Test/hofs/Examples.dfy.expect index e69de29bb2d..851aaf58286 100644 --- a/Test/hofs/Examples.dfy.expect +++ b/Test/hofs/Examples.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 7 verified, 0 errors diff --git a/Test/hofs/Fold.dfy b/Test/hofs/Fold.dfy index 96ddb01591f..336f9121b52 100644 --- a/Test/hofs/Fold.dfy +++ b/Test/hofs/Fold.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype List = Nil | Cons(A,List) diff --git a/Test/hofs/Fold.dfy.expect b/Test/hofs/Fold.dfy.expect index 3abcc310618..144ffab92db 100644 --- a/Test/hofs/Fold.dfy.expect +++ b/Test/hofs/Fold.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 3 verified, 0 errors 3 = 3 diff --git a/Test/hofs/Renaming.dfy b/Test/hofs/Renaming.dfy index 391c0e79ef6..cf21fdba2f8 100644 --- a/Test/hofs/Renaming.dfy +++ b/Test/hofs/Renaming.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" function OnId(f : (bool -> bool) -> int) : int reads f.reads(x => x) diff --git a/Test/hofs/Renaming.dfy.expect b/Test/hofs/Renaming.dfy.expect index 13a954d9043..e2b6636dbe4 100644 --- a/Test/hofs/Renaming.dfy.expect +++ b/Test/hofs/Renaming.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 4 verified, 0 errors 10 11 diff --git a/Test/hofs/Requires.dfy b/Test/hofs/Requires.dfy index f5e51244184..de5944b6744 100644 --- a/Test/hofs/Requires.dfy +++ b/Test/hofs/Requires.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { diff --git a/Test/hofs/Requires.dfy.expect b/Test/hofs/Requires.dfy.expect index e69de29bb2d..1981561ca00 100644 --- a/Test/hofs/Requires.dfy.expect +++ b/Test/hofs/Requires.dfy.expect @@ -0,0 +1,2 @@ + +Dafny program verifier finished with 10 verified, 0 errors diff --git a/Test/hofs/TreeMapSimple.dfy b/Test/hofs/TreeMapSimple.dfy index b7baf6eb8d7..d93aea46403 100644 --- a/Test/hofs/TreeMapSimple.dfy +++ b/Test/hofs/TreeMapSimple.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" method Main() { TestY(); diff --git a/Test/hofs/TreeMapSimple.dfy.expect b/Test/hofs/TreeMapSimple.dfy.expect index be0317f1016..9224d605f7e 100644 --- a/Test/hofs/TreeMapSimple.dfy.expect +++ b/Test/hofs/TreeMapSimple.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 11 verified, 0 errors Tree.Branch(100, List.Cons(Tree.Branch(50, List.Nil), List.Nil)) Tree.Branch(100, List.Cons(Tree.Branch(50, List.Nil), List.Nil)) diff --git a/Test/hofs/VectorUpdate.dfy b/Test/hofs/VectorUpdate.dfy index 70c0de3084e..848ed585ca6 100644 --- a/Test/hofs/VectorUpdate.dfy +++ b/Test/hofs/VectorUpdate.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" // this is a rather verbose version of the VectorUpdate method method VectorUpdate(N: int, a : array, f : (int,A) ~> A) diff --git a/Test/hofs/VectorUpdate.dfy.expect b/Test/hofs/VectorUpdate.dfy.expect index 7645f125857..b8fae39eab8 100644 --- a/Test/hofs/VectorUpdate.dfy.expect +++ b/Test/hofs/VectorUpdate.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 8 verified, 0 errors 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 100, 50, 33, 25, 20, 16, 14, 12, 11, 10 diff --git a/Test/hofs/WhileLoop.dfy b/Test/hofs/WhileLoop.dfy index 914f47f4522..4af9fbd841b 100644 --- a/Test/hofs/WhileLoop.dfy +++ b/Test/hofs/WhileLoop.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" class Ref { var val: A diff --git a/Test/hofs/WhileLoop.dfy.expect b/Test/hofs/WhileLoop.dfy.expect index 83083b451e1..234ac298c9b 100644 --- a/Test/hofs/WhileLoop.dfy.expect +++ b/Test/hofs/WhileLoop.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 4 verified, 0 errors 22 22 22 diff --git a/Test/metatests/OutputEncoding.dfy b/Test/metatests/OutputEncoding.dfy index 59fa53bf298..68c390ac811 100644 --- a/Test/metatests/OutputEncoding.dfy +++ b/Test/metatests/OutputEncoding.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" +// RUN: %baredafny verify %args "%s" > "%t" +// RUN: %baredafny run --no-verify --target=cs %args "%s" >> "%t" +// RUN: %baredafny run --no-verify --target=js %args "%s" >> "%t" +// RUN: %baredafny run --no-verify --target=go %args "%s" >> "%t" +// RUN: %baredafny run --no-verify --target=py %args "%s" >> "%t" +// RUN: %baredafny run --no-verify --target=java %args "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" method Main() { // This works fine in all languages because € is a single UTF-16 code unit. diff --git a/Test/metatests/OutputEncoding.dfy.expect b/Test/metatests/OutputEncoding.dfy.expect index b25a57298f1..a37241376f3 100644 --- a/Test/metatests/OutputEncoding.dfy.expect +++ b/Test/metatests/OutputEncoding.dfy.expect @@ -1 +1,17 @@ + +Dafny program verifier finished with 1 verified, 0 errors + +Dafny program verifier did not attempt verification +Euro sign: € + +Dafny program verifier did not attempt verification +Euro sign: € + +Dafny program verifier did not attempt verification +Euro sign: € + +Dafny program verifier did not attempt verification +Euro sign: € + +Dafny program verifier did not attempt verification Euro sign: € diff --git a/Test/patterns/OrPatterns.dfy b/Test/patterns/OrPatterns.dfy index 6385bd55c93..4f2610c9379 100644 --- a/Test/patterns/OrPatterns.dfy +++ b/Test/patterns/OrPatterns.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /rprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" datatype Enum = One | Two | Three { predicate Even() { diff --git a/Test/patterns/OrPatterns.dfy.expect b/Test/patterns/OrPatterns.dfy.expect index d86bac9de59..a6fce7c4a13 100644 --- a/Test/patterns/OrPatterns.dfy.expect +++ b/Test/patterns/OrPatterns.dfy.expect @@ -1 +1,3 @@ + +Dafny program verifier finished with 11 verified, 0 errors OK diff --git a/Test/patterns/PatternMatching.dfy b/Test/patterns/PatternMatching.dfy index e8a73b856e4..477126c066a 100644 --- a/Test/patterns/PatternMatching.dfy +++ b/Test/patterns/PatternMatching.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 "%s" > "%t" +// RUN: %diff "%s.expect" "%t" /* * This file contains a collection of tests for features modified or introduced in PR 458 @@ -221,4 +222,4 @@ method Main() { var r5 := MultipleNestedMatch(A(0), t4, bb); print "Testing MultipleNestedMatch: ", r0, r1, r2, r3, r4, r5, ", should return 012345\n"; -} +} \ No newline at end of file diff --git a/Test/patterns/PatternMatching.dfy.expect b/Test/patterns/PatternMatching.dfy.expect index b4415971ca5..2970273cbfc 100644 --- a/Test/patterns/PatternMatching.dfy.expect +++ b/Test/patterns/PatternMatching.dfy.expect @@ -1,3 +1,6 @@ +PatternMatching.dfy(102,4): Warning: this branch is redundant + +Dafny program verifier finished with 9 verified, 0 errors NestingTest([6]) = 6, should return 6 NestedVariableTest([2::3::4::5::6]) = 0, should return 0 ConstantTest([3::4::5::6]) = 2, should return 2 diff --git a/Test/patterns/PatternMatching.dfy.verifier.expect b/Test/patterns/PatternMatching.dfy.verifier.expect deleted file mode 100644 index b486aadfb80..00000000000 --- a/Test/patterns/PatternMatching.dfy.verifier.expect +++ /dev/null @@ -1 +0,0 @@ -PatternMatching.dfy(101,4): Warning: this branch is redundant diff --git a/Test/traits/TraitCompile.dfy b/Test/traits/TraitCompile.dfy index 6e9b925fbc5..03cf3746c6f 100644 --- a/Test/traits/TraitCompile.dfy +++ b/Test/traits/TraitCompile.dfy @@ -1,4 +1,10 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:0 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" trait TT { @@ -814,4 +820,4 @@ module RedeclaringMembers { true } } -} +} \ No newline at end of file diff --git a/Test/traits/TraitCompile.dfy.expect b/Test/traits/TraitCompile.dfy.expect index b70a9b09d2e..8257b754de2 100644 --- a/Test/traits/TraitCompile.dfy.expect +++ b/Test/traits/TraitCompile.dfy.expect @@ -1,3 +1,259 @@ + +Dafny program verifier finished with 75 verified, 0 errors + +Dafny program verifier did not attempt verification +y=120 +x=12 +d=800 +a5=407 +t=1212 +z=30 +z'=30 +w=30 +d=1000 +a5=507 +t=1512 +t=1512 +t=1515 +This is OtherModule.P(7.0) +From OtherModule.Y: 7 and true +This is OtherModule.P(7.0) +From OtherModule.X: 7 and true +c.f= 15 j.f= 15 +c.f= 18 j.f= 18 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +x=126 +5.2 9 false +true true true true +false false false false +true true true true +false false false false +5.2 5.2 +1.2 1.2 +1.2 1.2 +15 30 +15 30 +15 30 +0 (0, 0) 0 +8 +0 0 0 0 0 0 0 0 0 0 0 0 +13 13 13 13 13 13 13 13 13 13 13 13 +14 14 14 14 14 14 14 14 14 14 14 14 +15 15 15 15 15 15 15 15 15 15 15 15 +16 16 16 16 16 16 16 16 16 16 16 16 +17 17 17 17 17 17 17 17 17 17 17 17 +18 18 18 18 18 18 18 18 18 18 18 18 +19 19 19 19 19 19 19 19 19 19 19 19 +20 20 20 20 20 20 20 20 20 20 20 20 +21 21 21 21 21 21 21 21 21 21 21 21 +22 22 22 22 22 22 22 22 22 22 22 22 +23 23 23 23 23 23 23 23 23 23 23 23 +24 24 24 24 24 24 24 24 24 24 24 24 +f(4) = 7 +f(4) = 7 +g(4) = 7 +g(4) = 7 +41 15 26 +true true +true true +true true +true true +true true true +true true true + +Dafny program verifier did not attempt verification +y=120 +x=12 +d=800 +a5=407 +t=1212 +z=30 +z'=30 +w=30 +d=1000 +a5=507 +t=1512 +t=1512 +t=1515 +This is OtherModule.P(7.0) +From OtherModule.Y: 7 and true +This is OtherModule.P(7.0) +From OtherModule.X: 7 and true +c.f= 15 j.f= 15 +c.f= 18 j.f= 18 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +x=126 +5.2 9 false +true true true true +false false false false +true true true true +false false false false +5.2 5.2 +1.2 1.2 +1.2 1.2 +15 30 +15 30 +15 30 +0 (0, 0) 0 +8 +0 0 0 0 0 0 0 0 0 0 0 0 +13 13 13 13 13 13 13 13 13 13 13 13 +14 14 14 14 14 14 14 14 14 14 14 14 +15 15 15 15 15 15 15 15 15 15 15 15 +16 16 16 16 16 16 16 16 16 16 16 16 +17 17 17 17 17 17 17 17 17 17 17 17 +18 18 18 18 18 18 18 18 18 18 18 18 +19 19 19 19 19 19 19 19 19 19 19 19 +20 20 20 20 20 20 20 20 20 20 20 20 +21 21 21 21 21 21 21 21 21 21 21 21 +22 22 22 22 22 22 22 22 22 22 22 22 +23 23 23 23 23 23 23 23 23 23 23 23 +24 24 24 24 24 24 24 24 24 24 24 24 +f(4) = 7 +f(4) = 7 +g(4) = 7 +g(4) = 7 +41 15 26 +true true +true true +true true +true true +true true true +true true true + +Dafny program verifier did not attempt verification +y=120 +x=12 +d=800 +a5=407 +t=1212 +z=30 +z'=30 +w=30 +d=1000 +a5=507 +t=1512 +t=1512 +t=1515 +This is OtherModule.P(7.0) +From OtherModule.Y: 7 and true +This is OtherModule.P(7.0) +From OtherModule.X: 7 and true +c.f= 15 j.f= 15 +c.f= 18 j.f= 18 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +x=126 +5.2 9 false +true true true true +false false false false +true true true true +false false false false +5.2 5.2 +1.2 1.2 +1.2 1.2 +15 30 +15 30 +15 30 +0 (0, 0) 0 +8 +0 0 0 0 0 0 0 0 0 0 0 0 +13 13 13 13 13 13 13 13 13 13 13 13 +14 14 14 14 14 14 14 14 14 14 14 14 +15 15 15 15 15 15 15 15 15 15 15 15 +16 16 16 16 16 16 16 16 16 16 16 16 +17 17 17 17 17 17 17 17 17 17 17 17 +18 18 18 18 18 18 18 18 18 18 18 18 +19 19 19 19 19 19 19 19 19 19 19 19 +20 20 20 20 20 20 20 20 20 20 20 20 +21 21 21 21 21 21 21 21 21 21 21 21 +22 22 22 22 22 22 22 22 22 22 22 22 +23 23 23 23 23 23 23 23 23 23 23 23 +24 24 24 24 24 24 24 24 24 24 24 24 +f(4) = 7 +f(4) = 7 +g(4) = 7 +g(4) = 7 +41 15 26 +true true +true true +true true +true true +true true true +true true true + +Dafny program verifier did not attempt verification +y=120 +x=12 +d=800 +a5=407 +t=1212 +z=30 +z'=30 +w=30 +d=1000 +a5=507 +t=1512 +t=1512 +t=1515 +This is OtherModule.P(7.0) +From OtherModule.Y: 7 and true +This is OtherModule.P(7.0) +From OtherModule.X: 7 and true +c.f= 15 j.f= 15 +c.f= 18 j.f= 18 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +23 101 0 52 52 12 53 5 5 5 5 +12 33 34 18.8 +x=126 +5.2 9 false +true true true true +false false false false +true true true true +false false false false +5.2 5.2 +1.2 1.2 +1.2 1.2 +15 30 +15 30 +15 30 +0 (0, 0) 0 +8 +0 0 0 0 0 0 0 0 0 0 0 0 +13 13 13 13 13 13 13 13 13 13 13 13 +14 14 14 14 14 14 14 14 14 14 14 14 +15 15 15 15 15 15 15 15 15 15 15 15 +16 16 16 16 16 16 16 16 16 16 16 16 +17 17 17 17 17 17 17 17 17 17 17 17 +18 18 18 18 18 18 18 18 18 18 18 18 +19 19 19 19 19 19 19 19 19 19 19 19 +20 20 20 20 20 20 20 20 20 20 20 20 +21 21 21 21 21 21 21 21 21 21 21 21 +22 22 22 22 22 22 22 22 22 22 22 22 +23 23 23 23 23 23 23 23 23 23 23 23 +24 24 24 24 24 24 24 24 24 24 24 24 +f(4) = 7 +f(4) = 7 +g(4) = 7 +g(4) = 7 +41 15 26 +true true +true true +true true +true true +true true true +true true true + +Dafny program verifier did not attempt verification y=120 x=12 d=800 diff --git a/Test/traits/TraitExample.dfy b/Test/traits/TraitExample.dfy index 54c5cbbec6f..d6afb4ce70b 100644 --- a/Test/traits/TraitExample.dfy +++ b/Test/traits/TraitExample.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" trait Automobile { ghost var Repr: set diff --git a/Test/traits/TraitExample.dfy.expect b/Test/traits/TraitExample.dfy.expect index b9783e62141..c1b4ac93962 100644 --- a/Test/traits/TraitExample.dfy.expect +++ b/Test/traits/TraitExample.dfy.expect @@ -1,3 +1,5 @@ + +Dafny program verifier finished with 29 verified, 0 errors Fiat: 6 Volvo: 20 Catacar: 26 diff --git a/Test/traits/Traits-Fields.dfy b/Test/traits/Traits-Fields.dfy index 6ae1aaab6d9..2da609c33c8 100644 --- a/Test/traits/Traits-Fields.dfy +++ b/Test/traits/Traits-Fields.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" trait J { diff --git a/Test/traits/Traits-Fields.dfy.expect b/Test/traits/Traits-Fields.dfy.expect index c39bd8b5d5d..cc460fc52f4 100644 --- a/Test/traits/Traits-Fields.dfy.expect +++ b/Test/traits/Traits-Fields.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 2 verified, 0 errors j.x = 9 c.x = 9 diff --git a/Test/traits/TraitsMultipleInheritance.dfy b/Test/traits/TraitsMultipleInheritance.dfy index 67fd8673488..12590e47828 100644 --- a/Test/traits/TraitsMultipleInheritance.dfy +++ b/Test/traits/TraitsMultipleInheritance.dfy @@ -1,4 +1,5 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment +// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" +// RUN: %diff "%s.expect" "%t" trait J1{ var x: int diff --git a/Test/traits/TraitsMultipleInheritance.dfy.expect b/Test/traits/TraitsMultipleInheritance.dfy.expect index b116b2d070d..ad1a1011a25 100644 --- a/Test/traits/TraitsMultipleInheritance.dfy.expect +++ b/Test/traits/TraitsMultipleInheritance.dfy.expect @@ -1,2 +1,4 @@ + +Dafny program verifier finished with 1 verified, 0 errors c.x + c.y = 30 j1.x + j2.y = 30 diff --git a/Test/unicodechars/comp/Collections.dfy b/Test/unicodechars/comp/Collections.dfy index 14d241ed5ab..fb3e451eb83 100644 --- a/Test/unicodechars/comp/Collections.dfy +++ b/Test/unicodechars/comp/Collections.dfy @@ -1,3 +1,8 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:true --verify-included-files +// RUN: %dafny /compile:0 /verifyAllModules /unicodeChar:1 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" include "../../comp/Collections.dfy" diff --git a/Test/unicodechars/comp/Collections.dfy.expect b/Test/unicodechars/comp/Collections.dfy.expect index 89f08b08d75..70586502b0d 100644 --- a/Test/unicodechars/comp/Collections.dfy.expect +++ b/Test/unicodechars/comp/Collections.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 40 verified, 0 errors + +Dafny program verifier did not attempt verification Sets: {} {17, 82} {12, 17} cardinality: 0 2 2 union: {17, 82} {12, 17, 82} @@ -123,3 +127,511 @@ Multiset=== 1 3 |s|=2 |u|=4 1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Yellow := 21, Color.Blue := 30] +keys: {Color.Yellow, Color.Blue} +values: {21, 30} +items: {(Color.Yellow, 21), (Color.Blue, 30)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 + +Dafny program verifier did not attempt verification +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {21, 30} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.go.expect b/Test/unicodechars/comp/Collections.dfy.go.expect deleted file mode 100644 index 2fc0f3b7093..00000000000 --- a/Test/unicodechars/comp/Collections.dfy.go.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.java.expect b/Test/unicodechars/comp/Collections.dfy.java.expect deleted file mode 100644 index 39975cadfc4..00000000000 --- a/Test/unicodechars/comp/Collections.dfy.java.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Yellow := 21, Color.Blue := 30] -keys: {Color.Yellow, Color.Blue} -values: {21, 30} -items: {(Color.Yellow, 21), (Color.Blue, 30)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.js.expect b/Test/unicodechars/comp/Collections.dfy.js.expect deleted file mode 100644 index 2fc0f3b7093..00000000000 --- a/Test/unicodechars/comp/Collections.dfy.js.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.py.expect b/Test/unicodechars/comp/Collections.dfy.py.expect deleted file mode 100644 index e4e346dede0..00000000000 --- a/Test/unicodechars/comp/Collections.dfy.py.expect +++ /dev/null @@ -1,125 +0,0 @@ -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {21, 30} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/unicodechars/comp/Comprehensions.dfy b/Test/unicodechars/comp/Comprehensions.dfy index 8bd5f67525e..274f8d3a150 100644 --- a/Test/unicodechars/comp/Comprehensions.dfy +++ b/Test/unicodechars/comp/Comprehensions.dfy @@ -1,3 +1,8 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:true --verify-included-files -include "../../comp/Comprehensions.dfy" +// RUN: %dafny /compile:0 /unicodeChar:1 /verifyAllModules "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" +include "../../comp/Comprehensions.dfy" \ No newline at end of file diff --git a/Test/unicodechars/comp/Comprehensions.dfy.expect b/Test/unicodechars/comp/Comprehensions.dfy.expect index c9703fc9397..18159ddde0a 100644 --- a/Test/unicodechars/comp/Comprehensions.dfy.expect +++ b/Test/unicodechars/comp/Comprehensions.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 32 verified, 0 errors + +Dafny program verifier did not attempt verification x=13 y=14 x=13 y=14 b=yes true false @@ -60,3 +64,259 @@ true true [137438953474, 137438953475, 137438953476, 137438953477, 137438953479] cdefh cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[12 := 6, 13 := 6, 14 := 7] +map[16 := 12, 17 := 13, 18 := 14] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh + +Dafny program verifier did not attempt verification +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[14 := 7, 12 := 6, 13 := 6] +map[18 := 14, 17 := 13, 16 := 12] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh diff --git a/Test/unicodechars/comp/Comprehensions.dfy.py.expect b/Test/unicodechars/comp/Comprehensions.dfy.py.expect deleted file mode 100644 index aeaa31fc0f3..00000000000 --- a/Test/unicodechars/comp/Comprehensions.dfy.py.expect +++ /dev/null @@ -1,62 +0,0 @@ -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[14 := 7, 12 := 6, 13 := 6] -map[18 := 14, 17 := 13, 16 := 12] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh diff --git a/Test/unicodechars/comp/NativeNumbers.dfy b/Test/unicodechars/comp/NativeNumbers.dfy index 20cdb1e214f..764b4b3b384 100644 --- a/Test/unicodechars/comp/NativeNumbers.dfy +++ b/Test/unicodechars/comp/NativeNumbers.dfy @@ -1,4 +1,9 @@ -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:true --verify-included-files // Skip JavaScript because JavaScript doesn't have the same native types -include "../../comp/NativeNumbers.dfy" +// RUN: %dafny /compile:0 /verifyAllModules /unicodeChar:1 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" +include "../../comp/NativeNumbers.dfy" \ No newline at end of file diff --git a/Test/unicodechars/comp/NativeNumbers.dfy.expect b/Test/unicodechars/comp/NativeNumbers.dfy.expect index 354d931a151..b0fc6754f84 100644 --- a/Test/unicodechars/comp/NativeNumbers.dfy.expect +++ b/Test/unicodechars/comp/NativeNumbers.dfy.expect @@ -1,3 +1,259 @@ + +Dafny program verifier finished with 25 verified, 0 errors + +Dafny program verifier did not attempt verification +Casting: + +Small numbers: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 +5 5 5 5 5 5 5 5 5 +6 6 6 6 6 6 6 6 6 +7 7 7 7 7 7 7 7 7 +8 8 8 8 8 8 8 8 8 + +Large unsigned numbers: +255 255 255 255 255 255 255 255 +65535 65535 65535 65535 65535 65535 +4294967295 4294967295 4294967295 4294967295 +18446744073709551615 18446744073709551615 + +Int to large unsigned: +255 65535 4294967295 18446744073709551615 + +Cast from cardinality operator: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 + +Characters: +'C' 67 67 67 67 67 67 67 67 67 +0 127 32767 65535 65535 255 65535 65535 65535 + +Defaults: + +0 0 0 0 0 0 0 0 0 + +Byte arithmetic: + +20 30 +10 10 18 + +Short arithmetic: + +20 30 +10 10 18 + +Bitvectors: + +0 3 4 1 + +Comparison to zero: + +int8: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int16: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int32: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int64: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint8: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint16: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint32: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint64: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N + + +Dafny program verifier did not attempt verification +Casting: + +Small numbers: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 +5 5 5 5 5 5 5 5 5 +6 6 6 6 6 6 6 6 6 +7 7 7 7 7 7 7 7 7 +8 8 8 8 8 8 8 8 8 + +Large unsigned numbers: +255 255 255 255 255 255 255 255 +65535 65535 65535 65535 65535 65535 +4294967295 4294967295 4294967295 4294967295 +18446744073709551615 18446744073709551615 + +Int to large unsigned: +255 65535 4294967295 18446744073709551615 + +Cast from cardinality operator: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 + +Characters: +'C' 67 67 67 67 67 67 67 67 67 +0 127 32767 65535 65535 255 65535 65535 65535 + +Defaults: + +0 0 0 0 0 0 0 0 0 + +Byte arithmetic: + +20 30 +10 10 18 + +Short arithmetic: + +20 30 +10 10 18 + +Bitvectors: + +0 3 4 1 + +Comparison to zero: + +int8: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int16: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int32: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int64: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint8: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint16: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint32: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint64: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N + + +Dafny program verifier did not attempt verification +Casting: + +Small numbers: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 +5 5 5 5 5 5 5 5 5 +6 6 6 6 6 6 6 6 6 +7 7 7 7 7 7 7 7 7 +8 8 8 8 8 8 8 8 8 + +Large unsigned numbers: +255 255 255 255 255 255 255 255 +65535 65535 65535 65535 65535 65535 +4294967295 4294967295 4294967295 4294967295 +18446744073709551615 18446744073709551615 + +Int to large unsigned: +255 65535 4294967295 18446744073709551615 + +Cast from cardinality operator: +0 0 0 0 0 0 0 0 0 +1 1 1 1 1 1 1 1 1 +2 2 2 2 2 2 2 2 2 +3 3 3 3 3 3 3 3 3 +4 4 4 4 4 4 4 4 4 + +Characters: +'C' 67 67 67 67 67 67 67 67 67 +0 127 32767 65535 65535 255 65535 65535 65535 + +Defaults: + +0 0 0 0 0 0 0 0 0 + +Byte arithmetic: + +20 30 +10 10 18 + +Short arithmetic: + +20 30 +10 10 18 + +Bitvectors: + +0 3 4 1 + +Comparison to zero: + +int8: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int16: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int32: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +int64: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint8: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint16: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint32: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +uint64: +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N + + +Dafny program verifier did not attempt verification Casting: Small numbers: diff --git a/Test/unicodechars/comp/Numbers.dfy b/Test/unicodechars/comp/Numbers.dfy index e5e36180234..2c9170fe4d7 100644 --- a/Test/unicodechars/comp/Numbers.dfy +++ b/Test/unicodechars/comp/Numbers.dfy @@ -1,3 +1,8 @@ -// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 -// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:true --verify-included-files -include "../../comp/Numbers.dfy" +// RUN: %dafny /compile:0 /verifyAllModules /unicodeChar:1 "%s" > "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:cs "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:js "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:go "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:java "%s" >> "%t" +// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:py "%s" >> "%t" +// RUN: %diff "%s.expect" "%t" +include "../../comp/Numbers.dfy" \ No newline at end of file diff --git a/Test/unicodechars/comp/Numbers.dfy.expect b/Test/unicodechars/comp/Numbers.dfy.expect index cce193e1cce..6fa2f59f340 100644 --- a/Test/unicodechars/comp/Numbers.dfy.expect +++ b/Test/unicodechars/comp/Numbers.dfy.expect @@ -1,3 +1,7 @@ + +Dafny program verifier finished with 59 verified, 0 errors + +Dafny program verifier did not attempt verification 0 0 3 @@ -109,3 +113,455 @@ true false true false false true false true true false true false 20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +'g' 'Q' '2' +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +(312.0 / 40.0) (1248.0 / 40.0) +(-312.0 / 40.0) (-1248.0 / 40.0) +(-312.0 / 40.0) (1248.0 / 40.0) +(312.0 / 40.0) (-1248.0 / 40.0) +0.0 0.0 0.0 +120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) +123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 (8100.0 / 8100.0) +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +'g' 'Q' '2' +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +'g' 'Q' '2' +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +(312.0 / 40.0) (1248.0 / 40.0) +(-312.0 / 40.0) (-1248.0 / 40.0) +(-312.0 / 40.0) (1248.0 / 40.0) +(312.0 / 40.0) (-1248.0 / 40.0) +0.0 0.0 0.0 +120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) +123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 (8100.0 / 8100.0) +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 + +Dafny program verifier did not attempt verification +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +'g' 'Q' '2' +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 diff --git a/Test/unicodechars/comp/Numbers.dfy.go.expect b/Test/unicodechars/comp/Numbers.dfy.go.expect deleted file mode 100644 index 95d8ac259c7..00000000000 --- a/Test/unicodechars/comp/Numbers.dfy.go.expect +++ /dev/null @@ -1,111 +0,0 @@ -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -'g' 'Q' '2' -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 diff --git a/Test/unicodechars/comp/Numbers.dfy.py.expect b/Test/unicodechars/comp/Numbers.dfy.py.expect deleted file mode 100644 index 95d8ac259c7..00000000000 --- a/Test/unicodechars/comp/Numbers.dfy.py.expect +++ /dev/null @@ -1,111 +0,0 @@ -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -'g' 'Q' '2' -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 From 6fc0364d525e90cf4b644a7e111dea726a2bb5aa Mon Sep 17 00:00:00 2001 From: Robin Salkeld Date: Tue, 13 Jun 2023 13:39:04 -0700 Subject: [PATCH 65/68] Force manually specifying the reason for tests with inconsistent output --- Source/IntegrationTests/LitTests.cs | 6 ++++-- Source/XUnitExtensions/Lit/NonUniformTestCommand.cs | 3 +++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/Source/IntegrationTests/LitTests.cs b/Source/IntegrationTests/LitTests.cs index 1d659c84105..0baebd911f3 100644 --- a/Source/IntegrationTests/LitTests.cs +++ b/Source/IntegrationTests/LitTests.cs @@ -413,8 +413,10 @@ bool IgnoreArgument(string arg, string testFilePath) { }; newLines.AddRange(testFileLines.Where(line => ILitCommand.Parse(line, Config) == null)); if (exceptions) { - // This is currently the most common source of inconsistent output by far. - newLines.Insert(0, "// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108"); + // Intentionally leaving the reason off to force a manual review + // to specify the right reason (likely a GitHub issue), + // since the command will fail to parse without a reason. + newLines.Insert(0, "// NONUNIFORM:"); } File.WriteAllLines(testCase.FilePath, newLines); diff --git a/Source/XUnitExtensions/Lit/NonUniformTestCommand.cs b/Source/XUnitExtensions/Lit/NonUniformTestCommand.cs index 1ae7d9ba176..70e68419d84 100644 --- a/Source/XUnitExtensions/Lit/NonUniformTestCommand.cs +++ b/Source/XUnitExtensions/Lit/NonUniformTestCommand.cs @@ -11,6 +11,9 @@ private NonUniformTestCommand(string reason) { public string Reason { get; } public static ILitCommand Parse(string line, LitTestConfiguration config) { + if (string.IsNullOrWhiteSpace(line)) { + throw new ArgumentException("NONUNIFORM command requires a non-empty reason argument"); + } return new NonUniformTestCommand(line); } From 8852b250264e80672f3d5d1ed3c33a2567b717ba Mon Sep 17 00:00:00 2001 From: Robin Salkeld Date: Tue, 13 Jun 2023 13:40:00 -0700 Subject: [PATCH 66/68] Convert all tests --- Test/VerifyThis2015/Problem1.dfy | 3 +- Test/VerifyThis2015/Problem1.dfy.expect | 2 - Test/VerifyThis2015/Problem2.dfy | 3 +- Test/VerifyThis2015/Problem2.dfy.expect | 2 - Test/VerifyThis2015/Problem3.dfy | 3 +- Test/VerifyThis2015/Problem3.dfy.expect | 2 - Test/c++/arrays.dfy | 3 +- Test/c++/arrays.dfy.expect | 2 - Test/c++/bit-vectors.dfy | 3 +- Test/c++/bit-vectors.dfy.expect | 2 - Test/c++/class.dfy | 3 +- Test/c++/class.dfy.expect | 2 - Test/c++/const.dfy | 3 +- Test/c++/const.dfy.expect | 2 - Test/c++/datatypes.dfy | 3 +- Test/c++/datatypes.dfy.expect | 2 - Test/c++/generic.dfy | 3 +- Test/c++/generic.dfy.expect | 2 - Test/c++/hello.dfy | 3 +- Test/c++/hello.dfy.expect | 2 - Test/c++/ints.dfy | 3 +- Test/c++/ints.dfy.expect | 2 - Test/c++/recursion.dfy | 3 +- Test/c++/recursion.dfy.expect | 2 - Test/c++/returns.dfy | 3 +- Test/c++/returns.dfy.expect | 2 - Test/c++/seqs.dfy | 3 +- Test/c++/seqs.dfy.expect | 2 - Test/c++/sets.dfy | 3 +- Test/c++/sets.dfy.expect | 2 - Test/c++/while.dfy | 3 +- Test/c++/while.dfy.expect | 2 - Test/comp/Arrays.dfy | 9 +- Test/comp/Arrays.dfy.expect | 396 ------------ Test/comp/Arrays.dfy.go.expect | 96 +++ Test/comp/AsIs-Compile.dfy | 8 +- Test/comp/AsIs-Compile.dfy.expect | 160 ----- Test/comp/AutoInit.dfy | 8 +- Test/comp/AutoInit.dfy.expect | 160 ----- Test/comp/ByMethodCompilation.dfy | 8 +- Test/comp/ByMethodCompilation.dfy.expect | 32 - Test/comp/Calls.dfy | 8 +- Test/comp/Calls.dfy.expect | 40 -- Test/comp/Class.dfy | 8 +- Test/comp/Class.dfy.expect | 72 --- Test/comp/Collections.dfy | 9 +- Test/comp/Collections.dfy.expect | 512 ---------------- Test/comp/Collections.dfy.go.expect | 125 ++++ Test/comp/Collections.dfy.java.expect | 125 ++++ Test/comp/Collections.dfy.js.expect | 125 ++++ Test/comp/Collections.dfy.py.expect | 125 ++++ Test/comp/Comprehensions.dfy | 9 +- Test/comp/Comprehensions.dfy.expect | 260 -------- Test/comp/Comprehensions.dfy.py.expect | 62 ++ Test/comp/ComprehensionsNewSyntax.dfy | 9 +- Test/comp/ComprehensionsNewSyntax.dfy.expect | 148 ----- .../ComprehensionsNewSyntax.dfy.py.expect | 34 ++ Test/comp/CovariantCollections.dfy | 8 +- Test/comp/CovariantCollections.dfy.expect | 220 ------- Test/comp/Datatype.dfy | 9 +- Test/comp/Datatype.dfy.expect | 100 --- Test/comp/Datatype.dfy.java.expect | 22 + Test/comp/Datatype.dfy.py.expect | 22 + Test/comp/DefaultParameters-Compile.dfy | 8 +- .../comp/DefaultParameters-Compile.dfy.expect | 48 -- Test/comp/DowncastClone.dfy | 8 +- Test/comp/DowncastClone.dfy.expect | 40 -- Test/comp/ErasableTypeWrappers.dfy | 8 +- Test/comp/ErasableTypeWrappers.dfy.expect | 84 --- Test/comp/EuclideanDivision.dfy | 8 +- Test/comp/EuclideanDivision.dfy.expect | 36 -- Test/comp/ForLoops-Compilation.dfy | 8 +- Test/comp/ForLoops-Compilation.dfy.expect | 200 ------ Test/comp/ForallNewSyntax.dfy | 8 +- Test/comp/ForallNewSyntax.dfy.expect | 180 ------ Test/comp/Ghosts.dfy | 8 +- Test/comp/Ghosts.dfy.expect | 52 -- Test/comp/Let.dfy | 7 +- Test/comp/Let.dfy.expect | 34 -- Test/comp/MoreAutoInit.dfy | 8 +- Test/comp/MoreAutoInit.dfy.expect | 572 ------------------ Test/comp/NativeNumbers.dfy | 7 +- Test/comp/NativeNumbers.dfy.expect | 256 -------- Test/comp/NestedArrays.dfy | 7 +- Test/comp/NestedArrays.dfy.expect | 16 - Test/comp/Numbers.dfy | 9 +- Test/comp/Numbers.dfy.expect | 456 -------------- Test/comp/Numbers.dfy.go.expect | 111 ++++ Test/comp/Numbers.dfy.py.expect | 111 ++++ Test/comp/Poly.dfy | 9 +- Test/comp/Poly.dfy.expect | 60 -- Test/comp/Poly.dfy.go.expect | 12 + Test/comp/Poly.dfy.py.expect | 12 + Test/comp/StaticMembersOfGenericTypes.dfy | 8 +- .../StaticMembersOfGenericTypes.dfy.expect | 76 --- Test/comp/TailRecursion.dfy | 8 +- Test/comp/TailRecursion.dfy.expect | 76 --- Test/comp/TypeDescriptors.dfy | 8 +- Test/comp/TypeDescriptors.dfy.expect | 152 ----- Test/comp/TypeParams.dfy | 11 +- Test/comp/TypeParams.dfy.expect | 88 --- Test/comp/TypeParams.dfy.go.expect | 19 + Test/comp/TypeParams.dfy.java.expect | 19 + Test/comp/TypeParams.dfy.js.expect | 19 + Test/comp/TypeParams.dfy.py.expect | 19 + Test/comp/UnoptimizedErasableTypeWrappers.dfy | 8 +- ...UnoptimizedErasableTypeWrappers.dfy.expect | 28 - Test/comp/Variance.dfy | 8 +- Test/comp/Variance.dfy.expect | 64 -- Test/comp/Various.dfy | 8 +- Test/comp/Various.dfy.expect | 40 -- Test/comp/firstSteps/0_IKnowThisMuchIs.dfy | 4 +- .../firstSteps/0_IKnowThisMuchIs.dfy.expect | 4 - Test/comp/firstSteps/1_Calls-F.dfy | 4 +- Test/comp/firstSteps/1_Calls-F.dfy.expect | 4 - Test/comp/firstSteps/2_Modules.dfy | 4 +- Test/comp/firstSteps/2_Modules.dfy.expect | 4 - Test/comp/firstSteps/3_Calls-As.dfy | 4 +- Test/comp/firstSteps/3_Calls-As.dfy.expect | 4 - .../4_Calls-FunctionsValues-Class+NT.dfy | 4 +- ..._Calls-FunctionsValues-Class+NT.dfy.expect | 4 - .../firstSteps/5_Calls-FunctionsValues-Dt.dfy | 4 +- .../5_Calls-FunctionsValues-Dt.dfy.expect | 4 - .../firstSteps/6_Calls-VariableCapture.dfy | 4 +- .../6_Calls-VariableCapture.dfy.expect | 4 - Test/comp/firstSteps/7_Arrays.dfy | 4 +- Test/comp/firstSteps/7_Arrays.dfy.expect | 4 - Test/comp/firstSteps/7_Dt_Algebraic.dfy | 6 +- .../firstSteps/7_Dt_Algebraic.dfy.cs.expect | 11 + .../comp/firstSteps/7_Dt_Algebraic.dfy.expect | 17 - Test/dafny0/ArrayElementInitCompile.dfy | 8 +- .../dafny0/ArrayElementInitCompile.dfy.expect | 76 --- Test/dafny0/Bitvectors.dfy | 5 +- Test/dafny0/Bitvectors.dfy.expect | 49 -- Test/dafny0/Constant.dfy | 3 +- Test/dafny0/Constant.dfy.expect | 2 - Test/dafny0/Deprecation.dfy | 3 +- Test/dafny0/Deprecation.dfy.expect | 7 - Test/dafny0/Deprecation.dfy.verifier.expect | 5 + Test/dafny0/DiscoverBounds.dfy | 3 +- Test/dafny0/DiscoverBounds.dfy.expect | 7 - .../dafny0/DiscoverBounds.dfy.verifier.expect | 5 + Test/dafny0/DividedConstructors.dfy | 3 +- Test/dafny0/DividedConstructors.dfy.expect | 3 - .../DividedConstructors.dfy.verifier.expect | 1 + Test/dafny0/EqualityTypesCompile.dfy | 3 +- Test/dafny0/EqualityTypesCompile.dfy.expect | 2 - Test/dafny0/ForallCompilationNewSyntax.dfy | 3 +- .../ForallCompilationNewSyntax.dfy.expect | 6 - ...llCompilationNewSyntax.dfy.verifier.expect | 4 + Test/dafny0/GhostITECompilation.dfy | 8 +- Test/dafny0/GhostITECompilation.dfy.expect | 28 - Test/dafny0/InitialValues.dfy | 3 +- Test/dafny0/InitialValues.dfy.expect | 2 - Test/dafny0/MatchBraces.dfy | 5 +- Test/dafny0/MatchBraces.dfy.expect | 8 - Test/dafny0/MoForallCompilation.dfy | 3 +- Test/dafny0/MoForallCompilation.dfy.expect | 2 - Test/dafny0/NameclashesCompile.dfy | 3 +- Test/dafny0/NameclashesCompile.dfy.expect | 2 - Test/dafny0/NonZeroInitializationCompile.dfy | 7 +- .../NonZeroInitializationCompile.dfy.expect | 73 --- Test/dafny0/NullComparisonWarnings.dfy | 3 +- Test/dafny0/NullComparisonWarnings.dfy.expect | 13 - ...NullComparisonWarnings.dfy.verifier.expect | 11 + Test/dafny0/PrintUTF8.dfy | 3 +- Test/dafny0/PrintUTF8.dfy.expect | 2 - Test/dafny0/RangeCompilation.dfy | 3 +- Test/dafny0/RangeCompilation.dfy.expect | 2 - Test/dafny0/SeqFromArray.dfy | 3 +- Test/dafny0/SeqFromArray.dfy.expect | 2 - Test/dafny0/SharedDestructorsCompile.dfy | 5 +- .../SharedDestructorsCompile.dfy.expect | 17 - Test/dafny0/SiblingImports.dfy | 3 +- Test/dafny0/SiblingImports.dfy.expect | 2 - Test/dafny0/TypeConversionsCompile.dfy | 3 +- Test/dafny0/TypeConversionsCompile.dfy.expect | 2 - Test/dafny0/TypeMembers.dfy | 5 +- Test/dafny0/TypeMembers.dfy.expect | 29 - Test/dafny0/TypeMembers.dfy.verifier.expect | 1 + Test/dafny0/Wellfounded.dfy | 3 +- Test/dafny0/Wellfounded.dfy.expect | 4 - Test/dafny0/Wellfounded.dfy.verifier.expect | 2 + Test/dafny2/MinWindowMax.dfy | 3 +- Test/dafny2/MinWindowMax.dfy.expect | 2 - .../SmallestMissingNumber-functional.dfy | 3 +- ...mallestMissingNumber-functional.dfy.expect | 3 - ...ssingNumber-functional.dfy.verifier.expect | 1 + .../SmallestMissingNumber-imperative.dfy | 3 +- ...mallestMissingNumber-imperative.dfy.expect | 2 - Test/dafny2/StoreAndRetrieve.dfy | 7 +- Test/dafny2/StoreAndRetrieve.dfy.expect | 38 -- .../StoreAndRetrieve.dfy.verifier.expect | 5 + Test/dafny2/pq-intrinsic-extrinsic.dfy | 5 +- Test/dafny2/pq-intrinsic-extrinsic.dfy.expect | 11 - Test/dafny3/Abstemious.dfy | 3 +- Test/dafny3/Abstemious.dfy.expect | 2 - Test/dafny3/CachedContainer.dfy | 7 +- Test/dafny3/CachedContainer.dfy.expect | 78 --- .../CachedContainer.dfy.verifier.expect | 13 + Test/dafny3/Iter.dfy | 3 +- Test/dafny3/Iter.dfy.expect | 2 - Test/dafny4/Ackermann.dfy | 3 +- Test/dafny4/Ackermann.dfy.expect | 4 - Test/dafny4/Ackermann.dfy.verifier.expect | 2 + Test/dafny4/Bug107.dfy | 3 +- Test/dafny4/Bug107.dfy.expect | 2 - Test/dafny4/Bug108.dfy | 3 +- Test/dafny4/Bug108.dfy.expect | 2 - Test/dafny4/Bug113.dfy | 5 +- Test/dafny4/Bug113.dfy.expect | 2 - Test/dafny4/Bug140.dfy | 3 +- Test/dafny4/Bug140.dfy.expect | 2 - Test/dafny4/Bug148.dfy | 3 +- Test/dafny4/Bug148.dfy.expect | 2 - Test/dafny4/Bug49.dfy | 3 +- Test/dafny4/Bug49.dfy.expect | 2 - Test/dafny4/Bug60.dfy | 3 +- Test/dafny4/Bug60.dfy.expect | 2 - Test/dafny4/Bug67.dfy | 5 +- Test/dafny4/Bug67.dfy.expect | 2 - Test/dafny4/Bug68.dfy | 5 +- Test/dafny4/Bug68.dfy.expect | 2 - Test/dafny4/Bug89.dfy | 3 +- Test/dafny4/Bug89.dfy.expect | 2 - Test/dafny4/Bug94.dfy | 3 +- Test/dafny4/Bug94.dfy.expect | 2 - Test/dafny4/ClassRefinement.dfy | 7 +- Test/dafny4/ClassRefinement.dfy.expect | 43 -- .../ClassRefinement.dfy.verifier.expect | 6 + Test/dafny4/ExpandedGuardedness.dfy | 3 +- Test/dafny4/ExpandedGuardedness.dfy.expect | 2 - Test/dafny4/FlyingRobots.dfy | 3 +- Test/dafny4/FlyingRobots.dfy.expect | 2 - Test/dafny4/Leq.dfy | 3 +- Test/dafny4/Leq.dfy.expect | 2 - Test/dafny4/McCarthy91.dfy | 3 +- Test/dafny4/McCarthy91.dfy.expect | 2 - Test/dafny4/NatList.dfy | 3 +- Test/dafny4/NatList.dfy.expect | 2 - Test/dafny4/Regression2.dfy | 3 +- Test/dafny4/Regression2.dfy.expect | 2 - Test/dafny4/Regression3.dfy | 3 +- Test/dafny4/Regression3.dfy.expect | 2 - Test/dafny4/Regression4.dfy | 3 +- Test/dafny4/Regression4.dfy.expect | 2 - Test/dafny4/Regression6.dfy | 3 +- Test/dafny4/Regression6.dfy.expect | 2 - Test/dafny4/Regression7.dfy | 3 +- Test/dafny4/Regression7.dfy.expect | 2 - Test/dafny4/Regression9.dfy | 3 +- Test/dafny4/Regression9.dfy.expect | 2 - Test/dafny4/UnionFind.dfy | 3 +- Test/dafny4/UnionFind.dfy.expect | 2 - Test/dafny4/gcd.dfy | 7 +- Test/dafny4/gcd.dfy.expect | 31 - Test/dafny4/git-issue104.dfy | 8 +- Test/dafny4/git-issue104.dfy.expect | 16 - Test/dafny4/git-issue105.dfy | 3 +- Test/dafny4/git-issue105.dfy.expect | 2 - Test/dafny4/git-issue15.dfy | 3 +- Test/dafny4/git-issue15.dfy.expect | 2 - Test/dafny4/git-issue195.dfy | 3 +- Test/dafny4/git-issue195.dfy.expect | 2 - Test/dafny4/git-issue196.dfy | 3 +- Test/dafny4/git-issue196.dfy.expect | 2 - Test/dafny4/git-issue4.dfy | 3 +- Test/dafny4/git-issue4.dfy.expect | 2 - Test/dafny4/git-issue43.dfy | 3 +- Test/dafny4/git-issue43.dfy.expect | 2 - Test/dafny4/git-issue76.dfy | 5 +- Test/dafny4/git-issue76.dfy.expect | 7 - Test/dafny4/git-issue79.dfy | 3 +- Test/dafny4/git-issue79.dfy.expect | 2 - Test/dafny4/git-issue88.dfy | 3 +- Test/dafny4/git-issue88.dfy.expect | 2 - Test/exceptions/Exceptions1.dfy | 3 +- Test/exceptions/Exceptions1.dfy.expect | 2 - Test/exceptions/Exceptions1Expressions.dfy | 3 +- .../Exceptions1Expressions.dfy.expect | 2 - Test/exports/FIFO.dfy | 3 +- Test/exports/FIFO.dfy.expect | 2 - Test/exports/LIFO.dfy | 3 +- Test/exports/LIFO.dfy.expect | 2 - Test/exports/xrefine2.dfy | 3 +- Test/exports/xrefine2.dfy.expect | 2 - Test/exports/xrefine3.dfy | 3 +- Test/exports/xrefine3.dfy.expect | 2 - Test/git-issues/git-issue-032.dfy | 7 +- Test/git-issues/git-issue-032.dfy.expect | 37 -- .../git-issue-032.dfy.verifier.expect | 3 + Test/git-issues/git-issue-1029.dfy | 3 +- Test/git-issues/git-issue-1029.dfy.expect | 2 - Test/git-issues/git-issue-1093.dfy | 8 +- Test/git-issues/git-issue-1093.dfy.expect | 16 - Test/git-issues/git-issue-1130.dfy | 3 +- Test/git-issues/git-issue-1130.dfy.expect | 2 - Test/git-issues/git-issue-1150.dfy | 3 +- Test/git-issues/git-issue-1150.dfy.expect | 2 - Test/git-issues/git-issue-1185.dfy | 8 +- Test/git-issues/git-issue-1185.dfy.expect | 13 - .../git-issues/git-issue-1185.dfy.java.expect | 1 + Test/git-issues/git-issue-1514.dfy | 3 +- Test/git-issues/git-issue-1514.dfy.expect | 2 - Test/git-issues/git-issue-1514b.dfy | 3 +- Test/git-issues/git-issue-1514b.dfy.expect | 2 - Test/git-issues/git-issue-1514c.dfy | 5 +- Test/git-issues/git-issue-1514c.dfy.expect | 7 - Test/git-issues/git-issue-1553.dfy | 7 +- Test/git-issues/git-issue-1553.dfy.expect | 10 - Test/git-issues/git-issue-1604b.dfy | 3 +- Test/git-issues/git-issue-1604b.dfy.expect | 2 - Test/git-issues/git-issue-1714.dfy | 3 +- Test/git-issues/git-issue-1714.dfy.expect | 2 - Test/git-issues/git-issue-1815a.dfy | 8 +- Test/git-issues/git-issue-1815a.dfy.expect | 16 - Test/git-issues/git-issue-1852.dfy | 5 +- Test/git-issues/git-issue-1852.dfy.expect | 7 - Test/git-issues/git-issue-1903.dfy | 3 +- Test/git-issues/git-issue-1903.dfy.expect | 2 - Test/git-issues/git-issue-1909.dfy | 3 +- Test/git-issues/git-issue-1909.dfy.expect | 2 - Test/git-issues/git-issue-2013.dfy | 8 +- Test/git-issues/git-issue-2013.dfy.expect | 52 -- Test/git-issues/git-issue-2441.dfy | 5 +- Test/git-issues/git-issue-2441.dfy.expect | 6 - Test/git-issues/git-issue-2510.dfy | 3 +- Test/git-issues/git-issue-2510.dfy.expect | 2 - Test/git-issues/git-issue-2608.dfy | 3 +- Test/git-issues/git-issue-2608.dfy.expect | 2 - Test/git-issues/git-issue-262.dfy | 7 +- Test/git-issues/git-issue-262.dfy.expect | 18 - Test/git-issues/git-issue-262.dfy.go.expect | 2 + Test/git-issues/git-issue-262.dfy.java.expect | 2 + Test/git-issues/git-issue-262.dfy.js.expect | 6 + Test/git-issues/git-issue-267.dfy | 7 +- Test/git-issues/git-issue-267.dfy.expect | 13 - Test/git-issues/git-issue-2672.dfy | 8 +- Test/git-issues/git-issue-2672.dfy.expect | 44 -- Test/git-issues/git-issue-2726a.dfy | 3 +- Test/git-issues/git-issue-2726a.dfy.expect | 2 - Test/git-issues/git-issue-2733.dfy | 9 +- Test/git-issues/git-issue-2733.dfy.expect | 14 - Test/git-issues/git-issue-2792.dfy | 3 +- Test/git-issues/git-issue-2792.dfy.expect | 2 - Test/git-issues/git-issue-283.dfy | 7 +- Test/git-issues/git-issue-283.dfy.expect | 13 - Test/git-issues/git-issue-283d.dfy | 7 +- Test/git-issues/git-issue-283d.dfy.expect | 10 - Test/git-issues/git-issue-314.dfy | 7 +- Test/git-issues/git-issue-314.dfy.expect | 10 - Test/git-issues/git-issue-332.dfy | 3 +- Test/git-issues/git-issue-332.dfy.expect | 2 - Test/git-issues/git-issue-354.dfy | 7 +- Test/git-issues/git-issue-354.dfy.expect | 22 - Test/git-issues/git-issue-356.dfy | 8 +- Test/git-issues/git-issue-356.dfy.expect | 36 -- Test/git-issues/git-issue-364.dfy | 3 +- Test/git-issues/git-issue-364.dfy.expect | 2 - Test/git-issues/git-issue-374.dfy | 7 +- Test/git-issues/git-issue-374.dfy.expect | 10 - Test/git-issues/git-issue-396.dfy | 6 +- Test/git-issues/git-issue-396.dfy.expect | 11 - Test/git-issues/git-issue-4007.dfy | 5 +- Test/git-issues/git-issue-4007.dfy.expect | 3 - .../git-issue-4007.dfy.verifier.expect | 1 + Test/git-issues/git-issue-4012.dfy | 5 +- Test/git-issues/git-issue-4012.dfy.expect | 2 - Test/git-issues/git-issue-425.dfy | 7 +- Test/git-issues/git-issue-425.dfy.expect | 16 - Test/git-issues/git-issue-443.dfy | 3 +- Test/git-issues/git-issue-443.dfy.expect | 2 - Test/git-issues/git-issue-446.dfy | 7 +- Test/git-issues/git-issue-446.dfy.expect | 19 - Test/git-issues/git-issue-446a.dfy | 7 +- Test/git-issues/git-issue-446a.dfy.expect | 19 - Test/git-issues/git-issue-446b.dfy | 7 +- Test/git-issues/git-issue-446b.dfy.expect | 25 - Test/git-issues/git-issue-478-good.dfy | 3 +- Test/git-issues/git-issue-478-good.dfy.expect | 2 - Test/git-issues/git-issue-506.dfy | 6 +- Test/git-issues/git-issue-506.dfy.expect | 26 - Test/git-issues/git-issue-532.dfy | 7 +- Test/git-issues/git-issue-532.dfy.expect | 19 - Test/git-issues/git-issue-549.dfy | 5 +- Test/git-issues/git-issue-549.dfy.expect | 8 - Test/git-issues/git-issue-622$f.dfy | 3 +- Test/git-issues/git-issue-622$f.dfy.expect | 2 - Test/git-issues/git-issue-684.dfy | 7 +- Test/git-issues/git-issue-684.dfy.expect | 10 - Test/git-issues/git-issue-686.dfy | 7 +- Test/git-issues/git-issue-686.dfy.expect | 23 - .../git-issue-686.dfy.verifier.expect | 2 + Test/git-issues/git-issue-697.dfy | 3 +- Test/git-issues/git-issue-697.dfy.expect | 2 - Test/git-issues/git-issue-697b.dfy | 3 +- Test/git-issues/git-issue-697b.dfy.expect | 2 - Test/git-issues/git-issue-697d.dfy | 3 +- Test/git-issues/git-issue-697d.dfy.expect | 2 - Test/git-issues/git-issue-697e.dfy | 3 +- Test/git-issues/git-issue-697e.dfy.expect | 2 - Test/git-issues/git-issue-697f.dfy | 3 +- Test/git-issues/git-issue-697f.dfy.expect | 2 - Test/git-issues/git-issue-697g.dfy | 3 +- Test/git-issues/git-issue-697g.dfy.expect | 2 - Test/git-issues/git-issue-698.dfy | 5 +- Test/git-issues/git-issue-698.dfy.expect | 7 - Test/git-issues/git-issue-698b.dfy | 5 +- Test/git-issues/git-issue-698b.dfy.expect | 2 - Test/git-issues/git-issue-701.dfy | 7 +- Test/git-issues/git-issue-701.dfy.expect | 19 - Test/git-issues/git-issue-705.dfy | 7 +- Test/git-issues/git-issue-705.dfy.expect | 13 - Test/git-issues/git-issue-731.dfy | 7 +- Test/git-issues/git-issue-731.dfy.expect | 16 - Test/git-issues/git-issue-731b.dfy | 7 +- Test/git-issues/git-issue-731b.dfy.expect | 13 - Test/git-issues/git-issue-784.dfy | 7 +- Test/git-issues/git-issue-784.dfy.expect | 10 - Test/git-issues/git-issue-953.dfy | 8 +- Test/git-issues/git-issue-953.dfy.expect | 36 -- Test/git-issues/github-issue-3343.dfy | 3 +- Test/git-issues/github-issue-3343.dfy.expect | 2 - Test/hofs/Compilation.dfy | 3 +- Test/hofs/Compilation.dfy.expect | 2 - Test/hofs/Examples.dfy | 3 +- Test/hofs/Examples.dfy.expect | 2 - Test/hofs/Fold.dfy | 3 +- Test/hofs/Fold.dfy.expect | 2 - Test/hofs/Renaming.dfy | 3 +- Test/hofs/Renaming.dfy.expect | 2 - Test/hofs/Requires.dfy | 3 +- Test/hofs/Requires.dfy.expect | 2 - Test/hofs/TreeMapSimple.dfy | 3 +- Test/hofs/TreeMapSimple.dfy.expect | 2 - Test/hofs/VectorUpdate.dfy | 3 +- Test/hofs/VectorUpdate.dfy.expect | 2 - Test/hofs/WhileLoop.dfy | 3 +- Test/hofs/WhileLoop.dfy.expect | 2 - Test/metatests/OutputEncoding.dfy | 8 +- Test/metatests/OutputEncoding.dfy.expect | 16 - Test/patterns/OrPatterns.dfy | 3 +- Test/patterns/OrPatterns.dfy.expect | 2 - Test/patterns/PatternMatching.dfy | 5 +- Test/patterns/PatternMatching.dfy.expect | 3 - .../PatternMatching.dfy.verifier.expect | 1 + Test/traits/TraitCompile.dfy | 10 +- Test/traits/TraitCompile.dfy.expect | 256 -------- Test/traits/TraitExample.dfy | 3 +- Test/traits/TraitExample.dfy.expect | 2 - Test/traits/Traits-Fields.dfy | 3 +- Test/traits/Traits-Fields.dfy.expect | 2 - Test/traits/TraitsMultipleInheritance.dfy | 3 +- .../TraitsMultipleInheritance.dfy.expect | 2 - Test/unicodechars/comp/Collections.dfy | 9 +- Test/unicodechars/comp/Collections.dfy.expect | 512 ---------------- .../comp/Collections.dfy.go.expect | 125 ++++ .../comp/Collections.dfy.java.expect | 125 ++++ .../comp/Collections.dfy.js.expect | 125 ++++ .../comp/Collections.dfy.py.expect | 125 ++++ Test/unicodechars/comp/Comprehensions.dfy | 11 +- .../comp/Comprehensions.dfy.expect | 260 -------- .../comp/Comprehensions.dfy.py.expect | 62 ++ Test/unicodechars/comp/NativeNumbers.dfy | 9 +- .../comp/NativeNumbers.dfy.expect | 256 -------- Test/unicodechars/comp/Numbers.dfy | 11 +- Test/unicodechars/comp/Numbers.dfy.expect | 456 -------------- Test/unicodechars/comp/Numbers.dfy.go.expect | 111 ++++ Test/unicodechars/comp/Numbers.dfy.py.expect | 111 ++++ 469 files changed, 2165 insertions(+), 8689 deletions(-) create mode 100644 Test/comp/Arrays.dfy.go.expect create mode 100644 Test/comp/Collections.dfy.go.expect create mode 100644 Test/comp/Collections.dfy.java.expect create mode 100644 Test/comp/Collections.dfy.js.expect create mode 100644 Test/comp/Collections.dfy.py.expect create mode 100644 Test/comp/Comprehensions.dfy.py.expect create mode 100644 Test/comp/ComprehensionsNewSyntax.dfy.py.expect create mode 100644 Test/comp/Datatype.dfy.java.expect create mode 100644 Test/comp/Datatype.dfy.py.expect create mode 100644 Test/comp/Numbers.dfy.go.expect create mode 100644 Test/comp/Numbers.dfy.py.expect create mode 100644 Test/comp/Poly.dfy.go.expect create mode 100644 Test/comp/Poly.dfy.py.expect create mode 100644 Test/comp/TypeParams.dfy.go.expect create mode 100644 Test/comp/TypeParams.dfy.java.expect create mode 100644 Test/comp/TypeParams.dfy.js.expect create mode 100644 Test/comp/TypeParams.dfy.py.expect create mode 100644 Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect create mode 100644 Test/dafny0/Deprecation.dfy.verifier.expect create mode 100644 Test/dafny0/DiscoverBounds.dfy.verifier.expect create mode 100644 Test/dafny0/DividedConstructors.dfy.verifier.expect create mode 100644 Test/dafny0/ForallCompilationNewSyntax.dfy.verifier.expect create mode 100644 Test/dafny0/NullComparisonWarnings.dfy.verifier.expect create mode 100644 Test/dafny0/TypeMembers.dfy.verifier.expect create mode 100644 Test/dafny0/Wellfounded.dfy.verifier.expect create mode 100644 Test/dafny2/SmallestMissingNumber-functional.dfy.verifier.expect create mode 100644 Test/dafny2/StoreAndRetrieve.dfy.verifier.expect create mode 100644 Test/dafny3/CachedContainer.dfy.verifier.expect create mode 100644 Test/dafny4/Ackermann.dfy.verifier.expect create mode 100644 Test/dafny4/ClassRefinement.dfy.verifier.expect create mode 100644 Test/git-issues/git-issue-032.dfy.verifier.expect create mode 100644 Test/git-issues/git-issue-1185.dfy.java.expect create mode 100644 Test/git-issues/git-issue-262.dfy.go.expect create mode 100644 Test/git-issues/git-issue-262.dfy.java.expect create mode 100644 Test/git-issues/git-issue-262.dfy.js.expect create mode 100644 Test/git-issues/git-issue-4007.dfy.verifier.expect create mode 100644 Test/git-issues/git-issue-686.dfy.verifier.expect create mode 100644 Test/patterns/PatternMatching.dfy.verifier.expect create mode 100644 Test/unicodechars/comp/Collections.dfy.go.expect create mode 100644 Test/unicodechars/comp/Collections.dfy.java.expect create mode 100644 Test/unicodechars/comp/Collections.dfy.js.expect create mode 100644 Test/unicodechars/comp/Collections.dfy.py.expect create mode 100644 Test/unicodechars/comp/Comprehensions.dfy.py.expect create mode 100644 Test/unicodechars/comp/Numbers.dfy.go.expect create mode 100644 Test/unicodechars/comp/Numbers.dfy.py.expect diff --git a/Test/VerifyThis2015/Problem1.dfy b/Test/VerifyThis2015/Problem1.dfy index 20bd154ab8d..ab227e1ab85 100644 --- a/Test/VerifyThis2015/Problem1.dfy +++ b/Test/VerifyThis2015/Problem1.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Rustan Leino // 12 April 2015 diff --git a/Test/VerifyThis2015/Problem1.dfy.expect b/Test/VerifyThis2015/Problem1.dfy.expect index 110dd45761d..9e8a46acf90 100644 --- a/Test/VerifyThis2015/Problem1.dfy.expect +++ b/Test/VerifyThis2015/Problem1.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 18 verified, 0 errors true true false diff --git a/Test/VerifyThis2015/Problem2.dfy b/Test/VerifyThis2015/Problem2.dfy index 7466df6d410..9b57395e68b 100644 --- a/Test/VerifyThis2015/Problem2.dfy +++ b/Test/VerifyThis2015/Problem2.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Rustan Leino // 13 April 2015, and many subsequent enhancements and revisions diff --git a/Test/VerifyThis2015/Problem2.dfy.expect b/Test/VerifyThis2015/Problem2.dfy.expect index b49c1470365..e69de29bb2d 100644 --- a/Test/VerifyThis2015/Problem2.dfy.expect +++ b/Test/VerifyThis2015/Problem2.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 32 verified, 0 errors diff --git a/Test/VerifyThis2015/Problem3.dfy b/Test/VerifyThis2015/Problem3.dfy index 3be60b5d81a..1348acf0f4d 100644 --- a/Test/VerifyThis2015/Problem3.dfy +++ b/Test/VerifyThis2015/Problem3.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Rustan Leino // 12 April 2015 // VerifyThis 2015 diff --git a/Test/VerifyThis2015/Problem3.dfy.expect b/Test/VerifyThis2015/Problem3.dfy.expect index 4bb1c2c7251..e69de29bb2d 100644 --- a/Test/VerifyThis2015/Problem3.dfy.expect +++ b/Test/VerifyThis2015/Problem3.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 18 verified, 0 errors diff --git a/Test/c++/arrays.dfy b/Test/c++/arrays.dfy index 47140146468..a02b57e5ff8 100644 --- a/Test/c++/arrays.dfy +++ b/Test/c++/arrays.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/arrays.dfy.expect b/Test/c++/arrays.dfy.expect index 552f9355593..2ce9320d8c2 100644 --- a/Test/c++/arrays.dfy.expect +++ b/Test/c++/arrays.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 9 verified, 0 errors 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/c++/bit-vectors.dfy b/Test/c++/bit-vectors.dfy index b7f5d35df07..d27469e4ca5 100644 --- a/Test/c++/bit-vectors.dfy +++ b/Test/c++/bit-vectors.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint64 = i:int | 0 <= i < 0x10000000000000000 diff --git a/Test/c++/bit-vectors.dfy.expect b/Test/c++/bit-vectors.dfy.expect index e327aa2f73b..c491236b12b 100644 --- a/Test/c++/bit-vectors.dfy.expect +++ b/Test/c++/bit-vectors.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 6 verified, 0 errors 084841024 diff --git a/Test/c++/class.dfy b/Test/c++/class.dfy index 3039bd0466b..b10d703c981 100644 --- a/Test/c++/class.dfy +++ b/Test/c++/class.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/class.dfy.expect b/Test/c++/class.dfy.expect index 93717ecfa9e..80f1587d0a2 100644 --- a/Test/c++/class.dfy.expect +++ b/Test/c++/class.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 16 verified, 0 errors true true false 103 102 102 106 105 105 203 17 0 18 8 9 69 70 diff --git a/Test/c++/const.dfy b/Test/c++/const.dfy index 5ab9a62e0e9..1bfb79f0361 100644 --- a/Test/c++/const.dfy +++ b/Test/c++/const.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false module Holder { const x:bool := false diff --git a/Test/c++/const.dfy.expect b/Test/c++/const.dfy.expect index 823a60a105c..e69de29bb2d 100644 --- a/Test/c++/const.dfy.expect +++ b/Test/c++/const.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 1 verified, 0 errors diff --git a/Test/c++/datatypes.dfy b/Test/c++/datatypes.dfy index 9d077b97575..f56b7907cc3 100644 --- a/Test/c++/datatypes.dfy +++ b/Test/c++/datatypes.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/datatypes.dfy.expect b/Test/c++/datatypes.dfy.expect index efa71b43546..c122f5af791 100644 --- a/Test/c++/datatypes.dfy.expect +++ b/Test/c++/datatypes.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 12 verified, 0 errors Case A: 42 Case B: true This is expected diff --git a/Test/c++/generic.dfy b/Test/c++/generic.dfy index 7995928f93f..374c545b9c1 100644 --- a/Test/c++/generic.dfy +++ b/Test/c++/generic.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false class Test { var t:T diff --git a/Test/c++/generic.dfy.expect b/Test/c++/generic.dfy.expect index 00a51f822da..e69de29bb2d 100644 --- a/Test/c++/generic.dfy.expect +++ b/Test/c++/generic.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 3 verified, 0 errors diff --git a/Test/c++/hello.dfy b/Test/c++/hello.dfy index c887337c7e1..523d3152209 100644 --- a/Test/c++/hello.dfy +++ b/Test/c++/hello.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false method Main() { print "Hello world\n"; diff --git a/Test/c++/hello.dfy.expect b/Test/c++/hello.dfy.expect index 87101fec036..802992c4220 100644 --- a/Test/c++/hello.dfy.expect +++ b/Test/c++/hello.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors Hello world diff --git a/Test/c++/ints.dfy b/Test/c++/ints.dfy index cf7ae63e0da..4490a54817a 100644 --- a/Test/c++/ints.dfy +++ b/Test/c++/ints.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype sbyte = i:int | -0x80 <= i < 0x80 newtype byte = i:int | 0 <= i < 0x100 diff --git a/Test/c++/ints.dfy.expect b/Test/c++/ints.dfy.expect index aeabccf73b0..5fcb7b811cb 100644 --- a/Test/c++/ints.dfy.expect +++ b/Test/c++/ints.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 15 verified, 0 errors Result is z = 42 diff --git a/Test/c++/recursion.dfy b/Test/c++/recursion.dfy index e255b8e6b08..36048aab527 100644 --- a/Test/c++/recursion.dfy +++ b/Test/c++/recursion.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/recursion.dfy.expect b/Test/c++/recursion.dfy.expect index 15dbfe2bcd1..1ea14926e89 100644 --- a/Test/c++/recursion.dfy.expect +++ b/Test/c++/recursion.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors x !y 3 diff --git a/Test/c++/returns.dfy b/Test/c++/returns.dfy index 1ad19a8ce83..9e23121d26a 100644 --- a/Test/c++/returns.dfy +++ b/Test/c++/returns.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint64 = i:int | 0 <= i < 0x10000000000000000 diff --git a/Test/c++/returns.dfy.expect b/Test/c++/returns.dfy.expect index 8db105eaba8..48082f72f08 100644 --- a/Test/c++/returns.dfy.expect +++ b/Test/c++/returns.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors 12 diff --git a/Test/c++/seqs.dfy b/Test/c++/seqs.dfy index f97a42b2851..903208b07f8 100644 --- a/Test/c++/seqs.dfy +++ b/Test/c++/seqs.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint8 = i:int | 0 <= i < 0x100 newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/seqs.dfy.expect b/Test/c++/seqs.dfy.expect index 23f01695bc9..16f5f9d22ea 100644 --- a/Test/c++/seqs.dfy.expect +++ b/Test/c++/seqs.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 11 verified, 0 errors Head second:2 Trunc first:2 Head trunc: This is expected diff --git a/Test/c++/sets.dfy b/Test/c++/sets.dfy index 5bfb6f80f1e..10e2fe0501d 100644 --- a/Test/c++/sets.dfy +++ b/Test/c++/sets.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/sets.dfy.expect b/Test/c++/sets.dfy.expect index 1c8ede8765e..52a1e67717e 100644 --- a/Test/c++/sets.dfy.expect +++ b/Test/c++/sets.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 8 verified, 0 errors Identity: This is expected ValuesIdentity: This is expected DiffIdentity: This is expected diff --git a/Test/c++/while.dfy b/Test/c++/while.dfy index 40dc4699d11..0c0d7ee98df 100644 --- a/Test/c++/while.dfy +++ b/Test/c++/while.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cpp /unicodeChar:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false newtype uint32 = i:int | 0 <= i < 0x100000000 diff --git a/Test/c++/while.dfy.expect b/Test/c++/while.dfy.expect index 8dfe872ca51..9a44de1e2a3 100644 --- a/Test/c++/while.dfy.expect +++ b/Test/c++/while.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 2 verified, 0 errors 0 1 2 diff --git a/Test/comp/Arrays.dfy b/Test/comp/Arrays.dfy index 566f052e0a6..5f2655558aa 100644 --- a/Test/comp/Arrays.dfy +++ b/Test/comp/Arrays.dfy @@ -1,10 +1,5 @@ -// RUN: %baredafny verify %args --relax-definite-assignment "%s" > "%t" -// RUN: %baredafny run --unicode-char:false --no-verify --target=cs %args "%s" >> "%t" -// RUN: %baredafny run --unicode-char:false --no-verify --target=js %args "%s" >> "%t" -// RUN: %baredafny run --unicode-char:false --no-verify --target=go %args "%s" >> "%t" -// RUN: %baredafny run --unicode-char:false --no-verify --target=java %args "%s" >> "%t" -// RUN: %baredafny run --unicode-char:false --no-verify --target=py %args "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false method LinearSearch(a: array, key: int) returns (n: nat) ensures 0 <= n <= a.Length diff --git a/Test/comp/Arrays.dfy.expect b/Test/comp/Arrays.dfy.expect index 8559e2f3c5c..ef3b884f98a 100644 --- a/Test/comp/Arrays.dfy.expect +++ b/Test/comp/Arrays.dfy.expect @@ -1,399 +1,3 @@ - -Dafny program verifier finished with 89 verified, 0 errors - -Dafny program verifier did not attempt verification -0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 -17 -[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] -[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] -[20, 21, 22] -[0, 1, 2, 3, 4, 5, 6, 7] -[0, 1, 2, 3, 4, 5, 6, 7] -d d d -h e l l o -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -1 0 0 0 0 -0 1 0 0 0 -0 0 1 0 0 -cube dims: 3 0 4 -[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] -It's null -hi hello tjena hej hola -hi hello tjena hej hola -hi hello tjena hej hola -d d d -h e l l o -8 8 8 8 -true true true -1 1 1 1 1 -2 2 2 2 2 -3 3 3 3 3 -4 4 4 4 4 -(d, 8, true, 1, 2, 3, 4) -D D D -0 0 0 0 -false false false -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -(D, 0, false, 0, 0, 0, 0) -8 0 -false 0 null null -8 8 -8 8 -8 8 -8 8 -D D D -D D D -D D D -D D r (D, D, r) -D D r -[19, 18, 9, 8] - true - false - true - false - false - false - true - true - false - true - false - true - true - false -hello there -false false -true true -false false -false false -uninitialized bytes: array[0, 0, 0] -bytes from display: array[7, 8, 9] -bytes from lambda: array[20, 21, 22] -uninitialized 1bytes: array[1, 1, 1] -1bytes from display: array[7, 8, 9] -1bytes from lambda: array[20, 21, 22] -17 19 18 20 -100 200 300 120 38 -hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -DDDDDabcdeabcdeggggg -DDDDDabcdeabcdeggggg -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] -DDDDDDDDDDagggggaggg -0 69 50 -0 69 50 -D k n -false false -true true -false false -false false -true true - -Dafny program verifier did not attempt verification -0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 -17 -[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] -[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] -[20, 21, 22] -[0, 1, 2, 3, 4, 5, 6, 7] -[0, 1, 2, 3, 4, 5, 6, 7] -d d d -h e l l o -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -1 0 0 0 0 -0 1 0 0 0 -0 0 1 0 0 -cube dims: 3 0 4 -[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] -It's null -hi hello tjena hej hola -hi hello tjena hej hola -hi hello tjena hej hola -d d d -h e l l o -8 8 8 8 -true true true -1 1 1 1 1 -2 2 2 2 2 -3 3 3 3 3 -4 4 4 4 4 -(d, 8, true, 1, 2, 3, 4) -D D D -0 0 0 0 -false false false -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -(D, 0, false, 0, 0, 0, 0) -8 0 -false 0 null null -8 8 -8 8 -8 8 -8 8 -D D D -D D D -D D D -D D r (D, D, r) -D D r -[19, 18, 9, 8] - true - false - true - false - false - false - true - true - false - true - false - true - true - false -hello there -false false -true true -false false -false false -uninitialized bytes: array[0, 0, 0] -bytes from display: array[7, 8, 9] -bytes from lambda: array[20, 21, 22] -uninitialized 1bytes: array[1, 1, 1] -1bytes from display: array[7, 8, 9] -1bytes from lambda: array[20, 21, 22] -17 19 18 20 -100 200 300 120 38 -hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -DDDDDabcdeabcdeggggg -DDDDDabcdeabcdeggggg -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] -DDDDDDDDDDagggggaggg -0 69 50 -0 69 50 -D k n -false false -true true -false false -false false -true true - -Dafny program verifier did not attempt verification -0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 -17 -[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] -[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] -[20, 21, 22] -[0, 1, 2, 3, 4, 5, 6, 7] -[0, 1, 2, 3, 4, 5, 6, 7] -d d d -h e l l o -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -1 0 0 0 0 -0 1 0 0 0 -0 0 1 0 0 -cube dims: 3 0 4 -[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] -It's null -hi hello tjena hej hola -hi hello tjena hej hola -hi hello tjena hej hola -d d d -h e l l o -8 8 8 8 -true true true -1 1 1 1 1 -2 2 2 2 2 -3 3 3 3 3 -4 4 4 4 4 -(d, 8, true, 1, 2, 3, 4) -D D D -0 0 0 0 -false false false -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -(D, 0, false, 0, 0, 0, 0) -8 0 -false 0 null null -8 8 -8 8 -8 8 -8 8 -D D D -D D D -D D D -D D r (D, D, r) -D D r -[19, 18, 9, 8] - true - false - true - false - false - false - true - true - false - true - false - true - true - false -hello there -false false -true true -false false -false false -uninitialized bytes: array[0, 0, 0] -bytes from display: array[7, 8, 9] -bytes from lambda: array[20, 21, 22] -uninitialized 1bytes: array[1, 1, 1] -1bytes from display: array[7, 8, 9] -1bytes from lambda: array[20, 21, 22] -17 19 18 20 -100 200 300 120 38 -hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -DDDDDabcdeabcdeggggg -DDDDDabcdeabcdeggggg -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] -[D, D, D, D, D, D, D, D, D, D, a, g, g, g, g, g, a, g, g, g] -0 69 50 -0 69 50 -D k n -false false -true true -false false -false false -true true - -Dafny program verifier did not attempt verification -0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 -17 -[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] -[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] -[20, 21, 22] -[0, 1, 2, 3, 4, 5, 6, 7] -[0, 1, 2, 3, 4, 5, 6, 7] -d d d -h e l l o -0 0 0 0 0 0 0 0 -0 0 0 0 0 0 0 0 -1 0 0 0 0 -0 1 0 0 0 -0 0 1 0 0 -cube dims: 3 0 4 -[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] -It's null -hi hello tjena hej hola -hi hello tjena hej hola -hi hello tjena hej hola -d d d -h e l l o -8 8 8 8 -true true true -1 1 1 1 1 -2 2 2 2 2 -3 3 3 3 3 -4 4 4 4 4 -(d, 8, true, 1, 2, 3, 4) -D D D -0 0 0 0 -false false false -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -0 0 0 0 0 -(D, 0, false, 0, 0, 0, 0) -8 0 -false 0 null null -8 8 -8 8 -8 8 -8 8 -D D D -D D D -D D D -D D r (D, D, r) -D D r -[19, 18, 9, 8] - true - false - true - false - false - false - true - true - false - true - false - true - true - false -hello there -false false -true true -false false -false false -uninitialized bytes: array[0, 0, 0] -bytes from display: array[7, 8, 9] -bytes from lambda: array[20, 21, 22] -uninitialized 1bytes: array[1, 1, 1] -1bytes from display: array[7, 8, 9] -1bytes from lambda: array[20, 21, 22] -17 19 18 20 -100 200 300 120 38 -hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] -[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] -DDDDDabcdeabcdeggggg -DDDDDabcdeabcdeggggg -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] -[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] -DDDDDDDDDDagggggaggg -0 69 50 -0 69 50 -D k n -false false -true true -false false -false false -true true - -Dafny program verifier did not attempt verification 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/comp/Arrays.dfy.go.expect b/Test/comp/Arrays.dfy.go.expect new file mode 100644 index 00000000000..1217623d90c --- /dev/null +++ b/Test/comp/Arrays.dfy.go.expect @@ -0,0 +1,96 @@ +0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 +17 +[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] +[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] +[20, 21, 22] +[0, 1, 2, 3, 4, 5, 6, 7] +[0, 1, 2, 3, 4, 5, 6, 7] +d d d +h e l l o +0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 +1 0 0 0 0 +0 1 0 0 0 +0 0 1 0 0 +cube dims: 3 0 4 +[] [0] [0, 0] [0, 0, 0] [0, 0, 0, 0] +It's null +hi hello tjena hej hola +hi hello tjena hej hola +hi hello tjena hej hola +d d d +h e l l o +8 8 8 8 +true true true +1 1 1 1 1 +2 2 2 2 2 +3 3 3 3 3 +4 4 4 4 4 +(d, 8, true, 1, 2, 3, 4) +D D D +0 0 0 0 +false false false +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +0 0 0 0 0 +(D, 0, false, 0, 0, 0, 0) +8 0 +false 0 null null +8 8 +8 8 +8 8 +8 8 +D D D +D D D +D D D +D D r (D, D, r) +D D r +[19, 18, 9, 8] + true + false + true + false + false + false + true + true + false + true + false + true + true + false +hello there +false false +true true +false false +false false +uninitialized bytes: array[0, 0, 0] +bytes from display: array[7, 8, 9] +bytes from lambda: array[20, 21, 22] +uninitialized 1bytes: array[1, 1, 1] +1bytes from display: array[7, 8, 9] +1bytes from lambda: array[20, 21, 22] +17 19 18 20 +100 200 300 120 38 +hello [0, 1, 2, 3, 4] [2, 2, 2, 2, 2] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[77, 77, 77, 77, 77, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 78, 78, 78, 78, 78] +[99, 99, 99, 99, 99, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 82, 82, 82, 82, 82] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +[0, 0, 0, 0, 0, 20, 21, 22, 23, 24, 20, 21, 22, 23, 24, 60, 60, 60, 60, 60] +DDDDDabcdeabcdeggggg +DDDDDabcdeabcdeggggg +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 50, 78, 78, 78, 78, 78, 50, 78, 78, 78] +[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 60, 60, 60, 60, 60, 50, 60, 60, 60] +[D, D, D, D, D, D, D, D, D, D, a, g, g, g, g, g, a, g, g, g] +0 69 50 +0 69 50 +D k n +false false +true true +false false +false false +true true diff --git a/Test/comp/AsIs-Compile.dfy b/Test/comp/AsIs-Compile.dfy index 47084ed7633..319847564e2 100644 --- a/Test/comp/AsIs-Compile.dfy +++ b/Test/comp/AsIs-Compile.dfy @@ -1,10 +1,4 @@ -// RUN: %baredafny verify %args "%s" > "%t" -// RUN: %baredafny run --no-verify -t=cs %args "%s" >> "%t" -// RUN: %baredafny run --no-verify -t=js %args "%s" >> "%t" -// RUN: %baredafny run --no-verify -t=go %args "%s" >> "%t" -// RUN: %baredafny run --no-verify -t=java %args "%s" >> "%t" -// RUN: %baredafny run --no-verify -t=py %args "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" method Main() { var a: A, b: B, c: C, k: K, l: L := new M, new M, new M, new K, new L; diff --git a/Test/comp/AsIs-Compile.dfy.expect b/Test/comp/AsIs-Compile.dfy.expect index 36dfe46e91d..acc78c6e155 100644 --- a/Test/comp/AsIs-Compile.dfy.expect +++ b/Test/comp/AsIs-Compile.dfy.expect @@ -1,163 +1,3 @@ - -Dafny program verifier finished with 6 verified, 0 errors - -Dafny program verifier did not attempt verification -true true true true true -true true true true true -IsComparisons ---- -false true false false - true false false - true false -false false true false - false true false - false false -false false false true - false false true - false true -false true false false - false true false - false false -true true -false true -TestNullIs ---- -true true -true true -true true true true true true -true true true true true true -true true true true true true -true true true true true true -true true -false true -true true true true true true -false true false true false true -true true true true true true -false true false true false true -TestFromTraits ---- -5 -0 -4 -4 -4 -4 - -Dafny program verifier did not attempt verification -true true true true true -true true true true true -IsComparisons ---- -false true false false - true false false - true false -false false true false - false true false - false false -false false false true - false false true - false true -false true false false - false true false - false false -true true -false true -TestNullIs ---- -true true -true true -true true true true true true -true true true true true true -true true true true true true -true true true true true true -true true -false true -true true true true true true -false true false true false true -true true true true true true -false true false true false true -TestFromTraits ---- -5 -0 -4 -4 -4 -4 - -Dafny program verifier did not attempt verification -true true true true true -true true true true true -IsComparisons ---- -false true false false - true false false - true false -false false true false - false true false - false false -false false false true - false false true - false true -false true false false - false true false - false false -true true -false true -TestNullIs ---- -true true -true true -true true true true true true -true true true true true true -true true true true true true -true true true true true true -true true -false true -true true true true true true -false true false true false true -true true true true true true -false true false true false true -TestFromTraits ---- -5 -0 -4 -4 -4 -4 - -Dafny program verifier did not attempt verification -true true true true true -true true true true true -IsComparisons ---- -false true false false - true false false - true false -false false true false - false true false - false false -false false false true - false false true - false true -false true false false - false true false - false false -true true -false true -TestNullIs ---- -true true -true true -true true true true true true -true true true true true true -true true true true true true -true true true true true true -true true -false true -true true true true true true -false true false true false true -true true true true true true -false true false true false true -TestFromTraits ---- -5 -0 -4 -4 -4 -4 - -Dafny program verifier did not attempt verification true true true true true true true true true true IsComparisons ---- diff --git a/Test/comp/AutoInit.dfy b/Test/comp/AutoInit.dfy index b284619a80c..c0e752efa36 100644 --- a/Test/comp/AutoInit.dfy +++ b/Test/comp/AutoInit.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This file tests the compilation of some default values. It also includes some // regression tests for equality, printing, and tuples. diff --git a/Test/comp/AutoInit.dfy.expect b/Test/comp/AutoInit.dfy.expect index 51533cc6d5e..e68e2e43764 100644 --- a/Test/comp/AutoInit.dfy.expect +++ b/Test/comp/AutoInit.dfy.expect @@ -1,163 +1,3 @@ - -Dafny program verifier finished with 21 verified, 0 errors - -Dafny program verifier did not attempt verification -3 false 0 -false false true -() (0, false, false, []) -(null, 0) (null, 0) true -(null, null, null, 0) (null, null, null, 0) true -true false false true -true false false true -17 -1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or -(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) -1 -ww == null -- yes, as expected -true true true true -true true true -true true true -null null -null null -null null null -null null null -null null null -null null null -null null -null null null -null null null -DatatypeDefaultValues.EnumDatatype.MakeZero - DatatypeDefaultValues.IntList.Nil - 0 -DatatypeDefaultValues.GenericTree.Leaf - DatatypeDefaultValues.Complicated.ComplA(0, false) - DatatypeDefaultValues.CellCell.MakeCellCell(0) -null - null -Library.Color.Red(0) and Library.Color.Red(0) -Library.CoColor.Yellow and Library.CoColor.Yellow -Library.MoColor.MoYellow and Library.MoColor.MoYellow -0.0 and 0.0 -13 - -Dafny program verifier did not attempt verification -3 false 0 -false false true -() (0, false, false, []) -(null, 0) (null, 0) true -(null, null, null, 0) (null, null, null, 0) true -true false false true -true false false true -17 -1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or -(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) -1 -ww == null -- yes, as expected -true true true true -true true true -true true true -null null -null null -null null null -null null null -null null null -null null null -null null -null null null -null null null -DatatypeDefaultValues.EnumDatatype.MakeZero - DatatypeDefaultValues.IntList.Nil - 0 -DatatypeDefaultValues.GenericTree.Leaf - DatatypeDefaultValues.Complicated.ComplA(0, false) - DatatypeDefaultValues.CellCell.MakeCellCell(0) -null - null -Library.Color.Red(0) and Library.Color.Red(0) -Library.CoColor.Yellow and Library.CoColor.Yellow -Library.MoColor.MoYellow and Library.MoColor.MoYellow -0.0 and 0.0 -13 - -Dafny program verifier did not attempt verification -3 false 0 -false false true -() (0, false, false, []) -(null, 0) (null, 0) true -(null, null, null, 0) (null, null, null, 0) true -true false false true -true false false true -17 -1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or -(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) -1 -ww == null -- yes, as expected -true true true true -true true true -true true true -null null -null null -null null null -null null null -null null null -null null null -null null -null null null -null null null -DatatypeDefaultValues.EnumDatatype.MakeZero - DatatypeDefaultValues.IntList.Nil - 0 -DatatypeDefaultValues.GenericTree.Leaf - DatatypeDefaultValues.Complicated.ComplA(0, false) - DatatypeDefaultValues.CellCell.MakeCellCell(0) -null - null -Library.Color.Red(0) and Library.Color.Red(0) -Library.CoColor.Yellow and Library.CoColor.Yellow -Library.MoColor.MoYellow and Library.MoColor.MoYellow -0.0 and 0.0 -13 - -Dafny program verifier did not attempt verification -3 false 0 -false false true -() (0, false, false, []) -(null, 0) (null, 0) true -(null, null, null, 0) (null, null, null, 0) true -true false false true -true false false true -17 -1 3 9 0 0 ThisOrThat.Or ThisOrThat.Or -(1, 3, 9, 0, 0, ThisOrThat.Or, ThisOrThat.Or) -1 -ww == null -- yes, as expected -true true true true -true true true -true true true -null null -null null -null null null -null null null -null null null -null null null -null null -null null null -null null null -DatatypeDefaultValues.EnumDatatype.MakeZero - DatatypeDefaultValues.IntList.Nil - 0 -DatatypeDefaultValues.GenericTree.Leaf - DatatypeDefaultValues.Complicated.ComplA(0, false) - DatatypeDefaultValues.CellCell.MakeCellCell(0) -null - null -Library.Color.Red(0) and Library.Color.Red(0) -Library.CoColor.Yellow and Library.CoColor.Yellow -Library.MoColor.MoYellow and Library.MoColor.MoYellow -0.0 and 0.0 -13 - -Dafny program verifier did not attempt verification 3 false 0 false false true () (0, false, false, []) diff --git a/Test/comp/ByMethodCompilation.dfy b/Test/comp/ByMethodCompilation.dfy index ea62d84b21e..7432f72f7d4 100644 --- a/Test/comp/ByMethodCompilation.dfy +++ b/Test/comp/ByMethodCompilation.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method Main() { var four := Four(); diff --git a/Test/comp/ByMethodCompilation.dfy.expect b/Test/comp/ByMethodCompilation.dfy.expect index 1519a955b0c..d61780e3fb8 100644 --- a/Test/comp/ByMethodCompilation.dfy.expect +++ b/Test/comp/ByMethodCompilation.dfy.expect @@ -1,35 +1,3 @@ - -Dafny program verifier finished with 13 verified, 0 errors - -Dafny program verifier did not attempt verification -hello -four is 4 -Recursive(7) = 14 -NonCompilableFunction: 4 7 -Sums: 14 3 - -Dafny program verifier did not attempt verification -hello -four is 4 -Recursive(7) = 14 -NonCompilableFunction: 4 7 -Sums: 14 3 - -Dafny program verifier did not attempt verification -hello -four is 4 -Recursive(7) = 14 -NonCompilableFunction: 4 7 -Sums: 14 3 - -Dafny program verifier did not attempt verification -hello -four is 4 -Recursive(7) = 14 -NonCompilableFunction: 4 7 -Sums: 14 3 - -Dafny program verifier did not attempt verification hello four is 4 Recursive(7) = 14 diff --git a/Test/comp/Calls.dfy b/Test/comp/Calls.dfy index 4a4916aea0c..c56bc3e5286 100644 --- a/Test/comp/Calls.dfy +++ b/Test/comp/Calls.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function F(x: int, y: bool): int { x + if y then 2 else 3 diff --git a/Test/comp/Calls.dfy.expect b/Test/comp/Calls.dfy.expect index 3317b8be164..cf4e1bc155b 100644 --- a/Test/comp/Calls.dfy.expect +++ b/Test/comp/Calls.dfy.expect @@ -1,43 +1,3 @@ - -Dafny program verifier finished with 6 verified, 0 errors - -Dafny program verifier did not attempt verification -5 0 0 false 0 false 0 -5 3 5 3 5 3 -5 3 5 3 5 3 -15 -[0, 1, 2, 4] -[0, 2, 4] ---> 5 <-- - -Dafny program verifier did not attempt verification -5 0 0 false 0 false 0 -5 3 5 3 5 3 -5 3 5 3 5 3 -15 -[0, 1, 2, 4] -[0, 2, 4] ---> 5 <-- - -Dafny program verifier did not attempt verification -5 0 0 false 0 false 0 -5 3 5 3 5 3 -5 3 5 3 5 3 -15 -[0, 1, 2, 4] -[0, 2, 4] ---> 5 <-- - -Dafny program verifier did not attempt verification -5 0 0 false 0 false 0 -5 3 5 3 5 3 -5 3 5 3 5 3 -15 -[0, 1, 2, 4] -[0, 2, 4] ---> 5 <-- - -Dafny program verifier did not attempt verification 5 0 0 false 0 false 0 5 3 5 3 5 3 5 3 5 3 5 3 diff --git a/Test/comp/Class.dfy b/Test/comp/Class.dfy index fb994f008e7..23591e43450 100644 --- a/Test/comp/Class.dfy +++ b/Test/comp/Class.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation class MyClass { var a: int diff --git a/Test/comp/Class.dfy.expect b/Test/comp/Class.dfy.expect index ba1482a164b..47e49966664 100644 --- a/Test/comp/Class.dfy.expect +++ b/Test/comp/Class.dfy.expect @@ -1,75 +1,3 @@ - -Dafny program verifier finished with 16 verified, 0 errors - -Dafny program verifier did not attempt verification -true true false -103 103 103 106 106 106 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -0 18 9 70 -0 18 9 70 -0 18 9 70 -70 -hi later -21 4 42 5 1 -TestGhostables -15 -Init called with x=15 -16 - -Dafny program verifier did not attempt verification -true true false -103 103 103 106 106 106 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -0 18 9 70 -0 18 9 70 -0 18 9 70 -70 -hi later -21 4 42 5 1 -TestGhostables -15 -Init called with x=15 -16 - -Dafny program verifier did not attempt verification -true true false -103 103 103 106 106 106 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -0 18 9 70 -0 18 9 70 -0 18 9 70 -70 -hi later -21 4 42 5 1 -TestGhostables -15 -Init called with x=15 -16 - -Dafny program verifier did not attempt verification -true true false -103 103 103 106 106 106 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -203 17 0 18 8 9 69 70 -0 18 9 70 -0 18 9 70 -0 18 9 70 -70 -hi later -21 4 42 5 1 -TestGhostables -15 -Init called with x=15 -16 - -Dafny program verifier did not attempt verification true true false 103 103 103 106 106 106 203 17 0 18 8 9 69 70 diff --git a/Test/comp/Collections.dfy b/Test/comp/Collections.dfy index 104eb9f90ac..cd8c9e23808 100644 --- a/Test/comp/Collections.dfy +++ b/Test/comp/Collections.dfy @@ -1,10 +1,5 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false method Main() { Sets(); diff --git a/Test/comp/Collections.dfy.expect b/Test/comp/Collections.dfy.expect index 2361c1a88db..e705d887a7d 100644 --- a/Test/comp/Collections.dfy.expect +++ b/Test/comp/Collections.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 40 verified, 0 errors - -Dafny program verifier did not attempt verification Sets: {} {17, 82} {12, 17} cardinality: 0 2 2 union: {17, 82} {12, 17, 82} @@ -127,511 +123,3 @@ Multiset=== 1 3 |s|=2 |u|=4 1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Yellow := 21, Color.Blue := 30] -keys: {Color.Yellow, Color.Blue} -values: {21, 30} -items: {(Color.Yellow, 21), (Color.Blue, 30)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -e e e e e e -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {21, 30} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/comp/Collections.dfy.go.expect b/Test/comp/Collections.dfy.go.expect new file mode 100644 index 00000000000..309d0c550c4 --- /dev/null +++ b/Test/comp/Collections.dfy.go.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/comp/Collections.dfy.java.expect b/Test/comp/Collections.dfy.java.expect new file mode 100644 index 00000000000..ed929a4d34c --- /dev/null +++ b/Test/comp/Collections.dfy.java.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Yellow := 21, Color.Blue := 30] +keys: {Color.Yellow, Color.Blue} +values: {21, 30} +items: {(Color.Yellow, 21), (Color.Blue, 30)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/comp/Collections.dfy.js.expect b/Test/comp/Collections.dfy.js.expect new file mode 100644 index 00000000000..309d0c550c4 --- /dev/null +++ b/Test/comp/Collections.dfy.js.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/comp/Collections.dfy.py.expect b/Test/comp/Collections.dfy.py.expect new file mode 100644 index 00000000000..61b4217bbaf --- /dev/null +++ b/Test/comp/Collections.dfy.py.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +e e e e e e +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {21, 30} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/comp/Comprehensions.dfy b/Test/comp/Comprehensions.dfy index 29ac368f2c3..931f06ee851 100644 --- a/Test/comp/Comprehensions.dfy +++ b/Test/comp/Comprehensions.dfy @@ -1,10 +1,5 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false method Main() { AssignSuchThat(); diff --git a/Test/comp/Comprehensions.dfy.expect b/Test/comp/Comprehensions.dfy.expect index 18159ddde0a..c9703fc9397 100644 --- a/Test/comp/Comprehensions.dfy.expect +++ b/Test/comp/Comprehensions.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 32 verified, 0 errors - -Dafny program verifier did not attempt verification x=13 y=14 x=13 y=14 b=yes true false @@ -64,259 +60,3 @@ true true [137438953474, 137438953475, 137438953476, 137438953477, 137438953479] cdefh cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[14 := 7, 12 := 6, 13 := 6] -map[18 := 14, 17 := 13, 16 := 12] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh diff --git a/Test/comp/Comprehensions.dfy.py.expect b/Test/comp/Comprehensions.dfy.py.expect new file mode 100644 index 00000000000..aeaa31fc0f3 --- /dev/null +++ b/Test/comp/Comprehensions.dfy.py.expect @@ -0,0 +1,62 @@ +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[14 := 7, 12 := 6, 13 := 6] +map[18 := 14, 17 := 13, 16 := 12] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh diff --git a/Test/comp/ComprehensionsNewSyntax.dfy b/Test/comp/ComprehensionsNewSyntax.dfy index a324b622e8a..4d3b1d0cd5d 100644 --- a/Test/comp/ComprehensionsNewSyntax.dfy +++ b/Test/comp/ComprehensionsNewSyntax.dfy @@ -1,10 +1,5 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method Main() { Quantifier(); diff --git a/Test/comp/ComprehensionsNewSyntax.dfy.expect b/Test/comp/ComprehensionsNewSyntax.dfy.expect index 408769f4b67..b70314ff87b 100644 --- a/Test/comp/ComprehensionsNewSyntax.dfy.expect +++ b/Test/comp/ComprehensionsNewSyntax.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 10 verified, 0 errors - -Dafny program verifier did not attempt verification true false true false map[12 := 6, 13 := 6, 14 := 7] @@ -36,147 +32,3 @@ false false false false true true true true false false false false true true true true - -Dafny program verifier did not attempt verification -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true - -Dafny program verifier did not attempt verification -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true - -Dafny program verifier did not attempt verification -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true - -Dafny program verifier did not attempt verification -true false -true false -map[14 := 7, 12 := 6, 13 := 6] -map[18 := 14, 17 := 13, 16 := 12] -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true diff --git a/Test/comp/ComprehensionsNewSyntax.dfy.py.expect b/Test/comp/ComprehensionsNewSyntax.dfy.py.expect new file mode 100644 index 00000000000..b19cef0ba0e --- /dev/null +++ b/Test/comp/ComprehensionsNewSyntax.dfy.py.expect @@ -0,0 +1,34 @@ +true false +true false +map[14 := 7, 12 := 6, 13 := 6] +map[18 := 14, 17 := 13, 16 := 12] +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true diff --git a/Test/comp/CovariantCollections.dfy b/Test/comp/CovariantCollections.dfy index 12301df3b09..6dd73ee7fea 100644 --- a/Test/comp/CovariantCollections.dfy +++ b/Test/comp/CovariantCollections.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method Main() { Sequences(); diff --git a/Test/comp/CovariantCollections.dfy.expect b/Test/comp/CovariantCollections.dfy.expect index e029d3abc3b..a9d00f4a65d 100644 --- a/Test/comp/CovariantCollections.dfy.expect +++ b/Test/comp/CovariantCollections.dfy.expect @@ -1,223 +1,3 @@ - -Dafny program verifier finished with 25 verified, 0 errors - -Dafny program verifier did not attempt verification -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17] [12, 17] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - comprehension: {82} - union: {17, 82} {12, 17, 82} - intersection: {} {17} - difference: {} {82} - subset: true false true - proper subset: true false false - membership: false true true -Multisets: {} {17, 17, 82, 82} {12, 17} - cardinality: 0 4 2 - update: {17, 17, 42, 42, 42} {12, 17, 42} - multiplicity: 2 0 20 - union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} - intersection: {} {17, 82, 82} - difference: {} {17, 82, 82} - subset: true false true - proper subset: true false false - membership: false true true -Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} - cardinality: 0 3 2 - update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} - comprehension: {17 := 12, 82 := 12} - Keys: {12, 17, 82} - Values: {17, 82} - eq: false true true - eq: true true true true true true - eq: true true true true true true - eq: true false true false true false - eq: true false true false true false - eq: true true true true true true - eq: true true true true true true -set: {20, 30} -multiset: {20, 30} -seq: [20, 30] -map: {20 := 30, 30 := 20} -true -true -1 1 -1 1 - -Dafny program verifier did not attempt verification -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17] [12, 17] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - comprehension: {82} - union: {17, 82} {12, 17, 82} - intersection: {} {17} - difference: {} {82} - subset: true false true - proper subset: true false false - membership: false true true -Multisets: {} {17, 17, 82, 82} {12, 17} - cardinality: 0 4 2 - update: {17, 17, 42, 42, 42} {12, 17, 42} - multiplicity: 2 0 20 - union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} - intersection: {} {17, 82, 82} - difference: {} {17, 82, 82} - subset: true false true - proper subset: true false false - membership: false true true -Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} - cardinality: 0 3 2 - update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} - comprehension: {17 := 12, 82 := 12} - Keys: {12, 17, 82} - Values: {17, 82} - eq: false true true - eq: true true true true true true - eq: true true true true true true - eq: true false true false true false - eq: true false true false true false - eq: true true true true true true - eq: true true true true true true -set: {20, 30} -multiset: {20, 30} -seq: [20, 30] -map: {20 := 30, 30 := 20} -true -true -1 1 -1 1 - -Dafny program verifier did not attempt verification -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17] [12, 17] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - comprehension: {82} - union: {17, 82} {12, 17, 82} - intersection: {} {17} - difference: {} {82} - subset: true false true - proper subset: true false false - membership: false true true -Multisets: {} {17, 17, 82, 82} {12, 17} - cardinality: 0 4 2 - update: {17, 17, 42, 42, 42} {12, 17, 42} - multiplicity: 2 0 20 - union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} - intersection: {} {17, 82, 82} - difference: {} {17, 82, 82} - subset: true false true - proper subset: true false false - membership: false true true -Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} - cardinality: 0 3 2 - update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} - comprehension: {17 := 12, 82 := 12} - Keys: {12, 17, 82} - Values: {17, 82} - eq: false true true - eq: true true true true true true - eq: true true true true true true - eq: true false true false true false - eq: true false true false true false - eq: true true true true true true - eq: true true true true true true -set: {20, 30} -multiset: {20, 30} -seq: [20, 30] -map: {20 := 30, 30 := 20} -true -true -1 1 -1 1 - -Dafny program verifier did not attempt verification -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17] [12, 17] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - comprehension: {82} - union: {17, 82} {12, 17, 82} - intersection: {} {17} - difference: {} {82} - subset: true false true - proper subset: true false false - membership: false true true -Multisets: {} {17, 17, 82, 82} {12, 17} - cardinality: 0 4 2 - update: {17, 17, 42, 42, 42} {12, 17, 42} - multiplicity: 2 0 20 - union: {17, 17, 82, 82} {12, 17, 17, 17, 82, 82} - intersection: {} {17, 82, 82} - difference: {} {17, 82, 82} - subset: true false true - proper subset: true false false - membership: false true true -Maps: {} {12 := 17, 17 := 82, 82 := 17} {12 := 17, 17 := 17} - cardinality: 0 3 2 - update: {12 := 17, 17 := 82, 42 := 17, 82 := 17} {12 := 42, 17 := 17} - comprehension: {17 := 12, 82 := 12} - Keys: {12, 17, 82} - Values: {17, 82} - eq: false true true - eq: true true true true true true - eq: true true true true true true - eq: true false true false true false - eq: true false true false true false - eq: true true true true true true - eq: true true true true true true -set: {20, 30} -multiset: {20, 30} -seq: [20, 30] -map: {20 := 30, 30 := 20} -true -true -1 1 -1 1 - -Dafny program verifier did not attempt verification Sequences: [] [17, 82, 17, 82] [12, 17] cardinality: 0 4 2 update: [42, 82, 17, 82] [42, 17] diff --git a/Test/comp/Datatype.dfy b/Test/comp/Datatype.dfy index 2599907a94c..6d306f03c83 100644 --- a/Test/comp/Datatype.dfy +++ b/Test/comp/Datatype.dfy @@ -1,10 +1,5 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation datatype List = Nil | Cons(head: int, tail: List) diff --git a/Test/comp/Datatype.dfy.expect b/Test/comp/Datatype.dfy.expect index 84dceeb16e6..93e37a9562a 100644 --- a/Test/comp/Datatype.dfy.expect +++ b/Test/comp/Datatype.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 12 verified, 0 errors - -Dafny program verifier did not attempt verification List.Nil List.Cons(5, List.Nil) (List.Nil, List.Cons(5, List.Nil)) @@ -24,99 +20,3 @@ Record.Record(58, true) 199 800 801 802 800 801 802 - -Dafny program verifier did not attempt verification -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) -0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) -Stream.Next -Stream.Next -{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} -CoBerry.Hjortron true true false -false -42 'q' hello -1701 -Record.Record(58, true) -199 -800 801 802 -800 801 802 - -Dafny program verifier did not attempt verification -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) -0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) -Stream.Next -Stream.Next -{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} -CoBerry.Hjortron true true false -false -42 'q' hello -1701 -Record.Record(58, true) -199 -800 801 802 -800 801 802 - -Dafny program verifier did not attempt verification -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) -0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) -Stream.Next -Stream.Next -{Berry.Jordgubb, Berry.Smultron, Berry.Hallon} -CoBerry.Hjortron true true false -false -42 'q' hello -1701 -Record.Record(58, true) -199 -800 801 802 -800 801 802 - -Dafny program verifier did not attempt verification -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) -0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) -Stream.Next -Stream.Next -{Berry.Hallon, Berry.Smultron, Berry.Jordgubb} -CoBerry.Hjortron true true false -false -42 'q' hello -1701 -Record.Record(58, true) -199 -800 801 802 -800 801 802 diff --git a/Test/comp/Datatype.dfy.java.expect b/Test/comp/Datatype.dfy.java.expect new file mode 100644 index 00000000000..e5a32fd58bc --- /dev/null +++ b/Test/comp/Datatype.dfy.java.expect @@ -0,0 +1,22 @@ +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) +0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) +Stream.Next +Stream.Next +{Berry.Jordgubb, Berry.Smultron, Berry.Hallon} +CoBerry.Hjortron true true false +false +42 'q' hello +1701 +Record.Record(58, true) +199 +800 801 802 +800 801 802 diff --git a/Test/comp/Datatype.dfy.py.expect b/Test/comp/Datatype.dfy.py.expect new file mode 100644 index 00000000000..0f64b73ba2d --- /dev/null +++ b/Test/comp/Datatype.dfy.py.expect @@ -0,0 +1,22 @@ +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Nil)))) +0 List.Cons(1, List.Cons(2, List.Cons(3, List.Nil))) +Stream.Next +Stream.Next +{Berry.Hallon, Berry.Smultron, Berry.Jordgubb} +CoBerry.Hjortron true true false +false +42 'q' hello +1701 +Record.Record(58, true) +199 +800 801 802 +800 801 802 diff --git a/Test/comp/DefaultParameters-Compile.dfy b/Test/comp/DefaultParameters-Compile.dfy index 145b8670647..cd6ba1163b1 100644 --- a/Test/comp/DefaultParameters-Compile.dfy +++ b/Test/comp/DefaultParameters-Compile.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method M(x: int := 16) { print x, "\n"; diff --git a/Test/comp/DefaultParameters-Compile.dfy.expect b/Test/comp/DefaultParameters-Compile.dfy.expect index b94739d5be1..b4b87321eb5 100644 --- a/Test/comp/DefaultParameters-Compile.dfy.expect +++ b/Test/comp/DefaultParameters-Compile.dfy.expect @@ -1,51 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification -12 -16 -1 2 -1 3 -10 20 -11 13 -Color.Blue(2, 1) Color.Red(3, 4) -5 5 6 -6 6 7 - -Dafny program verifier did not attempt verification -12 -16 -1 2 -1 3 -10 20 -11 13 -Color.Blue(2, 1) Color.Red(3, 4) -5 5 6 -6 6 7 - -Dafny program verifier did not attempt verification -12 -16 -1 2 -1 3 -10 20 -11 13 -Color.Blue(2, 1) Color.Red(3, 4) -5 5 6 -6 6 7 - -Dafny program verifier did not attempt verification -12 -16 -1 2 -1 3 -10 20 -11 13 -Color.Blue(2, 1) Color.Red(3, 4) -5 5 6 -6 6 7 - -Dafny program verifier did not attempt verification 12 16 1 2 diff --git a/Test/comp/DowncastClone.dfy b/Test/comp/DowncastClone.dfy index b90066da781..cb1f095b3f4 100644 --- a/Test/comp/DowncastClone.dfy +++ b/Test/comp/DowncastClone.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Co<+T> = Co(T) | C datatype ReCo<+T> = ReCo(T) diff --git a/Test/comp/DowncastClone.dfy.expect b/Test/comp/DowncastClone.dfy.expect index 982b36b396c..b0613294f3c 100644 --- a/Test/comp/DowncastClone.dfy.expect +++ b/Test/comp/DowncastClone.dfy.expect @@ -1,43 +1,3 @@ - -Dafny program verifier finished with 7 verified, 0 errors - -Dafny program verifier did not attempt verification -Co.Co(_module.Y) and Co.Co(_module.Y) -_module.Y and _module.Y -_module.Y _module.Y -false and false -false and false -_module.Y and _module.Y -Done - -Dafny program verifier did not attempt verification -Co.Co(_module.Y) and Co.Co(_module.Y) -_module.Y and _module.Y -_module.Y _module.Y -false and false -false and false -_module.Y and _module.Y -Done - -Dafny program verifier did not attempt verification -Co.Co(_module.Y) and Co.Co(_module.Y) -_module.Y and _module.Y -_module.Y _module.Y -false and false -false and false -_module.Y and _module.Y -Done - -Dafny program verifier did not attempt verification -Co.Co(_module.Y) and Co.Co(_module.Y) -_module.Y and _module.Y -_module.Y _module.Y -false and false -false and false -_module.Y and _module.Y -Done - -Dafny program verifier did not attempt verification Co.Co(_module.Y) and Co.Co(_module.Y) _module.Y and _module.Y _module.Y _module.Y diff --git a/Test/comp/ErasableTypeWrappers.dfy b/Test/comp/ErasableTypeWrappers.dfy index d62d3736622..a280099699f 100644 --- a/Test/comp/ErasableTypeWrappers.dfy +++ b/Test/comp/ErasableTypeWrappers.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false datatype SingletonRecord = SingletonRecord(u: int) datatype GhostOrNot = ghost Ghost(a: int, b: int) | Compiled(x: int) diff --git a/Test/comp/ErasableTypeWrappers.dfy.expect b/Test/comp/ErasableTypeWrappers.dfy.expect index 5013d9fc327..2a82d776c64 100644 --- a/Test/comp/ErasableTypeWrappers.dfy.expect +++ b/Test/comp/ErasableTypeWrappers.dfy.expect @@ -1,87 +1,3 @@ - -Dafny program verifier finished with 10 verified, 0 errors - -Dafny program verifier did not attempt verification -62 63 (2, 5) (2, 5) 3 -62 63 5 5 3 -5 5 3 -1062 1063 1005 1005 1003 -true true true -20 20 *20 21 20 -20 20 *20 21 20 -true false -true false true false -true false -0 (0, 0) 0 Color.Pink -13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false - 3.14 2.7 -18.0 18.0 3.0 false -18.0 4.0 true -HasConst.MakeC(4) (4, 4) -4 (4, 4) -OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.AnotherIntsWrapper(OptimizationChecks.Ints.Ints(5, 7)) - -Dafny program verifier did not attempt verification -62 63 (2, 5) (2, 5) 3 -62 63 5 5 3 -5 5 3 -1062 1063 1005 1005 1003 -true true true -20 20 *20 21 20 -20 20 *20 21 20 -true false -true false true false -true false -0 (0, 0) 0 Color.Pink -13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false - 3.14 2.7 -18.0 18.0 3.0 false -18.0 4.0 true -HasConst.MakeC(4) (4, 4) -4 (4, 4) -OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.AnotherIntsWrapper(OptimizationChecks.Ints.Ints(5, 7)) - -Dafny program verifier did not attempt verification -62 63 (2, 5) (2, 5) 3 -62 63 5 5 3 -5 5 3 -1062 1063 1005 1005 1003 -true true true -20 20 *20 21 20 -20 20 *20 21 20 -true false -true false true false -true false -0 (0, 0) 0 Color.Pink -13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false - 3.14 2.7 -18.0 18.0 3.0 false -18.0 4.0 true -HasConst.MakeC(4) (4, 4) -4 (4, 4) -OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.AnotherIntsWrapper(OptimizationChecks.Ints.Ints(5, 7)) - -Dafny program verifier did not attempt verification -62 63 (2, 5) (2, 5) 3 -62 63 5 5 3 -5 5 3 -1062 1063 1005 1005 1003 -true true true -20 20 *20 21 20 -20 20 *20 21 20 -true false -true false true false -true false -0 (0, 0) 0 Color.Pink -13 13 13 GenericDouble.GenericDouble(13, 0) 0 13 false - 3.14 2.7 -18.0 18.0 3.0 false -18.0 4.0 true -HasConst.MakeC(4) (4, 4) -4 (4, 4) -OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.Ints(5, 7) OptimizationChecks.Ints.AnotherIntsWrapper(OptimizationChecks.Ints.Ints(5, 7)) - -Dafny program verifier did not attempt verification 62 63 (2, 5) (2, 5) 3 62 63 5 5 3 5 5 3 diff --git a/Test/comp/EuclideanDivision.dfy b/Test/comp/EuclideanDivision.dfy index 7ae1803cad8..1286dcd125b 100644 --- a/Test/comp/EuclideanDivision.dfy +++ b/Test/comp/EuclideanDivision.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Some runtimes (like the one for C#) have three implementations // of Euclidean div/mod: one for `int`, one for `long`, and one diff --git a/Test/comp/EuclideanDivision.dfy.expect b/Test/comp/EuclideanDivision.dfy.expect index b538c9494de..e2585ff8c70 100644 --- a/Test/comp/EuclideanDivision.dfy.expect +++ b/Test/comp/EuclideanDivision.dfy.expect @@ -1,39 +1,3 @@ - -Dafny program verifier finished with 11 verified, 0 errors - -Dafny program verifier did not attempt verification -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 - -Dafny program verifier did not attempt verification -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 - -Dafny program verifier did not attempt verification -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 - -Dafny program verifier did not attempt verification -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 -2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 - -Dafny program verifier did not attempt verification 2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 2 -1 -2 1 2 -2 -2 2 -33 -33 -33 -32 -34 -34 -33 -33 1 2 0 1 2 1 0 2 1 2 0 1 2 1 0 2 diff --git a/Test/comp/ForLoops-Compilation.dfy b/Test/comp/ForLoops-Compilation.dfy index 97101b82961..b468d21f69f 100644 --- a/Test/comp/ForLoops-Compilation.dfy +++ b/Test/comp/ForLoops-Compilation.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method Main() { TestM(0, 0); diff --git a/Test/comp/ForLoops-Compilation.dfy.expect b/Test/comp/ForLoops-Compilation.dfy.expect index d67a5429fed..97724a714bc 100644 --- a/Test/comp/ForLoops-Compilation.dfy.expect +++ b/Test/comp/ForLoops-Compilation.dfy.expect @@ -1,203 +1,3 @@ - -Dafny program verifier finished with 23 verified, 0 errors - -Dafny program verifier did not attempt verification -0 0 0 0 --2 -2 -2 -2 -0 0 0 0 -145 145 145 145 -0 0 -0 0 -57 57 -0 0 -32385 32385 -0 0 --128 -128 -126 126 -0 0 -0 * 2 == 0 -2 * 0 == 0 -1 * 1 == 1 -6 * 5 == 30 -0 + 3 == 3 -3 + 0 == 3 -4 + 0 == 4 -0 + 0 == 0 -19 + 14 == 33 -4 4 4 -== BC10 == -0 --++--++---- *** -1 --++--++----++-- -2 --++--++----++--++--++--++--++--++--++ *** -3 --++--++----++--++--++--++--++--++--++ *** -4 --++--++----++--++--++--++--++--++--++ *** -5 --++--++----++--++--++--++--++--++--++ *** -6 --++--++----++--++--++--++--++--++--++ *** -7 --++--++----++--++--++--++--++--++--++ *** -8 --++--++----++--++--++--++--++--++--++ *** -9 --++--++----++--++--++--++--++--++--++ *** -== BC11 == -0 ||--++----++-- *** -1 ||--++----++--++-- -2 ||--++----++--++--++--++--++--++--++--++ *** -3 ||--++----++--++--++--++--++--++--++--++ *** -4 ||--++----++--++--++--++--++--++--++--++ *** -5 ||--++----++--++--++--++--++--++--++--++ *** -6 ||--++----++--++--++--++--++--++--++--++ *** -7 ||--++----++--++--++--++--++--++--++--++ *** -8 ||--++----++--++--++--++--++--++--++--++ *** -9 ||--++----++--++--++--++--++--++--++--++ *** -true true true 15 -all good - -Dafny program verifier did not attempt verification -0 0 0 0 --2 -2 -2 -2 -0 0 0 0 -145 145 145 145 -0 0 -0 0 -57 57 -0 0 -32385 32385 -0 0 --128 -128 -126 126 -0 0 -0 * 2 == 0 -2 * 0 == 0 -1 * 1 == 1 -6 * 5 == 30 -0 + 3 == 3 -3 + 0 == 3 -4 + 0 == 4 -0 + 0 == 0 -19 + 14 == 33 -4 4 4 -== BC10 == -0 --++--++---- *** -1 --++--++----++-- -2 --++--++----++--++--++--++--++--++--++ *** -3 --++--++----++--++--++--++--++--++--++ *** -4 --++--++----++--++--++--++--++--++--++ *** -5 --++--++----++--++--++--++--++--++--++ *** -6 --++--++----++--++--++--++--++--++--++ *** -7 --++--++----++--++--++--++--++--++--++ *** -8 --++--++----++--++--++--++--++--++--++ *** -9 --++--++----++--++--++--++--++--++--++ *** -== BC11 == -0 ||--++----++-- *** -1 ||--++----++--++-- -2 ||--++----++--++--++--++--++--++--++--++ *** -3 ||--++----++--++--++--++--++--++--++--++ *** -4 ||--++----++--++--++--++--++--++--++--++ *** -5 ||--++----++--++--++--++--++--++--++--++ *** -6 ||--++----++--++--++--++--++--++--++--++ *** -7 ||--++----++--++--++--++--++--++--++--++ *** -8 ||--++----++--++--++--++--++--++--++--++ *** -9 ||--++----++--++--++--++--++--++--++--++ *** -true true true 15 -all good - -Dafny program verifier did not attempt verification -0 0 0 0 --2 -2 -2 -2 -0 0 0 0 -145 145 145 145 -0 0 -0 0 -57 57 -0 0 -32385 32385 -0 0 --128 -128 -126 126 -0 0 -0 * 2 == 0 -2 * 0 == 0 -1 * 1 == 1 -6 * 5 == 30 -0 + 3 == 3 -3 + 0 == 3 -4 + 0 == 4 -0 + 0 == 0 -19 + 14 == 33 -4 4 4 -== BC10 == -0 --++--++---- *** -1 --++--++----++-- -2 --++--++----++--++--++--++--++--++--++ *** -3 --++--++----++--++--++--++--++--++--++ *** -4 --++--++----++--++--++--++--++--++--++ *** -5 --++--++----++--++--++--++--++--++--++ *** -6 --++--++----++--++--++--++--++--++--++ *** -7 --++--++----++--++--++--++--++--++--++ *** -8 --++--++----++--++--++--++--++--++--++ *** -9 --++--++----++--++--++--++--++--++--++ *** -== BC11 == -0 ||--++----++-- *** -1 ||--++----++--++-- -2 ||--++----++--++--++--++--++--++--++--++ *** -3 ||--++----++--++--++--++--++--++--++--++ *** -4 ||--++----++--++--++--++--++--++--++--++ *** -5 ||--++----++--++--++--++--++--++--++--++ *** -6 ||--++----++--++--++--++--++--++--++--++ *** -7 ||--++----++--++--++--++--++--++--++--++ *** -8 ||--++----++--++--++--++--++--++--++--++ *** -9 ||--++----++--++--++--++--++--++--++--++ *** -true true true 15 -all good - -Dafny program verifier did not attempt verification -0 0 0 0 --2 -2 -2 -2 -0 0 0 0 -145 145 145 145 -0 0 -0 0 -57 57 -0 0 -32385 32385 -0 0 --128 -128 -126 126 -0 0 -0 * 2 == 0 -2 * 0 == 0 -1 * 1 == 1 -6 * 5 == 30 -0 + 3 == 3 -3 + 0 == 3 -4 + 0 == 4 -0 + 0 == 0 -19 + 14 == 33 -4 4 4 -== BC10 == -0 --++--++---- *** -1 --++--++----++-- -2 --++--++----++--++--++--++--++--++--++ *** -3 --++--++----++--++--++--++--++--++--++ *** -4 --++--++----++--++--++--++--++--++--++ *** -5 --++--++----++--++--++--++--++--++--++ *** -6 --++--++----++--++--++--++--++--++--++ *** -7 --++--++----++--++--++--++--++--++--++ *** -8 --++--++----++--++--++--++--++--++--++ *** -9 --++--++----++--++--++--++--++--++--++ *** -== BC11 == -0 ||--++----++-- *** -1 ||--++----++--++-- -2 ||--++----++--++--++--++--++--++--++--++ *** -3 ||--++----++--++--++--++--++--++--++--++ *** -4 ||--++----++--++--++--++--++--++--++--++ *** -5 ||--++----++--++--++--++--++--++--++--++ *** -6 ||--++----++--++--++--++--++--++--++--++ *** -7 ||--++----++--++--++--++--++--++--++--++ *** -8 ||--++----++--++--++--++--++--++--++--++ *** -9 ||--++----++--++--++--++--++--++--++--++ *** -true true true 15 -all good - -Dafny program verifier did not attempt verification 0 0 0 0 -2 -2 -2 -2 0 0 0 0 diff --git a/Test/comp/ForallNewSyntax.dfy b/Test/comp/ForallNewSyntax.dfy index c17bf86830e..85e609b37b3 100644 --- a/Test/comp/ForallNewSyntax.dfy +++ b/Test/comp/ForallNewSyntax.dfy @@ -1,10 +1,4 @@ -// RUN: %baredafny verify %args --relax-definite-assignment --function-syntax:3 --quantifier-syntax:4 "%s" > "%t" -// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:cs "%s" >> "%t" -// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:js "%s" >> "%t" -// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:go "%s" >> "%t" -// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:java "%s" >> "%t" -// RUN: %baredafny run %args --function-syntax:3 --quantifier-syntax:4 --no-verify --target:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --function-syntax:3 --quantifier-syntax:4 --relax-definite-assignment method Main() { var arrayTests := new ArrayTests(); diff --git a/Test/comp/ForallNewSyntax.dfy.expect b/Test/comp/ForallNewSyntax.dfy.expect index 241ea9ea521..5b33d939607 100644 --- a/Test/comp/ForallNewSyntax.dfy.expect +++ b/Test/comp/ForallNewSyntax.dfy.expect @@ -1,183 +1,3 @@ - -Dafny program verifier finished with 25 verified, 0 errors - -Dafny program verifier did not attempt verification -Arrays: Basic cases -[0, 1, 2, 3, 4] -[0, 1, 2, 3, 4] -[0, 1, 4, 3, 8] - -Arrays: Wrong index -[0, 0, 1, 2, 3] -[0, 0, 1, 2, 3] -[1, 2, 3, 4, 5] - -Arrays: Sequence conversion -[2, 1, 4, 5, 6] -[0, 3, 3, 3, 4] - -Arrays: Index collection -[1, 1, 2, 3, 4] -[1, 1, 2, 3, 4] - -Arrays: Functions -[1, 1, 3, 4, 5] -[1, 1, 3, 4, 5] -[1, 2, 3, 3, 5] -[1, 2, 3, 4, 5] - -Multi-dimensional arrays -[[0, 2, 4], [1, 3, 5], [2, 4, 6]] -[[0, 1, 2], [2, 3, 4], [4, 5, 6]] - -Objects: Basic cases -[(0, 1.0), (0, 2.0), (0, 3.0)] -[(2, 1.0), (2, 2.0), (4, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] - -Objects: Bad field accesses -[(2, 1.0), (3, 2.0), (4, 3.0)] -[(2, 1.0), (2, 2.0), (2, 3.0)] -[(2, 1.0), (3, 2.0), (1, 3.0)] - -Objects: Functions -[(2, 1.0), (4, 2.0), (6, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] -[(3, 1.0), (4, 2.0), (5, 3.0)] - -Dafny program verifier did not attempt verification -Arrays: Basic cases -[0, 1, 2, 3, 4] -[0, 1, 2, 3, 4] -[0, 1, 4, 3, 8] - -Arrays: Wrong index -[0, 0, 1, 2, 3] -[0, 0, 1, 2, 3] -[1, 2, 3, 4, 5] - -Arrays: Sequence conversion -[2, 1, 4, 5, 6] -[0, 3, 3, 3, 4] - -Arrays: Index collection -[1, 1, 2, 3, 4] -[1, 1, 2, 3, 4] - -Arrays: Functions -[1, 1, 3, 4, 5] -[1, 1, 3, 4, 5] -[1, 2, 3, 3, 5] -[1, 2, 3, 4, 5] - -Multi-dimensional arrays -[[0, 2, 4], [1, 3, 5], [2, 4, 6]] -[[0, 1, 2], [2, 3, 4], [4, 5, 6]] - -Objects: Basic cases -[(0, 1.0), (0, 2.0), (0, 3.0)] -[(2, 1.0), (2, 2.0), (4, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] - -Objects: Bad field accesses -[(2, 1.0), (3, 2.0), (4, 3.0)] -[(2, 1.0), (2, 2.0), (2, 3.0)] -[(2, 1.0), (3, 2.0), (1, 3.0)] - -Objects: Functions -[(2, 1.0), (4, 2.0), (6, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] -[(3, 1.0), (4, 2.0), (5, 3.0)] - -Dafny program verifier did not attempt verification -Arrays: Basic cases -[0, 1, 2, 3, 4] -[0, 1, 2, 3, 4] -[0, 1, 4, 3, 8] - -Arrays: Wrong index -[0, 0, 1, 2, 3] -[0, 0, 1, 2, 3] -[1, 2, 3, 4, 5] - -Arrays: Sequence conversion -[2, 1, 4, 5, 6] -[0, 3, 3, 3, 4] - -Arrays: Index collection -[1, 1, 2, 3, 4] -[1, 1, 2, 3, 4] - -Arrays: Functions -[1, 1, 3, 4, 5] -[1, 1, 3, 4, 5] -[1, 2, 3, 3, 5] -[1, 2, 3, 4, 5] - -Multi-dimensional arrays -[[0, 2, 4], [1, 3, 5], [2, 4, 6]] -[[0, 1, 2], [2, 3, 4], [4, 5, 6]] - -Objects: Basic cases -[(0, 1.0), (0, 2.0), (0, 3.0)] -[(2, 1.0), (2, 2.0), (4, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] - -Objects: Bad field accesses -[(2, 1.0), (3, 2.0), (4, 3.0)] -[(2, 1.0), (2, 2.0), (2, 3.0)] -[(2, 1.0), (3, 2.0), (1, 3.0)] - -Objects: Functions -[(2, 1.0), (4, 2.0), (6, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] -[(3, 1.0), (4, 2.0), (5, 3.0)] - -Dafny program verifier did not attempt verification -Arrays: Basic cases -[0, 1, 2, 3, 4] -[0, 1, 2, 3, 4] -[0, 1, 4, 3, 8] - -Arrays: Wrong index -[0, 0, 1, 2, 3] -[0, 0, 1, 2, 3] -[1, 2, 3, 4, 5] - -Arrays: Sequence conversion -[2, 1, 4, 5, 6] -[0, 3, 3, 3, 4] - -Arrays: Index collection -[1, 1, 2, 3, 4] -[1, 1, 2, 3, 4] - -Arrays: Functions -[1, 1, 3, 4, 5] -[1, 1, 3, 4, 5] -[1, 2, 3, 3, 5] -[1, 2, 3, 4, 5] - -Multi-dimensional arrays -[[0, 2, 4], [1, 3, 5], [2, 4, 6]] -[[0, 1, 2], [2, 3, 4], [4, 5, 6]] - -Objects: Basic cases -[(0, 1.0), (0, 2.0), (0, 3.0)] -[(2, 1.0), (2, 2.0), (4, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] - -Objects: Bad field accesses -[(2, 1.0), (3, 2.0), (4, 3.0)] -[(2, 1.0), (2, 2.0), (2, 3.0)] -[(2, 1.0), (3, 2.0), (1, 3.0)] - -Objects: Functions -[(2, 1.0), (4, 2.0), (6, 3.0)] -[(2, 1.0), (3, 2.0), (3, 3.0)] -[(3, 1.0), (4, 2.0), (5, 3.0)] - -Dafny program verifier did not attempt verification Arrays: Basic cases [0, 1, 2, 3, 4] [0, 1, 2, 3, 4] diff --git a/Test/comp/Ghosts.dfy b/Test/comp/Ghosts.dfy index 506fe0facb1..8afe8a36d3f 100644 --- a/Test/comp/Ghosts.dfy +++ b/Test/comp/Ghosts.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method M1() returns (x: int) { diff --git a/Test/comp/Ghosts.dfy.expect b/Test/comp/Ghosts.dfy.expect index 430a9c18fc0..d075ea048c1 100644 --- a/Test/comp/Ghosts.dfy.expect +++ b/Test/comp/Ghosts.dfy.expect @@ -1,55 +1,3 @@ - -Dafny program verifier finished with 8 verified, 0 errors - -Dafny program verifier did not attempt verification -hello, M2 -hello, M2 -hello, M3 -hello, M1 -hello, M1 -hello, M1 -hello, M2 -hello, M3 -hello, N0 -hello, N1 - -Dafny program verifier did not attempt verification -hello, M2 -hello, M2 -hello, M3 -hello, M1 -hello, M1 -hello, M1 -hello, M2 -hello, M3 -hello, N0 -hello, N1 - -Dafny program verifier did not attempt verification -hello, M2 -hello, M2 -hello, M3 -hello, M1 -hello, M1 -hello, M1 -hello, M2 -hello, M3 -hello, N0 -hello, N1 - -Dafny program verifier did not attempt verification -hello, M2 -hello, M2 -hello, M3 -hello, M1 -hello, M1 -hello, M1 -hello, M2 -hello, M3 -hello, N0 -hello, N1 - -Dafny program verifier did not attempt verification hello, M2 hello, M2 hello, M3 diff --git a/Test/comp/Let.dfy b/Test/comp/Let.dfy index 64dce8b90e6..2a639009c78 100644 --- a/Test/comp/Let.dfy +++ b/Test/comp/Let.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:cs "%s" > "%t" -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /compile:3 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method M() returns (x: int) { x := var y := 50; y; // non-top-level let diff --git a/Test/comp/Let.dfy.expect b/Test/comp/Let.dfy.expect index 667abc32458..f05dfc414c1 100644 --- a/Test/comp/Let.dfy.expect +++ b/Test/comp/Let.dfy.expect @@ -1,37 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors -50 58 -Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) -5 7 9 10 12 30 -5 7 -5 7 -12.0 15.0 15.0 15.0 - -Dafny program verifier finished with 5 verified, 0 errors -50 58 -Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) -5 7 9 10 12 30 -5 7 -5 7 -12.0 15.0 15.0 15.0 - -Dafny program verifier finished with 5 verified, 0 errors -50 58 -Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) -5 7 9 10 12 30 -5 7 -5 7 -12.0 15.0 15.0 15.0 - -Dafny program verifier finished with 5 verified, 0 errors -50 58 -Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) -5 7 9 10 12 30 -5 7 -5 7 -12.0 15.0 15.0 15.0 - -Dafny program verifier finished with 5 verified, 0 errors 50 58 Tree.Node(Tree.Node(Tree.Leaf, 5, Tree.Node(Tree.Leaf, 7, Tree.Leaf)), 9, Tree.Node(Tree.Leaf, 10, Tree.Node(Tree.Leaf, 12, Tree.Node(Tree.Leaf, 30, Tree.Leaf)))) 5 7 9 10 12 30 diff --git a/Test/comp/MoreAutoInit.dfy b/Test/comp/MoreAutoInit.dfy index 46bdf7148f1..c72083f1be5 100644 --- a/Test/comp/MoreAutoInit.dfy +++ b/Test/comp/MoreAutoInit.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { Methods.TestStart(); diff --git a/Test/comp/MoreAutoInit.dfy.expect b/Test/comp/MoreAutoInit.dfy.expect index e707d9ea27a..a077ee0daa9 100644 --- a/Test/comp/MoreAutoInit.dfy.expect +++ b/Test/comp/MoreAutoInit.dfy.expect @@ -1,575 +1,3 @@ - -Dafny program verifier finished with 38 verified, 0 errors - -Dafny program verifier did not attempt verification -Methods.Uni.Uni - ++ Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -{} - ++ {} -[] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -Functions.Uni.Uni - ++ Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -{2} - ++ {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni -[] ++ [] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] - ** [] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] - ** [] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] - ++ [Consts.Uni.Uni] ++ [] - ** [] ++ [] ++ [] -15 -0-0 0.0-0.0 false-false 'D'-'D' 0 -0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 -0-0 0-0 0-0 0-0 1 1 -0.0-0.0 68.0 -null-null null-null null-null null-null -0 -0:0:0 -0-0 -{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] -DefaultValuedExpressions.Color.Red-DefaultValuedExpressions.Color.Red DefaultValuedExpressions.PossibleCell.Nothing-DefaultValuedExpressions.PossibleCell.Nothing DefaultValuedExpressions.Cell.LittleCell(0)-DefaultValuedExpressions.Cell.LittleCell(0) -()-() (0, 0.0)-(0, 0.0) -(DefaultValuedExpressions.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions.Color.Red, (0, 0.0), ()) -null-null null-null -0-0 0-0 0-0 3 4 5 -0-0 11 0-0 8 - -Dafny program verifier did not attempt verification -Methods.Uni.Uni - ++ Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -{} - ++ {} -[] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -Functions.Uni.Uni - ++ Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -{2} - ++ {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni -[] ++ [] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] - ** [] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] - ** [] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] - ++ [Consts.Uni.Uni] ++ [] - ** [] ++ [] ++ [] -15 -0-0 0.0-0.0 false-false 'D'-'D' 0 -0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 -0-0 0-0 0-0 0-0 1 1 -0.0-0.0 68.0 -null-null null-null null-null null-null -0 -0:0:0 -0-0 -{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] -DefaultValuedExpressions.Color.Red-DefaultValuedExpressions.Color.Red DefaultValuedExpressions.PossibleCell.Nothing-DefaultValuedExpressions.PossibleCell.Nothing DefaultValuedExpressions.Cell.LittleCell(0)-DefaultValuedExpressions.Cell.LittleCell(0) -()-() (0, 0.0)-(0, 0.0) -(DefaultValuedExpressions.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions.Color.Red, (0, 0.0), ()) -null-null null-null -0-0 0-0 0-0 3 4 5 -0-0 11 0-0 8 - -Dafny program verifier did not attempt verification -Methods.Uni.Uni - ++ Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -{} - ++ {} -[] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -Functions.Uni.Uni - ++ Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -{2} - ++ {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni -[] ++ [] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] - ** [] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] - ** [] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] - ++ [Consts.Uni.Uni] ++ [] - ** [] ++ [] ++ [] -15 -0-0 0.0-0.0 false-false 'D'-'D' 0 -0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 -0-0 0-0 0-0 0-0 1 1 -0.0-0.0 68.0 -null-null null-null null-null null-null -0 -0:0:0 -0-0 -{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] -DefaultValuedExpressions.Color.Red-DefaultValuedExpressions.Color.Red DefaultValuedExpressions.PossibleCell.Nothing-DefaultValuedExpressions.PossibleCell.Nothing DefaultValuedExpressions.Cell.LittleCell(0)-DefaultValuedExpressions.Cell.LittleCell(0) -()-() (0, 0.0)-(0, 0.0) -(DefaultValuedExpressions.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions.Color.Red, (0, 0.0), ()) -null-null null-null -0-0 0-0 0-0 3 4 5 -0-0 11 0-0 8 - -Dafny program verifier did not attempt verification -Methods.Uni.Uni - ++ Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni - ++ Methods.Uni.Uni Methods.Uni.Uni -{} - ++ {} -[] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -[] {} - ++ [] {} - ++ [] {} - ++ [] {} -Functions.Uni.Uni - ++ Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni - ++ Functions.Uni.Uni Functions.Uni.Uni -{2} - ++ {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -[Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} - ++ [Functions.Uni.Uni] {2} -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni -Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ++ Consts.Uni.Uni ++ Consts.Uni.Uni - ** Consts.Uni.Uni ++ Consts.Uni.Uni ++ Consts.Uni.Uni -[] ++ [] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] - ** [] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] - ** [] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] ++ [Consts.Uni.Uni] ++ [] -[Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [Consts.Uni.Uni] ++ [] - ++ [Consts.Uni.Uni] ++ [] - ** [] ++ [] ++ [] -15 -0-0 0.0-0.0 false-false 'D'-'D' 0 -0-0 0-0 0-0 0-0 0-0 0-0 0-0 0-0 -0-0 0-0 0-0 0-0 1 1 -0.0-0.0 68.0 -null-null null-null null-null null-null -0 -0:0:0 -0-0 -{}-{} {}-{} multiset{}-multiset{} []-[] map[]-map[] map[]-map[] -DefaultValuedExpressions.Color.Red-DefaultValuedExpressions.Color.Red DefaultValuedExpressions.PossibleCell.Nothing-DefaultValuedExpressions.PossibleCell.Nothing DefaultValuedExpressions.Cell.LittleCell(0)-DefaultValuedExpressions.Cell.LittleCell(0) -()-() (0, 0.0)-(0, 0.0) -(DefaultValuedExpressions.Color.Red, (0, 0.0), ())-(DefaultValuedExpressions.Color.Red, (0, 0.0), ()) -null-null null-null -0-0 0-0 0-0 3 4 5 -0-0 11 0-0 8 - -Dafny program verifier did not attempt verification Methods.Uni.Uni ++ Methods.Uni.Uni Methods.Uni.Uni Methods.Uni.Uni diff --git a/Test/comp/NativeNumbers.dfy b/Test/comp/NativeNumbers.dfy index c63d02cf643..e1fadb1c406 100644 --- a/Test/comp/NativeNumbers.dfy +++ b/Test/comp/NativeNumbers.dfy @@ -1,11 +1,6 @@ +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false // Skip JavaScript because JavaScript doesn't have the same native types -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" method Main() { CastTests(); diff --git a/Test/comp/NativeNumbers.dfy.expect b/Test/comp/NativeNumbers.dfy.expect index 2be030252cf..6a9d263fc73 100644 --- a/Test/comp/NativeNumbers.dfy.expect +++ b/Test/comp/NativeNumbers.dfy.expect @@ -1,259 +1,3 @@ - -Dafny program verifier finished with 25 verified, 0 errors - -Dafny program verifier did not attempt verification -Casting: - -Small numbers: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 -5 5 5 5 5 5 5 5 5 -6 6 6 6 6 6 6 6 6 -7 7 7 7 7 7 7 7 7 -8 8 8 8 8 8 8 8 8 - -Large unsigned numbers: -255 255 255 255 255 255 255 255 -65535 65535 65535 65535 65535 65535 -4294967295 4294967295 4294967295 4294967295 -18446744073709551615 18446744073709551615 - -Int to large unsigned: -255 65535 4294967295 18446744073709551615 - -Cast from cardinality operator: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 - -Characters: -C 67 67 67 67 67 67 67 67 67 -0 127 32767 65535 65535 255 65535 65535 65535 - -Defaults: - -0 0 0 0 0 0 0 0 0 - -Byte arithmetic: - -20 30 -10 10 18 - -Short arithmetic: - -20 30 -10 10 18 - -Bitvectors: - -0 3 4 1 - -Comparison to zero: - -int8: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int16: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int32: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int64: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint8: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint16: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint32: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint64: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N - - -Dafny program verifier did not attempt verification -Casting: - -Small numbers: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 -5 5 5 5 5 5 5 5 5 -6 6 6 6 6 6 6 6 6 -7 7 7 7 7 7 7 7 7 -8 8 8 8 8 8 8 8 8 - -Large unsigned numbers: -255 255 255 255 255 255 255 255 -65535 65535 65535 65535 65535 65535 -4294967295 4294967295 4294967295 4294967295 -18446744073709551615 18446744073709551615 - -Int to large unsigned: -255 65535 4294967295 18446744073709551615 - -Cast from cardinality operator: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 - -Characters: -C 67 67 67 67 67 67 67 67 67 -0 127 32767 65535 65535 255 65535 65535 65535 - -Defaults: - -0 0 0 0 0 0 0 0 0 - -Byte arithmetic: - -20 30 -10 10 18 - -Short arithmetic: - -20 30 -10 10 18 - -Bitvectors: - -0 3 4 1 - -Comparison to zero: - -int8: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int16: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int32: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int64: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint8: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint16: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint32: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint64: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N - - -Dafny program verifier did not attempt verification -Casting: - -Small numbers: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 -5 5 5 5 5 5 5 5 5 -6 6 6 6 6 6 6 6 6 -7 7 7 7 7 7 7 7 7 -8 8 8 8 8 8 8 8 8 - -Large unsigned numbers: -255 255 255 255 255 255 255 255 -65535 65535 65535 65535 65535 65535 -4294967295 4294967295 4294967295 4294967295 -18446744073709551615 18446744073709551615 - -Int to large unsigned: -255 65535 4294967295 18446744073709551615 - -Cast from cardinality operator: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 - -Characters: -C 67 67 67 67 67 67 67 67 67 -0 127 32767 65535 65535 255 65535 65535 65535 - -Defaults: - -0 0 0 0 0 0 0 0 0 - -Byte arithmetic: - -20 30 -10 10 18 - -Short arithmetic: - -20 30 -10 10 18 - -Bitvectors: - -0 3 4 1 - -Comparison to zero: - -int8: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int16: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int32: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int64: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint8: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint16: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint32: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint64: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N - - -Dafny program verifier did not attempt verification Casting: Small numbers: diff --git a/Test/comp/NestedArrays.dfy b/Test/comp/NestedArrays.dfy index 0c2b313a32c..39d256f4936 100644 --- a/Test/comp/NestedArrays.dfy +++ b/Test/comp/NestedArrays.dfy @@ -1,9 +1,4 @@ -// RUN: %baredafny verify --relax-definite-assignment %args "%s" > "%t" -// RUN: %baredafny run --no-verify --target=cs %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=js %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=go %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=py %args "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /* Note, compiling to arrays in Java is difficult. In fact, this is currently * broken, see https://github.com/dafny-lang/dafny/issues/3055. Until this gets diff --git a/Test/comp/NestedArrays.dfy.expect b/Test/comp/NestedArrays.dfy.expect index a24d140b9d4..aa47d0d46d4 100644 --- a/Test/comp/NestedArrays.dfy.expect +++ b/Test/comp/NestedArrays.dfy.expect @@ -1,18 +1,2 @@ - -Dafny program verifier finished with 4 verified, 0 errors - -Dafny program verifier did not attempt verification -0 -0 - -Dafny program verifier did not attempt verification -0 -0 - -Dafny program verifier did not attempt verification -0 -0 - -Dafny program verifier did not attempt verification 0 0 diff --git a/Test/comp/Numbers.dfy b/Test/comp/Numbers.dfy index 36bf24dcdb4..cd552043881 100644 --- a/Test/comp/Numbers.dfy +++ b/Test/comp/Numbers.dfy @@ -1,10 +1,5 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false method Main() { Literals(); diff --git a/Test/comp/Numbers.dfy.expect b/Test/comp/Numbers.dfy.expect index 8d994e1c7c6..7eacf4e709d 100644 --- a/Test/comp/Numbers.dfy.expect +++ b/Test/comp/Numbers.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 59 verified, 0 errors - -Dafny program verifier did not attempt verification 0 0 3 @@ -113,455 +109,3 @@ true false true false false true false true true false true false 20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -g Q 2 -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -(312.0 / 40.0) (1248.0 / 40.0) -(-312.0 / 40.0) (-1248.0 / 40.0) -(-312.0 / 40.0) (1248.0 / 40.0) -(312.0 / 40.0) (-1248.0 / 40.0) -0.0 0.0 0.0 -120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) -123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 (8100.0 / 8100.0) -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -g Q 2 -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -g Q 2 -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -(312.0 / 40.0) (1248.0 / 40.0) -(-312.0 / 40.0) (-1248.0 / 40.0) -(-312.0 / 40.0) (1248.0 / 40.0) -(312.0 / 40.0) (-1248.0 / 40.0) -0.0 0.0 0.0 -120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) -123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 (8100.0 / 8100.0) -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -g Q 2 -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -120 120.0 120 120 120 x -120 120.0 120 120 120 x -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 diff --git a/Test/comp/Numbers.dfy.go.expect b/Test/comp/Numbers.dfy.go.expect new file mode 100644 index 00000000000..ce109553619 --- /dev/null +++ b/Test/comp/Numbers.dfy.go.expect @@ -0,0 +1,111 @@ +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +g Q 2 +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 diff --git a/Test/comp/Numbers.dfy.py.expect b/Test/comp/Numbers.dfy.py.expect new file mode 100644 index 00000000000..ce109553619 --- /dev/null +++ b/Test/comp/Numbers.dfy.py.expect @@ -0,0 +1,111 @@ +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +g Q 2 +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +120 120.0 120 120 120 x +120 120.0 120 120 120 x +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 diff --git a/Test/comp/Poly.dfy b/Test/comp/Poly.dfy index f3c3aa58599..dd45bf6f4d3 100644 --- a/Test/comp/Poly.dfy +++ b/Test/comp/Poly.dfy @@ -1,10 +1,5 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation trait Shape { function Center(): (real, real) reads this diff --git a/Test/comp/Poly.dfy.expect b/Test/comp/Poly.dfy.expect index 4ffff82d5ab..7dc24821586 100644 --- a/Test/comp/Poly.dfy.expect +++ b/Test/comp/Poly.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 15 verified, 0 errors - -Dafny program verifier did not attempt verification Center of square: ((1.0 / 2.0), (1.0 / 2.0)) Center of circle: (1.0, 1.0) Center: ((1.0 / 2.0), (1.0 / 2.0)) @@ -14,59 +10,3 @@ Center: ((1.0 / 2.0), (1.0 / 2.0)) Center: (1.0, 1.0) Center: ((1.0 / 2.0), (1.0 / 2.0)) Center: (1.0, 1.0) - -Dafny program verifier did not attempt verification -Center of square: ((1.0 / 2.0), (1.0 / 2.0)) -Center of circle: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) - -Dafny program verifier did not attempt verification -Center of square: ((1.0 / 2.0), (1.0 / 2.0)) -Center of circle: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) -Center: ((1.0 / 2.0), (1.0 / 2.0)) -Center: (1.0, 1.0) - -Dafny program verifier did not attempt verification -Center of square: (0.5, 0.5) -Center of circle: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) - -Dafny program verifier did not attempt verification -Center of square: (0.5, 0.5) -Center of circle: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) -Center: (0.5, 0.5) -Center: (1.0, 1.0) diff --git a/Test/comp/Poly.dfy.go.expect b/Test/comp/Poly.dfy.go.expect new file mode 100644 index 00000000000..88e09c5e6ff --- /dev/null +++ b/Test/comp/Poly.dfy.go.expect @@ -0,0 +1,12 @@ +Center of square: (0.5, 0.5) +Center of circle: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) diff --git a/Test/comp/Poly.dfy.py.expect b/Test/comp/Poly.dfy.py.expect new file mode 100644 index 00000000000..88e09c5e6ff --- /dev/null +++ b/Test/comp/Poly.dfy.py.expect @@ -0,0 +1,12 @@ +Center of square: (0.5, 0.5) +Center of circle: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) +Center: (0.5, 0.5) +Center: (1.0, 1.0) diff --git a/Test/comp/StaticMembersOfGenericTypes.dfy b/Test/comp/StaticMembersOfGenericTypes.dfy index 8c402dab951..8a8614d21a5 100644 --- a/Test/comp/StaticMembersOfGenericTypes.dfy +++ b/Test/comp/StaticMembersOfGenericTypes.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { GenericClass(); diff --git a/Test/comp/StaticMembersOfGenericTypes.dfy.expect b/Test/comp/StaticMembersOfGenericTypes.dfy.expect index 54e32b42ee5..196f1295e12 100644 --- a/Test/comp/StaticMembersOfGenericTypes.dfy.expect +++ b/Test/comp/StaticMembersOfGenericTypes.dfy.expect @@ -1,79 +1,3 @@ - -Dafny program verifier finished with 9 verified, 0 errors - -Dafny program verifier did not attempt verification -(0, 1) (true, 2, 3) -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -(2.0, true) (3.0, false) -(2.0, true) (3.0, false) -true false -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -50 3 4 -149 - -Dafny program verifier did not attempt verification -(0, 1) (true, 2, 3) -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -(2.0, true) (3.0, false) -(2.0, true) (3.0, false) -true false -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -50 3 4 -149 - -Dafny program verifier did not attempt verification -(0, 1) (true, 2, 3) -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -(2.0, true) (3.0, false) -(2.0, true) (3.0, false) -true false -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -50 3 4 -149 - -Dafny program verifier did not attempt verification -(0, 1) (true, 2, 3) -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (20, 21) (20, 21) 23 22 -0 25 (20, 21) (20, 21) 23 22 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -0 25 (true, 20, 21) (true, 20, 21) true 22 23 -(2.0, true) (3.0, false) -(2.0, true) (3.0, false) -true false -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -(5, 2.0, true) (5, 2.0, true) (6, 3.0, false) -50 3 4 -149 - -Dafny program verifier did not attempt verification (0, 1) (true, 2, 3) 0 25 (20, 21) (20, 21) 23 22 0 25 (20, 21) (20, 21) 23 22 diff --git a/Test/comp/TailRecursion.dfy b/Test/comp/TailRecursion.dfy index 68ba6ee4669..b3631d5eccc 100644 --- a/Test/comp/TailRecursion.dfy +++ b/Test/comp/TailRecursion.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { // In the following, 2_000_000 is too large an argument without tail-calls diff --git a/Test/comp/TailRecursion.dfy.expect b/Test/comp/TailRecursion.dfy.expect index 23c852a41fe..4b9da7e5093 100644 --- a/Test/comp/TailRecursion.dfy.expect +++ b/Test/comp/TailRecursion.dfy.expect @@ -1,79 +1,3 @@ - -Dafny program verifier finished with 28 verified, 0 errors - -Dafny program verifier did not attempt verification -2000000 2000000 -2000000 2000000 -1000000 1000000 -10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 -TriangleNumber(10) = 55 -TriangleNumber_Real(10) = 55.0 -TriangleNumber_ORDINAL(10) = 55 -Factorial(5) = 120 -Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] -UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] -Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 -TheBigSubtract(100) = -12 -TailNat(10) = 50 -17 17 17 -2000000 - -Dafny program verifier did not attempt verification -2000000 2000000 -2000000 2000000 -1000000 1000000 -10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 -TriangleNumber(10) = 55 -TriangleNumber_Real(10) = 55.0 -TriangleNumber_ORDINAL(10) = 55 -Factorial(5) = 120 -Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] -UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] -Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 -TheBigSubtract(100) = -12 -TailNat(10) = 50 -17 17 17 -2000000 - -Dafny program verifier did not attempt verification -2000000 2000000 -2000000 2000000 -1000000 1000000 -10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 -TriangleNumber(10) = 55 -TriangleNumber_Real(10) = 55.0 -TriangleNumber_ORDINAL(10) = 55 -Factorial(5) = 120 -Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] -UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] -Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 -TheBigSubtract(100) = -12 -TailNat(10) = 50 -17 17 17 -2000000 - -Dafny program verifier did not attempt verification -2000000 2000000 -2000000 2000000 -1000000 1000000 -10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 == 55 -TriangleNumber(10) = 55 -TriangleNumber_Real(10) = 55.0 -TriangleNumber_ORDINAL(10) = 55 -Factorial(5) = 120 -Union(8) = [0, 1, 2, 3, 4, 5, 6, 7, 8] -UpTo(10) = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -DownFrom(10) = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] -Sum(List.Cons(100, List.Cons(40, List.Cons(60, List.Nil)))) = 200 -TheBigSubtract(100) = -12 -TailNat(10) = 50 -17 17 17 -2000000 - -Dafny program verifier did not attempt verification 2000000 2000000 2000000 2000000 1000000 1000000 diff --git a/Test/comp/TypeDescriptors.dfy b/Test/comp/TypeDescriptors.dfy index 636cb3db583..5bedbb900e4 100644 --- a/Test/comp/TypeDescriptors.dfy +++ b/Test/comp/TypeDescriptors.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Method(s: string, g: G) { var zero: G; diff --git a/Test/comp/TypeDescriptors.dfy.expect b/Test/comp/TypeDescriptors.dfy.expect index 9b1e8487bdc..1b09338c83d 100644 --- a/Test/comp/TypeDescriptors.dfy.expect +++ b/Test/comp/TypeDescriptors.dfy.expect @@ -1,155 +1,3 @@ - -Dafny program verifier finished with 11 verified, 0 errors - -Dafny program verifier did not attempt verification -int: 8 0 -bool: true false -char: 'r' 'D' -real: 1.618 0.0 -ORDINAL: 0 -bv0: 0 0 -bv21: 121 0 -bv32: 132 0 -bv191: 191 0 -set: {7} {} -multiset: multiset{7, 7} multiset{} -seq: [7] [] -map: map[2 := 7] map[] -pos: 3 1 -Hundred: 6 0 -HundredOdd: 13 19 -JustOdd: 131 5 -(): () () -(int, real): (2, 3.2) (0, 0.0) -(int, pos): (2, 3) (0, 1) -AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) -Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) -Stream: Stream.More -A=int: 15 0 -B=int: 16 0 -datatype.B=: {14} {} -object?: null -Class?>: null -Trait?>: null -array?: null -array2?: null -int --> bool: null -array? ~> bool: null - -Dafny program verifier did not attempt verification -int: 8 0 -bool: true false -char: 'r' 'D' -real: 1.618 0.0 -ORDINAL: 0 -bv0: 0 0 -bv21: 121 0 -bv32: 132 0 -bv191: 191 0 -set: {7} {} -multiset: multiset{7, 7} multiset{} -seq: [7] [] -map: map[2 := 7] map[] -pos: 3 1 -Hundred: 6 0 -HundredOdd: 13 19 -JustOdd: 131 5 -(): () () -(int, real): (2, 3.2) (0, 0.0) -(int, pos): (2, 3) (0, 1) -AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) -Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) -Stream: Stream.More -A=int: 15 0 -B=int: 16 0 -datatype.B=: {14} {} -object?: null -Class?>: null -Trait?>: null -array?: null -array2?: null -int --> bool: null -array? ~> bool: null - -Dafny program verifier did not attempt verification -int: 8 0 -bool: true false -char: 'r' 'D' -real: 1.618 0.0 -ORDINAL: 0 -bv0: 0 0 -bv21: 121 0 -bv32: 132 0 -bv191: 191 0 -set: {7} {} -multiset: multiset{7, 7} multiset{} -seq: [7] [] -map: map[2 := 7] map[] -pos: 3 1 -Hundred: 6 0 -HundredOdd: 13 19 -JustOdd: 131 5 -(): () () -(int, real): (2, 3.2) (0, 0.0) -(int, pos): (2, 3) (0, 1) -AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) -Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) -Stream: Stream.More -A=int: 15 0 -B=int: 16 0 -datatype.B=: {14} {} -object?: null -Class?>: null -Trait?>: null -array?: null -array2?: null -int --> bool: null -array? ~> bool: null - -Dafny program verifier did not attempt verification -int: 8 0 -bool: true false -char: 'r' 'D' -real: 1.618 0.0 -ORDINAL: 0 -bv0: 0 0 -bv21: 121 0 -bv32: 132 0 -bv191: 191 0 -set: {7} {} -multiset: multiset{7, 7} multiset{} -seq: [7] [] -map: map[2 := 7] map[] -pos: 3 1 -Hundred: 6 0 -HundredOdd: 13 19 -JustOdd: 131 5 -(): () () -(int, real): (2, 3.2) (0, 0.0) -(int, pos): (2, 3) (0, 1) -AtomicShells: AtomicShells.Atom(true) AtomicShells.Atom(false) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(0)) -AtomicShells>: AtomicShells.Atom(AtomicShells.Atom(3)) AtomicShells.Atom(AtomicShells.Atom(1)) -Record, Class>: Record.SimpleRecord(5) Record.SimpleRecord(0) -Stream: Stream.More -A=int: 15 0 -B=int: 16 0 -datatype.B=: {14} {} -object?: null -Class?>: null -Trait?>: null -array?: null -array2?: null -int --> bool: null -array? ~> bool: null - -Dafny program verifier did not attempt verification int: 8 0 bool: true false char: 'r' 'D' diff --git a/Test/comp/TypeParams.dfy b/Test/comp/TypeParams.dfy index 11d1b3bac6a..7166db387b5 100644 --- a/Test/comp/TypeParams.dfy +++ b/Test/comp/TypeParams.dfy @@ -1,11 +1,6 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" - -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation + datatype Color = Orange | Pink | Teal type Six = x | x <= 6 diff --git a/Test/comp/TypeParams.dfy.expect b/Test/comp/TypeParams.dfy.expect index ac8ef1c58e5..1381a030f65 100644 --- a/Test/comp/TypeParams.dfy.expect +++ b/Test/comp/TypeParams.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 17 verified, 0 errors - -Dafny program verifier did not attempt verification 0 0 0 false Color.Orange 0.0 {} Color.Orange null null null null null {} multiset{} [] map[] {} map[] @@ -21,87 +17,3 @@ System.Func`2[Dafny.BigRational,System.Boolean] System.Func`1[System.Numerics.BigInteger] System.Func`3[_module._IColor,Dafny.ISet`1[System.UInt16],System.UInt32] 0 0 - -Dafny program verifier did not attempt verification -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -function () { return false; } -function () { return _dafny.ZERO; } -function () { return _dafny.ZERO; } -0 0 - -Dafny program verifier did not attempt verification -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -func(dafny.Real) bool -func() dafny.Int -func(main.Color, dafny.Set) uint32 -0 0 - -Dafny program verifier did not attempt verification -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -Function -Function -Function -0 0 - -Dafny program verifier did not attempt verification -0 0 0 false Color.Orange 0.0 {} Color.Orange -null null null null null -{} multiset{} [] map[] {} map[] -null null null null -0 [] 'Q' {} 0 Dt.D0(0) -false Color.Orange 42 {} false Dt.D0(false) -NonemptyList.Atom(0) -6 7 8 9 -true true -IList.INil IList.ICons -IList.INil IList.INil Stream.Next IList.INil -NonemptyList.Atom(0) -NonemptyCoList.CoAtom -Color.Pink 19 -3 -null null null null -Function -Function -Function -0 0 diff --git a/Test/comp/TypeParams.dfy.go.expect b/Test/comp/TypeParams.dfy.go.expect new file mode 100644 index 00000000000..e3a8e67d066 --- /dev/null +++ b/Test/comp/TypeParams.dfy.go.expect @@ -0,0 +1,19 @@ +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +func(dafny.Real) bool +func() dafny.Int +func(main.Color, dafny.Set) uint32 +0 0 diff --git a/Test/comp/TypeParams.dfy.java.expect b/Test/comp/TypeParams.dfy.java.expect new file mode 100644 index 00000000000..5f843ba06d1 --- /dev/null +++ b/Test/comp/TypeParams.dfy.java.expect @@ -0,0 +1,19 @@ +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +Function +Function +Function +0 0 diff --git a/Test/comp/TypeParams.dfy.js.expect b/Test/comp/TypeParams.dfy.js.expect new file mode 100644 index 00000000000..865c33ea48b --- /dev/null +++ b/Test/comp/TypeParams.dfy.js.expect @@ -0,0 +1,19 @@ +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +function () { return false; } +function () { return _dafny.ZERO; } +function () { return _dafny.ZERO; } +0 0 diff --git a/Test/comp/TypeParams.dfy.py.expect b/Test/comp/TypeParams.dfy.py.expect new file mode 100644 index 00000000000..5f843ba06d1 --- /dev/null +++ b/Test/comp/TypeParams.dfy.py.expect @@ -0,0 +1,19 @@ +0 0 0 false Color.Orange 0.0 {} Color.Orange +null null null null null +{} multiset{} [] map[] {} map[] +null null null null +0 [] 'Q' {} 0 Dt.D0(0) +false Color.Orange 42 {} false Dt.D0(false) +NonemptyList.Atom(0) +6 7 8 9 +true true +IList.INil IList.ICons +IList.INil IList.INil Stream.Next IList.INil +NonemptyList.Atom(0) +NonemptyCoList.CoAtom +Color.Pink 19 -3 +null null null null +Function +Function +Function +0 0 diff --git a/Test/comp/UnoptimizedErasableTypeWrappers.dfy b/Test/comp/UnoptimizedErasableTypeWrappers.dfy index 58f0682ed41..b7911aed9db 100644 --- a/Test/comp/UnoptimizedErasableTypeWrappers.dfy +++ b/Test/comp/UnoptimizedErasableTypeWrappers.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /optimizeErasableDatatypeWrapper:0 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --optimize-erasable-datatype-wrapper:false --relax-definite-assignment --spill-translation datatype SingletonRecord = SingletonRecord(u: int) datatype WithGhost = WithGhost(u: int, ghost v: int) diff --git a/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect b/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect index be1d7190b0f..3371376a52b 100644 --- a/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect +++ b/Test/comp/UnoptimizedErasableTypeWrappers.dfy.expect @@ -1,31 +1,3 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification -SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) -() (30) (31) (30, 32) -15 20 -30 31 30 32 - -Dafny program verifier did not attempt verification -SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) -() (30) (31) (30, 32) -15 20 -30 31 30 32 - -Dafny program verifier did not attempt verification -SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) -() (30) (31) (30, 32) -15 20 -30 31 30 32 - -Dafny program verifier did not attempt verification -SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) -() (30) (31) (30, 32) -15 20 -30 31 30 32 - -Dafny program verifier did not attempt verification SingletonRecord.SingletonRecord(15) WithGhost.WithGhost(20) () (30) (31) (30, 32) 15 20 diff --git a/Test/comp/Variance.dfy b/Test/comp/Variance.dfy index 6c198495209..ddcde6cd7d7 100644 --- a/Test/comp/Variance.dfy +++ b/Test/comp/Variance.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 /deprecation:0 "%s" > "%t" -// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /deprecation:0 /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --warn-deprecation:false datatype Co<+T> = Co(z: T) { const x: int; diff --git a/Test/comp/Variance.dfy.expect b/Test/comp/Variance.dfy.expect index cf08d82ac07..5bb565b6bb4 100644 --- a/Test/comp/Variance.dfy.expect +++ b/Test/comp/Variance.dfy.expect @@ -1,67 +1,3 @@ - -Dafny program verifier finished with 13 verified, 0 errors - -Dafny program verifier did not attempt verification -Co.Co(_module.Int) and Co.Co(_module.Int) -true0[]0000 -Non.Non(_module.Int) and Non.Non(_module.Int) -true0[]0000 -0 and 0 -_module.Int0[]0000 -CCo.CCo and CCo.CCo -true0[]0000 -CNon.CNon and CNon.CNon -true0[]0000 -CCon.CCon and CCon.CCon -_module.Int0[]0000 -Done - -Dafny program verifier did not attempt verification -Co.Co(_module.Int) and Co.Co(_module.Int) -true0[]0000 -Non.Non(_module.Int) and Non.Non(_module.Int) -true0[]0000 -0 and 0 -_module.Int0[]0000 -CCo.CCo and CCo.CCo -true0[]0000 -CNon.CNon and CNon.CNon -true0[]0000 -CCon.CCon and CCon.CCon -_module.Int0[]0000 -Done - -Dafny program verifier did not attempt verification -Co.Co(_module.Int) and Co.Co(_module.Int) -true0[]0000 -Non.Non(_module.Int) and Non.Non(_module.Int) -true0[]0000 -0 and 0 -_module.Int0[]0000 -CCo.CCo and CCo.CCo -true0[]0000 -CNon.CNon and CNon.CNon -true0[]0000 -CCon.CCon and CCon.CCon -_module.Int0[]0000 -Done - -Dafny program verifier did not attempt verification -Co.Co(_module.Int) and Co.Co(_module.Int) -true0[]0000 -Non.Non(_module.Int) and Non.Non(_module.Int) -true0[]0000 -0 and 0 -_module.Int0[]0000 -CCo.CCo and CCo.CCo -true0[]0000 -CNon.CNon and CNon.CNon -true0[]0000 -CCon.CCon and CCon.CCon -_module.Int0[]0000 -Done - -Dafny program verifier did not attempt verification Co.Co(_module.Int) and Co.Co(_module.Int) true0[]0000 Non.Non(_module.Int) and Non.Non(_module.Int) diff --git a/Test/comp/Various.dfy b/Test/comp/Various.dfy index 1f29c511a83..502801e4c2a 100644 --- a/Test/comp/Various.dfy +++ b/Test/comp/Various.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Match(tp: (nat, nat)) { match tp diff --git a/Test/comp/Various.dfy.expect b/Test/comp/Various.dfy.expect index 502e2d04792..66f013c00f7 100644 --- a/Test/comp/Various.dfy.expect +++ b/Test/comp/Various.dfy.expect @@ -1,43 +1,3 @@ - -Dafny program verifier finished with 4 verified, 0 errors - -Dafny program verifier did not attempt verification -match -1 -Kablammo!! -0 -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] - -Dafny program verifier did not attempt verification -match -1 -Kablammo!! -0 -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] - -Dafny program verifier did not attempt verification -match -1 -Kablammo!! -0 -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] - -Dafny program verifier did not attempt verification -match -1 -Kablammo!! -0 -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] -[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] - -Dafny program verifier did not attempt verification match 1 Kablammo!! diff --git a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy index 10fe57dec8f..2cf77360cab 100644 --- a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy +++ b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // An extremely small program intended to be the first target input for // brand new Dafny compilers. Avoids any use of strings (and therefore sequences) diff --git a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect index e1dcaef650b..f32a5804e29 100644 --- a/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect +++ b/Test/comp/firstSteps/0_IKnowThisMuchIs.dfy.expect @@ -1,5 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification true \ No newline at end of file diff --git a/Test/comp/firstSteps/1_Calls-F.dfy b/Test/comp/firstSteps/1_Calls-F.dfy index 32566f59f3b..4fe5b83e551 100644 --- a/Test/comp/firstSteps/1_Calls-F.dfy +++ b/Test/comp/firstSteps/1_Calls-F.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/1_Calls-F.dfy.expect b/Test/comp/firstSteps/1_Calls-F.dfy.expect index 58e0a68ec1c..7ed6ff82de6 100644 --- a/Test/comp/firstSteps/1_Calls-F.dfy.expect +++ b/Test/comp/firstSteps/1_Calls-F.dfy.expect @@ -1,5 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification 5 diff --git a/Test/comp/firstSteps/2_Modules.dfy b/Test/comp/firstSteps/2_Modules.dfy index 750b8d60c21..d0effcb5a71 100644 --- a/Test/comp/firstSteps/2_Modules.dfy +++ b/Test/comp/firstSteps/2_Modules.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module A { const i: nat := 1 diff --git a/Test/comp/firstSteps/2_Modules.dfy.expect b/Test/comp/firstSteps/2_Modules.dfy.expect index 9a4b57459c7..b85905ec0b9 100644 --- a/Test/comp/firstSteps/2_Modules.dfy.expect +++ b/Test/comp/firstSteps/2_Modules.dfy.expect @@ -1,5 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification 1 2 3 diff --git a/Test/comp/firstSteps/3_Calls-As.dfy b/Test/comp/firstSteps/3_Calls-As.dfy index f22bbdbd3f6..38889421865 100644 --- a/Test/comp/firstSteps/3_Calls-As.dfy +++ b/Test/comp/firstSteps/3_Calls-As.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/3_Calls-As.dfy.expect b/Test/comp/firstSteps/3_Calls-As.dfy.expect index eea6c52592c..a1c59bb761f 100644 --- a/Test/comp/firstSteps/3_Calls-As.dfy.expect +++ b/Test/comp/firstSteps/3_Calls-As.dfy.expect @@ -1,5 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification 0 0 false 0 false 0 diff --git a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy index 89fb669dca0..6a66781ff0d 100644 --- a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy +++ b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect index e7498a27e3e..a8d09f0a6f5 100644 --- a/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect +++ b/Test/comp/firstSteps/4_Calls-FunctionsValues-Class+NT.dfy.expect @@ -1,6 +1,2 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification 5 3 5 3 5 3 5 3 diff --git a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy index 096523f8956..1175b1eca8f 100644 --- a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy +++ b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect index 8954da2b386..ef3de96e567 100644 --- a/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect +++ b/Test/comp/firstSteps/5_Calls-FunctionsValues-Dt.dfy.expect @@ -1,6 +1,2 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification 5 3 5 3 diff --git a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy index 1fbaebdf4e9..5d970ac4de5 100644 --- a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy +++ b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Calls.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect index b6ffe78bcbb..4ff62e33956 100644 --- a/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect +++ b/Test/comp/firstSteps/6_Calls-VariableCapture.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 4 verified, 0 errors - -Dafny program verifier did not attempt verification 15 [0, 1, 2, 4] [0, 2, 4] diff --git a/Test/comp/firstSteps/7_Arrays.dfy b/Test/comp/firstSteps/7_Arrays.dfy index 07ddf89594b..d02c942c9bb 100644 --- a/Test/comp/firstSteps/7_Arrays.dfy +++ b/Test/comp/firstSteps/7_Arrays.dfy @@ -1,6 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Arrays.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/7_Arrays.dfy.expect b/Test/comp/firstSteps/7_Arrays.dfy.expect index 75e824c80bb..fa00285c692 100644 --- a/Test/comp/firstSteps/7_Arrays.dfy.expect +++ b/Test/comp/firstSteps/7_Arrays.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 7 verified, 0 errors - -Dafny program verifier did not attempt verification 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 17 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22] diff --git a/Test/comp/firstSteps/7_Dt_Algebraic.dfy b/Test/comp/firstSteps/7_Dt_Algebraic.dfy index 991462d8bdf..0be49978a9d 100644 --- a/Test/comp/firstSteps/7_Dt_Algebraic.dfy +++ b/Test/comp/firstSteps/7_Dt_Algebraic.dfy @@ -1,7 +1,5 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Dt.dfy serves to facilitate incremental compiler development. diff --git a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect new file mode 100644 index 00000000000..ba1b72ea6f7 --- /dev/null +++ b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.cs.expect @@ -0,0 +1,11 @@ +List.Nil +List.Cons(5, List.Nil) +(List.Nil, List.Cons(5, List.Nil)) +(List.Cons(5, List.Nil), List.Nil) +() +5 List.Nil +List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) +0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) +{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} +42 'q' hello +1701 diff --git a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect index ec9b49fe420..e3ff7faba6e 100644 --- a/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect +++ b/Test/comp/firstSteps/7_Dt_Algebraic.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 7 verified, 0 errors - -Dafny program verifier did not attempt verification List.Nil List.Cons(5, List.Nil) (List.Nil, List.Cons(5, List.Nil)) @@ -13,16 +9,3 @@ List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, Li {Berry.Hallon, Berry.Smultron, Berry.Jordgubb} 42 'q' hello 1701 - -Dafny program verifier did not attempt verification -List.Nil -List.Cons(5, List.Nil) -(List.Nil, List.Cons(5, List.Nil)) -(List.Cons(5, List.Nil), List.Nil) -() -5 List.Nil -List.Cons(0, List.Cons(1, List.Cons(2, List.Cons(3, List.Cons(4, List.Cons(5, List.Cons(6, List.Nil))))))) -0 + 1 + 2 + 3 + 4 + 5 + 6 == 21 (once more, that's 21) -{Berry.Smultron, Berry.Jordgubb, Berry.Hallon} -42 'q' hello -1701 diff --git a/Test/dafny0/ArrayElementInitCompile.dfy b/Test/dafny0/ArrayElementInitCompile.dfy index 7d652486b9e..3714cf0fe8e 100644 --- a/Test/dafny0/ArrayElementInitCompile.dfy +++ b/Test/dafny0/ArrayElementInitCompile.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 /print:"%t.print" /rprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false method Main() { diff --git a/Test/dafny0/ArrayElementInitCompile.dfy.expect b/Test/dafny0/ArrayElementInitCompile.dfy.expect index a5241c75f19..eaa3e759999 100644 --- a/Test/dafny0/ArrayElementInitCompile.dfy.expect +++ b/Test/dafny0/ArrayElementInitCompile.dfy.expect @@ -1,79 +1,3 @@ - -Dafny program verifier finished with 18 verified, 0 errors - -Dafny program verifier did not attempt verification -67 67 67 67 67 67 67 67 -0 1 2 3 -1 2 3 4 -2 3 4 5 -3 4 5 6 -4 5 6 7 -O . O . O . O . O . O . -12 12 12 12 12 12 12 12 12 12 12 12 -D E -y z -4 3 -7 -100 75 98 25 - -looks like this rocks --2 -1 0 1 2 3 4 - -Dafny program verifier did not attempt verification -67 67 67 67 67 67 67 67 -0 1 2 3 -1 2 3 4 -2 3 4 5 -3 4 5 6 -4 5 6 7 -O . O . O . O . O . O . -12 12 12 12 12 12 12 12 12 12 12 12 -D E -y z -4 3 -7 -100 75 98 25 - -looks like this rocks --2 -1 0 1 2 3 4 - -Dafny program verifier did not attempt verification -67 67 67 67 67 67 67 67 -0 1 2 3 -1 2 3 4 -2 3 4 5 -3 4 5 6 -4 5 6 7 -O . O . O . O . O . O . -12 12 12 12 12 12 12 12 12 12 12 12 -D E -y z -4 3 -7 -100 75 98 25 - -looks like this rocks --2 -1 0 1 2 3 4 - -Dafny program verifier did not attempt verification -67 67 67 67 67 67 67 67 -0 1 2 3 -1 2 3 4 -2 3 4 5 -3 4 5 6 -4 5 6 7 -O . O . O . O . O . O . -12 12 12 12 12 12 12 12 12 12 12 12 -D E -y z -4 3 -7 -100 75 98 25 - -looks like this rocks --2 -1 0 1 2 3 4 - -Dafny program verifier did not attempt verification 67 67 67 67 67 67 67 67 0 1 2 3 1 2 3 4 diff --git a/Test/dafny0/Bitvectors.dfy b/Test/dafny0/Bitvectors.dfy index 6e0c9270b99..4c8e1094455 100644 --- a/Test/dafny0/Bitvectors.dfy +++ b/Test/dafny0/Bitvectors.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /print:"%t.print" /env:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Note the difference in Java output is due to // https://github.com/dafny-lang/dafny/issues/4152 diff --git a/Test/dafny0/Bitvectors.dfy.expect b/Test/dafny0/Bitvectors.dfy.expect index 51fda88f97b..ed1c7328e83 100644 --- a/Test/dafny0/Bitvectors.dfy.expect +++ b/Test/dafny0/Bitvectors.dfy.expect @@ -1,52 +1,3 @@ - -Dafny program verifier finished with 11 verified, 0 errors - -Dafny program verifier did not attempt verification -4000 4000 4000 0 -1 2053 1099 -185 55 -2 4 -Comparisons: true true false false -bv16: 5 - 2 == 3 -bv16: 1 - 2 == 65535 -3 2 -0 0 -false true true false -bv67: 147573952589676412927 + 3 == 2 - 3 == 147573952589676412925 !! 3 == ! 147573952589676412924 == 3 -bv64: 18446744073709551615 + 3 == 2 - 3 == 18446744073709551613 !! 3 == ! 18446744073709551612 == 3 -bv53: 9007199254740991 + 3 == 2 - 3 == 9007199254740989 !! 3 == ! 9007199254740988 == 3 -bv33: 8589934591 + 3 == 2 - 3 == 8589934589 !! 3 == ! 8589934588 == 3 -bv32: 4294967295 + 3 == 2 - 3 == 4294967293 !! 3 == ! 4294967292 == 3 -bv31: 2147483647 + 3 == 2 - 3 == 2147483645 !! 3 == ! 2147483644 == 3 -bv16: 65535 + 3 == 2 - 3 == 65533 !! 3 == ! 65532 == 3 -bv15: 32767 + 3 == 2 - 3 == 32765 !! 3 == ! 32764 == 3 -bv8: 255 + 3 == 2 - 3 == 253 !! 3 == ! 252 == 3 -bv6: 63 + 3 == 2 - 3 == 61 !! 3 == ! 60 == 3 -bv1: 1 + 1 == 0 - 1 == 1 !! 1 == ! 0 == 1 -bv0: 0 + 0 == 0 - 0 == 0 !! 0 == ! 0 == 0 -bv2: - 3 + 2 == 1 - 3 - 2 == 1 - 3 * 2 == 2 - 3 / 2 == 1 - 3 % 2 == 1 -PrintShifts: bv67: 5 40 40 40 -PrintShifts: bv32: 5 40 40 40 -PrintShifts: bv7: 5 40 40 40 -PrintShifts: bv2: 1 2 2 2 -PrintShifts: bv0: 0 0 0 0 -PrintShifts: bv67 again: 2 2 2 73786976294838206465 -PrintShifts: bv32 again: 8000 8000 2147487648 3221227472 -PrintShifts: bv7 again: 124 124 124 127 -PrintShifts: bv0 again: 0 0 0 0 -PrintRotates: bv12: 5 5 -PrintRotates: bv7: 5 5 -PrintRotates: bv2: 1 1 -PrintRotates: bv0: 0 0 -PrintRotates: bv12 again: 976 976 -PrintRotates: bv7 again: 127 127 - -Dafny program verifier did not attempt verification 4000 4000 4000 0 1 2053 1099 185 55 diff --git a/Test/dafny0/Constant.dfy b/Test/dafny0/Constant.dfy index f021e7d4482..1fdeedc3335 100644 --- a/Test/dafny0/Constant.dfy +++ b/Test/dafny0/Constant.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment const one:int := 1 const two:int := one * 2 diff --git a/Test/dafny0/Constant.dfy.expect b/Test/dafny0/Constant.dfy.expect index 6099b08c38c..1a7b981715f 100644 --- a/Test/dafny0/Constant.dfy.expect +++ b/Test/dafny0/Constant.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 17 verified, 0 errors one := 1 two := 2 three := 3 diff --git a/Test/dafny0/Deprecation.dfy b/Test/dafny0/Deprecation.dfy index 8c9c688d463..86521043d43 100644 --- a/Test/dafny0/Deprecation.dfy +++ b/Test/dafny0/Deprecation.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This file contains tests for messags about various deprecated features. // As those features go away completely, so can the corresponding tests. diff --git a/Test/dafny0/Deprecation.dfy.expect b/Test/dafny0/Deprecation.dfy.expect index 4ff88d31ade..0dffd975ac7 100644 --- a/Test/dafny0/Deprecation.dfy.expect +++ b/Test/dafny0/Deprecation.dfy.expect @@ -1,8 +1 @@ -Deprecation.dfy(16,13): Warning: constructors no longer need 'this' to be listed in modifies clauses -Deprecation.dfy(23,0): Warning: the old keyword phrase 'inductive predicate' has been renamed to 'least predicate' -Deprecation.dfy(26,0): Warning: the old keyword 'copredicate' has been renamed to the keyword phrase 'greatest predicate' -Deprecation.dfy(29,0): Warning: the old keyword phrase 'inductive lemma' has been renamed to 'least lemma' -Deprecation.dfy(32,0): Warning: the old keyword 'colemma' has been renamed to the keyword phrase 'greatest lemma' - -Dafny program verifier finished with 0 verified, 0 errors yet here we are diff --git a/Test/dafny0/Deprecation.dfy.verifier.expect b/Test/dafny0/Deprecation.dfy.verifier.expect new file mode 100644 index 00000000000..c0851e9888c --- /dev/null +++ b/Test/dafny0/Deprecation.dfy.verifier.expect @@ -0,0 +1,5 @@ +Deprecation.dfy(15,13): Warning: constructors no longer need 'this' to be listed in modifies clauses +Deprecation.dfy(22,0): Warning: the old keyword phrase 'inductive predicate' has been renamed to 'least predicate' +Deprecation.dfy(25,0): Warning: the old keyword 'copredicate' has been renamed to the keyword phrase 'greatest predicate' +Deprecation.dfy(28,0): Warning: the old keyword phrase 'inductive lemma' has been renamed to 'least lemma' +Deprecation.dfy(31,0): Warning: the old keyword 'colemma' has been renamed to the keyword phrase 'greatest lemma' diff --git a/Test/dafny0/DiscoverBounds.dfy b/Test/dafny0/DiscoverBounds.dfy index 31f9717ee79..18e56158613 100644 --- a/Test/dafny0/DiscoverBounds.dfy +++ b/Test/dafny0/DiscoverBounds.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /print:"%t.print" /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment newtype NT = x | 0 <= x < 100 newtype UT = NT diff --git a/Test/dafny0/DiscoverBounds.dfy.expect b/Test/dafny0/DiscoverBounds.dfy.expect index e43954c7be1..909a58326d0 100644 --- a/Test/dafny0/DiscoverBounds.dfy.expect +++ b/Test/dafny0/DiscoverBounds.dfy.expect @@ -1,10 +1,3 @@ -DiscoverBounds.dfy(32,7): Warning: /!\ No terms found to trigger on. -DiscoverBounds.dfy(33,7): Warning: /!\ No terms found to trigger on. -DiscoverBounds.dfy(34,7): Warning: /!\ No terms found to trigger on. -DiscoverBounds.dfy(35,7): Warning: /!\ No terms found to trigger on. -DiscoverBounds.dfy(36,7): Warning: /!\ No terms found to trigger on. - -Dafny program verifier finished with 7 verified, 0 errors 0 0 -2 diff --git a/Test/dafny0/DiscoverBounds.dfy.verifier.expect b/Test/dafny0/DiscoverBounds.dfy.verifier.expect new file mode 100644 index 00000000000..7c4de01ee0e --- /dev/null +++ b/Test/dafny0/DiscoverBounds.dfy.verifier.expect @@ -0,0 +1,5 @@ +DiscoverBounds.dfy(31,7): Warning: /!\ No terms found to trigger on. +DiscoverBounds.dfy(32,7): Warning: /!\ No terms found to trigger on. +DiscoverBounds.dfy(33,7): Warning: /!\ No terms found to trigger on. +DiscoverBounds.dfy(34,7): Warning: /!\ No terms found to trigger on. +DiscoverBounds.dfy(35,7): Warning: /!\ No terms found to trigger on. diff --git a/Test/dafny0/DividedConstructors.dfy b/Test/dafny0/DividedConstructors.dfy index 169bf4ee7df..e6f63a35f11 100644 --- a/Test/dafny0/DividedConstructors.dfy +++ b/Test/dafny0/DividedConstructors.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /env:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var m := new M0.MyClass.Init(20); diff --git a/Test/dafny0/DividedConstructors.dfy.expect b/Test/dafny0/DividedConstructors.dfy.expect index eaa3ed7d379..2dcc1ba6402 100644 --- a/Test/dafny0/DividedConstructors.dfy.expect +++ b/Test/dafny0/DividedConstructors.dfy.expect @@ -1,5 +1,2 @@ -DividedConstructors.dfy(62,9): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier finished with 17 verified, 0 errors 37, 17, 3.14 false, true diff --git a/Test/dafny0/DividedConstructors.dfy.verifier.expect b/Test/dafny0/DividedConstructors.dfy.verifier.expect new file mode 100644 index 00000000000..f3fdfadddbf --- /dev/null +++ b/Test/dafny0/DividedConstructors.dfy.verifier.expect @@ -0,0 +1 @@ +DividedConstructors.dfy(61,9): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny0/EqualityTypesCompile.dfy b/Test/dafny0/EqualityTypesCompile.dfy index de7954710e9..a36d1818c1d 100644 --- a/Test/dafny0/EqualityTypesCompile.dfy +++ b/Test/dafny0/EqualityTypesCompile.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype List = Nil | Cons(A, List) | ICons(int, List) datatype TwoLists = Two(List, List) diff --git a/Test/dafny0/EqualityTypesCompile.dfy.expect b/Test/dafny0/EqualityTypesCompile.dfy.expect index d2f1950e7f7..0246dc39633 100644 --- a/Test/dafny0/EqualityTypesCompile.dfy.expect +++ b/Test/dafny0/EqualityTypesCompile.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors from M: false from N: false from H: false diff --git a/Test/dafny0/ForallCompilationNewSyntax.dfy b/Test/dafny0/ForallCompilationNewSyntax.dfy index b7132df78ae..ac354d6338c 100644 --- a/Test/dafny0/ForallCompilationNewSyntax.dfy +++ b/Test/dafny0/ForallCompilationNewSyntax.dfy @@ -1,5 +1,4 @@ -// RUN: %baredafny run %args --relax-definite-assignment --quantifier-syntax:4 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --quantifier-syntax:4 --relax-definite-assignment method Main() { var c := new MyClass; diff --git a/Test/dafny0/ForallCompilationNewSyntax.dfy.expect b/Test/dafny0/ForallCompilationNewSyntax.dfy.expect index 5b7ec4613bb..e69de29bb2d 100644 --- a/Test/dafny0/ForallCompilationNewSyntax.dfy.expect +++ b/Test/dafny0/ForallCompilationNewSyntax.dfy.expect @@ -1,6 +0,0 @@ -ForallCompilationNewSyntax.dfy(26,4): Warning: /!\ No terms found to trigger on. -ForallCompilationNewSyntax.dfy(35,4): Warning: /!\ No terms found to trigger on. -ForallCompilationNewSyntax.dfy(44,4): Warning: /!\ No terms found to trigger on. -ForallCompilationNewSyntax.dfy(64,4): Warning: /!\ No trigger covering all quantified variables found. - -Dafny program verifier finished with 14 verified, 0 errors diff --git a/Test/dafny0/ForallCompilationNewSyntax.dfy.verifier.expect b/Test/dafny0/ForallCompilationNewSyntax.dfy.verifier.expect new file mode 100644 index 00000000000..a94cd5ea608 --- /dev/null +++ b/Test/dafny0/ForallCompilationNewSyntax.dfy.verifier.expect @@ -0,0 +1,4 @@ +ForallCompilationNewSyntax.dfy(25,4): Warning: /!\ No terms found to trigger on. +ForallCompilationNewSyntax.dfy(34,4): Warning: /!\ No terms found to trigger on. +ForallCompilationNewSyntax.dfy(43,4): Warning: /!\ No terms found to trigger on. +ForallCompilationNewSyntax.dfy(63,4): Warning: /!\ No trigger covering all quantified variables found. diff --git a/Test/dafny0/GhostITECompilation.dfy b/Test/dafny0/GhostITECompilation.dfy index d761ddbc6ea..bd7cfa28a95 100644 --- a/Test/dafny0/GhostITECompilation.dfy +++ b/Test/dafny0/GhostITECompilation.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 /functionSyntax:4 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /functionSyntax:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --function-syntax:4 --relax-definite-assignment function F(x: nat, ghost y: nat): nat { diff --git a/Test/dafny0/GhostITECompilation.dfy.expect b/Test/dafny0/GhostITECompilation.dfy.expect index 1ec406bf52c..b4988e5cf11 100644 --- a/Test/dafny0/GhostITECompilation.dfy.expect +++ b/Test/dafny0/GhostITECompilation.dfy.expect @@ -1,31 +1,3 @@ - -Dafny program verifier finished with 6 verified, 0 errors - -Dafny program verifier did not attempt verification -65 -65 -65 -65 - -Dafny program verifier did not attempt verification -65 -65 -65 -65 - -Dafny program verifier did not attempt verification -65 -65 -65 -65 - -Dafny program verifier did not attempt verification -65 -65 -65 -65 - -Dafny program verifier did not attempt verification 65 65 65 diff --git a/Test/dafny0/InitialValues.dfy b/Test/dafny0/InitialValues.dfy index 7dcb05cc9c9..0848d244d71 100644 --- a/Test/dafny0/InitialValues.dfy +++ b/Test/dafny0/InitialValues.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/dafny0/InitialValues.dfy.expect b/Test/dafny0/InitialValues.dfy.expect index ada1b783c16..18903dcc3dd 100644 --- a/Test/dafny0/InitialValues.dfy.expect +++ b/Test/dafny0/InitialValues.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 2 verified, 0 errors r= 0.0 s= 3.4 a= 0.0 b= 3.4 z= 0.0 a==z = true diff --git a/Test/dafny0/MatchBraces.dfy b/Test/dafny0/MatchBraces.dfy index ddd1924774b..4ac380f2739 100644 --- a/Test/dafny0/MatchBraces.dfy +++ b/Test/dafny0/MatchBraces.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /print:"%t.print" /env:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Color = Red | Green | Blue diff --git a/Test/dafny0/MatchBraces.dfy.expect b/Test/dafny0/MatchBraces.dfy.expect index 88f6cf4f56e..4f89bff47e5 100644 --- a/Test/dafny0/MatchBraces.dfy.expect +++ b/Test/dafny0/MatchBraces.dfy.expect @@ -1,10 +1,2 @@ - -Dafny program verifier finished with 5 verified, 0 errors - -Dafny program verifier did not attempt verification -7 0.18 Color.Red 13 12 -11 98.0 Color.Green 14 115 - -Dafny program verifier did not attempt verification 7 0.18 Color.Red 13 12 11 98.0 Color.Green 14 115 diff --git a/Test/dafny0/MoForallCompilation.dfy b/Test/dafny0/MoForallCompilation.dfy index 835712edbce..af080853463 100644 --- a/Test/dafny0/MoForallCompilation.dfy +++ b/Test/dafny0/MoForallCompilation.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { TestAggregateArrayUpdate(); diff --git a/Test/dafny0/MoForallCompilation.dfy.expect b/Test/dafny0/MoForallCompilation.dfy.expect index c431c74c6aa..7bb606c1528 100644 --- a/Test/dafny0/MoForallCompilation.dfy.expect +++ b/Test/dafny0/MoForallCompilation.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 18 verified, 0 errors -4.0 -3.0 -2.0 -1.0 0.0 1.0 2.0 3.0 7.0 6.0 5.0 4.0 3.0 2.0 1.0 0.0 true true true true true true false false diff --git a/Test/dafny0/NameclashesCompile.dfy b/Test/dafny0/NameclashesCompile.dfy index 4d06065c675..46cae4b2338 100644 --- a/Test/dafny0/NameclashesCompile.dfy +++ b/Test/dafny0/NameclashesCompile.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var r0, r1; diff --git a/Test/dafny0/NameclashesCompile.dfy.expect b/Test/dafny0/NameclashesCompile.dfy.expect index 1434bb632f6..f001bdaeb1e 100644 --- a/Test/dafny0/NameclashesCompile.dfy.expect +++ b/Test/dafny0/NameclashesCompile.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 2 verified, 0 errors 15.0 15.1 94 99 0.8 14.3 14.4 18.9 18.92 diff --git a/Test/dafny0/NonZeroInitializationCompile.dfy b/Test/dafny0/NonZeroInitializationCompile.dfy index 48b61a39369..2fedae6d60d 100644 --- a/Test/dafny0/NonZeroInitializationCompile.dfy +++ b/Test/dafny0/NonZeroInitializationCompile.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment type MyInt = x | 6 <= x witness 6 newtype MyNewInt = x | 6 <= x witness 12 diff --git a/Test/dafny0/NonZeroInitializationCompile.dfy.expect b/Test/dafny0/NonZeroInitializationCompile.dfy.expect index 72b333efb85..c682dccf3fc 100644 --- a/Test/dafny0/NonZeroInitializationCompile.dfy.expect +++ b/Test/dafny0/NonZeroInitializationCompile.dfy.expect @@ -1,76 +1,3 @@ - -Dafny program verifier finished with 15 verified, 0 errors - -Dafny program verifier did not attempt verification -These are the arbitrary values chosen by the compiler: 6, 12 -short, short': 0, -35 -nes: {57} -f0, f1: (0, false), (29, true) -dt: Dt.Atom(-35) -cl { u: 12, x: 0, r: 3.14, nes: {57} } -cl' { u: 12, x: 0, ': 3.14, nes: {20, 57} } - -x: real :: 0.0 versus 0.0 -ch: char :: 'D' versus 'D' -s: set :: {} versus {} -d: Xt :: AdvancedZeroInitialization.Xt.MakeXt(0, []) versus AdvancedZeroInitialization.Xt.MakeXt(0, []) -y: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, []) versus AdvancedZeroInitialization.Yt.MakeYt(0, []) -z: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization.Yt.MakeYt(0, 0) - -x: real :: 0.0 versus 0.0 -ch: char :: 'D' versus 'D' -s: set :: {} versus {} -d: Xt :: AdvancedZeroInitialization.Xt.MakeXt(0, []) versus AdvancedZeroInitialization.Xt.MakeXt(0, []) -y: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, []) versus AdvancedZeroInitialization.Yt.MakeYt(0, []) -z: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization.Yt.MakeYt(0, 0) - -Dafny program verifier did not attempt verification -These are the arbitrary values chosen by the compiler: 6, 12 -short, short': 0, -35 -nes: {57} -f0, f1: (0, false), (29, true) -dt: Dt.Atom(-35) -cl { u: 12, x: 0, r: 3.14, nes: {57} } -cl' { u: 12, x: 0, ': 3.14, nes: {20, 57} } - -x: real :: 0.0 versus 0.0 -ch: char :: 'D' versus 'D' -s: set :: {} versus {} -d: Xt :: AdvancedZeroInitialization.Xt.MakeXt(0, []) versus AdvancedZeroInitialization.Xt.MakeXt(0, []) -y: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, []) versus AdvancedZeroInitialization.Yt.MakeYt(0, []) -z: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization.Yt.MakeYt(0, 0) - -x: real :: 0.0 versus 0.0 -ch: char :: 'D' versus 'D' -s: set :: {} versus {} -d: Xt :: AdvancedZeroInitialization.Xt.MakeXt(0, []) versus AdvancedZeroInitialization.Xt.MakeXt(0, []) -y: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, []) versus AdvancedZeroInitialization.Yt.MakeYt(0, []) -z: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization.Yt.MakeYt(0, 0) - -Dafny program verifier did not attempt verification -These are the arbitrary values chosen by the compiler: 6, 12 -short, short': 0, -35 -nes: {57} -f0, f1: (0, false), (29, true) -dt: Dt.Atom(-35) -cl { u: 12, x: 0, r: 3.14, nes: {57} } -cl' { u: 12, x: 0, ': 3.14, nes: {20, 57} } - -x: real :: 0.0 versus 0.0 -ch: char :: 'D' versus 'D' -s: set :: {} versus {} -d: Xt :: AdvancedZeroInitialization.Xt.MakeXt(0, []) versus AdvancedZeroInitialization.Xt.MakeXt(0, []) -y: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, []) versus AdvancedZeroInitialization.Yt.MakeYt(0, []) -z: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization.Yt.MakeYt(0, 0) - -x: real :: 0.0 versus 0.0 -ch: char :: 'D' versus 'D' -s: set :: {} versus {} -d: Xt :: AdvancedZeroInitialization.Xt.MakeXt(0, []) versus AdvancedZeroInitialization.Xt.MakeXt(0, []) -y: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, []) versus AdvancedZeroInitialization.Yt.MakeYt(0, []) -z: Yt :: AdvancedZeroInitialization.Yt.MakeYt(0, 0) versus AdvancedZeroInitialization.Yt.MakeYt(0, 0) - -Dafny program verifier did not attempt verification These are the arbitrary values chosen by the compiler: 6, 12 short, short': 0, -35 nes: {57} diff --git a/Test/dafny0/NullComparisonWarnings.dfy b/Test/dafny0/NullComparisonWarnings.dfy index eb9183040bc..35fd5ffb3f4 100644 --- a/Test/dafny0/NullComparisonWarnings.dfy +++ b/Test/dafny0/NullComparisonWarnings.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { print "despite the warnings, the program still compiles\n"; diff --git a/Test/dafny0/NullComparisonWarnings.dfy.expect b/Test/dafny0/NullComparisonWarnings.dfy.expect index d8cf4a9960c..f2b4545fac7 100644 --- a/Test/dafny0/NullComparisonWarnings.dfy.expect +++ b/Test/dafny0/NullComparisonWarnings.dfy.expect @@ -1,14 +1 @@ -NullComparisonWarnings.dfy(27,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(28,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'y' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(29,14): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for field 'next' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(30,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(31,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'y' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(32,14): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for field 'next' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(34,12): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(37,12): Warning: the type of the other operand is a set of non-null elements, so the inclusion test of 'null' will always return 'false' -NullComparisonWarnings.dfy(38,12): Warning: the type of the other operand is a set of non-null elements, so the non-inclusion test of 'null' will always return 'true' -NullComparisonWarnings.dfy(40,41): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'u' to have the value 'null', declare its type to be 'MyClass?') -NullComparisonWarnings.dfy(45,12): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' - -Dafny program verifier finished with 4 verified, 0 errors despite the warnings, the program still compiles diff --git a/Test/dafny0/NullComparisonWarnings.dfy.verifier.expect b/Test/dafny0/NullComparisonWarnings.dfy.verifier.expect new file mode 100644 index 00000000000..24f9074ecc9 --- /dev/null +++ b/Test/dafny0/NullComparisonWarnings.dfy.verifier.expect @@ -0,0 +1,11 @@ +NullComparisonWarnings.dfy(26,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(27,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'y' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(28,14): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for field 'next' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(29,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(30,9): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'y' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(31,14): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for field 'next' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(33,12): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'false' (to make it possible for variable 'x' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(36,12): Warning: the type of the other operand is a set of non-null elements, so the inclusion test of 'null' will always return 'false' +NullComparisonWarnings.dfy(37,12): Warning: the type of the other operand is a set of non-null elements, so the non-inclusion test of 'null' will always return 'true' +NullComparisonWarnings.dfy(39,41): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' (to make it possible for variable 'u' to have the value 'null', declare its type to be 'MyClass?') +NullComparisonWarnings.dfy(44,12): Warning: the type of the other operand is a non-null type, so this comparison with 'null' will always return 'true' diff --git a/Test/dafny0/PrintUTF8.dfy b/Test/dafny0/PrintUTF8.dfy index 5d4e376b19d..eff7baa32a9 100644 --- a/Test/dafny0/PrintUTF8.dfy +++ b/Test/dafny0/PrintUTF8.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { print "Mikaël fixed UTF8\n"; diff --git a/Test/dafny0/PrintUTF8.dfy.expect b/Test/dafny0/PrintUTF8.dfy.expect index 52a23e906cc..818549280d3 100644 --- a/Test/dafny0/PrintUTF8.dfy.expect +++ b/Test/dafny0/PrintUTF8.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors Mikaël fixed UTF8 diff --git a/Test/dafny0/RangeCompilation.dfy b/Test/dafny0/RangeCompilation.dfy index 53a8d6e33e5..3f3e6aed0f8 100644 --- a/Test/dafny0/RangeCompilation.dfy +++ b/Test/dafny0/RangeCompilation.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment newtype Byte = x | 0 <= x < 256 predicate GoodByte(b: Byte) { diff --git a/Test/dafny0/RangeCompilation.dfy.expect b/Test/dafny0/RangeCompilation.dfy.expect index 82fbbb9b698..9e0f9e5f028 100644 --- a/Test/dafny0/RangeCompilation.dfy.expect +++ b/Test/dafny0/RangeCompilation.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 4 verified, 0 errors b=2 i=4 diff --git a/Test/dafny0/SeqFromArray.dfy b/Test/dafny0/SeqFromArray.dfy index 6bab732c906..39f72303d18 100644 --- a/Test/dafny0/SeqFromArray.dfy +++ b/Test/dafny0/SeqFromArray.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // /autoTriggers:1 added to suppress instabilities diff --git a/Test/dafny0/SeqFromArray.dfy.expect b/Test/dafny0/SeqFromArray.dfy.expect index 1981561ca00..e69de29bb2d 100644 --- a/Test/dafny0/SeqFromArray.dfy.expect +++ b/Test/dafny0/SeqFromArray.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 10 verified, 0 errors diff --git a/Test/dafny0/SharedDestructorsCompile.dfy b/Test/dafny0/SharedDestructorsCompile.dfy index 8171cf72404..64d8b245b58 100644 --- a/Test/dafny0/SharedDestructorsCompile.dfy +++ b/Test/dafny0/SharedDestructorsCompile.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Dt = | A(x: int, y: real) diff --git a/Test/dafny0/SharedDestructorsCompile.dfy.expect b/Test/dafny0/SharedDestructorsCompile.dfy.expect index e037db03c40..060d152d77b 100644 --- a/Test/dafny0/SharedDestructorsCompile.dfy.expect +++ b/Test/dafny0/SharedDestructorsCompile.dfy.expect @@ -1,20 +1,3 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification -Dt.A(10, 12.0): x=10 y=12.0 -Dt.B(_module.MyClass, 6): h=_module.MyClass x=6 -Dt.C(3.14): y=3.14 -Dt.C(3.14) -Dt.A(71, 0.1) -Klef.C3(44, 100, 66, 200) -Datte.AA(10, 2) Datte.AA(10, 5) -Datte.BB(false, 12) Datte.BB(false, 6) -Datte.CC(3.2) Datte.CC(3.4) -Datte.DD(100, {7}, 5, 9.0) Datte.DD(30, {7}, 5, 9.0) -Datte.DD(100, {7}, 5, 9.0) Datte.DD(30, {7}, 5, 2.0) - -Dafny program verifier did not attempt verification Dt.A(10, 12.0): x=10 y=12.0 Dt.B(_module.MyClass, 6): h=_module.MyClass x=6 Dt.C(3.14): y=3.14 diff --git a/Test/dafny0/SiblingImports.dfy b/Test/dafny0/SiblingImports.dfy index 3fb01d9d1b8..756e4b253f3 100644 --- a/Test/dafny0/SiblingImports.dfy +++ b/Test/dafny0/SiblingImports.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { ClientA.Test(); diff --git a/Test/dafny0/SiblingImports.dfy.expect b/Test/dafny0/SiblingImports.dfy.expect index ba4df82a925..fb6171563ac 100644 --- a/Test/dafny0/SiblingImports.dfy.expect +++ b/Test/dafny0/SiblingImports.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors ClientA.Inner.Five: 5 ClientB.Inner.Five: 5 ClientC.Inner.Five: 5 diff --git a/Test/dafny0/TypeConversionsCompile.dfy b/Test/dafny0/TypeConversionsCompile.dfy index 90075fb74a8..5b1e32b9258 100644 --- a/Test/dafny0/TypeConversionsCompile.dfy +++ b/Test/dafny0/TypeConversionsCompile.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /env:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Note the difference in output in Java's case is due to // https://github.com/dafny-lang/dafny/issues/4152 diff --git a/Test/dafny0/TypeConversionsCompile.dfy.expect b/Test/dafny0/TypeConversionsCompile.dfy.expect index 893938a0226..78990cf4a30 100644 --- a/Test/dafny0/TypeConversionsCompile.dfy.expect +++ b/Test/dafny0/TypeConversionsCompile.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 8 verified, 0 errors 3 4 5.0 5 6 -1.0 147573952589676412927 4294967295 127 0 got 3, expected 3 got 0, expected 0 diff --git a/Test/dafny0/TypeMembers.dfy b/Test/dafny0/TypeMembers.dfy index 2ab57767ad5..f2bea4039c9 100644 --- a/Test/dafny0/TypeMembers.dfy +++ b/Test/dafny0/TypeMembers.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { BasicTests(); diff --git a/Test/dafny0/TypeMembers.dfy.expect b/Test/dafny0/TypeMembers.dfy.expect index 1d406ca85dc..923cb07e841 100644 --- a/Test/dafny0/TypeMembers.dfy.expect +++ b/Test/dafny0/TypeMembers.dfy.expect @@ -1,32 +1,3 @@ -TypeMembers.dfy(117,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect - -Dafny program verifier finished with 29 verified, 0 errors -TypeMembers.dfy(117,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect - -Dafny program verifier did not attempt verification -DaTy.Yes 10 26 -8 11 10 11 10 -35 10 14 -22 22 -9 Dt.Business(false, 5) -76 77 -19 -0 0 -19 82 83 -93 Co.Cobalt -27 27 -18 -11 18 18 22 -15 30 29 -95 11 -162 165 -11 18 18 3 -15 30 29 -95 11 -162 165 -TypeMembers.dfy(117,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect - -Dafny program verifier did not attempt verification DaTy.Yes 10 26 8 11 10 11 10 35 10 14 diff --git a/Test/dafny0/TypeMembers.dfy.verifier.expect b/Test/dafny0/TypeMembers.dfy.verifier.expect new file mode 100644 index 00000000000..62f55c943d2 --- /dev/null +++ b/Test/dafny0/TypeMembers.dfy.verifier.expect @@ -0,0 +1 @@ +TypeMembers.dfy(114,30): Warning: Argument to 'old' does not dereference the mutable heap, so this use of 'old' has no effect diff --git a/Test/dafny0/Wellfounded.dfy b/Test/dafny0/Wellfounded.dfy index 2ed488974c6..7ec2be06b38 100644 --- a/Test/dafny0/Wellfounded.dfy +++ b/Test/dafny0/Wellfounded.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var d := Int(10); diff --git a/Test/dafny0/Wellfounded.dfy.expect b/Test/dafny0/Wellfounded.dfy.expect index 73d7a1e7ca2..52742a67098 100644 --- a/Test/dafny0/Wellfounded.dfy.expect +++ b/Test/dafny0/Wellfounded.dfy.expect @@ -1,7 +1,3 @@ -Wellfounded.dfy(49,14): Warning: /!\ No terms found to trigger on. -Wellfounded.dfy(77,5): Warning: /!\ No terms found to trigger on. - -Dafny program verifier finished with 3 verified, 0 errors M(d, d) = 10 M(a1, d) = 10 M(a2, d) = 10 diff --git a/Test/dafny0/Wellfounded.dfy.verifier.expect b/Test/dafny0/Wellfounded.dfy.verifier.expect new file mode 100644 index 00000000000..e61f12f01b2 --- /dev/null +++ b/Test/dafny0/Wellfounded.dfy.verifier.expect @@ -0,0 +1,2 @@ +Wellfounded.dfy(48,14): Warning: /!\ No terms found to trigger on. +Wellfounded.dfy(76,5): Warning: /!\ No terms found to trigger on. diff --git a/Test/dafny2/MinWindowMax.dfy b/Test/dafny2/MinWindowMax.dfy index 71ccb539d7d..32342cdd8b9 100644 --- a/Test/dafny2/MinWindowMax.dfy +++ b/Test/dafny2/MinWindowMax.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Minimum window-max problem. // Rustan Leino diff --git a/Test/dafny2/MinWindowMax.dfy.expect b/Test/dafny2/MinWindowMax.dfy.expect index f6f6e52d9bc..1bb5609994e 100644 --- a/Test/dafny2/MinWindowMax.dfy.expect +++ b/Test/dafny2/MinWindowMax.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 12 verified, 0 errors Window size 1: min window-max is -5 Window size 2: min window-max is 2 Window size 3: min window-max is 3 diff --git a/Test/dafny2/SmallestMissingNumber-functional.dfy b/Test/dafny2/SmallestMissingNumber-functional.dfy index 047475c2680..a1544efab5f 100644 --- a/Test/dafny2/SmallestMissingNumber-functional.dfy +++ b/Test/dafny2/SmallestMissingNumber-functional.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Smallest missing number problem, functional version without duplicates. // A purely functional solution to the programming problem in Richard Bird's diff --git a/Test/dafny2/SmallestMissingNumber-functional.dfy.expect b/Test/dafny2/SmallestMissingNumber-functional.dfy.expect index 208b183ee3e..5d75da8ddd3 100644 --- a/Test/dafny2/SmallestMissingNumber-functional.dfy.expect +++ b/Test/dafny2/SmallestMissingNumber-functional.dfy.expect @@ -1,4 +1 @@ -SmallestMissingNumber-functional.dfy(213,11): Warning: /!\ No terms found to trigger on. - -Dafny program verifier finished with 21 verified, 0 errors 0 1 4 5 diff --git a/Test/dafny2/SmallestMissingNumber-functional.dfy.verifier.expect b/Test/dafny2/SmallestMissingNumber-functional.dfy.verifier.expect new file mode 100644 index 00000000000..cf10280f376 --- /dev/null +++ b/Test/dafny2/SmallestMissingNumber-functional.dfy.verifier.expect @@ -0,0 +1 @@ +SmallestMissingNumber-functional.dfy(212,11): Warning: /!\ No terms found to trigger on. diff --git a/Test/dafny2/SmallestMissingNumber-imperative.dfy b/Test/dafny2/SmallestMissingNumber-imperative.dfy index b8539481a54..314bf4e464c 100644 --- a/Test/dafny2/SmallestMissingNumber-imperative.dfy +++ b/Test/dafny2/SmallestMissingNumber-imperative.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Smallest missing number. // An imperative solution to the programming problem in Richard Bird's diff --git a/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect b/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect index bc4a868fdff..cfb25913041 100644 --- a/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect +++ b/Test/dafny2/SmallestMissingNumber-imperative.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 8 verified, 0 errors 0 1 5 diff --git a/Test/dafny2/StoreAndRetrieve.dfy b/Test/dafny2/StoreAndRetrieve.dfy index 99a72697a71..f19239e234a 100644 --- a/Test/dafny2/StoreAndRetrieve.dfy +++ b/Test/dafny2/StoreAndRetrieve.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This file shows an example program that uses both refinement and :autocontracts // specify a class that stores a set of things that can be retrieved using a query. diff --git a/Test/dafny2/StoreAndRetrieve.dfy.expect b/Test/dafny2/StoreAndRetrieve.dfy.expect index 1d7d71d5202..030f5bfab39 100644 --- a/Test/dafny2/StoreAndRetrieve.dfy.expect +++ b/Test/dafny2/StoreAndRetrieve.dfy.expect @@ -1,39 +1 @@ -StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier finished with 19 verified, 0 errors -StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -20.3 -StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -20.3 -StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -20.3 -StoreAndRetrieve.dfy(65,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(70,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(71,13): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(86,9): Warning: the ... refinement feature in statements is deprecated -StoreAndRetrieve.dfy(97,9): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification 20.3 diff --git a/Test/dafny2/StoreAndRetrieve.dfy.verifier.expect b/Test/dafny2/StoreAndRetrieve.dfy.verifier.expect new file mode 100644 index 00000000000..0c3d269cdc1 --- /dev/null +++ b/Test/dafny2/StoreAndRetrieve.dfy.verifier.expect @@ -0,0 +1,5 @@ +StoreAndRetrieve.dfy(60,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(65,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(66,13): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(81,9): Warning: the ... refinement feature in statements is deprecated +StoreAndRetrieve.dfy(92,9): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny2/pq-intrinsic-extrinsic.dfy b/Test/dafny2/pq-intrinsic-extrinsic.dfy index c797c92445d..588c2f9e2b1 100644 --- a/Test/dafny2/pq-intrinsic-extrinsic.dfy +++ b/Test/dafny2/pq-intrinsic-extrinsic.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This file contains several versions of a priority queue implemented by Braun trees: // diff --git a/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect b/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect index bc2608f44b7..5c90c26e0eb 100644 --- a/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect +++ b/Test/dafny2/pq-intrinsic-extrinsic.dfy.expect @@ -1,14 +1,3 @@ - -Dafny program verifier finished with 32 verified, 0 errors - -Dafny program verifier did not attempt verification -PriorityQueue_extrinsic: 3 -PriorityQueue_layered: 3 -PriorityQueue_intrinsic: 3 -PriorityQueue_on_intrinsic: 3 -PriorityQueue_direct: 3 - -Dafny program verifier did not attempt verification PriorityQueue_extrinsic: 3 PriorityQueue_layered: 3 PriorityQueue_intrinsic: 3 diff --git a/Test/dafny3/Abstemious.dfy b/Test/dafny3/Abstemious.dfy index 263c1f1fb00..62d891f950f 100644 --- a/Test/dafny3/Abstemious.dfy +++ b/Test/dafny3/Abstemious.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Examples from https://www.haskell.org/tutorial/functions.html diff --git a/Test/dafny3/Abstemious.dfy.expect b/Test/dafny3/Abstemious.dfy.expect index 96f109b0b58..3511a04a840 100644 --- a/Test/dafny3/Abstemious.dfy.expect +++ b/Test/dafny3/Abstemious.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 19 verified, 0 errors ones(): 1 1 1 1 1 1 1 ... from(3): 3 4 5 6 7 8 9 ... Map(plus1, ones()): 2 2 2 2 2 2 2 ... diff --git a/Test/dafny3/CachedContainer.dfy b/Test/dafny3/CachedContainer.dfy index 77c3e45897f..e36e76d6851 100644 --- a/Test/dafny3/CachedContainer.dfy +++ b/Test/dafny3/CachedContainer.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This file contains an example chain of module refinements, starting from a // simple interface M0 to an implementation M3. Module Client.Test() is diff --git a/Test/dafny3/CachedContainer.dfy.expect b/Test/dafny3/CachedContainer.dfy.expect index 08f4fb30b0a..ed2a587c3f1 100644 --- a/Test/dafny3/CachedContainer.dfy.expect +++ b/Test/dafny3/CachedContainer.dfy.expect @@ -1,79 +1 @@ -CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier finished with 29 verified, 0 errors -CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -false true false true -CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -false true false true -CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -false true false true -CachedContainer.dfy(117,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(124,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(127,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(134,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(137,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(158,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(159,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(168,13): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(171,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(172,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(183,9): Warning: the ... refinement feature in statements is deprecated -CachedContainer.dfy(184,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification false true false true diff --git a/Test/dafny3/CachedContainer.dfy.verifier.expect b/Test/dafny3/CachedContainer.dfy.verifier.expect new file mode 100644 index 00000000000..a037bc94ff6 --- /dev/null +++ b/Test/dafny3/CachedContainer.dfy.verifier.expect @@ -0,0 +1,13 @@ +CachedContainer.dfy(112,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(119,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(122,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(129,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(132,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(153,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(154,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(162,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(163,13): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(166,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(167,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(178,9): Warning: the ... refinement feature in statements is deprecated +CachedContainer.dfy(179,13): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny3/Iter.dfy b/Test/dafny3/Iter.dfy index 81431f2c64b..46befa24dd8 100644 --- a/Test/dafny3/Iter.dfy +++ b/Test/dafny3/Iter.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class List { ghost var Contents: seq diff --git a/Test/dafny3/Iter.dfy.expect b/Test/dafny3/Iter.dfy.expect index 69d7373d5d5..0ed11070541 100644 --- a/Test/dafny3/Iter.dfy.expect +++ b/Test/dafny3/Iter.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 12 verified, 0 errors 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 98 0 2 4 6 8 10 12 14 diff --git a/Test/dafny4/Ackermann.dfy b/Test/dafny4/Ackermann.dfy index 27968070e9b..a4ef351c96b 100644 --- a/Test/dafny4/Ackermann.dfy +++ b/Test/dafny4/Ackermann.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Rustan Leino, 8 Sep 2015. // This file proves that the Ackermann function is monotonic in each argument diff --git a/Test/dafny4/Ackermann.dfy.expect b/Test/dafny4/Ackermann.dfy.expect index c995dac9c9a..43d9513ef4b 100644 --- a/Test/dafny4/Ackermann.dfy.expect +++ b/Test/dafny4/Ackermann.dfy.expect @@ -1,5 +1 @@ -Ackermann.dfy(163,4): Warning: /!\ No terms found to trigger on. -Ackermann.dfy(181,4): Warning: /!\ No terms found to trigger on. - -Dafny program verifier finished with 14 verified, 0 errors Ack(3, 4) = 125 diff --git a/Test/dafny4/Ackermann.dfy.verifier.expect b/Test/dafny4/Ackermann.dfy.verifier.expect new file mode 100644 index 00000000000..b302e2b4daf --- /dev/null +++ b/Test/dafny4/Ackermann.dfy.verifier.expect @@ -0,0 +1,2 @@ +Ackermann.dfy(162,4): Warning: /!\ No terms found to trigger on. +Ackermann.dfy(180,4): Warning: /!\ No terms found to trigger on. diff --git a/Test/dafny4/Bug107.dfy b/Test/dafny4/Bug107.dfy index e417fc90a53..b7ab69c9a8d 100644 --- a/Test/dafny4/Bug107.dfy +++ b/Test/dafny4/Bug107.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/dafny4/Bug107.dfy.expect b/Test/dafny4/Bug107.dfy.expect index ad79213a18c..62f9457511f 100644 --- a/Test/dafny4/Bug107.dfy.expect +++ b/Test/dafny4/Bug107.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors 6 \ No newline at end of file diff --git a/Test/dafny4/Bug108.dfy b/Test/dafny4/Bug108.dfy index c64ec32a340..8228fe44f87 100644 --- a/Test/dafny4/Bug108.dfy +++ b/Test/dafny4/Bug108.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var A := map[0 := 1]; diff --git a/Test/dafny4/Bug108.dfy.expect b/Test/dafny4/Bug108.dfy.expect index c1c63f6c5c1..0777a01b26d 100644 --- a/Test/dafny4/Bug108.dfy.expect +++ b/Test/dafny4/Bug108.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 1 verified, 0 errors map[0 := 1] map[0 := 1] diff --git a/Test/dafny4/Bug113.dfy b/Test/dafny4/Bug113.dfy index 23c759540cd..0bec0c1ce31 100644 --- a/Test/dafny4/Bug113.dfy +++ b/Test/dafny4/Bug113.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype D = D(q:int, r:int, s:int, t:int) @@ -7,4 +6,4 @@ method Main() { print D(10, 20, 30, 40); print "\n"; -} \ No newline at end of file +} diff --git a/Test/dafny4/Bug113.dfy.expect b/Test/dafny4/Bug113.dfy.expect index 3ea1396ad00..e2eeff32e9a 100644 --- a/Test/dafny4/Bug113.dfy.expect +++ b/Test/dafny4/Bug113.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors D.D(10, 20, 30, 40) diff --git a/Test/dafny4/Bug140.dfy b/Test/dafny4/Bug140.dfy index edde966c149..8280db8f665 100644 --- a/Test/dafny4/Bug140.dfy +++ b/Test/dafny4/Bug140.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class Node { ghost var List: seq diff --git a/Test/dafny4/Bug140.dfy.expect b/Test/dafny4/Bug140.dfy.expect index bad48de4d6b..a40ee1166fb 100644 --- a/Test/dafny4/Bug140.dfy.expect +++ b/Test/dafny4/Bug140.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 8 verified, 0 errors 1 2 diff --git a/Test/dafny4/Bug148.dfy b/Test/dafny4/Bug148.dfy index da1ebf99447..f31cef2cdc8 100644 --- a/Test/dafny4/Bug148.dfy +++ b/Test/dafny4/Bug148.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/dafny4/Bug148.dfy.expect b/Test/dafny4/Bug148.dfy.expect index 79d02517ceb..9ed6ca4768b 100644 --- a/Test/dafny4/Bug148.dfy.expect +++ b/Test/dafny4/Bug148.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 0 verified, 0 errors true false true diff --git a/Test/dafny4/Bug49.dfy b/Test/dafny4/Bug49.dfy index 68722830422..868f4a3964b 100644 --- a/Test/dafny4/Bug49.dfy +++ b/Test/dafny4/Bug49.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/dafny4/Bug49.dfy.expect b/Test/dafny4/Bug49.dfy.expect index 4e02a08bbee..800c2bd15ba 100644 --- a/Test/dafny4/Bug49.dfy.expect +++ b/Test/dafny4/Bug49.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 13 verified, 0 errors 6 6 5 diff --git a/Test/dafny4/Bug60.dfy b/Test/dafny4/Bug60.dfy index 0aa9209269d..f4585753f5f 100644 --- a/Test/dafny4/Bug60.dfy +++ b/Test/dafny4/Bug60.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This method can be used to test compilation. method Main() diff --git a/Test/dafny4/Bug60.dfy.expect b/Test/dafny4/Bug60.dfy.expect index 49740e95682..fd56dc3fcbc 100644 --- a/Test/dafny4/Bug60.dfy.expect +++ b/Test/dafny4/Bug60.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 0 verified, 0 errors ({2, 3}, map[2 := 20, 3 := 30]) (2, 2) {2, 3} diff --git a/Test/dafny4/Bug67.dfy b/Test/dafny4/Bug67.dfy index 731018a293b..f01d4239a75 100644 --- a/Test/dafny4/Bug67.dfy +++ b/Test/dafny4/Bug67.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype d = D(m:seq) @@ -8,4 +7,4 @@ method Main() assert D([10, 20]) == D([10, 20]); // succeeds print [10, 20] == [10, 20], "\n"; // prints True print D([10, 20]) == D([10, 20]); // prints False -} \ No newline at end of file +} diff --git a/Test/dafny4/Bug67.dfy.expect b/Test/dafny4/Bug67.dfy.expect index c716cab3144..0be5d980da4 100644 --- a/Test/dafny4/Bug67.dfy.expect +++ b/Test/dafny4/Bug67.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 1 verified, 0 errors true true \ No newline at end of file diff --git a/Test/dafny4/Bug68.dfy b/Test/dafny4/Bug68.dfy index a211206acba..bf50015f90c 100644 --- a/Test/dafny4/Bug68.dfy +++ b/Test/dafny4/Bug68.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method M1() { @@ -62,4 +61,4 @@ method Main() M3(); M3'(); M4(); -} \ No newline at end of file +} diff --git a/Test/dafny4/Bug68.dfy.expect b/Test/dafny4/Bug68.dfy.expect index f4ef534187d..814ccfee2df 100644 --- a/Test/dafny4/Bug68.dfy.expect +++ b/Test/dafny4/Bug68.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 8 verified, 0 errors true true true diff --git a/Test/dafny4/Bug89.dfy b/Test/dafny4/Bug89.dfy index 4aec1acb8b7..c7b77b44f99 100644 --- a/Test/dafny4/Bug89.dfy +++ b/Test/dafny4/Bug89.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method F() returns(x:int) ensures x == 6 diff --git a/Test/dafny4/Bug89.dfy.expect b/Test/dafny4/Bug89.dfy.expect index ed41c274352..62f9457511f 100644 --- a/Test/dafny4/Bug89.dfy.expect +++ b/Test/dafny4/Bug89.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors 6 \ No newline at end of file diff --git a/Test/dafny4/Bug94.dfy b/Test/dafny4/Bug94.dfy index be931445654..c41458539fc 100644 --- a/Test/dafny4/Bug94.dfy +++ b/Test/dafny4/Bug94.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment ghost function foo() : (int, int) { diff --git a/Test/dafny4/Bug94.dfy.expect b/Test/dafny4/Bug94.dfy.expect index ab0cfbb2d9e..3f10ffe7a4c 100644 --- a/Test/dafny4/Bug94.dfy.expect +++ b/Test/dafny4/Bug94.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors 15 \ No newline at end of file diff --git a/Test/dafny4/ClassRefinement.dfy b/Test/dafny4/ClassRefinement.dfy index 320749ec197..3d5fd1006eb 100644 --- a/Test/dafny4/ClassRefinement.dfy +++ b/Test/dafny4/ClassRefinement.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment abstract module M0 { class Counter { diff --git a/Test/dafny4/ClassRefinement.dfy.expect b/Test/dafny4/ClassRefinement.dfy.expect index f456b6777f3..cba3471eb57 100644 --- a/Test/dafny4/ClassRefinement.dfy.expect +++ b/Test/dafny4/ClassRefinement.dfy.expect @@ -1,44 +1 @@ -ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated -ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier finished with 11 verified, 0 errors -ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated -ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -2 1 -ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated -ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -2 1 -ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated -ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification -2 1 -ClassRefinement.dfy(73,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(74,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(79,9): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(80,13): Warning: the ... refinement feature in statements is deprecated -ClassRefinement.dfy(82,6): Warning: the modify statement with a block statement is deprecated -ClassRefinement.dfy(83,13): Warning: the ... refinement feature in statements is deprecated - -Dafny program verifier did not attempt verification 2 1 diff --git a/Test/dafny4/ClassRefinement.dfy.verifier.expect b/Test/dafny4/ClassRefinement.dfy.verifier.expect new file mode 100644 index 00000000000..543e77303b5 --- /dev/null +++ b/Test/dafny4/ClassRefinement.dfy.verifier.expect @@ -0,0 +1,6 @@ +ClassRefinement.dfy(68,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(69,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(74,9): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(75,13): Warning: the ... refinement feature in statements is deprecated +ClassRefinement.dfy(77,6): Warning: the modify statement with a block statement is deprecated +ClassRefinement.dfy(78,13): Warning: the ... refinement feature in statements is deprecated diff --git a/Test/dafny4/ExpandedGuardedness.dfy b/Test/dafny4/ExpandedGuardedness.dfy index 5cd7828f932..af620ec40e8 100644 --- a/Test/dafny4/ExpandedGuardedness.dfy +++ b/Test/dafny4/ExpandedGuardedness.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/dafny4/ExpandedGuardedness.dfy.expect b/Test/dafny4/ExpandedGuardedness.dfy.expect index d05670701e0..e0f3b041a66 100644 --- a/Test/dafny4/ExpandedGuardedness.dfy.expect +++ b/Test/dafny4/ExpandedGuardedness.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 12 verified, 0 errors Up 19 20 21 22 23 Up2 19 20 21 22 23 UpIf 19 20 22 24 26 diff --git a/Test/dafny4/FlyingRobots.dfy b/Test/dafny4/FlyingRobots.dfy index 41223cca1aa..f14a2a467cd 100644 --- a/Test/dafny4/FlyingRobots.dfy +++ b/Test/dafny4/FlyingRobots.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // The flying robots examples from an F* tutorial. It demonstrates how to specify // mutable data structures in the heap. diff --git a/Test/dafny4/FlyingRobots.dfy.expect b/Test/dafny4/FlyingRobots.dfy.expect index 5ed0d97333e..e69de29bb2d 100644 --- a/Test/dafny4/FlyingRobots.dfy.expect +++ b/Test/dafny4/FlyingRobots.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 31 verified, 0 errors diff --git a/Test/dafny4/Leq.dfy b/Test/dafny4/Leq.dfy index fac12757ba0..fdbc1078ca3 100644 --- a/Test/dafny4/Leq.dfy +++ b/Test/dafny4/Leq.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Rustan Leino, 22 Sep 2015. // This file considers two definitions of Leq on naturals+infinity. One diff --git a/Test/dafny4/Leq.dfy.expect b/Test/dafny4/Leq.dfy.expect index 15301952c57..e69de29bb2d 100644 --- a/Test/dafny4/Leq.dfy.expect +++ b/Test/dafny4/Leq.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 16 verified, 0 errors diff --git a/Test/dafny4/McCarthy91.dfy b/Test/dafny4/McCarthy91.dfy index 466d30328cc..428f11eb269 100644 --- a/Test/dafny4/McCarthy91.dfy +++ b/Test/dafny4/McCarthy91.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // The usual recursive method for computing McCarthy's 91 function method Main() { diff --git a/Test/dafny4/McCarthy91.dfy.expect b/Test/dafny4/McCarthy91.dfy.expect index b63f7a0b03b..1511cff2c81 100644 --- a/Test/dafny4/McCarthy91.dfy.expect +++ b/Test/dafny4/McCarthy91.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors M(3) = 91 M(99) = 91 M(100) = 91 diff --git a/Test/dafny4/NatList.dfy b/Test/dafny4/NatList.dfy index 567fd461259..5a1b0358eaf 100644 --- a/Test/dafny4/NatList.dfy +++ b/Test/dafny4/NatList.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // This file tests some programs where "nat" is a type parameter to // a datatype. diff --git a/Test/dafny4/NatList.dfy.expect b/Test/dafny4/NatList.dfy.expect index 2ceb3169787..5382a29cb9f 100644 --- a/Test/dafny4/NatList.dfy.expect +++ b/Test/dafny4/NatList.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 11 verified, 0 errors ns = List.Cons(4, List.Cons(10, List.Nil)) Sum(ns) = 14 ns' = List.Cons(20, List.Nil) diff --git a/Test/dafny4/Regression2.dfy b/Test/dafny4/Regression2.dfy index 213bf265401..0d28285e74c 100644 --- a/Test/dafny4/Regression2.dfy +++ b/Test/dafny4/Regression2.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module NativeTypes { newtype uint64 = int diff --git a/Test/dafny4/Regression2.dfy.expect b/Test/dafny4/Regression2.dfy.expect index 3f8ac383f86..8a739fb435a 100644 --- a/Test/dafny4/Regression2.dfy.expect +++ b/Test/dafny4/Regression2.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors true true true diff --git a/Test/dafny4/Regression3.dfy b/Test/dafny4/Regression3.dfy index adaa0d2763d..fc60fad3cb1 100644 --- a/Test/dafny4/Regression3.dfy +++ b/Test/dafny4/Regression3.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/dafny4/Regression3.dfy.expect b/Test/dafny4/Regression3.dfy.expect index 841338987c7..1223bf9ffaf 100644 --- a/Test/dafny4/Regression3.dfy.expect +++ b/Test/dafny4/Regression3.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 3 verified, 0 errors 55 Trunc( -3.0 ) = -3 (expected -3) Trunc( -2.8 ) = -3 (expected -3) diff --git a/Test/dafny4/Regression4.dfy b/Test/dafny4/Regression4.dfy index 5f881a5083f..e4bc4cbef85 100644 --- a/Test/dafny4/Regression4.dfy +++ b/Test/dafny4/Regression4.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { } diff --git a/Test/dafny4/Regression4.dfy.expect b/Test/dafny4/Regression4.dfy.expect index ba00363fc08..e69de29bb2d 100644 --- a/Test/dafny4/Regression4.dfy.expect +++ b/Test/dafny4/Regression4.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 4 verified, 0 errors diff --git a/Test/dafny4/Regression6.dfy b/Test/dafny4/Regression6.dfy index f1551d3ef2d..b589ec0ce7d 100644 --- a/Test/dafny4/Regression6.dfy +++ b/Test/dafny4/Regression6.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function Sum(a: array, lo: int, hi: int): int requires 0 <= lo <= hi <= a.Length diff --git a/Test/dafny4/Regression6.dfy.expect b/Test/dafny4/Regression6.dfy.expect index 17464f29e0b..54573bead10 100644 --- a/Test/dafny4/Regression6.dfy.expect +++ b/Test/dafny4/Regression6.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors 0 1028 0 diff --git a/Test/dafny4/Regression7.dfy b/Test/dafny4/Regression7.dfy index 8ce421a62f3..ef3ca5eea44 100644 --- a/Test/dafny4/Regression7.dfy +++ b/Test/dafny4/Regression7.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /rprint:"%t.rprint" /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module ListLibrary { datatype List = Nil | Cons(head: B, tail: List) diff --git a/Test/dafny4/Regression7.dfy.expect b/Test/dafny4/Regression7.dfy.expect index b7b2766a340..4d38be23500 100644 --- a/Test/dafny4/Regression7.dfy.expect +++ b/Test/dafny4/Regression7.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors ListLibrary.List.Cons(28.0, ListLibrary.List.Nil) diff --git a/Test/dafny4/Regression9.dfy b/Test/dafny4/Regression9.dfy index d9e44547252..086007a3ef8 100644 --- a/Test/dafny4/Regression9.dfy +++ b/Test/dafny4/Regression9.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Some tests for the type inference that was revamped // to better support subset types. diff --git a/Test/dafny4/Regression9.dfy.expect b/Test/dafny4/Regression9.dfy.expect index 5a26eaeabfb..2183b22cfa9 100644 --- a/Test/dafny4/Regression9.dfy.expect +++ b/Test/dafny4/Regression9.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors 'D''D''D' diff --git a/Test/dafny4/UnionFind.dfy b/Test/dafny4/UnionFind.dfy index b97b6ef5d61..354f28accb7 100644 --- a/Test/dafny4/UnionFind.dfy +++ b/Test/dafny4/UnionFind.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Rustan Leino, Nov 2015 // Module M0 gives the high-level specification of the UnionFind data structure diff --git a/Test/dafny4/UnionFind.dfy.expect b/Test/dafny4/UnionFind.dfy.expect index 961b161b8dc..1cb72129e49 100644 --- a/Test/dafny4/UnionFind.dfy.expect +++ b/Test/dafny4/UnionFind.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 63 verified, 0 errors false true true false true true diff --git a/Test/dafny4/gcd.dfy b/Test/dafny4/gcd.dfy index 384e338435f..fa92223fa49 100644 --- a/Test/dafny4/gcd.dfy +++ b/Test/dafny4/gcd.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation // A text describing this file is found in a Dafny Power User note: http://leino.science/papers/krml279.html diff --git a/Test/dafny4/gcd.dfy.expect b/Test/dafny4/gcd.dfy.expect index ecbe2b6f64a..c17551a37a4 100644 --- a/Test/dafny4/gcd.dfy.expect +++ b/Test/dafny4/gcd.dfy.expect @@ -1,34 +1,3 @@ - -Dafny program verifier finished with 19 verified, 0 errors - -Dafny program verifier did not attempt verification -15 gcd 9 = 3 -14 gcd 22 = 2 -371 gcd 1 = 1 -1 gcd 2 = 1 -1 gcd 1 = 1 -13 gcd 13 = 13 -60 gcd 60 = 60 - -Dafny program verifier did not attempt verification -15 gcd 9 = 3 -14 gcd 22 = 2 -371 gcd 1 = 1 -1 gcd 2 = 1 -1 gcd 1 = 1 -13 gcd 13 = 13 -60 gcd 60 = 60 - -Dafny program verifier did not attempt verification -15 gcd 9 = 3 -14 gcd 22 = 2 -371 gcd 1 = 1 -1 gcd 2 = 1 -1 gcd 1 = 1 -13 gcd 13 = 13 -60 gcd 60 = 60 - -Dafny program verifier did not attempt verification 15 gcd 9 = 3 14 gcd 22 = 2 371 gcd 1 = 1 diff --git a/Test/dafny4/git-issue104.dfy b/Test/dafny4/git-issue104.dfy index 86683a2ed88..b05ec4de1cc 100644 --- a/Test/dafny4/git-issue104.dfy +++ b/Test/dafny4/git-issue104.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment predicate bug(a: array) reads a diff --git a/Test/dafny4/git-issue104.dfy.expect b/Test/dafny4/git-issue104.dfy.expect index f572edb2471..836a5934c8f 100644 --- a/Test/dafny4/git-issue104.dfy.expect +++ b/Test/dafny4/git-issue104.dfy.expect @@ -1,17 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification -true false - -Dafny program verifier did not attempt verification -true false - -Dafny program verifier did not attempt verification -true false - -Dafny program verifier did not attempt verification -true false - -Dafny program verifier did not attempt verification true false diff --git a/Test/dafny4/git-issue105.dfy b/Test/dafny4/git-issue105.dfy index 09cfce29a6e..4cff2330cba 100644 --- a/Test/dafny4/git-issue105.dfy +++ b/Test/dafny4/git-issue105.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method lol() returns (c: int) { diff --git a/Test/dafny4/git-issue105.dfy.expect b/Test/dafny4/git-issue105.dfy.expect index 012f5b99379..e69de29bb2d 100644 --- a/Test/dafny4/git-issue105.dfy.expect +++ b/Test/dafny4/git-issue105.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/dafny4/git-issue15.dfy b/Test/dafny4/git-issue15.dfy index 96905286209..7c77a67ccf9 100755 --- a/Test/dafny4/git-issue15.dfy +++ b/Test/dafny4/git-issue15.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype obj = Obj(fooBar:map) datatype foo = Foo diff --git a/Test/dafny4/git-issue15.dfy.expect b/Test/dafny4/git-issue15.dfy.expect index e52de78d0b1..00750edc07d 100755 --- a/Test/dafny4/git-issue15.dfy.expect +++ b/Test/dafny4/git-issue15.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors 3 diff --git a/Test/dafny4/git-issue195.dfy b/Test/dafny4/git-issue195.dfy index ac4b1306ac6..fccdc5461c8 100644 --- a/Test/dafny4/git-issue195.dfy +++ b/Test/dafny4/git-issue195.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Block = Block(prevBlockHash:Hash, txs:seq, proof:VProof) diff --git a/Test/dafny4/git-issue195.dfy.expect b/Test/dafny4/git-issue195.dfy.expect index 30692fdef2a..638bfb50b2d 100644 --- a/Test/dafny4/git-issue195.dfy.expect +++ b/Test/dafny4/git-issue195.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 4 verified, 0 errors true true true true true diff --git a/Test/dafny4/git-issue196.dfy b/Test/dafny4/git-issue196.dfy index 64eb0e9123f..056687ab1a5 100644 --- a/Test/dafny4/git-issue196.dfy +++ b/Test/dafny4/git-issue196.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class A { var a: array> diff --git a/Test/dafny4/git-issue196.dfy.expect b/Test/dafny4/git-issue196.dfy.expect index a333f982b8f..ee25a2c5027 100644 --- a/Test/dafny4/git-issue196.dfy.expect +++ b/Test/dafny4/git-issue196.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 9 verified, 0 errors 42 42 42 5000 5000 5000 5000 5000 diff --git a/Test/dafny4/git-issue4.dfy b/Test/dafny4/git-issue4.dfy index b19cf3ce6df..b17a545e219 100644 --- a/Test/dafny4/git-issue4.dfy +++ b/Test/dafny4/git-issue4.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function IntToChar(i:int):char requires 0 <= i < 10 diff --git a/Test/dafny4/git-issue4.dfy.expect b/Test/dafny4/git-issue4.dfy.expect index 33af1e040b7..24e24eb63cc 100644 --- a/Test/dafny4/git-issue4.dfy.expect +++ b/Test/dafny4/git-issue4.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors '8' 8 '8' 56 56 diff --git a/Test/dafny4/git-issue43.dfy b/Test/dafny4/git-issue43.dfy index edf056a1a91..d320d7761bc 100644 --- a/Test/dafny4/git-issue43.dfy +++ b/Test/dafny4/git-issue43.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class System { } diff --git a/Test/dafny4/git-issue43.dfy.expect b/Test/dafny4/git-issue43.dfy.expect index 012f5b99379..e69de29bb2d 100644 --- a/Test/dafny4/git-issue43.dfy.expect +++ b/Test/dafny4/git-issue43.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/dafny4/git-issue76.dfy b/Test/dafny4/git-issue76.dfy index 708ee911b24..85613dba2f2 100644 --- a/Test/dafny4/git-issue76.dfy +++ b/Test/dafny4/git-issue76.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { M0(); diff --git a/Test/dafny4/git-issue76.dfy.expect b/Test/dafny4/git-issue76.dfy.expect index 546da03a267..0cfbf08886f 100644 --- a/Test/dafny4/git-issue76.dfy.expect +++ b/Test/dafny4/git-issue76.dfy.expect @@ -1,8 +1 @@ - -Dafny program verifier finished with 7 verified, 0 errors - -Dafny program verifier did not attempt verification -2 - -Dafny program verifier did not attempt verification 2 diff --git a/Test/dafny4/git-issue79.dfy b/Test/dafny4/git-issue79.dfy index 046a7c5e375..f3fb17b8531 100644 --- a/Test/dafny4/git-issue79.dfy +++ b/Test/dafny4/git-issue79.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype EInt = Int(val: int) | Unknown type Pair = (string, EInt) diff --git a/Test/dafny4/git-issue79.dfy.expect b/Test/dafny4/git-issue79.dfy.expect index 012f5b99379..e69de29bb2d 100644 --- a/Test/dafny4/git-issue79.dfy.expect +++ b/Test/dafny4/git-issue79.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/dafny4/git-issue88.dfy b/Test/dafny4/git-issue88.dfy index 1c188333783..83c0b4a8ef9 100644 --- a/Test/dafny4/git-issue88.dfy +++ b/Test/dafny4/git-issue88.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment type Grid = array2 diff --git a/Test/dafny4/git-issue88.dfy.expect b/Test/dafny4/git-issue88.dfy.expect index 00a51f822da..e69de29bb2d 100644 --- a/Test/dafny4/git-issue88.dfy.expect +++ b/Test/dafny4/git-issue88.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 3 verified, 0 errors diff --git a/Test/exceptions/Exceptions1.dfy b/Test/exceptions/Exceptions1.dfy index 11bb2f7923d..4ffd3291f2f 100644 --- a/Test/exceptions/Exceptions1.dfy +++ b/Test/exceptions/Exceptions1.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" /rprint:"%t.rprint" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "./NatOutcome.dfy" include "./VoidOutcome.dfy" diff --git a/Test/exceptions/Exceptions1.dfy.expect b/Test/exceptions/Exceptions1.dfy.expect index e61be2a11ad..c87eb938c55 100644 --- a/Test/exceptions/Exceptions1.dfy.expect +++ b/Test/exceptions/Exceptions1.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 7 verified, 0 errors true_true_true_88_42_33_Success=100 ___VoidSuccess true_true_false_88_42_Failure diff --git a/Test/exceptions/Exceptions1Expressions.dfy b/Test/exceptions/Exceptions1Expressions.dfy index c0f3c67cd39..a57e5b78c7e 100644 --- a/Test/exceptions/Exceptions1Expressions.dfy +++ b/Test/exceptions/Exceptions1Expressions.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" /rprint:"%t.rprint" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "./NatOutcomeDt.dfy" include "./VoidOutcomeDt.dfy" diff --git a/Test/exceptions/Exceptions1Expressions.dfy.expect b/Test/exceptions/Exceptions1Expressions.dfy.expect index 3da30f30d36..3f1b38ab150 100644 --- a/Test/exceptions/Exceptions1Expressions.dfy.expect +++ b/Test/exceptions/Exceptions1Expressions.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors true_true_true_Success=100 VoidSuccess true_true_false_Failure diff --git a/Test/exports/FIFO.dfy b/Test/exports/FIFO.dfy index 173e412eaa9..95a8d25510c 100644 --- a/Test/exports/FIFO.dfy +++ b/Test/exports/FIFO.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "Queue.dfyi" diff --git a/Test/exports/FIFO.dfy.expect b/Test/exports/FIFO.dfy.expect index 8350309cc2a..4539bbf2d22 100644 --- a/Test/exports/FIFO.dfy.expect +++ b/Test/exports/FIFO.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors 0 1 2 diff --git a/Test/exports/LIFO.dfy b/Test/exports/LIFO.dfy index ea691935620..513dd457c3f 100644 --- a/Test/exports/LIFO.dfy +++ b/Test/exports/LIFO.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "Queue.dfyi" diff --git a/Test/exports/LIFO.dfy.expect b/Test/exports/LIFO.dfy.expect index 48aa7787d09..ae136939b64 100644 --- a/Test/exports/LIFO.dfy.expect +++ b/Test/exports/LIFO.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors 2 1 0 diff --git a/Test/exports/xrefine2.dfy b/Test/exports/xrefine2.dfy index 0b25240916c..2409cc0509a 100644 --- a/Test/exports/xrefine2.dfy +++ b/Test/exports/xrefine2.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module ProtocolImpl { diff --git a/Test/exports/xrefine2.dfy.expect b/Test/exports/xrefine2.dfy.expect index 34e1b357779..858dbd09862 100644 --- a/Test/exports/xrefine2.dfy.expect +++ b/Test/exports/xrefine2.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 4 verified, 0 errors HI.foo(h1) => true HI.foo(h2) => true PI.orange(1) => 2 diff --git a/Test/exports/xrefine3.dfy b/Test/exports/xrefine3.dfy index 24d6fa062f0..bb2480bfed7 100644 --- a/Test/exports/xrefine3.dfy +++ b/Test/exports/xrefine3.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module AlphaImpl { diff --git a/Test/exports/xrefine3.dfy.expect b/Test/exports/xrefine3.dfy.expect index 488ab11c36a..ae50cef0985 100644 --- a/Test/exports/xrefine3.dfy.expect +++ b/Test/exports/xrefine3.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors o hai! diff --git a/Test/git-issues/git-issue-032.dfy b/Test/git-issues/git-issue-032.dfy index bde5b2f2a69..d7dd61440a7 100644 --- a/Test/git-issues/git-issue-032.dfy +++ b/Test/git-issues/git-issue-032.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/git-issues/git-issue-032.dfy.expect b/Test/git-issues/git-issue-032.dfy.expect index 91c285009c1..2a64997c6f7 100644 --- a/Test/git-issues/git-issue-032.dfy.expect +++ b/Test/git-issues/git-issue-032.dfy.expect @@ -1,40 +1,3 @@ -git-issue-032.dfy(18,35): Warning: this branch is redundant -git-issue-032.dfy(27,34): Warning: this branch is redundant -git-issue-032.dfy(28,35): Warning: this branch is redundant - -Dafny program verifier finished with 1 verified, 0 errors -git-issue-032.dfy(18,35): Warning: this branch is redundant -git-issue-032.dfy(27,34): Warning: this branch is redundant -git-issue-032.dfy(28,35): Warning: this branch is redundant - -Dafny program verifier did not attempt verification -OK3 -OK -OKOK -00 -git-issue-032.dfy(18,35): Warning: this branch is redundant -git-issue-032.dfy(27,34): Warning: this branch is redundant -git-issue-032.dfy(28,35): Warning: this branch is redundant - -Dafny program verifier did not attempt verification -OK3 -OK -OKOK -00 -git-issue-032.dfy(18,35): Warning: this branch is redundant -git-issue-032.dfy(27,34): Warning: this branch is redundant -git-issue-032.dfy(28,35): Warning: this branch is redundant - -Dafny program verifier did not attempt verification -OK3 -OK -OKOK -00 -git-issue-032.dfy(18,35): Warning: this branch is redundant -git-issue-032.dfy(27,34): Warning: this branch is redundant -git-issue-032.dfy(28,35): Warning: this branch is redundant - -Dafny program verifier did not attempt verification OK3 OK OKOK diff --git a/Test/git-issues/git-issue-032.dfy.verifier.expect b/Test/git-issues/git-issue-032.dfy.verifier.expect new file mode 100644 index 00000000000..1878351db97 --- /dev/null +++ b/Test/git-issues/git-issue-032.dfy.verifier.expect @@ -0,0 +1,3 @@ +git-issue-032.dfy(13,35): Warning: this branch is redundant +git-issue-032.dfy(22,34): Warning: this branch is redundant +git-issue-032.dfy(23,35): Warning: this branch is redundant diff --git a/Test/git-issues/git-issue-1029.dfy b/Test/git-issues/git-issue-1029.dfy index a310a99c169..7e1e7a31cf2 100644 --- a/Test/git-issues/git-issue-1029.dfy +++ b/Test/git-issues/git-issue-1029.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module ValueType { export S diff --git a/Test/git-issues/git-issue-1029.dfy.expect b/Test/git-issues/git-issue-1029.dfy.expect index 7108c86b0b5..116f2acb4ee 100644 --- a/Test/git-issues/git-issue-1029.dfy.expect +++ b/Test/git-issues/git-issue-1029.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors [true, true, false] UI.Op2.GetOps([true, true, false], [true, true, false]) diff --git a/Test/git-issues/git-issue-1093.dfy b/Test/git-issues/git-issue-1093.dfy index 9365397496f..97797296680 100644 --- a/Test/git-issues/git-issue-1093.dfy +++ b/Test/git-issues/git-issue-1093.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { UnusedLabel(); diff --git a/Test/git-issues/git-issue-1093.dfy.expect b/Test/git-issues/git-issue-1093.dfy.expect index 0cadf5e4199..f599e28b8ab 100644 --- a/Test/git-issues/git-issue-1093.dfy.expect +++ b/Test/git-issues/git-issue-1093.dfy.expect @@ -1,17 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification -10 - -Dafny program verifier did not attempt verification -10 - -Dafny program verifier did not attempt verification -10 - -Dafny program verifier did not attempt verification -10 - -Dafny program verifier did not attempt verification 10 diff --git a/Test/git-issues/git-issue-1130.dfy b/Test/git-issues/git-issue-1130.dfy index 5b7fc5068e2..f1f5ad5a54b 100644 --- a/Test/git-issues/git-issue-1130.dfy +++ b/Test/git-issues/git-issue-1130.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var a := new Issue.Foo(); diff --git a/Test/git-issues/git-issue-1130.dfy.expect b/Test/git-issues/git-issue-1130.dfy.expect index 6c3dd07b1f1..de97a6dc4ca 100644 --- a/Test/git-issues/git-issue-1130.dfy.expect +++ b/Test/git-issues/git-issue-1130.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 13 verified, 0 errors 012 diff --git a/Test/git-issues/git-issue-1150.dfy b/Test/git-issues/git-issue-1150.dfy index d4cee3c3ef2..d3416a53813 100644 --- a/Test/git-issues/git-issue-1150.dfy +++ b/Test/git-issues/git-issue-1150.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Foo = Foo(x: nat) { diff --git a/Test/git-issues/git-issue-1150.dfy.expect b/Test/git-issues/git-issue-1150.dfy.expect index fb4be1897cf..f34d8df4a11 100644 --- a/Test/git-issues/git-issue-1150.dfy.expect +++ b/Test/git-issues/git-issue-1150.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 1 verified, 0 errors Foo.Foo(2) true Foo.Foo(5) false diff --git a/Test/git-issues/git-issue-1185.dfy b/Test/git-issues/git-issue-1185.dfy index 32c340b0736..393384fc6a6 100644 --- a/Test/git-issues/git-issue-1185.dfy +++ b/Test/git-issues/git-issue-1185.dfy @@ -1,9 +1,5 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment predicate P(s: set) requires s != {} diff --git a/Test/git-issues/git-issue-1185.dfy.expect b/Test/git-issues/git-issue-1185.dfy.expect index 90ab58a1f5a..525ce875525 100644 --- a/Test/git-issues/git-issue-1185.dfy.expect +++ b/Test/git-issues/git-issue-1185.dfy.expect @@ -1,14 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification -{12, 20} true 6 - -Dafny program verifier did not attempt verification -{20, 12} true 6 - -Dafny program verifier did not attempt verification -{12, 20} true 6 - -Dafny program verifier did not attempt verification {12, 20} true 6 diff --git a/Test/git-issues/git-issue-1185.dfy.java.expect b/Test/git-issues/git-issue-1185.dfy.java.expect new file mode 100644 index 00000000000..8ba669ad273 --- /dev/null +++ b/Test/git-issues/git-issue-1185.dfy.java.expect @@ -0,0 +1 @@ +{20, 12} true 6 diff --git a/Test/git-issues/git-issue-1514.dfy b/Test/git-issues/git-issue-1514.dfy index 74b75478609..816eadce69b 100644 --- a/Test/git-issues/git-issue-1514.dfy +++ b/Test/git-issues/git-issue-1514.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "Wrappers.dfy" import opened Wrappers diff --git a/Test/git-issues/git-issue-1514.dfy.expect b/Test/git-issues/git-issue-1514.dfy.expect index 2f22d47cee8..b5754e20373 100644 --- a/Test/git-issues/git-issue-1514.dfy.expect +++ b/Test/git-issues/git-issue-1514.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-1514b.dfy b/Test/git-issues/git-issue-1514b.dfy index 1d8cd122d28..050a4a71760 100644 --- a/Test/git-issues/git-issue-1514b.dfy +++ b/Test/git-issues/git-issue-1514b.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "Wrappers.dfy" import opened Wrappers diff --git a/Test/git-issues/git-issue-1514b.dfy.expect b/Test/git-issues/git-issue-1514b.dfy.expect index 2f22d47cee8..b5754e20373 100644 --- a/Test/git-issues/git-issue-1514b.dfy.expect +++ b/Test/git-issues/git-issue-1514b.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-1514c.dfy b/Test/git-issues/git-issue-1514c.dfy index d9df7d108c1..578316f217c 100644 --- a/Test/git-issues/git-issue-1514c.dfy +++ b/Test/git-issues/git-issue-1514c.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment include "Wrappers.dfy" import opened Wrappers diff --git a/Test/git-issues/git-issue-1514c.dfy.expect b/Test/git-issues/git-issue-1514c.dfy.expect index 694254c28aa..9766475a418 100644 --- a/Test/git-issues/git-issue-1514c.dfy.expect +++ b/Test/git-issues/git-issue-1514c.dfy.expect @@ -1,8 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification -ok - -Dafny program verifier did not attempt verification ok diff --git a/Test/git-issues/git-issue-1553.dfy b/Test/git-issues/git-issue-1553.dfy index 6267018c92d..81cbef7aa7e 100644 --- a/Test/git-issues/git-issue-1553.dfy +++ b/Test/git-issues/git-issue-1553.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { } method Test() { diff --git a/Test/git-issues/git-issue-1553.dfy.expect b/Test/git-issues/git-issue-1553.dfy.expect index 65d3b5d6635..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-1553.dfy.expect +++ b/Test/git-issues/git-issue-1553.dfy.expect @@ -1,10 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-1604b.dfy b/Test/git-issues/git-issue-1604b.dfy index 497ee5017d5..d7c4169ec60 100644 --- a/Test/git-issues/git-issue-1604b.dfy +++ b/Test/git-issues/git-issue-1604b.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /errorLimit:0 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --error-limit:0 --relax-definite-assignment // Double constraints. Will this still work? diff --git a/Test/git-issues/git-issue-1604b.dfy.expect b/Test/git-issues/git-issue-1604b.dfy.expect index 93d7203e654..b5754e20373 100644 --- a/Test/git-issues/git-issue-1604b.dfy.expect +++ b/Test/git-issues/git-issue-1604b.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 5 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-1714.dfy b/Test/git-issues/git-issue-1714.dfy index 6ce8915a7af..540a41c39cb 100644 --- a/Test/git-issues/git-issue-1714.dfy +++ b/Test/git-issues/git-issue-1714.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait Base {} class Derived extends Base { var n: int constructor() { n := 0; } } diff --git a/Test/git-issues/git-issue-1714.dfy.expect b/Test/git-issues/git-issue-1714.dfy.expect index 67dd7d95642..88039063d09 100644 --- a/Test/git-issues/git-issue-1714.dfy.expect +++ b/Test/git-issues/git-issue-1714.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors (b as Derived).n == 0 diff --git a/Test/git-issues/git-issue-1815a.dfy b/Test/git-issues/git-issue-1815a.dfy index 91fb7a32aa6..72d55a1cb4f 100644 --- a/Test/git-issues/git-issue-1815a.dfy +++ b/Test/git-issues/git-issue-1815a.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Dt<+U> = Dt(x: U, i: int) diff --git a/Test/git-issues/git-issue-1815a.dfy.expect b/Test/git-issues/git-issue-1815a.dfy.expect index 7b2651302d9..19f86f493ab 100644 --- a/Test/git-issues/git-issue-1815a.dfy.expect +++ b/Test/git-issues/git-issue-1815a.dfy.expect @@ -1,17 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification -done - -Dafny program verifier did not attempt verification -done - -Dafny program verifier did not attempt verification -done - -Dafny program verifier did not attempt verification -done - -Dafny program verifier did not attempt verification done diff --git a/Test/git-issues/git-issue-1852.dfy b/Test/git-issues/git-issue-1852.dfy index 516835e8ea8..046f3fca1fc 100644 --- a/Test/git-issues/git-issue-1852.dfy +++ b/Test/git-issues/git-issue-1852.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module A { export diff --git a/Test/git-issues/git-issue-1852.dfy.expect b/Test/git-issues/git-issue-1852.dfy.expect index e9cd0ea2e07..299a71f3fe4 100644 --- a/Test/git-issues/git-issue-1852.dfy.expect +++ b/Test/git-issues/git-issue-1852.dfy.expect @@ -1,8 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification -5 5 - -Dafny program verifier did not attempt verification 5 5 diff --git a/Test/git-issues/git-issue-1903.dfy b/Test/git-issues/git-issue-1903.dfy index 7edb2a46c61..60ee1c121ab 100644 --- a/Test/git-issues/git-issue-1903.dfy +++ b/Test/git-issues/git-issue-1903.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method g(x : seq := []) { diff --git a/Test/git-issues/git-issue-1903.dfy.expect b/Test/git-issues/git-issue-1903.dfy.expect index 3170fb0c7f2..84cc8d360f9 100644 --- a/Test/git-issues/git-issue-1903.dfy.expect +++ b/Test/git-issues/git-issue-1903.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors worked! diff --git a/Test/git-issues/git-issue-1909.dfy b/Test/git-issues/git-issue-1909.dfy index 7fb5b3b8c48..83d9ec1d785 100644 --- a/Test/git-issues/git-issue-1909.dfy +++ b/Test/git-issues/git-issue-1909.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype ABC = ABC(nameonly a: int, nameonly b: int, nameonly c: int) diff --git a/Test/git-issues/git-issue-1909.dfy.expect b/Test/git-issues/git-issue-1909.dfy.expect index b4eb7e7774e..ab6f7d69d36 100644 --- a/Test/git-issues/git-issue-1909.dfy.expect +++ b/Test/git-issues/git-issue-1909.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors ABC.ABC(19, 21, 23) ABC.ABC(19, 42, 23) ABC.ABC(100, 42, 90) diff --git a/Test/git-issues/git-issue-2013.dfy b/Test/git-issues/git-issue-2013.dfy index d1d3e15880e..1f3962988ee 100644 --- a/Test/git-issues/git-issue-2013.dfy +++ b/Test/git-issues/git-issue-2013.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/git-issues/git-issue-2013.dfy.expect b/Test/git-issues/git-issue-2013.dfy.expect index 7ff6ce957cf..22e56ce7263 100644 --- a/Test/git-issues/git-issue-2013.dfy.expect +++ b/Test/git-issues/git-issue-2013.dfy.expect @@ -1,55 +1,3 @@ - -Dafny program verifier finished with 12 verified, 0 errors - -Dafny program verifier did not attempt verification -16 -16 -12 30 30 -Result.Success(8) Result.Failure(_module.MyClassException) -{100} {100} {100} -{MoreTests.C} {MoreTests.C} {MoreTests.C} -100 100 100 -MoreTests.C MoreTests.C MoreTests.C -Conveyance.NonVariantResult.NVSuccess(Conveyance.Car) Conveyance.CovariantResult.CVSuccess(Conveyance.Car) -M.Stream.Next - -Dafny program verifier did not attempt verification -16 -16 -12 30 30 -Result.Success(8) Result.Failure(_module.MyClassException) -{100} {100} {100} -{MoreTests.C} {MoreTests.C} {MoreTests.C} -100 100 100 -MoreTests.C MoreTests.C MoreTests.C -Conveyance.NonVariantResult.NVSuccess(Conveyance.Car) Conveyance.CovariantResult.CVSuccess(Conveyance.Car) -M.Stream.Next - -Dafny program verifier did not attempt verification -16 -16 -12 30 30 -Result.Success(8) Result.Failure(_module.MyClassException) -{100} {100} {100} -{MoreTests.C} {MoreTests.C} {MoreTests.C} -100 100 100 -MoreTests.C MoreTests.C MoreTests.C -Conveyance.NonVariantResult.NVSuccess(Conveyance.Car) Conveyance.CovariantResult.CVSuccess(Conveyance.Car) -M.Stream.Next - -Dafny program verifier did not attempt verification -16 -16 -12 30 30 -Result.Success(8) Result.Failure(_module.MyClassException) -{100} {100} {100} -{MoreTests.C} {MoreTests.C} {MoreTests.C} -100 100 100 -MoreTests.C MoreTests.C MoreTests.C -Conveyance.NonVariantResult.NVSuccess(Conveyance.Car) Conveyance.CovariantResult.CVSuccess(Conveyance.Car) -M.Stream.Next - -Dafny program verifier did not attempt verification 16 16 12 30 30 diff --git a/Test/git-issues/git-issue-2441.dfy b/Test/git-issues/git-issue-2441.dfy index bc9c8721ee2..4179ecc87bc 100644 --- a/Test/git-issues/git-issue-2441.dfy +++ b/Test/git-issues/git-issue-2441.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype A = A(B: B) datatype B = X diff --git a/Test/git-issues/git-issue-2441.dfy.expect b/Test/git-issues/git-issue-2441.dfy.expect index 0c3f603d584..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-2441.dfy.expect +++ b/Test/git-issues/git-issue-2441.dfy.expect @@ -1,6 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-2510.dfy b/Test/git-issues/git-issue-2510.dfy index 22ef8e47058..11ee2877bb3 100644 --- a/Test/git-issues/git-issue-2510.dfy +++ b/Test/git-issues/git-issue-2510.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:4 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /// Check that the compiler accepts `:- assume {:axiom} …`. diff --git a/Test/git-issues/git-issue-2510.dfy.expect b/Test/git-issues/git-issue-2510.dfy.expect index b341a39a78d..56a6051ca2b 100644 --- a/Test/git-issues/git-issue-2510.dfy.expect +++ b/Test/git-issues/git-issue-2510.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors 1 \ No newline at end of file diff --git a/Test/git-issues/git-issue-2608.dfy b/Test/git-issues/git-issue-2608.dfy index 459c9ffbf94..c606177f94f 100644 --- a/Test/git-issues/git-issue-2608.dfy +++ b/Test/git-issues/git-issue-2608.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /compileTarget:js "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method GetNext(i: int) returns (j: int, possible: bool) { if i == 1 { diff --git a/Test/git-issues/git-issue-2608.dfy.expect b/Test/git-issues/git-issue-2608.dfy.expect index dce7ba1814a..d9ed583f710 100644 --- a/Test/git-issues/git-issue-2608.dfy.expect +++ b/Test/git-issues/git-issue-2608.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors 82411246231944714271214 \ No newline at end of file diff --git a/Test/git-issues/git-issue-262.dfy b/Test/git-issues/git-issue-262.dfy index 2c00ad94a39..786f69f6462 100644 --- a/Test/git-issues/git-issue-262.dfy +++ b/Test/git-issues/git-issue-262.dfy @@ -1,8 +1,5 @@ -// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" -// RUN: %dafny /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function tst(x: nat): nat { x + 1 diff --git a/Test/git-issues/git-issue-262.dfy.expect b/Test/git-issues/git-issue-262.dfy.expect index 76af42cd4a3..41d8cd55158 100644 --- a/Test/git-issues/git-issue-262.dfy.expect +++ b/Test/git-issues/git-issue-262.dfy.expect @@ -1,20 +1,2 @@ - -Dafny program verifier finished with 2 verified, 0 errors System.Func`2[System.Numerics.BigInteger,System.Numerics.BigInteger] System.Func`2[System.Numerics.BigInteger,System.Numerics.BigInteger] - -Dafny program verifier finished with 2 verified, 0 errors -tst(x) { - return (x).plus(_dafny.ONE); - } -tst(x) { - return (x).plus(_dafny.ONE); - } - -Dafny program verifier finished with 2 verified, 0 errors -func(dafny.Int) dafny.Int -func(dafny.Int) dafny.Int - -Dafny program verifier finished with 2 verified, 0 errors -Function -Function diff --git a/Test/git-issues/git-issue-262.dfy.go.expect b/Test/git-issues/git-issue-262.dfy.go.expect new file mode 100644 index 00000000000..578754c176c --- /dev/null +++ b/Test/git-issues/git-issue-262.dfy.go.expect @@ -0,0 +1,2 @@ +func(dafny.Int) dafny.Int +func(dafny.Int) dafny.Int diff --git a/Test/git-issues/git-issue-262.dfy.java.expect b/Test/git-issues/git-issue-262.dfy.java.expect new file mode 100644 index 00000000000..aa5478ef8c9 --- /dev/null +++ b/Test/git-issues/git-issue-262.dfy.java.expect @@ -0,0 +1,2 @@ +Function +Function diff --git a/Test/git-issues/git-issue-262.dfy.js.expect b/Test/git-issues/git-issue-262.dfy.js.expect new file mode 100644 index 00000000000..e181ef2fef8 --- /dev/null +++ b/Test/git-issues/git-issue-262.dfy.js.expect @@ -0,0 +1,6 @@ +tst(x) { + return (x).plus(_dafny.ONE); + } +tst(x) { + return (x).plus(_dafny.ONE); + } diff --git a/Test/git-issues/git-issue-267.dfy b/Test/git-issues/git-issue-267.dfy index cef2fcc6c17..2b0b3281589 100644 --- a/Test/git-issues/git-issue-267.dfy +++ b/Test/git-issues/git-issue-267.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var c := 1; diff --git a/Test/git-issues/git-issue-267.dfy.expect b/Test/git-issues/git-issue-267.dfy.expect index d71aef2f440..cd7da05e3d2 100644 --- a/Test/git-issues/git-issue-267.dfy.expect +++ b/Test/git-issues/git-issue-267.dfy.expect @@ -1,14 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification -210 - -Dafny program verifier did not attempt verification -210 - -Dafny program verifier did not attempt verification -210 - -Dafny program verifier did not attempt verification 210 diff --git a/Test/git-issues/git-issue-2672.dfy b/Test/git-issues/git-issue-2672.dfy index 338299ee8b7..52c5b9c638c 100644 --- a/Test/git-issues/git-issue-2672.dfy +++ b/Test/git-issues/git-issue-2672.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment newtype sreal = r: real | r > -4 as real newtype sint = r: int | r > -4 as int diff --git a/Test/git-issues/git-issue-2672.dfy.expect b/Test/git-issues/git-issue-2672.dfy.expect index c9c3244b6f4..43440a83d53 100644 --- a/Test/git-issues/git-issue-2672.dfy.expect +++ b/Test/git-issues/git-issue-2672.dfy.expect @@ -1,47 +1,3 @@ - -Dafny program verifier finished with 5 verified, 0 errors - -Dafny program verifier did not attempt verification -true true true true true true true true true true -false false false false false false false false false false -false false false false false false false false false false -true true true true true true true true true true -true true true true true true true true true true -false false false false false false false false false false -true true true -false false false - -Dafny program verifier did not attempt verification -true true true true true true true true true true -false false false false false false false false false false -false false false false false false false false false false -true true true true true true true true true true -true true true true true true true true true true -false false false false false false false false false false -true true true -false false false - -Dafny program verifier did not attempt verification -true true true true true true true true true true -false false false false false false false false false false -false false false false false false false false false false -true true true true true true true true true true -true true true true true true true true true true -false false false false false false false false false false -true true true -false false false - -Dafny program verifier did not attempt verification -true true true true true true true true true true -false false false false false false false false false false -false false false false false false false false false false -true true true true true true true true true true -true true true true true true true true true true -false false false false false false false false false false -true true true -false false false - -Dafny program verifier did not attempt verification true true true true true true true true true true false false false false false false false false false false false false false false false false false false false false diff --git a/Test/git-issues/git-issue-2726a.dfy b/Test/git-issues/git-issue-2726a.dfy index 641fefbbdc4..a43d5dd0107 100644 --- a/Test/git-issues/git-issue-2726a.dfy +++ b/Test/git-issues/git-issue-2726a.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /compileTarget:cs "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment const digits := ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"] diff --git a/Test/git-issues/git-issue-2726a.dfy.expect b/Test/git-issues/git-issue-2726a.dfy.expect index 6985935c88c..8e1bedb2a64 100644 --- a/Test/git-issues/git-issue-2726a.dfy.expect +++ b/Test/git-issues/git-issue-2726a.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors 4 42 422 diff --git a/Test/git-issues/git-issue-2733.dfy b/Test/git-issues/git-issue-2733.dfy index 232eab3cc74..65bc2b991fd 100644 --- a/Test/git-issues/git-issue-2733.dfy +++ b/Test/git-issues/git-issue-2733.dfy @@ -1,11 +1,4 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cpp "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false method Main() { print "XYZ"; // Checks that no extra newline is added to the output diff --git a/Test/git-issues/git-issue-2733.dfy.expect b/Test/git-issues/git-issue-2733.dfy.expect index b139e2f3d58..77bf25132db 100644 --- a/Test/git-issues/git-issue-2733.dfy.expect +++ b/Test/git-issues/git-issue-2733.dfy.expect @@ -1,15 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification -XYZ -Dafny program verifier did not attempt verification -XYZ -Dafny program verifier did not attempt verification -XYZ -Dafny program verifier did not attempt verification -XYZ -Dafny program verifier did not attempt verification -XYZ -Dafny program verifier did not attempt verification XYZ \ No newline at end of file diff --git a/Test/git-issues/git-issue-2792.dfy b/Test/git-issues/git-issue-2792.dfy index 89e736667c0..d2fb9db2055 100644 --- a/Test/git-issues/git-issue-2792.dfy +++ b/Test/git-issues/git-issue-2792.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /compileTarget:java "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Wrapper = Wrapper(s: seq) { diff --git a/Test/git-issues/git-issue-2792.dfy.expect b/Test/git-issues/git-issue-2792.dfy.expect index c1e603c58fe..ca1683c3020 100644 --- a/Test/git-issues/git-issue-2792.dfy.expect +++ b/Test/git-issues/git-issue-2792.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors [] Wrapper2.Wrapper2([], 2792) diff --git a/Test/git-issues/git-issue-283.dfy b/Test/git-issues/git-issue-283.dfy index c7c10f4aea3..1ca6d48d32c 100644 --- a/Test/git-issues/git-issue-283.dfy +++ b/Test/git-issues/git-issue-283.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Result = | Success(value: T) diff --git a/Test/git-issues/git-issue-283.dfy.expect b/Test/git-issues/git-issue-283.dfy.expect index 2adb114b8a0..a965a70ed4e 100644 --- a/Test/git-issues/git-issue-283.dfy.expect +++ b/Test/git-issues/git-issue-283.dfy.expect @@ -1,14 +1 @@ - -Dafny program verifier finished with 9 verified, 0 errors - -Dafny program verifier did not attempt verification -Done - -Dafny program verifier did not attempt verification -Done - -Dafny program verifier did not attempt verification -Done - -Dafny program verifier did not attempt verification Done diff --git a/Test/git-issues/git-issue-283d.dfy b/Test/git-issues/git-issue-283d.dfy index 54ee58fb456..46c1056d5e1 100644 --- a/Test/git-issues/git-issue-283d.dfy +++ b/Test/git-issues/git-issue-283d.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Foo = R(v: int) diff --git a/Test/git-issues/git-issue-283d.dfy.expect b/Test/git-issues/git-issue-283d.dfy.expect index 8da23be5c8c..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-283d.dfy.expect +++ b/Test/git-issues/git-issue-283d.dfy.expect @@ -1,10 +0,0 @@ - -Dafny program verifier finished with 4 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-314.dfy b/Test/git-issues/git-issue-314.dfy index 5e3e93ca654..a7fc06564a5 100644 --- a/Test/git-issues/git-issue-314.dfy +++ b/Test/git-issues/git-issue-314.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype S = S(G: array) datatype T = T(F: array, ghost Repr: set) diff --git a/Test/git-issues/git-issue-314.dfy.expect b/Test/git-issues/git-issue-314.dfy.expect index f02fc57989a..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-314.dfy.expect +++ b/Test/git-issues/git-issue-314.dfy.expect @@ -1,10 +0,0 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-332.dfy b/Test/git-issues/git-issue-332.dfy index ca2b08f3e8d..5166441405d 100644 --- a/Test/git-issues/git-issue-332.dfy +++ b/Test/git-issues/git-issue-332.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var foo := new B.Foo(15); diff --git a/Test/git-issues/git-issue-332.dfy.expect b/Test/git-issues/git-issue-332.dfy.expect index 57cad39addf..209e3ef4b62 100644 --- a/Test/git-issues/git-issue-332.dfy.expect +++ b/Test/git-issues/git-issue-332.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 6 verified, 0 errors 20 diff --git a/Test/git-issues/git-issue-354.dfy b/Test/git-issues/git-issue-354.dfy index 5938c2f71ae..c3d63021209 100644 --- a/Test/git-issues/git-issue-354.dfy +++ b/Test/git-issues/git-issue-354.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class C { static const u: X diff --git a/Test/git-issues/git-issue-354.dfy.expect b/Test/git-issues/git-issue-354.dfy.expect index cb5ae21dc46..4368562357f 100644 --- a/Test/git-issues/git-issue-354.dfy.expect +++ b/Test/git-issues/git-issue-354.dfy.expect @@ -1,25 +1,3 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification -0 -0 -0.0 -false - -Dafny program verifier did not attempt verification -0 -0 -0.0 -false - -Dafny program verifier did not attempt verification -0 -0 -0.0 -false - -Dafny program verifier did not attempt verification 0 0 0.0 diff --git a/Test/git-issues/git-issue-356.dfy b/Test/git-issues/git-issue-356.dfy index f5c34b0803b..2d497c0531c 100644 --- a/Test/git-issues/git-issue-356.dfy +++ b/Test/git-issues/git-issue-356.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 /unicodeChar:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:0 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false module M { type Tx = i: int | 0 <= i <= 100 diff --git a/Test/git-issues/git-issue-356.dfy.expect b/Test/git-issues/git-issue-356.dfy.expect index cff4ed233e1..9d984ec4ef4 100644 --- a/Test/git-issues/git-issue-356.dfy.expect +++ b/Test/git-issues/git-issue-356.dfy.expect @@ -1,39 +1,3 @@ - -Dafny program verifier finished with 25 verified, 0 errors - -Dafny program verifier did not attempt verification -a d 57005 * * -Z 90 90.0 90 90 -* 42 42.0 42 42 -F 70 70.0 70 70 -# 35 35.0 35 35 -END - -Dafny program verifier did not attempt verification -a d 57005 * * -Z 90 90.0 90 90 -* 42 42.0 42 42 -F 70 70.0 70 70 -# 35 35.0 35 35 -END - -Dafny program verifier did not attempt verification -a d 57005 * * -Z 90 90.0 90 90 -* 42 42.0 42 42 -F 70 70.0 70 70 -# 35 35.0 35 35 -END - -Dafny program verifier did not attempt verification -a d 57005 * * -Z 90 90.0 90 90 -* 42 42.0 42 42 -F 70 70.0 70 70 -# 35 35.0 35 35 -END - -Dafny program verifier did not attempt verification a d 57005 * * Z 90 90.0 90 90 * 42 42.0 42 42 diff --git a/Test/git-issues/git-issue-364.dfy b/Test/git-issues/git-issue-364.dfy index 0fdedc7d9c0..68c75931746 100644 --- a/Test/git-issues/git-issue-364.dfy +++ b/Test/git-issues/git-issue-364.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype NatOutcome = | Success(value: nat) diff --git a/Test/git-issues/git-issue-364.dfy.expect b/Test/git-issues/git-issue-364.dfy.expect index 1368349d437..38478c6c688 100644 --- a/Test/git-issues/git-issue-364.dfy.expect +++ b/Test/git-issues/git-issue-364.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 4 verified, 0 errors NatOutcome.Success(55) false 55 12 0 NatOutcome.Failure("it could be worse") true NatOutcome.Failure("it could be worse") diff --git a/Test/git-issues/git-issue-374.dfy b/Test/git-issues/git-issue-374.dfy index 4c031b7d3ff..15b56ec6396 100644 --- a/Test/git-issues/git-issue-374.dfy +++ b/Test/git-issues/git-issue-374.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class C { constructor(ghost x: int) diff --git a/Test/git-issues/git-issue-374.dfy.expect b/Test/git-issues/git-issue-374.dfy.expect index f02fc57989a..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-374.dfy.expect +++ b/Test/git-issues/git-issue-374.dfy.expect @@ -1,10 +0,0 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-396.dfy b/Test/git-issues/git-issue-396.dfy index 2ab68e51e12..7866d3d0498 100644 --- a/Test/git-issues/git-issue-396.dfy +++ b/Test/git-issues/git-issue-396.dfy @@ -1,8 +1,4 @@ -// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" -// RUN: %dafny /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Foo = Bar(value: int) diff --git a/Test/git-issues/git-issue-396.dfy.expect b/Test/git-issues/git-issue-396.dfy.expect index 3dd340d3178..dee79f10940 100644 --- a/Test/git-issues/git-issue-396.dfy.expect +++ b/Test/git-issues/git-issue-396.dfy.expect @@ -1,12 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors -114 - -Dafny program verifier finished with 1 verified, 0 errors -114 - -Dafny program verifier finished with 1 verified, 0 errors -114 - -Dafny program verifier finished with 1 verified, 0 errors 114 diff --git a/Test/git-issues/git-issue-4007.dfy b/Test/git-issues/git-issue-4007.dfy index e4c25b82bb8..5a279e7b8e6 100644 --- a/Test/git-issues/git-issue-4007.dfy +++ b/Test/git-issues/git-issue-4007.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:4 /compileTarget:py "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var a := 0; @@ -7,4 +6,4 @@ method Main() { a := a + 1; } print a, "\n"; -} \ No newline at end of file +} diff --git a/Test/git-issues/git-issue-4007.dfy.expect b/Test/git-issues/git-issue-4007.dfy.expect index 3ce6919d35b..00750edc07d 100644 --- a/Test/git-issues/git-issue-4007.dfy.expect +++ b/Test/git-issues/git-issue-4007.dfy.expect @@ -1,4 +1 @@ -git-issue-4007.dfy(6,20): Warning: /!\ No terms found to trigger on. - -Dafny program verifier finished with 1 verified, 0 errors 3 diff --git a/Test/git-issues/git-issue-4007.dfy.verifier.expect b/Test/git-issues/git-issue-4007.dfy.verifier.expect new file mode 100644 index 00000000000..1d4310d09b5 --- /dev/null +++ b/Test/git-issues/git-issue-4007.dfy.verifier.expect @@ -0,0 +1 @@ +git-issue-4007.dfy(5,20): Warning: /!\ No terms found to trigger on. diff --git a/Test/git-issues/git-issue-4012.dfy b/Test/git-issues/git-issue-4012.dfy index e065393a211..5360c0e935b 100644 --- a/Test/git-issues/git-issue-4012.dfy +++ b/Test/git-issues/git-issue-4012.dfy @@ -1,8 +1,7 @@ -// RUN: %dafny /compile:4 /compileTarget:py "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var x: multiset := multiset{}; x := x[1 := 18446744073709551616]; print |x|, "\n"; -} \ No newline at end of file +} diff --git a/Test/git-issues/git-issue-4012.dfy.expect b/Test/git-issues/git-issue-4012.dfy.expect index 230fbdbd384..ab69b99fab4 100644 --- a/Test/git-issues/git-issue-4012.dfy.expect +++ b/Test/git-issues/git-issue-4012.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors 18446744073709551616 diff --git a/Test/git-issues/git-issue-425.dfy b/Test/git-issues/git-issue-425.dfy index 4e555daaed0..122a10e4fbb 100644 --- a/Test/git-issues/git-issue-425.dfy +++ b/Test/git-issues/git-issue-425.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method M() returns (x: int, ghost y: int) { return 42, 43; diff --git a/Test/git-issues/git-issue-425.dfy.expect b/Test/git-issues/git-issue-425.dfy.expect index c2284013d9e..daaac9e3030 100644 --- a/Test/git-issues/git-issue-425.dfy.expect +++ b/Test/git-issues/git-issue-425.dfy.expect @@ -1,18 +1,2 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification -42 -42 - -Dafny program verifier did not attempt verification -42 -42 - -Dafny program verifier did not attempt verification -42 -42 - -Dafny program verifier did not attempt verification 42 42 diff --git a/Test/git-issues/git-issue-443.dfy b/Test/git-issues/git-issue-443.dfy index e8745b5ddda..6702e37484f 100644 --- a/Test/git-issues/git-issue-443.dfy +++ b/Test/git-issues/git-issue-443.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { print F(), " ", G(802.11), "\n"; // 12 15 diff --git a/Test/git-issues/git-issue-443.dfy.expect b/Test/git-issues/git-issue-443.dfy.expect index 10af01216da..0b64712fdcf 100644 --- a/Test/git-issues/git-issue-443.dfy.expect +++ b/Test/git-issues/git-issue-443.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors 12 15 diff --git a/Test/git-issues/git-issue-446.dfy b/Test/git-issues/git-issue-446.dfy index 0656587fd03..a66a9272d18 100644 --- a/Test/git-issues/git-issue-446.dfy +++ b/Test/git-issues/git-issue-446.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Result = Success(value: T) | Failure(error: string) { diff --git a/Test/git-issues/git-issue-446.dfy.expect b/Test/git-issues/git-issue-446.dfy.expect index 18195d22344..8165c2056d0 100644 --- a/Test/git-issues/git-issue-446.dfy.expect +++ b/Test/git-issues/git-issue-446.dfy.expect @@ -1,22 +1,3 @@ - -Dafny program verifier finished with 9 verified, 0 errors - -Dafny program verifier did not attempt verification -true -2 -true 42 -End - -Dafny program verifier did not attempt verification -true -2 -true 42 -End - -Dafny program verifier did not attempt verification -true -2 -true 42 -End - -Dafny program verifier did not attempt verification true -2 true 42 End diff --git a/Test/git-issues/git-issue-446a.dfy b/Test/git-issues/git-issue-446a.dfy index 41917680fee..2c559cea76d 100644 --- a/Test/git-issues/git-issue-446a.dfy +++ b/Test/git-issues/git-issue-446a.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Result = Success(value: T) | Failure(error: string) { diff --git a/Test/git-issues/git-issue-446a.dfy.expect b/Test/git-issues/git-issue-446a.dfy.expect index fbf9ee6f31d..9897e1c3f56 100644 --- a/Test/git-issues/git-issue-446a.dfy.expect +++ b/Test/git-issues/git-issue-446a.dfy.expect @@ -1,22 +1,3 @@ - -Dafny program verifier finished with 9 verified, 0 errors - -Dafny program verifier did not attempt verification -OK -true OK -true -2 End - -Dafny program verifier did not attempt verification -OK -true OK -true -2 End - -Dafny program verifier did not attempt verification -OK -true OK -true -2 End - -Dafny program verifier did not attempt verification OK true OK true -2 End diff --git a/Test/git-issues/git-issue-446b.dfy b/Test/git-issues/git-issue-446b.dfy index aa7ac30d9a7..79e55d9a1f8 100644 --- a/Test/git-issues/git-issue-446b.dfy +++ b/Test/git-issues/git-issue-446b.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Result = Success(value: T) | Failure(error: string) { diff --git a/Test/git-issues/git-issue-446b.dfy.expect b/Test/git-issues/git-issue-446b.dfy.expect index 0e99363fdb9..36fdd8ba47b 100644 --- a/Test/git-issues/git-issue-446b.dfy.expect +++ b/Test/git-issues/git-issue-446b.dfy.expect @@ -1,28 +1,3 @@ - -Dafny program verifier finished with 10 verified, 0 errors - -Dafny program verifier did not attempt verification -OK -true OK -true -2 -true 100 -End - -Dafny program verifier did not attempt verification -OK -true OK -true -2 -true 100 -End - -Dafny program verifier did not attempt verification -OK -true OK -true -2 -true 100 -End - -Dafny program verifier did not attempt verification OK true OK true -2 diff --git a/Test/git-issues/git-issue-478-good.dfy b/Test/git-issues/git-issue-478-good.dfy index b3fab26a312..9abce41e97c 100644 --- a/Test/git-issues/git-issue-478-good.dfy +++ b/Test/git-issues/git-issue-478-good.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // By first defining import LibA and then defining a module LibA, // the latter used to generate: diff --git a/Test/git-issues/git-issue-478-good.dfy.expect b/Test/git-issues/git-issue-478-good.dfy.expect index 17aea610943..6807b84eba5 100644 --- a/Test/git-issues/git-issue-478-good.dfy.expect +++ b/Test/git-issues/git-issue-478-good.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors hello hello hi diff --git a/Test/git-issues/git-issue-506.dfy b/Test/git-issues/git-issue-506.dfy index d25596621de..b2a409951a1 100644 --- a/Test/git-issues/git-issue-506.dfy +++ b/Test/git-issues/git-issue-506.dfy @@ -1,8 +1,4 @@ -// RUN: %dafny /compile:4 /compileTarget:cs "%s" > "%t" -// RUN: %dafny /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/git-issues/git-issue-506.dfy.expect b/Test/git-issues/git-issue-506.dfy.expect index e2bb6d644d9..ef2606ec5dc 100644 --- a/Test/git-issues/git-issue-506.dfy.expect +++ b/Test/git-issues/git-issue-506.dfy.expect @@ -1,29 +1,3 @@ - -Dafny program verifier finished with 2 verified, 0 errors -7 301 -8 391 -2 2 -4 5 -6 7 -2 3 7 0 - -Dafny program verifier finished with 2 verified, 0 errors -7 301 -8 391 -2 2 -4 5 -6 7 -2 3 7 0 - -Dafny program verifier finished with 2 verified, 0 errors -7 301 -8 391 -2 2 -4 5 -6 7 -2 3 7 0 - -Dafny program verifier finished with 2 verified, 0 errors 7 301 8 391 2 2 diff --git a/Test/git-issues/git-issue-532.dfy b/Test/git-issues/git-issue-532.dfy index 3d511dbb4c8..2a2b5aaaf2e 100644 --- a/Test/git-issues/git-issue-532.dfy +++ b/Test/git-issues/git-issue-532.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment predicate SuppressNoTriggerWarning(x: X) { true } diff --git a/Test/git-issues/git-issue-532.dfy.expect b/Test/git-issues/git-issue-532.dfy.expect index 1bd9e82cc5a..0f3ef3de427 100644 --- a/Test/git-issues/git-issue-532.dfy.expect +++ b/Test/git-issues/git-issue-532.dfy.expect @@ -1,22 +1,3 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification -t.x=5 The given Tr is a C, and c.y=6 -t.x=100 The given Tr is not a C -t.x=5 The given Tr is a C, and c.y=16 - -Dafny program verifier did not attempt verification -t.x=5 The given Tr is a C, and c.y=6 -t.x=100 The given Tr is not a C -t.x=5 The given Tr is a C, and c.y=16 - -Dafny program verifier did not attempt verification -t.x=5 The given Tr is a C, and c.y=6 -t.x=100 The given Tr is not a C -t.x=5 The given Tr is a C, and c.y=16 - -Dafny program verifier did not attempt verification t.x=5 The given Tr is a C, and c.y=6 t.x=100 The given Tr is not a C t.x=5 The given Tr is a C, and c.y=16 diff --git a/Test/git-issues/git-issue-549.dfy b/Test/git-issues/git-issue-549.dfy index 2e5ab322f23..d362a0bd039 100644 --- a/Test/git-issues/git-issue-549.dfy +++ b/Test/git-issues/git-issue-549.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait T { function bar(): bv8 diff --git a/Test/git-issues/git-issue-549.dfy.expect b/Test/git-issues/git-issue-549.dfy.expect index 3ae509fee5e..6e0790e778e 100644 --- a/Test/git-issues/git-issue-549.dfy.expect +++ b/Test/git-issues/git-issue-549.dfy.expect @@ -1,10 +1,2 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification -bar() = 1 -bar() = 1 - -Dafny program verifier did not attempt verification bar() = 1 bar() = 1 diff --git a/Test/git-issues/git-issue-622$f.dfy b/Test/git-issues/git-issue-622$f.dfy index fe4fdf38e03..2a7003e0f4e 100644 --- a/Test/git-issues/git-issue-622$f.dfy +++ b/Test/git-issues/git-issue-622$f.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /compileTarget:java /spillTargetCode:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method Main() { } diff --git a/Test/git-issues/git-issue-622$f.dfy.expect b/Test/git-issues/git-issue-622$f.dfy.expect index 012f5b99379..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-622$f.dfy.expect +++ b/Test/git-issues/git-issue-622$f.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors diff --git a/Test/git-issues/git-issue-684.dfy b/Test/git-issues/git-issue-684.dfy index b1fbd7ab036..4c2b0a8fa02 100644 --- a/Test/git-issues/git-issue-684.dfy +++ b/Test/git-issues/git-issue-684.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Level1 = Level1(u:int) datatype Level2 = Level2(u:int, l:Level1) diff --git a/Test/git-issues/git-issue-684.dfy.expect b/Test/git-issues/git-issue-684.dfy.expect index 65d3b5d6635..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-684.dfy.expect +++ b/Test/git-issues/git-issue-684.dfy.expect @@ -1,10 +0,0 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-686.dfy b/Test/git-issues/git-issue-686.dfy index bbc975200c8..9845ce2b027 100644 --- a/Test/git-issues/git-issue-686.dfy +++ b/Test/git-issues/git-issue-686.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Color = Blue | Red diff --git a/Test/git-issues/git-issue-686.dfy.expect b/Test/git-issues/git-issue-686.dfy.expect index f30b0581688..c12f8e66df2 100644 --- a/Test/git-issues/git-issue-686.dfy.expect +++ b/Test/git-issues/git-issue-686.dfy.expect @@ -1,24 +1 @@ -git-issue-686.dfy(13,2): Warning: this branch is redundant -git-issue-686.dfy(21,2): Warning: this branch is redundant - -Dafny program verifier finished with 1 verified, 0 errors -git-issue-686.dfy(13,2): Warning: this branch is redundant -git-issue-686.dfy(21,2): Warning: this branch is redundant - -Dafny program verifier did not attempt verification -6 0 -git-issue-686.dfy(13,2): Warning: this branch is redundant -git-issue-686.dfy(21,2): Warning: this branch is redundant - -Dafny program verifier did not attempt verification -6 0 -git-issue-686.dfy(13,2): Warning: this branch is redundant -git-issue-686.dfy(21,2): Warning: this branch is redundant - -Dafny program verifier did not attempt verification -6 0 -git-issue-686.dfy(13,2): Warning: this branch is redundant -git-issue-686.dfy(21,2): Warning: this branch is redundant - -Dafny program verifier did not attempt verification 6 0 diff --git a/Test/git-issues/git-issue-686.dfy.verifier.expect b/Test/git-issues/git-issue-686.dfy.verifier.expect new file mode 100644 index 00000000000..805bd55730c --- /dev/null +++ b/Test/git-issues/git-issue-686.dfy.verifier.expect @@ -0,0 +1,2 @@ +git-issue-686.dfy(8,2): Warning: this branch is redundant +git-issue-686.dfy(16,2): Warning: this branch is redundant diff --git a/Test/git-issues/git-issue-697.dfy b/Test/git-issues/git-issue-697.dfy index 095c1a02399..23cce66dee7 100644 --- a/Test/git-issues/git-issue-697.dfy +++ b/Test/git-issues/git-issue-697.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Cell = Cell(x: int) type EvenCell = c: Cell | c.x % 2 == 0 witness Cell(0) diff --git a/Test/git-issues/git-issue-697.dfy.expect b/Test/git-issues/git-issue-697.dfy.expect index 188a72ebc36..f32a5804e29 100644 --- a/Test/git-issues/git-issue-697.dfy.expect +++ b/Test/git-issues/git-issue-697.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-697b.dfy b/Test/git-issues/git-issue-697b.dfy index cfdd3fd0821..cdb054d8d78 100644 --- a/Test/git-issues/git-issue-697b.dfy +++ b/Test/git-issues/git-issue-697b.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Cell = Cell(x: int) type EvenCell = c: Cell | c.x % 2 == 0 witness Cell(0) diff --git a/Test/git-issues/git-issue-697b.dfy.expect b/Test/git-issues/git-issue-697b.dfy.expect index b355409912b..9c777ac6a0f 100644 --- a/Test/git-issues/git-issue-697b.dfy.expect +++ b/Test/git-issues/git-issue-697b.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors false 2 diff --git a/Test/git-issues/git-issue-697d.dfy b/Test/git-issues/git-issue-697d.dfy index 71a262fc985..8b65c2da4f7 100644 --- a/Test/git-issues/git-issue-697d.dfy +++ b/Test/git-issues/git-issue-697d.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function nonGhostPredicate(x: int): bool { x % 2 == 0 diff --git a/Test/git-issues/git-issue-697d.dfy.expect b/Test/git-issues/git-issue-697d.dfy.expect index 48fb59aeae5..f32a5804e29 100644 --- a/Test/git-issues/git-issue-697d.dfy.expect +++ b/Test/git-issues/git-issue-697d.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 4 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-697e.dfy b/Test/git-issues/git-issue-697e.dfy index e4500bfab28..310851abf9a 100644 --- a/Test/git-issues/git-issue-697e.dfy +++ b/Test/git-issues/git-issue-697e.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Cell = Cell(x: int) type EvenCell = c: Cell | c.x % 2 == 0 witness Cell(0) diff --git a/Test/git-issues/git-issue-697e.dfy.expect b/Test/git-issues/git-issue-697e.dfy.expect index 00a51f822da..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-697e.dfy.expect +++ b/Test/git-issues/git-issue-697e.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 3 verified, 0 errors diff --git a/Test/git-issues/git-issue-697f.dfy b/Test/git-issues/git-issue-697f.dfy index 92d1cec2ed8..acb8810dfbf 100644 --- a/Test/git-issues/git-issue-697f.dfy +++ b/Test/git-issues/git-issue-697f.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment ghost function ghostPredicate(x: int): bool { x % 2 == 0 diff --git a/Test/git-issues/git-issue-697f.dfy.expect b/Test/git-issues/git-issue-697f.dfy.expect index 3e2cf8d0f69..b5754e20373 100644 --- a/Test/git-issues/git-issue-697f.dfy.expect +++ b/Test/git-issues/git-issue-697f.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 4 verified, 0 errors ok \ No newline at end of file diff --git a/Test/git-issues/git-issue-697g.dfy b/Test/git-issues/git-issue-697g.dfy index c3b7581ff61..7b30de7f3a0 100644 --- a/Test/git-issues/git-issue-697g.dfy +++ b/Test/git-issues/git-issue-697g.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function returnNat(c: nat): int { diff --git a/Test/git-issues/git-issue-697g.dfy.expect b/Test/git-issues/git-issue-697g.dfy.expect index d9157fa820a..f32a5804e29 100644 --- a/Test/git-issues/git-issue-697g.dfy.expect +++ b/Test/git-issues/git-issue-697g.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-698.dfy b/Test/git-issues/git-issue-698.dfy index b15295c9b46..7b7a9ca15b8 100644 --- a/Test/git-issues/git-issue-698.dfy +++ b/Test/git-issues/git-issue-698.dfy @@ -1,7 +1,4 @@ -// RUN: %dafny /compile:0 /dprint:"%t.dprint" "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment type Small = x: int | 0 <= x < 100 && x != 3 diff --git a/Test/git-issues/git-issue-698.dfy.expect b/Test/git-issues/git-issue-698.dfy.expect index 7f965a65d2e..27ba77ddaf6 100644 --- a/Test/git-issues/git-issue-698.dfy.expect +++ b/Test/git-issues/git-issue-698.dfy.expect @@ -1,8 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification -true - -Dafny program verifier did not attempt verification true diff --git a/Test/git-issues/git-issue-698b.dfy b/Test/git-issues/git-issue-698b.dfy index 1d4a92456e6..dbdbc3b36d3 100644 --- a/Test/git-issues/git-issue-698b.dfy +++ b/Test/git-issues/git-issue-698b.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /rprint:"%t.rprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment type Small = x: int | 0 <= x < 100 && x != 3 @@ -13,4 +12,4 @@ method Main() { var b := !exists n: Small :: F(n) != 100; assert b; print b; -} \ No newline at end of file +} diff --git a/Test/git-issues/git-issue-698b.dfy.expect b/Test/git-issues/git-issue-698b.dfy.expect index 188a72ebc36..f32a5804e29 100644 --- a/Test/git-issues/git-issue-698b.dfy.expect +++ b/Test/git-issues/git-issue-698b.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors true \ No newline at end of file diff --git a/Test/git-issues/git-issue-701.dfy b/Test/git-issues/git-issue-701.dfy index af19f0d89e2..38984df4ecf 100644 --- a/Test/git-issues/git-issue-701.dfy +++ b/Test/git-issues/git-issue-701.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { var ca := new ClassA; diff --git a/Test/git-issues/git-issue-701.dfy.expect b/Test/git-issues/git-issue-701.dfy.expect index 4d20966e641..5198c09cbb1 100644 --- a/Test/git-issues/git-issue-701.dfy.expect +++ b/Test/git-issues/git-issue-701.dfy.expect @@ -1,22 +1,3 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification -0 0 0 -[] [] [] -C.Nothing C.Nothing C.Nothing - -Dafny program verifier did not attempt verification -0 0 0 -[] [] [] -C.Nothing C.Nothing C.Nothing - -Dafny program verifier did not attempt verification -0 0 0 -[] [] [] -C.Nothing C.Nothing C.Nothing - -Dafny program verifier did not attempt verification 0 0 0 [] [] [] C.Nothing C.Nothing C.Nothing diff --git a/Test/git-issues/git-issue-705.dfy b/Test/git-issues/git-issue-705.dfy index d4b806800c2..9c36a336e8e 100644 --- a/Test/git-issues/git-issue-705.dfy +++ b/Test/git-issues/git-issue-705.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs /spillTargetCode:3 "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js /spillTargetCode:3 "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go /spillTargetCode:3 "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java /spillTargetCode:3 "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation datatype MyDataType = AAA { function toString(): int { 222 } diff --git a/Test/git-issues/git-issue-705.dfy.expect b/Test/git-issues/git-issue-705.dfy.expect index 02cf409667a..79a1eee7c74 100644 --- a/Test/git-issues/git-issue-705.dfy.expect +++ b/Test/git-issues/git-issue-705.dfy.expect @@ -1,14 +1 @@ - -Dafny program verifier finished with 0 verified, 0 errors - -Dafny program verifier did not attempt verification -MyDataType.AAA 222 - -Dafny program verifier did not attempt verification -MyDataType.AAA 222 - -Dafny program verifier did not attempt verification -MyDataType.AAA 222 - -Dafny program verifier did not attempt verification MyDataType.AAA 222 diff --git a/Test/git-issues/git-issue-731.dfy b/Test/git-issues/git-issue-731.dfy index 05d02fea1af..348d40fecea 100644 --- a/Test/git-issues/git-issue-731.dfy +++ b/Test/git-issues/git-issue-731.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait Trait { const y: Y diff --git a/Test/git-issues/git-issue-731.dfy.expect b/Test/git-issues/git-issue-731.dfy.expect index 69b2e6af648..7554a44901e 100644 --- a/Test/git-issues/git-issue-731.dfy.expect +++ b/Test/git-issues/git-issue-731.dfy.expect @@ -1,18 +1,2 @@ - -Dafny program verifier finished with 3 verified, 0 errors - -Dafny program verifier did not attempt verification -0 0 0 42 -0 0 0 9 - -Dafny program verifier did not attempt verification -0 0 0 42 -0 0 0 9 - -Dafny program verifier did not attempt verification -0 0 0 42 -0 0 0 9 - -Dafny program verifier did not attempt verification 0 0 0 42 0 0 0 9 diff --git a/Test/git-issues/git-issue-731b.dfy b/Test/git-issues/git-issue-731b.dfy index a77dbd6323b..2a0507839a2 100644 --- a/Test/git-issues/git-issue-731b.dfy +++ b/Test/git-issues/git-issue-731b.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // Testing issue#731 when the class in question has type parameters diff --git a/Test/git-issues/git-issue-731b.dfy.expect b/Test/git-issues/git-issue-731b.dfy.expect index 97e6c041920..dd3226d2b73 100644 --- a/Test/git-issues/git-issue-731b.dfy.expect +++ b/Test/git-issues/git-issue-731b.dfy.expect @@ -1,14 +1 @@ - -Dafny program verifier finished with 2 verified, 0 errors - -Dafny program verifier did not attempt verification -0 42 - -Dafny program verifier did not attempt verification -0 42 - -Dafny program verifier did not attempt verification -0 42 - -Dafny program verifier did not attempt verification 0 42 diff --git a/Test/git-issues/git-issue-784.dfy b/Test/git-issues/git-issue-784.dfy index 78b83f01064..5f6cf59465c 100644 --- a/Test/git-issues/git-issue-784.dfy +++ b/Test/git-issues/git-issue-784.dfy @@ -1,9 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype List = Nil | Cons(T, List) { function App(ys: List): List { diff --git a/Test/git-issues/git-issue-784.dfy.expect b/Test/git-issues/git-issue-784.dfy.expect index 8da23be5c8c..e69de29bb2d 100644 --- a/Test/git-issues/git-issue-784.dfy.expect +++ b/Test/git-issues/git-issue-784.dfy.expect @@ -1,10 +0,0 @@ - -Dafny program verifier finished with 4 verified, 0 errors - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification - -Dafny program verifier did not attempt verification diff --git a/Test/git-issues/git-issue-953.dfy b/Test/git-issues/git-issue-953.dfy index adebc946c35..9c14e6e4e98 100644 --- a/Test/git-issues/git-issue-953.dfy +++ b/Test/git-issues/git-issue-953.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment module P { datatype T_ = T() // the underscore in this name once caused a problem in Java compilation diff --git a/Test/git-issues/git-issue-953.dfy.expect b/Test/git-issues/git-issue-953.dfy.expect index 8466ea62f3f..8eec6126a08 100644 --- a/Test/git-issues/git-issue-953.dfy.expect +++ b/Test/git-issues/git-issue-953.dfy.expect @@ -1,39 +1,3 @@ - -Dafny program verifier finished with 6 verified, 0 errors - -Dafny program verifier did not attempt verification -C1.T_.T -P.T_.T -OtherNamesWithSpecialCharacters?_.A?_.A?_ OtherNamesWithSpecialCharacters?_.B?_.B?_ -17 17 0 0 -C2.C.C(10, 11) -9 - -Dafny program verifier did not attempt verification -C1.T_.T -P.T_.T -OtherNamesWithSpecialCharacters?_.A?_.A?_ OtherNamesWithSpecialCharacters?_.B?_.B?_ -17 17 0 0 -C2.C.C(10, 11) -9 - -Dafny program verifier did not attempt verification -C1.T_.T -P.T_.T -OtherNamesWithSpecialCharacters?_.A?_.A?_ OtherNamesWithSpecialCharacters?_.B?_.B?_ -17 17 0 0 -C2.C.C(10, 11) -9 - -Dafny program verifier did not attempt verification -C1.T_.T -P.T_.T -OtherNamesWithSpecialCharacters?_.A?_.A?_ OtherNamesWithSpecialCharacters?_.B?_.B?_ -17 17 0 0 -C2.C.C(10, 11) -9 - -Dafny program verifier did not attempt verification C1.T_.T P.T_.T OtherNamesWithSpecialCharacters?_.A?_.A?_ OtherNamesWithSpecialCharacters?_.B?_.B?_ diff --git a/Test/git-issues/github-issue-3343.dfy b/Test/git-issues/github-issue-3343.dfy index 517a11d7fc1..d518b2a1a41 100644 --- a/Test/git-issues/github-issue-3343.dfy +++ b/Test/git-issues/github-issue-3343.dfy @@ -1,5 +1,4 @@ -// RUN: %baredafny run "%s" -t:java > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" method Bug() { var zero := 0; var a := new int[zero] []; diff --git a/Test/git-issues/github-issue-3343.dfy.expect b/Test/git-issues/github-issue-3343.dfy.expect index 823a60a105c..e69de29bb2d 100644 --- a/Test/git-issues/github-issue-3343.dfy.expect +++ b/Test/git-issues/github-issue-3343.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 1 verified, 0 errors diff --git a/Test/hofs/Compilation.dfy b/Test/hofs/Compilation.dfy index 99fd0a36506..7e9c674b495 100644 --- a/Test/hofs/Compilation.dfy +++ b/Test/hofs/Compilation.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class Ref { var val : A diff --git a/Test/hofs/Compilation.dfy.expect b/Test/hofs/Compilation.dfy.expect index 760fafc6189..6b7187d2557 100644 --- a/Test/hofs/Compilation.dfy.expect +++ b/Test/hofs/Compilation.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 2 verified, 0 errors 1 = 1 3 = 3 3 = 3 diff --git a/Test/hofs/Examples.dfy b/Test/hofs/Examples.dfy index cdf177c001f..bebda559221 100644 --- a/Test/hofs/Examples.dfy +++ b/Test/hofs/Examples.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function Apply(f: A ~> B, x: A): B reads f.reads(x) diff --git a/Test/hofs/Examples.dfy.expect b/Test/hofs/Examples.dfy.expect index 851aaf58286..e69de29bb2d 100644 --- a/Test/hofs/Examples.dfy.expect +++ b/Test/hofs/Examples.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 7 verified, 0 errors diff --git a/Test/hofs/Fold.dfy b/Test/hofs/Fold.dfy index 336f9121b52..96ddb01591f 100644 --- a/Test/hofs/Fold.dfy +++ b/Test/hofs/Fold.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype List = Nil | Cons(A,List) diff --git a/Test/hofs/Fold.dfy.expect b/Test/hofs/Fold.dfy.expect index 144ffab92db..3abcc310618 100644 --- a/Test/hofs/Fold.dfy.expect +++ b/Test/hofs/Fold.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 3 verified, 0 errors 3 = 3 diff --git a/Test/hofs/Renaming.dfy b/Test/hofs/Renaming.dfy index cf21fdba2f8..391c0e79ef6 100644 --- a/Test/hofs/Renaming.dfy +++ b/Test/hofs/Renaming.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function OnId(f : (bool -> bool) -> int) : int reads f.reads(x => x) diff --git a/Test/hofs/Renaming.dfy.expect b/Test/hofs/Renaming.dfy.expect index e2b6636dbe4..13a954d9043 100644 --- a/Test/hofs/Renaming.dfy.expect +++ b/Test/hofs/Renaming.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 4 verified, 0 errors 10 11 diff --git a/Test/hofs/Requires.dfy b/Test/hofs/Requires.dfy index de5944b6744..f5e51244184 100644 --- a/Test/hofs/Requires.dfy +++ b/Test/hofs/Requires.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { diff --git a/Test/hofs/Requires.dfy.expect b/Test/hofs/Requires.dfy.expect index 1981561ca00..e69de29bb2d 100644 --- a/Test/hofs/Requires.dfy.expect +++ b/Test/hofs/Requires.dfy.expect @@ -1,2 +0,0 @@ - -Dafny program verifier finished with 10 verified, 0 errors diff --git a/Test/hofs/TreeMapSimple.dfy b/Test/hofs/TreeMapSimple.dfy index d93aea46403..b7baf6eb8d7 100644 --- a/Test/hofs/TreeMapSimple.dfy +++ b/Test/hofs/TreeMapSimple.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment method Main() { TestY(); diff --git a/Test/hofs/TreeMapSimple.dfy.expect b/Test/hofs/TreeMapSimple.dfy.expect index 9224d605f7e..be0317f1016 100644 --- a/Test/hofs/TreeMapSimple.dfy.expect +++ b/Test/hofs/TreeMapSimple.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 11 verified, 0 errors Tree.Branch(100, List.Cons(Tree.Branch(50, List.Nil), List.Nil)) Tree.Branch(100, List.Cons(Tree.Branch(50, List.Nil), List.Nil)) diff --git a/Test/hofs/VectorUpdate.dfy b/Test/hofs/VectorUpdate.dfy index 848ed585ca6..70c0de3084e 100644 --- a/Test/hofs/VectorUpdate.dfy +++ b/Test/hofs/VectorUpdate.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // this is a rather verbose version of the VectorUpdate method method VectorUpdate(N: int, a : array, f : (int,A) ~> A) diff --git a/Test/hofs/VectorUpdate.dfy.expect b/Test/hofs/VectorUpdate.dfy.expect index b8fae39eab8..7645f125857 100644 --- a/Test/hofs/VectorUpdate.dfy.expect +++ b/Test/hofs/VectorUpdate.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 8 verified, 0 errors 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 100, 50, 33, 25, 20, 16, 14, 12, 11, 10 diff --git a/Test/hofs/WhileLoop.dfy b/Test/hofs/WhileLoop.dfy index 4af9fbd841b..914f47f4522 100644 --- a/Test/hofs/WhileLoop.dfy +++ b/Test/hofs/WhileLoop.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment class Ref { var val: A diff --git a/Test/hofs/WhileLoop.dfy.expect b/Test/hofs/WhileLoop.dfy.expect index 234ac298c9b..83083b451e1 100644 --- a/Test/hofs/WhileLoop.dfy.expect +++ b/Test/hofs/WhileLoop.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 4 verified, 0 errors 22 22 22 diff --git a/Test/metatests/OutputEncoding.dfy b/Test/metatests/OutputEncoding.dfy index 68c390ac811..59fa53bf298 100644 --- a/Test/metatests/OutputEncoding.dfy +++ b/Test/metatests/OutputEncoding.dfy @@ -1,10 +1,4 @@ -// RUN: %baredafny verify %args "%s" > "%t" -// RUN: %baredafny run --no-verify --target=cs %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=js %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=go %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=py %args "%s" >> "%t" -// RUN: %baredafny run --no-verify --target=java %args "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" method Main() { // This works fine in all languages because € is a single UTF-16 code unit. diff --git a/Test/metatests/OutputEncoding.dfy.expect b/Test/metatests/OutputEncoding.dfy.expect index a37241376f3..b25a57298f1 100644 --- a/Test/metatests/OutputEncoding.dfy.expect +++ b/Test/metatests/OutputEncoding.dfy.expect @@ -1,17 +1 @@ - -Dafny program verifier finished with 1 verified, 0 errors - -Dafny program verifier did not attempt verification -Euro sign: € - -Dafny program verifier did not attempt verification -Euro sign: € - -Dafny program verifier did not attempt verification -Euro sign: € - -Dafny program verifier did not attempt verification -Euro sign: € - -Dafny program verifier did not attempt verification Euro sign: € diff --git a/Test/patterns/OrPatterns.dfy b/Test/patterns/OrPatterns.dfy index 4f2610c9379..6385bd55c93 100644 --- a/Test/patterns/OrPatterns.dfy +++ b/Test/patterns/OrPatterns.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /rprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment datatype Enum = One | Two | Three { predicate Even() { diff --git a/Test/patterns/OrPatterns.dfy.expect b/Test/patterns/OrPatterns.dfy.expect index a6fce7c4a13..d86bac9de59 100644 --- a/Test/patterns/OrPatterns.dfy.expect +++ b/Test/patterns/OrPatterns.dfy.expect @@ -1,3 +1 @@ - -Dafny program verifier finished with 11 verified, 0 errors OK diff --git a/Test/patterns/PatternMatching.dfy b/Test/patterns/PatternMatching.dfy index 477126c066a..e8a73b856e4 100644 --- a/Test/patterns/PatternMatching.dfy +++ b/Test/patterns/PatternMatching.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment /* * This file contains a collection of tests for features modified or introduced in PR 458 @@ -222,4 +221,4 @@ method Main() { var r5 := MultipleNestedMatch(A(0), t4, bb); print "Testing MultipleNestedMatch: ", r0, r1, r2, r3, r4, r5, ", should return 012345\n"; -} \ No newline at end of file +} diff --git a/Test/patterns/PatternMatching.dfy.expect b/Test/patterns/PatternMatching.dfy.expect index 2970273cbfc..b4415971ca5 100644 --- a/Test/patterns/PatternMatching.dfy.expect +++ b/Test/patterns/PatternMatching.dfy.expect @@ -1,6 +1,3 @@ -PatternMatching.dfy(102,4): Warning: this branch is redundant - -Dafny program verifier finished with 9 verified, 0 errors NestingTest([6]) = 6, should return 6 NestedVariableTest([2::3::4::5::6]) = 0, should return 0 ConstantTest([3::4::5::6]) = 2, should return 2 diff --git a/Test/patterns/PatternMatching.dfy.verifier.expect b/Test/patterns/PatternMatching.dfy.verifier.expect new file mode 100644 index 00000000000..b486aadfb80 --- /dev/null +++ b/Test/patterns/PatternMatching.dfy.verifier.expect @@ -0,0 +1 @@ +PatternMatching.dfy(101,4): Warning: this branch is redundant diff --git a/Test/traits/TraitCompile.dfy b/Test/traits/TraitCompile.dfy index 03cf3746c6f..6e9b925fbc5 100644 --- a/Test/traits/TraitCompile.dfy +++ b/Test/traits/TraitCompile.dfy @@ -1,10 +1,4 @@ -// RUN: %dafny /compile:0 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait TT { @@ -820,4 +814,4 @@ module RedeclaringMembers { true } } -} \ No newline at end of file +} diff --git a/Test/traits/TraitCompile.dfy.expect b/Test/traits/TraitCompile.dfy.expect index 8257b754de2..b70a9b09d2e 100644 --- a/Test/traits/TraitCompile.dfy.expect +++ b/Test/traits/TraitCompile.dfy.expect @@ -1,259 +1,3 @@ - -Dafny program verifier finished with 75 verified, 0 errors - -Dafny program verifier did not attempt verification -y=120 -x=12 -d=800 -a5=407 -t=1212 -z=30 -z'=30 -w=30 -d=1000 -a5=507 -t=1512 -t=1512 -t=1515 -This is OtherModule.P(7.0) -From OtherModule.Y: 7 and true -This is OtherModule.P(7.0) -From OtherModule.X: 7 and true -c.f= 15 j.f= 15 -c.f= 18 j.f= 18 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -x=126 -5.2 9 false -true true true true -false false false false -true true true true -false false false false -5.2 5.2 -1.2 1.2 -1.2 1.2 -15 30 -15 30 -15 30 -0 (0, 0) 0 -8 -0 0 0 0 0 0 0 0 0 0 0 0 -13 13 13 13 13 13 13 13 13 13 13 13 -14 14 14 14 14 14 14 14 14 14 14 14 -15 15 15 15 15 15 15 15 15 15 15 15 -16 16 16 16 16 16 16 16 16 16 16 16 -17 17 17 17 17 17 17 17 17 17 17 17 -18 18 18 18 18 18 18 18 18 18 18 18 -19 19 19 19 19 19 19 19 19 19 19 19 -20 20 20 20 20 20 20 20 20 20 20 20 -21 21 21 21 21 21 21 21 21 21 21 21 -22 22 22 22 22 22 22 22 22 22 22 22 -23 23 23 23 23 23 23 23 23 23 23 23 -24 24 24 24 24 24 24 24 24 24 24 24 -f(4) = 7 -f(4) = 7 -g(4) = 7 -g(4) = 7 -41 15 26 -true true -true true -true true -true true -true true true -true true true - -Dafny program verifier did not attempt verification -y=120 -x=12 -d=800 -a5=407 -t=1212 -z=30 -z'=30 -w=30 -d=1000 -a5=507 -t=1512 -t=1512 -t=1515 -This is OtherModule.P(7.0) -From OtherModule.Y: 7 and true -This is OtherModule.P(7.0) -From OtherModule.X: 7 and true -c.f= 15 j.f= 15 -c.f= 18 j.f= 18 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -x=126 -5.2 9 false -true true true true -false false false false -true true true true -false false false false -5.2 5.2 -1.2 1.2 -1.2 1.2 -15 30 -15 30 -15 30 -0 (0, 0) 0 -8 -0 0 0 0 0 0 0 0 0 0 0 0 -13 13 13 13 13 13 13 13 13 13 13 13 -14 14 14 14 14 14 14 14 14 14 14 14 -15 15 15 15 15 15 15 15 15 15 15 15 -16 16 16 16 16 16 16 16 16 16 16 16 -17 17 17 17 17 17 17 17 17 17 17 17 -18 18 18 18 18 18 18 18 18 18 18 18 -19 19 19 19 19 19 19 19 19 19 19 19 -20 20 20 20 20 20 20 20 20 20 20 20 -21 21 21 21 21 21 21 21 21 21 21 21 -22 22 22 22 22 22 22 22 22 22 22 22 -23 23 23 23 23 23 23 23 23 23 23 23 -24 24 24 24 24 24 24 24 24 24 24 24 -f(4) = 7 -f(4) = 7 -g(4) = 7 -g(4) = 7 -41 15 26 -true true -true true -true true -true true -true true true -true true true - -Dafny program verifier did not attempt verification -y=120 -x=12 -d=800 -a5=407 -t=1212 -z=30 -z'=30 -w=30 -d=1000 -a5=507 -t=1512 -t=1512 -t=1515 -This is OtherModule.P(7.0) -From OtherModule.Y: 7 and true -This is OtherModule.P(7.0) -From OtherModule.X: 7 and true -c.f= 15 j.f= 15 -c.f= 18 j.f= 18 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -x=126 -5.2 9 false -true true true true -false false false false -true true true true -false false false false -5.2 5.2 -1.2 1.2 -1.2 1.2 -15 30 -15 30 -15 30 -0 (0, 0) 0 -8 -0 0 0 0 0 0 0 0 0 0 0 0 -13 13 13 13 13 13 13 13 13 13 13 13 -14 14 14 14 14 14 14 14 14 14 14 14 -15 15 15 15 15 15 15 15 15 15 15 15 -16 16 16 16 16 16 16 16 16 16 16 16 -17 17 17 17 17 17 17 17 17 17 17 17 -18 18 18 18 18 18 18 18 18 18 18 18 -19 19 19 19 19 19 19 19 19 19 19 19 -20 20 20 20 20 20 20 20 20 20 20 20 -21 21 21 21 21 21 21 21 21 21 21 21 -22 22 22 22 22 22 22 22 22 22 22 22 -23 23 23 23 23 23 23 23 23 23 23 23 -24 24 24 24 24 24 24 24 24 24 24 24 -f(4) = 7 -f(4) = 7 -g(4) = 7 -g(4) = 7 -41 15 26 -true true -true true -true true -true true -true true true -true true true - -Dafny program verifier did not attempt verification -y=120 -x=12 -d=800 -a5=407 -t=1212 -z=30 -z'=30 -w=30 -d=1000 -a5=507 -t=1512 -t=1512 -t=1515 -This is OtherModule.P(7.0) -From OtherModule.Y: 7 and true -This is OtherModule.P(7.0) -From OtherModule.X: 7 and true -c.f= 15 j.f= 15 -c.f= 18 j.f= 18 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -23 101 0 52 52 12 53 5 5 5 5 -12 33 34 18.8 -x=126 -5.2 9 false -true true true true -false false false false -true true true true -false false false false -5.2 5.2 -1.2 1.2 -1.2 1.2 -15 30 -15 30 -15 30 -0 (0, 0) 0 -8 -0 0 0 0 0 0 0 0 0 0 0 0 -13 13 13 13 13 13 13 13 13 13 13 13 -14 14 14 14 14 14 14 14 14 14 14 14 -15 15 15 15 15 15 15 15 15 15 15 15 -16 16 16 16 16 16 16 16 16 16 16 16 -17 17 17 17 17 17 17 17 17 17 17 17 -18 18 18 18 18 18 18 18 18 18 18 18 -19 19 19 19 19 19 19 19 19 19 19 19 -20 20 20 20 20 20 20 20 20 20 20 20 -21 21 21 21 21 21 21 21 21 21 21 21 -22 22 22 22 22 22 22 22 22 22 22 22 -23 23 23 23 23 23 23 23 23 23 23 23 -24 24 24 24 24 24 24 24 24 24 24 24 -f(4) = 7 -f(4) = 7 -g(4) = 7 -g(4) = 7 -41 15 26 -true true -true true -true true -true true -true true true -true true true - -Dafny program verifier did not attempt verification y=120 x=12 d=800 diff --git a/Test/traits/TraitExample.dfy b/Test/traits/TraitExample.dfy index d6afb4ce70b..54c5cbbec6f 100644 --- a/Test/traits/TraitExample.dfy +++ b/Test/traits/TraitExample.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait Automobile { ghost var Repr: set diff --git a/Test/traits/TraitExample.dfy.expect b/Test/traits/TraitExample.dfy.expect index c1b4ac93962..b9783e62141 100644 --- a/Test/traits/TraitExample.dfy.expect +++ b/Test/traits/TraitExample.dfy.expect @@ -1,5 +1,3 @@ - -Dafny program verifier finished with 29 verified, 0 errors Fiat: 6 Volvo: 20 Catacar: 26 diff --git a/Test/traits/Traits-Fields.dfy b/Test/traits/Traits-Fields.dfy index 2da609c33c8..6ae1aaab6d9 100644 --- a/Test/traits/Traits-Fields.dfy +++ b/Test/traits/Traits-Fields.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait J { diff --git a/Test/traits/Traits-Fields.dfy.expect b/Test/traits/Traits-Fields.dfy.expect index cc460fc52f4..c39bd8b5d5d 100644 --- a/Test/traits/Traits-Fields.dfy.expect +++ b/Test/traits/Traits-Fields.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 2 verified, 0 errors j.x = 9 c.x = 9 diff --git a/Test/traits/TraitsMultipleInheritance.dfy b/Test/traits/TraitsMultipleInheritance.dfy index 12590e47828..67fd8673488 100644 --- a/Test/traits/TraitsMultipleInheritance.dfy +++ b/Test/traits/TraitsMultipleInheritance.dfy @@ -1,5 +1,4 @@ -// RUN: %dafny /compile:3 /print:"%t.print" /dprint:"%t.dprint" "%s" > "%t" -// RUN: %diff "%s.expect" "%t" +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment trait J1{ var x: int diff --git a/Test/traits/TraitsMultipleInheritance.dfy.expect b/Test/traits/TraitsMultipleInheritance.dfy.expect index ad1a1011a25..b116b2d070d 100644 --- a/Test/traits/TraitsMultipleInheritance.dfy.expect +++ b/Test/traits/TraitsMultipleInheritance.dfy.expect @@ -1,4 +1,2 @@ - -Dafny program verifier finished with 1 verified, 0 errors c.x + c.y = 30 j1.x + j2.y = 30 diff --git a/Test/unicodechars/comp/Collections.dfy b/Test/unicodechars/comp/Collections.dfy index fb3e451eb83..4204db23118 100644 --- a/Test/unicodechars/comp/Collections.dfy +++ b/Test/unicodechars/comp/Collections.dfy @@ -1,8 +1,3 @@ -// RUN: %dafny /compile:0 /verifyAllModules /unicodeChar:1 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" +// NONUNIFORM: +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:true --verify-included-files include "../../comp/Collections.dfy" diff --git a/Test/unicodechars/comp/Collections.dfy.expect b/Test/unicodechars/comp/Collections.dfy.expect index 70586502b0d..89f08b08d75 100644 --- a/Test/unicodechars/comp/Collections.dfy.expect +++ b/Test/unicodechars/comp/Collections.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 40 verified, 0 errors - -Dafny program verifier did not attempt verification Sets: {} {17, 82} {12, 17} cardinality: 0 2 2 union: {17, 82} {12, 17, 82} @@ -127,511 +123,3 @@ Multiset=== 1 3 |s|=2 |u|=4 1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {12, 17} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {30, 21} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Yellow := 21, Color.Blue := 30] -keys: {Color.Yellow, Color.Blue} -values: {21, 30} -items: {(Color.Yellow, 21), (Color.Blue, 30)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 - -Dafny program verifier did not attempt verification -Sets: {} {17, 82} {17, 12} - cardinality: 0 2 2 - union: {17, 82} {17, 82, 12} - intersection: {} {17} - difference: {} {82} - disjoint: true false - subset: true false true - proper subset: true false false - superset: false true true - proper superset: false true false - membership: false true true - eq covariance: 1 true true -false true -|s|=4 |S|=16 -{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} -Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} - cardinality: 0 4 2 - union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} - intersection: multiset{} multiset{17} - difference: multiset{} multiset{17, 82, 82} - disjoint: true false - subset: true false true true - proper subset: true false false true - superset: false true true - proper superset: false true false - membership: false true true - update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} - multiplicity: 0 2 1 -Test zero multiplicity: - printing: multiset{multiset{}, multiset{42}} multiset{12} - union: 1 1 1 1 - membership: false false - equality: false true false - subset: true true true true false - strict subset: true false false true false - disjoint: true true true true -Sequences: [] [17, 82, 17, 82] [12, 17] - cardinality: 0 4 2 - update: [42, 82, 17, 82] [42, 17] - index: 17 12 - subsequence ([lo..hi]): [82, 17] [17] - subsequence ([lo..]): [82, 17, 82] [17] - subsequence ([..hi]): [17, 82, 17][12] - subsequence ([..]): [] [17, 82, 17, 82] [12, 17] - concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] - prefix: true false true - proper prefix: true false false - membership: false true true -Bound Bound Bound Bound Bound Bound -ed ed ed ed ed ed -'e' 'e' 'e' 'e' 'e' 'e' -hello -hEllo -[2, 4, 6, 8, 10] -[2, 0, 6, 8, 10] -true false false -true true false true -false false false true - eq covariance: true true -Strings: uRuR gu - cardinality: 0 4 2 - concatenation: uRuR uRuRgu - prefix: true false true - proper prefix: true false false - membership: false true true - constructed as sequence: guru - mix: hello-d ddd-hello -Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] - cardinality: 0 2 2 - keys: {} {17, 82} {17, 12} - values: {} {2} {0, 26} - items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} - update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) - lookup: false 2 0 -m: map[Color.Blue := 30, Color.Yellow := 21] -keys: {Color.Blue, Color.Yellow} -values: {21, 30} -items: {(Color.Blue, 30), (Color.Yellow, 21)} -3 2 4 -70 52 66 -8 67 67 -4 4 3 -true false true false -true false false false -false false true -false false false true -0 20 4 -198 20 4 -0 2 false -true true true false -0 20 4 -198 20 4 -0 2 false -false false true -false true true true -jack wendy null -jack null null -ronald ronald false -true true true false -jack wendy null -jack null null -ronald ronald false -2: 0 1 1 -3: 0 1 2 -There are 0 occurrences of 58 in the multiset -There are 536870912 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of 58 in the multiset -There are 633825300114114700748351602688 occurrences of null in the multiset -Map=== -|s|=1 |u|=1 -s[1]=123 u[1]=40 -|S|=1 |U|=1 -S[1]=123 U[1]=41 -Seq=== -|s|=2 |u|=2 -123 42, 123 42, 123 42 -|s|=2 |u|=2 -123 43, 123 43, 123 43 -|s|=2 |u|=2 -123 44, 123 44, 123 44 -Multiset=== -|s|=2 |u|=4 -1 3 -|s|=2 |u|=4 -1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.go.expect b/Test/unicodechars/comp/Collections.dfy.go.expect new file mode 100644 index 00000000000..2fc0f3b7093 --- /dev/null +++ b/Test/unicodechars/comp/Collections.dfy.go.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.java.expect b/Test/unicodechars/comp/Collections.dfy.java.expect new file mode 100644 index 00000000000..39975cadfc4 --- /dev/null +++ b/Test/unicodechars/comp/Collections.dfy.java.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{17, 12} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{17, 17, 12} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Yellow := 21, Color.Blue := 30] +keys: {Color.Yellow, Color.Blue} +values: {21, 30} +items: {(Color.Yellow, 21), (Color.Blue, 30)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.js.expect b/Test/unicodechars/comp/Collections.dfy.js.expect new file mode 100644 index 00000000000..2fc0f3b7093 --- /dev/null +++ b/Test/unicodechars/comp/Collections.dfy.js.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {12, 17} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[17 := 2, 82 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(17, 2), (82, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {30, 21} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/unicodechars/comp/Collections.dfy.py.expect b/Test/unicodechars/comp/Collections.dfy.py.expect new file mode 100644 index 00000000000..e4e346dede0 --- /dev/null +++ b/Test/unicodechars/comp/Collections.dfy.py.expect @@ -0,0 +1,125 @@ +Sets: {} {17, 82} {17, 12} + cardinality: 0 2 2 + union: {17, 82} {17, 82, 12} + intersection: {} {17} + difference: {} {82} + disjoint: true false + subset: true false true + proper subset: true false false + superset: false true true + proper superset: false true false + membership: false true true + eq covariance: 1 true true +false true +|s|=4 |S|=16 +{{}, {'a'}, {'b'}, {'c'}, {'d'}, {'a', 'b'}, {'a', 'c'}, {'b', 'c'}, {'a', 'd'}, {'b', 'd'}, {'c', 'd'}, {'a', 'b', 'c'}, {'a', 'b', 'd'}, {'a', 'c', 'd'}, {'b', 'c', 'd'}, {'a', 'b', 'c', 'd'}} +Multisets: multiset{} multiset{17, 17, 82, 82} multiset{12, 17} + cardinality: 0 4 2 + union: multiset{17, 17, 82, 82} multiset{17, 17, 17, 82, 82, 12} + intersection: multiset{} multiset{17} + difference: multiset{} multiset{17, 82, 82} + disjoint: true false + subset: true false true true + proper subset: true false false true + superset: false true true + proper superset: false true false + membership: false true true + update: multiset{17, 17} multiset{17, 17, 82, 82} multiset{12, 17, 17} + multiplicity: 0 2 1 +Test zero multiplicity: + printing: multiset{multiset{}, multiset{42}} multiset{12} + union: 1 1 1 1 + membership: false false + equality: false true false + subset: true true true true false + strict subset: true false false true false + disjoint: true true true true +Sequences: [] [17, 82, 17, 82] [12, 17] + cardinality: 0 4 2 + update: [42, 82, 17, 82] [42, 17] + index: 17 12 + subsequence ([lo..hi]): [82, 17] [17] + subsequence ([lo..]): [82, 17, 82] [17] + subsequence ([..hi]): [17, 82, 17][12] + subsequence ([..]): [] [17, 82, 17, 82] [12, 17] + concatenation: [17, 82, 17, 82] [17, 82, 17, 82, 12, 17] + prefix: true false true + proper prefix: true false false + membership: false true true +Bound Bound Bound Bound Bound Bound +ed ed ed ed ed ed +'e' 'e' 'e' 'e' 'e' 'e' +hello +hEllo +[2, 4, 6, 8, 10] +[2, 0, 6, 8, 10] +true false false +true true false true +false false false true + eq covariance: true true +Strings: uRuR gu + cardinality: 0 4 2 + concatenation: uRuR uRuRgu + prefix: true false true + proper prefix: true false false + membership: false true true + constructed as sequence: guru + mix: hello-d ddd-hello +Maps: map[] map[82 := 2, 17 := 2] map[17 := 0, 12 := 26] + cardinality: 0 2 2 + keys: {} {17, 82} {17, 12} + values: {} {2} {0, 26} + items: {} {(82, 2), (17, 2)} {(17, 0), (12, 26)} + update: 6 (1 0) 6 (2 2 2) 6 (2 2 0) + lookup: false 2 0 +m: map[Color.Blue := 30, Color.Yellow := 21] +keys: {Color.Blue, Color.Yellow} +values: {21, 30} +items: {(Color.Blue, 30), (Color.Yellow, 21)} +3 2 4 +70 52 66 +8 67 67 +4 4 3 +true false true false +true false false false +false false true +false false false true +0 20 4 +198 20 4 +0 2 false +true true true false +0 20 4 +198 20 4 +0 2 false +false false true +false true true true +jack wendy null +jack null null +ronald ronald false +true true true false +jack wendy null +jack null null +ronald ronald false +2: 0 1 1 +3: 0 1 2 +There are 0 occurrences of 58 in the multiset +There are 536870912 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of 58 in the multiset +There are 633825300114114700748351602688 occurrences of null in the multiset +Map=== +|s|=1 |u|=1 +s[1]=123 u[1]=40 +|S|=1 |U|=1 +S[1]=123 U[1]=41 +Seq=== +|s|=2 |u|=2 +123 42, 123 42, 123 42 +|s|=2 |u|=2 +123 43, 123 43, 123 43 +|s|=2 |u|=2 +123 44, 123 44, 123 44 +Multiset=== +|s|=2 |u|=4 +1 3 +|s|=2 |u|=4 +1 3 diff --git a/Test/unicodechars/comp/Comprehensions.dfy b/Test/unicodechars/comp/Comprehensions.dfy index 274f8d3a150..d7780defc5c 100644 --- a/Test/unicodechars/comp/Comprehensions.dfy +++ b/Test/unicodechars/comp/Comprehensions.dfy @@ -1,8 +1,3 @@ -// RUN: %dafny /compile:0 /unicodeChar:1 /verifyAllModules "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" -include "../../comp/Comprehensions.dfy" \ No newline at end of file +// NONUNIFORM: +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:true --verify-included-files +include "../../comp/Comprehensions.dfy" diff --git a/Test/unicodechars/comp/Comprehensions.dfy.expect b/Test/unicodechars/comp/Comprehensions.dfy.expect index 18159ddde0a..c9703fc9397 100644 --- a/Test/unicodechars/comp/Comprehensions.dfy.expect +++ b/Test/unicodechars/comp/Comprehensions.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 32 verified, 0 errors - -Dafny program verifier did not attempt verification x=13 y=14 x=13 y=14 b=yes true false @@ -64,259 +60,3 @@ true true [137438953474, 137438953475, 137438953476, 137438953477, 137438953479] cdefh cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[12 := 6, 13 := 6, 14 := 7] -map[16 := 12, 17 := 13, 18 := 14] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh - -Dafny program verifier did not attempt verification -x=13 y=14 -x=13 y=14 b=yes -true false -true false -map[14 := 7, 12 := 6, 13 := 6] -map[18 := 14, 17 := 13, 16 := 12] -false false false false -true true true true -XP returned: 0 false -after: 0 before: 0 -after: 2 before: 2 -XM returned: 16 -0 12 3 8 -0 12 3 8 -0 12 3 8 -0 12 3 8 -[1, 1, 1, 1] -[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] -[0, 1, 4, 9, 16, 25, 36, 49] -[0, 1, 2, 3, 4, 5, 6, 7] -4 4 2 2 0 4 2 true -5 4 2 2 0 4 2 true -5 5 3 3 1 5 3 true -2 2 1 1 0 2 false true -3 3 -451 -671 -221 -281 -1 -true false 1 -451 -671 -221 -281 -2 -true true false 2 -the intersection is {null} -there are 3 elements in the union -true true true -false false false -true true true -false false false -4 3 2 1 -true true true true -4 3 2 1 -true true true true -false false false false -false false false false -true true true true -false false false false -true true true true -false true -false true -null -false true -true true -3 -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] -cdefh -cdefh diff --git a/Test/unicodechars/comp/Comprehensions.dfy.py.expect b/Test/unicodechars/comp/Comprehensions.dfy.py.expect new file mode 100644 index 00000000000..aeaa31fc0f3 --- /dev/null +++ b/Test/unicodechars/comp/Comprehensions.dfy.py.expect @@ -0,0 +1,62 @@ +x=13 y=14 +x=13 y=14 b=yes +true false +true false +map[14 := 7, 12 := 6, 13 := 6] +map[18 := 14, 17 := 13, 16 := 12] +false false false false +true true true true +XP returned: 0 false +after: 0 before: 0 +after: 2 before: 2 +XM returned: 16 +0 12 3 8 +0 12 3 8 +0 12 3 8 +0 12 3 8 +[1, 1, 1, 1] +[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] +[0, 1, 4, 9, 16, 25, 36, 49] +[0, 1, 2, 3, 4, 5, 6, 7] +4 4 2 2 0 4 2 true +5 4 2 2 0 4 2 true +5 5 3 3 1 5 3 true +2 2 1 1 0 2 false true +3 3 +451 +671 +221 +281 +1 +true false 1 +451 +671 +221 +281 +2 +true true false 2 +the intersection is {null} +there are 3 elements in the union +true true true +false false false +true true true +false false false +4 3 2 1 +true true true true +4 3 2 1 +true true true true +false false false false +false false false false +true true true true +false false false false +true true true true +false true +false true +null +false true +true true +3 +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +[137438953474, 137438953475, 137438953476, 137438953477, 137438953479] +cdefh +cdefh diff --git a/Test/unicodechars/comp/NativeNumbers.dfy b/Test/unicodechars/comp/NativeNumbers.dfy index 764b4b3b384..20cdb1e214f 100644 --- a/Test/unicodechars/comp/NativeNumbers.dfy +++ b/Test/unicodechars/comp/NativeNumbers.dfy @@ -1,9 +1,4 @@ +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:true --verify-included-files // Skip JavaScript because JavaScript doesn't have the same native types -// RUN: %dafny /compile:0 /verifyAllModules /unicodeChar:1 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /spillTargetCode:2 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" -include "../../comp/NativeNumbers.dfy" \ No newline at end of file +include "../../comp/NativeNumbers.dfy" diff --git a/Test/unicodechars/comp/NativeNumbers.dfy.expect b/Test/unicodechars/comp/NativeNumbers.dfy.expect index b0fc6754f84..354d931a151 100644 --- a/Test/unicodechars/comp/NativeNumbers.dfy.expect +++ b/Test/unicodechars/comp/NativeNumbers.dfy.expect @@ -1,259 +1,3 @@ - -Dafny program verifier finished with 25 verified, 0 errors - -Dafny program verifier did not attempt verification -Casting: - -Small numbers: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 -5 5 5 5 5 5 5 5 5 -6 6 6 6 6 6 6 6 6 -7 7 7 7 7 7 7 7 7 -8 8 8 8 8 8 8 8 8 - -Large unsigned numbers: -255 255 255 255 255 255 255 255 -65535 65535 65535 65535 65535 65535 -4294967295 4294967295 4294967295 4294967295 -18446744073709551615 18446744073709551615 - -Int to large unsigned: -255 65535 4294967295 18446744073709551615 - -Cast from cardinality operator: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 - -Characters: -'C' 67 67 67 67 67 67 67 67 67 -0 127 32767 65535 65535 255 65535 65535 65535 - -Defaults: - -0 0 0 0 0 0 0 0 0 - -Byte arithmetic: - -20 30 -10 10 18 - -Short arithmetic: - -20 30 -10 10 18 - -Bitvectors: - -0 3 4 1 - -Comparison to zero: - -int8: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int16: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int32: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int64: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint8: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint16: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint32: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint64: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N - - -Dafny program verifier did not attempt verification -Casting: - -Small numbers: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 -5 5 5 5 5 5 5 5 5 -6 6 6 6 6 6 6 6 6 -7 7 7 7 7 7 7 7 7 -8 8 8 8 8 8 8 8 8 - -Large unsigned numbers: -255 255 255 255 255 255 255 255 -65535 65535 65535 65535 65535 65535 -4294967295 4294967295 4294967295 4294967295 -18446744073709551615 18446744073709551615 - -Int to large unsigned: -255 65535 4294967295 18446744073709551615 - -Cast from cardinality operator: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 - -Characters: -'C' 67 67 67 67 67 67 67 67 67 -0 127 32767 65535 65535 255 65535 65535 65535 - -Defaults: - -0 0 0 0 0 0 0 0 0 - -Byte arithmetic: - -20 30 -10 10 18 - -Short arithmetic: - -20 30 -10 10 18 - -Bitvectors: - -0 3 4 1 - -Comparison to zero: - -int8: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int16: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int32: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int64: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint8: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint16: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint32: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint64: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N - - -Dafny program verifier did not attempt verification -Casting: - -Small numbers: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 -5 5 5 5 5 5 5 5 5 -6 6 6 6 6 6 6 6 6 -7 7 7 7 7 7 7 7 7 -8 8 8 8 8 8 8 8 8 - -Large unsigned numbers: -255 255 255 255 255 255 255 255 -65535 65535 65535 65535 65535 65535 -4294967295 4294967295 4294967295 4294967295 -18446744073709551615 18446744073709551615 - -Int to large unsigned: -255 65535 4294967295 18446744073709551615 - -Cast from cardinality operator: -0 0 0 0 0 0 0 0 0 -1 1 1 1 1 1 1 1 1 -2 2 2 2 2 2 2 2 2 -3 3 3 3 3 3 3 3 3 -4 4 4 4 4 4 4 4 4 - -Characters: -'C' 67 67 67 67 67 67 67 67 67 -0 127 32767 65535 65535 255 65535 65535 65535 - -Defaults: - -0 0 0 0 0 0 0 0 0 - -Byte arithmetic: - -20 30 -10 10 18 - -Short arithmetic: - -20 30 -10 10 18 - -Bitvectors: - -0 3 4 1 - -Comparison to zero: - -int8: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int16: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int32: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -int64: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint8: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint16: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint32: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -uint64: -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N - - -Dafny program verifier did not attempt verification Casting: Small numbers: diff --git a/Test/unicodechars/comp/Numbers.dfy b/Test/unicodechars/comp/Numbers.dfy index 2c9170fe4d7..64d8257df1f 100644 --- a/Test/unicodechars/comp/Numbers.dfy +++ b/Test/unicodechars/comp/Numbers.dfy @@ -1,8 +1,3 @@ -// RUN: %dafny /compile:0 /verifyAllModules /unicodeChar:1 "%s" > "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:cs "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:js "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:go "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:java "%s" >> "%t" -// RUN: %dafny /noVerify /compile:4 /unicodeChar:1 /compileTarget:py "%s" >> "%t" -// RUN: %diff "%s.expect" "%t" -include "../../comp/Numbers.dfy" \ No newline at end of file +// NONUNIFORM: +// RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:true --verify-included-files +include "../../comp/Numbers.dfy" diff --git a/Test/unicodechars/comp/Numbers.dfy.expect b/Test/unicodechars/comp/Numbers.dfy.expect index 6fa2f59f340..cce193e1cce 100644 --- a/Test/unicodechars/comp/Numbers.dfy.expect +++ b/Test/unicodechars/comp/Numbers.dfy.expect @@ -1,7 +1,3 @@ - -Dafny program verifier finished with 59 verified, 0 errors - -Dafny program verifier did not attempt verification 0 0 3 @@ -113,455 +109,3 @@ true false true false false true false true true false true false 20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -'g' 'Q' '2' -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -(312.0 / 40.0) (1248.0 / 40.0) -(-312.0 / 40.0) (-1248.0 / 40.0) -(-312.0 / 40.0) (1248.0 / 40.0) -(312.0 / 40.0) (-1248.0 / 40.0) -0.0 0.0 0.0 -120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) -123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 (8100.0 / 8100.0) -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -'g' 'Q' '2' -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -'g' 'Q' '2' -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -(312.0 / 40.0) (1248.0 / 40.0) -(-312.0 / 40.0) (-1248.0 / 40.0) -(-312.0 / 40.0) (1248.0 / 40.0) -(312.0 / 40.0) (-1248.0 / 40.0) -0.0 0.0 0.0 -120.0 120.0 (24.0 / 3.0) (-24.0 / 3.0) -123.4567 -123.4567 0.1234 -0.1234 (24.0 / 30.0) -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 (8100.0 / 8100.0) -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 - -Dafny program verifier did not attempt verification -0 -0 -3 --5 -2147483647 (aka C# int.MaxValue) -2147483648 (aka 2^31) -2147483649 -4294967295 (aka C# uint.MaxValue) -4294967296 (aka 2^32) -9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) -9007199254740992 (aka 2^53) --9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) --9007199254740992 -9223372036854775807 (aka C# long.MaxValue) -9223372036854775808 (aka 2^63) -9223372036854775809 -18446744073709551615 (aka C# ulong.MaxValue) -18446744073709551616 (aka 2^64) -1267650600228229401496703205376 (aka 2^100) -170141183460469231731687303715884105727 (aka M_39) -0.0 -0.0 -3.0 --5.0 -3.14 --2.71 -1000000000.0 (aka a billion) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -0.0000000000667408 (aka G) -17014118346046923173168730371588410572.7 (aka 1/10 of M_39) -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) -35 27 -27 -124 -124 --124 124 -'g' 'Q' '2' -7 3 31 --8 1 -31 --7 3 31 -8 1 -31 -0 0 0 -0 0 0 -uint8: 10:1 0:231 -uint16: 2848:7 0:65511 -uint32: 186737707:10 0:4294967271 -uint64: 802032351030850069:4 0:18446744073709551591 -via real: 7:12 -8:1 -7:12 8:1 -int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 -0.2 -35.2 27.2 -27.2 -124.8 -124.8 --124.8 124.8 -7.8 31.2 --7.8 -31.2 --7.8 31.2 -7.8 -31.2 -0.0 0.0 0.0 -120.0 120.0 8.0 -8.0 -123.4567 -123.4567 0.1234 -0.1234 0.8 -0.2 0.02 0.00002 --0.2 -0.02 -0.00002 -(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) -0.0 0.0 0.81 0.81 1.0 -true false -0 2 2 2 -0 3 6 46 -0 1 36 2116 -0 0 0 0 -29 2 2 4294967283 2 -29 2 2 9007199254740979 2 -0 0 0 9 -0 0 0 9 -0 0 0 9 -0 4294967295 1267650600228229401496703205375 6 -8 4 -18 72 4 -0 -200 300 -100 100 18 -2 --2 --2 -2 -0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false -1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true -42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true -int: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -NativeType: --42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y -23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -120 120.0 120 120 120 'x' -120 120.0 120 120 120 'x' -120 120 -false true false true -true false true false -false true false true -true false true false -20 23 23 88 880 diff --git a/Test/unicodechars/comp/Numbers.dfy.go.expect b/Test/unicodechars/comp/Numbers.dfy.go.expect new file mode 100644 index 00000000000..95d8ac259c7 --- /dev/null +++ b/Test/unicodechars/comp/Numbers.dfy.go.expect @@ -0,0 +1,111 @@ +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +'g' 'Q' '2' +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 diff --git a/Test/unicodechars/comp/Numbers.dfy.py.expect b/Test/unicodechars/comp/Numbers.dfy.py.expect new file mode 100644 index 00000000000..95d8ac259c7 --- /dev/null +++ b/Test/unicodechars/comp/Numbers.dfy.py.expect @@ -0,0 +1,111 @@ +0 +0 +3 +-5 +2147483647 (aka C# int.MaxValue) +2147483648 (aka 2^31) +2147483649 +4294967295 (aka C# uint.MaxValue) +4294967296 (aka 2^32) +9007199254740991 (aka JavaScript Number.MAX_SAFE_INTEGER) +9007199254740992 (aka 2^53) +-9007199254740991 (aka JavaScript Number.MIN_SAFE_INTEGER) +-9007199254740992 +9223372036854775807 (aka C# long.MaxValue) +9223372036854775808 (aka 2^63) +9223372036854775809 +18446744073709551615 (aka C# ulong.MaxValue) +18446744073709551616 (aka 2^64) +1267650600228229401496703205376 (aka 2^100) +170141183460469231731687303715884105727 (aka M_39) +0.0 +0.0 +3.0 +-5.0 +3.14 +-2.71 +1000000000.0 (aka a billion) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +0.0000000000667408 (aka G) +17014118346046923173168730371588410572.7 (aka 1/10 of M_39) +0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001 (aka 1/googol) +35 27 -27 +124 -124 +-124 124 +'g' 'Q' '2' +7 3 31 +-8 1 -31 +-7 3 31 +8 1 -31 +0 0 0 +0 0 0 +uint8: 10:1 0:231 +uint16: 2848:7 0:65511 +uint32: 186737707:10 0:4294967271 +uint64: 802032351030850069:4 0:18446744073709551591 +via real: 7:12 -8:1 -7:12 8:1 +int: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int8: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int16: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int32: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +int64: 7:12 -8:1 -7:12 8:1 -12:0 12:0 +0.2 +35.2 27.2 -27.2 +124.8 -124.8 +-124.8 124.8 +7.8 31.2 +-7.8 -31.2 +-7.8 31.2 +7.8 -31.2 +0.0 0.0 0.0 +120.0 120.0 8.0 -8.0 +123.4567 -123.4567 0.1234 -0.1234 0.8 +0.2 0.02 0.00002 +-0.2 -0.02 -0.00002 +(20.0 / 3.0) (-20.0 / 3.0) (-20.0 / 3.0) (20.0 / 3.0) +0.0 0.0 0.81 0.81 1.0 +true false +0 2 2 2 +0 3 6 46 +0 1 36 2116 +0 0 0 0 +29 2 2 4294967283 2 +29 2 2 9007199254740979 2 +0 0 0 9 +0 0 0 9 +0 0 0 9 +0 4294967295 1267650600228229401496703205375 6 +8 4 +18 72 4 +0 +200 300 +100 100 18 +2 +-2 +-2 +2 +0: IsNat: true, Offset: 0, IsLimit: true, IsSucc: false +1: IsNat: true, Offset: 1, IsLimit: false, IsSucc: true +42: IsNat: true, Offset: 42, IsLimit: false, IsSucc: true +int: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +NativeType: +-42 <0 Y <=0 Y ==0 N !=0 Y >0 N >=0 N 0< N 0<= N 0== N 0!= Y 0> Y 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +0 <0 N <=0 Y ==0 Y !=0 N >0 N >=0 Y 0< N 0<= Y 0== Y 0!= N 0> N 0>= Y +23 <0 N <=0 N ==0 N !=0 Y >0 Y >=0 Y 0< Y 0<= Y 0== N 0!= Y 0> N 0>= N +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +120 120.0 120 120 120 'x' +120 120.0 120 120 120 'x' +120 120 +false true false true +true false true false +false true false true +true false true false +20 23 23 88 880 From 788b199c7623e287ca7ffb3653c7d76845807397 Mon Sep 17 00:00:00 2001 From: Robin Salkeld Date: Tue, 13 Jun 2023 14:02:23 -0700 Subject: [PATCH 67/68] Filling in NONUNIFORM reasons --- Test/comp/Arrays.dfy | 2 +- Test/comp/Collections.dfy | 2 +- Test/comp/Comprehensions.dfy | 2 +- Test/comp/ComprehensionsNewSyntax.dfy | 2 +- Test/comp/Datatype.dfy | 2 +- Test/comp/Numbers.dfy | 2 +- Test/comp/Poly.dfy | 2 +- Test/comp/TypeParams.dfy | 2 +- Test/comp/firstSteps/7_Dt_Algebraic.dfy | 2 +- Test/git-issues/git-issue-1185.dfy | 2 +- Test/git-issues/git-issue-262.dfy | 2 +- Test/unicodechars/comp/Collections.dfy | 2 +- Test/unicodechars/comp/Comprehensions.dfy | 2 +- Test/unicodechars/comp/Numbers.dfy | 2 +- 14 files changed, 14 insertions(+), 14 deletions(-) diff --git a/Test/comp/Arrays.dfy b/Test/comp/Arrays.dfy index 5f2655558aa..9b23f59202d 100644 --- a/Test/comp/Arrays.dfy +++ b/Test/comp/Arrays.dfy @@ -1,4 +1,4 @@ -// NONUNIFORM: +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/2582 // RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false method LinearSearch(a: array, key: int) returns (n: nat) diff --git a/Test/comp/Collections.dfy b/Test/comp/Collections.dfy index cd8c9e23808..9457e44b170 100644 --- a/Test/comp/Collections.dfy +++ b/Test/comp/Collections.dfy @@ -1,4 +1,4 @@ -// NONUNIFORM: +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 // RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false method Main() { diff --git a/Test/comp/Comprehensions.dfy b/Test/comp/Comprehensions.dfy index 931f06ee851..73c43b22bfa 100644 --- a/Test/comp/Comprehensions.dfy +++ b/Test/comp/Comprehensions.dfy @@ -1,4 +1,4 @@ -// NONUNIFORM: +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 // RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:false method Main() { diff --git a/Test/comp/ComprehensionsNewSyntax.dfy b/Test/comp/ComprehensionsNewSyntax.dfy index 4d3b1d0cd5d..6cd88aeb4f7 100644 --- a/Test/comp/ComprehensionsNewSyntax.dfy +++ b/Test/comp/ComprehensionsNewSyntax.dfy @@ -1,4 +1,4 @@ -// NONUNIFORM: +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 // RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation method Main() { diff --git a/Test/comp/Datatype.dfy b/Test/comp/Datatype.dfy index 6d306f03c83..44579383e5c 100644 --- a/Test/comp/Datatype.dfy +++ b/Test/comp/Datatype.dfy @@ -1,4 +1,4 @@ -// NONUNIFORM: +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 // RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation datatype List = Nil | Cons(head: int, tail: List) diff --git a/Test/comp/Numbers.dfy b/Test/comp/Numbers.dfy index cd552043881..47c7505be29 100644 --- a/Test/comp/Numbers.dfy +++ b/Test/comp/Numbers.dfy @@ -1,4 +1,4 @@ -// NONUNIFORM: +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4174 // RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:false method Main() { diff --git a/Test/comp/Poly.dfy b/Test/comp/Poly.dfy index dd45bf6f4d3..a8ce980b329 100644 --- a/Test/comp/Poly.dfy +++ b/Test/comp/Poly.dfy @@ -1,4 +1,4 @@ -// NONUNIFORM: +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4174 // RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation trait Shape { diff --git a/Test/comp/TypeParams.dfy b/Test/comp/TypeParams.dfy index 7166db387b5..51a19772940 100644 --- a/Test/comp/TypeParams.dfy +++ b/Test/comp/TypeParams.dfy @@ -1,4 +1,4 @@ -// NONUNIFORM: +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4119 // RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation diff --git a/Test/comp/firstSteps/7_Dt_Algebraic.dfy b/Test/comp/firstSteps/7_Dt_Algebraic.dfy index 0be49978a9d..46a2995b37f 100644 --- a/Test/comp/firstSteps/7_Dt_Algebraic.dfy +++ b/Test/comp/firstSteps/7_Dt_Algebraic.dfy @@ -1,4 +1,4 @@ -// NONUNIFORM: +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 // RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment // // This fragment of comp/Dt.dfy serves to facilitate incremental compiler development. diff --git a/Test/git-issues/git-issue-1185.dfy b/Test/git-issues/git-issue-1185.dfy index 393384fc6a6..c7ad72134d1 100644 --- a/Test/git-issues/git-issue-1185.dfy +++ b/Test/git-issues/git-issue-1185.dfy @@ -1,4 +1,4 @@ -// NONUNIFORM: +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 // RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment predicate P(s: set) diff --git a/Test/git-issues/git-issue-262.dfy b/Test/git-issues/git-issue-262.dfy index 786f69f6462..67da57beae7 100644 --- a/Test/git-issues/git-issue-262.dfy +++ b/Test/git-issues/git-issue-262.dfy @@ -1,4 +1,4 @@ -// NONUNIFORM: +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4119 // RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment function tst(x: nat): nat { diff --git a/Test/unicodechars/comp/Collections.dfy b/Test/unicodechars/comp/Collections.dfy index 4204db23118..14d241ed5ab 100644 --- a/Test/unicodechars/comp/Collections.dfy +++ b/Test/unicodechars/comp/Collections.dfy @@ -1,3 +1,3 @@ -// NONUNIFORM: +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 // RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:true --verify-included-files include "../../comp/Collections.dfy" diff --git a/Test/unicodechars/comp/Comprehensions.dfy b/Test/unicodechars/comp/Comprehensions.dfy index d7780defc5c..8bd5f67525e 100644 --- a/Test/unicodechars/comp/Comprehensions.dfy +++ b/Test/unicodechars/comp/Comprehensions.dfy @@ -1,3 +1,3 @@ -// NONUNIFORM: +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4108 // RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --spill-translation --unicode-char:true --verify-included-files include "../../comp/Comprehensions.dfy" diff --git a/Test/unicodechars/comp/Numbers.dfy b/Test/unicodechars/comp/Numbers.dfy index 64d8257df1f..5ea33ecaaea 100644 --- a/Test/unicodechars/comp/Numbers.dfy +++ b/Test/unicodechars/comp/Numbers.dfy @@ -1,3 +1,3 @@ -// NONUNIFORM: +// NONUNIFORM: https://github.com/dafny-lang/dafny/issues/4174 // RUN: %testDafnyForEachCompiler "%s" -- --relax-definite-assignment --unicode-char:true --verify-included-files include "../../comp/Numbers.dfy" From e9d0be93199c3a08dc7f6f6a6be2064f05c167bc Mon Sep 17 00:00:00 2001 From: Robin Salkeld Date: Tue, 13 Jun 2023 14:23:13 -0700 Subject: [PATCH 68/68] Escape periods in CHECK directives --- Test/comp/NativeNumbers.dfy.js.check | 2 +- Test/unicodechars/comp/NativeNumbers.dfy.js.check | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Test/comp/NativeNumbers.dfy.js.check b/Test/comp/NativeNumbers.dfy.js.check index 79bd3f69344..a28c44d3756 100644 --- a/Test/comp/NativeNumbers.dfy.js.check +++ b/Test/comp/NativeNumbers.dfy.js.check @@ -1 +1 @@ -// CHECK: Error: None of the types given in :nativeType arguments is supported by the current compilation target. Try supplying others. +// CHECK: Error: None of the types given in :nativeType arguments is supported by the current compilation target\. Try supplying others\. diff --git a/Test/unicodechars/comp/NativeNumbers.dfy.js.check b/Test/unicodechars/comp/NativeNumbers.dfy.js.check index 79bd3f69344..a28c44d3756 100644 --- a/Test/unicodechars/comp/NativeNumbers.dfy.js.check +++ b/Test/unicodechars/comp/NativeNumbers.dfy.js.check @@ -1 +1 @@ -// CHECK: Error: None of the types given in :nativeType arguments is supported by the current compilation target. Try supplying others. +// CHECK: Error: None of the types given in :nativeType arguments is supported by the current compilation target\. Try supplying others\.